MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 3.143.237.140
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home2/ppcad7no/classicleathersindia.com/../nspgurukul.org/../deergham.com/js/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home2/ppcad7no/classicleathersindia.com/../nspgurukul.org/../deergham.com/js/shop.min.js
(() => {
    var e = {
            731: function(e, t, s) {
                var i, n;
                /*!
                 * baguetteBox.js
                 * @author  feimosi
                 * @version 1.11.1
                 * @url https://github.com/feimosi/baguetteBox.js
                 */
                ! function(r, a) {
                    "use strict";
                    i = function() {
                        var e, t, s, i, n, r = '<svg width="44" height="60"><polyline points="30 10 10 30 30 50" stroke="rgba(255,255,255,0.5)" stroke-width="4"stroke-linecap="butt" fill="none" stroke-linejoin="round"/></svg>',
                            a = '<svg width="44" height="60"><polyline points="14 10 34 30 14 50" stroke="rgba(255,255,255,0.5)" stroke-width="4"stroke-linecap="butt" fill="none" stroke-linejoin="round"/></svg>',
                            o = '<svg width="30" height="30"><g stroke="rgb(160,160,160)" stroke-width="4"><line x1="5" y1="5" x2="25" y2="25"/><line x1="5" y1="25" x2="25" y2="5"/></g></svg>',
                            l = {},
                            d = {
                                captions: !0,
                                buttons: "auto",
                                fullScreen: !1,
                                noScrollbars: !1,
                                bodyClass: "baguetteBox-open",
                                titleTag: !1,
                                async: !1,
                                preload: 2,
                                animation: "slideIn",
                                afterShow: null,
                                afterHide: null,
                                onChange: null,
                                overlayBackgroundColor: "rgba(0,0,0,.8)"
                            },
                            c = {},
                            p = [],
                            u = 0,
                            f = !1,
                            h = {},
                            m = !1,
                            g = /.+\.(gif|jpe?g|png|webp)/i,
                            v = {},
                            b = [],
                            w = null,
                            y = function(e) {
                                -1 !== e.target.id.indexOf("baguette-img") && z()
                            },
                            C = function(e) {
                                e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, N()
                            },
                            S = function(e) {
                                e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, j()
                            },
                            T = function(e) {
                                e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, z()
                            },
                            x = function(e) {
                                h.count++, 1 < h.count && (h.multitouch = !0), h.startX = e.changedTouches[0].pageX, h.startY = e.changedTouches[0].pageY
                            },
                            E = function(e) {
                                if (!m && !h.multitouch) {
                                    e.preventDefault ? e.preventDefault() : e.returnValue = !1;
                                    var t = e.touches[0] || e.changedTouches[0];
                                    40 < t.pageX - h.startX ? (m = !0, N()) : t.pageX - h.startX < -40 ? (m = !0, j()) : 100 < h.startY - t.pageY && z()
                                }
                            },
                            k = function() {
                                h.count--, h.count <= 0 && (h.multitouch = !1), m = !1
                            },
                            P = function() {
                                k()
                            },
                            O = function(t) {
                                "block" === e.style.display && e.contains && !e.contains(t.target) && (t.stopPropagation(), A())
                            };

                        function L(e) {
                            if (v.hasOwnProperty(e)) {
                                var t = v[e].galleries;
                                [].forEach.call(t, (function(e) {
                                    [].forEach.call(e, (function(e) {
                                        V(e.imageElement, "click", e.eventHandler)
                                    })), p === e && (p = [])
                                })), delete v[e]
                            }
                        }

                        function M(e) {
                            switch (e.keyCode) {
                                case 37:
                                    N();
                                    break;
                                case 39:
                                    j();
                                    break;
                                case 27:
                                    z();
                                    break;
                                case 36:
                                    ! function(e) {
                                        e && e.preventDefault(), D(0)
                                    }(e);
                                    break;
                                case 35:
                                    ! function(e) {
                                        e && e.preventDefault(), D(p.length - 1)
                                    }(e)
                            }
                        }

                        function $(n, r) {
                            if (p !== n) {
                                for (p = n, function(n) {
                                        for (var r in n = n || {}, d) l[r] = d[r], void 0 !== n[r] && (l[r] = n[r]);
                                        t.style.transition = t.style.webkitTransition = "fadeIn" === l.animation ? "opacity .4s ease" : "slideIn" === l.animation ? "" : "none", "auto" === l.buttons && ("ontouchstart" in window || 1 === p.length) && (l.buttons = !1), s.style.display = i.style.display = l.buttons ? "" : "none";
                                        try {
                                            e.style.backgroundColor = l.overlayBackgroundColor
                                        } catch (e) {}
                                    }(r); t.firstChild;) t.removeChild(t.firstChild);
                                for (var a, o = [], c = [], u = b.length = 0; u < n.length; u++)(a = W("div")).className = "full-image", a.id = "baguette-img-" + u, b.push(a), o.push("baguetteBox-figure-" + u), c.push("baguetteBox-figcaption-" + u), t.appendChild(b[u]);
                                e.setAttribute("aria-labelledby", o.join(" ")), e.setAttribute("aria-describedby", c.join(" "))
                            }
                        }

                        function I(t) {
                            l.noScrollbars && (document.documentElement.style.overflowY = "hidden", document.body.style.overflowY = "scroll"), "block" !== e.style.display && (q(document, "keydown", M), h = {
                                count: 0,
                                startX: null,
                                startY: null
                            }, B(u = t, (function() {
                                F(u), H(u)
                            })), _(), e.style.display = "block", l.fullScreen && (e.requestFullscreen ? e.requestFullscreen() : e.webkitRequestFullscreen ? e.webkitRequestFullscreen() : e.mozRequestFullScreen && e.mozRequestFullScreen()), setTimeout((function() {
                                e.className = "visible", l.bodyClass && document.body.classList && document.body.classList.add(l.bodyClass), l.afterShow && l.afterShow()
                            }), 50), l.onChange && l.onChange(u, b.length), w = document.activeElement, A(), f = !0)
                        }

                        function A() {
                            l.buttons ? s.focus() : n.focus()
                        }

                        function z() {
                            l.noScrollbars && (document.documentElement.style.overflowY = "auto", document.body.style.overflowY = "auto"), "none" !== e.style.display && (V(document, "keydown", M), e.className = "", setTimeout((function() {
                                e.style.display = "none", document.fullscreen && (document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen && document.webkitExitFullscreen()), l.bodyClass && document.body.classList && document.body.classList.remove(l.bodyClass), l.afterHide && l.afterHide(), w && w.focus(), f = !1
                            }), 500))
                        }

                        function B(e, t) {
                            var s = b[e],
                                i = p[e];
                            if (void 0 !== s && void 0 !== i)
                                if (s.getElementsByTagName("img")[0]) t && t();
                                else {
                                    var n = i.imageElement,
                                        r = n.getElementsByTagName("img")[0],
                                        a = "function" == typeof l.captions ? l.captions.call(p, n) : n.getAttribute("data-caption") || n.title,
                                        o = function(e) {
                                            var t = e.href;
                                            if (e.dataset) {
                                                var s = [];
                                                for (var i in e.dataset) "at-" !== i.substring(0, 3) || isNaN(i.substring(3)) || (s[i.replace("at-", "")] = e.dataset[i]);
                                                for (var n = Object.keys(s).sort((function(e, t) {
                                                        return parseInt(e, 10) < parseInt(t, 10) ? -1 : 1
                                                    })), r = window.innerWidth * window.devicePixelRatio, a = 0; a < n.length - 1 && n[a] < r;) a++;
                                                t = s[n[a]] || t
                                            }
                                            return t
                                        }(n),
                                        d = W("figure");
                                    if (d.id = "baguetteBox-figure-" + e, d.innerHTML = '<div class="baguetteBox-spinner"><div class="baguetteBox-double-bounce1"></div><div class="baguetteBox-double-bounce2"></div></div>', l.captions && a) {
                                        var c = W("figcaption");
                                        c.id = "baguetteBox-figcaption-" + e, c.innerHTML = a, d.appendChild(c)
                                    }
                                    s.appendChild(d);
                                    var u = W("img");
                                    u.onload = function() {
                                        var s = document.querySelector("#baguette-img-" + e + " .baguetteBox-spinner");
                                        d.removeChild(s), !l.async && t && t()
                                    }, u.setAttribute("src", o), u.alt = r && r.alt || "", l.titleTag && a && (u.title = a), d.appendChild(u), l.async && t && t()
                                }
                        }

                        function j() {
                            return D(u + 1)
                        }

                        function N() {
                            return D(u - 1)
                        }

                        function D(e, t) {
                            return !f && 0 <= e && e < t.length ? ($(t, l), I(e), !0) : e < 0 ? (l.animation && G("left"), !1) : e >= b.length ? (l.animation && G("right"), !1) : (B(u = e, (function() {
                                F(u), H(u)
                            })), _(), l.onChange && l.onChange(u, b.length), !0)
                        }

                        function G(e) {
                            t.className = "bounce-from-" + e, setTimeout((function() {
                                t.className = ""
                            }), 400)
                        }

                        function _() {
                            var e = 100 * -u + "%";
                            "fadeIn" === l.animation ? (t.style.opacity = 0, setTimeout((function() {
                                c.transforms ? t.style.transform = t.style.webkitTransform = "translate3d(" + e + ",0,0)" : t.style.left = e, t.style.opacity = 1
                            }), 400)) : c.transforms ? t.style.transform = t.style.webkitTransform = "translate3d(" + e + ",0,0)" : t.style.left = e
                        }

                        function F(e) {
                            e - u >= l.preload || B(e + 1, (function() {
                                F(e + 1)
                            }))
                        }

                        function H(e) {
                            u - e >= l.preload || B(e - 1, (function() {
                                H(e - 1)
                            }))
                        }

                        function q(e, t, s, i) {
                            e.addEventListener ? e.addEventListener(t, s, i) : e.attachEvent("on" + t, (function(e) {
                                (e = e || window.event).target = e.target || e.srcElement, s(e)
                            }))
                        }

                        function V(e, t, s, i) {
                            e.removeEventListener ? e.removeEventListener(t, s, i) : e.detachEvent("on" + t, s)
                        }

                        function R(e) {
                            return document.getElementById(e)
                        }

                        function W(e) {
                            return document.createElement(e)
                        }
                        return [].forEach || (Array.prototype.forEach = function(e, t) {
                            for (var s = 0; s < this.length; s++) e.call(t, this[s], s, this)
                        }), [].filter || (Array.prototype.filter = function(e, t, s, i, n) {
                            for (s = this, i = [], n = 0; n < s.length; n++) e.call(t, s[n], n, s) && i.push(s[n]);
                            return i
                        }), {
                            run: function(l, d) {
                                return c.transforms = function() {
                                        var e = W("div");
                                        return void 0 !== e.style.perspective || void 0 !== e.style.webkitPerspective
                                    }(), c.svg = function() {
                                        var e = W("div");
                                        return e.innerHTML = "<svg/>", "http://www.w3.org/2000/svg" === (e.firstChild && e.firstChild.namespaceURI)
                                    }(), c.passiveEvents = function() {
                                        var e = !1;
                                        try {
                                            var t = Object.defineProperty({}, "passive", {
                                                get: function() {
                                                    e = !0
                                                }
                                            });
                                            window.addEventListener("test", null, t)
                                        } catch (e) {}
                                        return e
                                    }(),
                                    function() {
                                        if (e = R("baguetteBox-overlay")) return t = R("baguetteBox-slider"), s = R("previous-button"), i = R("next-button"), void(n = R("close-button"));
                                        (e = W("div")).setAttribute("role", "dialog"), e.id = "baguetteBox-overlay", document.getElementsByTagName("body")[0].appendChild(e), (t = W("div")).id = "baguetteBox-slider", e.appendChild(t), (s = W("button")).setAttribute("type", "button"), s.id = "previous-button", s.setAttribute("aria-label", "Previous"), s.innerHTML = c.svg ? r : "&lt;", e.appendChild(s), (i = W("button")).setAttribute("type", "button"), i.id = "next-button", i.setAttribute("aria-label", "Next"), i.innerHTML = c.svg ? a : "&gt;", e.appendChild(i), (n = W("button")).setAttribute("type", "button"), n.id = "close-button", n.setAttribute("aria-label", "Close"), n.innerHTML = c.svg ? o : "&times;", e.appendChild(n), s.className = i.className = n.className = "baguetteBox-button",
                                            function() {
                                                var r = c.passiveEvents ? {
                                                        passive: !1
                                                    } : null,
                                                    a = c.passiveEvents ? {
                                                        passive: !0
                                                    } : null;
                                                q(e, "click", y), q(s, "click", C), q(i, "click", S), q(n, "click", T), q(t, "contextmenu", P), q(e, "touchstart", x, a), q(e, "touchmove", E, r), q(e, "touchend", k), q(document, "focus", O, !0)
                                            }()
                                    }(), L(l),
                                    function(e, t) {
                                        var s = document.querySelectorAll(e),
                                            i = {
                                                galleries: [],
                                                nodeList: s
                                            };
                                        return v[e] = i, [].forEach.call(s, (function(e) {
                                            t && t.filter && (g = t.filter);
                                            var s = [];
                                            if (s = "A" === e.tagName ? [e] : e.getElementsByTagName("a"), 0 !== (s = [].filter.call(s, (function(e) {
                                                    if (-1 === e.className.indexOf(t && t.ignoreClass)) return g.test(e.href)
                                                }))).length) {
                                                var n = [];
                                                [].forEach.call(s, (function(e, s) {
                                                    var i = function(e) {
                                                            e.preventDefault ? e.preventDefault() : e.returnValue = !1, $(n, t), I(s)
                                                        },
                                                        r = {
                                                            eventHandler: i,
                                                            imageElement: e
                                                        };
                                                    q(e, "click", i), n.push(r)
                                                })), i.galleries.push(n)
                                            }
                                        })), i.galleries
                                    }(l, d)
                            },
                            show: D,
                            showNext: j,
                            showPrevious: N,
                            hide: z,
                            destroy: function() {
                                ! function() {
                                    var r = c.passiveEvents ? {
                                            passive: !1
                                        } : null,
                                        a = c.passiveEvents ? {
                                            passive: !0
                                        } : null;
                                    V(e, "click", y), V(s, "click", C), V(i, "click", S), V(n, "click", T), V(t, "contextmenu", P), V(e, "touchstart", x, a), V(e, "touchmove", E, r), V(e, "touchend", k), V(document, "focus", O, !0)
                                }(),
                                function() {
                                    for (var e in v) v.hasOwnProperty(e) && L(e)
                                }(), V(document, "keydown", M), document.getElementsByTagName("body")[0].removeChild(document.getElementById("baguetteBox-overlay")), v = {}, p = [], u = 0
                            }
                        }
                    }, void 0 === (n = "function" == typeof i ? i.call(t, s, t, e) : i) || (e.exports = n)
                }()
            },
            817: function(e, t) {
                "use strict";
                var s, i, n;
                ! function(r, a) {
                    if ("object" == typeof e.exports) {
                        if (!r.document) throw new Error("HC-Sticky requires a browser to run.");
                        e.exports = a(r)
                    } else i = [], s = a(r), void 0 === (n = "function" == typeof s ? s.apply(t, i) : s) || (e.exports = n)
                }("undefined" != typeof window ? window : this, (function(e) {
                    var t, s, i = e.document,
                        n = {
                            top: 0,
                            bottom: 0,
                            bottomEnd: 0,
                            innerTop: 0,
                            innerSticker: null,
                            stickyClass: "sticky",
                            stickTo: null,
                            followScroll: !0,
                            responsive: null,
                            mobileFirst: !1,
                            onStart: null,
                            onStop: null,
                            onBeforeResize: null,
                            onResize: null,
                            resizeDebounce: 100,
                            disable: !1
                        },
                        r = function(e, t, s) {
                            console.warn("%cHC Sticky:%c " + s + "%c '" + e + "'%c is now deprecated and will be removed. Use%c '" + t + "'%c instead.", "color: #fa253b", "color: default", "color: #5595c6", "color: default", "color: #5595c6", "color: default")
                        },
                        a = function(t, s) {
                            var o = this;
                            if (s = s || {}, !(t = "string" == typeof t ? i.querySelector(t) : t)) return !1;
                            s.queries && r("queries", "responsive", "option"), s.queryFlow && r("queryFlow", "mobileFirst", "option");
                            var l = {},
                                d = a.Helpers,
                                c = t.parentNode;

                            function p(e) {
                                d.isEmptyObject(e = e || {}) && !d.isEmptyObject(l) || (l = Object.assign({}, n, l, e))
                            }

                            function u() {
                                return l.disable
                            }

                            function f() {
                                var t, i = l.responsive || l.queries;
                                if (i) {
                                    var r = e.innerWidth;
                                    if (t = s, (l = Object.assign({}, n, t || {})).mobileFirst)
                                        for (var a in i) a <= r && !d.isEmptyObject(i[a]) && p(i[a]);
                                    else {
                                        var o, c = [];
                                        for (o in i) {
                                            var u = {};
                                            u[o] = i[o], c.push(u)
                                        }
                                        for (var f = c.length - 1; 0 <= f; f--) {
                                            var h = c[f],
                                                m = Object.keys(h)[0];
                                            r <= m && !d.isEmptyObject(h[m]) && p(h[m])
                                        }
                                    }
                                }
                            }

                            function h() {
                                z = N(), T = j(), I = x + T - P - M, A = k < z;
                                var s, n = e.pageYOffset || i.documentElement.scrollTop,
                                    r = d.offset(t).top,
                                    a = r - n;
                                G = n < H ? "up" : "down", D = n - H, $ < (H = n) ? I + P + (A ? O : 0) - (l.followScroll && A ? 0 : P) <= n + z - L - (k - ($ - L) < z - L && l.followScroll && 0 < (s = z - k - L) ? s : 0) ? _.release({
                                    position: "absolute",
                                    bottom: E + c.offsetHeight - I - P
                                }) : A && l.followScroll ? "down" == G ? a + z + O <= k + .9 ? _.stick({
                                    bottom: O
                                }) : "fixed" === _.position && _.release({
                                    position: "absolute",
                                    top: r - P - $ - D + L
                                }) : Math.ceil(a + L) < 0 && "fixed" === _.position ? _.release({
                                    position: "absolute",
                                    top: r - P - $ + L - D
                                }) : n + P - L <= r && _.stick({
                                    top: P - L
                                }) : _.stick({
                                    top: P - L
                                }) : _.release({
                                    stop: !0
                                })
                            }

                            function m() {
                                q && (e.removeEventListener("scroll", h, d.supportsPassive), q = !1)
                            }

                            function g() {
                                null !== t.offsetParent && "none" !== d.getStyle(t, "display") ? (function() {
                                    var s, n, r, a;
                                    _.css = (s = t, n = d.getCascadedStyle(s), r = d.getStyle(s), a = {
                                        height: s.offsetHeight + "px",
                                        left: n.left,
                                        right: n.right,
                                        top: n.top,
                                        bottom: n.bottom,
                                        position: r.position,
                                        display: r.display,
                                        verticalAlign: r.verticalAlign,
                                        boxSizing: r.boxSizing,
                                        marginLeft: n.marginLeft,
                                        marginRight: n.marginRight,
                                        marginTop: n.marginTop,
                                        marginBottom: n.marginBottom,
                                        paddingLeft: n.paddingLeft,
                                        paddingRight: n.paddingRight
                                    }, n.float && (a.float = n.float || "none"), n.cssFloat && (a.cssFloat = n.cssFloat || "none"), r.MozBoxSizing && (a.MozBoxSizing = r.MozBoxSizing), a.width = "auto" !== n.width ? n.width : "border-box" === a.boxSizing || "border-box" === a.MozBoxSizing ? s.offsetWidth + "px" : r.width, a), F.init(), y = !(!l.stickTo || !("document" === l.stickTo || l.stickTo.nodeType && 9 === l.stickTo.nodeType || "object" == typeof l.stickTo && l.stickTo instanceof("undefined" != typeof HTMLDocument ? HTMLDocument : Document))), C = l.stickTo ? y ? i : d.getElement(l.stickTo) : c, z = (N = function() {
                                        var e = t.offsetHeight + (parseInt(_.css.marginTop) || 0) + (parseInt(_.css.marginBottom) || 0),
                                            s = (z || 0) - e;
                                        return -1 <= s && s <= 1 ? z : e
                                    })(), T = (j = function() {
                                        return y ? Math.max(i.documentElement.clientHeight, i.body.scrollHeight, i.documentElement.scrollHeight, i.body.offsetHeight, i.documentElement.offsetHeight) : C.offsetHeight
                                    })(), x = y ? 0 : d.offset(C).top, E = l.stickTo ? y ? 0 : d.offset(c).top : x, k = e.innerHeight, B = t.offsetTop - (parseInt(_.css.marginTop) || 0), S = d.getElement(l.innerSticker), P = isNaN(l.top) && -1 < l.top.indexOf("%") ? parseFloat(l.top) / 100 * k : l.top, O = isNaN(l.bottom) && -1 < l.bottom.indexOf("%") ? parseFloat(l.bottom) / 100 * k : l.bottom, L = S ? S.offsetTop : l.innerTop || 0, M = isNaN(l.bottomEnd) && -1 < l.bottomEnd.indexOf("%") ? parseFloat(l.bottomEnd) / 100 * k : l.bottomEnd, $ = x - P + L + B
                                }(), T < z ? m() : (h(), q || (e.addEventListener("scroll", h, d.supportsPassive), q = !0))) : m()
                            }

                            function v() {
                                t.style.position = "", t.style.left = "", t.style.top = "", t.style.bottom = "", t.style.width = "", t.classList ? t.classList.remove(l.stickyClass) : t.className = t.className.replace(new RegExp("(^|\\b)" + l.stickyClass.split(" ").join("|") + "(\\b|$)", "gi"), " "), _.css = {}, !(_.position = null) === F.isAttached && F.detach()
                            }

                            function b() {
                                v(), f(), (u() ? m : g)()
                            }

                            function w() {
                                V && (e.removeEventListener("resize", W, d.supportsPassive), V = !1), m()
                            }
                            "static" === d.getStyle(c, "position") && (c.style.position = "relative");
                            var y, C, S, T, x, E, k, P, O, L, M, $, I, A, z, B, j, N, D, G, _ = {
                                    css: {},
                                    position: null,
                                    stick: function(e) {
                                        e = e || {}, d.hasClass(t, l.stickyClass) || (!1 === F.isAttached && F.attach(), _.position = "fixed", t.style.position = "fixed", t.style.left = F.offsetLeft + "px", t.style.width = F.width, void 0 === e.bottom ? t.style.bottom = "auto" : t.style.bottom = e.bottom + "px", void 0 === e.top ? t.style.top = "auto" : t.style.top = e.top + "px", t.classList ? t.classList.add(l.stickyClass) : t.className += " " + l.stickyClass, l.onStart && l.onStart.call(t, Object.assign({}, l)))
                                    },
                                    release: function(e) {
                                        var s;
                                        (e = e || {}).stop = e.stop || !1, !0 !== e.stop && "fixed" !== _.position && null !== _.position && (void 0 === e.top && void 0 === e.bottom || void 0 !== e.top && (parseInt(d.getStyle(t, "top")) || 0) === e.top || void 0 !== e.bottom && (parseInt(d.getStyle(t, "bottom")) || 0) === e.bottom) || (!0 === e.stop ? !0 === F.isAttached && F.detach() : !1 === F.isAttached && F.attach(), s = e.position || _.css.position, _.position = s, t.style.position = s, t.style.left = !0 === e.stop ? _.css.left : F.positionLeft + "px", t.style.width = ("absolute" !== s ? _.css : F).width, void 0 === e.bottom ? t.style.bottom = !0 === e.stop ? "" : "auto" : t.style.bottom = e.bottom + "px", void 0 === e.top ? t.style.top = !0 === e.stop ? "" : "auto" : t.style.top = e.top + "px", t.classList ? t.classList.remove(l.stickyClass) : t.className = t.className.replace(new RegExp("(^|\\b)" + l.stickyClass.split(" ").join("|") + "(\\b|$)", "gi"), " "), l.onStop && l.onStop.call(t, Object.assign({}, l)))
                                    }
                                },
                                F = {
                                    el: i.createElement("div"),
                                    offsetLeft: null,
                                    positionLeft: null,
                                    width: null,
                                    isAttached: !1,
                                    init: function() {
                                        for (var e in F.el.className = "sticky-spacer", _.css) F.el.style[e] = _.css[e];
                                        F.el.style["z-index"] = "-1";
                                        var s = d.getStyle(t);
                                        F.offsetLeft = d.offset(t).left - (parseInt(s.marginLeft) || 0), F.positionLeft = d.position(t).left, F.width = d.getStyle(t, "width")
                                    },
                                    attach: function() {
                                        c.insertBefore(F.el, t), F.isAttached = !0
                                    },
                                    detach: function() {
                                        F.el = c.removeChild(F.el), F.isAttached = !1
                                    }
                                },
                                H = e.pageYOffset || i.documentElement.scrollTop,
                                q = !1,
                                V = !1,
                                R = function() {
                                    l.onBeforeResize && l.onBeforeResize.call(t, Object.assign({}, l)), b(), l.onResize && l.onResize.call(t, Object.assign({}, l))
                                },
                                W = l.resizeDebounce ? d.debounce(R, l.resizeDebounce) : R;
                            R = function() {
                                V || (e.addEventListener("resize", W, d.supportsPassive), V = !0), f(), (u() ? m : g)()
                            };
                            this.options = function(e) {
                                return e ? l[e] : Object.assign({}, l)
                            }, this.refresh = b, this.update = function(e) {
                                p(e), s = Object.assign({}, s, e || {}), b()
                            }, this.attach = R, this.detach = w, this.destroy = function() {
                                w(), v()
                            }, this.triggerMethod = function(e, t) {
                                "function" == typeof o[e] && o[e](t)
                            }, this.reinit = function() {
                                r("reinit", "refresh", "method"), b()
                            }, p(s), R(), e.addEventListener("load", b)
                        };
                    return void 0 !== e.jQuery && (t = e.jQuery, s = "hcSticky", t.fn.extend({
                        hcSticky: function(e, i) {
                            return this.length ? "options" === e ? t.data(this.get(0), s).options() : this.each((function() {
                                var n = t.data(this, s);
                                n ? n.triggerMethod(e, i) : (n = new a(this, e), t.data(this, s, n))
                            })) : this
                        }
                    })), e.hcSticky = e.hcSticky || a, a
                })),
                function(e) {
                    var t = e.hcSticky,
                        s = e.document;
                    "function" != typeof Object.assign && Object.defineProperty(Object, "assign", {
                        value: function(e, t) {
                            if (null == e) throw new TypeError("Cannot convert undefined or null to object");
                            for (var s = Object(e), i = 1; i < arguments.length; i++) {
                                var n = arguments[i];
                                if (null != n)
                                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (s[r] = n[r])
                            }
                            return s
                        },
                        writable: !0,
                        configurable: !0
                    }), Array.prototype.forEach || (Array.prototype.forEach = function(e) {
                        var t, s;
                        if (null == this) throw new TypeError("this is null or not defined");
                        var i, n = Object(this),
                            r = n.length >>> 0;
                        if ("function" != typeof e) throw new TypeError(e + " is not a function");
                        for (1 < arguments.length && (t = arguments[1]), s = 0; s < r;) s in n && (i = n[s], e.call(t, i, s, n)), s++
                    });
                    var i = !1;
                    try {
                        var n = Object.defineProperty({}, "passive", {
                            get: function() {
                                i = {
                                    passive: !1
                                }
                            }
                        });
                        e.addEventListener("testPassive", null, n), e.removeEventListener("testPassive", null, n)
                    } catch (t) {}

                    function r(t, i) {
                        return e.getComputedStyle ? i ? s.defaultView.getComputedStyle(t, null).getPropertyValue(i) : s.defaultView.getComputedStyle(t, null) : t.currentStyle ? i ? t.currentStyle[i.replace(/-\w/g, (function(e) {
                            return e.toUpperCase().replace("-", "")
                        }))] : t.currentStyle : void 0
                    }

                    function a(t) {
                        var i = t.getBoundingClientRect(),
                            n = e.pageYOffset || s.documentElement.scrollTop;
                        t = e.pageXOffset || s.documentElement.scrollLeft;
                        return {
                            top: i.top + n,
                            left: i.left + t
                        }
                    }
                    t.Helpers = {
                        supportsPassive: i,
                        isEmptyObject: function(e) {
                            for (var t in e) return !1;
                            return !0
                        },
                        debounce: function(e, t, s) {
                            var i;
                            return function() {
                                var n = this,
                                    r = arguments,
                                    a = s && !i;
                                clearTimeout(i), i = setTimeout((function() {
                                    i = null, s || e.apply(n, r)
                                }), t), a && e.apply(n, r)
                            }
                        },
                        hasClass: function(e, t) {
                            return e.classList ? e.classList.contains(t) : new RegExp("(^| )" + t + "( |$)", "gi").test(e.className)
                        },
                        offset: a,
                        position: function(e) {
                            var t = a(i = e.offsetParent),
                                s = a(e),
                                i = r(i);
                            e = r(e);
                            return t.top += parseInt(i.borderTopWidth) || 0, t.left += parseInt(i.borderLeftWidth) || 0, {
                                top: s.top - t.top - (parseInt(e.marginTop) || 0),
                                left: s.left - t.left - (parseInt(e.marginLeft) || 0)
                            }
                        },
                        getElement: function(t) {
                            var i = null;
                            return "string" == typeof t ? i = s.querySelector(t) : e.jQuery && t instanceof e.jQuery && t.length ? i = t[0] : t instanceof Element && (i = t), i
                        },
                        getStyle: r,
                        getCascadedStyle: function(t) {
                            var i, n = t.cloneNode(!0);
                            n.style.display = "none", Array.prototype.slice.call(n.querySelectorAll('input[type="radio"]')).forEach((function(e) {
                                e.removeAttribute("name")
                            })), t.parentNode.insertBefore(n, t.nextSibling), n.currentStyle ? i = n.currentStyle : e.getComputedStyle && (i = s.defaultView.getComputedStyle(n, null));
                            var r, a, o, l = {};
                            for (r in i) !isNaN(r) || "string" != typeof i[r] && "number" != typeof i[r] || (l[r] = i[r]);
                            if (Object.keys(l).length < 3)
                                for (var d in l = {}, i) isNaN(d) || (l[i[d].replace(/-\w/g, (function(e) {
                                    return e.toUpperCase().replace("-", "")
                                }))] = i.getPropertyValue(i[d]));
                            return l.margin || "auto" !== l.marginLeft ? l.margin || l.marginLeft !== l.marginRight || l.marginLeft !== l.marginTop || l.marginLeft !== l.marginBottom || (l.margin = l.marginLeft) : l.margin = "auto", l.margin || "0px" !== l.marginLeft || "0px" !== l.marginRight || (o = (a = t.offsetLeft - t.parentNode.offsetLeft) - (parseInt(l.left) || 0) - (parseInt(l.right) || 0), 0 != (o = t.parentNode.offsetWidth - t.offsetWidth - a - (parseInt(l.right) || 0) + (parseInt(l.left) || 0) - o) && 1 != o || (l.margin = "auto")), n.parentNode.removeChild(n), n = null, l
                        }
                    }
                }(window)
            }
        },
        t = {};

    function s(i) {
        var n = t[i];
        if (void 0 !== n) return n.exports;
        var r = t[i] = {
            exports: {}
        };
        return e[i].call(r.exports, r, r.exports, s), r.exports
    }
    s.n = e => {
        var t = e && e.__esModule ? () => e.default : () => e;
        return s.d(t, {
            a: t
        }), t
    }, s.d = (e, t) => {
        for (var i in t) s.o(t, i) && !s.o(e, i) && Object.defineProperty(e, i, {
            enumerable: !0,
            get: t[i]
        })
    }, s.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), (() => {
        "use strict";

        function e(e, t, s) {
            return t in e ? Object.defineProperty(e, t, {
                value: s,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = s, e
        }

        function t(e) {
            return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object
        }

        function i(e = {}, s = {}) {
            Object.keys(s).forEach((n => {
                void 0 === e[n] ? e[n] = s[n] : t(s[n]) && t(e[n]) && Object.keys(s[n]).length > 0 && i(e[n], s[n])
            }))
        }
        const n = {
            body: {},
            addEventListener() {},
            removeEventListener() {},
            activeElement: {
                blur() {},
                nodeName: ""
            },
            querySelector: () => null,
            querySelectorAll: () => [],
            getElementById: () => null,
            createEvent: () => ({
                initEvent() {}
            }),
            createElement: () => ({
                children: [],
                childNodes: [],
                style: {},
                setAttribute() {},
                getElementsByTagName: () => []
            }),
            createElementNS: () => ({}),
            importNode: () => null,
            location: {
                hash: "",
                host: "",
                hostname: "",
                href: "",
                origin: "",
                pathname: "",
                protocol: "",
                search: ""
            }
        };

        function r() {
            const e = "undefined" != typeof document ? document : {};
            return i(e, n), e
        }
        const a = {
            document: n,
            navigator: {
                userAgent: ""
            },
            location: {
                hash: "",
                host: "",
                hostname: "",
                href: "",
                origin: "",
                pathname: "",
                protocol: "",
                search: ""
            },
            history: {
                replaceState() {},
                pushState() {},
                go() {},
                back() {}
            },
            CustomEvent: function() {
                return this
            },
            addEventListener() {},
            removeEventListener() {},
            getComputedStyle: () => ({
                getPropertyValue: () => ""
            }),
            Image() {},
            Date() {},
            screen: {},
            setTimeout() {},
            clearTimeout() {},
            matchMedia: () => ({}),
            requestAnimationFrame: e => "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
            cancelAnimationFrame(e) {
                "undefined" != typeof setTimeout && clearTimeout(e)
            }
        };

        function o() {
            const e = "undefined" != typeof window ? window : {};
            return i(e, a), e
        }
        class l extends Array {
            constructor(e) {
                "number" == typeof e ? super(e) : (super(...e || []), function(e) {
                    const t = e.__proto__;
                    Object.defineProperty(e, "__proto__", {
                        get: () => t,
                        set(e) {
                            t.__proto__ = e
                        }
                    })
                }(this))
            }
        }

        function d(e = []) {
            const t = [];
            return e.forEach((e => {
                Array.isArray(e) ? t.push(...d(e)) : t.push(e)
            })), t
        }

        function c(e, t) {
            return Array.prototype.filter.call(e, t)
        }

        function p(e, t) {
            const s = o(),
                i = r();
            let n = [];
            if (!t && e instanceof l) return e;
            if (!e) return new l(n);
            if ("string" == typeof e) {
                const s = e.trim();
                if (s.indexOf("<") >= 0 && s.indexOf(">") >= 0) {
                    let e = "div";
                    0 === s.indexOf("<li") && (e = "ul"), 0 === s.indexOf("<tr") && (e = "tbody"), 0 !== s.indexOf("<td") && 0 !== s.indexOf("<th") || (e = "tr"), 0 === s.indexOf("<tbody") && (e = "table"), 0 === s.indexOf("<option") && (e = "select");
                    const t = i.createElement(e);
                    t.innerHTML = s;
                    for (let e = 0; e < t.childNodes.length; e += 1) n.push(t.childNodes[e])
                } else n = function(e, t) {
                    if ("string" != typeof e) return [e];
                    const s = [],
                        i = t.querySelectorAll(e);
                    for (let e = 0; e < i.length; e += 1) s.push(i[e]);
                    return s
                }(e.trim(), t || i)
            } else if (e.nodeType || e === s || e === i) n.push(e);
            else if (Array.isArray(e)) {
                if (e instanceof l) return e;
                n = e
            }
            return new l(function(e) {
                const t = [];
                for (let s = 0; s < e.length; s += 1) - 1 === t.indexOf(e[s]) && t.push(e[s]);
                return t
            }(n))
        }
        p.fn = l.prototype;
        const u = "resize scroll".split(" ");

        function f(e) {
            return function(...t) {
                if (void 0 === t[0]) {
                    for (let t = 0; t < this.length; t += 1) u.indexOf(e) < 0 && (e in this[t] ? this[t][e]() : p(this[t]).trigger(e));
                    return this
                }
                return this.on(e, ...t)
            }
        }
        f("click"), f("blur"), f("focus"), f("focusin"), f("focusout"), f("keyup"), f("keydown"), f("keypress"), f("submit"), f("change"), f("mousedown"), f("mousemove"), f("mouseup"), f("mouseenter"), f("mouseleave"), f("mouseout"), f("mouseover"), f("touchstart"), f("touchend"), f("touchmove"), f("resize"), f("scroll");
        const h = {
            addClass: function(...e) {
                const t = d(e.map((e => e.split(" "))));
                return this.forEach((e => {
                    e.classList.add(...t)
                })), this
            },
            removeClass: function(...e) {
                const t = d(e.map((e => e.split(" "))));
                return this.forEach((e => {
                    e.classList.remove(...t)
                })), this
            },
            hasClass: function(...e) {
                const t = d(e.map((e => e.split(" "))));
                return c(this, (e => t.filter((t => e.classList.contains(t))).length > 0)).length > 0
            },
            toggleClass: function(...e) {
                const t = d(e.map((e => e.split(" "))));
                this.forEach((e => {
                    t.forEach((t => {
                        e.classList.toggle(t)
                    }))
                }))
            },
            attr: function(e, t) {
                if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
                for (let s = 0; s < this.length; s += 1)
                    if (2 === arguments.length) this[s].setAttribute(e, t);
                    else
                        for (const t in e) this[s][t] = e[t], this[s].setAttribute(t, e[t]);
                return this
            },
            removeAttr: function(e) {
                for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
                return this
            },
            transform: function(e) {
                for (let t = 0; t < this.length; t += 1) this[t].style.transform = e;
                return this
            },
            transition: function(e) {
                for (let t = 0; t < this.length; t += 1) this[t].style.transitionDuration = "string" != typeof e ? `${e}ms` : e;
                return this
            },
            on: function(...e) {
                let [t, s, i, n] = e;

                function r(e) {
                    const t = e.target;
                    if (!t) return;
                    const n = e.target.dom7EventData || [];
                    if (n.indexOf(e) < 0 && n.unshift(e), p(t).is(s)) i.apply(t, n);
                    else {
                        const e = p(t).parents();
                        for (let t = 0; t < e.length; t += 1) p(e[t]).is(s) && i.apply(e[t], n)
                    }
                }

                function a(e) {
                    const t = e && e.target && e.target.dom7EventData || [];
                    t.indexOf(e) < 0 && t.unshift(e), i.apply(this, t)
                }
                "function" == typeof e[1] && ([t, i, n] = e, s = void 0), n || (n = !1);
                const o = t.split(" ");
                let l;
                for (let e = 0; e < this.length; e += 1) {
                    const t = this[e];
                    if (s)
                        for (l = 0; l < o.length; l += 1) {
                            const e = o[l];
                            t.dom7LiveListeners || (t.dom7LiveListeners = {}), t.dom7LiveListeners[e] || (t.dom7LiveListeners[e] = []), t.dom7LiveListeners[e].push({
                                listener: i,
                                proxyListener: r
                            }), t.addEventListener(e, r, n)
                        } else
                            for (l = 0; l < o.length; l += 1) {
                                const e = o[l];
                                t.dom7Listeners || (t.dom7Listeners = {}), t.dom7Listeners[e] || (t.dom7Listeners[e] = []), t.dom7Listeners[e].push({
                                    listener: i,
                                    proxyListener: a
                                }), t.addEventListener(e, a, n)
                            }
                }
                return this
            },
            off: function(...e) {
                let [t, s, i, n] = e;
                "function" == typeof e[1] && ([t, i, n] = e, s = void 0), n || (n = !1);
                const r = t.split(" ");
                for (let e = 0; e < r.length; e += 1) {
                    const t = r[e];
                    for (let e = 0; e < this.length; e += 1) {
                        const r = this[e];
                        let a;
                        if (!s && r.dom7Listeners ? a = r.dom7Listeners[t] : s && r.dom7LiveListeners && (a = r.dom7LiveListeners[t]), a && a.length)
                            for (let e = a.length - 1; e >= 0; e -= 1) {
                                const s = a[e];
                                i && s.listener === i || i && s.listener && s.listener.dom7proxy && s.listener.dom7proxy === i ? (r.removeEventListener(t, s.proxyListener, n), a.splice(e, 1)) : i || (r.removeEventListener(t, s.proxyListener, n), a.splice(e, 1))
                            }
                    }
                }
                return this
            },
            trigger: function(...e) {
                const t = o(),
                    s = e[0].split(" "),
                    i = e[1];
                for (let n = 0; n < s.length; n += 1) {
                    const r = s[n];
                    for (let s = 0; s < this.length; s += 1) {
                        const n = this[s];
                        if (t.CustomEvent) {
                            const s = new t.CustomEvent(r, {
                                detail: i,
                                bubbles: !0,
                                cancelable: !0
                            });
                            n.dom7EventData = e.filter(((e, t) => t > 0)), n.dispatchEvent(s), n.dom7EventData = [], delete n.dom7EventData
                        }
                    }
                }
                return this
            },
            transitionEnd: function(e) {
                const t = this;
                return e && t.on("transitionend", (function s(i) {
                    i.target === this && (e.call(this, i), t.off("transitionend", s))
                })), this
            },
            outerWidth: function(e) {
                if (this.length > 0) {
                    if (e) {
                        const e = this.styles();
                        return this[0].offsetWidth + parseFloat(e.getPropertyValue("margin-right")) + parseFloat(e.getPropertyValue("margin-left"))
                    }
                    return this[0].offsetWidth
                }
                return null
            },
            outerHeight: function(e) {
                if (this.length > 0) {
                    if (e) {
                        const e = this.styles();
                        return this[0].offsetHeight + parseFloat(e.getPropertyValue("margin-top")) + parseFloat(e.getPropertyValue("margin-bottom"))
                    }
                    return this[0].offsetHeight
                }
                return null
            },
            styles: function() {
                const e = o();
                return this[0] ? e.getComputedStyle(this[0], null) : {}
            },
            offset: function() {
                if (this.length > 0) {
                    const e = o(),
                        t = r(),
                        s = this[0],
                        i = s.getBoundingClientRect(),
                        n = t.body,
                        a = s.clientTop || n.clientTop || 0,
                        l = s.clientLeft || n.clientLeft || 0,
                        d = s === e ? e.scrollY : s.scrollTop,
                        c = s === e ? e.scrollX : s.scrollLeft;
                    return {
                        top: i.top + d - a,
                        left: i.left + c - l
                    }
                }
                return null
            },
            css: function(e, t) {
                const s = o();
                let i;
                if (1 === arguments.length) {
                    if ("string" != typeof e) {
                        for (i = 0; i < this.length; i += 1)
                            for (const t in e) this[i].style[t] = e[t];
                        return this
                    }
                    if (this[0]) return s.getComputedStyle(this[0], null).getPropertyValue(e)
                }
                if (2 === arguments.length && "string" == typeof e) {
                    for (i = 0; i < this.length; i += 1) this[i].style[e] = t;
                    return this
                }
                return this
            },
            each: function(e) {
                return e ? (this.forEach(((t, s) => {
                    e.apply(t, [t, s])
                })), this) : this
            },
            html: function(e) {
                if (void 0 === e) return this[0] ? this[0].innerHTML : null;
                for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e;
                return this
            },
            text: function(e) {
                if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
                for (let t = 0; t < this.length; t += 1) this[t].textContent = e;
                return this
            },
            is: function(e) {
                const t = o(),
                    s = r(),
                    i = this[0];
                let n, a;
                if (!i || void 0 === e) return !1;
                if ("string" == typeof e) {
                    if (i.matches) return i.matches(e);
                    if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e);
                    if (i.msMatchesSelector) return i.msMatchesSelector(e);
                    for (n = p(e), a = 0; a < n.length; a += 1)
                        if (n[a] === i) return !0;
                    return !1
                }
                if (e === s) return i === s;
                if (e === t) return i === t;
                if (e.nodeType || e instanceof l) {
                    for (n = e.nodeType ? [e] : e, a = 0; a < n.length; a += 1)
                        if (n[a] === i) return !0;
                    return !1
                }
                return !1
            },
            index: function() {
                let e, t = this[0];
                if (t) {
                    for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
                    return e
                }
            },
            eq: function(e) {
                if (void 0 === e) return this;
                const t = this.length;
                if (e > t - 1) return p([]);
                if (e < 0) {
                    const s = t + e;
                    return p(s < 0 ? [] : [this[s]])
                }
                return p([this[e]])
            },
            append: function(...e) {
                let t;
                const s = r();
                for (let i = 0; i < e.length; i += 1) {
                    t = e[i];
                    for (let e = 0; e < this.length; e += 1)
                        if ("string" == typeof t) {
                            const i = s.createElement("div");
                            for (i.innerHTML = t; i.firstChild;) this[e].appendChild(i.firstChild)
                        } else if (t instanceof l)
                        for (let s = 0; s < t.length; s += 1) this[e].appendChild(t[s]);
                    else this[e].appendChild(t)
                }
                return this
            },
            prepend: function(e) {
                const t = r();
                let s, i;
                for (s = 0; s < this.length; s += 1)
                    if ("string" == typeof e) {
                        const n = t.createElement("div");
                        for (n.innerHTML = e, i = n.childNodes.length - 1; i >= 0; i -= 1) this[s].insertBefore(n.childNodes[i], this[s].childNodes[0])
                    } else if (e instanceof l)
                    for (i = 0; i < e.length; i += 1) this[s].insertBefore(e[i], this[s].childNodes[0]);
                else this[s].insertBefore(e, this[s].childNodes[0]);
                return this
            },
            next: function(e) {
                return this.length > 0 ? e ? this[0].nextElementSibling && p(this[0].nextElementSibling).is(e) ? p([this[0].nextElementSibling]) : p([]) : this[0].nextElementSibling ? p([this[0].nextElementSibling]) : p([]) : p([])
            },
            nextAll: function(e) {
                const t = [];
                let s = this[0];
                if (!s) return p([]);
                for (; s.nextElementSibling;) {
                    const i = s.nextElementSibling;
                    e ? p(i).is(e) && t.push(i) : t.push(i), s = i
                }
                return p(t)
            },
            prev: function(e) {
                if (this.length > 0) {
                    const t = this[0];
                    return e ? t.previousElementSibling && p(t.previousElementSibling).is(e) ? p([t.previousElementSibling]) : p([]) : t.previousElementSibling ? p([t.previousElementSibling]) : p([])
                }
                return p([])
            },
            prevAll: function(e) {
                const t = [];
                let s = this[0];
                if (!s) return p([]);
                for (; s.previousElementSibling;) {
                    const i = s.previousElementSibling;
                    e ? p(i).is(e) && t.push(i) : t.push(i), s = i
                }
                return p(t)
            },
            parent: function(e) {
                const t = [];
                for (let s = 0; s < this.length; s += 1) null !== this[s].parentNode && (e ? p(this[s].parentNode).is(e) && t.push(this[s].parentNode) : t.push(this[s].parentNode));
                return p(t)
            },
            parents: function(e) {
                const t = [];
                for (let s = 0; s < this.length; s += 1) {
                    let i = this[s].parentNode;
                    for (; i;) e ? p(i).is(e) && t.push(i) : t.push(i), i = i.parentNode
                }
                return p(t)
            },
            closest: function(e) {
                let t = this;
                return void 0 === e ? p([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
            },
            find: function(e) {
                const t = [];
                for (let s = 0; s < this.length; s += 1) {
                    const i = this[s].querySelectorAll(e);
                    for (let e = 0; e < i.length; e += 1) t.push(i[e])
                }
                return p(t)
            },
            children: function(e) {
                const t = [];
                for (let s = 0; s < this.length; s += 1) {
                    const i = this[s].children;
                    for (let s = 0; s < i.length; s += 1) e && !p(i[s]).is(e) || t.push(i[s])
                }
                return p(t)
            },
            filter: function(e) {
                return p(c(this, e))
            },
            remove: function() {
                for (let e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
                return this
            }
        };
        Object.keys(h).forEach((e => {
            Object.defineProperty(p.fn, e, {
                value: h[e],
                writable: !0
            })
        }));
        const m = p;

        function g(e, t = 0) {
            return setTimeout(e, t)
        }

        function v() {
            return Date.now()
        }

        function b(e, t = "x") {
            const s = o();
            let i, n, r;
            const a = function(e) {
                const t = o();
                let s;
                return t.getComputedStyle && (s = t.getComputedStyle(e, null)), !s && e.currentStyle && (s = e.currentStyle), s || (s = e.style), s
            }(e);
            return s.WebKitCSSMatrix ? (n = a.transform || a.webkitTransform, n.split(",").length > 6 && (n = n.split(", ").map((e => e.replace(",", "."))).join(", ")), r = new s.WebKitCSSMatrix("none" === n ? "" : n)) : (r = a.MozTransform || a.OTransform || a.MsTransform || a.msTransform || a.transform || a.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), i = r.toString().split(",")), "x" === t && (n = s.WebKitCSSMatrix ? r.m41 : 16 === i.length ? parseFloat(i[12]) : parseFloat(i[4])), "y" === t && (n = s.WebKitCSSMatrix ? r.m42 : 16 === i.length ? parseFloat(i[13]) : parseFloat(i[5])), n || 0
        }

        function w(e) {
            return "object" == typeof e && null !== e && e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1)
        }

        function y(...e) {
            const t = Object(e[0]),
                s = ["__proto__", "constructor", "prototype"];
            for (let n = 1; n < e.length; n += 1) {
                const r = e[n];
                if (null != r && (i = r, !("undefined" != typeof window && void 0 !== window.HTMLElement ? i instanceof HTMLElement : i && (1 === i.nodeType || 11 === i.nodeType)))) {
                    const e = Object.keys(Object(r)).filter((e => s.indexOf(e) < 0));
                    for (let s = 0, i = e.length; s < i; s += 1) {
                        const i = e[s],
                            n = Object.getOwnPropertyDescriptor(r, i);
                        void 0 !== n && n.enumerable && (w(t[i]) && w(r[i]) ? r[i].__swiper__ ? t[i] = r[i] : y(t[i], r[i]) : !w(t[i]) && w(r[i]) ? (t[i] = {}, r[i].__swiper__ ? t[i] = r[i] : y(t[i], r[i])) : t[i] = r[i])
                    }
                }
            }
            var i;
            return t
        }

        function C(e, t, s) {
            e.style.setProperty(t, s)
        }

        function S({
            swiper: e,
            targetPosition: t,
            side: s
        }) {
            const i = o(),
                n = -e.translate;
            let r, a = null;
            const l = e.params.speed;
            e.wrapperEl.style.scrollSnapType = "none", i.cancelAnimationFrame(e.cssModeFrameID);
            const d = t > n ? "next" : "prev",
                c = (e, t) => "next" === d && e >= t || "prev" === d && e <= t,
                p = () => {
                    r = (new Date).getTime(), null === a && (a = r);
                    const o = Math.max(Math.min((r - a) / l, 1), 0),
                        d = .5 - Math.cos(o * Math.PI) / 2;
                    let u = n + d * (t - n);
                    if (c(u, t) && (u = t), e.wrapperEl.scrollTo({
                            [s]: u
                        }), c(u, t)) return e.wrapperEl.style.overflow = "hidden", e.wrapperEl.style.scrollSnapType = "", setTimeout((() => {
                        e.wrapperEl.style.overflow = "", e.wrapperEl.scrollTo({
                            [s]: u
                        })
                    })), void i.cancelAnimationFrame(e.cssModeFrameID);
                    e.cssModeFrameID = i.requestAnimationFrame(p)
                };
            p()
        }
        let T, x, E;

        function k() {
            return T || (T = function() {
                const e = o(),
                    t = r();
                return {
                    smoothScroll: t.documentElement && "scrollBehavior" in t.documentElement.style,
                    touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch),
                    passiveListener: function() {
                        let t = !1;
                        try {
                            const s = Object.defineProperty({}, "passive", {
                                get() {
                                    t = !0
                                }
                            });
                            e.addEventListener("testPassiveListener", null, s)
                        } catch (e) {}
                        return t
                    }(),
                    gestures: "ongesturestart" in e
                }
            }()), T
        }

        function P(e = {}) {
            return x || (x = function({
                userAgent: e
            } = {}) {
                const t = k(),
                    s = o(),
                    i = s.navigator.platform,
                    n = e || s.navigator.userAgent,
                    r = {
                        ios: !1,
                        android: !1
                    },
                    a = s.screen.width,
                    l = s.screen.height,
                    d = n.match(/(Android);?[\s\/]+([\d.]+)?/);
                let c = n.match(/(iPad).*OS\s([\d_]+)/);
                const p = n.match(/(iPod)(.*OS\s([\d_]+))?/),
                    u = !c && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
                    f = "Win32" === i;
                let h = "MacIntel" === i;
                return !c && h && t.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(`${a}x${l}`) >= 0 && (c = n.match(/(Version)\/([\d.]+)/), c || (c = [0, 1, "13_0_0"]), h = !1), d && !f && (r.os = "android", r.android = !0), (c || u || p) && (r.os = "ios", r.ios = !0), r
            }(e)), x
        }

        function O() {
            return E || (E = function() {
                const e = o();
                return {
                    isSafari: function() {
                        const t = e.navigator.userAgent.toLowerCase();
                        return t.indexOf("safari") >= 0 && t.indexOf("chrome") < 0 && t.indexOf("android") < 0
                    }(),
                    isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)
                }
            }()), E
        }
        const L = {
            on(e, t, s) {
                const i = this;
                if ("function" != typeof t) return i;
                const n = s ? "unshift" : "push";
                return e.split(" ").forEach((e => {
                    i.eventsListeners[e] || (i.eventsListeners[e] = []), i.eventsListeners[e][n](t)
                })), i
            },
            once(e, t, s) {
                const i = this;
                if ("function" != typeof t) return i;

                function n(...s) {
                    i.off(e, n), n.__emitterProxy && delete n.__emitterProxy, t.apply(i, s)
                }
                return n.__emitterProxy = t, i.on(e, n, s)
            },
            onAny(e, t) {
                const s = this;
                if ("function" != typeof e) return s;
                const i = t ? "unshift" : "push";
                return s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[i](e), s
            },
            offAny(e) {
                const t = this;
                if (!t.eventsAnyListeners) return t;
                const s = t.eventsAnyListeners.indexOf(e);
                return s >= 0 && t.eventsAnyListeners.splice(s, 1), t
            },
            off(e, t) {
                const s = this;
                return s.eventsListeners ? (e.split(" ").forEach((e => {
                    void 0 === t ? s.eventsListeners[e] = [] : s.eventsListeners[e] && s.eventsListeners[e].forEach(((i, n) => {
                        (i === t || i.__emitterProxy && i.__emitterProxy === t) && s.eventsListeners[e].splice(n, 1)
                    }))
                })), s) : s
            },
            emit(...e) {
                const t = this;
                if (!t.eventsListeners) return t;
                let s, i, n;
                "string" == typeof e[0] || Array.isArray(e[0]) ? (s = e[0], i = e.slice(1, e.length), n = t) : (s = e[0].events, i = e[0].data, n = e[0].context || t), i.unshift(n);
                return (Array.isArray(s) ? s : s.split(" ")).forEach((e => {
                    t.eventsAnyListeners && t.eventsAnyListeners.length && t.eventsAnyListeners.forEach((t => {
                        t.apply(n, [e, ...i])
                    })), t.eventsListeners && t.eventsListeners[e] && t.eventsListeners[e].forEach((e => {
                        e.apply(n, i)
                    }))
                })), t
            }
        };
        const M = {
            updateSize: function() {
                const e = this;
                let t, s;
                const i = e.$el;
                t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : i[0].clientWidth, s = void 0 !== e.params.height && null !== e.params.height ? e.params.height : i[0].clientHeight, 0 === t && e.isHorizontal() || 0 === s && e.isVertical() || (t = t - parseInt(i.css("padding-left") || 0, 10) - parseInt(i.css("padding-right") || 0, 10), s = s - parseInt(i.css("padding-top") || 0, 10) - parseInt(i.css("padding-bottom") || 0, 10), Number.isNaN(t) && (t = 0), Number.isNaN(s) && (s = 0), Object.assign(e, {
                    width: t,
                    height: s,
                    size: e.isHorizontal() ? t : s
                }))
            },
            updateSlides: function() {
                const e = this;

                function t(t) {
                    return e.isHorizontal() ? t : {
                        width: "height",
                        "margin-top": "margin-left",
                        "margin-bottom ": "margin-right",
                        "margin-left": "margin-top",
                        "margin-right": "margin-bottom",
                        "padding-left": "padding-top",
                        "padding-right": "padding-bottom",
                        marginRight: "marginBottom"
                    } [t]
                }

                function s(e, s) {
                    return parseFloat(e.getPropertyValue(t(s)) || 0)
                }
                const i = e.params,
                    {
                        $wrapperEl: n,
                        size: r,
                        rtlTranslate: a,
                        wrongRTL: o
                    } = e,
                    l = e.virtual && i.virtual.enabled,
                    d = l ? e.virtual.slides.length : e.slides.length,
                    c = n.children(`.${e.params.slideClass}`),
                    p = l ? e.virtual.slides.length : c.length;
                let u = [];
                const f = [],
                    h = [];
                let m = i.slidesOffsetBefore;
                "function" == typeof m && (m = i.slidesOffsetBefore.call(e));
                let g = i.slidesOffsetAfter;
                "function" == typeof g && (g = i.slidesOffsetAfter.call(e));
                const v = e.snapGrid.length,
                    b = e.slidesGrid.length;
                let w = i.spaceBetween,
                    y = -m,
                    S = 0,
                    T = 0;
                if (void 0 === r) return;
                "string" == typeof w && w.indexOf("%") >= 0 && (w = parseFloat(w.replace("%", "")) / 100 * r), e.virtualSize = -w, a ? c.css({
                    marginLeft: "",
                    marginBottom: "",
                    marginTop: ""
                }) : c.css({
                    marginRight: "",
                    marginBottom: "",
                    marginTop: ""
                }), i.centeredSlides && i.cssMode && (C(e.wrapperEl, "--swiper-centered-offset-before", ""), C(e.wrapperEl, "--swiper-centered-offset-after", ""));
                const x = i.grid && i.grid.rows > 1 && e.grid;
                let E;
                x && e.grid.initSlides(p);
                const k = "auto" === i.slidesPerView && i.breakpoints && Object.keys(i.breakpoints).filter((e => void 0 !== i.breakpoints[e].slidesPerView)).length > 0;
                for (let n = 0; n < p; n += 1) {
                    E = 0;
                    const a = c.eq(n);
                    if (x && e.grid.updateSlide(n, a, p, t), "none" !== a.css("display")) {
                        if ("auto" === i.slidesPerView) {
                            k && (c[n].style[t("width")] = "");
                            const r = getComputedStyle(a[0]),
                                o = a[0].style.transform,
                                l = a[0].style.webkitTransform;
                            if (o && (a[0].style.transform = "none"), l && (a[0].style.webkitTransform = "none"), i.roundLengths) E = e.isHorizontal() ? a.outerWidth(!0) : a.outerHeight(!0);
                            else {
                                const e = s(r, "width"),
                                    t = s(r, "padding-left"),
                                    i = s(r, "padding-right"),
                                    n = s(r, "margin-left"),
                                    o = s(r, "margin-right"),
                                    l = r.getPropertyValue("box-sizing");
                                if (l && "border-box" === l) E = e + n + o;
                                else {
                                    const {
                                        clientWidth: s,
                                        offsetWidth: r
                                    } = a[0];
                                    E = e + t + i + n + o + (r - s)
                                }
                            }
                            o && (a[0].style.transform = o), l && (a[0].style.webkitTransform = l), i.roundLengths && (E = Math.floor(E))
                        } else E = (r - (i.slidesPerView - 1) * w) / i.slidesPerView, i.roundLengths && (E = Math.floor(E)), c[n] && (c[n].style[t("width")] = `${E}px`);
                        c[n] && (c[n].swiperSlideSize = E), h.push(E), i.centeredSlides ? (y = y + E / 2 + S / 2 + w, 0 === S && 0 !== n && (y = y - r / 2 - w), 0 === n && (y = y - r / 2 - w), Math.abs(y) < .001 && (y = 0), i.roundLengths && (y = Math.floor(y)), T % i.slidesPerGroup == 0 && u.push(y), f.push(y)) : (i.roundLengths && (y = Math.floor(y)), (T - Math.min(e.params.slidesPerGroupSkip, T)) % e.params.slidesPerGroup == 0 && u.push(y), f.push(y), y = y + E + w), e.virtualSize += E + w, S = E, T += 1
                    }
                }
                if (e.virtualSize = Math.max(e.virtualSize, r) + g, a && o && ("slide" === i.effect || "coverflow" === i.effect) && n.css({
                        width: `${e.virtualSize+i.spaceBetween}px`
                    }), i.setWrapperSize && n.css({
                        [t("width")]: `${e.virtualSize+i.spaceBetween}px`
                    }), x && e.grid.updateWrapperSize(E, u, t), !i.centeredSlides) {
                    const t = [];
                    for (let s = 0; s < u.length; s += 1) {
                        let n = u[s];
                        i.roundLengths && (n = Math.floor(n)), u[s] <= e.virtualSize - r && t.push(n)
                    }
                    u = t, Math.floor(e.virtualSize - r) - Math.floor(u[u.length - 1]) > 1 && u.push(e.virtualSize - r)
                }
                if (0 === u.length && (u = [0]), 0 !== i.spaceBetween) {
                    const s = e.isHorizontal() && a ? "marginLeft" : t("marginRight");
                    c.filter(((e, t) => !i.cssMode || t !== c.length - 1)).css({
                        [s]: `${w}px`
                    })
                }
                if (i.centeredSlides && i.centeredSlidesBounds) {
                    let e = 0;
                    h.forEach((t => {
                        e += t + (i.spaceBetween ? i.spaceBetween : 0)
                    })), e -= i.spaceBetween;
                    const t = e - r;
                    u = u.map((e => e < 0 ? -m : e > t ? t + g : e))
                }
                if (i.centerInsufficientSlides) {
                    let e = 0;
                    if (h.forEach((t => {
                            e += t + (i.spaceBetween ? i.spaceBetween : 0)
                        })), e -= i.spaceBetween, e < r) {
                        const t = (r - e) / 2;
                        u.forEach(((e, s) => {
                            u[s] = e - t
                        })), f.forEach(((e, s) => {
                            f[s] = e + t
                        }))
                    }
                }
                if (Object.assign(e, {
                        slides: c,
                        snapGrid: u,
                        slidesGrid: f,
                        slidesSizesGrid: h
                    }), i.centeredSlides && i.cssMode && !i.centeredSlidesBounds) {
                    C(e.wrapperEl, "--swiper-centered-offset-before", -u[0] + "px"), C(e.wrapperEl, "--swiper-centered-offset-after", e.size / 2 - h[h.length - 1] / 2 + "px");
                    const t = -e.snapGrid[0],
                        s = -e.slidesGrid[0];
                    e.snapGrid = e.snapGrid.map((e => e + t)), e.slidesGrid = e.slidesGrid.map((e => e + s))
                }
                p !== d && e.emit("slidesLengthChange"), u.length !== v && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), f.length !== b && e.emit("slidesGridLengthChange"), i.watchSlidesProgress && e.updateSlidesOffset()
            },
            updateAutoHeight: function(e) {
                const t = this,
                    s = [],
                    i = t.virtual && t.params.virtual.enabled;
                let n, r = 0;
                "number" == typeof e ? t.setTransition(e) : !0 === e && t.setTransition(t.params.speed);
                const a = e => i ? t.slides.filter((t => parseInt(t.getAttribute("data-swiper-slide-index"), 10) === e))[0] : t.slides.eq(e)[0];
                if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
                    if (t.params.centeredSlides) t.visibleSlides.each((e => {
                        s.push(e)
                    }));
                    else
                        for (n = 0; n < Math.ceil(t.params.slidesPerView); n += 1) {
                            const e = t.activeIndex + n;
                            if (e > t.slides.length && !i) break;
                            s.push(a(e))
                        } else s.push(a(t.activeIndex));
                for (n = 0; n < s.length; n += 1)
                    if (void 0 !== s[n]) {
                        const e = s[n].offsetHeight;
                        r = e > r ? e : r
                    }(r || 0 === r) && t.$wrapperEl.css("height", `${r}px`)
            },
            updateSlidesOffset: function() {
                const e = this,
                    t = e.slides;
                for (let s = 0; s < t.length; s += 1) t[s].swiperSlideOffset = e.isHorizontal() ? t[s].offsetLeft : t[s].offsetTop
            },
            updateSlidesProgress: function(e = this && this.translate || 0) {
                const t = this,
                    s = t.params,
                    {
                        slides: i,
                        rtlTranslate: n,
                        snapGrid: r
                    } = t;
                if (0 === i.length) return;
                void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset();
                let a = -e;
                n && (a = e), i.removeClass(s.slideVisibleClass), t.visibleSlidesIndexes = [], t.visibleSlides = [];
                for (let e = 0; e < i.length; e += 1) {
                    const o = i[e];
                    let l = o.swiperSlideOffset;
                    s.cssMode && s.centeredSlides && (l -= i[0].swiperSlideOffset);
                    const d = (a + (s.centeredSlides ? t.minTranslate() : 0) - l) / (o.swiperSlideSize + s.spaceBetween),
                        c = (a - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - l) / (o.swiperSlideSize + s.spaceBetween),
                        p = -(a - l),
                        u = p + t.slidesSizesGrid[e];
                    (p >= 0 && p < t.size - 1 || u > 1 && u <= t.size || p <= 0 && u >= t.size) && (t.visibleSlides.push(o), t.visibleSlidesIndexes.push(e), i.eq(e).addClass(s.slideVisibleClass)), o.progress = n ? -d : d, o.originalProgress = n ? -c : c
                }
                t.visibleSlides = m(t.visibleSlides)
            },
            updateProgress: function(e) {
                const t = this;
                if (void 0 === e) {
                    const s = t.rtlTranslate ? -1 : 1;
                    e = t && t.translate && t.translate * s || 0
                }
                const s = t.params,
                    i = t.maxTranslate() - t.minTranslate();
                let {
                    progress: n,
                    isBeginning: r,
                    isEnd: a
                } = t;
                const o = r,
                    l = a;
                0 === i ? (n = 0, r = !0, a = !0) : (n = (e - t.minTranslate()) / i, r = n <= 0, a = n >= 1), Object.assign(t, {
                    progress: n,
                    isBeginning: r,
                    isEnd: a
                }), (s.watchSlidesProgress || s.centeredSlides && s.autoHeight) && t.updateSlidesProgress(e), r && !o && t.emit("reachBeginning toEdge"), a && !l && t.emit("reachEnd toEdge"), (o && !r || l && !a) && t.emit("fromEdge"), t.emit("progress", n)
            },
            updateSlidesClasses: function() {
                const e = this,
                    {
                        slides: t,
                        params: s,
                        $wrapperEl: i,
                        activeIndex: n,
                        realIndex: r
                    } = e,
                    a = e.virtual && s.virtual.enabled;
                let o;
                t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`), o = a ? e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${n}"]`) : t.eq(n), o.addClass(s.slideActiveClass), s.loop && (o.hasClass(s.slideDuplicateClass) ? i.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass) : i.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));
                let l = o.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);
                s.loop && 0 === l.length && (l = t.eq(0), l.addClass(s.slideNextClass));
                let d = o.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);
                s.loop && 0 === d.length && (d = t.eq(-1), d.addClass(s.slidePrevClass)), s.loop && (l.hasClass(s.slideDuplicateClass) ? i.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${l.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass) : i.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${l.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass), d.hasClass(s.slideDuplicateClass) ? i.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass) : i.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)), e.emitSlidesClasses()
            },
            updateActiveIndex: function(e) {
                const t = this,
                    s = t.rtlTranslate ? t.translate : -t.translate,
                    {
                        slidesGrid: i,
                        snapGrid: n,
                        params: r,
                        activeIndex: a,
                        realIndex: o,
                        snapIndex: l
                    } = t;
                let d, c = e;
                if (void 0 === c) {
                    for (let e = 0; e < i.length; e += 1) void 0 !== i[e + 1] ? s >= i[e] && s < i[e + 1] - (i[e + 1] - i[e]) / 2 ? c = e : s >= i[e] && s < i[e + 1] && (c = e + 1) : s >= i[e] && (c = e);
                    r.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0)
                }
                if (n.indexOf(s) >= 0) d = n.indexOf(s);
                else {
                    const e = Math.min(r.slidesPerGroupSkip, c);
                    d = e + Math.floor((c - e) / r.slidesPerGroup)
                }
                if (d >= n.length && (d = n.length - 1), c === a) return void(d !== l && (t.snapIndex = d, t.emit("snapIndexChange")));
                const p = parseInt(t.slides.eq(c).attr("data-swiper-slide-index") || c, 10);
                Object.assign(t, {
                    snapIndex: d,
                    realIndex: p,
                    previousIndex: a,
                    activeIndex: c
                }), t.emit("activeIndexChange"), t.emit("snapIndexChange"), o !== p && t.emit("realIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && t.emit("slideChange")
            },
            updateClickedSlide: function(e) {
                const t = this,
                    s = t.params,
                    i = m(e).closest(`.${s.slideClass}`)[0];
                let n, r = !1;
                if (i)
                    for (let e = 0; e < t.slides.length; e += 1)
                        if (t.slides[e] === i) {
                            r = !0, n = e;
                            break
                        } if (!i || !r) return t.clickedSlide = void 0, void(t.clickedIndex = void 0);
                t.clickedSlide = i, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(m(i).attr("data-swiper-slide-index"), 10) : t.clickedIndex = n, s.slideToClickedSlide && void 0 !== t.clickedIndex && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide()
            }
        };
        const $ = {
            getTranslate: function(e = (this.isHorizontal() ? "x" : "y")) {
                const {
                    params: t,
                    rtlTranslate: s,
                    translate: i,
                    $wrapperEl: n
                } = this;
                if (t.virtualTranslate) return s ? -i : i;
                if (t.cssMode) return i;
                let r = b(n[0], e);
                return s && (r = -r), r || 0
            },
            setTranslate: function(e, t) {
                const s = this,
                    {
                        rtlTranslate: i,
                        params: n,
                        $wrapperEl: r,
                        wrapperEl: a,
                        progress: o
                    } = s;
                let l, d = 0,
                    c = 0;
                s.isHorizontal() ? d = i ? -e : e : c = e, n.roundLengths && (d = Math.floor(d), c = Math.floor(c)), n.cssMode ? a[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal() ? -d : -c : n.virtualTranslate || r.transform(`translate3d(${d}px, ${c}px, 0px)`), s.previousTranslate = s.translate, s.translate = s.isHorizontal() ? d : c;
                const p = s.maxTranslate() - s.minTranslate();
                l = 0 === p ? 0 : (e - s.minTranslate()) / p, l !== o && s.updateProgress(e), s.emit("setTranslate", s.translate, t)
            },
            minTranslate: function() {
                return -this.snapGrid[0]
            },
            maxTranslate: function() {
                return -this.snapGrid[this.snapGrid.length - 1]
            },
            translateTo: function(e = 0, t = this.params.speed, s = !0, i = !0, n) {
                const r = this,
                    {
                        params: a,
                        wrapperEl: o
                    } = r;
                if (r.animating && a.preventInteractionOnTransition) return !1;
                const l = r.minTranslate(),
                    d = r.maxTranslate();
                let c;
                if (c = i && e > l ? l : i && e < d ? d : e, r.updateProgress(c), a.cssMode) {
                    const e = r.isHorizontal();
                    if (0 === t) o[e ? "scrollLeft" : "scrollTop"] = -c;
                    else {
                        if (!r.support.smoothScroll) return S({
                            swiper: r,
                            targetPosition: -c,
                            side: e ? "left" : "top"
                        }), !0;
                        o.scrollTo({
                            [e ? "left" : "top"]: -c,
                            behavior: "smooth"
                        })
                    }
                    return !0
                }
                return 0 === t ? (r.setTransition(0), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, n), r.emit("transitionEnd"))) : (r.setTransition(t), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, n), r.emit("transitionStart")), r.animating || (r.animating = !0, r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function(e) {
                    r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd), r.onTranslateToWrapperTransitionEnd = null, delete r.onTranslateToWrapperTransitionEnd, s && r.emit("transitionEnd"))
                }), r.$wrapperEl[0].addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd))), !0
            }
        };

        function I({
            swiper: e,
            runCallbacks: t,
            direction: s,
            step: i
        }) {
            const {
                activeIndex: n,
                previousIndex: r
            } = e;
            let a = s;
            if (a || (a = n > r ? "next" : n < r ? "prev" : "reset"), e.emit(`transition${i}`), t && n !== r) {
                if ("reset" === a) return void e.emit(`slideResetTransition${i}`);
                e.emit(`slideChangeTransition${i}`), "next" === a ? e.emit(`slideNextTransition${i}`) : e.emit(`slidePrevTransition${i}`)
            }
        }
        const A = {
            slideTo: function(e = 0, t = this.params.speed, s = !0, i, n) {
                if ("number" != typeof e && "string" != typeof e) throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`);
                if ("string" == typeof e) {
                    const t = parseInt(e, 10);
                    if (!isFinite(t)) throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);
                    e = t
                }
                const r = this;
                let a = e;
                a < 0 && (a = 0);
                const {
                    params: o,
                    snapGrid: l,
                    slidesGrid: d,
                    previousIndex: c,
                    activeIndex: p,
                    rtlTranslate: u,
                    wrapperEl: f,
                    enabled: h
                } = r;
                if (r.animating && o.preventInteractionOnTransition || !h && !i && !n) return !1;
                const m = Math.min(r.params.slidesPerGroupSkip, a);
                let g = m + Math.floor((a - m) / r.params.slidesPerGroup);
                g >= l.length && (g = l.length - 1), (p || o.initialSlide || 0) === (c || 0) && s && r.emit("beforeSlideChangeStart");
                const v = -l[g];
                if (r.updateProgress(v), o.normalizeSlideIndex)
                    for (let e = 0; e < d.length; e += 1) {
                        const t = -Math.floor(100 * v),
                            s = Math.floor(100 * d[e]),
                            i = Math.floor(100 * d[e + 1]);
                        void 0 !== d[e + 1] ? t >= s && t < i - (i - s) / 2 ? a = e : t >= s && t < i && (a = e + 1) : t >= s && (a = e)
                    }
                if (r.initialized && a !== p) {
                    if (!r.allowSlideNext && v < r.translate && v < r.minTranslate()) return !1;
                    if (!r.allowSlidePrev && v > r.translate && v > r.maxTranslate() && (p || 0) !== a) return !1
                }
                let b;
                if (b = a > p ? "next" : a < p ? "prev" : "reset", u && -v === r.translate || !u && v === r.translate) return r.updateActiveIndex(a), o.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== o.effect && r.setTranslate(v), "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)), !1;
                if (o.cssMode) {
                    const e = r.isHorizontal(),
                        s = u ? v : -v;
                    if (0 === t) {
                        const t = r.virtual && r.params.virtual.enabled;
                        t && (r.wrapperEl.style.scrollSnapType = "none", r._immediateVirtual = !0), f[e ? "scrollLeft" : "scrollTop"] = s, t && requestAnimationFrame((() => {
                            r.wrapperEl.style.scrollSnapType = "", r._swiperImmediateVirtual = !1
                        }))
                    } else {
                        if (!r.support.smoothScroll) return S({
                            swiper: r,
                            targetPosition: s,
                            side: e ? "left" : "top"
                        }), !0;
                        f.scrollTo({
                            [e ? "left" : "top"]: s,
                            behavior: "smooth"
                        })
                    }
                    return !0
                }
                return r.setTransition(t), r.setTranslate(v), r.updateActiveIndex(a), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, i), r.transitionStart(s, b), 0 === t ? r.transitionEnd(s, b) : r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function(e) {
                    r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(s, b))
                }), r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd)), !0
            },
            slideToLoop: function(e = 0, t = this.params.speed, s = !0, i) {
                const n = this;
                let r = e;
                return n.params.loop && (r += n.loopedSlides), n.slideTo(r, t, s, i)
            },
            slideNext: function(e = this.params.speed, t = !0, s) {
                const i = this,
                    {
                        animating: n,
                        enabled: r,
                        params: a
                    } = i;
                if (!r) return i;
                let o = a.slidesPerGroup;
                "auto" === a.slidesPerView && 1 === a.slidesPerGroup && a.slidesPerGroupAuto && (o = Math.max(i.slidesPerViewDynamic("current", !0), 1));
                const l = i.activeIndex < a.slidesPerGroupSkip ? 1 : o;
                if (a.loop) {
                    if (n && a.loopPreventsSlide) return !1;
                    i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft
                }
                return a.rewind && i.isEnd ? i.slideTo(0, e, t, s) : i.slideTo(i.activeIndex + l, e, t, s)
            },
            slidePrev: function(e = this.params.speed, t = !0, s) {
                const i = this,
                    {
                        params: n,
                        animating: r,
                        snapGrid: a,
                        slidesGrid: o,
                        rtlTranslate: l,
                        enabled: d
                    } = i;
                if (!d) return i;
                if (n.loop) {
                    if (r && n.loopPreventsSlide) return !1;
                    i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft
                }

                function c(e) {
                    return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
                }
                const p = c(l ? i.translate : -i.translate),
                    u = a.map((e => c(e)));
                let f = a[u.indexOf(p) - 1];
                if (void 0 === f && n.cssMode) {
                    let e;
                    a.forEach(((t, s) => {
                        p >= t && (e = s)
                    })), void 0 !== e && (f = a[e > 0 ? e - 1 : e])
                }
                let h = 0;
                return void 0 !== f && (h = o.indexOf(f), h < 0 && (h = i.activeIndex - 1), "auto" === n.slidesPerView && 1 === n.slidesPerGroup && n.slidesPerGroupAuto && (h = h - i.slidesPerViewDynamic("previous", !0) + 1, h = Math.max(h, 0))), n.rewind && i.isBeginning ? i.slideTo(i.slides.length - 1, e, t, s) : i.slideTo(h, e, t, s)
            },
            slideReset: function(e = this.params.speed, t = !0, s) {
                return this.slideTo(this.activeIndex, e, t, s)
            },
            slideToClosest: function(e = this.params.speed, t = !0, s, i = .5) {
                const n = this;
                let r = n.activeIndex;
                const a = Math.min(n.params.slidesPerGroupSkip, r),
                    o = a + Math.floor((r - a) / n.params.slidesPerGroup),
                    l = n.rtlTranslate ? n.translate : -n.translate;
                if (l >= n.snapGrid[o]) {
                    const e = n.snapGrid[o];
                    l - e > (n.snapGrid[o + 1] - e) * i && (r += n.params.slidesPerGroup)
                } else {
                    const e = n.snapGrid[o - 1];
                    l - e <= (n.snapGrid[o] - e) * i && (r -= n.params.slidesPerGroup)
                }
                return r = Math.max(r, 0), r = Math.min(r, n.slidesGrid.length - 1), n.slideTo(r, e, t, s)
            },
            slideToClickedSlide: function() {
                const e = this,
                    {
                        params: t,
                        $wrapperEl: s
                    } = e,
                    i = "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView;
                let n, r = e.clickedIndex;
                if (t.loop) {
                    if (e.animating) return;
                    n = parseInt(m(e.clickedSlide).attr("data-swiper-slide-index"), 10), t.centeredSlides ? r < e.loopedSlides - i / 2 || r > e.slides.length - e.loopedSlides + i / 2 ? (e.loopFix(), r = s.children(`.${t.slideClass}[data-swiper-slide-index="${n}"]:not(.${t.slideDuplicateClass})`).eq(0).index(), g((() => {
                        e.slideTo(r)
                    }))) : e.slideTo(r) : r > e.slides.length - i ? (e.loopFix(), r = s.children(`.${t.slideClass}[data-swiper-slide-index="${n}"]:not(.${t.slideDuplicateClass})`).eq(0).index(), g((() => {
                        e.slideTo(r)
                    }))) : e.slideTo(r)
                } else e.slideTo(r)
            }
        };
        const z = {
            loopCreate: function() {
                const e = this,
                    t = r(),
                    {
                        params: s,
                        $wrapperEl: i
                    } = e,
                    n = i.children().length > 0 ? m(i.children()[0].parentNode) : i;
                n.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();
                let a = n.children(`.${s.slideClass}`);
                if (s.loopFillGroupWithBlank) {
                    const e = s.slidesPerGroup - a.length % s.slidesPerGroup;
                    if (e !== s.slidesPerGroup) {
                        for (let i = 0; i < e; i += 1) {
                            const e = m(t.createElement("div")).addClass(`${s.slideClass} ${s.slideBlankClass}`);
                            n.append(e)
                        }
                        a = n.children(`.${s.slideClass}`)
                    }
                }
                "auto" !== s.slidesPerView || s.loopedSlides || (s.loopedSlides = a.length), e.loopedSlides = Math.ceil(parseFloat(s.loopedSlides || s.slidesPerView, 10)), e.loopedSlides += s.loopAdditionalSlides, e.loopedSlides > a.length && (e.loopedSlides = a.length);
                const o = [],
                    l = [];
                a.each(((t, s) => {
                    const i = m(t);
                    s < e.loopedSlides && l.push(t), s < a.length && s >= a.length - e.loopedSlides && o.push(t), i.attr("data-swiper-slide-index", s)
                }));
                for (let e = 0; e < l.length; e += 1) n.append(m(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
                for (let e = o.length - 1; e >= 0; e -= 1) n.prepend(m(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass))
            },
            loopFix: function() {
                const e = this;
                e.emit("beforeLoopFix");
                const {
                    activeIndex: t,
                    slides: s,
                    loopedSlides: i,
                    allowSlidePrev: n,
                    allowSlideNext: r,
                    snapGrid: a,
                    rtlTranslate: o
                } = e;
                let l;
                e.allowSlidePrev = !0, e.allowSlideNext = !0;
                const d = -a[t] - e.getTranslate();
                if (t < i) {
                    l = s.length - 3 * i + t, l += i;
                    e.slideTo(l, 0, !1, !0) && 0 !== d && e.setTranslate((o ? -e.translate : e.translate) - d)
                } else if (t >= s.length - i) {
                    l = -s.length + t + i, l += i;
                    e.slideTo(l, 0, !1, !0) && 0 !== d && e.setTranslate((o ? -e.translate : e.translate) - d)
                }
                e.allowSlidePrev = n, e.allowSlideNext = r, e.emit("loopFix")
            },
            loopDestroy: function() {
                const {
                    $wrapperEl: e,
                    params: t,
                    slides: s
                } = this;
                e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(), s.removeAttr("data-swiper-slide-index")
            }
        };

        function B(e) {
            const t = this,
                s = r(),
                i = o(),
                n = t.touchEventsData,
                {
                    params: a,
                    touches: l,
                    enabled: d
                } = t;
            if (!d) return;
            if (t.animating && a.preventInteractionOnTransition) return;
            !t.animating && a.cssMode && a.loop && t.loopFix();
            let c = e;
            c.originalEvent && (c = c.originalEvent);
            let p = m(c.target);
            if ("wrapper" === a.touchEventsTarget && !p.closest(t.wrapperEl).length) return;
            if (n.isTouchEvent = "touchstart" === c.type, !n.isTouchEvent && "which" in c && 3 === c.which) return;
            if (!n.isTouchEvent && "button" in c && c.button > 0) return;
            if (n.isTouched && n.isMoved) return;
            !!a.noSwipingClass && "" !== a.noSwipingClass && c.target && c.target.shadowRoot && e.path && e.path[0] && (p = m(e.path[0]));
            const u = a.noSwipingSelector ? a.noSwipingSelector : `.${a.noSwipingClass}`,
                f = !(!c.target || !c.target.shadowRoot);
            if (a.noSwiping && (f ? function(e, t = this) {
                    return function t(s) {
                        return s && s !== r() && s !== o() ? (s.assignedSlot && (s = s.assignedSlot), s.closest(e) || t(s.getRootNode().host)) : null
                    }(t)
                }(u, c.target) : p.closest(u)[0])) return void(t.allowClick = !0);
            if (a.swipeHandler && !p.closest(a.swipeHandler)[0]) return;
            l.currentX = "touchstart" === c.type ? c.targetTouches[0].pageX : c.pageX, l.currentY = "touchstart" === c.type ? c.targetTouches[0].pageY : c.pageY;
            const h = l.currentX,
                g = l.currentY,
                b = a.edgeSwipeDetection || a.iOSEdgeSwipeDetection,
                w = a.edgeSwipeThreshold || a.iOSEdgeSwipeThreshold;
            if (b && (h <= w || h >= i.innerWidth - w)) {
                if ("prevent" !== b) return;
                e.preventDefault()
            }
            if (Object.assign(n, {
                    isTouched: !0,
                    isMoved: !1,
                    allowTouchCallbacks: !0,
                    isScrolling: void 0,
                    startMoving: void 0
                }), l.startX = h, l.startY = g, n.touchStartTime = v(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, a.threshold > 0 && (n.allowThresholdMove = !1), "touchstart" !== c.type) {
                let e = !0;
                p.is(n.focusableElements) && (e = !1), s.activeElement && m(s.activeElement).is(n.focusableElements) && s.activeElement !== p[0] && s.activeElement.blur();
                const i = e && t.allowTouchMove && a.touchStartPreventDefault;
                !a.touchStartForcePreventDefault && !i || p[0].isContentEditable || c.preventDefault()
            }
            t.emit("touchStart", c)
        }

        function j(e) {
            const t = r(),
                s = this,
                i = s.touchEventsData,
                {
                    params: n,
                    touches: a,
                    rtlTranslate: o,
                    enabled: l
                } = s;
            if (!l) return;
            let d = e;
            if (d.originalEvent && (d = d.originalEvent), !i.isTouched) return void(i.startMoving && i.isScrolling && s.emit("touchMoveOpposite", d));
            if (i.isTouchEvent && "touchmove" !== d.type) return;
            const c = "touchmove" === d.type && d.targetTouches && (d.targetTouches[0] || d.changedTouches[0]),
                p = "touchmove" === d.type ? c.pageX : d.pageX,
                u = "touchmove" === d.type ? c.pageY : d.pageY;
            if (d.preventedByNestedSwiper) return a.startX = p, void(a.startY = u);
            if (!s.allowTouchMove) return s.allowClick = !1, void(i.isTouched && (Object.assign(a, {
                startX: p,
                startY: u,
                currentX: p,
                currentY: u
            }), i.touchStartTime = v()));
            if (i.isTouchEvent && n.touchReleaseOnEdges && !n.loop)
                if (s.isVertical()) {
                    if (u < a.startY && s.translate <= s.maxTranslate() || u > a.startY && s.translate >= s.minTranslate()) return i.isTouched = !1, void(i.isMoved = !1)
                } else if (p < a.startX && s.translate <= s.maxTranslate() || p > a.startX && s.translate >= s.minTranslate()) return;
            if (i.isTouchEvent && t.activeElement && d.target === t.activeElement && m(d.target).is(i.focusableElements)) return i.isMoved = !0, void(s.allowClick = !1);
            if (i.allowTouchCallbacks && s.emit("touchMove", d), d.targetTouches && d.targetTouches.length > 1) return;
            a.currentX = p, a.currentY = u;
            const f = a.currentX - a.startX,
                h = a.currentY - a.startY;
            if (s.params.threshold && Math.sqrt(f ** 2 + h ** 2) < s.params.threshold) return;
            if (void 0 === i.isScrolling) {
                let e;
                s.isHorizontal() && a.currentY === a.startY || s.isVertical() && a.currentX === a.startX ? i.isScrolling = !1 : f * f + h * h >= 25 && (e = 180 * Math.atan2(Math.abs(h), Math.abs(f)) / Math.PI, i.isScrolling = s.isHorizontal() ? e > n.touchAngle : 90 - e > n.touchAngle)
            }
            if (i.isScrolling && s.emit("touchMoveOpposite", d), void 0 === i.startMoving && (a.currentX === a.startX && a.currentY === a.startY || (i.startMoving = !0)), i.isScrolling) return void(i.isTouched = !1);
            if (!i.startMoving) return;
            s.allowClick = !1, !n.cssMode && d.cancelable && d.preventDefault(), n.touchMoveStopPropagation && !n.nested && d.stopPropagation(), i.isMoved || (n.loop && !n.cssMode && s.loopFix(), i.startTranslate = s.getTranslate(), s.setTransition(0), s.animating && s.$wrapperEl.trigger("webkitTransitionEnd transitionend"), i.allowMomentumBounce = !1, !n.grabCursor || !0 !== s.allowSlideNext && !0 !== s.allowSlidePrev || s.setGrabCursor(!0), s.emit("sliderFirstMove", d)), s.emit("sliderMove", d), i.isMoved = !0;
            let g = s.isHorizontal() ? f : h;
            a.diff = g, g *= n.touchRatio, o && (g = -g), s.swipeDirection = g > 0 ? "prev" : "next", i.currentTranslate = g + i.startTranslate;
            let b = !0,
                w = n.resistanceRatio;
            if (n.touchReleaseOnEdges && (w = 0), g > 0 && i.currentTranslate > s.minTranslate() ? (b = !1, n.resistance && (i.currentTranslate = s.minTranslate() - 1 + (-s.minTranslate() + i.startTranslate + g) ** w)) : g < 0 && i.currentTranslate < s.maxTranslate() && (b = !1, n.resistance && (i.currentTranslate = s.maxTranslate() + 1 - (s.maxTranslate() - i.startTranslate - g) ** w)), b && (d.preventedByNestedSwiper = !0), !s.allowSlideNext && "next" === s.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !s.allowSlidePrev && "prev" === s.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), s.allowSlidePrev || s.allowSlideNext || (i.currentTranslate = i.startTranslate), n.threshold > 0) {
                if (!(Math.abs(g) > n.threshold || i.allowThresholdMove)) return void(i.currentTranslate = i.startTranslate);
                if (!i.allowThresholdMove) return i.allowThresholdMove = !0, a.startX = a.currentX, a.startY = a.currentY, i.currentTranslate = i.startTranslate, void(a.diff = s.isHorizontal() ? a.currentX - a.startX : a.currentY - a.startY)
            }
            n.followFinger && !n.cssMode && ((n.freeMode && n.freeMode.enabled && s.freeMode || n.watchSlidesProgress) && (s.updateActiveIndex(), s.updateSlidesClasses()), s.params.freeMode && n.freeMode.enabled && s.freeMode && s.freeMode.onTouchMove(), s.updateProgress(i.currentTranslate), s.setTranslate(i.currentTranslate))
        }

        function N(e) {
            const t = this,
                s = t.touchEventsData,
                {
                    params: i,
                    touches: n,
                    rtlTranslate: r,
                    slidesGrid: a,
                    enabled: o
                } = t;
            if (!o) return;
            let l = e;
            if (l.originalEvent && (l = l.originalEvent), s.allowTouchCallbacks && t.emit("touchEnd", l), s.allowTouchCallbacks = !1, !s.isTouched) return s.isMoved && i.grabCursor && t.setGrabCursor(!1), s.isMoved = !1, void(s.startMoving = !1);
            i.grabCursor && s.isMoved && s.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
            const d = v(),
                c = d - s.touchStartTime;
            if (t.allowClick) {
                const e = l.path || l.composedPath && l.composedPath();
                t.updateClickedSlide(e && e[0] || l.target), t.emit("tap click", l), c < 300 && d - s.lastClickTime < 300 && t.emit("doubleTap doubleClick", l)
            }
            if (s.lastClickTime = v(), g((() => {
                    t.destroyed || (t.allowClick = !0)
                })), !s.isTouched || !s.isMoved || !t.swipeDirection || 0 === n.diff || s.currentTranslate === s.startTranslate) return s.isTouched = !1, s.isMoved = !1, void(s.startMoving = !1);
            let p;
            if (s.isTouched = !1, s.isMoved = !1, s.startMoving = !1, p = i.followFinger ? r ? t.translate : -t.translate : -s.currentTranslate, i.cssMode) return;
            if (t.params.freeMode && i.freeMode.enabled) return void t.freeMode.onTouchEnd({
                currentPos: p
            });
            let u = 0,
                f = t.slidesSizesGrid[0];
            for (let e = 0; e < a.length; e += e < i.slidesPerGroupSkip ? 1 : i.slidesPerGroup) {
                const t = e < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup;
                void 0 !== a[e + t] ? p >= a[e] && p < a[e + t] && (u = e, f = a[e + t] - a[e]) : p >= a[e] && (u = e, f = a[a.length - 1] - a[a.length - 2])
            }
            const h = (p - a[u]) / f,
                m = u < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup;
            if (c > i.longSwipesMs) {
                if (!i.longSwipes) return void t.slideTo(t.activeIndex);
                "next" === t.swipeDirection && (h >= i.longSwipesRatio ? t.slideTo(u + m) : t.slideTo(u)), "prev" === t.swipeDirection && (h > 1 - i.longSwipesRatio ? t.slideTo(u + m) : t.slideTo(u))
            } else {
                if (!i.shortSwipes) return void t.slideTo(t.activeIndex);
                t.navigation && (l.target === t.navigation.nextEl || l.target === t.navigation.prevEl) ? l.target === t.navigation.nextEl ? t.slideTo(u + m) : t.slideTo(u) : ("next" === t.swipeDirection && t.slideTo(u + m), "prev" === t.swipeDirection && t.slideTo(u))
            }
        }

        function D() {
            const e = this,
                {
                    params: t,
                    el: s
                } = e;
            if (s && 0 === s.offsetWidth) return;
            t.breakpoints && e.setBreakpoint();
            const {
                allowSlideNext: i,
                allowSlidePrev: n,
                snapGrid: r
            } = e;
            e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses(), ("auto" === t.slidesPerView || t.slidesPerView > 1) && e.isEnd && !e.isBeginning && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(), e.allowSlidePrev = n, e.allowSlideNext = i, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow()
        }

        function G(e) {
            const t = this;
            t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation())))
        }

        function _() {
            const e = this,
                {
                    wrapperEl: t,
                    rtlTranslate: s,
                    enabled: i
                } = e;
            if (!i) return;
            let n;
            e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = -t.scrollLeft : e.translate = -t.scrollTop, -0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses();
            const r = e.maxTranslate() - e.minTranslate();
            n = 0 === r ? 0 : (e.translate - e.minTranslate()) / r, n !== e.progress && e.updateProgress(s ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1)
        }
        let F = !1;

        function H() {}
        const q = (e, t) => {
            const s = r(),
                {
                    params: i,
                    touchEvents: n,
                    el: a,
                    wrapperEl: o,
                    device: l,
                    support: d
                } = e,
                c = !!i.nested,
                p = "on" === t ? "addEventListener" : "removeEventListener",
                u = t;
            if (d.touch) {
                const t = !("touchstart" !== n.start || !d.passiveListener || !i.passiveListeners) && {
                    passive: !0,
                    capture: !1
                };
                a[p](n.start, e.onTouchStart, t), a[p](n.move, e.onTouchMove, d.passiveListener ? {
                    passive: !1,
                    capture: c
                } : c), a[p](n.end, e.onTouchEnd, t), n.cancel && a[p](n.cancel, e.onTouchEnd, t)
            } else a[p](n.start, e.onTouchStart, !1), s[p](n.move, e.onTouchMove, c), s[p](n.end, e.onTouchEnd, !1);
            (i.preventClicks || i.preventClicksPropagation) && a[p]("click", e.onClick, !0), i.cssMode && o[p]("scroll", e.onScroll), i.updateOnWindowResize ? e[u](l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", D, !0) : e[u]("observerUpdate", D, !0)
        };
        const V = {
                attachEvents: function() {
                    const e = this,
                        t = r(),
                        {
                            params: s,
                            support: i
                        } = e;
                    e.onTouchStart = B.bind(e), e.onTouchMove = j.bind(e), e.onTouchEnd = N.bind(e), s.cssMode && (e.onScroll = _.bind(e)), e.onClick = G.bind(e), i.touch && !F && (t.addEventListener("touchstart", H), F = !0), q(e, "on")
                },
                detachEvents: function() {
                    q(this, "off")
                }
            },
            R = (e, t) => e.grid && t.grid && t.grid.rows > 1;
        const W = {
            setBreakpoint: function() {
                const e = this,
                    {
                        activeIndex: t,
                        initialized: s,
                        loopedSlides: i = 0,
                        params: n,
                        $el: r
                    } = e,
                    a = n.breakpoints;
                if (!a || a && 0 === Object.keys(a).length) return;
                const o = e.getBreakpoint(a, e.params.breakpointsBase, e.el);
                if (!o || e.currentBreakpoint === o) return;
                const l = (o in a ? a[o] : void 0) || e.originalParams,
                    d = R(e, n),
                    c = R(e, l),
                    p = n.enabled;
                d && !c ? (r.removeClass(`${n.containerModifierClass}grid ${n.containerModifierClass}grid-column`), e.emitContainerClasses()) : !d && c && (r.addClass(`${n.containerModifierClass}grid`), (l.grid.fill && "column" === l.grid.fill || !l.grid.fill && "column" === n.grid.fill) && r.addClass(`${n.containerModifierClass}grid-column`), e.emitContainerClasses());
                const u = l.direction && l.direction !== n.direction,
                    f = n.loop && (l.slidesPerView !== n.slidesPerView || u);
                u && s && e.changeDirection(), y(e.params, l);
                const h = e.params.enabled;
                Object.assign(e, {
                    allowTouchMove: e.params.allowTouchMove,
                    allowSlideNext: e.params.allowSlideNext,
                    allowSlidePrev: e.params.allowSlidePrev
                }), p && !h ? e.disable() : !p && h && e.enable(), e.currentBreakpoint = o, e.emit("_beforeBreakpoint", l), f && s && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - i + e.loopedSlides, 0, !1)), e.emit("breakpoint", l)
            },
            getBreakpoint: function(e, t = "window", s) {
                if (!e || "container" === t && !s) return;
                let i = !1;
                const n = o(),
                    r = "window" === t ? n.innerHeight : s.clientHeight,
                    a = Object.keys(e).map((e => {
                        if ("string" == typeof e && 0 === e.indexOf("@")) {
                            const t = parseFloat(e.substr(1));
                            return {
                                value: r * t,
                                point: e
                            }
                        }
                        return {
                            value: e,
                            point: e
                        }
                    }));
                a.sort(((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10)));
                for (let e = 0; e < a.length; e += 1) {
                    const {
                        point: r,
                        value: o
                    } = a[e];
                    "window" === t ? n.matchMedia(`(min-width: ${o}px)`).matches && (i = r) : o <= s.clientWidth && (i = r)
                }
                return i || "max"
            }
        };
        const Y = {
            addClasses: function() {
                const e = this,
                    {
                        classNames: t,
                        params: s,
                        rtl: i,
                        $el: n,
                        device: r,
                        support: a
                    } = e,
                    o = function(e, t) {
                        const s = [];
                        return e.forEach((e => {
                            "object" == typeof e ? Object.keys(e).forEach((i => {
                                e[i] && s.push(t + i)
                            })) : "string" == typeof e && s.push(t + e)
                        })), s
                    }(["initialized", s.direction, {
                        "pointer-events": !a.touch
                    }, {
                        "free-mode": e.params.freeMode && s.freeMode.enabled
                    }, {
                        autoheight: s.autoHeight
                    }, {
                        rtl: i
                    }, {
                        grid: s.grid && s.grid.rows > 1
                    }, {
                        "grid-column": s.grid && s.grid.rows > 1 && "column" === s.grid.fill
                    }, {
                        android: r.android
                    }, {
                        ios: r.ios
                    }, {
                        "css-mode": s.cssMode
                    }, {
                        centered: s.cssMode && s.centeredSlides
                    }], s.containerModifierClass);
                t.push(...o), n.addClass([...t].join(" ")), e.emitContainerClasses()
            },
            removeClasses: function() {
                const {
                    $el: e,
                    classNames: t
                } = this;
                e.removeClass(t.join(" ")), this.emitContainerClasses()
            }
        };
        const X = {
            init: !0,
            direction: "horizontal",
            touchEventsTarget: "wrapper",
            initialSlide: 0,
            speed: 300,
            cssMode: !1,
            updateOnWindowResize: !0,
            resizeObserver: !0,
            nested: !1,
            createElements: !1,
            enabled: !0,
            focusableElements: "input, select, option, textarea, button, video, label",
            width: null,
            height: null,
            preventInteractionOnTransition: !1,
            userAgent: null,
            url: null,
            edgeSwipeDetection: !1,
            edgeSwipeThreshold: 20,
            autoHeight: !1,
            setWrapperSize: !1,
            virtualTranslate: !1,
            effect: "slide",
            breakpoints: void 0,
            breakpointsBase: "window",
            spaceBetween: 0,
            slidesPerView: 1,
            slidesPerGroup: 1,
            slidesPerGroupSkip: 0,
            slidesPerGroupAuto: !1,
            centeredSlides: !1,
            centeredSlidesBounds: !1,
            slidesOffsetBefore: 0,
            slidesOffsetAfter: 0,
            normalizeSlideIndex: !0,
            centerInsufficientSlides: !1,
            watchOverflow: !0,
            roundLengths: !1,
            touchRatio: 1,
            touchAngle: 45,
            simulateTouch: !0,
            shortSwipes: !0,
            longSwipes: !0,
            longSwipesRatio: .5,
            longSwipesMs: 300,
            followFinger: !0,
            allowTouchMove: !0,
            threshold: 0,
            touchMoveStopPropagation: !1,
            touchStartPreventDefault: !0,
            touchStartForcePreventDefault: !1,
            touchReleaseOnEdges: !1,
            uniqueNavElements: !0,
            resistance: !0,
            resistanceRatio: .85,
            watchSlidesProgress: !1,
            grabCursor: !1,
            preventClicks: !0,
            preventClicksPropagation: !0,
            slideToClickedSlide: !1,
            preloadImages: !0,
            updateOnImagesReady: !0,
            loop: !1,
            loopAdditionalSlides: 0,
            loopedSlides: null,
            loopFillGroupWithBlank: !1,
            loopPreventsSlide: !0,
            rewind: !1,
            allowSlidePrev: !0,
            allowSlideNext: !0,
            swipeHandler: null,
            noSwiping: !0,
            noSwipingClass: "swiper-no-swiping",
            noSwipingSelector: null,
            passiveListeners: !0,
            containerModifierClass: "swiper-",
            slideClass: "swiper-slide",
            slideBlankClass: "swiper-slide-invisible-blank",
            slideActiveClass: "swiper-slide-active",
            slideDuplicateActiveClass: "swiper-slide-duplicate-active",
            slideVisibleClass: "swiper-slide-visible",
            slideDuplicateClass: "swiper-slide-duplicate",
            slideNextClass: "swiper-slide-next",
            slideDuplicateNextClass: "swiper-slide-duplicate-next",
            slidePrevClass: "swiper-slide-prev",
            slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
            wrapperClass: "swiper-wrapper",
            runCallbacksOnInit: !0,
            _emitClasses: !1
        };

        function U(e, t) {
            return function(s = {}) {
                const i = Object.keys(s)[0],
                    n = s[i];
                "object" == typeof n && null !== n ? (["navigation", "pagination", "scrollbar"].indexOf(i) >= 0 && !0 === e[i] && (e[i] = {
                    auto: !0
                }), i in e && "enabled" in n ? (!0 === e[i] && (e[i] = {
                    enabled: !0
                }), "object" != typeof e[i] || "enabled" in e[i] || (e[i].enabled = !0), e[i] || (e[i] = {
                    enabled: !1
                }), y(t, s)) : y(t, s)) : y(t, s)
            }
        }
        const K = {
                eventsEmitter: L,
                update: M,
                translate: $,
                transition: {
                    setTransition: function(e, t) {
                        const s = this;
                        s.params.cssMode || s.$wrapperEl.transition(e), s.emit("setTransition", e, t)
                    },
                    transitionStart: function(e = !0, t) {
                        const s = this,
                            {
                                params: i
                            } = s;
                        i.cssMode || (i.autoHeight && s.updateAutoHeight(), I({
                            swiper: s,
                            runCallbacks: e,
                            direction: t,
                            step: "Start"
                        }))
                    },
                    transitionEnd: function(e = !0, t) {
                        const s = this,
                            {
                                params: i
                            } = s;
                        s.animating = !1, i.cssMode || (s.setTransition(0), I({
                            swiper: s,
                            runCallbacks: e,
                            direction: t,
                            step: "End"
                        }))
                    }
                },
                slide: A,
                loop: z,
                grabCursor: {
                    setGrabCursor: function(e) {
                        const t = this;
                        if (t.support.touch || !t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return;
                        const s = "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
                        s.style.cursor = "move", s.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", s.style.cursor = e ? "-moz-grabbin" : "-moz-grab", s.style.cursor = e ? "grabbing" : "grab"
                    },
                    unsetGrabCursor: function() {
                        const e = this;
                        e.support.touch || e.params.watchOverflow && e.isLocked || e.params.cssMode || (e["container" === e.params.touchEventsTarget ? "el" : "wrapperEl"].style.cursor = "")
                    }
                },
                events: V,
                breakpoints: W,
                checkOverflow: {
                    checkOverflow: function() {
                        const e = this,
                            {
                                isLocked: t,
                                params: s
                            } = e,
                            {
                                slidesOffsetBefore: i
                            } = s;
                        if (i) {
                            const t = e.slides.length - 1,
                                s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * i;
                            e.isLocked = e.size > s
                        } else e.isLocked = 1 === e.snapGrid.length;
                        !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked), !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked), t && t !== e.isLocked && (e.isEnd = !1), t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock")
                    }
                },
                classes: Y,
                images: {
                    loadImage: function(e, t, s, i, n, r) {
                        const a = o();
                        let l;

                        function d() {
                            r && r()
                        }
                        m(e).parent("picture")[0] || e.complete && n ? d() : t ? (l = new a.Image, l.onload = d, l.onerror = d, i && (l.sizes = i), s && (l.srcset = s), t && (l.src = t)) : d()
                    },
                    preloadImages: function() {
                        const e = this;

                        function t() {
                            null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")))
                        }
                        e.imagesToLoad = e.$el.find("img");
                        for (let s = 0; s < e.imagesToLoad.length; s += 1) {
                            const i = e.imagesToLoad[s];
                            e.loadImage(i, i.currentSrc || i.getAttribute("src"), i.srcset || i.getAttribute("srcset"), i.sizes || i.getAttribute("sizes"), !0, t)
                        }
                    }
                }
            },
            Q = {};
        class J {
            constructor(...e) {
                let t, s;
                if (1 === e.length && e[0].constructor && "Object" === Object.prototype.toString.call(e[0]).slice(8, -1) ? s = e[0] : [t, s] = e, s || (s = {}), s = y({}, s), t && !s.el && (s.el = t), s.el && m(s.el).length > 1) {
                    const e = [];
                    return m(s.el).each((t => {
                        const i = y({}, s, {
                            el: t
                        });
                        e.push(new J(i))
                    })), e
                }
                const i = this;
                i.__swiper__ = !0, i.support = k(), i.device = P({
                    userAgent: s.userAgent
                }), i.browser = O(), i.eventsListeners = {}, i.eventsAnyListeners = [], i.modules = [...i.__modules__], s.modules && Array.isArray(s.modules) && i.modules.push(...s.modules);
                const n = {};
                i.modules.forEach((e => {
                    e({
                        swiper: i,
                        extendParams: U(s, n),
                        on: i.on.bind(i),
                        once: i.once.bind(i),
                        off: i.off.bind(i),
                        emit: i.emit.bind(i)
                    })
                }));
                const r = y({}, X, n);
                return i.params = y({}, r, Q, s), i.originalParams = y({}, i.params), i.passedParams = y({}, s), i.params && i.params.on && Object.keys(i.params.on).forEach((e => {
                    i.on(e, i.params.on[e])
                })), i.params && i.params.onAny && i.onAny(i.params.onAny), i.$ = m, Object.assign(i, {
                    enabled: i.params.enabled,
                    el: t,
                    classNames: [],
                    slides: m(),
                    slidesGrid: [],
                    snapGrid: [],
                    slidesSizesGrid: [],
                    isHorizontal: () => "horizontal" === i.params.direction,
                    isVertical: () => "vertical" === i.params.direction,
                    activeIndex: 0,
                    realIndex: 0,
                    isBeginning: !0,
                    isEnd: !1,
                    translate: 0,
                    previousTranslate: 0,
                    progress: 0,
                    velocity: 0,
                    animating: !1,
                    allowSlideNext: i.params.allowSlideNext,
                    allowSlidePrev: i.params.allowSlidePrev,
                    touchEvents: function() {
                        const e = ["touchstart", "touchmove", "touchend", "touchcancel"],
                            t = ["pointerdown", "pointermove", "pointerup"];
                        return i.touchEventsTouch = {
                            start: e[0],
                            move: e[1],
                            end: e[2],
                            cancel: e[3]
                        }, i.touchEventsDesktop = {
                            start: t[0],
                            move: t[1],
                            end: t[2]
                        }, i.support.touch || !i.params.simulateTouch ? i.touchEventsTouch : i.touchEventsDesktop
                    }(),
                    touchEventsData: {
                        isTouched: void 0,
                        isMoved: void 0,
                        allowTouchCallbacks: void 0,
                        touchStartTime: void 0,
                        isScrolling: void 0,
                        currentTranslate: void 0,
                        startTranslate: void 0,
                        allowThresholdMove: void 0,
                        focusableElements: i.params.focusableElements,
                        lastClickTime: v(),
                        clickTimeout: void 0,
                        velocities: [],
                        allowMomentumBounce: void 0,
                        isTouchEvent: void 0,
                        startMoving: void 0
                    },
                    allowClick: !0,
                    allowTouchMove: i.params.allowTouchMove,
                    touches: {
                        startX: 0,
                        startY: 0,
                        currentX: 0,
                        currentY: 0,
                        diff: 0
                    },
                    imagesToLoad: [],
                    imagesLoaded: 0
                }), i.emit("_swiper"), i.params.init && i.init(), i
            }
            enable() {
                const e = this;
                e.enabled || (e.enabled = !0, e.params.grabCursor && e.setGrabCursor(), e.emit("enable"))
            }
            disable() {
                const e = this;
                e.enabled && (e.enabled = !1, e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable"))
            }
            setProgress(e, t) {
                const s = this;
                e = Math.min(Math.max(e, 0), 1);
                const i = s.minTranslate(),
                    n = (s.maxTranslate() - i) * e + i;
                s.translateTo(n, void 0 === t ? 0 : t), s.updateActiveIndex(), s.updateSlidesClasses()
            }
            emitContainerClasses() {
                const e = this;
                if (!e.params._emitClasses || !e.el) return;
                const t = e.el.className.split(" ").filter((t => 0 === t.indexOf("swiper") || 0 === t.indexOf(e.params.containerModifierClass)));
                e.emit("_containerClasses", t.join(" "))
            }
            getSlideClasses(e) {
                const t = this;
                return e.className.split(" ").filter((e => 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass))).join(" ")
            }
            emitSlidesClasses() {
                const e = this;
                if (!e.params._emitClasses || !e.el) return;
                const t = [];
                e.slides.each((s => {
                    const i = e.getSlideClasses(s);
                    t.push({
                        slideEl: s,
                        classNames: i
                    }), e.emit("_slideClass", s, i)
                })), e.emit("_slideClasses", t)
            }
            slidesPerViewDynamic(e = "current", t = !1) {
                const {
                    params: s,
                    slides: i,
                    slidesGrid: n,
                    slidesSizesGrid: r,
                    size: a,
                    activeIndex: o
                } = this;
                let l = 1;
                if (s.centeredSlides) {
                    let e, t = i[o].swiperSlideSize;
                    for (let s = o + 1; s < i.length; s += 1) i[s] && !e && (t += i[s].swiperSlideSize, l += 1, t > a && (e = !0));
                    for (let s = o - 1; s >= 0; s -= 1) i[s] && !e && (t += i[s].swiperSlideSize, l += 1, t > a && (e = !0))
                } else if ("current" === e)
                    for (let e = o + 1; e < i.length; e += 1) {
                        (t ? n[e] + r[e] - n[o] < a : n[e] - n[o] < a) && (l += 1)
                    } else
                        for (let e = o - 1; e >= 0; e -= 1) {
                            n[o] - n[e] < a && (l += 1)
                        }
                return l
            }
            update() {
                const e = this;
                if (!e || e.destroyed) return;
                const {
                    snapGrid: t,
                    params: s
                } = e;

                function i() {
                    const t = e.rtlTranslate ? -1 * e.translate : e.translate,
                        s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
                    e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses()
                }
                let n;
                s.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode && e.params.freeMode.enabled ? (i(), e.params.autoHeight && e.updateAutoHeight()) : (n = ("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), n || i()), s.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update")
            }
            changeDirection(e, t = !0) {
                const s = this,
                    i = s.params.direction;
                return e || (e = "horizontal" === i ? "vertical" : "horizontal"), e === i || "horizontal" !== e && "vertical" !== e || (s.$el.removeClass(`${s.params.containerModifierClass}${i}`).addClass(`${s.params.containerModifierClass}${e}`), s.emitContainerClasses(), s.params.direction = e, s.slides.each((t => {
                    "vertical" === e ? t.style.width = "" : t.style.height = ""
                })), s.emit("changeDirection"), t && s.update()), s
            }
            mount(e) {
                const t = this;
                if (t.mounted) return !0;
                const s = m(e || t.params.el);
                if (!(e = s[0])) return !1;
                e.swiper = t;
                const i = () => `.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;
                let n = (() => {
                    if (e && e.shadowRoot && e.shadowRoot.querySelector) {
                        const t = m(e.shadowRoot.querySelector(i()));
                        return t.children = e => s.children(e), t
                    }
                    return s.children(i())
                })();
                if (0 === n.length && t.params.createElements) {
                    const e = r().createElement("div");
                    n = m(e), e.className = t.params.wrapperClass, s.append(e), s.children(`.${t.params.slideClass}`).each((e => {
                        n.append(e)
                    }))
                }
                return Object.assign(t, {
                    $el: s,
                    el: e,
                    $wrapperEl: n,
                    wrapperEl: n[0],
                    mounted: !0,
                    rtl: "rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction"),
                    rtlTranslate: "horizontal" === t.params.direction && ("rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction")),
                    wrongRTL: "-webkit-box" === n.css("display")
                }), !0
            }
            init(e) {
                const t = this;
                if (t.initialized) return t;
                return !1 === t.mount(e) || (t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.params.loop && t.loopCreate(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(), t.params.preloadImages && t.preloadImages(), t.params.loop ? t.slideTo(t.params.initialSlide + t.loopedSlides, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.attachEvents(), t.initialized = !0, t.emit("init"), t.emit("afterInit")), t
            }
            destroy(e = !0, t = !0) {
                const s = this,
                    {
                        params: i,
                        $el: n,
                        $wrapperEl: r,
                        slides: a
                    } = s;
                return void 0 === s.params || s.destroyed || (s.emit("beforeDestroy"), s.initialized = !1, s.detachEvents(), i.loop && s.loopDestroy(), t && (s.removeClasses(), n.removeAttr("style"), r.removeAttr("style"), a && a.length && a.removeClass([i.slideVisibleClass, i.slideActiveClass, i.slideNextClass, i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), s.emit("destroy"), Object.keys(s.eventsListeners).forEach((e => {
                    s.off(e)
                })), !1 !== e && (s.$el[0].swiper = null, function(e) {
                    const t = e;
                    Object.keys(t).forEach((e => {
                        try {
                            t[e] = null
                        } catch (e) {}
                        try {
                            delete t[e]
                        } catch (e) {}
                    }))
                }(s)), s.destroyed = !0), null
            }
            static extendDefaults(e) {
                y(Q, e)
            }
            static get extendedDefaults() {
                return Q
            }
            static get defaults() {
                return X
            }
            static installModule(e) {
                J.prototype.__modules__ || (J.prototype.__modules__ = []);
                const t = J.prototype.__modules__;
                "function" == typeof e && t.indexOf(e) < 0 && t.push(e)
            }
            static use(e) {
                return Array.isArray(e) ? (e.forEach((e => J.installModule(e))), J) : (J.installModule(e), J)
            }
        }
        Object.keys(K).forEach((e => {
            Object.keys(K[e]).forEach((t => {
                J.prototype[t] = K[e][t]
            }))
        })), J.use([function({
            swiper: e,
            on: t,
            emit: s
        }) {
            const i = o();
            let n = null;
            const r = () => {
                    e && !e.destroyed && e.initialized && (s("beforeResize"), s("resize"))
                },
                a = () => {
                    e && !e.destroyed && e.initialized && s("orientationchange")
                };
            t("init", (() => {
                e.params.resizeObserver && void 0 !== i.ResizeObserver ? e && !e.destroyed && e.initialized && (n = new ResizeObserver((t => {
                    const {
                        width: s,
                        height: i
                    } = e;
                    let n = s,
                        a = i;
                    t.forEach((({
                        contentBoxSize: t,
                        contentRect: s,
                        target: i
                    }) => {
                        i && i !== e.el || (n = s ? s.width : (t[0] || t).inlineSize, a = s ? s.height : (t[0] || t).blockSize)
                    })), n === s && a === i || r()
                })), n.observe(e.el)) : (i.addEventListener("resize", r), i.addEventListener("orientationchange", a))
            })), t("destroy", (() => {
                n && n.unobserve && e.el && (n.unobserve(e.el), n = null), i.removeEventListener("resize", r), i.removeEventListener("orientationchange", a)
            }))
        }, function({
            swiper: e,
            extendParams: t,
            on: s,
            emit: i
        }) {
            const n = [],
                r = o(),
                a = (e, t = {}) => {
                    const s = new(r.MutationObserver || r.WebkitMutationObserver)((e => {
                        if (1 === e.length) return void i("observerUpdate", e[0]);
                        const t = function() {
                            i("observerUpdate", e[0])
                        };
                        r.requestAnimationFrame ? r.requestAnimationFrame(t) : r.setTimeout(t, 0)
                    }));
                    s.observe(e, {
                        attributes: void 0 === t.attributes || t.attributes,
                        childList: void 0 === t.childList || t.childList,
                        characterData: void 0 === t.characterData || t.characterData
                    }), n.push(s)
                };
            t({
                observer: !1,
                observeParents: !1,
                observeSlideChildren: !1
            }), s("init", (() => {
                if (e.params.observer) {
                    if (e.params.observeParents) {
                        const t = e.$el.parents();
                        for (let e = 0; e < t.length; e += 1) a(t[e])
                    }
                    a(e.$el[0], {
                        childList: e.params.observeSlideChildren
                    }), a(e.$wrapperEl[0], {
                        attributes: !1
                    })
                }
            })), s("destroy", (() => {
                n.forEach((e => {
                    e.disconnect()
                })), n.splice(0, n.length)
            }))
        }]);
        const Z = J;

        function ee(e, t, s, i) {
            const n = r();
            return e.params.createElements && Object.keys(i).forEach((r => {
                if (!s[r] && !0 === s.auto) {
                    let a = e.$el.children(`.${i[r]}`)[0];
                    a || (a = n.createElement("div"), a.className = i[r], e.$el.append(a)), s[r] = a, t[r] = a
                }
            })), s
        }

        function te(e = "") {
            return `.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`
        }

        function se(e, t) {
            return e.transformEl ? t.find(e.transformEl).css({
                "backface-visibility": "hidden",
                "-webkit-backface-visibility": "hidden"
            }) : t
        }

        function ie(e, t) {
            var s = Object.keys(e);
            if (Object.getOwnPropertySymbols) {
                var i = Object.getOwnPropertySymbols(e);
                t && (i = i.filter((function(t) {
                    return Object.getOwnPropertyDescriptor(e, t).enumerable
                }))), s.push.apply(s, i)
            }
            return s
        }

        function ne(t) {
            for (var s = 1; s < arguments.length; s++) {
                var i = null != arguments[s] ? arguments[s] : {};
                s % 2 ? ie(Object(i), !0).forEach((function(s) {
                    e(t, s, i[s])
                })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i)) : ie(Object(i)).forEach((function(e) {
                    Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(i, e))
                }))
            }
            return t
        }

        function re(e, t) {
            if (document.querySelector(e)) new Z(e, ne({
                disableOnInteraction: !0,
                pauseOnMouseEnter: !0,
                keyboard: {
                    enabled: !0,
                    onlyInViewport: !1
                },
                navigation: !0
            }, t))
        }
        Z.use([function({
            swiper: e,
            extendParams: t,
            on: s,
            emit: i
        }) {
            function n(t) {
                let s;
                return t && (s = m(t), e.params.uniqueNavElements && "string" == typeof t && s.length > 1 && 1 === e.$el.find(t).length && (s = e.$el.find(t))), s
            }

            function r(t, s) {
                const i = e.params.navigation;
                t && t.length > 0 && (t[s ? "addClass" : "removeClass"](i.disabledClass), t[0] && "BUTTON" === t[0].tagName && (t[0].disabled = s), e.params.watchOverflow && e.enabled && t[e.isLocked ? "addClass" : "removeClass"](i.lockClass))
            }

            function a() {
                if (e.params.loop) return;
                const {
                    $nextEl: t,
                    $prevEl: s
                } = e.navigation;
                r(s, e.isBeginning && !e.params.rewind), r(t, e.isEnd && !e.params.rewind)
            }

            function o(t) {
                t.preventDefault(), (!e.isBeginning || e.params.loop || e.params.rewind) && e.slidePrev()
            }

            function l(t) {
                t.preventDefault(), (!e.isEnd || e.params.loop || e.params.rewind) && e.slideNext()
            }

            function d() {
                const t = e.params.navigation;
                if (e.params.navigation = ee(e, e.originalParams.navigation, e.params.navigation, {
                        nextEl: "swiper-button-next",
                        prevEl: "swiper-button-prev"
                    }), !t.nextEl && !t.prevEl) return;
                const s = n(t.nextEl),
                    i = n(t.prevEl);
                s && s.length > 0 && s.on("click", l), i && i.length > 0 && i.on("click", o), Object.assign(e.navigation, {
                    $nextEl: s,
                    nextEl: s && s[0],
                    $prevEl: i,
                    prevEl: i && i[0]
                }), e.enabled || (s && s.addClass(t.lockClass), i && i.addClass(t.lockClass))
            }

            function c() {
                const {
                    $nextEl: t,
                    $prevEl: s
                } = e.navigation;
                t && t.length && (t.off("click", l), t.removeClass(e.params.navigation.disabledClass)), s && s.length && (s.off("click", o), s.removeClass(e.params.navigation.disabledClass))
            }
            t({
                navigation: {
                    nextEl: null,
                    prevEl: null,
                    hideOnClick: !1,
                    disabledClass: "swiper-button-disabled",
                    hiddenClass: "swiper-button-hidden",
                    lockClass: "swiper-button-lock"
                }
            }), e.navigation = {
                nextEl: null,
                $nextEl: null,
                prevEl: null,
                $prevEl: null
            }, s("init", (() => {
                d(), a()
            })), s("toEdge fromEdge lock unlock", (() => {
                a()
            })), s("destroy", (() => {
                c()
            })), s("enable disable", (() => {
                const {
                    $nextEl: t,
                    $prevEl: s
                } = e.navigation;
                t && t[e.enabled ? "removeClass" : "addClass"](e.params.navigation.lockClass), s && s[e.enabled ? "removeClass" : "addClass"](e.params.navigation.lockClass)
            })), s("click", ((t, s) => {
                const {
                    $nextEl: n,
                    $prevEl: r
                } = e.navigation, a = s.target;
                if (e.params.navigation.hideOnClick && !m(a).is(r) && !m(a).is(n)) {
                    if (e.pagination && e.params.pagination && e.params.pagination.clickable && (e.pagination.el === a || e.pagination.el.contains(a))) return;
                    let t;
                    n ? t = n.hasClass(e.params.navigation.hiddenClass) : r && (t = r.hasClass(e.params.navigation.hiddenClass)), i(!0 === t ? "navigationShow" : "navigationHide"), n && n.toggleClass(e.params.navigation.hiddenClass), r && r.toggleClass(e.params.navigation.hiddenClass)
                }
            })), Object.assign(e.navigation, {
                update: a,
                init: d,
                destroy: c
            })
        }, function({
            swiper: e,
            extendParams: t,
            on: s,
            emit: i
        }) {
            const n = "swiper-pagination";
            let r;
            t({
                pagination: {
                    el: null,
                    bulletElement: "span",
                    clickable: !1,
                    hideOnClick: !1,
                    renderBullet: null,
                    renderProgressbar: null,
                    renderFraction: null,
                    renderCustom: null,
                    progressbarOpposite: !1,
                    type: "bullets",
                    dynamicBullets: !1,
                    dynamicMainBullets: 1,
                    formatFractionCurrent: e => e,
                    formatFractionTotal: e => e,
                    bulletClass: `${n}-bullet`,
                    bulletActiveClass: `${n}-bullet-active`,
                    modifierClass: `${n}-`,
                    currentClass: `${n}-current`,
                    totalClass: `${n}-total`,
                    hiddenClass: `${n}-hidden`,
                    progressbarFillClass: `${n}-progressbar-fill`,
                    progressbarOppositeClass: `${n}-progressbar-opposite`,
                    clickableClass: `${n}-clickable`,
                    lockClass: `${n}-lock`,
                    horizontalClass: `${n}-horizontal`,
                    verticalClass: `${n}-vertical`
                }
            }), e.pagination = {
                el: null,
                $el: null,
                bullets: []
            };
            let a = 0;

            function o() {
                return !e.params.pagination.el || !e.pagination.el || !e.pagination.$el || 0 === e.pagination.$el.length
            }

            function l(t, s) {
                const {
                    bulletActiveClass: i
                } = e.params.pagination;
                t[s]().addClass(`${i}-${s}`)[s]().addClass(`${i}-${s}-${s}`)
            }

            function d() {
                const t = e.rtl,
                    s = e.params.pagination;
                if (o()) return;
                const n = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
                    d = e.pagination.$el;
                let c;
                const p = e.params.loop ? Math.ceil((n - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
                if (e.params.loop ? (c = Math.ceil((e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup), c > n - 1 - 2 * e.loopedSlides && (c -= n - 2 * e.loopedSlides), c > p - 1 && (c -= p), c < 0 && "bullets" !== e.params.paginationType && (c = p + c)) : c = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0, "bullets" === s.type && e.pagination.bullets && e.pagination.bullets.length > 0) {
                    const i = e.pagination.bullets;
                    let n, o, p;
                    if (s.dynamicBullets && (r = i.eq(0)[e.isHorizontal() ? "outerWidth" : "outerHeight"](!0), d.css(e.isHorizontal() ? "width" : "height", r * (s.dynamicMainBullets + 4) + "px"), s.dynamicMainBullets > 1 && void 0 !== e.previousIndex && (a += c - (e.previousIndex - e.loopedSlides || 0), a > s.dynamicMainBullets - 1 ? a = s.dynamicMainBullets - 1 : a < 0 && (a = 0)), n = Math.max(c - a, 0), o = n + (Math.min(i.length, s.dynamicMainBullets) - 1), p = (o + n) / 2), i.removeClass(["", "-next", "-next-next", "-prev", "-prev-prev", "-main"].map((e => `${s.bulletActiveClass}${e}`)).join(" ")), d.length > 1) i.each((e => {
                        const t = m(e),
                            i = t.index();
                        i === c && t.addClass(s.bulletActiveClass), s.dynamicBullets && (i >= n && i <= o && t.addClass(`${s.bulletActiveClass}-main`), i === n && l(t, "prev"), i === o && l(t, "next"))
                    }));
                    else {
                        const t = i.eq(c),
                            r = t.index();
                        if (t.addClass(s.bulletActiveClass), s.dynamicBullets) {
                            const t = i.eq(n),
                                a = i.eq(o);
                            for (let e = n; e <= o; e += 1) i.eq(e).addClass(`${s.bulletActiveClass}-main`);
                            if (e.params.loop)
                                if (r >= i.length) {
                                    for (let e = s.dynamicMainBullets; e >= 0; e -= 1) i.eq(i.length - e).addClass(`${s.bulletActiveClass}-main`);
                                    i.eq(i.length - s.dynamicMainBullets - 1).addClass(`${s.bulletActiveClass}-prev`)
                                } else l(t, "prev"), l(a, "next");
                            else l(t, "prev"), l(a, "next")
                        }
                    }
                    if (s.dynamicBullets) {
                        const n = Math.min(i.length, s.dynamicMainBullets + 4),
                            a = (r * n - r) / 2 - p * r,
                            o = t ? "right" : "left";
                        i.css(e.isHorizontal() ? o : "top", `${a}px`)
                    }
                }
                if ("fraction" === s.type && (d.find(te(s.currentClass)).text(s.formatFractionCurrent(c + 1)), d.find(te(s.totalClass)).text(s.formatFractionTotal(p))), "progressbar" === s.type) {
                    let t;
                    t = s.progressbarOpposite ? e.isHorizontal() ? "vertical" : "horizontal" : e.isHorizontal() ? "horizontal" : "vertical";
                    const i = (c + 1) / p;
                    let n = 1,
                        r = 1;
                    "horizontal" === t ? n = i : r = i, d.find(te(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${n}) scaleY(${r})`).transition(e.params.speed)
                }
                "custom" === s.type && s.renderCustom ? (d.html(s.renderCustom(e, c + 1, p)), i("paginationRender", d[0])) : i("paginationUpdate", d[0]), e.params.watchOverflow && e.enabled && d[e.isLocked ? "addClass" : "removeClass"](s.lockClass)
            }

            function c() {
                const t = e.params.pagination;
                if (o()) return;
                const s = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
                    n = e.pagination.$el;
                let r = "";
                if ("bullets" === t.type) {
                    let i = e.params.loop ? Math.ceil((s - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
                    e.params.freeMode && e.params.freeMode.enabled && !e.params.loop && i > s && (i = s);
                    for (let s = 0; s < i; s += 1) t.renderBullet ? r += t.renderBullet.call(e, s, t.bulletClass) : r += `<${t.bulletElement} class="${t.bulletClass}"></${t.bulletElement}>`;
                    n.html(r), e.pagination.bullets = n.find(te(t.bulletClass))
                }
                "fraction" === t.type && (r = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : `<span class="${t.currentClass}"></span> / <span class="${t.totalClass}"></span>`, n.html(r)), "progressbar" === t.type && (r = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : `<span class="${t.progressbarFillClass}"></span>`, n.html(r)), "custom" !== t.type && i("paginationRender", e.pagination.$el[0])
            }

            function p() {
                e.params.pagination = ee(e, e.originalParams.pagination, e.params.pagination, {
                    el: "swiper-pagination"
                });
                const t = e.params.pagination;
                if (!t.el) return;
                let s = m(t.el);
                0 !== s.length && (e.params.uniqueNavElements && "string" == typeof t.el && s.length > 1 && (s = e.$el.find(t.el), s.length > 1 && (s = s.filter((t => m(t).parents(".swiper")[0] === e.el)))), "bullets" === t.type && t.clickable && s.addClass(t.clickableClass), s.addClass(t.modifierClass + t.type), s.addClass(t.modifierClass + e.params.direction), "bullets" === t.type && t.dynamicBullets && (s.addClass(`${t.modifierClass}${t.type}-dynamic`), a = 0, t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite && s.addClass(t.progressbarOppositeClass), t.clickable && s.on("click", te(t.bulletClass), (function(t) {
                    t.preventDefault();
                    let s = m(this).index() * e.params.slidesPerGroup;
                    e.params.loop && (s += e.loopedSlides), e.slideTo(s)
                })), Object.assign(e.pagination, {
                    $el: s,
                    el: s[0]
                }), e.enabled || s.addClass(t.lockClass))
            }

            function u() {
                const t = e.params.pagination;
                if (o()) return;
                const s = e.pagination.$el;
                s.removeClass(t.hiddenClass), s.removeClass(t.modifierClass + t.type), s.removeClass(t.modifierClass + e.params.direction), e.pagination.bullets && e.pagination.bullets.removeClass && e.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && s.off("click", te(t.bulletClass))
            }
            s("init", (() => {
                p(), c(), d()
            })), s("activeIndexChange", (() => {
                (e.params.loop || void 0 === e.snapIndex) && d()
            })), s("snapIndexChange", (() => {
                e.params.loop || d()
            })), s("slidesLengthChange", (() => {
                e.params.loop && (c(), d())
            })), s("snapGridLengthChange", (() => {
                e.params.loop || (c(), d())
            })), s("destroy", (() => {
                u()
            })), s("enable disable", (() => {
                const {
                    $el: t
                } = e.pagination;
                t && t[e.enabled ? "removeClass" : "addClass"](e.params.pagination.lockClass)
            })), s("lock unlock", (() => {
                d()
            })), s("click", ((t, s) => {
                const n = s.target,
                    {
                        $el: r
                    } = e.pagination;
                if (e.params.pagination.el && e.params.pagination.hideOnClick && r.length > 0 && !m(n).hasClass(e.params.pagination.bulletClass)) {
                    if (e.navigation && (e.navigation.nextEl && n === e.navigation.nextEl || e.navigation.prevEl && n === e.navigation.prevEl)) return;
                    const t = r.hasClass(e.params.pagination.hiddenClass);
                    i(!0 === t ? "paginationShow" : "paginationHide"), r.toggleClass(e.params.pagination.hiddenClass)
                }
            })), Object.assign(e.pagination, {
                render: c,
                update: d,
                init: p,
                destroy: u
            })
        }, function({
            swiper: e,
            extendParams: t,
            on: s,
            emit: i
        }) {
            let n;

            function a() {
                const t = e.slides.eq(e.activeIndex);
                let s = e.params.autoplay.delay;
                t.attr("data-swiper-autoplay") && (s = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), clearTimeout(n), n = g((() => {
                    let t;
                    e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), t = e.slidePrev(e.params.speed, !0, !0), i("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? l() : (t = e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), i("autoplay")) : (t = e.slidePrev(e.params.speed, !0, !0), i("autoplay")) : e.params.loop ? (e.loopFix(), t = e.slideNext(e.params.speed, !0, !0), i("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? l() : (t = e.slideTo(0, e.params.speed, !0, !0), i("autoplay")) : (t = e.slideNext(e.params.speed, !0, !0), i("autoplay")), (e.params.cssMode && e.autoplay.running || !1 === t) && a()
                }), s)
            }

            function o() {
                return void 0 === n && (!e.autoplay.running && (e.autoplay.running = !0, i("autoplayStart"), a(), !0))
            }

            function l() {
                return !!e.autoplay.running && (void 0 !== n && (n && (clearTimeout(n), n = void 0), e.autoplay.running = !1, i("autoplayStop"), !0))
            }

            function d(t) {
                e.autoplay.running && (e.autoplay.paused || (n && clearTimeout(n), e.autoplay.paused = !0, 0 !== t && e.params.autoplay.waitForTransition ? ["transitionend", "webkitTransitionEnd"].forEach((t => {
                    e.$wrapperEl[0].addEventListener(t, p)
                })) : (e.autoplay.paused = !1, a())))
            }

            function c() {
                const t = r();
                "hidden" === t.visibilityState && e.autoplay.running && d(), "visible" === t.visibilityState && e.autoplay.paused && (a(), e.autoplay.paused = !1)
            }

            function p(t) {
                e && !e.destroyed && e.$wrapperEl && t.target === e.$wrapperEl[0] && (["transitionend", "webkitTransitionEnd"].forEach((t => {
                    e.$wrapperEl[0].removeEventListener(t, p)
                })), e.autoplay.paused = !1, e.autoplay.running ? a() : l())
            }

            function u() {
                e.params.autoplay.disableOnInteraction ? l() : d(), ["transitionend", "webkitTransitionEnd"].forEach((t => {
                    e.$wrapperEl[0].removeEventListener(t, p)
                }))
            }

            function f() {
                e.params.autoplay.disableOnInteraction || (e.autoplay.paused = !1, a())
            }
            e.autoplay = {
                running: !1,
                paused: !1
            }, t({
                autoplay: {
                    enabled: !1,
                    delay: 3e3,
                    waitForTransition: !0,
                    disableOnInteraction: !0,
                    stopOnLastSlide: !1,
                    reverseDirection: !1,
                    pauseOnMouseEnter: !1
                }
            }), s("init", (() => {
                if (e.params.autoplay.enabled) {
                    o();
                    r().addEventListener("visibilitychange", c), e.params.autoplay.pauseOnMouseEnter && (e.$el.on("mouseenter", u), e.$el.on("mouseleave", f))
                }
            })), s("beforeTransitionStart", ((t, s, i) => {
                e.autoplay.running && (i || !e.params.autoplay.disableOnInteraction ? e.autoplay.pause(s) : l())
            })), s("sliderFirstMove", (() => {
                e.autoplay.running && (e.params.autoplay.disableOnInteraction ? l() : d())
            })), s("touchEnd", (() => {
                e.params.cssMode && e.autoplay.paused && !e.params.autoplay.disableOnInteraction && a()
            })), s("destroy", (() => {
                e.$el.off("mouseenter", u), e.$el.off("mouseleave", f), e.autoplay.running && l();
                r().removeEventListener("visibilitychange", c)
            })), Object.assign(e.autoplay, {
                pause: d,
                run: a,
                start: o,
                stop: l
            })
        }, function({
            swiper: e,
            extendParams: t,
            on: s
        }) {
            t({
                    fadeEffect: {
                        crossFade: !1,
                        transformEl: null
                    }
                }),
                function(e) {
                    const {
                        effect: t,
                        swiper: s,
                        on: i,
                        setTranslate: n,
                        setTransition: r,
                        overwriteParams: a,
                        perspective: o
                    } = e;
                    i("beforeInit", (() => {
                        if (s.params.effect !== t) return;
                        s.classNames.push(`${s.params.containerModifierClass}${t}`), o && o() && s.classNames.push(`${s.params.containerModifierClass}3d`);
                        const e = a ? a() : {};
                        Object.assign(s.params, e), Object.assign(s.originalParams, e)
                    })), i("setTranslate", (() => {
                        s.params.effect === t && n()
                    })), i("setTransition", ((e, i) => {
                        s.params.effect === t && r(i)
                    }))
                }({
                    effect: "fade",
                    swiper: e,
                    on: s,
                    setTranslate: () => {
                        const {
                            slides: t
                        } = e, s = e.params.fadeEffect;
                        for (let i = 0; i < t.length; i += 1) {
                            const t = e.slides.eq(i);
                            let n = -t[0].swiperSlideOffset;
                            e.params.virtualTranslate || (n -= e.translate);
                            let r = 0;
                            e.isHorizontal() || (r = n, n = 0);
                            const a = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(t[0].progress), 0) : 1 + Math.min(Math.max(t[0].progress, -1), 0);
                            se(s, t).css({
                                opacity: a
                            }).transform(`translate3d(${n}px, ${r}px, 0px)`)
                        }
                    },
                    setTransition: t => {
                        const {
                            transformEl: s
                        } = e.params.fadeEffect;
                        (s ? e.slides.find(s) : e.slides).transition(t),
                            function({
                                swiper: e,
                                duration: t,
                                transformEl: s,
                                allSlides: i
                            }) {
                                const {
                                    slides: n,
                                    activeIndex: r,
                                    $wrapperEl: a
                                } = e;
                                if (e.params.virtualTranslate && 0 !== t) {
                                    let t, o = !1;
                                    t = i ? s ? n.find(s) : n : s ? n.eq(r).find(s) : n.eq(r), t.transitionEnd((() => {
                                        if (o) return;
                                        if (!e || e.destroyed) return;
                                        o = !0, e.animating = !1;
                                        const t = ["webkitTransitionEnd", "transitionend"];
                                        for (let e = 0; e < t.length; e += 1) a.trigger(t[e])
                                    }))
                                }
                            }({
                                swiper: e,
                                duration: t,
                                transformEl: s,
                                allSlides: !0
                            })
                    },
                    overwriteParams: () => ({
                        slidesPerView: 1,
                        slidesPerGroup: 1,
                        watchSlidesProgress: !0,
                        spaceBetween: 0,
                        virtualTranslate: !e.params.cssMode
                    })
                })
        }, function({
            swiper: e,
            extendParams: t,
            on: s
        }) {
            t({
                thumbs: {
                    swiper: null,
                    multipleActiveThumbs: !0,
                    autoScrollOffset: 0,
                    slideThumbActiveClass: "swiper-slide-thumb-active",
                    thumbsContainerClass: "swiper-thumbs"
                }
            });
            let i = !1,
                n = !1;

            function r() {
                const t = e.thumbs.swiper;
                if (!t) return;
                const s = t.clickedIndex,
                    i = t.clickedSlide;
                if (i && m(i).hasClass(e.params.thumbs.slideThumbActiveClass)) return;
                if (null == s) return;
                let n;
                if (n = t.params.loop ? parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"), 10) : s, e.params.loop) {
                    let t = e.activeIndex;
                    e.slides.eq(t).hasClass(e.params.slideDuplicateClass) && (e.loopFix(), e._clientLeft = e.$wrapperEl[0].clientLeft, t = e.activeIndex);
                    const s = e.slides.eq(t).prevAll(`[data-swiper-slide-index="${n}"]`).eq(0).index(),
                        i = e.slides.eq(t).nextAll(`[data-swiper-slide-index="${n}"]`).eq(0).index();
                    n = void 0 === s ? i : void 0 === i ? s : i - t < t - s ? i : s
                }
                e.slideTo(n)
            }

            function a() {
                const {
                    thumbs: t
                } = e.params;
                if (i) return !1;
                i = !0;
                const s = e.constructor;
                if (t.swiper instanceof s) e.thumbs.swiper = t.swiper, Object.assign(e.thumbs.swiper.originalParams, {
                    watchSlidesProgress: !0,
                    slideToClickedSlide: !1
                }), Object.assign(e.thumbs.swiper.params, {
                    watchSlidesProgress: !0,
                    slideToClickedSlide: !1
                });
                else if (w(t.swiper)) {
                    const i = Object.assign({}, t.swiper);
                    Object.assign(i, {
                        watchSlidesProgress: !0,
                        slideToClickedSlide: !1
                    }), e.thumbs.swiper = new s(i), n = !0
                }
                return e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass), e.thumbs.swiper.on("tap", r), !0
            }

            function o(t) {
                const s = e.thumbs.swiper;
                if (!s) return;
                const i = "auto" === s.params.slidesPerView ? s.slidesPerViewDynamic() : s.params.slidesPerView,
                    n = e.params.thumbs.autoScrollOffset,
                    r = n && !s.params.loop;
                if (e.realIndex !== s.realIndex || r) {
                    let a, o, l = s.activeIndex;
                    if (s.params.loop) {
                        s.slides.eq(l).hasClass(s.params.slideDuplicateClass) && (s.loopFix(), s._clientLeft = s.$wrapperEl[0].clientLeft, l = s.activeIndex);
                        const t = s.slides.eq(l).prevAll(`[data-swiper-slide-index="${e.realIndex}"]`).eq(0).index(),
                            i = s.slides.eq(l).nextAll(`[data-swiper-slide-index="${e.realIndex}"]`).eq(0).index();
                        a = void 0 === t ? i : void 0 === i ? t : i - l == l - t ? s.params.slidesPerGroup > 1 ? i : l : i - l < l - t ? i : t, o = e.activeIndex > e.previousIndex ? "next" : "prev"
                    } else a = e.realIndex, o = a > e.previousIndex ? "next" : "prev";
                    r && (a += "next" === o ? n : -1 * n), s.visibleSlidesIndexes && s.visibleSlidesIndexes.indexOf(a) < 0 && (s.params.centeredSlides ? a = a > l ? a - Math.floor(i / 2) + 1 : a + Math.floor(i / 2) - 1 : a > l && s.params.slidesPerGroup, s.slideTo(a, t ? 0 : void 0))
                }
                let a = 1;
                const o = e.params.thumbs.slideThumbActiveClass;
                if (e.params.slidesPerView > 1 && !e.params.centeredSlides && (a = e.params.slidesPerView), e.params.thumbs.multipleActiveThumbs || (a = 1), a = Math.floor(a), s.slides.removeClass(o), s.params.loop || s.params.virtual && s.params.virtual.enabled)
                    for (let t = 0; t < a; t += 1) s.$wrapperEl.children(`[data-swiper-slide-index="${e.realIndex+t}"]`).addClass(o);
                else
                    for (let t = 0; t < a; t += 1) s.slides.eq(e.realIndex + t).addClass(o)
            }
            e.thumbs = {
                swiper: null
            }, s("beforeInit", (() => {
                const {
                    thumbs: t
                } = e.params;
                t && t.swiper && (a(), o(!0))
            })), s("slideChange update resize observerUpdate", (() => {
                e.thumbs.swiper && o()
            })), s("setTransition", ((t, s) => {
                const i = e.thumbs.swiper;
                i && i.setTransition(s)
            })), s("beforeDestroy", (() => {
                const t = e.thumbs.swiper;
                t && n && t && t.destroy()
            })), Object.assign(e.thumbs, {
                init: a,
                update: o
            })
        }]);
        const ae = function() {
            var e = document.querySelectorAll(".accordion_component-item_header"),
                t = document.querySelectorAll(".accordion_component-item_header .icon"),
                s = document.querySelectorAll('[data-scroll="true"] .collapse');
            e.forEach((function(e, i) {
                e.addEventListener("click", (function(e) {
                    e.preventDefault();
                    for (var s = 0; s < t.length; s++) t[s].classList.remove("transform");
                    e.target.classList.contains("collapsed") ? t[i].classList.remove("transform") : t[i].classList.add("transform")
                })), 0 !== s.length && s[i].addEventListener("shown.bs.collapse", (function(e) {
                    var t = parseFloat(window.getComputedStyle(s[i]).height);
                    window.pageYOffset > 500 && window.scrollTo(0, window.pageYOffset - (t - 200))
                }))
            }))
        };

        function oe(e, t) {
            (null == t || t > e.length) && (t = e.length);
            for (var s = 0, i = new Array(t); s < t; s++) i[s] = e[s];
            return i
        }

        function le(e) {
            return function(e) {
                if (Array.isArray(e)) return oe(e)
            }(e) || function(e) {
                if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
            }(e) || function(e, t) {
                if (e) {
                    if ("string" == typeof e) return oe(e, t);
                    var s = Object.prototype.toString.call(e).slice(8, -1);
                    return "Object" === s && e.constructor && (s = e.constructor.name), "Map" === s || "Set" === s ? Array.from(e) : "Arguments" === s || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s) ? oe(e, t) : void 0
                }
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
            }()
        }
        var de = s(731),
            ce = s.n(de);

        function pe(e, t) {
            var s = Object.keys(e);
            if (Object.getOwnPropertySymbols) {
                var i = Object.getOwnPropertySymbols(e);
                t && (i = i.filter((function(t) {
                    return Object.getOwnPropertyDescriptor(e, t).enumerable
                }))), s.push.apply(s, i)
            }
            return s
        }
        const ue = function(t, s) {
            null !== t && ce().run(t, s ? function(t) {
                for (var s = 1; s < arguments.length; s++) {
                    var i = null != arguments[s] ? arguments[s] : {};
                    s % 2 ? pe(Object(i), !0).forEach((function(s) {
                        e(t, s, i[s])
                    })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i)) : pe(Object(i)).forEach((function(e) {
                        Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(i, e))
                    }))
                }
                return t
            }({}, s) : {})
        };
        var fe = s(817),
            he = s.n(fe);
        document.addEventListener("DOMContentLoaded", (function() {
            var e, t, s, i, n, r;
            re(".sale_swiper", {
                    slidesPerView: 1,
                    loop: !0,
                    autoplay: !0,
                    speed: 1500,
                    spaceBetween: 30,
                    breakpoints: {
                        576: {
                            slidesPerView: 2
                        },
                        768: {
                            slidesPerView: 3
                        },
                        992: {
                            slidesPerView: 3,
                            spaceBetween: 40
                        },
                        1200: {
                            slidesPerView: 4,
                            spaceBetween: 40
                        }
                    },
                    pagination: {
                        el: ".swiper-pagination",
                        clickable: !0
                    }
                }), re(".related_slider", {
                    slidesPerView: 1,
                    spaceBetween: 15,
                    autoplay: !0,
                    speed: 1500,
                    loop: !0,
                    breakpoints: {
                        576: {
                            slidesPerView: 2,
                            spaceBetween: 30
                        },
                        992: {
                            slidesPerView: 3,
                            spaceBetween: 40
                        },
                        1200: {
                            slidesPerView: 4,
                            spaceBetween: 40
                        }
                    },
                    pagination: {
                        el: ".swiper-pagination",
                        clickable: !0
                    }
                }),
                function() {
                    var e, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ".about_main-slider--single",
                        s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ".about_main-slider--thumbs",
                        i = document.querySelector(t),
                        n = {
                            spaceBetween: 15,
                            speed: 700,
                            slidesPerView: 3,
                            freeMode: !0,
                            loop: !0,
                            watchSlidesProgress: !0
                        },
                        r = {
                            breakpoints: {
                                768: {
                                    spaceBetween: 30
                                }
                            }
                        },
                        a = {
                            breakpoints: {
                                768: {
                                    spaceBetween: 30
                                },
                                992: {
                                    spaceBetween: 15
                                },
                                1200: {
                                    spaceBetween: 40
                                }
                            }
                        };
                    i && (e = "true" === i.dataset.modal ? new Z(s, ne(ne({}, n), r)) : new Z(s, ne(ne({}, n), a)), new Z(t, {
                        spaceBetween: 30,
                        slidesPerView: 1,
                        speed: 700,
                        loop: !0,
                        navigation: {
                            nextEl: ".swiper-button-next",
                            prevEl: ".swiper-button-prev"
                        },
                        thumbs: {
                            swiper: e
                        },
                        effect: "fade",
                        fadeEffect: {
                            crossFade: !0
                        }
                    }))
                }(),
                function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ".about_main-slider--destroy",
                        t = document.querySelector(e),
                        s = {},
                        i = !1;

                    function n() {
                        var n = window.matchMedia("(max-width: 767.98px)"),
                            r = window.matchMedia("(min-width: 768px)");
                        t && (n.matches ? i || (i = !0, s = new Z(e, {
                            slidesPerView: 1,
                            loop: !0,
                            spaceBetween: 30,
                            navigation: {
                                nextEl: ".swiper-button-next",
                                prevEl: ".swiper-button-prev"
                            }
                        })) : r.matches && 0 !== Object.keys(s).length && (s.destroy(!0, !0), i = !1))
                    }
                    window.addEventListener("load", n), window.addEventListener("resize", n)
                }(), 0 !== (e = document.querySelectorAll('[data-role="gallery"]')).length && e.forEach((function(e) {
                    (e.parentElement.classList.contains("swiper-slide-duplicate") && e.parentElement.classList.contains("swiper-slide-prev") || e.parentElement.classList.contains("swiper-slide-duplicate-active")) && e.classList.add("ignored")
                })), ae(), r = le(document.querySelectorAll('[data-type="changeable"] .star')), i = "icon-star_fill star", n = (t = r).length, t.map((function(e) {
                    e.addEventListener("click", (function() {
                        if (s = t.indexOf(e), e.className === i)
                            for (; s >= 0; --s) t[s].className = "icon-star_fill star active";
                        else
                            for (; s < n; ++s) t[s].className = i
                    }))
                })), ue(".about_main-slider", {
                    ignoreClass: "ignored"
                }),
                function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ".review_media",
                        t = document.querySelectorAll(e);
                    0 !== t.length && t.forEach((function(t) {
                        ue(e)
                    }))
                }();
            new(he())('.about_wrapper[data-sticky="true"]', {
                stickTo: ".about_main",
                followScroll: !1
            })
        }))
    })()
})();

MMCT - 2023