var oi = Object.defineProperty,
di = Object.defineProperties;
var ci = Object.getOwnPropertyDescriptors;
var nt = Object.getOwnPropertySymbols;
var fi = Object.prototype.hasOwnProperty,
ui = Object.prototype.propertyIsEnumerable;
var lt = (j, _, Z) =>
_ in j
? oi(j, _, { enumerable: !0, configurable: !0, writable: !0, value: Z })
: (j[_] = Z),
Ye = (j, _) => {
for (var Z in _ || (_ = {})) fi.call(_, Z) && lt(j, Z, _[Z]);
if (nt) for (var Z of nt(_)) ui.call(_, Z) && lt(j, Z, _[Z]);
return j;
},
Xe = (j, _) => di(j, ci(_));
(function (j) {
typeof define == "function" && define.amd ? define(j) : j();
})(function () {
"use strict";
function j(s) {
return (
s !== null &&
typeof s == "object" &&
"constructor" in s &&
s.constructor === Object
);
}
function _(s, e) {
(s === void 0 && (s = {}),
e === void 0 && (e = {}),
Object.keys(e).forEach((t) => {
typeof s[t] == "undefined"
? (s[t] = e[t])
: j(e[t]) && j(s[t]) && Object.keys(e[t]).length > 0 && _(s[t], e[t]);
}));
}
const Z = {
body: {},
addEventListener() {},
removeEventListener() {},
activeElement: { blur() {}, nodeName: "" },
querySelector() {
return null;
},
querySelectorAll() {
return [];
},
getElementById() {
return null;
},
createEvent() {
return { initEvent() {} };
},
createElement() {
return {
children: [],
childNodes: [],
style: {},
setAttribute() {},
getElementsByTagName() {
return [];
},
};
},
createElementNS() {
return {};
},
importNode() {
return null;
},
location: {
hash: "",
host: "",
hostname: "",
href: "",
origin: "",
pathname: "",
protocol: "",
search: "",
},
};
function q() {
const s = typeof document != "undefined" ? document : {};
return (_(s, Z), s);
}
const ot = {
document: Z,
navigator: { userAgent: "" },
location: {
hash: "",
host: "",
hostname: "",
href: "",
origin: "",
pathname: "",
protocol: "",
search: "",
},
history: { replaceState() {}, pushState() {}, go() {}, back() {} },
CustomEvent: function () {
return this;
},
addEventListener() {},
removeEventListener() {},
getComputedStyle() {
return {
getPropertyValue() {
return "";
},
};
},
Image() {},
Date() {},
screen: {},
setTimeout() {},
clearTimeout() {},
matchMedia() {
return {};
},
requestAnimationFrame(s) {
return typeof setTimeout == "undefined" ? (s(), null) : setTimeout(s, 0);
},
cancelAnimationFrame(s) {
typeof setTimeout != "undefined" && clearTimeout(s);
},
};
function X() {
const s = typeof window != "undefined" ? window : {};
return (_(s, ot), s);
}
function ie(s) {
return (
s === void 0 && (s = ""),
s
.trim()
.split(" ")
.filter((e) => !!e.trim())
);
}
function dt(s) {
const e = s;
Object.keys(e).forEach((t) => {
try {
e[t] = null;
} catch {}
try {
delete e[t];
} catch {}
});
}
function ae(s, e) {
return (e === void 0 && (e = 0), setTimeout(s, e));
}
function ee() {
return Date.now();
}
function ct(s) {
const e = X();
let t;
return (
e.getComputedStyle && (t = e.getComputedStyle(s, null)),
!t && s.currentStyle && (t = s.currentStyle),
t || (t = s.style),
t
);
}
function Le(s, e) {
e === void 0 && (e = "x");
const t = X();
let i, r, a;
const f = ct(s);
return (
t.WebKitCSSMatrix
? ((r = f.transform || f.webkitTransform),
r.split(",").length > 6 &&
(r = r
.split(", ")
.map((c) => c.replace(",", "."))
.join(", ")),
(a = new t.WebKitCSSMatrix(r === "none" ? "" : r)))
: ((a =
f.MozTransform ||
f.OTransform ||
f.MsTransform ||
f.msTransform ||
f.transform ||
f
.getPropertyValue("transform")
.replace("translate(", "matrix(1, 0, 0, 1,")),
(i = a.toString().split(","))),
e === "x" &&
(t.WebKitCSSMatrix
? (r = a.m41)
: i.length === 16
? (r = parseFloat(i[12]))
: (r = parseFloat(i[4]))),
e === "y" &&
(t.WebKitCSSMatrix
? (r = a.m42)
: i.length === 16
? (r = parseFloat(i[13]))
: (r = parseFloat(i[5]))),
r || 0
);
}
function ue(s) {
return (
typeof s == "object" &&
s !== null &&
s.constructor &&
Object.prototype.toString.call(s).slice(8, -1) === "Object"
);
}
function ft(s) {
return typeof window != "undefined" &&
typeof window.HTMLElement != "undefined"
? s instanceof HTMLElement
: s && (s.nodeType === 1 || s.nodeType === 11);
}
function Q() {
const s = Object(arguments.length <= 0 ? void 0 : arguments[0]),
e = ["__proto__", "constructor", "prototype"];
for (let t = 1; t < arguments.length; t += 1) {
const i = t < 0 || arguments.length <= t ? void 0 : arguments[t];
if (i != null && !ft(i)) {
const r = Object.keys(Object(i)).filter((a) => e.indexOf(a) < 0);
for (let a = 0, f = r.length; a < f; a += 1) {
const c = r[a],
n = Object.getOwnPropertyDescriptor(i, c);
n !== void 0 &&
n.enumerable &&
(ue(s[c]) && ue(i[c])
? i[c].__swiper__
? (s[c] = i[c])
: Q(s[c], i[c])
: !ue(s[c]) && ue(i[c])
? ((s[c] = {}), i[c].__swiper__ ? (s[c] = i[c]) : Q(s[c], i[c]))
: (s[c] = i[c]));
}
}
}
return s;
}
function pe(s, e, t) {
s.style.setProperty(e, t);
}
function qe(s) {
let { swiper: e, targetPosition: t, side: i } = s;
const r = X(),
a = -e.translate;
let f = null,
c;
const n = e.params.speed;
((e.wrapperEl.style.scrollSnapType = "none"),
r.cancelAnimationFrame(e.cssModeFrameID));
const u = t > a ? "next" : "prev",
o = (d, p) => (u === "next" && d >= p) || (u === "prev" && d <= p),
l = () => {
((c = new Date().getTime()), f === null && (f = c));
const d = Math.max(Math.min((c - f) / n, 1), 0),
p = 0.5 - Math.cos(d * Math.PI) / 2;
let h = a + p * (t - a);
if ((o(h, t) && (h = t), e.wrapperEl.scrollTo({ [i]: h }), o(h, t))) {
((e.wrapperEl.style.overflow = "hidden"),
(e.wrapperEl.style.scrollSnapType = ""),
setTimeout(() => {
((e.wrapperEl.style.overflow = ""),
e.wrapperEl.scrollTo({ [i]: h }));
}),
r.cancelAnimationFrame(e.cssModeFrameID));
return;
}
e.cssModeFrameID = r.requestAnimationFrame(l);
};
l();
}
function ne(s) {
return (
s.querySelector(".swiper-slide-transform") ||
(s.shadowRoot && s.shadowRoot.querySelector(".swiper-slide-transform")) ||
s
);
}
function W(s, e) {
e === void 0 && (e = "");
const t = [...s.children];
return (
s instanceof HTMLSlotElement && t.push(...s.assignedElements()),
e ? t.filter((i) => i.matches(e)) : t
);
}
function ut(s, e) {
const t = e.contains(s);
return !t && e instanceof HTMLSlotElement
? [...e.assignedElements()].includes(s)
: t;
}
function ye(s) {
try {
console.warn(s);
return;
} catch {}
}
function J(s, e) {
e === void 0 && (e = []);
const t = document.createElement(s);
return (t.classList.add(...(Array.isArray(e) ? e : ie(e))), t);
}
function be(s) {
const e = X(),
t = q(),
i = s.getBoundingClientRect(),
r = t.body,
a = s.clientTop || r.clientTop || 0,
f = s.clientLeft || r.clientLeft || 0,
c = s === e ? e.scrollY : s.scrollTop,
n = s === e ? e.scrollX : s.scrollLeft;
return { top: i.top + c - a, left: i.left + n - f };
}
function pt(s, e) {
const t = [];
for (; s.previousElementSibling; ) {
const i = s.previousElementSibling;
(e ? i.matches(e) && t.push(i) : t.push(i), (s = i));
}
return t;
}
function mt(s, e) {
const t = [];
for (; s.nextElementSibling; ) {
const i = s.nextElementSibling;
(e ? i.matches(e) && t.push(i) : t.push(i), (s = i));
}
return t;
}
function re(s, e) {
return X().getComputedStyle(s, null).getPropertyValue(e);
}
function me(s) {
let e = s,
t;
if (e) {
for (t = 0; (e = e.previousSibling) !== null; )
e.nodeType === 1 && (t += 1);
return t;
}
}
function le(s, e) {
const t = [];
let i = s.parentElement;
for (; i; )
(e ? i.matches(e) && t.push(i) : t.push(i), (i = i.parentElement));
return t;
}
function he(s, e) {
function t(i) {
i.target === s &&
(e.call(s, i), s.removeEventListener("transitionend", t));
}
e && s.addEventListener("transitionend", t);
}
function Ie(s, e, t) {
const i = X();
return t
? s[e === "width" ? "offsetWidth" : "offsetHeight"] +
parseFloat(
i
.getComputedStyle(s, null)
.getPropertyValue(e === "width" ? "margin-right" : "margin-top"),
) +
parseFloat(
i
.getComputedStyle(s, null)
.getPropertyValue(
e === "width" ? "margin-left" : "margin-bottom",
),
)
: s.offsetWidth;
}
function N(s) {
return (Array.isArray(s) ? s : [s]).filter((e) => !!e);
}
function Se(s) {
return (e) =>
Math.abs(e) > 0 &&
s.browser &&
s.browser.need3dFix &&
Math.abs(e) % 90 == 0
? e + 0.001
: e;
}
let Ae;
function ht() {
const s = X(),
e = q();
return {
smoothScroll:
e.documentElement &&
e.documentElement.style &&
"scrollBehavior" in e.documentElement.style,
touch: !!(
"ontouchstart" in s ||
(s.DocumentTouch && e instanceof s.DocumentTouch)
),
};
}
function We() {
return (Ae || (Ae = ht()), Ae);
}
let ze;
function gt(s) {
let { userAgent: e } = s === void 0 ? {} : s;
const t = We(),
i = X(),
r = i.navigator.platform,
a = e || i.navigator.userAgent,
f = { ios: !1, android: !1 },
c = i.screen.width,
n = i.screen.height,
u = a.match(/(Android);?[\s\/]+([\d.]+)?/);
let o = a.match(/(iPad).*OS\s([\d_]+)/);
const l = a.match(/(iPod)(.*OS\s([\d_]+))?/),
d = !o && a.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
p = r === "Win32";
let h = r === "MacIntel";
const g = [
"1024x1366",
"1366x1024",
"834x1194",
"1194x834",
"834x1112",
"1112x834",
"768x1024",
"1024x768",
"820x1180",
"1180x820",
"810x1080",
"1080x810",
];
return (
!o &&
h &&
t.touch &&
g.indexOf(`${c}x${n}`) >= 0 &&
((o = a.match(/(Version)\/([\d.]+)/)),
o || (o = [0, 1, "13_0_0"]),
(h = !1)),
u && !p && ((f.os = "android"), (f.android = !0)),
(o || d || l) && ((f.os = "ios"), (f.ios = !0)),
f
);
}
function _e(s) {
return (s === void 0 && (s = {}), ze || (ze = gt(s)), ze);
}
let De;
function vt() {
const s = X(),
e = _e();
let t = !1;
function i() {
const c = s.navigator.userAgent.toLowerCase();
return (
c.indexOf("safari") >= 0 &&
c.indexOf("chrome") < 0 &&
c.indexOf("android") < 0
);
}
if (i()) {
const c = String(s.navigator.userAgent);
if (c.includes("Version/")) {
const [n, u] = c
.split("Version/")[1]
.split(" ")[0]
.split(".")
.map((o) => Number(o));
t = n < 16 || (n === 16 && u < 2);
}
}
const r = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
s.navigator.userAgent,
),
a = i(),
f = a || (r && e.ios);
return {
isSafari: t || a,
needPerspectiveFix: t,
need3dFix: f,
isWebView: r,
};
}
function wt() {
return (De || (De = vt()), De);
}
function yt(s) {
let { swiper: e, on: t, emit: i } = s;
const r = X();
let a = null,
f = null;
const c = () => {
!e || e.destroyed || !e.initialized || (i("beforeResize"), i("resize"));
},
n = () => {
!e ||
e.destroyed ||
!e.initialized ||
((a = new ResizeObserver((l) => {
f = r.requestAnimationFrame(() => {
const { width: d, height: p } = e;
let h = d,
g = p;
(l.forEach((w) => {
let { contentBoxSize: y, contentRect: v, target: m } = w;
(m && m !== e.el) ||
((h = v ? v.width : (y[0] || y).inlineSize),
(g = v ? v.height : (y[0] || y).blockSize));
}),
(h !== d || g !== p) && c());
});
})),
a.observe(e.el));
},
u = () => {
(f && r.cancelAnimationFrame(f),
a && a.unobserve && e.el && (a.unobserve(e.el), (a = null)));
},
o = () => {
!e || e.destroyed || !e.initialized || i("orientationchange");
};
(t("init", () => {
if (e.params.resizeObserver && typeof r.ResizeObserver != "undefined") {
n();
return;
}
(r.addEventListener("resize", c),
r.addEventListener("orientationchange", o));
}),
t("destroy", () => {
(u(),
r.removeEventListener("resize", c),
r.removeEventListener("orientationchange", o));
}));
}
function bt(s) {
let { swiper: e, extendParams: t, on: i, emit: r } = s;
const a = [],
f = X(),
c = function (o, l) {
l === void 0 && (l = {});
const d = f.MutationObserver || f.WebkitMutationObserver,
p = new d((h) => {
if (e.__preventObserver__) return;
if (h.length === 1) {
r("observerUpdate", h[0]);
return;
}
const g = function () {
r("observerUpdate", h[0]);
};
f.requestAnimationFrame
? f.requestAnimationFrame(g)
: f.setTimeout(g, 0);
});
(p.observe(o, {
attributes: typeof l.attributes == "undefined" ? !0 : l.attributes,
childList:
e.isElement ||
(typeof l.childList == "undefined" ? !0 : l).childList,
characterData:
typeof l.characterData == "undefined" ? !0 : l.characterData,
}),
a.push(p));
},
n = () => {
if (!!e.params.observer) {
if (e.params.observeParents) {
const o = le(e.hostEl);
for (let l = 0; l < o.length; l += 1) c(o[l]);
}
(c(e.hostEl, { childList: e.params.observeSlideChildren }),
c(e.wrapperEl, { attributes: !1 }));
}
},
u = () => {
(a.forEach((o) => {
o.disconnect();
}),
a.splice(0, a.length));
};
(t({ observer: !1, observeParents: !1, observeSlideChildren: !1 }),
i("init", n),
i("destroy", u));
}
var St = {
on(s, e, t) {
const i = this;
if (!i.eventsListeners || i.destroyed || typeof e != "function") return i;
const r = t ? "unshift" : "push";
return (
s.split(" ").forEach((a) => {
(i.eventsListeners[a] || (i.eventsListeners[a] = []),
i.eventsListeners[a][r](e));
}),
i
);
},
once(s, e, t) {
const i = this;
if (!i.eventsListeners || i.destroyed || typeof e != "function") return i;
function r() {
(i.off(s, r), r.__emitterProxy && delete r.__emitterProxy);
for (var a = arguments.length, f = new Array(a), c = 0; c < a; c++)
f[c] = arguments[c];
e.apply(i, f);
}
return ((r.__emitterProxy = e), i.on(s, r, t));
},
onAny(s, e) {
const t = this;
if (!t.eventsListeners || t.destroyed || typeof s != "function") return t;
const i = e ? "unshift" : "push";
return (
t.eventsAnyListeners.indexOf(s) < 0 && t.eventsAnyListeners[i](s),
t
);
},
offAny(s) {
const e = this;
if (!e.eventsListeners || e.destroyed || !e.eventsAnyListeners) return e;
const t = e.eventsAnyListeners.indexOf(s);
return (t >= 0 && e.eventsAnyListeners.splice(t, 1), e);
},
off(s, e) {
const t = this;
return (
!t.eventsListeners ||
t.destroyed ||
!t.eventsListeners ||
s.split(" ").forEach((i) => {
typeof e == "undefined"
? (t.eventsListeners[i] = [])
: t.eventsListeners[i] &&
t.eventsListeners[i].forEach((r, a) => {
(r === e || (r.__emitterProxy && r.__emitterProxy === e)) &&
t.eventsListeners[i].splice(a, 1);
});
}),
t
);
},
emit() {
const s = this;
if (!s.eventsListeners || s.destroyed || !s.eventsListeners) return s;
let e, t, i;
for (var r = arguments.length, a = new Array(r), f = 0; f < r; f++)
a[f] = arguments[f];
return (
typeof a[0] == "string" || Array.isArray(a[0])
? ((e = a[0]), (t = a.slice(1, a.length)), (i = s))
: ((e = a[0].events), (t = a[0].data), (i = a[0].context || s)),
t.unshift(i),
(Array.isArray(e) ? e : e.split(" ")).forEach((n) => {
(s.eventsAnyListeners &&
s.eventsAnyListeners.length &&
s.eventsAnyListeners.forEach((u) => {
u.apply(i, [n, ...t]);
}),
s.eventsListeners &&
s.eventsListeners[n] &&
s.eventsListeners[n].forEach((u) => {
u.apply(i, t);
}));
}),
s
);
},
};
function Et() {
const s = this;
let e, t;
const i = s.el;
(typeof s.params.width != "undefined" && s.params.width !== null
? (e = s.params.width)
: (e = i.clientWidth),
typeof s.params.height != "undefined" && s.params.height !== null
? (t = s.params.height)
: (t = i.clientHeight),
!((e === 0 && s.isHorizontal()) || (t === 0 && s.isVertical())) &&
((e =
e -
parseInt(re(i, "padding-left") || 0, 10) -
parseInt(re(i, "padding-right") || 0, 10)),
(t =
t -
parseInt(re(i, "padding-top") || 0, 10) -
parseInt(re(i, "padding-bottom") || 0, 10)),
Number.isNaN(e) && (e = 0),
Number.isNaN(t) && (t = 0),
Object.assign(s, {
width: e,
height: t,
size: s.isHorizontal() ? e : t,
})));
}
function xt() {
const s = this;
function e(P, I) {
return parseFloat(P.getPropertyValue(s.getDirectionLabel(I)) || 0);
}
const t = s.params,
{ wrapperEl: i, slidesEl: r, size: a, rtlTranslate: f, wrongRTL: c } = s,
n = s.virtual && t.virtual.enabled,
u = n ? s.virtual.slides.length : s.slides.length,
o = W(r, `.${s.params.slideClass}, swiper-slide`),
l = n ? s.virtual.slides.length : o.length;
let d = [];
const p = [],
h = [];
let g = t.slidesOffsetBefore;
typeof g == "function" && (g = t.slidesOffsetBefore.call(s));
let w = t.slidesOffsetAfter;
typeof w == "function" && (w = t.slidesOffsetAfter.call(s));
const y = s.snapGrid.length,
v = s.slidesGrid.length;
let m = t.spaceBetween,
b = -g,
S = 0,
A = 0;
if (typeof a == "undefined") return;
(typeof m == "string" && m.indexOf("%") >= 0
? (m = (parseFloat(m.replace("%", "")) / 100) * a)
: typeof m == "string" && (m = parseFloat(m)),
(s.virtualSize = -m),
o.forEach((P) => {
(f ? (P.style.marginLeft = "") : (P.style.marginRight = ""),
(P.style.marginBottom = ""),
(P.style.marginTop = ""));
}),
t.centeredSlides &&
t.cssMode &&
(pe(i, "--swiper-centered-offset-before", ""),
pe(i, "--swiper-centered-offset-after", "")));
const O = t.grid && t.grid.rows > 1 && s.grid;
O ? s.grid.initSlides(o) : s.grid && s.grid.unsetSlides();
let z;
const T =
t.slidesPerView === "auto" &&
t.breakpoints &&
Object.keys(t.breakpoints).filter(
(P) => typeof t.breakpoints[P].slidesPerView != "undefined",
).length > 0;
for (let P = 0; P < l; P += 1) {
z = 0;
let I;
if (
(o[P] && (I = o[P]),
O && s.grid.updateSlide(P, I, o),
!(o[P] && re(I, "display") === "none"))
) {
if (t.slidesPerView === "auto") {
T && (o[P].style[s.getDirectionLabel("width")] = "");
const C = getComputedStyle(I),
E = I.style.transform,
x = I.style.webkitTransform;
if (
(E && (I.style.transform = "none"),
x && (I.style.webkitTransform = "none"),
t.roundLengths)
)
z = s.isHorizontal() ? Ie(I, "width", !0) : Ie(I, "height", !0);
else {
const D = e(C, "width"),
G = e(C, "padding-left"),
M = e(C, "padding-right"),
L = e(C, "margin-left"),
V = e(C, "margin-right"),
F = C.getPropertyValue("box-sizing");
if (F && F === "border-box") z = D + L + V;
else {
const { clientWidth: $, offsetWidth: k } = I;
z = D + G + M + L + V + (k - $);
}
}
(E && (I.style.transform = E),
x && (I.style.webkitTransform = x),
t.roundLengths && (z = Math.floor(z)));
} else
((z = (a - (t.slidesPerView - 1) * m) / t.slidesPerView),
t.roundLengths && (z = Math.floor(z)),
o[P] && (o[P].style[s.getDirectionLabel("width")] = `${z}px`));
(o[P] && (o[P].swiperSlideSize = z),
h.push(z),
t.centeredSlides
? ((b = b + z / 2 + S / 2 + m),
S === 0 && P !== 0 && (b = b - a / 2 - m),
P === 0 && (b = b - a / 2 - m),
Math.abs(b) < 1 / 1e3 && (b = 0),
t.roundLengths && (b = Math.floor(b)),
A % t.slidesPerGroup == 0 && d.push(b),
p.push(b))
: (t.roundLengths && (b = Math.floor(b)),
(A - Math.min(s.params.slidesPerGroupSkip, A)) %
s.params.slidesPerGroup ==
0 && d.push(b),
p.push(b),
(b = b + z + m)),
(s.virtualSize += z + m),
(S = z),
(A += 1));
}
}
if (
((s.virtualSize = Math.max(s.virtualSize, a) + w),
f &&
c &&
(t.effect === "slide" || t.effect === "coverflow") &&
(i.style.width = `${s.virtualSize + m}px`),
t.setWrapperSize &&
(i.style[s.getDirectionLabel("width")] = `${s.virtualSize + m}px`),
O && s.grid.updateWrapperSize(z, d),
!t.centeredSlides)
) {
const P = [];
for (let I = 0; I < d.length; I += 1) {
let C = d[I];
(t.roundLengths && (C = Math.floor(C)),
d[I] <= s.virtualSize - a && P.push(C));
}
((d = P),
Math.floor(s.virtualSize - a) - Math.floor(d[d.length - 1]) > 1 &&
d.push(s.virtualSize - a));
}
if (n && t.loop) {
const P = h[0] + m;
if (t.slidesPerGroup > 1) {
const I = Math.ceil(
(s.virtual.slidesBefore + s.virtual.slidesAfter) / t.slidesPerGroup,
),
C = P * t.slidesPerGroup;
for (let E = 0; E < I; E += 1) d.push(d[d.length - 1] + C);
}
for (
let I = 0;
I < s.virtual.slidesBefore + s.virtual.slidesAfter;
I += 1
)
(t.slidesPerGroup === 1 && d.push(d[d.length - 1] + P),
p.push(p[p.length - 1] + P),
(s.virtualSize += P));
}
if ((d.length === 0 && (d = [0]), m !== 0)) {
const P =
s.isHorizontal() && f
? "marginLeft"
: s.getDirectionLabel("marginRight");
o.filter((I, C) =>
!t.cssMode || t.loop ? !0 : C !== o.length - 1,
).forEach((I) => {
I.style[P] = `${m}px`;
});
}
if (t.centeredSlides && t.centeredSlidesBounds) {
let P = 0;
(h.forEach((C) => {
P += C + (m || 0);
}),
(P -= m));
const I = P > a ? P - a : 0;
d = d.map((C) => (C <= 0 ? -g : C > I ? I + w : C));
}
if (t.centerInsufficientSlides) {
let P = 0;
(h.forEach((C) => {
P += C + (m || 0);
}),
(P -= m));
const I = (t.slidesOffsetBefore || 0) + (t.slidesOffsetAfter || 0);
if (P + I < a) {
const C = (a - P - I) / 2;
(d.forEach((E, x) => {
d[x] = E - C;
}),
p.forEach((E, x) => {
p[x] = E + C;
}));
}
}
if (
(Object.assign(s, {
slides: o,
snapGrid: d,
slidesGrid: p,
slidesSizesGrid: h,
}),
t.centeredSlides && t.cssMode && !t.centeredSlidesBounds)
) {
(pe(i, "--swiper-centered-offset-before", `${-d[0]}px`),
pe(
i,
"--swiper-centered-offset-after",
`${s.size / 2 - h[h.length - 1] / 2}px`,
));
const P = -s.snapGrid[0],
I = -s.slidesGrid[0];
((s.snapGrid = s.snapGrid.map((C) => C + P)),
(s.slidesGrid = s.slidesGrid.map((C) => C + I)));
}
if (
(l !== u && s.emit("slidesLengthChange"),
d.length !== y &&
(s.params.watchOverflow && s.checkOverflow(),
s.emit("snapGridLengthChange")),
p.length !== v && s.emit("slidesGridLengthChange"),
t.watchSlidesProgress && s.updateSlidesOffset(),
s.emit("slidesUpdated"),
!n && !t.cssMode && (t.effect === "slide" || t.effect === "fade"))
) {
const P = `${t.containerModifierClass}backface-hidden`,
I = s.el.classList.contains(P);
l <= t.maxBackfaceHiddenSlides
? I || s.el.classList.add(P)
: I && s.el.classList.remove(P);
}
}
function Tt(s) {
const e = this,
t = [],
i = e.virtual && e.params.virtual.enabled;
let r = 0,
a;
typeof s == "number"
? e.setTransition(s)
: s === !0 && e.setTransition(e.params.speed);
const f = (c) => (i ? e.slides[e.getSlideIndexByData(c)] : e.slides[c]);
if (e.params.slidesPerView !== "auto" && e.params.slidesPerView > 1)
if (e.params.centeredSlides)
(e.visibleSlides || []).forEach((c) => {
t.push(c);
});
else
for (a = 0; a < Math.ceil(e.params.slidesPerView); a += 1) {
const c = e.activeIndex + a;
if (c > e.slides.length && !i) break;
t.push(f(c));
}
else t.push(f(e.activeIndex));
for (a = 0; a < t.length; a += 1)
if (typeof t[a] != "undefined") {
const c = t[a].offsetHeight;
r = c > r ? c : r;
}
(r || r === 0) && (e.wrapperEl.style.height = `${r}px`);
}
function Mt() {
const s = this,
e = s.slides,
t = s.isElement
? s.isHorizontal()
? s.wrapperEl.offsetLeft
: s.wrapperEl.offsetTop
: 0;
for (let i = 0; i < e.length; i += 1)
e[i].swiperSlideOffset =
(s.isHorizontal() ? e[i].offsetLeft : e[i].offsetTop) -
t -
s.cssOverflowAdjustment();
}
const je = (s, e, t) => {
e && !s.classList.contains(t)
? s.classList.add(t)
: !e && s.classList.contains(t) && s.classList.remove(t);
};
function Ct(s) {
s === void 0 && (s = (this && this.translate) || 0);
const e = this,
t = e.params,
{ slides: i, rtlTranslate: r, snapGrid: a } = e;
if (i.length === 0) return;
typeof i[0].swiperSlideOffset == "undefined" && e.updateSlidesOffset();
let f = -s;
(r && (f = s), (e.visibleSlidesIndexes = []), (e.visibleSlides = []));
let c = t.spaceBetween;
typeof c == "string" && c.indexOf("%") >= 0
? (c = (parseFloat(c.replace("%", "")) / 100) * e.size)
: typeof c == "string" && (c = parseFloat(c));
for (let n = 0; n < i.length; n += 1) {
const u = i[n];
let o = u.swiperSlideOffset;
t.cssMode && t.centeredSlides && (o -= i[0].swiperSlideOffset);
const l =
(f + (t.centeredSlides ? e.minTranslate() : 0) - o) /
(u.swiperSlideSize + c),
d =
(f - a[0] + (t.centeredSlides ? e.minTranslate() : 0) - o) /
(u.swiperSlideSize + c),
p = -(f - o),
h = p + e.slidesSizesGrid[n],
g = p >= 0 && p <= e.size - e.slidesSizesGrid[n],
w =
(p >= 0 && p < e.size - 1) ||
(h > 1 && h <= e.size) ||
(p <= 0 && h >= e.size);
(w && (e.visibleSlides.push(u), e.visibleSlidesIndexes.push(n)),
je(u, w, t.slideVisibleClass),
je(u, g, t.slideFullyVisibleClass),
(u.progress = r ? -l : l),
(u.originalProgress = r ? -d : d));
}
}
function Pt(s) {
const e = this;
if (typeof s == "undefined") {
const o = e.rtlTranslate ? -1 : 1;
s = (e && e.translate && e.translate * o) || 0;
}
const t = e.params,
i = e.maxTranslate() - e.minTranslate();
let { progress: r, isBeginning: a, isEnd: f, progressLoop: c } = e;
const n = a,
u = f;
if (i === 0) ((r = 0), (a = !0), (f = !0));
else {
r = (s - e.minTranslate()) / i;
const o = Math.abs(s - e.minTranslate()) < 1,
l = Math.abs(s - e.maxTranslate()) < 1;
((a = o || r <= 0), (f = l || r >= 1), o && (r = 0), l && (r = 1));
}
if (t.loop) {
const o = e.getSlideIndexByData(0),
l = e.getSlideIndexByData(e.slides.length - 1),
d = e.slidesGrid[o],
p = e.slidesGrid[l],
h = e.slidesGrid[e.slidesGrid.length - 1],
g = Math.abs(s);
(g >= d ? (c = (g - d) / h) : (c = (g + h - p) / h), c > 1 && (c -= 1));
}
(Object.assign(e, {
progress: r,
progressLoop: c,
isBeginning: a,
isEnd: f,
}),
(t.watchSlidesProgress || (t.centeredSlides && t.autoHeight)) &&
e.updateSlidesProgress(s),
a && !n && e.emit("reachBeginning toEdge"),
f && !u && e.emit("reachEnd toEdge"),
((n && !a) || (u && !f)) && e.emit("fromEdge"),
e.emit("progress", r));
}
const Oe = (s, e, t) => {
e && !s.classList.contains(t)
? s.classList.add(t)
: !e && s.classList.contains(t) && s.classList.remove(t);
};
function Lt() {
const s = this,
{ slides: e, params: t, slidesEl: i, activeIndex: r } = s,
a = s.virtual && t.virtual.enabled,
f = s.grid && t.grid && t.grid.rows > 1,
c = (l) => W(i, `.${t.slideClass}${l}, swiper-slide${l}`)[0];
let n, u, o;
if (a)
if (t.loop) {
let l = r - s.virtual.slidesBefore;
(l < 0 && (l = s.virtual.slides.length + l),
l >= s.virtual.slides.length && (l -= s.virtual.slides.length),
(n = c(`[data-swiper-slide-index="${l}"]`)));
} else n = c(`[data-swiper-slide-index="${r}"]`);
else
f
? ((n = e.filter((l) => l.column === r)[0]),
(o = e.filter((l) => l.column === r + 1)[0]),
(u = e.filter((l) => l.column === r - 1)[0]))
: (n = e[r]);
(n &&
(f ||
((o = mt(n, `.${t.slideClass}, swiper-slide`)[0]),
t.loop && !o && (o = e[0]),
(u = pt(n, `.${t.slideClass}, swiper-slide`)[0]),
t.loop && !u === 0 && (u = e[e.length - 1]))),
e.forEach((l) => {
(Oe(l, l === n, t.slideActiveClass),
Oe(l, l === o, t.slideNextClass),
Oe(l, l === u, t.slidePrevClass));
}),
s.emitSlidesClasses());
}
const Ee = (s, e) => {
if (!s || s.destroyed || !s.params) return;
const t = () =>
s.isElement ? "swiper-slide" : `.${s.params.slideClass}`,
i = e.closest(t());
if (i) {
let r = i.querySelector(`.${s.params.lazyPreloaderClass}`);
(!r &&
s.isElement &&
(i.shadowRoot
? (r = i.shadowRoot.querySelector(
`.${s.params.lazyPreloaderClass}`,
))
: requestAnimationFrame(() => {
i.shadowRoot &&
((r = i.shadowRoot.querySelector(
`.${s.params.lazyPreloaderClass}`,
)),
r && r.remove());
})),
r && r.remove());
}
},
$e = (s, e) => {
if (!s.slides[e]) return;
const t = s.slides[e].querySelector('[loading="lazy"]');
t && t.removeAttribute("loading");
},
ke = (s) => {
if (!s || s.destroyed || !s.params) return;
let e = s.params.lazyPreloadPrevNext;
const t = s.slides.length;
if (!t || !e || e < 0) return;
e = Math.min(e, t);
const i =
s.params.slidesPerView === "auto"
? s.slidesPerViewDynamic()
: Math.ceil(s.params.slidesPerView),
r = s.activeIndex;
if (s.params.grid && s.params.grid.rows > 1) {
const f = r,
c = [f - e];
(c.push(...Array.from({ length: e }).map((n, u) => f + i + u)),
s.slides.forEach((n, u) => {
c.includes(n.column) && $e(s, u);
}));
return;
}
const a = r + i - 1;
if (s.params.rewind || s.params.loop)
for (let f = r - e; f <= a + e; f += 1) {
const c = ((f % t) + t) % t;
(c < r || c > a) && $e(s, c);
}
else
for (let f = Math.max(r - e, 0); f <= Math.min(a + e, t - 1); f += 1)
f !== r && (f > a || f < r) && $e(s, f);
};
function It(s) {
const { slidesGrid: e, params: t } = s,
i = s.rtlTranslate ? s.translate : -s.translate;
let r;
for (let a = 0; a < e.length; a += 1)
typeof e[a + 1] != "undefined"
? i >= e[a] && i < e[a + 1] - (e[a + 1] - e[a]) / 2
? (r = a)
: i >= e[a] && i < e[a + 1] && (r = a + 1)
: i >= e[a] && (r = a);
return (
t.normalizeSlideIndex && (r < 0 || typeof r == "undefined") && (r = 0),
r
);
}
function At(s) {
const e = this,
t = e.rtlTranslate ? e.translate : -e.translate,
{
snapGrid: i,
params: r,
activeIndex: a,
realIndex: f,
snapIndex: c,
} = e;
let n = s,
u;
const o = (p) => {
let h = p - e.virtual.slidesBefore;
return (
h < 0 && (h = e.virtual.slides.length + h),
h >= e.virtual.slides.length && (h -= e.virtual.slides.length),
h
);
};
if ((typeof n == "undefined" && (n = It(e)), i.indexOf(t) >= 0))
u = i.indexOf(t);
else {
const p = Math.min(r.slidesPerGroupSkip, n);
u = p + Math.floor((n - p) / r.slidesPerGroup);
}
if ((u >= i.length && (u = i.length - 1), n === a && !e.params.loop)) {
u !== c && ((e.snapIndex = u), e.emit("snapIndexChange"));
return;
}
if (n === a && e.params.loop && e.virtual && e.params.virtual.enabled) {
e.realIndex = o(n);
return;
}
const l = e.grid && r.grid && r.grid.rows > 1;
let d;
if (e.virtual && r.virtual.enabled && r.loop) d = o(n);
else if (l) {
const p = e.slides.filter((g) => g.column === n)[0];
let h = parseInt(p.getAttribute("data-swiper-slide-index"), 10);
(Number.isNaN(h) && (h = Math.max(e.slides.indexOf(p), 0)),
(d = Math.floor(h / r.grid.rows)));
} else if (e.slides[n]) {
const p = e.slides[n].getAttribute("data-swiper-slide-index");
p ? (d = parseInt(p, 10)) : (d = n);
} else d = n;
(Object.assign(e, {
previousSnapIndex: c,
snapIndex: u,
previousRealIndex: f,
realIndex: d,
previousIndex: a,
activeIndex: n,
}),
e.initialized && ke(e),
e.emit("activeIndexChange"),
e.emit("snapIndexChange"),
(e.initialized || e.params.runCallbacksOnInit) &&
(f !== d && e.emit("realIndexChange"), e.emit("slideChange")));
}
function zt(s, e) {
const t = this,
i = t.params;
let r = s.closest(`.${i.slideClass}, swiper-slide`);
!r &&
t.isElement &&
e &&
e.length > 1 &&
e.includes(s) &&
[...e.slice(e.indexOf(s) + 1, e.length)].forEach((c) => {
!r &&
c.matches &&
c.matches(`.${i.slideClass}, swiper-slide`) &&
(r = c);
});
let a = !1,
f;
if (r) {
for (let c = 0; c < t.slides.length; c += 1)
if (t.slides[c] === r) {
((a = !0), (f = c));
break;
}
}
if (r && a)
((t.clickedSlide = r),
t.virtual && t.params.virtual.enabled
? (t.clickedIndex = parseInt(
r.getAttribute("data-swiper-slide-index"),
10,
))
: (t.clickedIndex = f));
else {
((t.clickedSlide = void 0), (t.clickedIndex = void 0));
return;
}
i.slideToClickedSlide &&
t.clickedIndex !== void 0 &&
t.clickedIndex !== t.activeIndex &&
t.slideToClickedSlide();
}
var Dt = {
updateSize: Et,
updateSlides: xt,
updateAutoHeight: Tt,
updateSlidesOffset: Mt,
updateSlidesProgress: Ct,
updateProgress: Pt,
updateSlidesClasses: Lt,
updateActiveIndex: At,
updateClickedSlide: zt,
};
function Ot(s) {
s === void 0 && (s = this.isHorizontal() ? "x" : "y");
const e = this,
{ params: t, rtlTranslate: i, translate: r, wrapperEl: a } = e;
if (t.virtualTranslate) return i ? -r : r;
if (t.cssMode) return r;
let f = Le(a, s);
return ((f += e.cssOverflowAdjustment()), i && (f = -f), f || 0);
}
function $t(s, e) {
const t = this,
{ rtlTranslate: i, params: r, wrapperEl: a, progress: f } = t;
let c = 0,
n = 0;
const u = 0;
(t.isHorizontal() ? (c = i ? -s : s) : (n = s),
r.roundLengths && ((c = Math.floor(c)), (n = Math.floor(n))),
(t.previousTranslate = t.translate),
(t.translate = t.isHorizontal() ? c : n),
r.cssMode
? (a[t.isHorizontal() ? "scrollLeft" : "scrollTop"] = t.isHorizontal()
? -c
: -n)
: r.virtualTranslate ||
(t.isHorizontal()
? (c -= t.cssOverflowAdjustment())
: (n -= t.cssOverflowAdjustment()),
(a.style.transform = `translate3d(${c}px, ${n}px, ${u}px)`)));
let o;
const l = t.maxTranslate() - t.minTranslate();
(l === 0 ? (o = 0) : (o = (s - t.minTranslate()) / l),
o !== f && t.updateProgress(s),
t.emit("setTranslate", t.translate, e));
}
function kt() {
return -this.snapGrid[0];
}
function Vt() {
return -this.snapGrid[this.snapGrid.length - 1];
}
function Gt(s, e, t, i, r) {
(s === void 0 && (s = 0),
e === void 0 && (e = this.params.speed),
t === void 0 && (t = !0),
i === void 0 && (i = !0));
const a = this,
{ params: f, wrapperEl: c } = a;
if (a.animating && f.preventInteractionOnTransition) return !1;
const n = a.minTranslate(),
u = a.maxTranslate();
let o;
if (
(i && s > n ? (o = n) : i && s < u ? (o = u) : (o = s),
a.updateProgress(o),
f.cssMode)
) {
const l = a.isHorizontal();
if (e === 0) c[l ? "scrollLeft" : "scrollTop"] = -o;
else {
if (!a.support.smoothScroll)
return (
qe({ swiper: a, targetPosition: -o, side: l ? "left" : "top" }),
!0
);
c.scrollTo({ [l ? "left" : "top"]: -o, behavior: "smooth" });
}
return !0;
}
return (
e === 0
? (a.setTransition(0),
a.setTranslate(o),
t && (a.emit("beforeTransitionStart", e, r), a.emit("transitionEnd")))
: (a.setTransition(e),
a.setTranslate(o),
t &&
(a.emit("beforeTransitionStart", e, r), a.emit("transitionStart")),
a.animating ||
((a.animating = !0),
a.onTranslateToWrapperTransitionEnd ||
(a.onTranslateToWrapperTransitionEnd = function (d) {
!a ||
a.destroyed ||
(d.target === this &&
(a.wrapperEl.removeEventListener(
"transitionend",
a.onTranslateToWrapperTransitionEnd,
),
(a.onTranslateToWrapperTransitionEnd = null),
delete a.onTranslateToWrapperTransitionEnd,
(a.animating = !1),
t && a.emit("transitionEnd")));
}),
a.wrapperEl.addEventListener(
"transitionend",
a.onTranslateToWrapperTransitionEnd,
))),
!0
);
}
var Bt = {
getTranslate: Ot,
setTranslate: $t,
minTranslate: kt,
maxTranslate: Vt,
translateTo: Gt,
};
function Ht(s, e) {
const t = this;
(t.params.cssMode ||
((t.wrapperEl.style.transitionDuration = `${s}ms`),
(t.wrapperEl.style.transitionDelay = s === 0 ? "0ms" : "")),
t.emit("setTransition", s, e));
}
function Ue(s) {
let { swiper: e, runCallbacks: t, direction: i, step: r } = s;
const { activeIndex: a, previousIndex: f } = e;
let c = i;
if (
(c || (a > f ? (c = "next") : a < f ? (c = "prev") : (c = "reset")),
e.emit(`transition${r}`),
t && a !== f)
) {
if (c === "reset") {
e.emit(`slideResetTransition${r}`);
return;
}
(e.emit(`slideChangeTransition${r}`),
c === "next"
? e.emit(`slideNextTransition${r}`)
: e.emit(`slidePrevTransition${r}`));
}
}
function Ft(s, e) {
s === void 0 && (s = !0);
const t = this,
{ params: i } = t;
i.cssMode ||
(i.autoHeight && t.updateAutoHeight(),
Ue({ swiper: t, runCallbacks: s, direction: e, step: "Start" }));
}
function Nt(s, e) {
s === void 0 && (s = !0);
const t = this,
{ params: i } = t;
((t.animating = !1),
!i.cssMode &&
(t.setTransition(0),
Ue({ swiper: t, runCallbacks: s, direction: e, step: "End" })));
}
var Rt = { setTransition: Ht, transitionStart: Ft, transitionEnd: Nt };
function Yt(s, e, t, i, r) {
(s === void 0 && (s = 0),
t === void 0 && (t = !0),
typeof s == "string" && (s = parseInt(s, 10)));
const a = this;
let f = s;
f < 0 && (f = 0);
const {
params: c,
snapGrid: n,
slidesGrid: u,
previousIndex: o,
activeIndex: l,
rtlTranslate: d,
wrapperEl: p,
enabled: h,
} = a;
if (
(!h && !i && !r) ||
a.destroyed ||
(a.animating && c.preventInteractionOnTransition)
)
return !1;
typeof e == "undefined" && (e = a.params.speed);
const g = Math.min(a.params.slidesPerGroupSkip, f);
let w = g + Math.floor((f - g) / a.params.slidesPerGroup);
w >= n.length && (w = n.length - 1);
const y = -n[w];
if (c.normalizeSlideIndex)
for (let S = 0; S < u.length; S += 1) {
const A = -Math.floor(y * 100),
O = Math.floor(u[S] * 100),
z = Math.floor(u[S + 1] * 100);
typeof u[S + 1] != "undefined"
? A >= O && A < z - (z - O) / 2
? (f = S)
: A >= O && A < z && (f = S + 1)
: A >= O && (f = S);
}
if (
a.initialized &&
f !== l &&
((!a.allowSlideNext &&
(d
? y > a.translate && y > a.minTranslate()
: y < a.translate && y < a.minTranslate())) ||
(!a.allowSlidePrev &&
y > a.translate &&
y > a.maxTranslate() &&
(l || 0) !== f))
)
return !1;
(f !== (o || 0) && t && a.emit("beforeSlideChangeStart"),
a.updateProgress(y));
let v;
f > l ? (v = "next") : f < l ? (v = "prev") : (v = "reset");
const m = a.virtual && a.params.virtual.enabled;
if (!(m && r) && ((d && -y === a.translate) || (!d && y === a.translate)))
return (
a.updateActiveIndex(f),
c.autoHeight && a.updateAutoHeight(),
a.updateSlidesClasses(),
c.effect !== "slide" && a.setTranslate(y),
v !== "reset" && (a.transitionStart(t, v), a.transitionEnd(t, v)),
!1
);
if (c.cssMode) {
const S = a.isHorizontal(),
A = d ? y : -y;
if (e === 0)
(m &&
((a.wrapperEl.style.scrollSnapType = "none"),
(a._immediateVirtual = !0)),
m && !a._cssModeVirtualInitialSet && a.params.initialSlide > 0
? ((a._cssModeVirtualInitialSet = !0),
requestAnimationFrame(() => {
p[S ? "scrollLeft" : "scrollTop"] = A;
}))
: (p[S ? "scrollLeft" : "scrollTop"] = A),
m &&
requestAnimationFrame(() => {
((a.wrapperEl.style.scrollSnapType = ""),
(a._immediateVirtual = !1));
}));
else {
if (!a.support.smoothScroll)
return (
qe({ swiper: a, targetPosition: A, side: S ? "left" : "top" }),
!0
);
p.scrollTo({ [S ? "left" : "top"]: A, behavior: "smooth" });
}
return !0;
}
return (
a.setTransition(e),
a.setTranslate(y),
a.updateActiveIndex(f),
a.updateSlidesClasses(),
a.emit("beforeTransitionStart", e, i),
a.transitionStart(t, v),
e === 0
? a.transitionEnd(t, v)
: a.animating ||
((a.animating = !0),
a.onSlideToWrapperTransitionEnd ||
(a.onSlideToWrapperTransitionEnd = function (A) {
!a ||
a.destroyed ||
(A.target === this &&
(a.wrapperEl.removeEventListener(
"transitionend",
a.onSlideToWrapperTransitionEnd,
),
(a.onSlideToWrapperTransitionEnd = null),
delete a.onSlideToWrapperTransitionEnd,
a.transitionEnd(t, v)));
}),
a.wrapperEl.addEventListener(
"transitionend",
a.onSlideToWrapperTransitionEnd,
)),
!0
);
}
function Xt(s, e, t, i) {
(s === void 0 && (s = 0),
t === void 0 && (t = !0),
typeof s == "string" && (s = parseInt(s, 10)));
const r = this;
if (r.destroyed) return;
typeof e == "undefined" && (e = r.params.speed);
const a = r.grid && r.params.grid && r.params.grid.rows > 1;
let f = s;
if (r.params.loop)
if (r.virtual && r.params.virtual.enabled) f = f + r.virtual.slidesBefore;
else {
let c;
if (a) {
const d = f * r.params.grid.rows;
c = r.slides.filter(
(p) => p.getAttribute("data-swiper-slide-index") * 1 === d,
)[0].column;
} else c = r.getSlideIndexByData(f);
const n = a
? Math.ceil(r.slides.length / r.params.grid.rows)
: r.slides.length,
{ centeredSlides: u } = r.params;
let o = r.params.slidesPerView;
o === "auto"
? (o = r.slidesPerViewDynamic())
: ((o = Math.ceil(parseFloat(r.params.slidesPerView, 10))),
u && o % 2 == 0 && (o = o + 1));
let l = n - c < o;
if (
(u && (l = l || c < Math.ceil(o / 2)),
i && u && r.params.slidesPerView !== "auto" && !a && (l = !1),
l)
) {
const d = u
? c < r.activeIndex
? "prev"
: "next"
: c - r.activeIndex - 1 < r.params.slidesPerView
? "next"
: "prev";
r.loopFix({
direction: d,
slideTo: !0,
activeSlideIndex: d === "next" ? c + 1 : c - n + 1,
slideRealIndex: d === "next" ? r.realIndex : void 0,
});
}
if (a) {
const d = f * r.params.grid.rows;
f = r.slides.filter(
(p) => p.getAttribute("data-swiper-slide-index") * 1 === d,
)[0].column;
} else f = r.getSlideIndexByData(f);
}
return (
requestAnimationFrame(() => {
r.slideTo(f, e, t, i);
}),
r
);
}
function qt(s, e, t) {
e === void 0 && (e = !0);
const i = this,
{ enabled: r, params: a, animating: f } = i;
if (!r || i.destroyed) return i;
typeof s == "undefined" && (s = i.params.speed);
let c = a.slidesPerGroup;
a.slidesPerView === "auto" &&
a.slidesPerGroup === 1 &&
a.slidesPerGroupAuto &&
(c = Math.max(i.slidesPerViewDynamic("current", !0), 1));
const n = i.activeIndex < a.slidesPerGroupSkip ? 1 : c,
u = i.virtual && a.virtual.enabled;
if (a.loop) {
if (f && !u && a.loopPreventsSliding) return !1;
if (
(i.loopFix({ direction: "next" }),
(i._clientLeft = i.wrapperEl.clientLeft),
i.activeIndex === i.slides.length - 1 && a.cssMode)
)
return (
requestAnimationFrame(() => {
i.slideTo(i.activeIndex + n, s, e, t);
}),
!0
);
}
return a.rewind && i.isEnd
? i.slideTo(0, s, e, t)
: i.slideTo(i.activeIndex + n, s, e, t);
}
function Wt(s, e, t) {
e === void 0 && (e = !0);
const i = this,
{
params: r,
snapGrid: a,
slidesGrid: f,
rtlTranslate: c,
enabled: n,
animating: u,
} = i;
if (!n || i.destroyed) return i;
typeof s == "undefined" && (s = i.params.speed);
const o = i.virtual && r.virtual.enabled;
if (r.loop) {
if (u && !o && r.loopPreventsSliding) return !1;
(i.loopFix({ direction: "prev" }),
(i._clientLeft = i.wrapperEl.clientLeft));
}
const l = c ? i.translate : -i.translate;
function d(y) {
return y < 0 ? -Math.floor(Math.abs(y)) : Math.floor(y);
}
const p = d(l),
h = a.map((y) => d(y));
let g = a[h.indexOf(p) - 1];
if (typeof g == "undefined" && r.cssMode) {
let y;
(a.forEach((v, m) => {
p >= v && (y = m);
}),
typeof y != "undefined" && (g = a[y > 0 ? y - 1 : y]));
}
let w = 0;
if (
(typeof g != "undefined" &&
((w = f.indexOf(g)),
w < 0 && (w = i.activeIndex - 1),
r.slidesPerView === "auto" &&
r.slidesPerGroup === 1 &&
r.slidesPerGroupAuto &&
((w = w - i.slidesPerViewDynamic("previous", !0) + 1),
(w = Math.max(w, 0)))),
r.rewind && i.isBeginning)
) {
const y =
i.params.virtual && i.params.virtual.enabled && i.virtual
? i.virtual.slides.length - 1
: i.slides.length - 1;
return i.slideTo(y, s, e, t);
} else if (r.loop && i.activeIndex === 0 && r.cssMode)
return (
requestAnimationFrame(() => {
i.slideTo(w, s, e, t);
}),
!0
);
return i.slideTo(w, s, e, t);
}
function _t(s, e, t) {
e === void 0 && (e = !0);
const i = this;
if (!i.destroyed)
return (
typeof s == "undefined" && (s = i.params.speed),
i.slideTo(i.activeIndex, s, e, t)
);
}
function jt(s, e, t, i) {
(e === void 0 && (e = !0), i === void 0 && (i = 0.5));
const r = this;
if (r.destroyed) return;
typeof s == "undefined" && (s = r.params.speed);
let a = r.activeIndex;
const f = Math.min(r.params.slidesPerGroupSkip, a),
c = f + Math.floor((a - f) / r.params.slidesPerGroup),
n = r.rtlTranslate ? r.translate : -r.translate;
if (n >= r.snapGrid[c]) {
const u = r.snapGrid[c],
o = r.snapGrid[c + 1];
n - u > (o - u) * i && (a += r.params.slidesPerGroup);
} else {
const u = r.snapGrid[c - 1],
o = r.snapGrid[c];
n - u <= (o - u) * i && (a -= r.params.slidesPerGroup);
}
return (
(a = Math.max(a, 0)),
(a = Math.min(a, r.slidesGrid.length - 1)),
r.slideTo(a, s, e, t)
);
}
function Ut() {
const s = this;
if (s.destroyed) return;
const { params: e, slidesEl: t } = s,
i =
e.slidesPerView === "auto" ? s.slidesPerViewDynamic() : e.slidesPerView;
let r = s.clickedIndex,
a;
const f = s.isElement ? "swiper-slide" : `.${e.slideClass}`;
if (e.loop) {
if (s.animating) return;
((a = parseInt(
s.clickedSlide.getAttribute("data-swiper-slide-index"),
10,
)),
e.centeredSlides
? r < s.loopedSlides - i / 2 ||
r > s.slides.length - s.loopedSlides + i / 2
? (s.loopFix(),
(r = s.getSlideIndex(
W(t, `${f}[data-swiper-slide-index="${a}"]`)[0],
)),
ae(() => {
s.slideTo(r);
}))
: s.slideTo(r)
: r > s.slides.length - i
? (s.loopFix(),
(r = s.getSlideIndex(
W(t, `${f}[data-swiper-slide-index="${a}"]`)[0],
)),
ae(() => {
s.slideTo(r);
}))
: s.slideTo(r));
} else s.slideTo(r);
}
var Kt = {
slideTo: Yt,
slideToLoop: Xt,
slideNext: qt,
slidePrev: Wt,
slideReset: _t,
slideToClosest: jt,
slideToClickedSlide: Ut,
};
function Zt(s) {
const e = this,
{ params: t, slidesEl: i } = e;
if (!t.loop || (e.virtual && e.params.virtual.enabled)) return;
const r = () => {
W(i, `.${t.slideClass}, swiper-slide`).forEach((l, d) => {
l.setAttribute("data-swiper-slide-index", d);
});
},
a = e.grid && t.grid && t.grid.rows > 1,
f = t.slidesPerGroup * (a ? t.grid.rows : 1),
c = e.slides.length % f != 0,
n = a && e.slides.length % t.grid.rows != 0,
u = (o) => {
for (let l = 0; l < o; l += 1) {
const d = e.isElement
? J("swiper-slide", [t.slideBlankClass])
: J("div", [t.slideClass, t.slideBlankClass]);
e.slidesEl.append(d);
}
};
if (c) {
if (t.loopAddBlankSlides) {
const o = f - (e.slides.length % f);
(u(o), e.recalcSlides(), e.updateSlides());
} else
ye(
"Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)",
);
r();
} else if (n) {
if (t.loopAddBlankSlides) {
const o = t.grid.rows - (e.slides.length % t.grid.rows);
(u(o), e.recalcSlides(), e.updateSlides());
} else
ye(
"Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)",
);
r();
} else r();
e.loopFix({
slideRealIndex: s,
direction: t.centeredSlides ? void 0 : "next",
});
}
function Qt(s) {
let {
slideRealIndex: e,
slideTo: t = !0,
direction: i,
setTranslate: r,
activeSlideIndex: a,
byController: f,
byMousewheel: c,
} = s === void 0 ? {} : s;
const n = this;
if (!n.params.loop) return;
n.emit("beforeLoopFix");
const {
slides: u,
allowSlidePrev: o,
allowSlideNext: l,
slidesEl: d,
params: p,
} = n,
{ centeredSlides: h } = p;
if (
((n.allowSlidePrev = !0),
(n.allowSlideNext = !0),
n.virtual && p.virtual.enabled)
) {
(t &&
(!p.centeredSlides && n.snapIndex === 0
? n.slideTo(n.virtual.slides.length, 0, !1, !0)
: p.centeredSlides && n.snapIndex < p.slidesPerView
? n.slideTo(n.virtual.slides.length + n.snapIndex, 0, !1, !0)
: n.snapIndex === n.snapGrid.length - 1 &&
n.slideTo(n.virtual.slidesBefore, 0, !1, !0)),
(n.allowSlidePrev = o),
(n.allowSlideNext = l),
n.emit("loopFix"));
return;
}
let g = p.slidesPerView;
g === "auto"
? (g = n.slidesPerViewDynamic())
: ((g = Math.ceil(parseFloat(p.slidesPerView, 10))),
h && g % 2 == 0 && (g = g + 1));
const w = p.slidesPerGroupAuto ? g : p.slidesPerGroup;
let y = w;
(y % w != 0 && (y += w - (y % w)),
(y += p.loopAdditionalSlides),
(n.loopedSlides = y));
const v = n.grid && p.grid && p.grid.rows > 1;
u.length < g + y
? ye(
"Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters",
)
: v &&
p.grid.fill === "row" &&
ye(
"Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`",
);
const m = [],
b = [];
let S = n.activeIndex;
typeof a == "undefined"
? (a = n.getSlideIndex(
u.filter((E) => E.classList.contains(p.slideActiveClass))[0],
))
: (S = a);
const A = i === "next" || !i,
O = i === "prev" || !i;
let z = 0,
T = 0;
const P = v ? Math.ceil(u.length / p.grid.rows) : u.length,
C =
(v ? u[a].column : a) +
(h && typeof r == "undefined" ? -g / 2 + 0.5 : 0);
if (C < y) {
z = Math.max(y - C, w);
for (let E = 0; E < y - C; E += 1) {
const x = E - Math.floor(E / P) * P;
if (v) {
const D = P - x - 1;
for (let G = u.length - 1; G >= 0; G -= 1)
u[G].column === D && m.push(G);
} else m.push(P - x - 1);
}
} else if (C + g > P - y) {
T = Math.max(C - (P - y * 2), w);
for (let E = 0; E < T; E += 1) {
const x = E - Math.floor(E / P) * P;
v
? u.forEach((D, G) => {
D.column === x && b.push(G);
})
: b.push(x);
}
}
if (
((n.__preventObserver__ = !0),
requestAnimationFrame(() => {
n.__preventObserver__ = !1;
}),
O &&
m.forEach((E) => {
((u[E].swiperLoopMoveDOM = !0),
d.prepend(u[E]),
(u[E].swiperLoopMoveDOM = !1));
}),
A &&
b.forEach((E) => {
((u[E].swiperLoopMoveDOM = !0),
d.append(u[E]),
(u[E].swiperLoopMoveDOM = !1));
}),
n.recalcSlides(),
p.slidesPerView === "auto"
? n.updateSlides()
: v &&
((m.length > 0 && O) || (b.length > 0 && A)) &&
n.slides.forEach((E, x) => {
n.grid.updateSlide(x, E, n.slides);
}),
p.watchSlidesProgress && n.updateSlidesOffset(),
t)
) {
if (m.length > 0 && O) {
if (typeof e == "undefined") {
const E = n.slidesGrid[S],
D = n.slidesGrid[S + z] - E;
c
? n.setTranslate(n.translate - D)
: (n.slideTo(S + Math.ceil(z), 0, !1, !0),
r &&
((n.touchEventsData.startTranslate =
n.touchEventsData.startTranslate - D),
(n.touchEventsData.currentTranslate =
n.touchEventsData.currentTranslate - D)));
} else if (r) {
const E = v ? m.length / p.grid.rows : m.length;
(n.slideTo(n.activeIndex + E, 0, !1, !0),
(n.touchEventsData.currentTranslate = n.translate));
}
} else if (b.length > 0 && A)
if (typeof e == "undefined") {
const E = n.slidesGrid[S],
D = n.slidesGrid[S - T] - E;
c
? n.setTranslate(n.translate - D)
: (n.slideTo(S - T, 0, !1, !0),
r &&
((n.touchEventsData.startTranslate =
n.touchEventsData.startTranslate - D),
(n.touchEventsData.currentTranslate =
n.touchEventsData.currentTranslate - D)));
} else {
const E = v ? b.length / p.grid.rows : b.length;
n.slideTo(n.activeIndex - E, 0, !1, !0);
}
}
if (
((n.allowSlidePrev = o),
(n.allowSlideNext = l),
n.controller && n.controller.control && !f)
) {
const E = {
slideRealIndex: e,
direction: i,
setTranslate: r,
activeSlideIndex: a,
byController: !0,
};
Array.isArray(n.controller.control)
? n.controller.control.forEach((x) => {
!x.destroyed &&
x.params.loop &&
x.loopFix(
Xe(Ye({}, E), {
slideTo: x.params.slidesPerView === p.slidesPerView ? t : !1,
}),
);
})
: n.controller.control instanceof n.constructor &&
n.controller.control.params.loop &&
n.controller.control.loopFix(
Xe(Ye({}, E), {
slideTo:
n.controller.control.params.slidesPerView === p.slidesPerView
? t
: !1,
}),
);
}
n.emit("loopFix");
}
function Jt() {
const s = this,
{ params: e, slidesEl: t } = s;
if (!e.loop || (s.virtual && s.params.virtual.enabled)) return;
s.recalcSlides();
const i = [];
(s.slides.forEach((r) => {
const a =
typeof r.swiperSlideIndex == "undefined"
? r.getAttribute("data-swiper-slide-index") * 1
: r.swiperSlideIndex;
i[a] = r;
}),
s.slides.forEach((r) => {
r.removeAttribute("data-swiper-slide-index");
}),
i.forEach((r) => {
t.append(r);
}),
s.recalcSlides(),
s.slideTo(s.realIndex, 0));
}
var es = { loopCreate: Zt, loopFix: Qt, loopDestroy: Jt };
function ts(s) {
const e = this;
if (
!e.params.simulateTouch ||
(e.params.watchOverflow && e.isLocked) ||
e.params.cssMode
)
return;
const t = e.params.touchEventsTarget === "container" ? e.el : e.wrapperEl;
(e.isElement && (e.__preventObserver__ = !0),
(t.style.cursor = "move"),
(t.style.cursor = s ? "grabbing" : "grab"),
e.isElement &&
requestAnimationFrame(() => {
e.__preventObserver__ = !1;
}));
}
function ss() {
const s = this;
(s.params.watchOverflow && s.isLocked) ||
s.params.cssMode ||
(s.isElement && (s.__preventObserver__ = !0),
(s[
s.params.touchEventsTarget === "container" ? "el" : "wrapperEl"
].style.cursor = ""),
s.isElement &&
requestAnimationFrame(() => {
s.__preventObserver__ = !1;
}));
}
var is = { setGrabCursor: ts, unsetGrabCursor: ss };
function rs(s, e) {
e === void 0 && (e = this);
function t(i) {
if (!i || i === q() || i === X()) return null;
i.assignedSlot && (i = i.assignedSlot);
const r = i.closest(s);
return !r && !i.getRootNode ? null : r || t(i.getRootNode().host);
}
return t(e);
}
function Ke(s, e, t) {
const i = X(),
{ params: r } = s,
a = r.edgeSwipeDetection,
f = r.edgeSwipeThreshold;
return a && (t <= f || t >= i.innerWidth - f)
? a === "prevent"
? (e.preventDefault(), !0)
: !1
: !0;
}
function as(s) {
const e = this,
t = q();
let i = s;
i.originalEvent && (i = i.originalEvent);
const r = e.touchEventsData;
if (i.type === "pointerdown") {
if (r.pointerId !== null && r.pointerId !== i.pointerId) return;
r.pointerId = i.pointerId;
} else
i.type === "touchstart" &&
i.targetTouches.length === 1 &&
(r.touchId = i.targetTouches[0].identifier);
if (i.type === "touchstart") {
Ke(e, i, i.targetTouches[0].pageX);
return;
}
const { params: a, touches: f, enabled: c } = e;
if (
!c ||
(!a.simulateTouch && i.pointerType === "mouse") ||
(e.animating && a.preventInteractionOnTransition)
)
return;
!e.animating && a.cssMode && a.loop && e.loopFix();
let n = i.target;
if (
(a.touchEventsTarget === "wrapper" && !ut(n, e.wrapperEl)) ||
("which" in i && i.which === 3) ||
("button" in i && i.button > 0) ||
(r.isTouched && r.isMoved)
)
return;
const u = !!a.noSwipingClass && a.noSwipingClass !== "",
o = i.composedPath ? i.composedPath() : i.path;
u && i.target && i.target.shadowRoot && o && (n = o[0]);
const l = a.noSwipingSelector
? a.noSwipingSelector
: `.${a.noSwipingClass}`,
d = !!(i.target && i.target.shadowRoot);
if (a.noSwiping && (d ? rs(l, n) : n.closest(l))) {
e.allowClick = !0;
return;
}
if (a.swipeHandler && !n.closest(a.swipeHandler)) return;
((f.currentX = i.pageX), (f.currentY = i.pageY));
const p = f.currentX,
h = f.currentY;
if (!Ke(e, i, p)) return;
(Object.assign(r, {
isTouched: !0,
isMoved: !1,
allowTouchCallbacks: !0,
isScrolling: void 0,
startMoving: void 0,
}),
(f.startX = p),
(f.startY = h),
(r.touchStartTime = ee()),
(e.allowClick = !0),
e.updateSize(),
(e.swipeDirection = void 0),
a.threshold > 0 && (r.allowThresholdMove = !1));
let g = !0;
(n.matches(r.focusableElements) &&
((g = !1), n.nodeName === "SELECT" && (r.isTouched = !1)),
t.activeElement &&
t.activeElement.matches(r.focusableElements) &&
t.activeElement !== n &&
t.activeElement.blur());
const w = g && e.allowTouchMove && a.touchStartPreventDefault;
((a.touchStartForcePreventDefault || w) &&
!n.isContentEditable &&
i.preventDefault(),
a.freeMode &&
a.freeMode.enabled &&
e.freeMode &&
e.animating &&
!a.cssMode &&
e.freeMode.onTouchStart(),
e.emit("touchStart", i));
}
function ns(s) {
const e = q(),
t = this,
i = t.touchEventsData,
{ params: r, touches: a, rtlTranslate: f, enabled: c } = t;
if (!c || (!r.simulateTouch && s.pointerType === "mouse")) return;
let n = s;
if (
(n.originalEvent && (n = n.originalEvent),
n.type === "pointermove" &&
(i.touchId !== null || n.pointerId !== i.pointerId))
)
return;
let u;
if (n.type === "touchmove") {
if (
((u = [...n.changedTouches].filter(
(A) => A.identifier === i.touchId,
)[0]),
!u || u.identifier !== i.touchId)
)
return;
} else u = n;
if (!i.isTouched) {
i.startMoving && i.isScrolling && t.emit("touchMoveOpposite", n);
return;
}
const o = u.pageX,
l = u.pageY;
if (n.preventedByNestedSwiper) {
((a.startX = o), (a.startY = l));
return;
}
if (!t.allowTouchMove) {
(n.target.matches(i.focusableElements) || (t.allowClick = !1),
i.isTouched &&
(Object.assign(a, { startX: o, startY: l, currentX: o, currentY: l }),
(i.touchStartTime = ee())));
return;
}
if (r.touchReleaseOnEdges && !r.loop) {
if (t.isVertical()) {
if (
(l < a.startY && t.translate <= t.maxTranslate()) ||
(l > a.startY && t.translate >= t.minTranslate())
) {
((i.isTouched = !1), (i.isMoved = !1));
return;
}
} else if (
(o < a.startX && t.translate <= t.maxTranslate()) ||
(o > a.startX && t.translate >= t.minTranslate())
)
return;
}
if (
e.activeElement &&
n.target === e.activeElement &&
n.target.matches(i.focusableElements)
) {
((i.isMoved = !0), (t.allowClick = !1));
return;
}
(i.allowTouchCallbacks && t.emit("touchMove", n),
(a.previousX = a.currentX),
(a.previousY = a.currentY),
(a.currentX = o),
(a.currentY = l));
const d = a.currentX - a.startX,
p = a.currentY - a.startY;
if (t.params.threshold && Math.sqrt(d ** 2 + p ** 2) < t.params.threshold)
return;
if (typeof i.isScrolling == "undefined") {
let A;
(t.isHorizontal() && a.currentY === a.startY) ||
(t.isVertical() && a.currentX === a.startX)
? (i.isScrolling = !1)
: d * d + p * p >= 25 &&
((A = (Math.atan2(Math.abs(p), Math.abs(d)) * 180) / Math.PI),
(i.isScrolling = t.isHorizontal()
? A > r.touchAngle
: 90 - A > r.touchAngle));
}
if (
(i.isScrolling && t.emit("touchMoveOpposite", n),
typeof i.startMoving == "undefined" &&
(a.currentX !== a.startX || a.currentY !== a.startY) &&
(i.startMoving = !0),
i.isScrolling ||
(n.type === "touchmove" && i.preventTouchMoveFromPointerMove))
) {
i.isTouched = !1;
return;
}
if (!i.startMoving) return;
((t.allowClick = !1),
!r.cssMode && n.cancelable && n.preventDefault(),
r.touchMoveStopPropagation && !r.nested && n.stopPropagation());
let h = t.isHorizontal() ? d : p,
g = t.isHorizontal()
? a.currentX - a.previousX
: a.currentY - a.previousY;
(r.oneWayMovement &&
((h = Math.abs(h) * (f ? 1 : -1)), (g = Math.abs(g) * (f ? 1 : -1))),
(a.diff = h),
(h *= r.touchRatio),
f && ((h = -h), (g = -g)));
const w = t.touchesDirection;
((t.swipeDirection = h > 0 ? "prev" : "next"),
(t.touchesDirection = g > 0 ? "prev" : "next"));
const y = t.params.loop && !r.cssMode,
v =
(t.touchesDirection === "next" && t.allowSlideNext) ||
(t.touchesDirection === "prev" && t.allowSlidePrev);
if (!i.isMoved) {
if (
(y && v && t.loopFix({ direction: t.swipeDirection }),
(i.startTranslate = t.getTranslate()),
t.setTransition(0),
t.animating)
) {
const A = new window.CustomEvent("transitionend", {
bubbles: !0,
cancelable: !0,
detail: { bySwiperTouchMove: !0 },
});
t.wrapperEl.dispatchEvent(A);
}
((i.allowMomentumBounce = !1),
r.grabCursor &&
(t.allowSlideNext === !0 || t.allowSlidePrev === !0) &&
t.setGrabCursor(!0),
t.emit("sliderFirstMove", n));
}
let m;
if (
(new Date().getTime(),
i.isMoved &&
i.allowThresholdMove &&
w !== t.touchesDirection &&
y &&
v &&
Math.abs(h) >= 1)
) {
(Object.assign(a, {
startX: o,
startY: l,
currentX: o,
currentY: l,
startTranslate: i.currentTranslate,
}),
(i.loopSwapReset = !0),
(i.startTranslate = i.currentTranslate));
return;
}
(t.emit("sliderMove", n),
(i.isMoved = !0),
(i.currentTranslate = h + i.startTranslate));
let b = !0,
S = r.resistanceRatio;
if (
(r.touchReleaseOnEdges && (S = 0),
h > 0
? (y &&
v &&
!m &&
i.allowThresholdMove &&
i.currentTranslate >
(r.centeredSlides
? t.minTranslate() -
t.slidesSizesGrid[t.activeIndex + 1] -
(r.slidesPerView !== "auto" &&
t.slides.length - r.slidesPerView >= 2
? t.slidesSizesGrid[t.activeIndex + 1] +
t.params.spaceBetween
: 0) -
t.params.spaceBetween
: t.minTranslate()) &&
t.loopFix({
direction: "prev",
setTranslate: !0,
activeSlideIndex: 0,
}),
i.currentTranslate > t.minTranslate() &&
((b = !1),
r.resistance &&
(i.currentTranslate =
t.minTranslate() -
1 +
(-t.minTranslate() + i.startTranslate + h) ** S)))
: h < 0 &&
(y &&
v &&
!m &&
i.allowThresholdMove &&
i.currentTranslate <
(r.centeredSlides
? t.maxTranslate() +
t.slidesSizesGrid[t.slidesSizesGrid.length - 1] +
t.params.spaceBetween +
(r.slidesPerView !== "auto" &&
t.slides.length - r.slidesPerView >= 2
? t.slidesSizesGrid[t.slidesSizesGrid.length - 1] +
t.params.spaceBetween
: 0)
: t.maxTranslate()) &&
t.loopFix({
direction: "next",
setTranslate: !0,
activeSlideIndex:
t.slides.length -
(r.slidesPerView === "auto"
? t.slidesPerViewDynamic()
: Math.ceil(parseFloat(r.slidesPerView, 10))),
}),
i.currentTranslate < t.maxTranslate() &&
((b = !1),
r.resistance &&
(i.currentTranslate =
t.maxTranslate() +
1 -
(t.maxTranslate() - i.startTranslate - h) ** S))),
b && (n.preventedByNestedSwiper = !0),
!t.allowSlideNext &&
t.swipeDirection === "next" &&
i.currentTranslate < i.startTranslate &&
(i.currentTranslate = i.startTranslate),
!t.allowSlidePrev &&
t.swipeDirection === "prev" &&
i.currentTranslate > i.startTranslate &&
(i.currentTranslate = i.startTranslate),
!t.allowSlidePrev &&
!t.allowSlideNext &&
(i.currentTranslate = i.startTranslate),
r.threshold > 0)
)
if (Math.abs(h) > r.threshold || i.allowThresholdMove) {
if (!i.allowThresholdMove) {
((i.allowThresholdMove = !0),
(a.startX = a.currentX),
(a.startY = a.currentY),
(i.currentTranslate = i.startTranslate),
(a.diff = t.isHorizontal()
? a.currentX - a.startX
: a.currentY - a.startY));
return;
}
} else {
i.currentTranslate = i.startTranslate;
return;
}
!r.followFinger ||
r.cssMode ||
(((r.freeMode && r.freeMode.enabled && t.freeMode) ||
r.watchSlidesProgress) &&
(t.updateActiveIndex(), t.updateSlidesClasses()),
r.freeMode &&
r.freeMode.enabled &&
t.freeMode &&
t.freeMode.onTouchMove(),
t.updateProgress(i.currentTranslate),
t.setTranslate(i.currentTranslate));
}
function ls(s) {
const e = this,
t = e.touchEventsData;
let i = s;
i.originalEvent && (i = i.originalEvent);
let r;
if (i.type === "touchend" || i.type === "touchcancel") {
if (
((r = [...i.changedTouches].filter(
(S) => S.identifier === t.touchId,
)[0]),
!r || r.identifier !== t.touchId)
)
return;
} else {
if (t.touchId !== null || i.pointerId !== t.pointerId) return;
r = i;
}
if (
["pointercancel", "pointerout", "pointerleave", "contextmenu"].includes(
i.type,
) &&
!(
["pointercancel", "contextmenu"].includes(i.type) &&
(e.browser.isSafari || e.browser.isWebView)
)
)
return;
((t.pointerId = null), (t.touchId = null));
const {
params: f,
touches: c,
rtlTranslate: n,
slidesGrid: u,
enabled: o,
} = e;
if (!o || (!f.simulateTouch && i.pointerType === "mouse")) return;
if (
(t.allowTouchCallbacks && e.emit("touchEnd", i),
(t.allowTouchCallbacks = !1),
!t.isTouched)
) {
(t.isMoved && f.grabCursor && e.setGrabCursor(!1),
(t.isMoved = !1),
(t.startMoving = !1));
return;
}
f.grabCursor &&
t.isMoved &&
t.isTouched &&
(e.allowSlideNext === !0 || e.allowSlidePrev === !0) &&
e.setGrabCursor(!1);
const l = ee(),
d = l - t.touchStartTime;
if (e.allowClick) {
const S = i.path || (i.composedPath && i.composedPath());
(e.updateClickedSlide((S && S[0]) || i.target, S),
e.emit("tap click", i),
d < 300 &&
l - t.lastClickTime < 300 &&
e.emit("doubleTap doubleClick", i));
}
if (
((t.lastClickTime = ee()),
ae(() => {
e.destroyed || (e.allowClick = !0);
}),
!t.isTouched ||
!t.isMoved ||
!e.swipeDirection ||
(c.diff === 0 && !t.loopSwapReset) ||
(t.currentTranslate === t.startTranslate && !t.loopSwapReset))
) {
((t.isTouched = !1), (t.isMoved = !1), (t.startMoving = !1));
return;
}
((t.isTouched = !1), (t.isMoved = !1), (t.startMoving = !1));
let p;
if (
(f.followFinger
? (p = n ? e.translate : -e.translate)
: (p = -t.currentTranslate),
f.cssMode)
)
return;
if (f.freeMode && f.freeMode.enabled) {
e.freeMode.onTouchEnd({ currentPos: p });
return;
}
const h = p >= -e.maxTranslate() && !e.params.loop;
let g = 0,
w = e.slidesSizesGrid[0];
for (
let S = 0;
S < u.length;
S += S < f.slidesPerGroupSkip ? 1 : f.slidesPerGroup
) {
const A = S < f.slidesPerGroupSkip - 1 ? 1 : f.slidesPerGroup;
typeof u[S + A] != "undefined"
? (h || (p >= u[S] && p < u[S + A])) && ((g = S), (w = u[S + A] - u[S]))
: (h || p >= u[S]) &&
((g = S), (w = u[u.length - 1] - u[u.length - 2]));
}
let y = null,
v = null;
f.rewind &&
(e.isBeginning
? (v =
f.virtual && f.virtual.enabled && e.virtual
? e.virtual.slides.length - 1
: e.slides.length - 1)
: e.isEnd && (y = 0));
const m = (p - u[g]) / w,
b = g < f.slidesPerGroupSkip - 1 ? 1 : f.slidesPerGroup;
if (d > f.longSwipesMs) {
if (!f.longSwipes) {
e.slideTo(e.activeIndex);
return;
}
(e.swipeDirection === "next" &&
(m >= f.longSwipesRatio
? e.slideTo(f.rewind && e.isEnd ? y : g + b)
: e.slideTo(g)),
e.swipeDirection === "prev" &&
(m > 1 - f.longSwipesRatio
? e.slideTo(g + b)
: v !== null && m < 0 && Math.abs(m) > f.longSwipesRatio
? e.slideTo(v)
: e.slideTo(g)));
} else {
if (!f.shortSwipes) {
e.slideTo(e.activeIndex);
return;
}
e.navigation &&
(i.target === e.navigation.nextEl || i.target === e.navigation.prevEl)
? i.target === e.navigation.nextEl
? e.slideTo(g + b)
: e.slideTo(g)
: (e.swipeDirection === "next" && e.slideTo(y !== null ? y : g + b),
e.swipeDirection === "prev" && e.slideTo(v !== null ? v : g));
}
}
function Ze() {
const s = this,
{ params: e, el: t } = s;
if (t && t.offsetWidth === 0) return;
e.breakpoints && s.setBreakpoint();
const { allowSlideNext: i, allowSlidePrev: r, snapGrid: a } = s,
f = s.virtual && s.params.virtual.enabled;
((s.allowSlideNext = !0),
(s.allowSlidePrev = !0),
s.updateSize(),
s.updateSlides(),
s.updateSlidesClasses());
const c = f && e.loop;
((e.slidesPerView === "auto" || e.slidesPerView > 1) &&
s.isEnd &&
!s.isBeginning &&
!s.params.centeredSlides &&
!c
? s.slideTo(s.slides.length - 1, 0, !1, !0)
: s.params.loop && !f
? s.slideToLoop(s.realIndex, 0, !1, !0)
: s.slideTo(s.activeIndex, 0, !1, !0),
s.autoplay &&
s.autoplay.running &&
s.autoplay.paused &&
(clearTimeout(s.autoplay.resizeTimeout),
(s.autoplay.resizeTimeout = setTimeout(() => {
s.autoplay &&
s.autoplay.running &&
s.autoplay.paused &&
s.autoplay.resume();
}, 500))),
(s.allowSlidePrev = r),
(s.allowSlideNext = i),
s.params.watchOverflow && a !== s.snapGrid && s.checkOverflow());
}
function os(s) {
const e = this;
!e.enabled ||
e.allowClick ||
(e.params.preventClicks && s.preventDefault(),
e.params.preventClicksPropagation &&
e.animating &&
(s.stopPropagation(), s.stopImmediatePropagation()));
}
function ds() {
const s = this,
{ wrapperEl: e, rtlTranslate: t, enabled: i } = s;
if (!i) return;
((s.previousTranslate = s.translate),
s.isHorizontal()
? (s.translate = -e.scrollLeft)
: (s.translate = -e.scrollTop),
s.translate === 0 && (s.translate = 0),
s.updateActiveIndex(),
s.updateSlidesClasses());
let r;
const a = s.maxTranslate() - s.minTranslate();
(a === 0 ? (r = 0) : (r = (s.translate - s.minTranslate()) / a),
r !== s.progress && s.updateProgress(t ? -s.translate : s.translate),
s.emit("setTranslate", s.translate, !1));
}
function cs(s) {
const e = this;
(Ee(e, s.target),
!(
e.params.cssMode ||
(e.params.slidesPerView !== "auto" && !e.params.autoHeight)
) && e.update());
}
function fs() {
const s = this;
s.documentTouchHandlerProceeded ||
((s.documentTouchHandlerProceeded = !0),
s.params.touchReleaseOnEdges && (s.el.style.touchAction = "auto"));
}
const Qe = (s, e) => {
const t = q(),
{ params: i, el: r, wrapperEl: a, device: f } = s,
c = !!i.nested,
n = e === "on" ? "addEventListener" : "removeEventListener",
u = e;
!r ||
typeof r == "string" ||
(t[n]("touchstart", s.onDocumentTouchStart, { passive: !1, capture: c }),
r[n]("touchstart", s.onTouchStart, { passive: !1 }),
r[n]("pointerdown", s.onTouchStart, { passive: !1 }),
t[n]("touchmove", s.onTouchMove, { passive: !1, capture: c }),
t[n]("pointermove", s.onTouchMove, { passive: !1, capture: c }),
t[n]("touchend", s.onTouchEnd, { passive: !0 }),
t[n]("pointerup", s.onTouchEnd, { passive: !0 }),
t[n]("pointercancel", s.onTouchEnd, { passive: !0 }),
t[n]("touchcancel", s.onTouchEnd, { passive: !0 }),
t[n]("pointerout", s.onTouchEnd, { passive: !0 }),
t[n]("pointerleave", s.onTouchEnd, { passive: !0 }),
t[n]("contextmenu", s.onTouchEnd, { passive: !0 }),
(i.preventClicks || i.preventClicksPropagation) &&
r[n]("click", s.onClick, !0),
i.cssMode && a[n]("scroll", s.onScroll),
i.updateOnWindowResize
? s[u](
f.ios || f.android
? "resize orientationchange observerUpdate"
: "resize observerUpdate",
Ze,
!0,
)
: s[u]("observerUpdate", Ze, !0),
r[n]("load", s.onLoad, { capture: !0 }));
};
function us() {
const s = this,
{ params: e } = s;
((s.onTouchStart = as.bind(s)),
(s.onTouchMove = ns.bind(s)),
(s.onTouchEnd = ls.bind(s)),
(s.onDocumentTouchStart = fs.bind(s)),
e.cssMode && (s.onScroll = ds.bind(s)),
(s.onClick = os.bind(s)),
(s.onLoad = cs.bind(s)),
Qe(s, "on"));
}
function ps() {
Qe(this, "off");
}
var ms = { attachEvents: us, detachEvents: ps };
const Je = (s, e) => s.grid && e.grid && e.grid.rows > 1;
function hs() {
const s = this,
{ realIndex: e, initialized: t, params: i, el: r } = s,
a = i.breakpoints;
if (!a || (a && Object.keys(a).length === 0)) return;
const f = s.getBreakpoint(a, s.params.breakpointsBase, s.el);
if (!f || s.currentBreakpoint === f) return;
const n = (f in a ? a[f] : void 0) || s.originalParams,
u = Je(s, i),
o = Je(s, n),
l = s.params.grabCursor,
d = n.grabCursor,
p = i.enabled;
(u && !o
? (r.classList.remove(
`${i.containerModifierClass}grid`,
`${i.containerModifierClass}grid-column`,
),
s.emitContainerClasses())
: !u &&
o &&
(r.classList.add(`${i.containerModifierClass}grid`),
((n.grid.fill && n.grid.fill === "column") ||
(!n.grid.fill && i.grid.fill === "column")) &&
r.classList.add(`${i.containerModifierClass}grid-column`),
s.emitContainerClasses()),
l && !d ? s.unsetGrabCursor() : !l && d && s.setGrabCursor(),
["navigation", "pagination", "scrollbar"].forEach((m) => {
if (typeof n[m] == "undefined") return;
const b = i[m] && i[m].enabled,
S = n[m] && n[m].enabled;
(b && !S && s[m].disable(), !b && S && s[m].enable());
}));
const h = n.direction && n.direction !== i.direction,
g = i.loop && (n.slidesPerView !== i.slidesPerView || h),
w = i.loop;
(h && t && s.changeDirection(), Q(s.params, n));
const y = s.params.enabled,
v = s.params.loop;
(Object.assign(s, {
allowTouchMove: s.params.allowTouchMove,
allowSlideNext: s.params.allowSlideNext,
allowSlidePrev: s.params.allowSlidePrev,
}),
p && !y ? s.disable() : !p && y && s.enable(),
(s.currentBreakpoint = f),
s.emit("_beforeBreakpoint", n),
t &&
(g
? (s.loopDestroy(), s.loopCreate(e), s.updateSlides())
: !w && v
? (s.loopCreate(e), s.updateSlides())
: w && !v && s.loopDestroy()),
s.emit("breakpoint", n));
}
function gs(s, e, t) {
if ((e === void 0 && (e = "window"), !s || (e === "container" && !t)))
return;
let i = !1;
const r = X(),
a = e === "window" ? r.innerHeight : t.clientHeight,
f = Object.keys(s).map((c) => {
if (typeof c == "string" && c.indexOf("@") === 0) {
const n = parseFloat(c.substr(1));
return { value: a * n, point: c };
}
return { value: c, point: c };
});
f.sort((c, n) => parseInt(c.value, 10) - parseInt(n.value, 10));
for (let c = 0; c < f.length; c += 1) {
const { point: n, value: u } = f[c];
e === "window"
? r.matchMedia(`(min-width: ${u}px)`).matches && (i = n)
: u <= t.clientWidth && (i = n);
}
return i || "max";
}
var vs = { setBreakpoint: hs, getBreakpoint: gs };
function ws(s, e) {
const t = [];
return (
s.forEach((i) => {
typeof i == "object"
? Object.keys(i).forEach((r) => {
i[r] && t.push(e + r);
})
: typeof i == "string" && t.push(e + i);
}),
t
);
}
function ys() {
const s = this,
{ classNames: e, params: t, rtl: i, el: r, device: a } = s,
f = ws(
[
"initialized",
t.direction,
{ "free-mode": s.params.freeMode && t.freeMode.enabled },
{ autoheight: t.autoHeight },
{ rtl: i },
{ grid: t.grid && t.grid.rows > 1 },
{
"grid-column":
t.grid && t.grid.rows > 1 && t.grid.fill === "column",
},
{ android: a.android },
{ ios: a.ios },
{ "css-mode": t.cssMode },
{ centered: t.cssMode && t.centeredSlides },
{ "watch-progress": t.watchSlidesProgress },
],
t.containerModifierClass,
);
(e.push(...f), r.classList.add(...e), s.emitContainerClasses());
}
function bs() {
const s = this,
{ el: e, classNames: t } = s;
!e ||
typeof e == "string" ||
(e.classList.remove(...t), s.emitContainerClasses());
}
var Ss = { addClasses: ys, removeClasses: bs };
function Es() {
const s = this,
{ isLocked: e, params: t } = s,
{ slidesOffsetBefore: i } = t;
if (i) {
const r = s.slides.length - 1,
a = s.slidesGrid[r] + s.slidesSizesGrid[r] + i * 2;
s.isLocked = s.size > a;
} else s.isLocked = s.snapGrid.length === 1;
(t.allowSlideNext === !0 && (s.allowSlideNext = !s.isLocked),
t.allowSlidePrev === !0 && (s.allowSlidePrev = !s.isLocked),
e && e !== s.isLocked && (s.isEnd = !1),
e !== s.isLocked && s.emit(s.isLocked ? "lock" : "unlock"));
}
var xs = { checkOverflow: Es },
et = {
init: !0,
direction: "horizontal",
oneWayMovement: !1,
swiperElementNodeName: "SWIPER-CONTAINER",
touchEventsTarget: "wrapper",
initialSlide: 0,
speed: 300,
cssMode: !1,
updateOnWindowResize: !0,
resizeObserver: !0,
nested: !1,
createElements: !1,
eventsPrefix: "swiper",
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: 0.5,
longSwipesMs: 300,
followFinger: !0,
allowTouchMove: !0,
threshold: 5,
touchMoveStopPropagation: !1,
touchStartPreventDefault: !0,
touchStartForcePreventDefault: !1,
touchReleaseOnEdges: !1,
uniqueNavElements: !0,
resistance: !0,
resistanceRatio: 0.85,
watchSlidesProgress: !1,
grabCursor: !1,
preventClicks: !0,
preventClicksPropagation: !0,
slideToClickedSlide: !1,
loop: !1,
loopAddBlankSlides: !0,
loopAdditionalSlides: 0,
loopPreventsSliding: !0,
rewind: !1,
allowSlidePrev: !0,
allowSlideNext: !0,
swipeHandler: null,
noSwiping: !0,
noSwipingClass: "swiper-no-swiping",
noSwipingSelector: null,
passiveListeners: !0,
maxBackfaceHiddenSlides: 10,
containerModifierClass: "swiper-",
slideClass: "swiper-slide",
slideBlankClass: "swiper-slide-blank",
slideActiveClass: "swiper-slide-active",
slideVisibleClass: "swiper-slide-visible",
slideFullyVisibleClass: "swiper-slide-fully-visible",
slideNextClass: "swiper-slide-next",
slidePrevClass: "swiper-slide-prev",
wrapperClass: "swiper-wrapper",
lazyPreloaderClass: "swiper-lazy-preloader",
lazyPreloadPrevNext: 0,
runCallbacksOnInit: !0,
_emitClasses: !1,
};
function Ts(s, e) {
return function (i) {
i === void 0 && (i = {});
const r = Object.keys(i)[0],
a = i[r];
if (typeof a != "object" || a === null) {
Q(e, i);
return;
}
if (
(s[r] === !0 && (s[r] = { enabled: !0 }),
r === "navigation" &&
s[r] &&
s[r].enabled &&
!s[r].prevEl &&
!s[r].nextEl &&
(s[r].auto = !0),
["pagination", "scrollbar"].indexOf(r) >= 0 &&
s[r] &&
s[r].enabled &&
!s[r].el &&
(s[r].auto = !0),
!(r in s && "enabled" in a))
) {
Q(e, i);
return;
}
(typeof s[r] == "object" && !("enabled" in s[r]) && (s[r].enabled = !0),
s[r] || (s[r] = { enabled: !1 }),
Q(e, i));
};
}
const Ve = {
eventsEmitter: St,
update: Dt,
translate: Bt,
transition: Rt,
slide: Kt,
loop: es,
grabCursor: is,
events: ms,
breakpoints: vs,
checkOverflow: xs,
classes: Ss,
},
Ge = {};
class K {
constructor() {
let e, t;
for (var i = arguments.length, r = new Array(i), a = 0; a < i; a++)
r[a] = arguments[a];
(r.length === 1 &&
r[0].constructor &&
Object.prototype.toString.call(r[0]).slice(8, -1) === "Object"
? (t = r[0])
: ([e, t] = r),
t || (t = {}),
(t = Q({}, t)),
e && !t.el && (t.el = e));
const f = q();
if (
t.el &&
typeof t.el == "string" &&
f.querySelectorAll(t.el).length > 1
) {
const o = [];
return (
f.querySelectorAll(t.el).forEach((l) => {
const d = Q({}, t, { el: l });
o.push(new K(d));
}),
o
);
}
const c = this;
((c.__swiper__ = !0),
(c.support = We()),
(c.device = _e({ userAgent: t.userAgent })),
(c.browser = wt()),
(c.eventsListeners = {}),
(c.eventsAnyListeners = []),
(c.modules = [...c.__modules__]),
t.modules && Array.isArray(t.modules) && c.modules.push(...t.modules));
const n = {};
c.modules.forEach((o) => {
o({
params: t,
swiper: c,
extendParams: Ts(t, n),
on: c.on.bind(c),
once: c.once.bind(c),
off: c.off.bind(c),
emit: c.emit.bind(c),
});
});
const u = Q({}, et, n);
return (
(c.params = Q({}, u, Ge, t)),
(c.originalParams = Q({}, c.params)),
(c.passedParams = Q({}, t)),
c.params &&
c.params.on &&
Object.keys(c.params.on).forEach((o) => {
c.on(o, c.params.on[o]);
}),
c.params && c.params.onAny && c.onAny(c.params.onAny),
Object.assign(c, {
enabled: c.params.enabled,
el: e,
classNames: [],
slides: [],
slidesGrid: [],
snapGrid: [],
slidesSizesGrid: [],
isHorizontal() {
return c.params.direction === "horizontal";
},
isVertical() {
return c.params.direction === "vertical";
},
activeIndex: 0,
realIndex: 0,
isBeginning: !0,
isEnd: !1,
translate: 0,
previousTranslate: 0,
progress: 0,
velocity: 0,
animating: !1,
cssOverflowAdjustment() {
return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
},
allowSlideNext: c.params.allowSlideNext,
allowSlidePrev: c.params.allowSlidePrev,
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: c.params.focusableElements,
lastClickTime: 0,
clickTimeout: void 0,
velocities: [],
allowMomentumBounce: void 0,
startMoving: void 0,
pointerId: null,
touchId: null,
},
allowClick: !0,
allowTouchMove: c.params.allowTouchMove,
touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 },
imagesToLoad: [],
imagesLoaded: 0,
}),
c.emit("_swiper"),
c.params.init && c.init(),
c
);
}
getDirectionLabel(e) {
return this.isHorizontal()
? e
: {
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",
}[e];
}
getSlideIndex(e) {
const { slidesEl: t, params: i } = this,
r = W(t, `.${i.slideClass}, swiper-slide`),
a = me(r[0]);
return me(e) - a;
}
getSlideIndexByData(e) {
return this.getSlideIndex(
this.slides.filter(
(t) => t.getAttribute("data-swiper-slide-index") * 1 === e,
)[0],
);
}
recalcSlides() {
const e = this,
{ slidesEl: t, params: i } = e;
e.slides = W(t, `.${i.slideClass}, swiper-slide`);
}
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 i = this;
e = Math.min(Math.max(e, 0), 1);
const r = i.minTranslate(),
f = (i.maxTranslate() - r) * e + r;
(i.translateTo(f, typeof t == "undefined" ? 0 : t),
i.updateActiveIndex(),
i.updateSlidesClasses());
}
emitContainerClasses() {
const e = this;
if (!e.params._emitClasses || !e.el) return;
const t = e.el.className
.split(" ")
.filter(
(i) =>
i.indexOf("swiper") === 0 ||
i.indexOf(e.params.containerModifierClass) === 0,
);
e.emit("_containerClasses", t.join(" "));
}
getSlideClasses(e) {
const t = this;
return t.destroyed
? ""
: e.className
.split(" ")
.filter(
(i) =>
i.indexOf("swiper-slide") === 0 ||
i.indexOf(t.params.slideClass) === 0,
)
.join(" ");
}
emitSlidesClasses() {
const e = this;
if (!e.params._emitClasses || !e.el) return;
const t = [];
(e.slides.forEach((i) => {
const r = e.getSlideClasses(i);
(t.push({ slideEl: i, classNames: r }), e.emit("_slideClass", i, r));
}),
e.emit("_slideClasses", t));
}
slidesPerViewDynamic(e, t) {
(e === void 0 && (e = "current"), t === void 0 && (t = !1));
const i = this,
{
params: r,
slides: a,
slidesGrid: f,
slidesSizesGrid: c,
size: n,
activeIndex: u,
} = i;
let o = 1;
if (typeof r.slidesPerView == "number") return r.slidesPerView;
if (r.centeredSlides) {
let l = a[u] ? Math.ceil(a[u].swiperSlideSize) : 0,
d;
for (let p = u + 1; p < a.length; p += 1)
a[p] &&
!d &&
((l += Math.ceil(a[p].swiperSlideSize)),
(o += 1),
l > n && (d = !0));
for (let p = u - 1; p >= 0; p -= 1)
a[p] &&
!d &&
((l += a[p].swiperSlideSize), (o += 1), l > n && (d = !0));
} else if (e === "current")
for (let l = u + 1; l < a.length; l += 1)
(t ? f[l] + c[l] - f[u] < n : f[l] - f[u] < n) && (o += 1);
else for (let l = u - 1; l >= 0; l -= 1) f[u] - f[l] < n && (o += 1);
return o;
}
update() {
const e = this;
if (!e || e.destroyed) return;
const { snapGrid: t, params: i } = e;
(i.breakpoints && e.setBreakpoint(),
[...e.el.querySelectorAll('[loading="lazy"]')].forEach((f) => {
f.complete && Ee(e, f);
}),
e.updateSize(),
e.updateSlides(),
e.updateProgress(),
e.updateSlidesClasses());
function r() {
const f = e.rtlTranslate ? e.translate * -1 : e.translate,
c = Math.min(Math.max(f, e.maxTranslate()), e.minTranslate());
(e.setTranslate(c), e.updateActiveIndex(), e.updateSlidesClasses());
}
let a;
if (i.freeMode && i.freeMode.enabled && !i.cssMode)
(r(), i.autoHeight && e.updateAutoHeight());
else {
if (
(i.slidesPerView === "auto" || i.slidesPerView > 1) &&
e.isEnd &&
!i.centeredSlides
) {
const f =
e.virtual && i.virtual.enabled ? e.virtual.slides : e.slides;
a = e.slideTo(f.length - 1, 0, !1, !0);
} else a = e.slideTo(e.activeIndex, 0, !1, !0);
a || r();
}
(i.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
e.emit("update"));
}
changeDirection(e, t) {
t === void 0 && (t = !0);
const i = this,
r = i.params.direction;
return (
e || (e = r === "horizontal" ? "vertical" : "horizontal"),
e === r ||
(e !== "horizontal" && e !== "vertical") ||
(i.el.classList.remove(`${i.params.containerModifierClass}${r}`),
i.el.classList.add(`${i.params.containerModifierClass}${e}`),
i.emitContainerClasses(),
(i.params.direction = e),
i.slides.forEach((a) => {
e === "vertical" ? (a.style.width = "") : (a.style.height = "");
}),
i.emit("changeDirection"),
t && i.update()),
i
);
}
changeLanguageDirection(e) {
const t = this;
(t.rtl && e === "rtl") ||
(!t.rtl && e === "ltr") ||
((t.rtl = e === "rtl"),
(t.rtlTranslate = t.params.direction === "horizontal" && t.rtl),
t.rtl
? (t.el.classList.add(`${t.params.containerModifierClass}rtl`),
(t.el.dir = "rtl"))
: (t.el.classList.remove(`${t.params.containerModifierClass}rtl`),
(t.el.dir = "ltr")),
t.update());
}
mount(e) {
const t = this;
if (t.mounted) return !0;
let i = e || t.params.el;
if ((typeof i == "string" && (i = document.querySelector(i)), !i))
return !1;
((i.swiper = t),
i.parentNode &&
i.parentNode.host &&
i.parentNode.host.nodeName ===
t.params.swiperElementNodeName.toUpperCase() &&
(t.isElement = !0));
const r = () =>
`.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
let f = (() =>
i && i.shadowRoot && i.shadowRoot.querySelector
? i.shadowRoot.querySelector(r())
: W(i, r())[0])();
return (
!f &&
t.params.createElements &&
((f = J("div", t.params.wrapperClass)),
i.append(f),
W(i, `.${t.params.slideClass}`).forEach((c) => {
f.append(c);
})),
Object.assign(t, {
el: i,
wrapperEl: f,
slidesEl:
t.isElement && !i.parentNode.host.slideSlots
? i.parentNode.host
: f,
hostEl: t.isElement ? i.parentNode.host : i,
mounted: !0,
rtl: i.dir.toLowerCase() === "rtl" || re(i, "direction") === "rtl",
rtlTranslate:
t.params.direction === "horizontal" &&
(i.dir.toLowerCase() === "rtl" || re(i, "direction") === "rtl"),
wrongRTL: re(f, "display") === "-webkit-box",
}),
!0
);
}
init(e) {
const t = this;
if (t.initialized || t.mount(e) === !1) return t;
(t.emit("beforeInit"),
t.params.breakpoints && t.setBreakpoint(),
t.addClasses(),
t.updateSize(),
t.updateSlides(),
t.params.watchOverflow && t.checkOverflow(),
t.params.grabCursor && t.enabled && t.setGrabCursor(),
t.params.loop && t.virtual && t.params.virtual.enabled
? t.slideTo(
t.params.initialSlide + t.virtual.slidesBefore,
0,
t.params.runCallbacksOnInit,
!1,
!0,
)
: t.slideTo(
t.params.initialSlide,
0,
t.params.runCallbacksOnInit,
!1,
!0,
),
t.params.loop && t.loopCreate(),
t.attachEvents());
const r = [...t.el.querySelectorAll('[loading="lazy"]')];
return (
t.isElement && r.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),
r.forEach((a) => {
a.complete
? Ee(t, a)
: a.addEventListener("load", (f) => {
Ee(t, f.target);
});
}),
ke(t),
(t.initialized = !0),
ke(t),
t.emit("init"),
t.emit("afterInit"),
t
);
}
destroy(e, t) {
(e === void 0 && (e = !0), t === void 0 && (t = !0));
const i = this,
{ params: r, el: a, wrapperEl: f, slides: c } = i;
return (
typeof i.params == "undefined" ||
i.destroyed ||
(i.emit("beforeDestroy"),
(i.initialized = !1),
i.detachEvents(),
r.loop && i.loopDestroy(),
t &&
(i.removeClasses(),
a && typeof a != "string" && a.removeAttribute("style"),
f && f.removeAttribute("style"),
c &&
c.length &&
c.forEach((n) => {
(n.classList.remove(
r.slideVisibleClass,
r.slideFullyVisibleClass,
r.slideActiveClass,
r.slideNextClass,
r.slidePrevClass,
),
n.removeAttribute("style"),
n.removeAttribute("data-swiper-slide-index"));
})),
i.emit("destroy"),
Object.keys(i.eventsListeners).forEach((n) => {
i.off(n);
}),
e !== !1 &&
(i.el && typeof i.el != "string" && (i.el.swiper = null), dt(i)),
(i.destroyed = !0)),
null
);
}
static extendDefaults(e) {
Q(Ge, e);
}
static get extendedDefaults() {
return Ge;
}
static get defaults() {
return et;
}
static installModule(e) {
K.prototype.__modules__ || (K.prototype.__modules__ = []);
const t = K.prototype.__modules__;
typeof e == "function" && t.indexOf(e) < 0 && t.push(e);
}
static use(e) {
return Array.isArray(e)
? (e.forEach((t) => K.installModule(t)), K)
: (K.installModule(e), K);
}
}
(Object.keys(Ve).forEach((s) => {
Object.keys(Ve[s]).forEach((e) => {
K.prototype[e] = Ve[s][e];
});
}),
K.use([yt, bt]));
function Ms(s) {
let { swiper: e, extendParams: t, on: i, emit: r } = s;
t({
virtual: {
enabled: !1,
slides: [],
cache: !0,
renderSlide: null,
renderExternal: null,
renderExternalUpdate: !0,
addSlidesBefore: 0,
addSlidesAfter: 0,
},
});
let a;
const f = q();
e.virtual = {
cache: {},
from: void 0,
to: void 0,
slides: [],
offset: 0,
slidesGrid: [],
};
const c = f.createElement("div");
function n(h, g) {
const w = e.params.virtual;
if (w.cache && e.virtual.cache[g]) return e.virtual.cache[g];
let y;
return (
w.renderSlide
? ((y = w.renderSlide.call(e, h, g)),
typeof y == "string" && ((c.innerHTML = y), (y = c.children[0])))
: e.isElement
? (y = J("swiper-slide"))
: (y = J("div", e.params.slideClass)),
y.setAttribute("data-swiper-slide-index", g),
w.renderSlide || (y.innerHTML = h),
w.cache && (e.virtual.cache[g] = y),
y
);
}
function u(h, g) {
const {
slidesPerView: w,
slidesPerGroup: y,
centeredSlides: v,
loop: m,
initialSlide: b,
} = e.params;
if (g && !m && b > 0) return;
const { addSlidesBefore: S, addSlidesAfter: A } = e.params.virtual,
{ from: O, to: z, slides: T, slidesGrid: P, offset: I } = e.virtual;
e.params.cssMode || e.updateActiveIndex();
const C = e.activeIndex || 0;
let E;
e.rtlTranslate ? (E = "right") : (E = e.isHorizontal() ? "left" : "top");
let x, D;
v
? ((x = Math.floor(w / 2) + y + A), (D = Math.floor(w / 2) + y + S))
: ((x = w + (y - 1) + A), (D = (m ? w : y) + S));
let G = C - D,
M = C + x;
m || ((G = Math.max(G, 0)), (M = Math.min(M, T.length - 1)));
let L = (e.slidesGrid[G] || 0) - (e.slidesGrid[0] || 0);
(m && C >= D
? ((G -= D), v || (L += e.slidesGrid[0]))
: m && C < D && ((G = -D), v && (L += e.slidesGrid[0])),
Object.assign(e.virtual, {
from: G,
to: M,
offset: L,
slidesGrid: e.slidesGrid,
slidesBefore: D,
slidesAfter: x,
}));
function V() {
(e.updateSlides(),
e.updateProgress(),
e.updateSlidesClasses(),
r("virtualUpdate"));
}
if (O === G && z === M && !h) {
(e.slidesGrid !== P &&
L !== I &&
e.slides.forEach((H) => {
H.style[E] = `${L - Math.abs(e.cssOverflowAdjustment())}px`;
}),
e.updateProgress(),
r("virtualUpdate"));
return;
}
if (e.params.virtual.renderExternal) {
(e.params.virtual.renderExternal.call(e, {
offset: L,
from: G,
to: M,
slides: (function () {
const R = [];
for (let U = G; U <= M; U += 1) R.push(T[U]);
return R;
})(),
}),
e.params.virtual.renderExternalUpdate ? V() : r("virtualUpdate"));
return;
}
const F = [],
$ = [],
k = (H) => {
let R = H;
return (
H < 0 ? (R = T.length + H) : R >= T.length && (R = R - T.length),
R
);
};
if (h)
e.slides
.filter((H) => H.matches(`.${e.params.slideClass}, swiper-slide`))
.forEach((H) => {
H.remove();
});
else
for (let H = O; H <= z; H += 1)
if (H < G || H > M) {
const R = k(H);
e.slides
.filter((U) =>
U.matches(
`.${e.params.slideClass}[data-swiper-slide-index="${R}"], swiper-slide[data-swiper-slide-index="${R}"]`,
),
)
.forEach((U) => {
U.remove();
});
}
const B = m ? -T.length : 0,
Y = m ? T.length * 2 : T.length;
for (let H = B; H < Y; H += 1)
if (H >= G && H <= M) {
const R = k(H);
typeof z == "undefined" || h
? $.push(R)
: (H > z && $.push(R), H < O && F.push(R));
}
if (
($.forEach((H) => {
e.slidesEl.append(n(T[H], H));
}),
m)
)
for (let H = F.length - 1; H >= 0; H -= 1) {
const R = F[H];
e.slidesEl.prepend(n(T[R], R));
}
else
(F.sort((H, R) => R - H),
F.forEach((H) => {
e.slidesEl.prepend(n(T[H], H));
}));
(W(e.slidesEl, ".swiper-slide, swiper-slide").forEach((H) => {
H.style[E] = `${L - Math.abs(e.cssOverflowAdjustment())}px`;
}),
V());
}
function o(h) {
if (typeof h == "object" && "length" in h)
for (let g = 0; g < h.length; g += 1)
h[g] && e.virtual.slides.push(h[g]);
else e.virtual.slides.push(h);
u(!0);
}
function l(h) {
const g = e.activeIndex;
let w = g + 1,
y = 1;
if (Array.isArray(h)) {
for (let v = 0; v < h.length; v += 1)
h[v] && e.virtual.slides.unshift(h[v]);
((w = g + h.length), (y = h.length));
} else e.virtual.slides.unshift(h);
if (e.params.virtual.cache) {
const v = e.virtual.cache,
m = {};
(Object.keys(v).forEach((b) => {
const S = v[b],
A = S.getAttribute("data-swiper-slide-index");
(A && S.setAttribute("data-swiper-slide-index", parseInt(A, 10) + y),
(m[parseInt(b, 10) + y] = S));
}),
(e.virtual.cache = m));
}
(u(!0), e.slideTo(w, 0));
}
function d(h) {
if (typeof h == "undefined" || h === null) return;
let g = e.activeIndex;
if (Array.isArray(h))
for (let w = h.length - 1; w >= 0; w -= 1)
(e.params.virtual.cache &&
(delete e.virtual.cache[h[w]],
Object.keys(e.virtual.cache).forEach((y) => {
y > h &&
((e.virtual.cache[y - 1] = e.virtual.cache[y]),
e.virtual.cache[y - 1].setAttribute(
"data-swiper-slide-index",
y - 1,
),
delete e.virtual.cache[y]);
})),
e.virtual.slides.splice(h[w], 1),
h[w] < g && (g -= 1),
(g = Math.max(g, 0)));
else
(e.params.virtual.cache &&
(delete e.virtual.cache[h],
Object.keys(e.virtual.cache).forEach((w) => {
w > h &&
((e.virtual.cache[w - 1] = e.virtual.cache[w]),
e.virtual.cache[w - 1].setAttribute(
"data-swiper-slide-index",
w - 1,
),
delete e.virtual.cache[w]);
})),
e.virtual.slides.splice(h, 1),
h < g && (g -= 1),
(g = Math.max(g, 0)));
(u(!0), e.slideTo(g, 0));
}
function p() {
((e.virtual.slides = []),
e.params.virtual.cache && (e.virtual.cache = {}),
u(!0),
e.slideTo(0, 0));
}
(i("beforeInit", () => {
if (!e.params.virtual.enabled) return;
let h;
if (typeof e.passedParams.virtual.slides == "undefined") {
const g = [...e.slidesEl.children].filter((w) =>
w.matches(`.${e.params.slideClass}, swiper-slide`),
);
g &&
g.length &&
((e.virtual.slides = [...g]),
(h = !0),
g.forEach((w, y) => {
(w.setAttribute("data-swiper-slide-index", y),
(e.virtual.cache[y] = w),
w.remove());
}));
}
(h || (e.virtual.slides = e.params.virtual.slides),
e.classNames.push(`${e.params.containerModifierClass}virtual`),
(e.params.watchSlidesProgress = !0),
(e.originalParams.watchSlidesProgress = !0),
u(!1, !0));
}),
i("setTranslate", () => {
!e.params.virtual.enabled ||
(e.params.cssMode && !e._immediateVirtual
? (clearTimeout(a),
(a = setTimeout(() => {
u();
}, 100)))
: u());
}),
i("init update resize", () => {
!e.params.virtual.enabled ||
(e.params.cssMode &&
pe(e.wrapperEl, "--swiper-virtual-size", `${e.virtualSize}px`));
}),
Object.assign(e.virtual, {
appendSlide: o,
prependSlide: l,
removeSlide: d,
removeAllSlides: p,
update: u,
}));
}
function Cs(s) {
let { swiper: e, extendParams: t, on: i, emit: r } = s;
const a = q(),
f = X();
((e.keyboard = { enabled: !1 }),
t({ keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } }));
function c(o) {
if (!e.enabled) return;
const { rtlTranslate: l } = e;
let d = o;
d.originalEvent && (d = d.originalEvent);
const p = d.keyCode || d.charCode,
h = e.params.keyboard.pageUpDown,
g = h && p === 33,
w = h && p === 34,
y = p === 37,
v = p === 39,
m = p === 38,
b = p === 40;
if (
(!e.allowSlideNext &&
((e.isHorizontal() && v) || (e.isVertical() && b) || w)) ||
(!e.allowSlidePrev &&
((e.isHorizontal() && y) || (e.isVertical() && m) || g))
)
return !1;
if (
!(d.shiftKey || d.altKey || d.ctrlKey || d.metaKey) &&
!(
a.activeElement &&
a.activeElement.nodeName &&
(a.activeElement.nodeName.toLowerCase() === "input" ||
a.activeElement.nodeName.toLowerCase() === "textarea")
)
) {
if (e.params.keyboard.onlyInViewport && (g || w || y || v || m || b)) {
let S = !1;
if (
le(e.el, `.${e.params.slideClass}, swiper-slide`).length > 0 &&
le(e.el, `.${e.params.slideActiveClass}`).length === 0
)
return;
const A = e.el,
O = A.clientWidth,
z = A.clientHeight,
T = f.innerWidth,
P = f.innerHeight,
I = be(A);
l && (I.left -= A.scrollLeft);
const C = [
[I.left, I.top],
[I.left + O, I.top],
[I.left, I.top + z],
[I.left + O, I.top + z],
];
for (let E = 0; E < C.length; E += 1) {
const x = C[E];
if (x[0] >= 0 && x[0] <= T && x[1] >= 0 && x[1] <= P) {
if (x[0] === 0 && x[1] === 0) continue;
S = !0;
}
}
if (!S) return;
}
(e.isHorizontal()
? ((g || w || y || v) &&
(d.preventDefault ? d.preventDefault() : (d.returnValue = !1)),
(((w || v) && !l) || ((g || y) && l)) && e.slideNext(),
(((g || y) && !l) || ((w || v) && l)) && e.slidePrev())
: ((g || w || m || b) &&
(d.preventDefault ? d.preventDefault() : (d.returnValue = !1)),
(w || b) && e.slideNext(),
(g || m) && e.slidePrev()),
r("keyPress", p));
}
}
function n() {
e.keyboard.enabled ||
(a.addEventListener("keydown", c), (e.keyboard.enabled = !0));
}
function u() {
!e.keyboard.enabled ||
(a.removeEventListener("keydown", c), (e.keyboard.enabled = !1));
}
(i("init", () => {
e.params.keyboard.enabled && n();
}),
i("destroy", () => {
e.keyboard.enabled && u();
}),
Object.assign(e.keyboard, { enable: n, disable: u }));
}
function Ps(s) {
let { swiper: e, extendParams: t, on: i, emit: r } = s;
const a = X();
(t({
mousewheel: {
enabled: !1,
releaseOnEdges: !1,
invert: !1,
forceToAxis: !1,
sensitivity: 1,
eventsTarget: "container",
thresholdDelta: null,
thresholdTime: null,
noMousewheelClass: "swiper-no-mousewheel",
},
}),
(e.mousewheel = { enabled: !1 }));
let f,
c = ee(),
n;
const u = [];
function o(m) {
const b = 10,
S = 40,
A = 800;
let O = 0,
z = 0,
T = 0,
P = 0;
return (
"detail" in m && (z = m.detail),
"wheelDelta" in m && (z = -m.wheelDelta / 120),
"wheelDeltaY" in m && (z = -m.wheelDeltaY / 120),
"wheelDeltaX" in m && (O = -m.wheelDeltaX / 120),
"axis" in m && m.axis === m.HORIZONTAL_AXIS && ((O = z), (z = 0)),
(T = O * b),
(P = z * b),
"deltaY" in m && (P = m.deltaY),
"deltaX" in m && (T = m.deltaX),
m.shiftKey && !T && ((T = P), (P = 0)),
(T || P) &&
m.deltaMode &&
(m.deltaMode === 1 ? ((T *= S), (P *= S)) : ((T *= A), (P *= A))),
T && !O && (O = T < 1 ? -1 : 1),
P && !z && (z = P < 1 ? -1 : 1),
{ spinX: O, spinY: z, pixelX: T, pixelY: P }
);
}
function l() {
!e.enabled || (e.mouseEntered = !0);
}
function d() {
!e.enabled || (e.mouseEntered = !1);
}
function p(m) {
return (e.params.mousewheel.thresholdDelta &&
m.delta < e.params.mousewheel.thresholdDelta) ||
(e.params.mousewheel.thresholdTime &&
ee() - c < e.params.mousewheel.thresholdTime)
? !1
: m.delta >= 6 && ee() - c < 60
? !0
: (m.direction < 0
? (!e.isEnd || e.params.loop) &&
!e.animating &&
(e.slideNext(), r("scroll", m.raw))
: (!e.isBeginning || e.params.loop) &&
!e.animating &&
(e.slidePrev(), r("scroll", m.raw)),
(c = new a.Date().getTime()),
!1);
}
function h(m) {
const b = e.params.mousewheel;
if (m.direction < 0) {
if (e.isEnd && !e.params.loop && b.releaseOnEdges) return !0;
} else if (e.isBeginning && !e.params.loop && b.releaseOnEdges) return !0;
return !1;
}
function g(m) {
let b = m,
S = !0;
if (
!e.enabled ||
m.target.closest(`.${e.params.mousewheel.noMousewheelClass}`)
)
return;
const A = e.params.mousewheel;
e.params.cssMode && b.preventDefault();
let O = e.el;
e.params.mousewheel.eventsTarget !== "container" &&
(O = document.querySelector(e.params.mousewheel.eventsTarget));
const z = O && O.contains(b.target);
if (!e.mouseEntered && !z && !A.releaseOnEdges) return !0;
b.originalEvent && (b = b.originalEvent);
let T = 0;
const P = e.rtlTranslate ? -1 : 1,
I = o(b);
if (A.forceToAxis)
if (e.isHorizontal())
if (Math.abs(I.pixelX) > Math.abs(I.pixelY)) T = -I.pixelX * P;
else return !0;
else if (Math.abs(I.pixelY) > Math.abs(I.pixelX)) T = -I.pixelY;
else return !0;
else
T = Math.abs(I.pixelX) > Math.abs(I.pixelY) ? -I.pixelX * P : -I.pixelY;
if (T === 0) return !0;
A.invert && (T = -T);
let C = e.getTranslate() + T * A.sensitivity;
if (
(C >= e.minTranslate() && (C = e.minTranslate()),
C <= e.maxTranslate() && (C = e.maxTranslate()),
(S = e.params.loop
? !0
: !(C === e.minTranslate() || C === e.maxTranslate())),
S && e.params.nested && b.stopPropagation(),
!e.params.freeMode || !e.params.freeMode.enabled)
) {
const E = {
time: ee(),
delta: Math.abs(T),
direction: Math.sign(T),
raw: m,
};
u.length >= 2 && u.shift();
const x = u.length ? u[u.length - 1] : void 0;
if (
(u.push(E),
x
? (E.direction !== x.direction ||
E.delta > x.delta ||
E.time > x.time + 150) &&
p(E)
: p(E),
h(E))
)
return !0;
} else {
const E = { time: ee(), delta: Math.abs(T), direction: Math.sign(T) },
x =
n &&
E.time < n.time + 500 &&
E.delta <= n.delta &&
E.direction === n.direction;
if (!x) {
n = void 0;
let D = e.getTranslate() + T * A.sensitivity;
const G = e.isBeginning,
M = e.isEnd;
if (
(D >= e.minTranslate() && (D = e.minTranslate()),
D <= e.maxTranslate() && (D = e.maxTranslate()),
e.setTransition(0),
e.setTranslate(D),
e.updateProgress(),
e.updateActiveIndex(),
e.updateSlidesClasses(),
((!G && e.isBeginning) || (!M && e.isEnd)) &&
e.updateSlidesClasses(),
e.params.loop &&
e.loopFix({
direction: E.direction < 0 ? "next" : "prev",
byMousewheel: !0,
}),
e.params.freeMode.sticky)
) {
(clearTimeout(f), (f = void 0), u.length >= 15 && u.shift());
const L = u.length ? u[u.length - 1] : void 0,
V = u[0];
if (
(u.push(E),
L && (E.delta > L.delta || E.direction !== L.direction))
)
u.splice(0);
else if (
u.length >= 15 &&
E.time - V.time < 500 &&
V.delta - E.delta >= 1 &&
E.delta <= 6
) {
const F = T > 0 ? 0.8 : 0.2;
((n = E),
u.splice(0),
(f = ae(() => {
e.destroyed ||
!e.params ||
e.slideToClosest(e.params.speed, !0, void 0, F);
}, 0)));
}
f ||
(f = ae(() => {
if (e.destroyed || !e.params) return;
const F = 0.5;
((n = E),
u.splice(0),
e.slideToClosest(e.params.speed, !0, void 0, F));
}, 500));
}
if (
(x || r("scroll", b),
e.params.autoplay &&
e.params.autoplayDisableOnInteraction &&
e.autoplay.stop(),
A.releaseOnEdges &&
(D === e.minTranslate() || D === e.maxTranslate()))
)
return !0;
}
}
return (b.preventDefault ? b.preventDefault() : (b.returnValue = !1), !1);
}
function w(m) {
let b = e.el;
(e.params.mousewheel.eventsTarget !== "container" &&
(b = document.querySelector(e.params.mousewheel.eventsTarget)),
b[m]("mouseenter", l),
b[m]("mouseleave", d),
b[m]("wheel", g));
}
function y() {
return e.params.cssMode
? (e.wrapperEl.removeEventListener("wheel", g), !0)
: e.mousewheel.enabled
? !1
: (w("addEventListener"), (e.mousewheel.enabled = !0), !0);
}
function v() {
return e.params.cssMode
? (e.wrapperEl.addEventListener(event, g), !0)
: e.mousewheel.enabled
? (w("removeEventListener"), (e.mousewheel.enabled = !1), !0)
: !1;
}
(i("init", () => {
(!e.params.mousewheel.enabled && e.params.cssMode && v(),
e.params.mousewheel.enabled && y());
}),
i("destroy", () => {
(e.params.cssMode && y(), e.mousewheel.enabled && v());
}),
Object.assign(e.mousewheel, { enable: y, disable: v }));
}
function Be(s, e, t, i) {
return (
s.params.createElements &&
Object.keys(i).forEach((r) => {
if (!t[r] && t.auto === !0) {
let a = W(s.el, `.${i[r]}`)[0];
(a || ((a = J("div", i[r])), (a.className = i[r]), s.el.append(a)),
(t[r] = a),
(e[r] = a));
}
}),
t
);
}
function Ls(s) {
let { swiper: e, extendParams: t, on: i, emit: r } = s;
(t({
navigation: {
nextEl: null,
prevEl: null,
hideOnClick: !1,
disabledClass: "swiper-button-disabled",
hiddenClass: "swiper-button-hidden",
lockClass: "swiper-button-lock",
navigationDisabledClass: "swiper-navigation-disabled",
},
}),
(e.navigation = { nextEl: null, prevEl: null }));
function a(h) {
let g;
return h &&
typeof h == "string" &&
e.isElement &&
((g = e.el.querySelector(h)), g)
? g
: (h &&
(typeof h == "string" && (g = [...document.querySelectorAll(h)]),
e.params.uniqueNavElements &&
typeof h == "string" &&
g &&
g.length > 1 &&
e.el.querySelectorAll(h).length === 1
? (g = e.el.querySelector(h))
: g && g.length === 1 && (g = g[0])),
h && !g ? h : g);
}
function f(h, g) {
const w = e.params.navigation;
((h = N(h)),
h.forEach((y) => {
y &&
(y.classList[g ? "add" : "remove"](...w.disabledClass.split(" ")),
y.tagName === "BUTTON" && (y.disabled = g),
e.params.watchOverflow &&
e.enabled &&
y.classList[e.isLocked ? "add" : "remove"](w.lockClass));
}));
}
function c() {
const { nextEl: h, prevEl: g } = e.navigation;
if (e.params.loop) {
(f(g, !1), f(h, !1));
return;
}
(f(g, e.isBeginning && !e.params.rewind),
f(h, e.isEnd && !e.params.rewind));
}
function n(h) {
(h.preventDefault(),
!(e.isBeginning && !e.params.loop && !e.params.rewind) &&
(e.slidePrev(), r("navigationPrev")));
}
function u(h) {
(h.preventDefault(),
!(e.isEnd && !e.params.loop && !e.params.rewind) &&
(e.slideNext(), r("navigationNext")));
}
function o() {
const h = e.params.navigation;
if (
((e.params.navigation = Be(
e,
e.originalParams.navigation,
e.params.navigation,
{ nextEl: "swiper-button-next", prevEl: "swiper-button-prev" },
)),
!(h.nextEl || h.prevEl))
)
return;
let g = a(h.nextEl),
w = a(h.prevEl);
(Object.assign(e.navigation, { nextEl: g, prevEl: w }),
(g = N(g)),
(w = N(w)));
const y = (v, m) => {
(v && v.addEventListener("click", m === "next" ? u : n),
!e.enabled && v && v.classList.add(...h.lockClass.split(" ")));
};
(g.forEach((v) => y(v, "next")), w.forEach((v) => y(v, "prev")));
}
function l() {
let { nextEl: h, prevEl: g } = e.navigation;
((h = N(h)), (g = N(g)));
const w = (y, v) => {
(y.removeEventListener("click", v === "next" ? u : n),
y.classList.remove(...e.params.navigation.disabledClass.split(" ")));
};
(h.forEach((y) => w(y, "next")), g.forEach((y) => w(y, "prev")));
}
(i("init", () => {
e.params.navigation.enabled === !1 ? p() : (o(), c());
}),
i("toEdge fromEdge lock unlock", () => {
c();
}),
i("destroy", () => {
l();
}),
i("enable disable", () => {
let { nextEl: h, prevEl: g } = e.navigation;
if (((h = N(h)), (g = N(g)), e.enabled)) {
c();
return;
}
[...h, ...g]
.filter((w) => !!w)
.forEach((w) => w.classList.add(e.params.navigation.lockClass));
}),
i("click", (h, g) => {
let { nextEl: w, prevEl: y } = e.navigation;
((w = N(w)), (y = N(y)));
const v = g.target;
let m = y.includes(v) || w.includes(v);
if (e.isElement && !m) {
const b = g.path || (g.composedPath && g.composedPath());
b && (m = b.find((S) => w.includes(S) || y.includes(S)));
}
if (e.params.navigation.hideOnClick && !m) {
if (
e.pagination &&
e.params.pagination &&
e.params.pagination.clickable &&
(e.pagination.el === v || e.pagination.el.contains(v))
)
return;
let b;
(w.length
? (b = w[0].classList.contains(e.params.navigation.hiddenClass))
: y.length &&
(b = y[0].classList.contains(e.params.navigation.hiddenClass)),
r(b === !0 ? "navigationShow" : "navigationHide"),
[...w, ...y]
.filter((S) => !!S)
.forEach((S) =>
S.classList.toggle(e.params.navigation.hiddenClass),
));
}
}));
const d = () => {
(e.el.classList.remove(
...e.params.navigation.navigationDisabledClass.split(" "),
),
o(),
c());
},
p = () => {
(e.el.classList.add(
...e.params.navigation.navigationDisabledClass.split(" "),
),
l());
};
Object.assign(e.navigation, {
enable: d,
disable: p,
update: c,
init: o,
destroy: l,
});
}
function te(s) {
return (
s === void 0 && (s = ""),
`.${s
.trim()
.replace(/([\.:!+\/])/g, "\\$1")
.replace(/ /g, ".")}`
);
}
function Is(s) {
let { swiper: e, extendParams: t, on: i, emit: r } = s;
const a = "swiper-pagination";
(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: (v) => v,
formatFractionTotal: (v) => v,
bulletClass: `${a}-bullet`,
bulletActiveClass: `${a}-bullet-active`,
modifierClass: `${a}-`,
currentClass: `${a}-current`,
totalClass: `${a}-total`,
hiddenClass: `${a}-hidden`,
progressbarFillClass: `${a}-progressbar-fill`,
progressbarOppositeClass: `${a}-progressbar-opposite`,
clickableClass: `${a}-clickable`,
lockClass: `${a}-lock`,
horizontalClass: `${a}-horizontal`,
verticalClass: `${a}-vertical`,
paginationDisabledClass: `${a}-disabled`,
},
}),
(e.pagination = { el: null, bullets: [] }));
let f,
c = 0;
function n() {
return (
!e.params.pagination.el ||
!e.pagination.el ||
(Array.isArray(e.pagination.el) && e.pagination.el.length === 0)
);
}
function u(v, m) {
const { bulletActiveClass: b } = e.params.pagination;
!v ||
((v = v[`${m === "prev" ? "previous" : "next"}ElementSibling`]),
v &&
(v.classList.add(`${b}-${m}`),
(v = v[`${m === "prev" ? "previous" : "next"}ElementSibling`]),
v && v.classList.add(`${b}-${m}-${m}`)));
}
function o(v, m, b) {
if (((v = v % b), (m = m % b), m === v + 1)) return "next";
if (m === v - 1) return "previous";
}
function l(v) {
const m = v.target.closest(te(e.params.pagination.bulletClass));
if (!m) return;
v.preventDefault();
const b = me(m) * e.params.slidesPerGroup;
if (e.params.loop) {
if (e.realIndex === b) return;
const S = o(e.realIndex, b, e.slides.length);
S === "next"
? e.slideNext()
: S === "previous"
? e.slidePrev()
: e.slideToLoop(b);
} else e.slideTo(b);
}
function d() {
const v = e.rtl,
m = e.params.pagination;
if (n()) return;
let b = e.pagination.el;
b = N(b);
let S, A;
const O =
e.virtual && e.params.virtual.enabled
? e.virtual.slides.length
: e.slides.length,
z = e.params.loop
? Math.ceil(O / e.params.slidesPerGroup)
: e.snapGrid.length;
if (
(e.params.loop
? ((A = e.previousRealIndex || 0),
(S =
e.params.slidesPerGroup > 1
? Math.floor(e.realIndex / e.params.slidesPerGroup)
: e.realIndex))
: typeof e.snapIndex != "undefined"
? ((S = e.snapIndex), (A = e.previousSnapIndex))
: ((A = e.previousIndex || 0), (S = e.activeIndex || 0)),
m.type === "bullets" &&
e.pagination.bullets &&
e.pagination.bullets.length > 0)
) {
const T = e.pagination.bullets;
let P, I, C;
if (
(m.dynamicBullets &&
((f = Ie(T[0], e.isHorizontal() ? "width" : "height", !0)),
b.forEach((E) => {
E.style[e.isHorizontal() ? "width" : "height"] = `${
f * (m.dynamicMainBullets + 4)
}px`;
}),
m.dynamicMainBullets > 1 &&
A !== void 0 &&
((c += S - (A || 0)),
c > m.dynamicMainBullets - 1
? (c = m.dynamicMainBullets - 1)
: c < 0 && (c = 0)),
(P = Math.max(S - c, 0)),
(I = P + (Math.min(T.length, m.dynamicMainBullets) - 1)),
(C = (I + P) / 2)),
T.forEach((E) => {
const x = [
...[
"",
"-next",
"-next-next",
"-prev",
"-prev-prev",
"-main",
].map((D) => `${m.bulletActiveClass}${D}`),
]
.map((D) =>
typeof D == "string" && D.includes(" ") ? D.split(" ") : D,
)
.flat();
E.classList.remove(...x);
}),
b.length > 1)
)
T.forEach((E) => {
const x = me(E);
(x === S
? E.classList.add(...m.bulletActiveClass.split(" "))
: e.isElement && E.setAttribute("part", "bullet"),
m.dynamicBullets &&
(x >= P &&
x <= I &&
E.classList.add(...`${m.bulletActiveClass}-main`.split(" ")),
x === P && u(E, "prev"),
x === I && u(E, "next")));
});
else {
const E = T[S];
if (
(E && E.classList.add(...m.bulletActiveClass.split(" ")),
e.isElement &&
T.forEach((x, D) => {
x.setAttribute("part", D === S ? "bullet-active" : "bullet");
}),
m.dynamicBullets)
) {
const x = T[P],
D = T[I];
for (let G = P; G <= I; G += 1)
T[G] &&
T[G].classList.add(...`${m.bulletActiveClass}-main`.split(" "));
(u(x, "prev"), u(D, "next"));
}
}
if (m.dynamicBullets) {
const E = Math.min(T.length, m.dynamicMainBullets + 4),
x = (f * E - f) / 2 - C * f,
D = v ? "right" : "left";
T.forEach((G) => {
G.style[e.isHorizontal() ? D : "top"] = `${x}px`;
});
}
}
b.forEach((T, P) => {
if (
(m.type === "fraction" &&
(T.querySelectorAll(te(m.currentClass)).forEach((I) => {
I.textContent = m.formatFractionCurrent(S + 1);
}),
T.querySelectorAll(te(m.totalClass)).forEach((I) => {
I.textContent = m.formatFractionTotal(z);
})),
m.type === "progressbar")
) {
let I;
m.progressbarOpposite
? (I = e.isHorizontal() ? "vertical" : "horizontal")
: (I = e.isHorizontal() ? "horizontal" : "vertical");
const C = (S + 1) / z;
let E = 1,
x = 1;
(I === "horizontal" ? (E = C) : (x = C),
T.querySelectorAll(te(m.progressbarFillClass)).forEach((D) => {
((D.style.transform = `translate3d(0,0,0) scaleX(${E}) scaleY(${x})`),
(D.style.transitionDuration = `${e.params.speed}ms`));
}));
}
(m.type === "custom" && m.renderCustom
? ((T.innerHTML = m.renderCustom(e, S + 1, z)),
P === 0 && r("paginationRender", T))
: (P === 0 && r("paginationRender", T), r("paginationUpdate", T)),
e.params.watchOverflow &&
e.enabled &&
T.classList[e.isLocked ? "add" : "remove"](m.lockClass));
});
}
function p() {
const v = e.params.pagination;
if (n()) return;
const m =
e.virtual && e.params.virtual.enabled
? e.virtual.slides.length
: e.grid && e.params.grid.rows > 1
? e.slides.length / Math.ceil(e.params.grid.rows)
: e.slides.length;
let b = e.pagination.el;
b = N(b);
let S = "";
if (v.type === "bullets") {
let A = e.params.loop
? Math.ceil(m / e.params.slidesPerGroup)
: e.snapGrid.length;
e.params.freeMode && e.params.freeMode.enabled && A > m && (A = m);
for (let O = 0; O < A; O += 1)
v.renderBullet
? (S += v.renderBullet.call(e, O, v.bulletClass))
: (S += `<${v.bulletElement} ${
e.isElement ? 'part="bullet"' : ""
} class="${v.bulletClass}">${v.bulletElement}>`);
}
(v.type === "fraction" &&
(v.renderFraction
? (S = v.renderFraction.call(e, v.currentClass, v.totalClass))
: (S = ` / `)),
v.type === "progressbar" &&
(v.renderProgressbar
? (S = v.renderProgressbar.call(e, v.progressbarFillClass))
: (S = ``)),
(e.pagination.bullets = []),
b.forEach((A) => {
(v.type !== "custom" && (A.innerHTML = S || ""),
v.type === "bullets" &&
e.pagination.bullets.push(
...A.querySelectorAll(te(v.bulletClass)),
));
}),
v.type !== "custom" && r("paginationRender", b[0]));
}
function h() {
e.params.pagination = Be(
e,
e.originalParams.pagination,
e.params.pagination,
{ el: "swiper-pagination" },
);
const v = e.params.pagination;
if (!v.el) return;
let m;
(typeof v.el == "string" && e.isElement && (m = e.el.querySelector(v.el)),
!m &&
typeof v.el == "string" &&
(m = [...document.querySelectorAll(v.el)]),
m || (m = v.el),
!(!m || m.length === 0) &&
(e.params.uniqueNavElements &&
typeof v.el == "string" &&
Array.isArray(m) &&
m.length > 1 &&
((m = [...e.el.querySelectorAll(v.el)]),
m.length > 1 &&
(m = m.filter((b) => le(b, ".swiper")[0] === e.el)[0])),
Array.isArray(m) && m.length === 1 && (m = m[0]),
Object.assign(e.pagination, { el: m }),
(m = N(m)),
m.forEach((b) => {
(v.type === "bullets" &&
v.clickable &&
b.classList.add(...(v.clickableClass || "").split(" ")),
b.classList.add(v.modifierClass + v.type),
b.classList.add(
e.isHorizontal() ? v.horizontalClass : v.verticalClass,
),
v.type === "bullets" &&
v.dynamicBullets &&
(b.classList.add(`${v.modifierClass}${v.type}-dynamic`),
(c = 0),
v.dynamicMainBullets < 1 && (v.dynamicMainBullets = 1)),
v.type === "progressbar" &&
v.progressbarOpposite &&
b.classList.add(v.progressbarOppositeClass),
v.clickable && b.addEventListener("click", l),
e.enabled || b.classList.add(v.lockClass));
})));
}
function g() {
const v = e.params.pagination;
if (n()) return;
let m = e.pagination.el;
(m &&
((m = N(m)),
m.forEach((b) => {
(b.classList.remove(v.hiddenClass),
b.classList.remove(v.modifierClass + v.type),
b.classList.remove(
e.isHorizontal() ? v.horizontalClass : v.verticalClass,
),
v.clickable &&
(b.classList.remove(...(v.clickableClass || "").split(" ")),
b.removeEventListener("click", l)));
})),
e.pagination.bullets &&
e.pagination.bullets.forEach((b) =>
b.classList.remove(...v.bulletActiveClass.split(" ")),
));
}
(i("changeDirection", () => {
if (!e.pagination || !e.pagination.el) return;
const v = e.params.pagination;
let { el: m } = e.pagination;
((m = N(m)),
m.forEach((b) => {
(b.classList.remove(v.horizontalClass, v.verticalClass),
b.classList.add(
e.isHorizontal() ? v.horizontalClass : v.verticalClass,
));
}));
}),
i("init", () => {
e.params.pagination.enabled === !1 ? y() : (h(), p(), d());
}),
i("activeIndexChange", () => {
typeof e.snapIndex == "undefined" && d();
}),
i("snapIndexChange", () => {
d();
}),
i("snapGridLengthChange", () => {
(p(), d());
}),
i("destroy", () => {
g();
}),
i("enable disable", () => {
let { el: v } = e.pagination;
v &&
((v = N(v)),
v.forEach((m) =>
m.classList[e.enabled ? "remove" : "add"](
e.params.pagination.lockClass,
),
));
}),
i("lock unlock", () => {
d();
}),
i("click", (v, m) => {
const b = m.target,
S = N(e.pagination.el);
if (
e.params.pagination.el &&
e.params.pagination.hideOnClick &&
S &&
S.length > 0 &&
!b.classList.contains(e.params.pagination.bulletClass)
) {
if (
e.navigation &&
((e.navigation.nextEl && b === e.navigation.nextEl) ||
(e.navigation.prevEl && b === e.navigation.prevEl))
)
return;
const A = S[0].classList.contains(e.params.pagination.hiddenClass);
(r(A === !0 ? "paginationShow" : "paginationHide"),
S.forEach((O) =>
O.classList.toggle(e.params.pagination.hiddenClass),
));
}
}));
const w = () => {
e.el.classList.remove(e.params.pagination.paginationDisabledClass);
let { el: v } = e.pagination;
(v &&
((v = N(v)),
v.forEach((m) =>
m.classList.remove(e.params.pagination.paginationDisabledClass),
)),
h(),
p(),
d());
},
y = () => {
e.el.classList.add(e.params.pagination.paginationDisabledClass);
let { el: v } = e.pagination;
(v &&
((v = N(v)),
v.forEach((m) =>
m.classList.add(e.params.pagination.paginationDisabledClass),
)),
g());
};
Object.assign(e.pagination, {
enable: w,
disable: y,
render: p,
update: d,
init: h,
destroy: g,
});
}
function As(s) {
let { swiper: e, extendParams: t, on: i, emit: r } = s;
const a = q();
let f = !1,
c = null,
n = null,
u,
o,
l,
d;
(t({
scrollbar: {
el: null,
dragSize: "auto",
hide: !1,
draggable: !1,
snapOnRelease: !0,
lockClass: "swiper-scrollbar-lock",
dragClass: "swiper-scrollbar-drag",
scrollbarDisabledClass: "swiper-scrollbar-disabled",
horizontalClass: "swiper-scrollbar-horizontal",
verticalClass: "swiper-scrollbar-vertical",
},
}),
(e.scrollbar = { el: null, dragEl: null }));
function p() {
if (!e.params.scrollbar.el || !e.scrollbar.el) return;
const { scrollbar: C, rtlTranslate: E } = e,
{ dragEl: x, el: D } = C,
G = e.params.scrollbar,
M = e.params.loop ? e.progressLoop : e.progress;
let L = o,
V = (l - o) * M;
(E
? ((V = -V), V > 0 ? ((L = o - V), (V = 0)) : -V + o > l && (L = l + V))
: V < 0
? ((L = o + V), (V = 0))
: V + o > l && (L = l - V),
e.isHorizontal()
? ((x.style.transform = `translate3d(${V}px, 0, 0)`),
(x.style.width = `${L}px`))
: ((x.style.transform = `translate3d(0px, ${V}px, 0)`),
(x.style.height = `${L}px`)),
G.hide &&
(clearTimeout(c),
(D.style.opacity = 1),
(c = setTimeout(() => {
((D.style.opacity = 0), (D.style.transitionDuration = "400ms"));
}, 1e3))));
}
function h(C) {
!e.params.scrollbar.el ||
!e.scrollbar.el ||
(e.scrollbar.dragEl.style.transitionDuration = `${C}ms`);
}
function g() {
if (!e.params.scrollbar.el || !e.scrollbar.el) return;
const { scrollbar: C } = e,
{ dragEl: E, el: x } = C;
((E.style.width = ""),
(E.style.height = ""),
(l = e.isHorizontal() ? x.offsetWidth : x.offsetHeight),
(d =
e.size /
(e.virtualSize +
e.params.slidesOffsetBefore -
(e.params.centeredSlides ? e.snapGrid[0] : 0))),
e.params.scrollbar.dragSize === "auto"
? (o = l * d)
: (o = parseInt(e.params.scrollbar.dragSize, 10)),
e.isHorizontal()
? (E.style.width = `${o}px`)
: (E.style.height = `${o}px`),
d >= 1 ? (x.style.display = "none") : (x.style.display = ""),
e.params.scrollbar.hide && (x.style.opacity = 0),
e.params.watchOverflow &&
e.enabled &&
C.el.classList[e.isLocked ? "add" : "remove"](
e.params.scrollbar.lockClass,
));
}
function w(C) {
return e.isHorizontal() ? C.clientX : C.clientY;
}
function y(C) {
const { scrollbar: E, rtlTranslate: x } = e,
{ el: D } = E;
let G;
((G =
(w(C) -
be(D)[e.isHorizontal() ? "left" : "top"] -
(u !== null ? u : o / 2)) /
(l - o)),
(G = Math.max(Math.min(G, 1), 0)),
x && (G = 1 - G));
const M = e.minTranslate() + (e.maxTranslate() - e.minTranslate()) * G;
(e.updateProgress(M),
e.setTranslate(M),
e.updateActiveIndex(),
e.updateSlidesClasses());
}
function v(C) {
const E = e.params.scrollbar,
{ scrollbar: x, wrapperEl: D } = e,
{ el: G, dragEl: M } = x;
((f = !0),
(u =
C.target === M
? w(C) -
C.target.getBoundingClientRect()[
e.isHorizontal() ? "left" : "top"
]
: null),
C.preventDefault(),
C.stopPropagation(),
(D.style.transitionDuration = "100ms"),
(M.style.transitionDuration = "100ms"),
y(C),
clearTimeout(n),
(G.style.transitionDuration = "0ms"),
E.hide && (G.style.opacity = 1),
e.params.cssMode && (e.wrapperEl.style["scroll-snap-type"] = "none"),
r("scrollbarDragStart", C));
}
function m(C) {
const { scrollbar: E, wrapperEl: x } = e,
{ el: D, dragEl: G } = E;
!f ||
(C.preventDefault && C.cancelable
? C.preventDefault()
: (C.returnValue = !1),
y(C),
(x.style.transitionDuration = "0ms"),
(D.style.transitionDuration = "0ms"),
(G.style.transitionDuration = "0ms"),
r("scrollbarDragMove", C));
}
function b(C) {
const E = e.params.scrollbar,
{ scrollbar: x, wrapperEl: D } = e,
{ el: G } = x;
!f ||
((f = !1),
e.params.cssMode &&
((e.wrapperEl.style["scroll-snap-type"] = ""),
(D.style.transitionDuration = "")),
E.hide &&
(clearTimeout(n),
(n = ae(() => {
((G.style.opacity = 0), (G.style.transitionDuration = "400ms"));
}, 1e3))),
r("scrollbarDragEnd", C),
E.snapOnRelease && e.slideToClosest());
}
function S(C) {
const { scrollbar: E, params: x } = e,
D = E.el;
if (!D) return;
const G = D,
M = x.passiveListeners ? { passive: !1, capture: !1 } : !1,
L = x.passiveListeners ? { passive: !0, capture: !1 } : !1;
if (!G) return;
const V = C === "on" ? "addEventListener" : "removeEventListener";
(G[V]("pointerdown", v, M),
a[V]("pointermove", m, M),
a[V]("pointerup", b, L));
}
function A() {
!e.params.scrollbar.el || !e.scrollbar.el || S("on");
}
function O() {
!e.params.scrollbar.el || !e.scrollbar.el || S("off");
}
function z() {
const { scrollbar: C, el: E } = e;
e.params.scrollbar = Be(
e,
e.originalParams.scrollbar,
e.params.scrollbar,
{ el: "swiper-scrollbar" },
);
const x = e.params.scrollbar;
if (!x.el) return;
let D;
if (
(typeof x.el == "string" &&
e.isElement &&
(D = e.el.querySelector(x.el)),
!D && typeof x.el == "string")
) {
if (((D = a.querySelectorAll(x.el)), !D.length)) return;
} else D || (D = x.el);
(e.params.uniqueNavElements &&
typeof x.el == "string" &&
D.length > 1 &&
E.querySelectorAll(x.el).length === 1 &&
(D = E.querySelector(x.el)),
D.length > 0 && (D = D[0]),
D.classList.add(
e.isHorizontal() ? x.horizontalClass : x.verticalClass,
));
let G;
(D &&
((G = D.querySelector(te(e.params.scrollbar.dragClass))),
G || ((G = J("div", e.params.scrollbar.dragClass)), D.append(G))),
Object.assign(C, { el: D, dragEl: G }),
x.draggable && A(),
D &&
D.classList[e.enabled ? "remove" : "add"](
...ie(e.params.scrollbar.lockClass),
));
}
function T() {
const C = e.params.scrollbar,
E = e.scrollbar.el;
(E &&
E.classList.remove(
...ie(e.isHorizontal() ? C.horizontalClass : C.verticalClass),
),
O());
}
(i("changeDirection", () => {
if (!e.scrollbar || !e.scrollbar.el) return;
const C = e.params.scrollbar;
let { el: E } = e.scrollbar;
((E = N(E)),
E.forEach((x) => {
(x.classList.remove(C.horizontalClass, C.verticalClass),
x.classList.add(
e.isHorizontal() ? C.horizontalClass : C.verticalClass,
));
}));
}),
i("init", () => {
e.params.scrollbar.enabled === !1 ? I() : (z(), g(), p());
}),
i("update resize observerUpdate lock unlock changeDirection", () => {
g();
}),
i("setTranslate", () => {
p();
}),
i("setTransition", (C, E) => {
h(E);
}),
i("enable disable", () => {
const { el: C } = e.scrollbar;
C &&
C.classList[e.enabled ? "remove" : "add"](
...ie(e.params.scrollbar.lockClass),
);
}),
i("destroy", () => {
T();
}));
const P = () => {
(e.el.classList.remove(
...ie(e.params.scrollbar.scrollbarDisabledClass),
),
e.scrollbar.el &&
e.scrollbar.el.classList.remove(
...ie(e.params.scrollbar.scrollbarDisabledClass),
),
z(),
g(),
p());
},
I = () => {
(e.el.classList.add(...ie(e.params.scrollbar.scrollbarDisabledClass)),
e.scrollbar.el &&
e.scrollbar.el.classList.add(
...ie(e.params.scrollbar.scrollbarDisabledClass),
),
T());
};
Object.assign(e.scrollbar, {
enable: P,
disable: I,
updateSize: g,
setTranslate: p,
init: z,
destroy: T,
});
}
function zs(s) {
let { swiper: e, extendParams: t, on: i } = s;
t({ parallax: { enabled: !1 } });
const r =
"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",
a = (n, u) => {
const { rtl: o } = e,
l = o ? -1 : 1,
d = n.getAttribute("data-swiper-parallax") || "0";
let p = n.getAttribute("data-swiper-parallax-x"),
h = n.getAttribute("data-swiper-parallax-y");
const g = n.getAttribute("data-swiper-parallax-scale"),
w = n.getAttribute("data-swiper-parallax-opacity"),
y = n.getAttribute("data-swiper-parallax-rotate");
if (
(p || h
? ((p = p || "0"), (h = h || "0"))
: e.isHorizontal()
? ((p = d), (h = "0"))
: ((h = d), (p = "0")),
p.indexOf("%") >= 0
? (p = `${parseInt(p, 10) * u * l}%`)
: (p = `${p * u * l}px`),
h.indexOf("%") >= 0
? (h = `${parseInt(h, 10) * u}%`)
: (h = `${h * u}px`),
typeof w != "undefined" && w !== null)
) {
const m = w - (w - 1) * (1 - Math.abs(u));
n.style.opacity = m;
}
let v = `translate3d(${p}, ${h}, 0px)`;
(typeof g != "undefined" &&
g !== null &&
(v += ` scale(${g - (g - 1) * (1 - Math.abs(u))})`),
y &&
typeof y != "undefined" &&
y !== null &&
(v += ` rotate(${y * u * -1}deg)`),
(n.style.transform = v));
},
f = () => {
const { el: n, slides: u, progress: o, snapGrid: l, isElement: d } = e,
p = W(n, r);
(e.isElement && p.push(...W(e.hostEl, r)),
p.forEach((h) => {
a(h, o);
}),
u.forEach((h, g) => {
let w = h.progress;
(e.params.slidesPerGroup > 1 &&
e.params.slidesPerView !== "auto" &&
(w += Math.ceil(g / 2) - o * (l.length - 1)),
(w = Math.min(Math.max(w, -1), 1)),
h
.querySelectorAll(`${r}, [data-swiper-parallax-rotate]`)
.forEach((y) => {
a(y, w);
}));
}));
},
c = function (n) {
n === void 0 && (n = e.params.speed);
const { el: u, hostEl: o } = e,
l = [...u.querySelectorAll(r)];
(e.isElement && l.push(...o.querySelectorAll(r)),
l.forEach((d) => {
let p =
parseInt(d.getAttribute("data-swiper-parallax-duration"), 10) ||
n;
(n === 0 && (p = 0), (d.style.transitionDuration = `${p}ms`));
}));
};
(i("beforeInit", () => {
!e.params.parallax.enabled ||
((e.params.watchSlidesProgress = !0),
(e.originalParams.watchSlidesProgress = !0));
}),
i("init", () => {
!e.params.parallax.enabled || f();
}),
i("setTranslate", () => {
!e.params.parallax.enabled || f();
}),
i("setTransition", (n, u) => {
!e.params.parallax.enabled || c(u);
}));
}
function Ds(s) {
let { swiper: e, extendParams: t, on: i, emit: r } = s;
const a = X();
(t({
zoom: {
enabled: !1,
limitToOriginalSize: !1,
maxRatio: 3,
minRatio: 1,
toggle: !0,
containerClass: "swiper-zoom-container",
zoomedSlideClass: "swiper-slide-zoomed",
},
}),
(e.zoom = { enabled: !1 }));
let f = 1,
c = !1,
n,
u;
const o = [],
l = {
originX: 0,
originY: 0,
slideEl: void 0,
slideWidth: void 0,
slideHeight: void 0,
imageEl: void 0,
imageWrapEl: void 0,
maxRatio: 3,
},
d = {
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: {},
},
p = {
x: void 0,
y: void 0,
prevPositionX: void 0,
prevPositionY: void 0,
prevTime: void 0,
};
let h = 1;
Object.defineProperty(e.zoom, "scale", {
get() {
return h;
},
set($) {
if (h !== $) {
const k = l.imageEl,
B = l.slideEl;
r("zoomChange", $, k, B);
}
h = $;
},
});
function g() {
if (o.length < 2) return 1;
const $ = o[0].pageX,
k = o[0].pageY,
B = o[1].pageX,
Y = o[1].pageY;
return Math.sqrt((B - $) ** 2 + (Y - k) ** 2);
}
function w() {
const $ = e.params.zoom,
k = l.imageWrapEl.getAttribute("data-swiper-zoom") || $.maxRatio;
if ($.limitToOriginalSize && l.imageEl && l.imageEl.naturalWidth) {
const B = l.imageEl.naturalWidth / l.imageEl.offsetWidth;
return Math.min(B, k);
}
return k;
}
function y() {
if (o.length < 2) return { x: null, y: null };
const $ = l.imageEl.getBoundingClientRect();
return [
(o[0].pageX + (o[1].pageX - o[0].pageX) / 2 - $.x - a.scrollX) / f,
(o[0].pageY + (o[1].pageY - o[0].pageY) / 2 - $.y - a.scrollY) / f,
];
}
function v() {
return e.isElement ? "swiper-slide" : `.${e.params.slideClass}`;
}
function m($) {
const k = v();
return !!(
$.target.matches(k) ||
e.slides.filter((B) => B.contains($.target)).length > 0
);
}
function b($) {
const k = `.${e.params.zoom.containerClass}`;
return !!(
$.target.matches(k) ||
[...e.hostEl.querySelectorAll(k)].filter((B) => B.contains($.target))
.length > 0
);
}
function S($) {
if (($.pointerType === "mouse" && o.splice(0, o.length), !m($))) return;
const k = e.params.zoom;
if (((n = !1), (u = !1), o.push($), !(o.length < 2))) {
if (((n = !0), (l.scaleStart = g()), !l.slideEl)) {
((l.slideEl = $.target.closest(
`.${e.params.slideClass}, swiper-slide`,
)),
l.slideEl || (l.slideEl = e.slides[e.activeIndex]));
let B = l.slideEl.querySelector(`.${k.containerClass}`);
if (
(B &&
(B = B.querySelectorAll(
"picture, img, svg, canvas, .swiper-zoom-target",
)[0]),
(l.imageEl = B),
B
? (l.imageWrapEl = le(l.imageEl, `.${k.containerClass}`)[0])
: (l.imageWrapEl = void 0),
!l.imageWrapEl)
) {
l.imageEl = void 0;
return;
}
l.maxRatio = w();
}
if (l.imageEl) {
const [B, Y] = y();
((l.originX = B),
(l.originY = Y),
(l.imageEl.style.transitionDuration = "0ms"));
}
c = !0;
}
}
function A($) {
if (!m($)) return;
const k = e.params.zoom,
B = e.zoom,
Y = o.findIndex((H) => H.pointerId === $.pointerId);
(Y >= 0 && (o[Y] = $),
!(o.length < 2) &&
((u = !0),
(l.scaleMove = g()),
!!l.imageEl &&
((B.scale = (l.scaleMove / l.scaleStart) * f),
B.scale > l.maxRatio &&
(B.scale = l.maxRatio - 1 + (B.scale - l.maxRatio + 1) ** 0.5),
B.scale < k.minRatio &&
(B.scale = k.minRatio + 1 - (k.minRatio - B.scale + 1) ** 0.5),
(l.imageEl.style.transform = `translate3d(0,0,0) scale(${B.scale})`))));
}
function O($) {
if (!m($) || ($.pointerType === "mouse" && $.type === "pointerout"))
return;
const k = e.params.zoom,
B = e.zoom,
Y = o.findIndex((H) => H.pointerId === $.pointerId);
(Y >= 0 && o.splice(Y, 1),
!(!n || !u) &&
((n = !1),
(u = !1),
!!l.imageEl &&
((B.scale = Math.max(Math.min(B.scale, l.maxRatio), k.minRatio)),
(l.imageEl.style.transitionDuration = `${e.params.speed}ms`),
(l.imageEl.style.transform = `translate3d(0,0,0) scale(${B.scale})`),
(f = B.scale),
(c = !1),
B.scale > 1 && l.slideEl
? l.slideEl.classList.add(`${k.zoomedSlideClass}`)
: B.scale <= 1 &&
l.slideEl &&
l.slideEl.classList.remove(`${k.zoomedSlideClass}`),
B.scale === 1 &&
((l.originX = 0), (l.originY = 0), (l.slideEl = void 0)))));
}
let z;
function T() {
e.touchEventsData.preventTouchMoveFromPointerMove = !1;
}
function P() {
(clearTimeout(z),
(e.touchEventsData.preventTouchMoveFromPointerMove = !0),
(z = setTimeout(() => {
T();
})));
}
function I($) {
const k = e.device;
if (!l.imageEl || d.isTouched) return;
(k.android && $.cancelable && $.preventDefault(), (d.isTouched = !0));
const B = o.length > 0 ? o[0] : $;
((d.touchesStart.x = B.pageX), (d.touchesStart.y = B.pageY));
}
function C($) {
if (!m($) || !b($)) return;
const k = e.zoom;
if (!l.imageEl || !d.isTouched || !l.slideEl) return;
d.isMoved ||
((d.width = l.imageEl.offsetWidth || l.imageEl.clientWidth),
(d.height = l.imageEl.offsetHeight || l.imageEl.clientHeight),
(d.startX = Le(l.imageWrapEl, "x") || 0),
(d.startY = Le(l.imageWrapEl, "y") || 0),
(l.slideWidth = l.slideEl.offsetWidth),
(l.slideHeight = l.slideEl.offsetHeight),
(l.imageWrapEl.style.transitionDuration = "0ms"));
const B = d.width * k.scale,
Y = d.height * k.scale;
if (
((d.minX = Math.min(l.slideWidth / 2 - B / 2, 0)),
(d.maxX = -d.minX),
(d.minY = Math.min(l.slideHeight / 2 - Y / 2, 0)),
(d.maxY = -d.minY),
(d.touchesCurrent.x = o.length > 0 ? o[0].pageX : $.pageX),
(d.touchesCurrent.y = o.length > 0 ? o[0].pageY : $.pageY),
Math.max(
Math.abs(d.touchesCurrent.x - d.touchesStart.x),
Math.abs(d.touchesCurrent.y - d.touchesStart.y),
) > 5 && (e.allowClick = !1),
!d.isMoved && !c)
) {
if (
e.isHorizontal() &&
((Math.floor(d.minX) === Math.floor(d.startX) &&
d.touchesCurrent.x < d.touchesStart.x) ||
(Math.floor(d.maxX) === Math.floor(d.startX) &&
d.touchesCurrent.x > d.touchesStart.x))
) {
((d.isTouched = !1), T());
return;
}
if (
!e.isHorizontal() &&
((Math.floor(d.minY) === Math.floor(d.startY) &&
d.touchesCurrent.y < d.touchesStart.y) ||
(Math.floor(d.maxY) === Math.floor(d.startY) &&
d.touchesCurrent.y > d.touchesStart.y))
) {
((d.isTouched = !1), T());
return;
}
}
($.cancelable && $.preventDefault(),
$.stopPropagation(),
P(),
(d.isMoved = !0));
const R = (k.scale - f) / (l.maxRatio - e.params.zoom.minRatio),
{ originX: U, originY: fe } = l;
((d.currentX =
d.touchesCurrent.x -
d.touchesStart.x +
d.startX +
R * (d.width - U * 2)),
(d.currentY =
d.touchesCurrent.y -
d.touchesStart.y +
d.startY +
R * (d.height - fe * 2)),
d.currentX < d.minX &&
(d.currentX = d.minX + 1 - (d.minX - d.currentX + 1) ** 0.8),
d.currentX > d.maxX &&
(d.currentX = d.maxX - 1 + (d.currentX - d.maxX + 1) ** 0.8),
d.currentY < d.minY &&
(d.currentY = d.minY + 1 - (d.minY - d.currentY + 1) ** 0.8),
d.currentY > d.maxY &&
(d.currentY = d.maxY - 1 + (d.currentY - d.maxY + 1) ** 0.8),
p.prevPositionX || (p.prevPositionX = d.touchesCurrent.x),
p.prevPositionY || (p.prevPositionY = d.touchesCurrent.y),
p.prevTime || (p.prevTime = Date.now()),
(p.x =
(d.touchesCurrent.x - p.prevPositionX) /
(Date.now() - p.prevTime) /
2),
(p.y =
(d.touchesCurrent.y - p.prevPositionY) /
(Date.now() - p.prevTime) /
2),
Math.abs(d.touchesCurrent.x - p.prevPositionX) < 2 && (p.x = 0),
Math.abs(d.touchesCurrent.y - p.prevPositionY) < 2 && (p.y = 0),
(p.prevPositionX = d.touchesCurrent.x),
(p.prevPositionY = d.touchesCurrent.y),
(p.prevTime = Date.now()),
(l.imageWrapEl.style.transform = `translate3d(${d.currentX}px, ${d.currentY}px,0)`));
}
function E() {
const $ = e.zoom;
if (!l.imageEl) return;
if (!d.isTouched || !d.isMoved) {
((d.isTouched = !1), (d.isMoved = !1));
return;
}
((d.isTouched = !1), (d.isMoved = !1));
let k = 300,
B = 300;
const Y = p.x * k,
H = d.currentX + Y,
R = p.y * B,
U = d.currentY + R;
(p.x !== 0 && (k = Math.abs((H - d.currentX) / p.x)),
p.y !== 0 && (B = Math.abs((U - d.currentY) / p.y)));
const fe = Math.max(k, B);
((d.currentX = H), (d.currentY = U));
const Me = d.width * $.scale,
se = d.height * $.scale;
((d.minX = Math.min(l.slideWidth / 2 - Me / 2, 0)),
(d.maxX = -d.minX),
(d.minY = Math.min(l.slideHeight / 2 - se / 2, 0)),
(d.maxY = -d.minY),
(d.currentX = Math.max(Math.min(d.currentX, d.maxX), d.minX)),
(d.currentY = Math.max(Math.min(d.currentY, d.maxY), d.minY)),
(l.imageWrapEl.style.transitionDuration = `${fe}ms`),
(l.imageWrapEl.style.transform = `translate3d(${d.currentX}px, ${d.currentY}px,0)`));
}
function x() {
const $ = e.zoom;
l.slideEl &&
e.activeIndex !== e.slides.indexOf(l.slideEl) &&
(l.imageEl &&
(l.imageEl.style.transform = "translate3d(0,0,0) scale(1)"),
l.imageWrapEl && (l.imageWrapEl.style.transform = "translate3d(0,0,0)"),
l.slideEl.classList.remove(`${e.params.zoom.zoomedSlideClass}`),
($.scale = 1),
(f = 1),
(l.slideEl = void 0),
(l.imageEl = void 0),
(l.imageWrapEl = void 0),
(l.originX = 0),
(l.originY = 0));
}
function D($) {
const k = e.zoom,
B = e.params.zoom;
if (!l.slideEl) {
($ &&
$.target &&
(l.slideEl = $.target.closest(
`.${e.params.slideClass}, swiper-slide`,
)),
l.slideEl ||
(e.params.virtual && e.params.virtual.enabled && e.virtual
? (l.slideEl = W(e.slidesEl, `.${e.params.slideActiveClass}`)[0])
: (l.slideEl = e.slides[e.activeIndex])));
let we = l.slideEl.querySelector(`.${B.containerClass}`);
(we &&
(we = we.querySelectorAll(
"picture, img, svg, canvas, .swiper-zoom-target",
)[0]),
(l.imageEl = we),
we
? (l.imageWrapEl = le(l.imageEl, `.${B.containerClass}`)[0])
: (l.imageWrapEl = void 0));
}
if (!l.imageEl || !l.imageWrapEl) return;
(e.params.cssMode &&
((e.wrapperEl.style.overflow = "hidden"),
(e.wrapperEl.style.touchAction = "none")),
l.slideEl.classList.add(`${B.zoomedSlideClass}`));
let Y, H, R, U, fe, Me, se, oe, tt, st, it, rt, Ce, Pe, He, Fe, Ne, Re;
typeof d.touchesStart.x == "undefined" && $
? ((Y = $.pageX), (H = $.pageY))
: ((Y = d.touchesStart.x), (H = d.touchesStart.y));
const ve = typeof $ == "number" ? $ : null;
f === 1 &&
ve &&
((Y = void 0),
(H = void 0),
(d.touchesStart.x = void 0),
(d.touchesStart.y = void 0));
const at = w();
((k.scale = ve || at),
(f = ve || at),
$ && !(f === 1 && ve)
? ((Ne = l.slideEl.offsetWidth),
(Re = l.slideEl.offsetHeight),
(R = be(l.slideEl).left + a.scrollX),
(U = be(l.slideEl).top + a.scrollY),
(fe = R + Ne / 2 - Y),
(Me = U + Re / 2 - H),
(tt = l.imageEl.offsetWidth || l.imageEl.clientWidth),
(st = l.imageEl.offsetHeight || l.imageEl.clientHeight),
(it = tt * k.scale),
(rt = st * k.scale),
(Ce = Math.min(Ne / 2 - it / 2, 0)),
(Pe = Math.min(Re / 2 - rt / 2, 0)),
(He = -Ce),
(Fe = -Pe),
(se = fe * k.scale),
(oe = Me * k.scale),
se < Ce && (se = Ce),
se > He && (se = He),
oe < Pe && (oe = Pe),
oe > Fe && (oe = Fe))
: ((se = 0), (oe = 0)),
ve && k.scale === 1 && ((l.originX = 0), (l.originY = 0)),
(l.imageWrapEl.style.transitionDuration = "300ms"),
(l.imageWrapEl.style.transform = `translate3d(${se}px, ${oe}px,0)`),
(l.imageEl.style.transitionDuration = "300ms"),
(l.imageEl.style.transform = `translate3d(0,0,0) scale(${k.scale})`));
}
function G() {
const $ = e.zoom,
k = e.params.zoom;
if (!l.slideEl) {
e.params.virtual && e.params.virtual.enabled && e.virtual
? (l.slideEl = W(e.slidesEl, `.${e.params.slideActiveClass}`)[0])
: (l.slideEl = e.slides[e.activeIndex]);
let B = l.slideEl.querySelector(`.${k.containerClass}`);
(B &&
(B = B.querySelectorAll(
"picture, img, svg, canvas, .swiper-zoom-target",
)[0]),
(l.imageEl = B),
B
? (l.imageWrapEl = le(l.imageEl, `.${k.containerClass}`)[0])
: (l.imageWrapEl = void 0));
}
!l.imageEl ||
!l.imageWrapEl ||
(e.params.cssMode &&
((e.wrapperEl.style.overflow = ""),
(e.wrapperEl.style.touchAction = "")),
($.scale = 1),
(f = 1),
(d.touchesStart.x = void 0),
(d.touchesStart.y = void 0),
(l.imageWrapEl.style.transitionDuration = "300ms"),
(l.imageWrapEl.style.transform = "translate3d(0,0,0)"),
(l.imageEl.style.transitionDuration = "300ms"),
(l.imageEl.style.transform = "translate3d(0,0,0) scale(1)"),
l.slideEl.classList.remove(`${k.zoomedSlideClass}`),
(l.slideEl = void 0),
(l.originX = 0),
(l.originY = 0));
}
function M($) {
const k = e.zoom;
k.scale && k.scale !== 1 ? G() : D($);
}
function L() {
const $ = e.params.passiveListeners ? { passive: !0, capture: !1 } : !1,
k = e.params.passiveListeners ? { passive: !1, capture: !0 } : !0;
return { passiveListener: $, activeListenerWithCapture: k };
}
function V() {
const $ = e.zoom;
if ($.enabled) return;
$.enabled = !0;
const { passiveListener: k, activeListenerWithCapture: B } = L();
(e.wrapperEl.addEventListener("pointerdown", S, k),
e.wrapperEl.addEventListener("pointermove", A, B),
["pointerup", "pointercancel", "pointerout"].forEach((Y) => {
e.wrapperEl.addEventListener(Y, O, k);
}),
e.wrapperEl.addEventListener("pointermove", C, B));
}
function F() {
const $ = e.zoom;
if (!$.enabled) return;
$.enabled = !1;
const { passiveListener: k, activeListenerWithCapture: B } = L();
(e.wrapperEl.removeEventListener("pointerdown", S, k),
e.wrapperEl.removeEventListener("pointermove", A, B),
["pointerup", "pointercancel", "pointerout"].forEach((Y) => {
e.wrapperEl.removeEventListener(Y, O, k);
}),
e.wrapperEl.removeEventListener("pointermove", C, B));
}
(i("init", () => {
e.params.zoom.enabled && V();
}),
i("destroy", () => {
F();
}),
i("touchStart", ($, k) => {
!e.zoom.enabled || I(k);
}),
i("touchEnd", ($, k) => {
!e.zoom.enabled || E();
}),
i("doubleTap", ($, k) => {
!e.animating &&
e.params.zoom.enabled &&
e.zoom.enabled &&
e.params.zoom.toggle &&
M(k);
}),
i("transitionEnd", () => {
e.zoom.enabled && e.params.zoom.enabled && x();
}),
i("slideChange", () => {
e.zoom.enabled && e.params.zoom.enabled && e.params.cssMode && x();
}),
Object.assign(e.zoom, {
enable: V,
disable: F,
in: D,
out: G,
toggle: M,
}));
}
function Os(s) {
let { swiper: e, extendParams: t, on: i } = s;
(t({ controller: { control: void 0, inverse: !1, by: "slide" } }),
(e.controller = { control: void 0 }));
function r(u, o) {
const l = (function () {
let g, w, y;
return (v, m) => {
for (w = -1, g = v.length; g - w > 1; )
((y = (g + w) >> 1), v[y] <= m ? (w = y) : (g = y));
return g;
};
})();
((this.x = u), (this.y = o), (this.lastIndex = u.length - 1));
let d, p;
return (
(this.interpolate = function (g) {
return g
? ((p = l(this.x, g)),
(d = p - 1),
((g - this.x[d]) * (this.y[p] - this.y[d])) /
(this.x[p] - this.x[d]) +
this.y[d])
: 0;
}),
this
);
}
function a(u) {
e.controller.spline = e.params.loop
? new r(e.slidesGrid, u.slidesGrid)
: new r(e.snapGrid, u.snapGrid);
}
function f(u, o) {
const l = e.controller.control;
let d, p;
const h = e.constructor;
function g(w) {
if (w.destroyed) return;
const y = e.rtlTranslate ? -e.translate : e.translate;
(e.params.controller.by === "slide" &&
(a(w), (p = -e.controller.spline.interpolate(-y))),
(!p || e.params.controller.by === "container") &&
((d =
(w.maxTranslate() - w.minTranslate()) /
(e.maxTranslate() - e.minTranslate())),
(Number.isNaN(d) || !Number.isFinite(d)) && (d = 1),
(p = (y - e.minTranslate()) * d + w.minTranslate())),
e.params.controller.inverse && (p = w.maxTranslate() - p),
w.updateProgress(p),
w.setTranslate(p, e),
w.updateActiveIndex(),
w.updateSlidesClasses());
}
if (Array.isArray(l))
for (let w = 0; w < l.length; w += 1)
l[w] !== o && l[w] instanceof h && g(l[w]);
else l instanceof h && o !== l && g(l);
}
function c(u, o) {
const l = e.constructor,
d = e.controller.control;
let p;
function h(g) {
g.destroyed ||
(g.setTransition(u, e),
u !== 0 &&
(g.transitionStart(),
g.params.autoHeight &&
ae(() => {
g.updateAutoHeight();
}),
he(g.wrapperEl, () => {
!d || g.transitionEnd();
})));
}
if (Array.isArray(d))
for (p = 0; p < d.length; p += 1)
d[p] !== o && d[p] instanceof l && h(d[p]);
else d instanceof l && o !== d && h(d);
}
function n() {
!e.controller.control ||
(e.controller.spline &&
((e.controller.spline = void 0), delete e.controller.spline));
}
(i("beforeInit", () => {
if (
typeof window != "undefined" &&
(typeof e.params.controller.control == "string" ||
e.params.controller.control instanceof HTMLElement)
) {
(typeof e.params.controller.control == "string"
? [...document.querySelectorAll(e.params.controller.control)]
: [e.params.controller.control]
).forEach((o) => {
if (
(e.controller.control || (e.controller.control = []), o && o.swiper)
)
e.controller.control.push(o.swiper);
else if (o) {
const l = `${e.params.eventsPrefix}init`,
d = (p) => {
(e.controller.control.push(p.detail[0]),
e.update(),
o.removeEventListener(l, d));
};
o.addEventListener(l, d);
}
});
return;
}
e.controller.control = e.params.controller.control;
}),
i("update", () => {
n();
}),
i("resize", () => {
n();
}),
i("observerUpdate", () => {
n();
}),
i("setTranslate", (u, o, l) => {
!e.controller.control ||
e.controller.control.destroyed ||
e.controller.setTranslate(o, l);
}),
i("setTransition", (u, o, l) => {
!e.controller.control ||
e.controller.control.destroyed ||
e.controller.setTransition(o, l);
}),
Object.assign(e.controller, { setTranslate: f, setTransition: c }));
}
function $s(s) {
let { swiper: e, extendParams: t, on: i } = s;
(t({
a11y: {
enabled: !0,
notificationClass: "swiper-notification",
prevSlideMessage: "Previous slide",
nextSlideMessage: "Next slide",
firstSlideMessage: "This is the first slide",
lastSlideMessage: "This is the last slide",
paginationBulletMessage: "Go to slide {{index}}",
slideLabelMessage: "{{index}} / {{slidesLength}}",
containerMessage: null,
containerRoleDescriptionMessage: null,
itemRoleDescriptionMessage: null,
slideRole: "group",
id: null,
scrollOnFocus: !0,
},
}),
(e.a11y = { clicked: !1 }));
let r = null,
a,
f,
c = new Date().getTime();
function n(M) {
const L = r;
L.length !== 0 && ((L.innerHTML = ""), (L.innerHTML = M));
}
function u(M) {
M === void 0 && (M = 16);
const L = () => Math.round(16 * Math.random()).toString(16);
return "x".repeat(M).replace(/x/g, L);
}
function o(M) {
((M = N(M)),
M.forEach((L) => {
L.setAttribute("tabIndex", "0");
}));
}
function l(M) {
((M = N(M)),
M.forEach((L) => {
L.setAttribute("tabIndex", "-1");
}));
}
function d(M, L) {
((M = N(M)),
M.forEach((V) => {
V.setAttribute("role", L);
}));
}
function p(M, L) {
((M = N(M)),
M.forEach((V) => {
V.setAttribute("aria-roledescription", L);
}));
}
function h(M, L) {
((M = N(M)),
M.forEach((V) => {
V.setAttribute("aria-controls", L);
}));
}
function g(M, L) {
((M = N(M)),
M.forEach((V) => {
V.setAttribute("aria-label", L);
}));
}
function w(M, L) {
((M = N(M)),
M.forEach((V) => {
V.setAttribute("id", L);
}));
}
function y(M, L) {
((M = N(M)),
M.forEach((V) => {
V.setAttribute("aria-live", L);
}));
}
function v(M) {
((M = N(M)),
M.forEach((L) => {
L.setAttribute("aria-disabled", !0);
}));
}
function m(M) {
((M = N(M)),
M.forEach((L) => {
L.setAttribute("aria-disabled", !1);
}));
}
function b(M) {
if (M.keyCode !== 13 && M.keyCode !== 32) return;
const L = e.params.a11y,
V = M.target;
if (
!(
e.pagination &&
e.pagination.el &&
(V === e.pagination.el || e.pagination.el.contains(M.target)) &&
!M.target.matches(te(e.params.pagination.bulletClass))
)
) {
if (e.navigation && e.navigation.prevEl && e.navigation.nextEl) {
const F = N(e.navigation.prevEl);
(N(e.navigation.nextEl).includes(V) &&
((e.isEnd && !e.params.loop) || e.slideNext(),
e.isEnd ? n(L.lastSlideMessage) : n(L.nextSlideMessage)),
F.includes(V) &&
((e.isBeginning && !e.params.loop) || e.slidePrev(),
e.isBeginning ? n(L.firstSlideMessage) : n(L.prevSlideMessage)));
}
e.pagination &&
V.matches(te(e.params.pagination.bulletClass)) &&
V.click();
}
}
function S() {
if (e.params.loop || e.params.rewind || !e.navigation) return;
const { nextEl: M, prevEl: L } = e.navigation;
(L && (e.isBeginning ? (v(L), l(L)) : (m(L), o(L))),
M && (e.isEnd ? (v(M), l(M)) : (m(M), o(M))));
}
function A() {
return (
e.pagination && e.pagination.bullets && e.pagination.bullets.length
);
}
function O() {
return A() && e.params.pagination.clickable;
}
function z() {
const M = e.params.a11y;
!A() ||
e.pagination.bullets.forEach((L) => {
(e.params.pagination.clickable &&
(o(L),
e.params.pagination.renderBullet ||
(d(L, "button"),
g(
L,
M.paginationBulletMessage.replace(/\{\{index\}\}/, me(L) + 1),
))),
L.matches(te(e.params.pagination.bulletActiveClass))
? L.setAttribute("aria-current", "true")
: L.removeAttribute("aria-current"));
});
}
const T = (M, L, V) => {
(o(M),
M.tagName !== "BUTTON" &&
(d(M, "button"), M.addEventListener("keydown", b)),
g(M, V),
h(M, L));
},
P = (M) => {
(f && f !== M.target && !f.contains(M.target) && (a = !0),
(e.a11y.clicked = !0));
},
I = () => {
((a = !1),
requestAnimationFrame(() => {
requestAnimationFrame(() => {
e.destroyed || (e.a11y.clicked = !1);
});
}));
},
C = (M) => {
c = new Date().getTime();
},
E = (M) => {
if (
e.a11y.clicked ||
!e.params.a11y.scrollOnFocus ||
new Date().getTime() - c < 100
)
return;
const L = M.target.closest(`.${e.params.slideClass}, swiper-slide`);
if (!L || !e.slides.includes(L)) return;
f = L;
const V = e.slides.indexOf(L) === e.activeIndex,
F =
e.params.watchSlidesProgress &&
e.visibleSlides &&
e.visibleSlides.includes(L);
V ||
F ||
(M.sourceCapabilities && M.sourceCapabilities.firesTouchEvents) ||
(e.isHorizontal() ? (e.el.scrollLeft = 0) : (e.el.scrollTop = 0),
requestAnimationFrame(() => {
a ||
(e.params.loop
? e.slideToLoop(
parseInt(L.getAttribute("data-swiper-slide-index")),
0,
)
: e.slideTo(e.slides.indexOf(L), 0),
(a = !1));
}));
},
x = () => {
const M = e.params.a11y;
(M.itemRoleDescriptionMessage &&
p(e.slides, M.itemRoleDescriptionMessage),
M.slideRole && d(e.slides, M.slideRole));
const L = e.slides.length;
M.slideLabelMessage &&
e.slides.forEach((V, F) => {
const $ = e.params.loop
? parseInt(V.getAttribute("data-swiper-slide-index"), 10)
: F,
k = M.slideLabelMessage
.replace(/\{\{index\}\}/, $ + 1)
.replace(/\{\{slidesLength\}\}/, L);
g(V, k);
});
},
D = () => {
const M = e.params.a11y;
e.el.append(r);
const L = e.el;
(M.containerRoleDescriptionMessage &&
p(L, M.containerRoleDescriptionMessage),
M.containerMessage && g(L, M.containerMessage));
const V = e.wrapperEl,
F = M.id || V.getAttribute("id") || `swiper-wrapper-${u(16)}`,
$ = e.params.autoplay && e.params.autoplay.enabled ? "off" : "polite";
(w(V, F), y(V, $), x());
let { nextEl: k, prevEl: B } = e.navigation ? e.navigation : {};
((k = N(k)),
(B = N(B)),
k && k.forEach((H) => T(H, F, M.nextSlideMessage)),
B && B.forEach((H) => T(H, F, M.prevSlideMessage)),
O() &&
N(e.pagination.el).forEach((R) => {
R.addEventListener("keydown", b);
}),
q().addEventListener("visibilitychange", C),
e.el.addEventListener("focus", E, !0),
e.el.addEventListener("focus", E, !0),
e.el.addEventListener("pointerdown", P, !0),
e.el.addEventListener("pointerup", I, !0));
};
function G() {
r && r.remove();
let { nextEl: M, prevEl: L } = e.navigation ? e.navigation : {};
((M = N(M)),
(L = N(L)),
M && M.forEach((F) => F.removeEventListener("keydown", b)),
L && L.forEach((F) => F.removeEventListener("keydown", b)),
O() &&
N(e.pagination.el).forEach(($) => {
$.removeEventListener("keydown", b);
}),
q().removeEventListener("visibilitychange", C),
e.el &&
typeof e.el != "string" &&
(e.el.removeEventListener("focus", E, !0),
e.el.removeEventListener("pointerdown", P, !0),
e.el.removeEventListener("pointerup", I, !0)));
}
(i("beforeInit", () => {
((r = J("span", e.params.a11y.notificationClass)),
r.setAttribute("aria-live", "assertive"),
r.setAttribute("aria-atomic", "true"));
}),
i("afterInit", () => {
!e.params.a11y.enabled || D();
}),
i(
"slidesLengthChange snapGridLengthChange slidesGridLengthChange",
() => {
!e.params.a11y.enabled || x();
},
),
i("fromEdge toEdge afterInit lock unlock", () => {
!e.params.a11y.enabled || S();
}),
i("paginationUpdate", () => {
!e.params.a11y.enabled || z();
}),
i("destroy", () => {
!e.params.a11y.enabled || G();
}));
}
function ks(s) {
let { swiper: e, extendParams: t, on: i } = s;
t({
history: {
enabled: !1,
root: "",
replaceState: !1,
key: "slides",
keepQuery: !1,
},
});
let r = !1,
a = {};
const f = (p) =>
p
.toString()
.replace(/\s+/g, "-")
.replace(/[^\w-]+/g, "")
.replace(/--+/g, "-")
.replace(/^-+/, "")
.replace(/-+$/, ""),
c = (p) => {
const h = X();
let g;
p ? (g = new URL(p)) : (g = h.location);
const w = g.pathname
.slice(1)
.split("/")
.filter((b) => b !== ""),
y = w.length,
v = w[y - 2],
m = w[y - 1];
return { key: v, value: m };
},
n = (p, h) => {
const g = X();
if (!r || !e.params.history.enabled) return;
let w;
e.params.url ? (w = new URL(e.params.url)) : (w = g.location);
const y =
e.virtual && e.params.virtual.enabled
? e.slidesEl.querySelector(`[data-swiper-slide-index="${h}"]`)
: e.slides[h];
let v = f(y.getAttribute("data-history"));
if (e.params.history.root.length > 0) {
let b = e.params.history.root;
(b[b.length - 1] === "/" && (b = b.slice(0, b.length - 1)),
(v = `${b}/${p ? `${p}/` : ""}${v}`));
} else w.pathname.includes(p) || (v = `${p ? `${p}/` : ""}${v}`);
e.params.history.keepQuery && (v += w.search);
const m = g.history.state;
(m && m.value === v) ||
(e.params.history.replaceState
? g.history.replaceState({ value: v }, null, v)
: g.history.pushState({ value: v }, null, v));
},
u = (p, h, g) => {
if (h)
for (let w = 0, y = e.slides.length; w < y; w += 1) {
const v = e.slides[w];
if (f(v.getAttribute("data-history")) === h) {
const b = e.getSlideIndex(v);
e.slideTo(b, p, g);
}
}
else e.slideTo(0, p, g);
},
o = () => {
((a = c(e.params.url)), u(e.params.speed, a.value, !1));
},
l = () => {
const p = X();
if (!!e.params.history) {
if (!p.history || !p.history.pushState) {
((e.params.history.enabled = !1),
(e.params.hashNavigation.enabled = !0));
return;
}
if (((r = !0), (a = c(e.params.url)), !a.key && !a.value)) {
e.params.history.replaceState || p.addEventListener("popstate", o);
return;
}
(u(0, a.value, e.params.runCallbacksOnInit),
e.params.history.replaceState || p.addEventListener("popstate", o));
}
},
d = () => {
const p = X();
e.params.history.replaceState || p.removeEventListener("popstate", o);
};
(i("init", () => {
e.params.history.enabled && l();
}),
i("destroy", () => {
e.params.history.enabled && d();
}),
i("transitionEnd _freeModeNoMomentumRelease", () => {
r && n(e.params.history.key, e.activeIndex);
}),
i("slideChange", () => {
r && e.params.cssMode && n(e.params.history.key, e.activeIndex);
}));
}
function Vs(s) {
let { swiper: e, extendParams: t, emit: i, on: r } = s,
a = !1;
const f = q(),
c = X();
t({
hashNavigation: {
enabled: !1,
replaceState: !1,
watchState: !1,
getSlideIndex(d, p) {
if (e.virtual && e.params.virtual.enabled) {
const h = e.slides.filter(
(w) => w.getAttribute("data-hash") === p,
)[0];
return h
? parseInt(h.getAttribute("data-swiper-slide-index"), 10)
: 0;
}
return e.getSlideIndex(
W(
e.slidesEl,
`.${e.params.slideClass}[data-hash="${p}"], swiper-slide[data-hash="${p}"]`,
)[0],
);
},
},
});
const n = () => {
i("hashChange");
const d = f.location.hash.replace("#", ""),
p =
e.virtual && e.params.virtual.enabled
? e.slidesEl.querySelector(
`[data-swiper-slide-index="${e.activeIndex}"]`,
)
: e.slides[e.activeIndex],
h = p ? p.getAttribute("data-hash") : "";
if (d !== h) {
const g = e.params.hashNavigation.getSlideIndex(e, d);
if (typeof g == "undefined" || Number.isNaN(g)) return;
e.slideTo(g);
}
},
u = () => {
if (!a || !e.params.hashNavigation.enabled) return;
const d =
e.virtual && e.params.virtual.enabled
? e.slidesEl.querySelector(
`[data-swiper-slide-index="${e.activeIndex}"]`,
)
: e.slides[e.activeIndex],
p = d
? d.getAttribute("data-hash") || d.getAttribute("data-history")
: "";
e.params.hashNavigation.replaceState &&
c.history &&
c.history.replaceState
? (c.history.replaceState(null, null, `#${p}` || ""), i("hashSet"))
: ((f.location.hash = p || ""), i("hashSet"));
},
o = () => {
if (
!e.params.hashNavigation.enabled ||
(e.params.history && e.params.history.enabled)
)
return;
a = !0;
const d = f.location.hash.replace("#", "");
if (d) {
const p = 0,
h = e.params.hashNavigation.getSlideIndex(e, d);
e.slideTo(h || 0, p, e.params.runCallbacksOnInit, !0);
}
e.params.hashNavigation.watchState &&
c.addEventListener("hashchange", n);
},
l = () => {
e.params.hashNavigation.watchState &&
c.removeEventListener("hashchange", n);
};
(r("init", () => {
e.params.hashNavigation.enabled && o();
}),
r("destroy", () => {
e.params.hashNavigation.enabled && l();
}),
r("transitionEnd _freeModeNoMomentumRelease", () => {
a && u();
}),
r("slideChange", () => {
a && e.params.cssMode && u();
}));
}
function Gs(s) {
let { swiper: e, extendParams: t, on: i, emit: r, params: a } = s;
((e.autoplay = { running: !1, paused: !1, timeLeft: 0 }),
t({
autoplay: {
enabled: !1,
delay: 3e3,
waitForTransition: !0,
disableOnInteraction: !1,
stopOnLastSlide: !1,
reverseDirection: !1,
pauseOnMouseEnter: !1,
},
}));
let f,
c,
n = a && a.autoplay ? a.autoplay.delay : 3e3,
u = a && a.autoplay ? a.autoplay.delay : 3e3,
o,
l = new Date().getTime(),
d,
p,
h,
g,
w,
y,
v;
function m(L) {
!e ||
e.destroyed ||
!e.wrapperEl ||
(L.target === e.wrapperEl &&
(e.wrapperEl.removeEventListener("transitionend", m),
!(v || (L.detail && L.detail.bySwiperTouchMove)) && P()));
}
const b = () => {
if (e.destroyed || !e.autoplay.running) return;
e.autoplay.paused ? (d = !0) : d && ((u = o), (d = !1));
const L = e.autoplay.paused ? o : l + u - new Date().getTime();
((e.autoplay.timeLeft = L),
r("autoplayTimeLeft", L, L / n),
(c = requestAnimationFrame(() => {
b();
})));
},
S = () => {
let L;
return (
e.virtual && e.params.virtual.enabled
? (L = e.slides.filter((F) =>
F.classList.contains("swiper-slide-active"),
)[0])
: (L = e.slides[e.activeIndex]),
L ? parseInt(L.getAttribute("data-swiper-autoplay"), 10) : void 0
);
},
A = (L) => {
if (e.destroyed || !e.autoplay.running) return;
(cancelAnimationFrame(c), b());
let V = typeof L == "undefined" ? e.params.autoplay.delay : L;
((n = e.params.autoplay.delay), (u = e.params.autoplay.delay));
const F = S();
(!Number.isNaN(F) &&
F > 0 &&
typeof L == "undefined" &&
((V = F), (n = F), (u = F)),
(o = V));
const $ = e.params.speed,
k = () => {
!e ||
e.destroyed ||
(e.params.autoplay.reverseDirection
? !e.isBeginning || e.params.loop || e.params.rewind
? (e.slidePrev($, !0, !0), r("autoplay"))
: e.params.autoplay.stopOnLastSlide ||
(e.slideTo(e.slides.length - 1, $, !0, !0), r("autoplay"))
: !e.isEnd || e.params.loop || e.params.rewind
? (e.slideNext($, !0, !0), r("autoplay"))
: e.params.autoplay.stopOnLastSlide ||
(e.slideTo(0, $, !0, !0), r("autoplay")),
e.params.cssMode &&
((l = new Date().getTime()),
requestAnimationFrame(() => {
A();
})));
};
return (
V > 0
? (clearTimeout(f),
(f = setTimeout(() => {
k();
}, V)))
: requestAnimationFrame(() => {
k();
}),
V
);
},
O = () => {
((l = new Date().getTime()),
(e.autoplay.running = !0),
A(),
r("autoplayStart"));
},
z = () => {
((e.autoplay.running = !1),
clearTimeout(f),
cancelAnimationFrame(c),
r("autoplayStop"));
},
T = (L, V) => {
if (e.destroyed || !e.autoplay.running) return;
(clearTimeout(f), L || (y = !0));
const F = () => {
(r("autoplayPause"),
e.params.autoplay.waitForTransition
? e.wrapperEl.addEventListener("transitionend", m)
: P());
};
if (((e.autoplay.paused = !0), V)) {
(w && (o = e.params.autoplay.delay), (w = !1), F());
return;
}
((o = (o || e.params.autoplay.delay) - (new Date().getTime() - l)),
!(e.isEnd && o < 0 && !e.params.loop) && (o < 0 && (o = 0), F()));
},
P = () => {
(e.isEnd && o < 0 && !e.params.loop) ||
e.destroyed ||
!e.autoplay.running ||
((l = new Date().getTime()),
y ? ((y = !1), A(o)) : A(),
(e.autoplay.paused = !1),
r("autoplayResume"));
},
I = () => {
if (e.destroyed || !e.autoplay.running) return;
const L = q();
(L.visibilityState === "hidden" && ((y = !0), T(!0)),
L.visibilityState === "visible" && P());
},
C = (L) => {
L.pointerType === "mouse" &&
((y = !0), (v = !0), !(e.animating || e.autoplay.paused) && T(!0));
},
E = (L) => {
L.pointerType === "mouse" && ((v = !1), e.autoplay.paused && P());
},
x = () => {
e.params.autoplay.pauseOnMouseEnter &&
(e.el.addEventListener("pointerenter", C),
e.el.addEventListener("pointerleave", E));
},
D = () => {
e.el &&
typeof e.el != "string" &&
(e.el.removeEventListener("pointerenter", C),
e.el.removeEventListener("pointerleave", E));
},
G = () => {
q().addEventListener("visibilitychange", I);
},
M = () => {
q().removeEventListener("visibilitychange", I);
};
(i("init", () => {
e.params.autoplay.enabled && (x(), G(), O());
}),
i("destroy", () => {
(D(), M(), e.autoplay.running && z());
}),
i("_freeModeStaticRelease", () => {
(h || y) && P();
}),
i("_freeModeNoMomentumRelease", () => {
e.params.autoplay.disableOnInteraction ? z() : T(!0, !0);
}),
i("beforeTransitionStart", (L, V, F) => {
e.destroyed ||
!e.autoplay.running ||
(F || !e.params.autoplay.disableOnInteraction ? T(!0, !0) : z());
}),
i("sliderFirstMove", () => {
if (!(e.destroyed || !e.autoplay.running)) {
if (e.params.autoplay.disableOnInteraction) {
z();
return;
}
((p = !0),
(h = !1),
(y = !1),
(g = setTimeout(() => {
((y = !0), (h = !0), T(!0));
}, 200)));
}
}),
i("touchEnd", () => {
if (!(e.destroyed || !e.autoplay.running || !p)) {
if (
(clearTimeout(g),
clearTimeout(f),
e.params.autoplay.disableOnInteraction)
) {
((h = !1), (p = !1));
return;
}
(h && e.params.cssMode && P(), (h = !1), (p = !1));
}
}),
i("slideChange", () => {
e.destroyed || !e.autoplay.running || (w = !0);
}),
Object.assign(e.autoplay, { start: O, stop: z, pause: T, resume: P }));
}
function Bs(s) {
let { swiper: e, extendParams: t, on: i } = s;
t({
thumbs: {
swiper: null,
multipleActiveThumbs: !0,
autoScrollOffset: 0,
slideThumbActiveClass: "swiper-slide-thumb-active",
thumbsContainerClass: "swiper-thumbs",
},
});
let r = !1,
a = !1;
e.thumbs = { swiper: null };
function f() {
const u = e.thumbs.swiper;
if (!u || u.destroyed) return;
const o = u.clickedIndex,
l = u.clickedSlide;
if (
(l && l.classList.contains(e.params.thumbs.slideThumbActiveClass)) ||
typeof o == "undefined" ||
o === null
)
return;
let d;
(u.params.loop
? (d = parseInt(
u.clickedSlide.getAttribute("data-swiper-slide-index"),
10,
))
: (d = o),
e.params.loop ? e.slideToLoop(d) : e.slideTo(d));
}
function c() {
const { thumbs: u } = e.params;
if (r) return !1;
r = !0;
const o = e.constructor;
if (u.swiper instanceof o)
((e.thumbs.swiper = u.swiper),
Object.assign(e.thumbs.swiper.originalParams, {
watchSlidesProgress: !0,
slideToClickedSlide: !1,
}),
Object.assign(e.thumbs.swiper.params, {
watchSlidesProgress: !0,
slideToClickedSlide: !1,
}),
e.thumbs.swiper.update());
else if (ue(u.swiper)) {
const l = Object.assign({}, u.swiper);
(Object.assign(l, { watchSlidesProgress: !0, slideToClickedSlide: !1 }),
(e.thumbs.swiper = new o(l)),
(a = !0));
}
return (
e.thumbs.swiper.el.classList.add(e.params.thumbs.thumbsContainerClass),
e.thumbs.swiper.on("tap", f),
!0
);
}
function n(u) {
const o = e.thumbs.swiper;
if (!o || o.destroyed) return;
const l =
o.params.slidesPerView === "auto"
? o.slidesPerViewDynamic()
: o.params.slidesPerView;
let d = 1;
const p = e.params.thumbs.slideThumbActiveClass;
if (
(e.params.slidesPerView > 1 &&
!e.params.centeredSlides &&
(d = e.params.slidesPerView),
e.params.thumbs.multipleActiveThumbs || (d = 1),
(d = Math.floor(d)),
o.slides.forEach((w) => w.classList.remove(p)),
o.params.loop || (o.params.virtual && o.params.virtual.enabled))
)
for (let w = 0; w < d; w += 1)
W(
o.slidesEl,
`[data-swiper-slide-index="${e.realIndex + w}"]`,
).forEach((y) => {
y.classList.add(p);
});
else
for (let w = 0; w < d; w += 1)
o.slides[e.realIndex + w] &&
o.slides[e.realIndex + w].classList.add(p);
const h = e.params.thumbs.autoScrollOffset,
g = h && !o.params.loop;
if (e.realIndex !== o.realIndex || g) {
const w = o.activeIndex;
let y, v;
if (o.params.loop) {
const m = o.slides.filter(
(b) =>
b.getAttribute("data-swiper-slide-index") === `${e.realIndex}`,
)[0];
((y = o.slides.indexOf(m)),
(v = e.activeIndex > e.previousIndex ? "next" : "prev"));
} else ((y = e.realIndex), (v = y > e.previousIndex ? "next" : "prev"));
(g && (y += v === "next" ? h : -1 * h),
o.visibleSlidesIndexes &&
o.visibleSlidesIndexes.indexOf(y) < 0 &&
(o.params.centeredSlides
? y > w
? (y = y - Math.floor(l / 2) + 1)
: (y = y + Math.floor(l / 2) - 1)
: y > w && o.params.slidesPerGroup === 1,
o.slideTo(y, u ? 0 : void 0)));
}
}
(i("beforeInit", () => {
const { thumbs: u } = e.params;
if (!(!u || !u.swiper))
if (typeof u.swiper == "string" || u.swiper instanceof HTMLElement) {
const o = q(),
l = () => {
const p =
typeof u.swiper == "string"
? o.querySelector(u.swiper)
: u.swiper;
if (p && p.swiper) ((u.swiper = p.swiper), c(), n(!0));
else if (p) {
const h = `${e.params.eventsPrefix}init`,
g = (w) => {
((u.swiper = w.detail[0]),
p.removeEventListener(h, g),
c(),
n(!0),
u.swiper.update(),
e.update());
};
p.addEventListener(h, g);
}
return p;
},
d = () => {
if (e.destroyed) return;
l() || requestAnimationFrame(d);
};
requestAnimationFrame(d);
} else (c(), n(!0));
}),
i("slideChange update resize observerUpdate", () => {
n();
}),
i("setTransition", (u, o) => {
const l = e.thumbs.swiper;
!l || l.destroyed || l.setTransition(o);
}),
i("beforeDestroy", () => {
const u = e.thumbs.swiper;
!u || u.destroyed || (a && u.destroy());
}),
Object.assign(e.thumbs, { init: c, update: n }));
}
function Hs(s) {
let { swiper: e, extendParams: t, emit: i, once: r } = s;
t({
freeMode: {
enabled: !1,
momentum: !0,
momentumRatio: 1,
momentumBounce: !0,
momentumBounceRatio: 1,
momentumVelocityRatio: 1,
sticky: !1,
minimumVelocity: 0.02,
},
});
function a() {
if (e.params.cssMode) return;
const n = e.getTranslate();
(e.setTranslate(n),
e.setTransition(0),
(e.touchEventsData.velocities.length = 0),
e.freeMode.onTouchEnd({
currentPos: e.rtl ? e.translate : -e.translate,
}));
}
function f() {
if (e.params.cssMode) return;
const { touchEventsData: n, touches: u } = e;
(n.velocities.length === 0 &&
n.velocities.push({
position: u[e.isHorizontal() ? "startX" : "startY"],
time: n.touchStartTime,
}),
n.velocities.push({
position: u[e.isHorizontal() ? "currentX" : "currentY"],
time: ee(),
}));
}
function c(n) {
let { currentPos: u } = n;
if (e.params.cssMode) return;
const {
params: o,
wrapperEl: l,
rtlTranslate: d,
snapGrid: p,
touchEventsData: h,
} = e,
w = ee() - h.touchStartTime;
if (u < -e.minTranslate()) {
e.slideTo(e.activeIndex);
return;
}
if (u > -e.maxTranslate()) {
e.slides.length < p.length
? e.slideTo(p.length - 1)
: e.slideTo(e.slides.length - 1);
return;
}
if (o.freeMode.momentum) {
if (h.velocities.length > 1) {
const z = h.velocities.pop(),
T = h.velocities.pop(),
P = z.position - T.position,
I = z.time - T.time;
((e.velocity = P / I),
(e.velocity /= 2),
Math.abs(e.velocity) < o.freeMode.minimumVelocity &&
(e.velocity = 0),
(I > 150 || ee() - z.time > 300) && (e.velocity = 0));
} else e.velocity = 0;
((e.velocity *= o.freeMode.momentumVelocityRatio),
(h.velocities.length = 0));
let y = 1e3 * o.freeMode.momentumRatio;
const v = e.velocity * y;
let m = e.translate + v;
d && (m = -m);
let b = !1,
S;
const A = Math.abs(e.velocity) * 20 * o.freeMode.momentumBounceRatio;
let O;
if (m < e.maxTranslate())
(o.freeMode.momentumBounce
? (m + e.maxTranslate() < -A && (m = e.maxTranslate() - A),
(S = e.maxTranslate()),
(b = !0),
(h.allowMomentumBounce = !0))
: (m = e.maxTranslate()),
o.loop && o.centeredSlides && (O = !0));
else if (m > e.minTranslate())
(o.freeMode.momentumBounce
? (m - e.minTranslate() > A && (m = e.minTranslate() + A),
(S = e.minTranslate()),
(b = !0),
(h.allowMomentumBounce = !0))
: (m = e.minTranslate()),
o.loop && o.centeredSlides && (O = !0));
else if (o.freeMode.sticky) {
let z;
for (let T = 0; T < p.length; T += 1)
if (p[T] > -m) {
z = T;
break;
}
(Math.abs(p[z] - m) < Math.abs(p[z - 1] - m) ||
e.swipeDirection === "next"
? (m = p[z])
: (m = p[z - 1]),
(m = -m));
}
if (
(O &&
r("transitionEnd", () => {
e.loopFix();
}),
e.velocity !== 0)
) {
if (
(d
? (y = Math.abs((-m - e.translate) / e.velocity))
: (y = Math.abs((m - e.translate) / e.velocity)),
o.freeMode.sticky)
) {
const z = Math.abs((d ? -m : m) - e.translate),
T = e.slidesSizesGrid[e.activeIndex];
z < T
? (y = o.speed)
: z < 2 * T
? (y = o.speed * 1.5)
: (y = o.speed * 2.5);
}
} else if (o.freeMode.sticky) {
e.slideToClosest();
return;
}
(o.freeMode.momentumBounce && b
? (e.updateProgress(S),
e.setTransition(y),
e.setTranslate(m),
e.transitionStart(!0, e.swipeDirection),
(e.animating = !0),
he(l, () => {
!e ||
e.destroyed ||
!h.allowMomentumBounce ||
(i("momentumBounce"),
e.setTransition(o.speed),
setTimeout(() => {
(e.setTranslate(S),
he(l, () => {
!e || e.destroyed || e.transitionEnd();
}));
}, 0));
}))
: e.velocity
? (i("_freeModeNoMomentumRelease"),
e.updateProgress(m),
e.setTransition(y),
e.setTranslate(m),
e.transitionStart(!0, e.swipeDirection),
e.animating ||
((e.animating = !0),
he(l, () => {
!e || e.destroyed || e.transitionEnd();
})))
: e.updateProgress(m),
e.updateActiveIndex(),
e.updateSlidesClasses());
} else if (o.freeMode.sticky) {
e.slideToClosest();
return;
} else o.freeMode && i("_freeModeNoMomentumRelease");
(!o.freeMode.momentum || w >= o.longSwipesMs) &&
(i("_freeModeStaticRelease"),
e.updateProgress(),
e.updateActiveIndex(),
e.updateSlidesClasses());
}
Object.assign(e, {
freeMode: { onTouchStart: a, onTouchMove: f, onTouchEnd: c },
});
}
function Fs(s) {
let { swiper: e, extendParams: t, on: i } = s;
t({ grid: { rows: 1, fill: "column" } });
let r, a, f, c;
const n = () => {
let g = e.params.spaceBetween;
return (
typeof g == "string" && g.indexOf("%") >= 0
? (g = (parseFloat(g.replace("%", "")) / 100) * e.size)
: typeof g == "string" && (g = parseFloat(g)),
g
);
},
u = (g) => {
const { slidesPerView: w } = e.params,
{ rows: y, fill: v } = e.params.grid,
m =
e.virtual && e.params.virtual.enabled
? e.virtual.slides.length
: g.length;
((f = Math.floor(m / y)),
Math.floor(m / y) === m / y ? (r = m) : (r = Math.ceil(m / y) * y),
w !== "auto" && v === "row" && (r = Math.max(r, w * y)),
(a = r / y));
},
o = () => {
e.slides &&
e.slides.forEach((g) => {
g.swiperSlideGridSet &&
((g.style.height = ""),
(g.style[e.getDirectionLabel("margin-top")] = ""));
});
},
l = (g, w, y) => {
const { slidesPerGroup: v } = e.params,
m = n(),
{ rows: b, fill: S } = e.params.grid,
A =
e.virtual && e.params.virtual.enabled
? e.virtual.slides.length
: y.length;
let O, z, T;
if (S === "row" && v > 1) {
const P = Math.floor(g / (v * b)),
I = g - b * v * P,
C = P === 0 ? v : Math.min(Math.ceil((A - P * b * v) / b), v);
((T = Math.floor(I / C)),
(z = I - T * C + P * v),
(O = z + (T * r) / b),
(w.style.order = O));
} else
S === "column"
? ((z = Math.floor(g / b)),
(T = g - z * b),
(z > f || (z === f && T === b - 1)) &&
((T += 1), T >= b && ((T = 0), (z += 1))))
: ((T = Math.floor(g / a)), (z = g - T * a));
((w.row = T),
(w.column = z),
(w.style.height = `calc((100% - ${(b - 1) * m}px) / ${b})`),
(w.style[e.getDirectionLabel("margin-top")] =
T !== 0 ? m && `${m}px` : ""),
(w.swiperSlideGridSet = !0));
},
d = (g, w) => {
const { centeredSlides: y, roundLengths: v } = e.params,
m = n(),
{ rows: b } = e.params.grid;
if (
((e.virtualSize = (g + m) * r),
(e.virtualSize = Math.ceil(e.virtualSize / b) - m),
e.params.cssMode ||
(e.wrapperEl.style[e.getDirectionLabel("width")] = `${
e.virtualSize + m
}px`),
y)
) {
const S = [];
for (let A = 0; A < w.length; A += 1) {
let O = w[A];
(v && (O = Math.floor(O)),
w[A] < e.virtualSize + w[0] && S.push(O));
}
(w.splice(0, w.length), w.push(...S));
}
},
p = () => {
c = e.params.grid && e.params.grid.rows > 1;
},
h = () => {
const { params: g, el: w } = e,
y = g.grid && g.grid.rows > 1;
(c && !y
? (w.classList.remove(
`${g.containerModifierClass}grid`,
`${g.containerModifierClass}grid-column`,
),
(f = 1),
e.emitContainerClasses())
: !c &&
y &&
(w.classList.add(`${g.containerModifierClass}grid`),
g.grid.fill === "column" &&
w.classList.add(`${g.containerModifierClass}grid-column`),
e.emitContainerClasses()),
(c = y));
};
(i("init", p),
i("update", h),
(e.grid = {
initSlides: u,
unsetSlides: o,
updateSlide: l,
updateWrapperSize: d,
}));
}
function Ns(s) {
const e = this,
{ params: t, slidesEl: i } = e;
t.loop && e.loopDestroy();
const r = (a) => {
if (typeof a == "string") {
const f = document.createElement("div");
((f.innerHTML = a), i.append(f.children[0]), (f.innerHTML = ""));
} else i.append(a);
};
if (typeof s == "object" && "length" in s)
for (let a = 0; a < s.length; a += 1) s[a] && r(s[a]);
else r(s);
(e.recalcSlides(),
t.loop && e.loopCreate(),
(!t.observer || e.isElement) && e.update());
}
function Rs(s) {
const e = this,
{ params: t, activeIndex: i, slidesEl: r } = e;
t.loop && e.loopDestroy();
let a = i + 1;
const f = (c) => {
if (typeof c == "string") {
const n = document.createElement("div");
((n.innerHTML = c), r.prepend(n.children[0]), (n.innerHTML = ""));
} else r.prepend(c);
};
if (typeof s == "object" && "length" in s) {
for (let c = 0; c < s.length; c += 1) s[c] && f(s[c]);
a = i + s.length;
} else f(s);
(e.recalcSlides(),
t.loop && e.loopCreate(),
(!t.observer || e.isElement) && e.update(),
e.slideTo(a, 0, !1));
}
function Ys(s, e) {
const t = this,
{ params: i, activeIndex: r, slidesEl: a } = t;
let f = r;
i.loop && ((f -= t.loopedSlides), t.loopDestroy(), t.recalcSlides());
const c = t.slides.length;
if (s <= 0) {
t.prependSlide(e);
return;
}
if (s >= c) {
t.appendSlide(e);
return;
}
let n = f > s ? f + 1 : f;
const u = [];
for (let o = c - 1; o >= s; o -= 1) {
const l = t.slides[o];
(l.remove(), u.unshift(l));
}
if (typeof e == "object" && "length" in e) {
for (let o = 0; o < e.length; o += 1) e[o] && a.append(e[o]);
n = f > s ? f + e.length : f;
} else a.append(e);
for (let o = 0; o < u.length; o += 1) a.append(u[o]);
(t.recalcSlides(),
i.loop && t.loopCreate(),
(!i.observer || t.isElement) && t.update(),
i.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1));
}
function Xs(s) {
const e = this,
{ params: t, activeIndex: i } = e;
let r = i;
t.loop && ((r -= e.loopedSlides), e.loopDestroy());
let a = r,
f;
if (typeof s == "object" && "length" in s) {
for (let c = 0; c < s.length; c += 1)
((f = s[c]), e.slides[f] && e.slides[f].remove(), f < a && (a -= 1));
a = Math.max(a, 0);
} else
((f = s),
e.slides[f] && e.slides[f].remove(),
f < a && (a -= 1),
(a = Math.max(a, 0)));
(e.recalcSlides(),
t.loop && e.loopCreate(),
(!t.observer || e.isElement) && e.update(),
t.loop ? e.slideTo(a + e.loopedSlides, 0, !1) : e.slideTo(a, 0, !1));
}
function qs() {
const s = this,
e = [];
for (let t = 0; t < s.slides.length; t += 1) e.push(t);
s.removeSlide(e);
}
function Ws(s) {
let { swiper: e } = s;
Object.assign(e, {
appendSlide: Ns.bind(e),
prependSlide: Rs.bind(e),
addSlide: Ys.bind(e),
removeSlide: Xs.bind(e),
removeAllSlides: qs.bind(e),
});
}
function de(s) {
const {
effect: e,
swiper: t,
on: i,
setTranslate: r,
setTransition: a,
overwriteParams: f,
perspective: c,
recreateShadows: n,
getEffectParams: u,
} = s;
(i("beforeInit", () => {
if (t.params.effect !== e) return;
(t.classNames.push(`${t.params.containerModifierClass}${e}`),
c && c() && t.classNames.push(`${t.params.containerModifierClass}3d`));
const l = f ? f() : {};
(Object.assign(t.params, l), Object.assign(t.originalParams, l));
}),
i("setTranslate", () => {
t.params.effect === e && r();
}),
i("setTransition", (l, d) => {
t.params.effect === e && a(d);
}),
i("transitionEnd", () => {
if (t.params.effect === e && n) {
if (!u || !u().slideShadows) return;
(t.slides.forEach((l) => {
l.querySelectorAll(
".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left",
).forEach((d) => d.remove());
}),
n());
}
}));
let o;
i("virtualUpdate", () => {
t.params.effect === e &&
(t.slides.length || (o = !0),
requestAnimationFrame(() => {
o && t.slides && t.slides.length && (r(), (o = !1));
}));
});
}
function ge(s, e) {
const t = ne(e);
return (
t !== e &&
((t.style.backfaceVisibility = "hidden"),
(t.style["-webkit-backface-visibility"] = "hidden")),
t
);
}
function xe(s) {
let { swiper: e, duration: t, transformElements: i, allSlides: r } = s;
const { activeIndex: a } = e,
f = (c) =>
c.parentElement
? c.parentElement
: e.slides.filter(
(u) => u.shadowRoot && u.shadowRoot === c.parentNode,
)[0];
if (e.params.virtualTranslate && t !== 0) {
let c = !1,
n;
(r
? (n = i)
: (n = i.filter((u) => {
const o = u.classList.contains("swiper-slide-transform") ? f(u) : u;
return e.getSlideIndex(o) === a;
})),
n.forEach((u) => {
he(u, () => {
if (c || !e || e.destroyed) return;
((c = !0), (e.animating = !1));
const o = new window.CustomEvent("transitionend", {
bubbles: !0,
cancelable: !0,
});
e.wrapperEl.dispatchEvent(o);
});
}));
}
}
function _s(s) {
let { swiper: e, extendParams: t, on: i } = s;
(t({ fadeEffect: { crossFade: !1 } }),
de({
effect: "fade",
swiper: e,
on: i,
setTranslate: () => {
const { slides: f } = e,
c = e.params.fadeEffect;
for (let n = 0; n < f.length; n += 1) {
const u = e.slides[n];
let l = -u.swiperSlideOffset;
e.params.virtualTranslate || (l -= e.translate);
let d = 0;
e.isHorizontal() || ((d = l), (l = 0));
const p = e.params.fadeEffect.crossFade
? Math.max(1 - Math.abs(u.progress), 0)
: 1 + Math.min(Math.max(u.progress, -1), 0),
h = ge(c, u);
((h.style.opacity = p),
(h.style.transform = `translate3d(${l}px, ${d}px, 0px)`));
}
},
setTransition: (f) => {
const c = e.slides.map((n) => ne(n));
(c.forEach((n) => {
n.style.transitionDuration = `${f}ms`;
}),
xe({
swiper: e,
duration: f,
transformElements: c,
allSlides: !0,
}));
},
overwriteParams: () => ({
slidesPerView: 1,
slidesPerGroup: 1,
watchSlidesProgress: !0,
spaceBetween: 0,
virtualTranslate: !e.params.cssMode,
}),
}));
}
function js(s) {
let { swiper: e, extendParams: t, on: i } = s;
t({
cubeEffect: {
slideShadows: !0,
shadow: !0,
shadowOffset: 20,
shadowScale: 0.94,
},
});
const r = (n, u, o) => {
let l = o
? n.querySelector(".swiper-slide-shadow-left")
: n.querySelector(".swiper-slide-shadow-top"),
d = o
? n.querySelector(".swiper-slide-shadow-right")
: n.querySelector(".swiper-slide-shadow-bottom");
(l ||
((l = J(
"div",
`swiper-slide-shadow-cube swiper-slide-shadow-${
o ? "left" : "top"
}`.split(" "),
)),
n.append(l)),
d ||
((d = J(
"div",
`swiper-slide-shadow-cube swiper-slide-shadow-${
o ? "right" : "bottom"
}`.split(" "),
)),
n.append(d)),
l && (l.style.opacity = Math.max(-u, 0)),
d && (d.style.opacity = Math.max(u, 0)));
};
de({
effect: "cube",
swiper: e,
on: i,
setTranslate: () => {
const {
el: n,
wrapperEl: u,
slides: o,
width: l,
height: d,
rtlTranslate: p,
size: h,
browser: g,
} = e,
w = Se(e),
y = e.params.cubeEffect,
v = e.isHorizontal(),
m = e.virtual && e.params.virtual.enabled;
let b = 0,
S;
y.shadow &&
(v
? ((S = e.wrapperEl.querySelector(".swiper-cube-shadow")),
S ||
((S = J("div", "swiper-cube-shadow")), e.wrapperEl.append(S)),
(S.style.height = `${l}px`))
: ((S = n.querySelector(".swiper-cube-shadow")),
S || ((S = J("div", "swiper-cube-shadow")), n.append(S))));
for (let O = 0; O < o.length; O += 1) {
const z = o[O];
let T = O;
m && (T = parseInt(z.getAttribute("data-swiper-slide-index"), 10));
let P = T * 90,
I = Math.floor(P / 360);
p && ((P = -P), (I = Math.floor(-P / 360)));
const C = Math.max(Math.min(z.progress, 1), -1);
let E = 0,
x = 0,
D = 0;
(T % 4 == 0
? ((E = -I * 4 * h), (D = 0))
: (T - 1) % 4 == 0
? ((E = 0), (D = -I * 4 * h))
: (T - 2) % 4 == 0
? ((E = h + I * 4 * h), (D = h))
: (T - 3) % 4 == 0 && ((E = -h), (D = 3 * h + h * 4 * I)),
p && (E = -E),
v || ((x = E), (E = 0)));
const G = `rotateX(${w(v ? 0 : -P)}deg) rotateY(${w(
v ? P : 0,
)}deg) translate3d(${E}px, ${x}px, ${D}px)`;
(C <= 1 &&
C > -1 &&
((b = T * 90 + C * 90), p && (b = -T * 90 - C * 90)),
(z.style.transform = G),
y.slideShadows && r(z, C, v));
}
if (
((u.style.transformOrigin = `50% 50% -${h / 2}px`),
(u.style["-webkit-transform-origin"] = `50% 50% -${h / 2}px`),
y.shadow)
)
if (v)
S.style.transform = `translate3d(0px, ${
l / 2 + y.shadowOffset
}px, ${-l / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${
y.shadowScale
})`;
else {
const O = Math.abs(b) - Math.floor(Math.abs(b) / 90) * 90,
z =
1.5 -
(Math.sin((O * 2 * Math.PI) / 360) / 2 +
Math.cos((O * 2 * Math.PI) / 360) / 2),
T = y.shadowScale,
P = y.shadowScale / z,
I = y.shadowOffset;
S.style.transform = `scale3d(${T}, 1, ${P}) translate3d(0px, ${
d / 2 + I
}px, ${-d / 2 / P}px) rotateX(-89.99deg)`;
}
const A =
(g.isSafari || g.isWebView) && g.needPerspectiveFix ? -h / 2 : 0;
((u.style.transform = `translate3d(0px,0,${A}px) rotateX(${w(
e.isHorizontal() ? 0 : b,
)}deg) rotateY(${w(e.isHorizontal() ? -b : 0)}deg)`),
u.style.setProperty("--swiper-cube-translate-z", `${A}px`));
},
setTransition: (n) => {
const { el: u, slides: o } = e;
if (
(o.forEach((l) => {
((l.style.transitionDuration = `${n}ms`),
l
.querySelectorAll(
".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left",
)
.forEach((d) => {
d.style.transitionDuration = `${n}ms`;
}));
}),
e.params.cubeEffect.shadow && !e.isHorizontal())
) {
const l = u.querySelector(".swiper-cube-shadow");
l && (l.style.transitionDuration = `${n}ms`);
}
},
recreateShadows: () => {
const n = e.isHorizontal();
e.slides.forEach((u) => {
const o = Math.max(Math.min(u.progress, 1), -1);
r(u, o, n);
});
},
getEffectParams: () => e.params.cubeEffect,
perspective: () => !0,
overwriteParams: () => ({
slidesPerView: 1,
slidesPerGroup: 1,
watchSlidesProgress: !0,
resistanceRatio: 0,
spaceBetween: 0,
centeredSlides: !1,
virtualTranslate: !0,
}),
});
}
function ce(s, e, t) {
const i = `swiper-slide-shadow${t ? `-${t}` : ""}${
s ? ` swiper-slide-shadow-${s}` : ""
}`,
r = ne(e);
let a = r.querySelector(`.${i.split(" ").join(".")}`);
return (a || ((a = J("div", i.split(" "))), r.append(a)), a);
}
function Us(s) {
let { swiper: e, extendParams: t, on: i } = s;
t({ flipEffect: { slideShadows: !0, limitRotation: !0 } });
const r = (n, u) => {
let o = e.isHorizontal()
? n.querySelector(".swiper-slide-shadow-left")
: n.querySelector(".swiper-slide-shadow-top"),
l = e.isHorizontal()
? n.querySelector(".swiper-slide-shadow-right")
: n.querySelector(".swiper-slide-shadow-bottom");
(o || (o = ce("flip", n, e.isHorizontal() ? "left" : "top")),
l || (l = ce("flip", n, e.isHorizontal() ? "right" : "bottom")),
o && (o.style.opacity = Math.max(-u, 0)),
l && (l.style.opacity = Math.max(u, 0)));
};
de({
effect: "flip",
swiper: e,
on: i,
setTranslate: () => {
const { slides: n, rtlTranslate: u } = e,
o = e.params.flipEffect,
l = Se(e);
for (let d = 0; d < n.length; d += 1) {
const p = n[d];
let h = p.progress;
e.params.flipEffect.limitRotation &&
(h = Math.max(Math.min(p.progress, 1), -1));
const g = p.swiperSlideOffset;
let y = -180 * h,
v = 0,
m = e.params.cssMode ? -g - e.translate : -g,
b = 0;
(e.isHorizontal()
? u && (y = -y)
: ((b = m), (m = 0), (v = -y), (y = 0)),
(p.style.zIndex = -Math.abs(Math.round(h)) + n.length),
o.slideShadows && r(p, h));
const S = `translate3d(${m}px, ${b}px, 0px) rotateX(${l(
v,
)}deg) rotateY(${l(y)}deg)`,
A = ge(o, p);
A.style.transform = S;
}
},
setTransition: (n) => {
const u = e.slides.map((o) => ne(o));
(u.forEach((o) => {
((o.style.transitionDuration = `${n}ms`),
o
.querySelectorAll(
".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left",
)
.forEach((l) => {
l.style.transitionDuration = `${n}ms`;
}));
}),
xe({ swiper: e, duration: n, transformElements: u }));
},
recreateShadows: () => {
(e.params.flipEffect,
e.slides.forEach((n) => {
let u = n.progress;
(e.params.flipEffect.limitRotation &&
(u = Math.max(Math.min(n.progress, 1), -1)),
r(n, u));
}));
},
getEffectParams: () => e.params.flipEffect,
perspective: () => !0,
overwriteParams: () => ({
slidesPerView: 1,
slidesPerGroup: 1,
watchSlidesProgress: !0,
spaceBetween: 0,
virtualTranslate: !e.params.cssMode,
}),
});
}
function Ks(s) {
let { swiper: e, extendParams: t, on: i } = s;
(t({
coverflowEffect: {
rotate: 50,
stretch: 0,
depth: 100,
scale: 1,
modifier: 1,
slideShadows: !0,
},
}),
de({
effect: "coverflow",
swiper: e,
on: i,
setTranslate: () => {
const { width: f, height: c, slides: n, slidesSizesGrid: u } = e,
o = e.params.coverflowEffect,
l = e.isHorizontal(),
d = e.translate,
p = l ? -d + f / 2 : -d + c / 2,
h = l ? o.rotate : -o.rotate,
g = o.depth,
w = Se(e);
for (let y = 0, v = n.length; y < v; y += 1) {
const m = n[y],
b = u[y],
S = m.swiperSlideOffset,
A = (p - S - b / 2) / b,
O =
typeof o.modifier == "function"
? o.modifier(A)
: A * o.modifier;
let z = l ? h * O : 0,
T = l ? 0 : h * O,
P = -g * Math.abs(O),
I = o.stretch;
typeof I == "string" &&
I.indexOf("%") !== -1 &&
(I = (parseFloat(o.stretch) / 100) * b);
let C = l ? 0 : I * O,
E = l ? I * O : 0,
x = 1 - (1 - o.scale) * Math.abs(O);
(Math.abs(E) < 0.001 && (E = 0),
Math.abs(C) < 0.001 && (C = 0),
Math.abs(P) < 0.001 && (P = 0),
Math.abs(z) < 0.001 && (z = 0),
Math.abs(T) < 0.001 && (T = 0),
Math.abs(x) < 0.001 && (x = 0));
const D = `translate3d(${E}px,${C}px,${P}px) rotateX(${w(
T,
)}deg) rotateY(${w(z)}deg) scale(${x})`,
G = ge(o, m);
if (
((G.style.transform = D),
(m.style.zIndex = -Math.abs(Math.round(O)) + 1),
o.slideShadows)
) {
let M = l
? m.querySelector(".swiper-slide-shadow-left")
: m.querySelector(".swiper-slide-shadow-top"),
L = l
? m.querySelector(".swiper-slide-shadow-right")
: m.querySelector(".swiper-slide-shadow-bottom");
(M || (M = ce("coverflow", m, l ? "left" : "top")),
L || (L = ce("coverflow", m, l ? "right" : "bottom")),
M && (M.style.opacity = O > 0 ? O : 0),
L && (L.style.opacity = -O > 0 ? -O : 0));
}
}
},
setTransition: (f) => {
e.slides
.map((n) => ne(n))
.forEach((n) => {
((n.style.transitionDuration = `${f}ms`),
n
.querySelectorAll(
".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left",
)
.forEach((u) => {
u.style.transitionDuration = `${f}ms`;
}));
});
},
perspective: () => !0,
overwriteParams: () => ({ watchSlidesProgress: !0 }),
}));
}
function Zs(s) {
let { swiper: e, extendParams: t, on: i } = s;
t({
creativeEffect: {
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 r = (c) => (typeof c == "string" ? c : `${c}px`);
de({
effect: "creative",
swiper: e,
on: i,
setTranslate: () => {
const { slides: c, wrapperEl: n, slidesSizesGrid: u } = e,
o = e.params.creativeEffect,
{ progressMultiplier: l } = o,
d = e.params.centeredSlides,
p = Se(e);
if (d) {
const h = u[0] / 2 - e.params.slidesOffsetBefore || 0;
n.style.transform = `translateX(calc(50% - ${h}px))`;
}
for (let h = 0; h < c.length; h += 1) {
const g = c[h],
w = g.progress,
y = Math.min(
Math.max(g.progress, -o.limitProgress),
o.limitProgress,
);
let v = y;
d ||
(v = Math.min(
Math.max(g.originalProgress, -o.limitProgress),
o.limitProgress,
));
const m = g.swiperSlideOffset,
b = [e.params.cssMode ? -m - e.translate : -m, 0, 0],
S = [0, 0, 0];
let A = !1;
e.isHorizontal() || ((b[1] = b[0]), (b[0] = 0));
let O = {
translate: [0, 0, 0],
rotate: [0, 0, 0],
scale: 1,
opacity: 1,
};
(y < 0 ? ((O = o.next), (A = !0)) : y > 0 && ((O = o.prev), (A = !0)),
b.forEach((x, D) => {
b[D] = `calc(${x}px + (${r(O.translate[D])} * ${Math.abs(
y * l,
)}))`;
}),
S.forEach((x, D) => {
let G = O.rotate[D] * Math.abs(y * l);
S[D] = G;
}),
(g.style.zIndex = -Math.abs(Math.round(w)) + c.length));
const z = b.join(", "),
T = `rotateX(${p(S[0])}deg) rotateY(${p(S[1])}deg) rotateZ(${p(
S[2],
)}deg)`,
P =
v < 0
? `scale(${1 + (1 - O.scale) * v * l})`
: `scale(${1 - (1 - O.scale) * v * l})`,
I =
v < 0 ? 1 + (1 - O.opacity) * v * l : 1 - (1 - O.opacity) * v * l,
C = `translate3d(${z}) ${T} ${P}`;
if ((A && O.shadow) || !A) {
let x = g.querySelector(".swiper-slide-shadow");
if ((!x && O.shadow && (x = ce("creative", g)), x)) {
const D = o.shadowPerProgress ? y * (1 / o.limitProgress) : y;
x.style.opacity = Math.min(Math.max(Math.abs(D), 0), 1);
}
}
const E = ge(o, g);
((E.style.transform = C),
(E.style.opacity = I),
O.origin && (E.style.transformOrigin = O.origin));
}
},
setTransition: (c) => {
const n = e.slides.map((u) => ne(u));
(n.forEach((u) => {
((u.style.transitionDuration = `${c}ms`),
u.querySelectorAll(".swiper-slide-shadow").forEach((o) => {
o.style.transitionDuration = `${c}ms`;
}));
}),
xe({ swiper: e, duration: c, transformElements: n, allSlides: !0 }));
},
perspective: () => e.params.creativeEffect.perspective,
overwriteParams: () => ({
watchSlidesProgress: !0,
virtualTranslate: !e.params.cssMode,
}),
});
}
function Qs(s) {
let { swiper: e, extendParams: t, on: i } = s;
(t({
cardsEffect: {
slideShadows: !0,
rotate: !0,
perSlideRotate: 2,
perSlideOffset: 8,
},
}),
de({
effect: "cards",
swiper: e,
on: i,
setTranslate: () => {
const { slides: f, activeIndex: c, rtlTranslate: n } = e,
u = e.params.cardsEffect,
{ startTranslate: o, isTouched: l } = e.touchEventsData,
d = n ? -e.translate : e.translate;
for (let p = 0; p < f.length; p += 1) {
const h = f[p],
g = h.progress,
w = Math.min(Math.max(g, -4), 4);
let y = h.swiperSlideOffset;
(e.params.centeredSlides &&
!e.params.cssMode &&
(e.wrapperEl.style.transform = `translateX(${e.minTranslate()}px)`),
e.params.centeredSlides &&
e.params.cssMode &&
(y -= f[0].swiperSlideOffset));
let v = e.params.cssMode ? -y - e.translate : -y,
m = 0;
const b = -100 * Math.abs(w);
let S = 1,
A = -u.perSlideRotate * w,
O = u.perSlideOffset - Math.abs(w) * 0.75;
const z =
e.virtual && e.params.virtual.enabled ? e.virtual.from + p : p,
T =
(z === c || z === c - 1) &&
w > 0 &&
w < 1 &&
(l || e.params.cssMode) &&
d < o,
P =
(z === c || z === c + 1) &&
w < 0 &&
w > -1 &&
(l || e.params.cssMode) &&
d > o;
if (T || P) {
const x = (1 - Math.abs((Math.abs(w) - 0.5) / 0.5)) ** 0.5;
((A += -28 * w * x),
(S += -0.5 * x),
(O += 96 * x),
(m = `${-25 * x * Math.abs(w)}%`));
}
if (
(w < 0
? (v = `calc(${v}px ${n ? "-" : "+"} (${O * Math.abs(w)}%))`)
: w > 0
? (v = `calc(${v}px ${n ? "-" : "+"} (-${O * Math.abs(w)}%))`)
: (v = `${v}px`),
!e.isHorizontal())
) {
const x = m;
((m = v), (v = x));
}
const I = w < 0 ? `${1 + (1 - S) * w}` : `${1 - (1 - S) * w}`,
C = `
translate3d(${v}, ${m}, ${b}px)
rotateZ(${u.rotate ? (n ? -A : A) : 0}deg)
scale(${I})
`;
if (u.slideShadows) {
let x = h.querySelector(".swiper-slide-shadow");
(x || (x = ce("cards", h)),
x &&
(x.style.opacity = Math.min(
Math.max((Math.abs(w) - 0.5) / 0.5, 0),
1,
)));
}
h.style.zIndex = -Math.abs(Math.round(g)) + f.length;
const E = ge(u, h);
E.style.transform = C;
}
},
setTransition: (f) => {
const c = e.slides.map((n) => ne(n));
(c.forEach((n) => {
((n.style.transitionDuration = `${f}ms`),
n.querySelectorAll(".swiper-slide-shadow").forEach((u) => {
u.style.transitionDuration = `${f}ms`;
}));
}),
xe({ swiper: e, duration: f, transformElements: c }));
},
perspective: () => !0,
overwriteParams: () => ({
watchSlidesProgress: !0,
virtualTranslate: !e.params.cssMode,
}),
}));
}
const Js = [
Ms,
Cs,
Ps,
Ls,
Is,
As,
zs,
Ds,
Os,
$s,
ks,
Vs,
Gs,
Bs,
Hs,
Fs,
Ws,
_s,
js,
Us,
Ks,
Zs,
Qs,
];
K.use(Js);
var Te = function () {
return (
(Te =
Object.assign ||
function (s) {
for (var e, t = 1, i = arguments.length; t < i; t++)
for (var r in (e = arguments[t]))
Object.prototype.hasOwnProperty.call(e, r) && (s[r] = e[r]);
return s;
}),
Te.apply(this, arguments)
);
},
ei = (function () {
function s(e, t, i) {
var r = this;
((this.endVal = t),
(this.options = i),
(this.version = "2.8.0"),
(this.defaults = {
startVal: 0,
decimalPlaces: 0,
duration: 2,
useEasing: !0,
useGrouping: !0,
useIndianSeparators: !1,
smartEasingThreshold: 999,
smartEasingAmount: 333,
separator: ",",
decimal: ".",
prefix: "",
suffix: "",
enableScrollSpy: !1,
scrollSpyDelay: 200,
scrollSpyOnce: !1,
}),
(this.finalEndVal = null),
(this.useEasing = !0),
(this.countDown = !1),
(this.error = ""),
(this.startVal = 0),
(this.paused = !0),
(this.once = !1),
(this.count = function (a) {
r.startTime || (r.startTime = a);
var f = a - r.startTime;
((r.remaining = r.duration - f),
r.useEasing
? r.countDown
? (r.frameVal =
r.startVal -
r.easingFn(f, 0, r.startVal - r.endVal, r.duration))
: (r.frameVal = r.easingFn(
f,
r.startVal,
r.endVal - r.startVal,
r.duration,
))
: (r.frameVal =
r.startVal + (r.endVal - r.startVal) * (f / r.duration)));
var c = r.countDown ? r.frameVal < r.endVal : r.frameVal > r.endVal;
((r.frameVal = c ? r.endVal : r.frameVal),
(r.frameVal = Number(
r.frameVal.toFixed(r.options.decimalPlaces),
)),
r.printValue(r.frameVal),
f < r.duration
? (r.rAF = requestAnimationFrame(r.count))
: r.finalEndVal !== null
? r.update(r.finalEndVal)
: r.options.onCompleteCallback &&
r.options.onCompleteCallback());
}),
(this.formatNumber = function (a) {
var f,
c,
n,
u,
o = a < 0 ? "-" : "";
f = Math.abs(a).toFixed(r.options.decimalPlaces);
var l = (f += "").split(".");
if (
((c = l[0]),
(n = l.length > 1 ? r.options.decimal + l[1] : ""),
r.options.useGrouping)
) {
u = "";
for (var d = 3, p = 0, h = 0, g = c.length; h < g; ++h)
(r.options.useIndianSeparators && h === 4 && ((d = 2), (p = 1)),
h !== 0 && p % d == 0 && (u = r.options.separator + u),
p++,
(u = c[g - h - 1] + u));
c = u;
}
return (
r.options.numerals &&
r.options.numerals.length &&
((c = c.replace(/[0-9]/g, function (w) {
return r.options.numerals[+w];
})),
(n = n.replace(/[0-9]/g, function (w) {
return r.options.numerals[+w];
}))),
o + r.options.prefix + c + n + r.options.suffix
);
}),
(this.easeOutExpo = function (a, f, c, n) {
return (c * (1 - Math.pow(2, (-10 * a) / n)) * 1024) / 1023 + f;
}),
(this.options = Te(Te({}, this.defaults), i)),
(this.formattingFn = this.options.formattingFn
? this.options.formattingFn
: this.formatNumber),
(this.easingFn = this.options.easingFn
? this.options.easingFn
: this.easeOutExpo),
(this.startVal = this.validateValue(this.options.startVal)),
(this.frameVal = this.startVal),
(this.endVal = this.validateValue(t)),
(this.options.decimalPlaces = Math.max(this.options.decimalPlaces)),
this.resetDuration(),
(this.options.separator = String(this.options.separator)),
(this.useEasing = this.options.useEasing),
this.options.separator === "" && (this.options.useGrouping = !1),
(this.el = typeof e == "string" ? document.getElementById(e) : e),
this.el
? this.printValue(this.startVal)
: (this.error = "[CountUp] target is null or undefined"),
typeof window != "undefined" &&
this.options.enableScrollSpy &&
(this.error
? console.error(this.error, e)
: ((window.onScrollFns = window.onScrollFns || []),
window.onScrollFns.push(function () {
return r.handleScroll(r);
}),
(window.onscroll = function () {
window.onScrollFns.forEach(function (a) {
return a();
});
}),
this.handleScroll(this))));
}
return (
(s.prototype.handleScroll = function (e) {
if (e && window && !e.once) {
var t = window.innerHeight + window.scrollY,
i = e.el.getBoundingClientRect(),
r = i.top + window.pageYOffset,
a = i.top + i.height + window.pageYOffset;
a < t && a > window.scrollY && e.paused
? ((e.paused = !1),
setTimeout(function () {
return e.start();
}, e.options.scrollSpyDelay),
e.options.scrollSpyOnce && (e.once = !0))
: (window.scrollY > a || r > t) && !e.paused && e.reset();
}
}),
(s.prototype.determineDirectionAndSmartEasing = function () {
var e = this.finalEndVal ? this.finalEndVal : this.endVal;
this.countDown = this.startVal > e;
var t = e - this.startVal;
if (
Math.abs(t) > this.options.smartEasingThreshold &&
this.options.useEasing
) {
this.finalEndVal = e;
var i = this.countDown ? 1 : -1;
((this.endVal = e + i * this.options.smartEasingAmount),
(this.duration = this.duration / 2));
} else ((this.endVal = e), (this.finalEndVal = null));
this.finalEndVal !== null
? (this.useEasing = !1)
: (this.useEasing = this.options.useEasing);
}),
(s.prototype.start = function (e) {
this.error ||
(this.options.onStartCallback && this.options.onStartCallback(),
e && (this.options.onCompleteCallback = e),
this.duration > 0
? (this.determineDirectionAndSmartEasing(),
(this.paused = !1),
(this.rAF = requestAnimationFrame(this.count)))
: this.printValue(this.endVal));
}),
(s.prototype.pauseResume = function () {
(this.paused
? ((this.startTime = null),
(this.duration = this.remaining),
(this.startVal = this.frameVal),
this.determineDirectionAndSmartEasing(),
(this.rAF = requestAnimationFrame(this.count)))
: cancelAnimationFrame(this.rAF),
(this.paused = !this.paused));
}),
(s.prototype.reset = function () {
(cancelAnimationFrame(this.rAF),
(this.paused = !0),
this.resetDuration(),
(this.startVal = this.validateValue(this.options.startVal)),
(this.frameVal = this.startVal),
this.printValue(this.startVal));
}),
(s.prototype.update = function (e) {
(cancelAnimationFrame(this.rAF),
(this.startTime = null),
(this.endVal = this.validateValue(e)),
this.endVal !== this.frameVal &&
((this.startVal = this.frameVal),
this.finalEndVal == null && this.resetDuration(),
(this.finalEndVal = null),
this.determineDirectionAndSmartEasing(),
(this.rAF = requestAnimationFrame(this.count))));
}),
(s.prototype.printValue = function (e) {
var t;
if (this.el) {
var i = this.formattingFn(e);
(
(t = this.options.plugin) === null || t === void 0
? void 0
: t.render
)
? this.options.plugin.render(this.el, i)
: this.el.tagName === "INPUT"
? (this.el.value = i)
: this.el.tagName === "text" || this.el.tagName === "tspan"
? (this.el.textContent = i)
: (this.el.innerHTML = i);
}
}),
(s.prototype.ensureNumber = function (e) {
return typeof e == "number" && !isNaN(e);
}),
(s.prototype.validateValue = function (e) {
var t = Number(e);
return this.ensureNumber(t)
? t
: ((this.error = "[CountUp] invalid start or end value: ".concat(
e,
)),
null);
}),
(s.prototype.resetDuration = function () {
((this.startTime = null),
(this.duration = 1e3 * Number(this.options.duration)),
(this.remaining = this.duration));
}),
s
);
})();
function ti() {
const s = document.querySelector(".header");
function e() {
window.scrollY > 0
? s.classList.add("fixed")
: s.classList.remove("fixed");
}
(e(), window.addEventListener("scroll", e));
}
function si() {
(document.querySelectorAll(".swiper-step").length &&
document.querySelectorAll(".swiper-step").forEach((s) => {
new K(s, {
loop: !1,
slidesPerView: "auto",
spaceBetween: 15,
scrollbar: { el: ".swiper-scrollbar", draggable: !0 },
breakpoints: { 768: { slidesPerView: "auto", spaceBetween: 36 } },
});
}),
document.querySelectorAll(".blog-swiper").length &&
document.querySelectorAll(".blog-swiper").forEach((s) => {
const e = s.closest(".section-article"),
t = e == null ? void 0 : e.querySelector(".swiper-prev"),
i = e == null ? void 0 : e.querySelector(".swiper-next");
new K(s, {
loop: !0,
slidesPerView: 1,
spaceBetween: 15,
breakpoints: {
768: { slidesPerView: 2, spaceBetween: 20 },
1024: { slidesPerView: 3, spaceBetween: 20 },
1200: { slidesPerView: 3, spaceBetween: 36 },
},
navigation: { nextEl: i, prevEl: t },
});
}));
}
function ii() {
document.querySelectorAll(".tab-block").length &&
document.querySelectorAll(".tab-block").forEach((s) => {
var c, n;
const e = s.querySelectorAll(".tab-link"),
t = s.querySelectorAll(".tab"),
i = s.querySelectorAll(".acc-drop"),
r = s.querySelectorAll(".acc-link");
let a = 0;
((c = e[a]) == null || c.classList.add("active"),
(n = t[a]) == null || n.classList.add("active"));
function f() {
i.forEach((u) => {
u.style.setProperty("--height", u.scrollHeight + "px");
});
}
(f(),
window.addEventListener("resize", f),
e.forEach((u, o) => {
u.addEventListener("click", (l) => {
var d, p;
(l.preventDefault(),
a != o &&
((d = e[a]) == null || d.classList.remove("active"),
(p = t[a]) == null || p.classList.remove("active")),
(a = o),
u.classList.add("active"),
t[o].classList.add("active"));
});
}),
r.forEach((u, o) => {
u.addEventListener("click", (l) => {
var d;
(l.preventDefault(),
a != o &&
((d = t[a]) == null || d.classList.remove("acc-active")),
(a = o),
t[o].classList.toggle("acc-active"));
});
}));
});
}
function ri() {
document.querySelectorAll(".acc-block").length &&
document.querySelectorAll(".acc-block").forEach((s) => {
var f;
const e = s.querySelectorAll(".acc-item"),
t = s.querySelectorAll(".acc-slide"),
i = s.querySelectorAll(".acc-opener");
let r = 0;
(f = e[r]) == null || f.classList.add("active");
function a() {
t.forEach((c) => {
c.style.setProperty("--height", c.scrollHeight + "px");
});
}
(a(),
window.addEventListener("resize", a),
i.forEach((c, n) => {
c.addEventListener("click", (u) => {
var o;
(u.preventDefault(),
r != n &&
((o = e[r]) == null || o.classList.remove("acc-active")),
(r = n),
e[n].classList.toggle("acc-active"));
});
}));
});
}
function ai() {
const s = document.querySelector(".nav-opener"),
e = document.body;
s == null ||
s.addEventListener("click", (t) => {
(t.preventDefault(), e.classList.toggle("nav-active"));
});
}
function ni() {
document.querySelectorAll(".counterup").forEach((e) => {
const t = new ei(e, e.innerText, {
enableScrollSpy: !0,
startVal: 0,
scrollSpyOnce: !0,
});
t.error ? console.error(t.error) : t.start();
});
}
const initNestedTab = () => {
const links = document.querySelectorAll("[data-tab-link]");
const tabs = document.querySelectorAll("[data-tab-item]"); // fix 1
let curIndex = 0;
let prevIndex = -1;
const initActiveTab = (curIndex, prevIndex) => {
if (prevIndex != -1) {
// fix 2
links[prevIndex].classList.remove("active");
tabs[prevIndex].classList.remove("active");
}
links[curIndex].classList.add("active");
tabs[curIndex].classList.add("active");
};
if (!links.length) return;
initActiveTab(0, -1);
links.forEach((link, index) => {
const clone = tabs[index].cloneNode(true);
link.parentElement.appendChild(clone);
link.addEventListener("click", (e) => {
const href = link.querySelector("a")?.href || link.getAttribute("href");
if (index == curIndex) return;
prevIndex = curIndex;
curIndex = index;
initActiveTab(curIndex, prevIndex); // fix 3
});
});
};
document.addEventListener("DOMContentLoaded", function () {
(document.body.classList.add("loaded"),
initNestedTab(),
ii(),
ri(),
si(),
ai(),
ti(),
ni(),
li());
});
function li() {
(jQuery(".error-block") &&
jQuery(".error-block").closest(".section").css("display", "none"),
jQuery(".paging").on("click", "a", function () {
const s = jQuery(this);
setTimeout(function () {
(console.log(s.closest(".section").offset().top),
jQuery("body, html").animate({
scrollTop: s.closest(".section").offset().top,
}));
}, 200);
}));
}
});