/**
 * bxSlider v4.2.1d
 * Copyright 2013-2017 Steven Wanderski
 * Written while drinking Belgian ales and listening to jazz
 */
!function (t) {
    var e = {
        mode: "horizontal",
        slideSelector: "",
        infiniteLoop: !0,
        hideControlOnEnd: !1,
        speed: 500,
        easing: null,
        slideMargin: 0,
        startSlide: 0,
        randomStart: !1,
        captions: !1,
        ticker: !1,
        tickerHover: !1,
        adaptiveHeight: !1,
        adaptiveHeightSpeed: 500,
        video: !1,
        useCSS: !0,
        preloadImages: "visible",
        responsive: !0,
        slideZIndex: 50,
        wrapperClass: "bx-wrapper",
        touchEnabled: !0,
        swipeThreshold: 50,
        oneToOneTouch: !0,
        preventDefaultSwipeX: !0,
        preventDefaultSwipeY: !1,
        ariaLive: !0,
        ariaHidden: !0,
        keyboardEnabled: !1,
        pager: !0,
        pagerType: "full",
        pagerShortSeparator: " / ",
        pagerSelector: null,
        buildPager: null,
        pagerCustom: null,
        controls: !0,
        nextText: "Next",
        prevText: "Prev",
        nextSelector: null,
        prevSelector: null,
        autoControls: !1,
        startText: "Start",
        stopText: "Stop",
        autoControlsCombine: !1,
        autoControlsSelector: null,
        auto: !1,
        pause: 4e3,
        autoStart: !0,
        autoDirection: "next",
        stopAutoOnClick: !1,
        autoHover: !1,
        autoDelay: 0,
        autoSlideForOnePage: !1,
        minSlides: 1,
        maxSlides: 1,
        moveSlides: 0,
        slideWidth: 0,
        shrinkItems: !1,
        onSliderLoad: function () {
            return !0
        },
        onSlideBefore: function () {
            return !0
        },
        onSlideAfter: function () {
            return !0
        },
        onSlideNext: function () {
            return !0
        },
        onSlidePrev: function () {
            return !0
        },
        onSliderResize: function () {
            return !0
        },
        onAutoChange: function () {
            return !0
        }
    };
    t.fn.bxSlider = function (n) {
        if (0 === this.length) return this;
        if (this.length > 1) return this.each(function () {
            t(this).bxSlider(n)
        }), this;
        var s = {}, o = this, r = t(window).width(), a = t(window).height();
        if (!t(o).data("bxSlider")) {
            var l = function () {
                t(o).data("bxSlider") || (s.settings = t.extend({}, e, n), s.settings.slideWidth = parseInt(s.settings.slideWidth), s.children = o.children(s.settings.slideSelector), s.children.length < s.settings.minSlides && (s.settings.minSlides = s.children.length), s.children.length < s.settings.maxSlides && (s.settings.maxSlides = s.children.length), s.settings.randomStart && (s.settings.startSlide = Math.floor(Math.random() * s.children.length)), s.active = {index: s.settings.startSlide}, s.carousel = s.settings.minSlides > 1 || s.settings.maxSlides > 1, s.carousel && (s.settings.preloadImages = "all"), s.minThreshold = s.settings.minSlides * s.settings.slideWidth + (s.settings.minSlides - 1) * s.settings.slideMargin, s.maxThreshold = s.settings.maxSlides * s.settings.slideWidth + (s.settings.maxSlides - 1) * s.settings.slideMargin, s.working = !1, s.controls = {}, s.interval = null, s.animProp = "vertical" === s.settings.mode ? "top" : "left", s.usingCSS = s.settings.useCSS && "fade" !== s.settings.mode && function () {
                    for (var t = document.createElement("div"), e = ["WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"], i = 0; i < e.length; i++) if (void 0 !== t.style[e[i]]) return s.cssPrefix = e[i].replace("Perspective", "").toLowerCase(), s.animProp = "-" + s.cssPrefix + "-transform", !0;
                    return !1
                }(), "vertical" === s.settings.mode && (s.settings.maxSlides = s.settings.minSlides), o.data("origStyle", o.attr("style")), o.children(s.settings.slideSelector).each(function () {
                    t(this).data("origStyle", t(this).attr("style"))
                }), d())
            }, d = function () {
                var e = s.children.eq(s.settings.startSlide);
                o.wrap('<div class="' + s.settings.wrapperClass + '"><div class="bx-viewport"></div></div>'), s.viewport = o.parent(), s.settings.ariaLive && !s.settings.ticker && s.viewport.attr("aria-live", "polite"), s.loader = t('<div class="bx-loading" />'), s.viewport.prepend(s.loader), o.css({
                    width: "horizontal" === s.settings.mode ? 1e3 * s.children.length + 215 + "%" : "auto",
                    position: "relative"
                }), s.usingCSS && s.settings.easing ? o.css("-" + s.cssPrefix + "-transition-timing-function", s.settings.easing) : s.settings.easing || (s.settings.easing = "swing"), s.viewport.css({
                    width: "100%",
                    overflow: "hidden",
                    position: "relative"
                }), s.viewport.parent().css({maxWidth: u()}), s.children.css({
                    float: "horizontal" === s.settings.mode ? "left" : "none",
                    listStyle: "none",
                    position: "relative"
                }), s.children.css("width", h()), "horizontal" === s.settings.mode && s.settings.slideMargin > 0 && s.children.css("marginRight", s.settings.slideMargin), "vertical" === s.settings.mode && s.settings.slideMargin > 0 && s.children.css("marginBottom", s.settings.slideMargin), "fade" === s.settings.mode && (s.children.css({
                    position: "absolute",
                    zIndex: 0,
                    display: "none"
                }), s.children.eq(s.settings.startSlide).css({
                    zIndex: s.settings.slideZIndex,
                    display: "block"
                })), s.controls.el = t('<div class="bx-controls" />'), s.settings.captions && k(), s.active.last = s.settings.startSlide === f() - 1, s.settings.video && o.fitVids(), "none" === s.settings.preloadImages ? e = null : ("all" === s.settings.preloadImages || s.settings.ticker) && (e = s.children), s.settings.ticker ? s.settings.pager = !1 : (s.settings.controls && C(), s.settings.auto && s.settings.autoControls && T(), s.settings.pager && b(), (s.settings.controls || s.settings.autoControls || s.settings.pager) && s.viewport.after(s.controls.el)), null === e ? g() : c(e, g)
            }, c = function (e, i) {
                var n = e.find('img:not([src=""]), iframe').length, s = 0;
                if (0 === n) return void i();
                e.find('img:not([src=""]), iframe').each(function () {
                    t(this).one("load error", function () {
                        ++s === n && i()
                    }).each(function () {
                        (this.complete || "" == this.src) && t(this).trigger("load")
                    })
                })
            }, g = function () {
                if (s.settings.infiniteLoop && "fade" !== s.settings.mode && !s.settings.ticker) {
                    var e = "vertical" === s.settings.mode ? s.settings.minSlides : s.settings.maxSlides, i = s.children.slice(0, e).clone(!0).addClass("bx-clone"),
                        n = s.children.slice(-e).clone(!0).addClass("bx-clone");
                    s.settings.ariaHidden && (i.attr("aria-hidden", !0), n.attr("aria-hidden", !0)), o.append(i).prepend(n)
                }
                s.loader.remove(), m(), "vertical" === s.settings.mode && (s.settings.adaptiveHeight = !0), s.viewport.height(p()), o.redrawSlider(), s.settings.onSliderLoad.call(o, s.active.index), s.initialized = !0, s.settings.responsive && t(window).on("resize", U), s.settings.auto && s.settings.autoStart && (f() > 1 || s.settings.autoSlideForOnePage) && L(), s.settings.ticker && O(), s.settings.pager && z(s.settings.startSlide), s.settings.controls && q(), s.settings.touchEnabled && !s.settings.ticker && X(), s.settings.keyboardEnabled && !s.settings.ticker && t(document).keydown(B)
            }, p = function () {
                var e = 0, n = t();
                if ("vertical" === s.settings.mode || s.settings.adaptiveHeight) if (s.carousel) {
                    var o = 1 === s.settings.moveSlides ? s.active.index : s.active.index * x();
                    for (n = s.children.eq(o), i = 1; i <= s.settings.maxSlides - 1; i++) n = o + i >= s.children.length ? n.add(s.children.eq(i - 1)) : n.add(s.children.eq(o + i))
                } else n = s.children.eq(s.active.index); else n = s.children;
                return "vertical" === s.settings.mode ? (n.each(function (i) {
                    e += t(this).outerHeight()
                }), s.settings.slideMargin > 0 && (e += s.settings.slideMargin * (s.settings.minSlides - 1))) : e = Math.max.apply(Math, n.map(function () {
                    return t(this).outerHeight(!1)
                }).get()), "border-box" === s.viewport.css("box-sizing") ? e += parseFloat(s.viewport.css("padding-top")) + parseFloat(s.viewport.css("padding-bottom")) + parseFloat(s.viewport.css("border-top-width")) + parseFloat(s.viewport.css("border-bottom-width")) : "padding-box" === s.viewport.css("box-sizing") && (e += parseFloat(s.viewport.css("padding-top")) + parseFloat(s.viewport.css("padding-bottom"))), e
            }, u = function () {
                var t = "100%";
                return s.settings.slideWidth > 0 && (t = "horizontal" === s.settings.mode ? s.settings.maxSlides * s.settings.slideWidth + (s.settings.maxSlides - 1) * s.settings.slideMargin : s.settings.slideWidth), t
            }, h = function () {
                var t = s.settings.slideWidth, e = s.viewport.width();
                if (0 === s.settings.slideWidth || s.settings.slideWidth > e && !s.carousel || "vertical" === s.settings.mode) t = e; else if (s.settings.maxSlides > 1 && "horizontal" === s.settings.mode) {
                    if (e > s.maxThreshold) return t;
                    e < s.minThreshold ? t = (e - s.settings.slideMargin * (s.settings.minSlides - 1)) / s.settings.minSlides : s.settings.shrinkItems && (t = Math.floor((e + s.settings.slideMargin) / Math.ceil((e + s.settings.slideMargin) / (t + s.settings.slideMargin)) - s.settings.slideMargin))
                }
                return t
            }, v = function () {
                var t = 1, e = null;
                return "horizontal" === s.settings.mode && s.settings.slideWidth > 0 ? s.viewport.width() < s.minThreshold ? t = s.settings.minSlides : s.viewport.width() > s.maxThreshold ? t = s.settings.maxSlides : (e = s.children.first().width() + s.settings.slideMargin, t = Math.floor((s.viewport.width() + s.settings.slideMargin) / e) || 1) : "vertical" === s.settings.mode && (t = s.settings.minSlides), t
            }, f = function () {
                var t = 0, e = 0, i = 0;
                if (s.settings.moveSlides > 0) {
                    if (!s.settings.infiniteLoop) {
                        for (; e < s.children.length;) ++t, e = i + v(), i += s.settings.moveSlides <= v() ? s.settings.moveSlides : v();
                        return i
                    }
                    t = Math.ceil(s.children.length / x())
                } else t = Math.ceil(s.children.length / v());
                return t
            }, x = function () {
                return s.settings.moveSlides > 0 && s.settings.moveSlides <= v() ? s.settings.moveSlides : v()
            }, m = function () {
                var t, e, i;
                s.children.length > s.settings.maxSlides && s.active.last && !s.settings.infiniteLoop ? "horizontal" === s.settings.mode ? (e = s.children.last(), t = e.position(), S(-(t.left - (s.viewport.width() - e.outerWidth())), "reset", 0)) : "vertical" === s.settings.mode && (i = s.children.length - s.settings.minSlides, t = s.children.eq(i).position(), S(-t.top, "reset", 0)) : (t = s.children.eq(s.active.index * x()).position(), s.active.index === f() - 1 && (s.active.last = !0), void 0 !== t && ("horizontal" === s.settings.mode ? S(-t.left, "reset", 0) : "vertical" === s.settings.mode && S(-t.top, "reset", 0)))
            }, S = function (e, i, n, r) {
                var a, l;
                s.usingCSS ? (l = "vertical" === s.settings.mode ? "translate3d(0, " + e + "px, 0)" : "translate3d(" + e + "px, 0, 0)", o.css("-" + s.cssPrefix + "-transition-duration", n / 1e3 + "s"), "slide" === i ? (o.css(s.animProp, l), 0 !== n ? o.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function (e) {
                    t(e.target).is(o) && (o.off("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"), A())
                }) : A()) : "reset" === i ? o.css(s.animProp, l) : "ticker" === i && (o.css("-" + s.cssPrefix + "-transition-timing-function", "linear"), o.css(s.animProp, l), 0 !== n ? o.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function (e) {
                    t(e.target).is(o) && (o.off("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"), S(r.resetValue, "reset", 0), F())
                }) : (S(r.resetValue, "reset", 0), F()))) : (a = {}, a[s.animProp] = e, "slide" === i ? o.animate(a, n, s.settings.easing, function () {
                    A()
                }) : "reset" === i ? o.css(s.animProp, e) : "ticker" === i && o.animate(a, n, "linear", function () {
                    S(r.resetValue, "reset", 0), F()
                }))
            }, w = function () {
                for (var e = "", i = "", n = f(), o = 0; o < n; o++) i = "", s.settings.buildPager && t.isFunction(s.settings.buildPager) || s.settings.pagerCustom ? (i = s.settings.buildPager(o), s.pagerEl.addClass("bx-custom-pager")) : (i = o + 1, s.pagerEl.addClass("bx-default-pager")), e += '<div class="bx-pager-item"><a href="" data-slide-index="' + o + '" class="bx-pager-link">' + i + "</a></div>";
                s.pagerEl.html(e)
            }, b = function () {
                s.settings.pagerCustom ? s.pagerEl = t(s.settings.pagerCustom) : (s.pagerEl = t('<div class="bx-pager" />'), s.settings.pagerSelector ? t(s.settings.pagerSelector).html(s.pagerEl) : s.controls.el.addClass("bx-has-pager").append(s.pagerEl), w()), s.pagerEl.on("click touchend", "a", I)
            }, C = function () {
                s.controls.next = t('<a class="bx-next" href="">' + s.settings.nextText + "</a>"), s.controls.prev = t('<a class="bx-prev" href="">' + s.settings.prevText + "</a>"), s.controls.next.on("click touchend", P), s.controls.prev.on("click touchend", E), s.settings.nextSelector && t(s.settings.nextSelector).append(s.controls.next), s.settings.prevSelector && t(s.settings.prevSelector).append(s.controls.prev), s.settings.nextSelector || s.settings.prevSelector || (s.controls.directionEl = t('<div class="bx-controls-direction" />'), s.controls.directionEl.append(s.controls.prev).append(s.controls.next), s.controls.el.addClass("bx-has-controls-direction").append(s.controls.directionEl))
            }, T = function () {
                s.controls.start = t('<div class="bx-controls-auto-item"><a class="bx-start" href="">' + s.settings.startText + "</a></div>"), s.controls.stop = t('<div class="bx-controls-auto-item"><a class="bx-stop" href="">' + s.settings.stopText + "</a></div>"), s.controls.autoEl = t('<div class="bx-controls-auto" />'), s.controls.autoEl.on("click", ".bx-start", M), s.controls.autoEl.on("click", ".bx-stop", y), s.settings.autoControlsCombine ? s.controls.autoEl.append(s.controls.start) : s.controls.autoEl.append(s.controls.start).append(s.controls.stop), s.settings.autoControlsSelector ? t(s.settings.autoControlsSelector).html(s.controls.autoEl) : s.controls.el.addClass("bx-has-controls-auto").append(s.controls.autoEl), D(s.settings.autoStart ? "stop" : "start")
            }, k = function () {
                s.children.each(function (e) {
                    var i = t(this).find("img:first").attr("title");
                    void 0 !== i && ("" + i).length && t(this).append('<div class="bx-caption"><span>' + i + "</span></div>")
                })
            }, P = function (t) {
                t.preventDefault(), s.controls.el.hasClass("disabled") || (s.settings.auto && s.settings.stopAutoOnClick && o.stopAuto(), o.goToNextSlide())
            }, E = function (t) {
                t.preventDefault(), s.controls.el.hasClass("disabled") || (s.settings.auto && s.settings.stopAutoOnClick && o.stopAuto(), o.goToPrevSlide())
            }, M = function (t) {
                o.startAuto(), t.preventDefault()
            }, y = function (t) {
                o.stopAuto(), t.preventDefault()
            }, I = function (e) {
                var i, n;
                e.preventDefault(), s.controls.el.hasClass("disabled") || (s.settings.auto && s.settings.stopAutoOnClick && o.stopAuto(), i = t(e.currentTarget), void 0 !== i.attr("data-slide-index") && (n = parseInt(i.attr("data-slide-index"))) !== s.active.index && o.goToSlide(n))
            }, z = function (e) {
                var i = s.children.length;
                if ("short" === s.settings.pagerType) return s.settings.maxSlides > 1 && (i = Math.ceil(s.children.length / s.settings.maxSlides)), void s.pagerEl.html(e + 1 + s.settings.pagerShortSeparator + i);
                s.pagerEl.find("a").removeClass("active"), s.pagerEl.each(function (i, n) {
                    t(n).find("a").eq(e).addClass("active")
                })
            }, A = function () {
                if (s.settings.infiniteLoop) {
                    var t = "";
                    0 === s.active.index ? t = s.children.eq(0).position() : s.active.index === f() - 1 && s.carousel ? t = s.children.eq((f() - 1) * x()).position() : s.active.index === s.children.length - 1 && (t = s.children.eq(s.children.length - 1).position()), t && ("horizontal" === s.settings.mode ? S(-t.left, "reset", 0) : "vertical" === s.settings.mode && S(-t.top, "reset", 0))
                }
                s.working = !1, s.settings.onSlideAfter.call(o, s.children.eq(s.active.index), s.oldIndex, s.active.index)
            }, D = function (t) {
                s.settings.autoControlsCombine ? s.controls.autoEl.html(s.controls[t]) : (s.controls.autoEl.find("a").removeClass("active"), s.controls.autoEl.find("a:not(.bx-" + t + ")").addClass("active"))
            }, q = function () {
                1 === f() ? (s.controls.prev.addClass("disabled"), s.controls.next.addClass("disabled")) : !s.settings.infiniteLoop && s.settings.hideControlOnEnd && (0 === s.active.index ? (s.controls.prev.addClass("disabled"), s.controls.next.removeClass("disabled")) : s.active.index === f() - 1 ? (s.controls.next.addClass("disabled"), s.controls.prev.removeClass("disabled")) : (s.controls.prev.removeClass("disabled"), s.controls.next.removeClass("disabled")))
            }, H = function () {
                o.startAuto()
            }, W = function () {
                o.stopAuto()
            }, L = function () {
                s.settings.autoDelay > 0 ? setTimeout(o.startAuto, s.settings.autoDelay) : (o.startAuto(), t(window).focus(H).blur(W)), s.settings.autoHover && o.hover(function () {
                    s.interval && (o.stopAuto(!0), s.autoPaused = !0)
                }, function () {
                    s.autoPaused && (o.startAuto(!0), s.autoPaused = null)
                })
            }, O = function () {
                var e, i, n, r, a, l, d, c, g = 0;
                "next" === s.settings.autoDirection ? o.append(s.children.clone().addClass("bx-clone")) : (o.prepend(s.children.clone().addClass("bx-clone")), e = s.children.first().position(), g = "horizontal" === s.settings.mode ? -e.left : -e.top), S(g, "reset", 0), s.settings.pager = !1, s.settings.controls = !1, s.settings.autoControls = !1, s.settings.tickerHover && (s.usingCSS ? (r = "horizontal" === s.settings.mode ? 4 : 5, s.viewport.hover(function () {
                    i = o.css("-" + s.cssPrefix + "-transform"), n = parseFloat(i.split(",")[r]), S(n, "reset", 0)
                }, function () {
                    c = 0, s.children.each(function (e) {
                        c += "horizontal" === s.settings.mode ? t(this).outerWidth(!0) : t(this).outerHeight(!0)
                    }), a = s.settings.speed / c, l = "horizontal" === s.settings.mode ? "left" : "top", d = a * (c - Math.abs(parseInt(n))), F(d)
                })) : s.viewport.hover(function () {
                    o.stop()
                }, function () {
                    c = 0, s.children.each(function (e) {
                        c += "horizontal" === s.settings.mode ? t(this).outerWidth(!0) : t(this).outerHeight(!0)
                    }), a = s.settings.speed / c, l = "horizontal" === s.settings.mode ? "left" : "top", d = a * (c - Math.abs(parseInt(o.css(l)))), F(d)
                })), F()
            }, F = function (t) {
                var e, i, n, r = t || s.settings.speed, a = {left: 0, top: 0}, l = {left: 0, top: 0};
                "next" === s.settings.autoDirection ? a = o.find(".bx-clone").first().position() : l = s.children.first().position(), e = "horizontal" === s.settings.mode ? -a.left : -a.top, i = "horizontal" === s.settings.mode ? -l.left : -l.top, n = {resetValue: i}, S(e, "ticker", r, n)
            }, N = function (e) {
                var i = t(window), n = {top: i.scrollTop(), left: i.scrollLeft()}, s = e.offset();
                return n.right = n.left + i.width(), n.bottom = n.top + i.height(), s.right = s.left + e.outerWidth(), s.bottom = s.top + e.outerHeight(), !(n.right < s.left || n.left > s.right || n.bottom < s.top || n.top > s.bottom)
            }, B = function (t) {
                var e = document.activeElement.tagName.toLowerCase();
                if (null == new RegExp(e, ["i"]).exec("input|textarea") && N(o)) {
                    if (39 === t.keyCode) return P(t), !1;
                    if (37 === t.keyCode) return E(t), !1
                }
            }, X = function () {
                s.touch = {start: {x: 0, y: 0}, end: {x: 0, y: 0}}, s.viewport.on("touchstart MSPointerDown pointerdown", Y), s.viewport.on("click", ".bxslider a", function (t) {
                    s.viewport.hasClass("click-disabled") && (t.preventDefault(), s.viewport.removeClass("click-disabled"))
                })
            }, Y = function (t) {
                if ("touchstart" === t.type || 0 === t.button) if (t.preventDefault(), s.controls.el.addClass("disabled"), s.working) s.controls.el.removeClass("disabled"); else {
                    s.touch.originalPos = o.position();
                    var e = t.originalEvent, i = void 0 !== e.changedTouches ? e.changedTouches : [e], n = "function" == typeof PointerEvent;
                    if (n && void 0 === e.pointerId) return;
                    s.touch.start.x = i[0].pageX, s.touch.start.y = i[0].pageY, s.viewport.get(0).setPointerCapture && (s.pointerId = e.pointerId, s.viewport.get(0).setPointerCapture(s.pointerId)), s.originalClickTarget = e.originalTarget || e.target, s.originalClickButton = e.button, s.originalClickButtons = e.buttons, s.originalEventType = e.type, s.hasMove = !1, s.viewport.on("touchmove MSPointerMove pointermove", R), s.viewport.on("touchend MSPointerUp pointerup", Z), s.viewport.on("MSPointerCancel pointercancel", V)
                }
            }, V = function (t) {
                t.preventDefault(), S(s.touch.originalPos.left, "reset", 0), s.controls.el.removeClass("disabled"), s.viewport.off("MSPointerCancel pointercancel", V), s.viewport.off("touchmove MSPointerMove pointermove", R), s.viewport.off("touchend MSPointerUp pointerup", Z), s.viewport.get(0).releasePointerCapture && s.viewport.get(0).releasePointerCapture(s.pointerId)
            }, R = function (t) {
                var e = t.originalEvent, i = void 0 !== e.changedTouches ? e.changedTouches : [e], n = Math.abs(i[0].pageX - s.touch.start.x), o = Math.abs(i[0].pageY - s.touch.start.y), r = 0, a = 0;
                s.hasMove = !0, 3 * n > o && s.settings.preventDefaultSwipeX ? t.preventDefault() : 3 * o > n && s.settings.preventDefaultSwipeY && t.preventDefault(), "touchmove" !== t.type && t.preventDefault(), "fade" !== s.settings.mode && s.settings.oneToOneTouch && ("horizontal" === s.settings.mode ? (a = i[0].pageX - s.touch.start.x, r = s.touch.originalPos.left + a) : (a = i[0].pageY - s.touch.start.y, r = s.touch.originalPos.top + a), S(r, "reset", 0))
            }, Z = function (e) {
                e.preventDefault(), s.viewport.off("touchmove MSPointerMove pointermove", R), s.controls.el.removeClass("disabled");
                var i = e.originalEvent, n = void 0 !== i.changedTouches ? i.changedTouches : [i], r = 0, a = 0;
                s.touch.end.x = n[0].pageX, s.touch.end.y = n[0].pageY, "fade" === s.settings.mode ? (a = Math.abs(s.touch.start.x - s.touch.end.x)) >= s.settings.swipeThreshold && (s.touch.start.x > s.touch.end.x ? o.goToNextSlide() : o.goToPrevSlide(), o.stopAuto()) : ("horizontal" === s.settings.mode ? (a = s.touch.end.x - s.touch.start.x, r = s.touch.originalPos.left) : (a = s.touch.end.y - s.touch.start.y, r = s.touch.originalPos.top), !s.settings.infiniteLoop && (0 === s.active.index && a > 0 || s.active.last && a < 0) ? S(r, "reset", 200) : Math.abs(a) >= s.settings.swipeThreshold ? (a < 0 ? o.goToNextSlide() : o.goToPrevSlide(), o.stopAuto()) : S(r, "reset", 200)), s.viewport.off("touchend MSPointerUp pointerup", Z), s.viewport.get(0).releasePointerCapture && s.viewport.get(0).releasePointerCapture(s.pointerId), !1 !== s.hasMove || 0 !== s.originalClickButton && "touchstart" !== s.originalEventType || t(s.originalClickTarget).trigger({
                    type: "click",
                    button: s.originalClickButton,
                    buttons: s.originalClickButtons
                })
            }, U = function (e) {
                if (s.initialized) if (s.working) window.setTimeout(U, 10); else {
                    var i = t(window).width(), n = t(window).height();
                    r === i && a === n || (r = i, a = n, o.redrawSlider(), s.settings.onSliderResize.call(o, s.active.index))
                }
            }, j = function (t) {
                var e = v();
                s.settings.ariaHidden && !s.settings.ticker && (s.children.attr("aria-hidden", "true"), s.children.slice(t, t + e).attr("aria-hidden", "false"))
            }, Q = function (t) {
                return t < 0 ? s.settings.infiniteLoop ? f() - 1 : s.active.index : t >= f() ? s.settings.infiniteLoop ? 0 : s.active.index : t
            };
            return o.goToSlide = function (e, i) {
                var n, r, a, l, d = !0, c = 0, g = {left: 0, top: 0}, u = null;
                if (s.oldIndex = s.active.index, s.active.index = Q(e), !s.working && s.active.index !== s.oldIndex) {
                    if (s.working = !0, void 0 !== (d = s.settings.onSlideBefore.call(o, s.children.eq(s.active.index), s.oldIndex, s.active.index)) && !d) return s.active.index = s.oldIndex, void (s.working = !1);
                    "next" === i ? s.settings.onSlideNext.call(o, s.children.eq(s.active.index), s.oldIndex, s.active.index) || (d = !1) : "prev" === i && (s.settings.onSlidePrev.call(o, s.children.eq(s.active.index), s.oldIndex, s.active.index) || (d = !1)), s.active.last = s.active.index >= f() - 1, (s.settings.pager || s.settings.pagerCustom) && z(s.active.index), s.settings.controls && q(), "fade" === s.settings.mode ? (s.settings.adaptiveHeight && s.viewport.height() !== p() && s.viewport.animate({height: p()}, s.settings.adaptiveHeightSpeed), s.children.filter(":visible").fadeOut(s.settings.speed).css({zIndex: 0}), s.children.eq(s.active.index).css("zIndex", s.settings.slideZIndex + 1).fadeIn(s.settings.speed, function () {
                        t(this).css("zIndex", s.settings.slideZIndex), A()
                    })) : (s.settings.adaptiveHeight && s.viewport.height() !== p() && s.viewport.animate({height: p()}, s.settings.adaptiveHeightSpeed), !s.settings.infiniteLoop && s.carousel && s.active.last ? "horizontal" === s.settings.mode ? (u = s.children.eq(s.children.length - 1), g = u.position(), c = s.viewport.width() - u.outerWidth()) : (n = s.children.length - s.settings.minSlides, g = s.children.eq(n).position()) : s.carousel && s.active.last && "prev" === i ? (r = 1 === s.settings.moveSlides ? s.settings.maxSlides - x() : (f() - 1) * x() - (s.children.length - s.settings.maxSlides), u = o.children(".bx-clone").eq(r), g = u.position()) : "next" === i && 0 === s.active.index ? (g = o.find("> .bx-clone").eq(s.settings.maxSlides).position(), s.active.last = !1) : e >= 0 && (l = e * parseInt(x()), g = s.children.eq(l).position()), void 0 !== g && (a = "horizontal" === s.settings.mode ? -(g.left - c) : -g.top, S(a, "slide", s.settings.speed)), s.working = !1), s.settings.ariaHidden && j(s.active.index * x())
                }
            }, o.goToNextSlide = function () {
                if ((s.settings.infiniteLoop || !s.active.last) && !0 !== s.working) {
                    var t = parseInt(s.active.index) + 1;
                    o.goToSlide(t, "next")
                }
            }, o.goToPrevSlide = function () {
                if ((s.settings.infiniteLoop || 0 !== s.active.index) && !0 !== s.working) {
                    var t = parseInt(s.active.index) - 1;
                    o.goToSlide(t, "prev")
                }
            }, o.startAuto = function (t) {
                s.interval || (s.interval = setInterval(function () {
                    "next" === s.settings.autoDirection ? o.goToNextSlide() : o.goToPrevSlide()
                }, s.settings.pause), s.settings.onAutoChange.call(o, !0), s.settings.autoControls && !0 !== t && D("stop"))
            }, o.stopAuto = function (t) {
                s.autoPaused && (s.autoPaused = !1), s.interval && (clearInterval(s.interval), s.interval = null, s.settings.onAutoChange.call(o, !1), s.settings.autoControls && !0 !== t && D("start"))
            }, o.getCurrentSlide = function () {
                return s.active.index
            }, o.getCurrentSlideElement = function () {
                return s.children.eq(s.active.index)
            }, o.getSlideElement = function (t) {
                return s.children.eq(t)
            }, o.getSlideCount = function () {
                return s.children.length
            }, o.isWorking = function () {
                return s.working
            }, o.redrawSlider = function () {
                s.children.add(o.find(".bx-clone")).outerWidth(h()), s.viewport.css("height", p()), s.settings.ticker || m(), s.active.last && (s.active.index = f() - 1), s.active.index >= f() && (s.active.last = !0), s.settings.pager && !s.settings.pagerCustom && (w(), z(s.active.index)), s.settings.ariaHidden && j(s.active.index * x())
            }, o.destroySlider = function () {
                s.initialized && (s.initialized = !1, t(".bx-clone", this).remove(), s.children.each(function () {
                    void 0 !== t(this).data("origStyle") ? t(this).attr("style", t(this).data("origStyle")) : t(this).removeAttr("style")
                }), void 0 !== t(this).data("origStyle") ? this.attr("style", t(this).data("origStyle")) : t(this).removeAttr("style"), t(this).unwrap().unwrap(), s.controls.el && s.controls.el.remove(), s.controls.next && s.controls.next.remove(), s.controls.prev && s.controls.prev.remove(), s.pagerEl && s.settings.controls && !s.settings.pagerCustom && s.pagerEl.remove(), t(".bx-caption", this).remove(), s.controls.autoEl && s.controls.autoEl.remove(), clearInterval(s.interval), s.settings.responsive && t(window).off("resize", U), s.settings.keyboardEnabled && t(document).off("keydown", B), t(this).removeData("bxSlider"), t(window).off("blur", W).off("focus", H))
            }, o.reloadSlider = function (e) {
                void 0 !== e && (n = e), o.destroySlider(), l(), t(o).data("bxSlider", this)
            }, l(), t(o).data("bxSlider", this), this
        }
    }
}(jQuery);