/** * swiper 3.4.2 * most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * copyright 2017, vladimir kharlampidi * the idangero.us * http://www.idangero.us/ * * licensed under mit * * released on: march 10, 2017 */ ! function() { "use strict"; var e, a = function(t, s) { function r(e) { return math.floor(e) } function i() { var e = x.params.autoplay, a = x.slides.eq(x.activeindex); a.attr("data-swiper-autoplay") && (e = a.attr("data-swiper-autoplay") || x.params.autoplay), x .autoplaytimeoutid = settimeout(function() { x.params.loop ? (x.fixloop(), x._slidenext(), x.emit("onautoplay", x)) : x.isend ? s .autoplaystoponlast ? x.stopautoplay() : (x._slideto(0), x.emit("onautoplay", x)) : (x ._slidenext(), x.emit("onautoplay", x)) }, e) } function n(a, t) { var s = e(a.target); if (!s.is(t)) if ("string" == typeof t) s = s.parents(t); else if (t.nodetype) { var r; return s.parents().each(function(e, a) { a === t && (r = t) }), r ? t : void 0 } if (0 !== s.length) return s[0] } function o(e, a) { a = a || {}; var t = window.mutationobserver || window.webkitmutationobserver, s = new t(function(e) { e.foreach(function(e) { x.onresize(!0), x.emit("onobserverupdate", x, e) }) }); s.observe(e, { attributes: void 0 === a.attributes || a.attributes, childlist: void 0 === a.childlist || a.childlist, characterdata: void 0 === a.characterdata || a.characterdata }), x.observers.push(s) } function l(e) { e.originalevent && (e = e.originalevent); var a = e.keycode || e.charcode; if (!x.params.allowswipetonext && (x.ishorizontal() && 39 === a || !x.ishorizontal() && 40 === a)) return !1; if (!x.params.allowswipetoprev && (x.ishorizontal() && 37 === a || !x.ishorizontal() && 38 === a)) return !1; if (!(e.shiftkey || e.altkey || e.ctrlkey || e.metakey || document.activeelement && document .activeelement.nodename && ("input" === document.activeelement.nodename.tolowercase() || "textarea" === document.activeelement.nodename.tolowercase()))) { if (37 === a || 39 === a || 38 === a || 40 === a) { var t = !1; if (x.container.parents("." + x.params.slideclass).length > 0 && 0 === x.container.parents("." + x.params.slideactiveclass).length) return; var s = { left: window.pagexoffset, top: window.pageyoffset }, r = window.innerwidth, i = window.innerheight, n = x.container.offset(); x.rtl && (n.left = n.left - x.container[0].scrollleft); for (var o = [ [n.left, n.top], [n.left + x.width, n.top], [n.left, n.top + x.height], [n.left + x.width, n.top + x.height] ], l = 0; l < o.length; l++) { var p = o[l]; p[0] >= s.left && p[0] <= s.left + r && p[1] >= s.top && p[1] <= s.top + i && (t = !0) } if (!t) return } x.ishorizontal() ? (37 !== a && 39 !== a || (e.preventdefault ? e.preventdefault() : e .returnvalue = !1), (39 === a && !x.rtl || 37 === a && x.rtl) && x.slidenext(), (37 === a && !x.rtl || 39 === a && x.rtl) && x.slideprev()) : (38 !== a && 40 !== a || (e .preventdefault ? e.preventdefault() : e.returnvalue = !1), 40 === a && x.slidenext(), 38 === a && x.slideprev()), x.emit("onkeypress", x, a) } } function p(e) { var a = 0, t = 0, s = 0, r = 0; return "detail" in e && (t = e.detail), "wheeldelta" in e && (t = -e.wheeldelta / 120), "wheeldeltay" in e && (t = -e.wheeldeltay / 120), "wheeldeltax" in e && (a = -e.wheeldeltax / 120), "axis" in e && e .axis === e.horizontal_axis && (a = t, t = 0), s = 10 * a, r = 10 * t, "deltay" in e && (r = e .deltay), "deltax" in e && (s = e.deltax), (s || r) && e.deltamode && (1 === e.deltamode ? (s *= 40, r *= 40) : (s *= 800, r *= 800)), s && !a && (a = s < 1 ? -1 : 1), r && !t && (t = r < 1 ? - 1 : 1), { spinx: a, spiny: t, pixelx: s, pixely: r } } function d(e) { e.originalevent && (e = e.originalevent); var a = 0, t = x.rtl ? -1 : 1, s = p(e); if (x.params.mousewheelforcetoaxis) if (x.ishorizontal()) { if (!(math.abs(s.pixelx) > math.abs(s.pixely))) return; a = s.pixelx * t } else { if (!(math.abs(s.pixely) > math.abs(s.pixelx))) return; a = s.pixely } else a = math.abs(s.pixelx) > math.abs(s.pixely) ? -s.pixelx * t : -s.pixely; if (0 !== a) { if (x.params.mousewheelinvert && (a = -a), x.params.freemode) { var r = x.getwrappertranslate() + a * x.params.mousewheelsensitivity, i = x.isbeginning, n = x.isend; if (r >= x.mintranslate() && (r = x.mintranslate()), r <= x.maxtranslate() && (r = x .maxtranslate()), x.setwrappertransition(0), x.setwrappertranslate(r), x .updateprogress(), x.updateactiveindex(), (!i && x.isbeginning || !n && x.isend) && x .updateclasses(), x.params.freemodesticky ? (cleartimeout(x.mousewheel.timeout), x .mousewheel.timeout = settimeout(function() { x.slidereset() }, 300)) : x.params.lazyloading && x.lazy && x.lazy.load(), x.emit("onscroll", x, e), x .params.autoplay && x.params.autoplaydisableoninteraction && x.stopautoplay(), 0 === r || r === x.maxtranslate()) return } else { if ((new window.date).gettime() - x.mousewheel.lastscrolltime > 60) if (a < 0) if (x.isend && !x.params.loop || x.animating) { if (x.params.mousewheelreleaseonedges) return !0 } else x.slidenext(), x.emit("onscroll", x, e); else if (x.isbeginning && !x.params.loop || x.animating) { if (x.params.mousewheelreleaseonedges) return !0 } else x.slideprev(), x.emit("onscroll", x, e); x.mousewheel.lastscrolltime = (new window.date).gettime() } return e.preventdefault ? e.preventdefault() : e.returnvalue = !1, !1 } } function m(a, t) { a = e(a); var s, r, i, n = x.rtl ? -1 : 1; s = a.attr("data-swiper-parallax") || "0", r = a.attr("data-swiper-parallax-x"), i = a.attr( "data-swiper-parallax-y"), r || i ? (r = r || "0", i = i || "0") : x.ishorizontal() ? (r = s, i = "0") : (i = s, r = "0"), r = r.indexof("%") >= 0 ? parseint(r, 10) * t * n + "%" : r * t * n + "px", i = i.indexof("%") >= 0 ? parseint(i, 10) * t + "%" : i * t + "px", a.transform( "translate3d(" + r + ", " + i + ",0px)") } function u(e) { return 0 !== e.indexof("on") && (e = e[0] !== e[0].touppercase() ? "on" + e[0].touppercase() + e .substring(1) : "on" + e), e } if (!(this instanceof a)) return new a(t, s); var c = { direction: "horizontal", toucheventstarget: "container", initialslide: 0, speed: 300, autoplay: !1, autoplaydisableoninteraction: !0, autoplaystoponlast: !1, iosedgeswipedetection: !1, iosedgeswipethreshold: 20, freemode: !1, freemodemomentum: !0, freemodemomentumratio: 1, freemodemomentumbounce: !0, freemodemomentumbounceratio: 1, freemodemomentumvelocityratio: 1, freemodesticky: !1, freemodeminimumvelocity: .02, autoheight: !1, setwrappersize: !1, virtualtranslate: !1, effect: "slide", coverflow: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideshadows: !0 }, flip: { slideshadows: !0, limitrotation: !0 }, cube: { slideshadows: !0, shadow: !0, shadowoffset: 20, shadowscale: .94 }, fade: { crossfade: !1 }, parallax: !1, zoom: !1, zoommax: 3, zoommin: 1, zoomtoggle: !0, scrollbar: null, scrollbarhide: !0, scrollbardraggable: !1, scrollbarsnaponrelease: !1, keyboardcontrol: !1, mousewheelcontrol: !1, mousewheelreleaseonedges: !1, mousewheelinvert: !1, mousewheelforcetoaxis: !1, mousewheelsensitivity: 1, mousewheeleventstarged: "container", hashnav: !1, hashnavwatchstate: !1, history: !1, replacestate: !1, breakpoints: void 0, spacebetween: 0, slidesperview: 1, slidespercolumn: 1, slidespercolumnfill: "column", slidespergroup: 1, centeredslides: !1, slidesoffsetbefore: 0, slidesoffsetafter: 0, roundlengths: !1, touchratio: 1, touchangle: 45, simulatetouch: !0, shortswipes: !0, longswipes: !0, longswipesratio: .5, longswipesms: 300, followfinger: !0, onlyexternal: !1, threshold: 0, touchmovestoppropagation: !0, touchreleaseonedges: !1, uniquenavelements: !0, pagination: null, paginationelement: "span", paginationclickable: !1, paginationhide: !1, paginationbulletrender: null, paginationprogressrender: null, paginationfractionrender: null, paginationcustomrender: null, paginationtype: "bullets", resistance: !0, resistanceratio: .85, nextbutton: null, prevbutton: null, watchslidesprogress: !1, watchslidesvisibility: !1, grabcursor: !1, preventclicks: !0, preventclickspropagation: !0, slidetoclickedslide: !1, lazyloading: !1, lazyloadinginprevnext: !1, lazyloadinginprevnextamount: 1, lazyloadingontransitionstart: !1, preloadimages: !0, updateonimagesready: !0, loop: !1, loopadditionalslides: 0, loopedslides: null, control: void 0, controlinverse: !1, controlby: "slide", normalizeslideindex: !0, allowswipetoprev: !0, allowswipetonext: !0, swipehandler: null, noswiping: !0, noswipingclass: "swiper-no-swiping", passivelisteners: !0, containermodifierclass: "swiper-container-", slideclass: "swiper-slide", 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", bulletclass: "swiper-pagination-bullet", bulletactiveclass: "swiper-pagination-bullet-active", buttondisabledclass: "swiper-button-disabled", paginationcurrentclass: "swiper-pagination-current", paginationtotalclass: "swiper-pagination-total", paginationhiddenclass: "swiper-pagination-hidden", paginationprogressbarclass: "swiper-pagination-progressbar", paginationclickableclass: "swiper-pagination-clickable", paginationmodifierclass: "swiper-pagination-", lazyloadingclass: "swiper-lazy", lazystatusloadingclass: "swiper-lazy-loading", lazystatusloadedclass: "swiper-lazy-loaded", lazypreloaderclass: "swiper-lazy-preloader", notificationclass: "swiper-notification", preloaderclass: "preloader", zoomcontainerclass: "swiper-zoom-container", observer: !1, observeparents: !1, a11y: !1, prevslidemessage: "previous slide", nextslidemessage: "next slide", firstslidemessage: "this is the first slide", lastslidemessage: "this is the last slide", paginationbulletmessage: "go to slide {{index}}", runcallbacksoninit: !0 }, g = s && s.virtualtranslate; s = s || {}; var h = {}; for (var v in s) if ("object" != typeof s[v] || null === s[v] || (s[v].nodetype || s[v] === window || s[v] === document || "undefined" != typeof dom7 && s[v] instanceof dom7 || "undefined" != typeof jquery && s[v] instanceof jquery)) h[v] = s[v]; else { h[v] = {}; for (var f in s[v]) h[v][f] = s[v][f] } for (var w in c) if (void 0 === s[w]) s[w] = c[w]; else if ("object" == typeof s[w]) for (var y in c[w]) void 0 === s[w][y] && (s[w][y] = c[w][y]); var x = this; if (x.params = s, x.originalparams = h, x.classnames = [], void 0 !== e && "undefined" != typeof dom7 && ( e = dom7), (void 0 !== e || (e = "undefined" == typeof dom7 ? window.dom7 || window.zepto || window .jquery : dom7)) && (x.$ = e, x.currentbreakpoint = void 0, x.getactivebreakpoint = function() { if (!x.params.breakpoints) return !1; var e, a = !1, t = []; for (e in x.params.breakpoints) x.params.breakpoints.hasownproperty(e) && t.push(e); t.sort(function(e, a) { return parseint(e, 10) > parseint(a, 10) }); for (var s = 0; s < t.length; s++)(e = t[s]) >= window.innerwidth && !a && (a = e); return a || "max" }, x.setbreakpoint = function() { var e = x.getactivebreakpoint(); if (e && x.currentbreakpoint !== e) { var a = e in x.params.breakpoints ? x.params.breakpoints[e] : x.originalparams, t = x.params.loop && a.slidesperview !== x.params.slidesperview; for (var s in a) x.params[s] = a[s]; x.currentbreakpoint = e, t && x.destroyloop && x.reloop(!0) } }, x.params.breakpoints && x.setbreakpoint(), x.container = e(t), 0 !== x.container.length)) { if (x.container.length > 1) { var t = []; return x.container.each(function() { t.push(new a(this, s)) }), t } x.container[0].swiper = x, x.container.data("swiper", x), x.classnames.push(x.params .containermodifierclass + x.params.direction), x.params.freemode && x.classnames.push(x.params .containermodifierclass + "free-mode"), x.support.flexbox || (x.classnames.push(x.params .containermodifierclass + "no-flexbox"), x.params.slidespercolumn = 1), x.params.autoheight && x .classnames.push(x.params.containermodifierclass + "autoheight"), (x.params.parallax || x.params .watchslidesvisibility) && (x.params.watchslidesprogress = !0), x.params.touchreleaseonedges && (x.params.resistanceratio = 0), ["cube", "coverflow", "flip"].indexof(x.params.effect) >= 0 && (x .support.transforms3d ? (x.params.watchslidesprogress = !0, x.classnames.push(x.params .containermodifierclass + "3d")) : x.params.effect = "slide"), "slide" !== x.params .effect && x.classnames.push(x.params.containermodifierclass + x.params.effect), "cube" === x.params .effect && (x.params.resistanceratio = 0, x.params.slidesperview = 1, x.params.slidespercolumn = 1, x.params.slidespergroup = 1, x.params.centeredslides = !1, x.params.spacebetween = 0, x.params .virtualtranslate = !0), "fade" !== x.params.effect && "flip" !== x.params.effect || (x.params .slidesperview = 1, x.params.slidespercolumn = 1, x.params.slidespergroup = 1, x.params .watchslidesprogress = !0, x.params.spacebetween = 0, void 0 === g && (x.params .virtualtranslate = !0)), x.params.grabcursor && x.support.touch && (x.params.grabcursor = ! 1), x.wrapper = x.container.children("." + x.params.wrapperclass), x.params.pagination && (x .paginationcontainer = e(x.params.pagination), x.params.uniquenavelements && "string" == typeof x.params.pagination && x.paginationcontainer.length > 1 && 1 === x.container.find(x .params.pagination).length && (x.paginationcontainer = x.container.find(x.params .pagination)), "bullets" === x.params.paginationtype && x.params.paginationclickable ? x .paginationcontainer.addclass(x.params.paginationmodifierclass + "clickable") : x.params .paginationclickable = !1, x.paginationcontainer.addclass(x.params.paginationmodifierclass + x .params.paginationtype)), (x.params.nextbutton || x.params.prevbutton) && (x.params .nextbutton && (x.nextbutton = e(x.params.nextbutton), x.params.uniquenavelements && "string" == typeof x.params.nextbutton && x.nextbutton.length > 1 && 1 === x.container.find(x.params .nextbutton).length && (x.nextbutton = x.container.find(x.params.nextbutton))), x.params .prevbutton && (x.prevbutton = e(x.params.prevbutton), x.params.uniquenavelements && "string" == typeof x.params.prevbutton && x.prevbutton.length > 1 && 1 === x.container.find(x.params .prevbutton).length && (x.prevbutton = x.container.find(x.params.prevbutton)))), x .ishorizontal = function() { return "horizontal" === x.params.direction }, x.rtl = x.ishorizontal() && ("rtl" === x.container[0].dir.tolowercase() || "rtl" === x.container .css("direction")), x.rtl && x.classnames.push(x.params.containermodifierclass + "rtl"), x .rtl && (x.wrongrtl = "-webkit-box" === x.wrapper.css("display")), x.params.slidespercolumn > 1 && x .classnames.push(x.params.containermodifierclass + "multirow"), x.device.android && x.classnames .push(x.params.containermodifierclass + "android"), x.container.addclass(x.classnames.join(" ")), x .translate = 0, x.progress = 0, x.velocity = 0, x.lockswipetonext = function() { x.params.allowswipetonext = !1, x.params.allowswipetoprev === !1 && x.params.grabcursor && x .unsetgrabcursor() }, x.lockswipetoprev = function() { x.params.allowswipetoprev = !1, x.params.allowswipetonext === !1 && x.params.grabcursor && x .unsetgrabcursor() }, x.lockswipes = function() { x.params.allowswipetonext = x.params.allowswipetoprev = !1, x.params.grabcursor && x .unsetgrabcursor() }, x.unlockswipetonext = function() { x.params.allowswipetonext = !0, x.params.allowswipetoprev === !0 && x.params.grabcursor && x .setgrabcursor() }, x.unlockswipetoprev = function() { x.params.allowswipetoprev = !0, x.params.allowswipetonext === !0 && x.params.grabcursor && x .setgrabcursor() }, x.unlockswipes = function() { x.params.allowswipetonext = x.params.allowswipetoprev = !0, x.params.grabcursor && x .setgrabcursor() }, x.setgrabcursor = function(e) { x.container[0].style.cursor = "move", x.container[0].style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", x.container[0].style.cursor = e ? "-moz-grabbin" : "-moz-grab", x.container[ 0].style.cursor = e ? "grabbing" : "grab" }, x.unsetgrabcursor = function() { x.container[0].style.cursor = "" }, x.params.grabcursor && x.setgrabcursor(), x.imagestoload = [], x.imagesloaded = 0, x.loadimage = function(e, a, t, s, r, i) { function n() { i && i() } var o; e.complete && r ? n() : a ? (o = new window.image, o.onload = n, o.onerror = n, s && (o.sizes = s), t && (o.srcset = t), a && (o.src = a)) : n() }, x.preloadimages = function() { function e() { void 0 !== x && null !== x && x && (void 0 !== x.imagesloaded && x.imagesloaded++, x .imagesloaded === x.imagestoload.length && (x.params.updateonimagesready && x .update(), x.emit("onimagesready", x))) } x.imagestoload = x.container.find("img"); for (var a = 0; a < x.imagestoload.length; a++) x.loadimage(x.imagestoload[a], x.imagestoload[a] .currentsrc || x.imagestoload[a].getattribute("src"), x.imagestoload[a].srcset || x .imagestoload[a].getattribute("srcset"), x.imagestoload[a].sizes || x.imagestoload[a] .getattribute("sizes"), !0, e) }, x.autoplaytimeoutid = void 0, x.autoplaying = !1, x.autoplaypaused = !1, x.startautoplay = function() { return void 0 === x.autoplaytimeoutid && (!!x.params.autoplay && (!x.autoplaying && (x .autoplaying = !0, x.emit("onautoplaystart", x), void i()))) }, x.stopautoplay = function(e) { x.autoplaytimeoutid && (x.autoplaytimeoutid && cleartimeout(x.autoplaytimeoutid), x .autoplaying = !1, x.autoplaytimeoutid = void 0, x.emit("onautoplaystop", x)) }, x.pauseautoplay = function(e) { x.autoplaypaused || (x.autoplaytimeoutid && cleartimeout(x.autoplaytimeoutid), x .autoplaypaused = !0, 0 === e ? (x.autoplaypaused = !1, i()) : x.wrapper.transitionend( function() { x && (x.autoplaypaused = !1, x.autoplaying ? i() : x.stopautoplay()) })) }, x.mintranslate = function() { return -x.snapgrid[0] }, x.maxtranslate = function() { return -x.snapgrid[x.snapgrid.length - 1] }, x.updateautoheight = function() { var e, a = [], t = 0; if ("auto" !== x.params.slidesperview && x.params.slidesperview > 1) for (e = 0; e < math.ceil(x.params.slidesperview); e++) { var s = x.activeindex + e; if (s > x.slides.length) break; a.push(x.slides.eq(s)[0]) } else a.push(x.slides.eq(x.activeindex)[0]); for (e = 0; e < a.length; e++) if (void 0 !== a[e]) { var r = a[e].offsetheight; t = r > t ? r : t } t && x.wrapper.css("height", t + "px") }, x.updatecontainersize = function() { var e, a; e = void 0 !== x.params.width ? x.params.width : x.container[0].clientwidth, a = void 0 !== x .params.height ? x.params.height : x.container[0].clientheight, 0 === e && x .ishorizontal() || 0 === a && !x.ishorizontal() || (e = e - parseint(x.container.css( "padding-left"), 10) - parseint(x.container.css("padding-right"), 10), a = a - parseint(x.container.css("padding-top"), 10) - parseint(x.container.css( "padding-bottom"), 10), x.width = e, x.height = a, x.size = x.ishorizontal() ? x .width : x.height) }, x.updateslidessize = function() { x.slides = x.wrapper.children("." + x.params.slideclass), x.snapgrid = [], x.slidesgrid = [], x .slidessizesgrid = []; var e, a = x.params.spacebetween, t = -x.params.slidesoffsetbefore, s = 0, i = 0; if (void 0 !== x.size) { "string" == typeof a && a.indexof("%") >= 0 && (a = parsefloat(a.replace("%", "")) / 100 * x .size), x.virtualsize = -a, x.rtl ? x.slides.css({ marginleft: "", margintop: "" }) : x.slides.css({ marginright: "", marginbottom: "" }); var n; x.params.slidespercolumn > 1 && (n = math.floor(x.slides.length / x.params .slidespercolumn) === x.slides.length / x.params.slidespercolumn ? x.slides.length : math.ceil(x.slides.length / x.params.slidespercolumn) * x.params.slidespercolumn, "auto" !== x.params.slidesperview && "row" === x.params.slidespercolumnfill && (n = math.max(n, x.params.slidesperview * x.params.slidespercolumn))); var o, l = x.params.slidespercolumn, p = n / l, d = p - (x.params.slidespercolumn * p - x.slides.length); for (e = 0; e < x.slides.length; e++) { o = 0; var m = x.slides.eq(e); if (x.params.slidespercolumn > 1) { var u, c, g; "column" === x.params.slidespercolumnfill ? (c = math.floor(e / l), g = e - c * l, ( c > d || c === d && g === l - 1) && ++g >= l && (g = 0, c++), u = c + g * n / l, m.css({ "-webkit-box-ordinal-group": u, "-moz-box-ordinal-group": u, "-ms-flex-order": u, "-webkit-order": u, order: u })) : (g = math.floor(e / p), c = e - g * p), m.css("margin-" + (x .ishorizontal() ? "top" : "left"), 0 !== g && x.params.spacebetween && x .params.spacebetween + "px").attr("data-swiper-column", c).attr( "data-swiper-row", g) } "none" !== m.css("display") && ("auto" === x.params.slidesperview ? (o = x .ishorizontal() ? m.outerwidth(!0) : m.outerheight(!0), x.params .roundlengths && (o = r(o))) : (o = (x.size - (x.params.slidesperview - 1) * a) / x.params.slidesperview, x.params.roundlengths && (o = r(o)), x .ishorizontal() ? x.slides[e].style.width = o + "px" : x.slides[e].style .height = o + "px"), x.slides[e].swiperslidesize = o, x.slidessizesgrid .push(o), x.params.centeredslides ? (t = t + o / 2 + s / 2 + a, 0 === s && 0 !== e && (t = t - x.size / 2 - a), 0 === e && (t = t - x.size / 2 - a), math .abs(t) < .001 && (t = 0), i % x.params.slidespergroup == 0 && x.snapgrid .push(t), x.slidesgrid.push(t)) : (i % x.params.slidespergroup == 0 && x .snapgrid.push(t), x.slidesgrid.push(t), t = t + o + a), x.virtualsize += o + a, s = o, i++) } x.virtualsize = math.max(x.virtualsize, x.size) + x.params.slidesoffsetafter; var h; if (x.rtl && x.wrongrtl && ("slide" === x.params.effect || "coverflow" === x.params .effect) && x.wrapper.css({ width: x.virtualsize + x.params.spacebetween + "px" }), x.support.flexbox && !x.params.setwrappersize || (x.ishorizontal() ? x.wrapper.css({ width: x.virtualsize + x.params.spacebetween + "px" }) : x.wrapper.css({ height: x.virtualsize + x.params.spacebetween + "px" })), x.params.slidespercolumn > 1 && (x.virtualsize = (o + x.params.spacebetween) * n, x .virtualsize = math.ceil(x.virtualsize / x.params.slidespercolumn) - x.params .spacebetween, x.ishorizontal() ? x.wrapper.css({ width: x.virtualsize + x.params.spacebetween + "px" }) : x.wrapper.css({ height: x.virtualsize + x.params.spacebetween + "px" }), x.params.centeredslides)) { for (h = [], e = 0; e < x.snapgrid.length; e++) x.snapgrid[e] < x.virtualsize + x .snapgrid[0] && h.push(x.snapgrid[e]); x.snapgrid = h } if (!x.params.centeredslides) { for (h = [], e = 0; e < x.snapgrid.length; e++) x.snapgrid[e] <= x.virtualsize - x .size && h.push(x.snapgrid[e]); x.snapgrid = h, math.floor(x.virtualsize - x.size) - math.floor(x.snapgrid[x.snapgrid .length - 1]) > 1 && x.snapgrid.push(x.virtualsize - x.size) } 0 === x.snapgrid.length && (x.snapgrid = [0]), 0 !== x.params.spacebetween && (x .ishorizontal() ? x.rtl ? x.slides.css({ marginleft: a + "px" }) : x.slides.css({ marginright: a + "px" }) : x.slides.css({ marginbottom: a + "px" })), x.params.watchslidesprogress && x.updateslidesoffset() } }, x.updateslidesoffset = function() { for (var e = 0; e < x.slides.length; e++) x.slides[e].swiperslideoffset = x.ishorizontal() ? x .slides[e].offsetleft : x.slides[e].offsettop }, x.currentslidesperview = function() { var e, a, t = 1; if (x.params.centeredslides) { var s, r = x.slides[x.activeindex].swiperslidesize; for (e = x.activeindex + 1; e < x.slides.length; e++) x.slides[e] && !s && (r += x.slides[e] .swiperslidesize, t++, r > x.size && (s = !0)); for (a = x.activeindex - 1; a >= 0; a--) x.slides[a] && !s && (r += x.slides[a] .swiperslidesize, t++, r > x.size && (s = !0)) } else for (e = x.activeindex + 1; e < x.slides.length; e++) x.slidesgrid[e] - x.slidesgrid[x .activeindex] < x.size && t++; return t }, x.updateslidesprogress = function(e) { if (void 0 === e && (e = x.translate || 0), 0 !== x.slides.length) { void 0 === x.slides[0].swiperslideoffset && x.updateslidesoffset(); var a = -e; x.rtl && (a = e), x.slides.removeclass(x.params.slidevisibleclass); for (var t = 0; t < x.slides.length; t++) { var s = x.slides[t], r = (a + (x.params.centeredslides ? x.mintranslate() : 0) - s.swiperslideoffset) / ( s.swiperslidesize + x.params.spacebetween); if (x.params.watchslidesvisibility) { var i = -(a - s.swiperslideoffset), n = i + x.slidessizesgrid[t]; (i >= 0 && i < x.size || n > 0 && n <= x.size || i <= 0 && n >= x.size) && x.slides .eq(t).addclass(x.params.slidevisibleclass) } s.progress = x.rtl ? -r : r } } }, x.updateprogress = function(e) { void 0 === e && (e = x.translate || 0); var a = x.maxtranslate() - x.mintranslate(), t = x.isbeginning, s = x.isend; 0 === a ? (x.progress = 0, x.isbeginning = x.isend = !0) : (x.progress = (e - x .mintranslate()) / a, x.isbeginning = x.progress <= 0, x.isend = x.progress >= 1), x .isbeginning && !t && x.emit("onreachbeginning", x), x.isend && !s && x.emit("onreachend", x), x.params.watchslidesprogress && x.updateslidesprogress(e), x.emit("onprogress", x, x .progress) }, x.updateactiveindex = function() { var e, a, t, s = x.rtl ? x.translate : -x.translate; for (a = 0; a < x.slidesgrid.length; a++) void 0 !== x.slidesgrid[a + 1] ? s >= x.slidesgrid[ a] && s < x.slidesgrid[a + 1] - (x.slidesgrid[a + 1] - x.slidesgrid[a]) / 2 ? e = a : s >= x .slidesgrid[a] && s < x.slidesgrid[a + 1] && (e = a + 1) : s >= x.slidesgrid[a] && (e = a); x.params.normalizeslideindex && (e < 0 || void 0 === e) && (e = 0), t = math.floor(e / x.params .slidespergroup), t >= x.snapgrid.length && (t = x.snapgrid.length - 1), e !== x .activeindex && (x.snapindex = t, x.previousindex = x.activeindex, x.activeindex = e, x .updateclasses(), x.updaterealindex()) }, x.updaterealindex = function() { x.realindex = parseint(x.slides.eq(x.activeindex).attr("data-swiper-slide-index") || x .activeindex, 10) }, x.updateclasses = function() { x.slides.removeclass(x.params.slideactiveclass + " " + x.params.slidenextclass + " " + x.params .slideprevclass + " " + x.params.slideduplicateactiveclass + " " + x.params .slideduplicatenextclass + " " + x.params.slideduplicateprevclass); var a = x.slides.eq(x.activeindex); a.addclass(x.params.slideactiveclass), s.loop && (a.hasclass(x.params.slideduplicateclass) ? x .wrapper.children("." + x.params.slideclass + ":not(." + x.params.slideduplicateclass + ')[data-swiper-slide-index="' + x.realindex + '"]').addclass(x.params .slideduplicateactiveclass) : x.wrapper.children("." + x.params.slideclass + "." + x .params.slideduplicateclass + '[data-swiper-slide-index="' + x.realindex + '"]') .addclass(x.params.slideduplicateactiveclass)); var t = a.next("." + x.params.slideclass).addclass(x.params.slidenextclass); x.params.loop && 0 === t.length && (t = x.slides.eq(0), t.addclass(x.params.slidenextclass)); var r = a.prev("." + x.params.slideclass).addclass(x.params.slideprevclass); if (x.params.loop && 0 === r.length && (r = x.slides.eq(-1), r.addclass(x.params .slideprevclass)), s.loop && (t.hasclass(x.params.slideduplicateclass) ? x.wrapper .children("." + x.params.slideclass + ":not(." + x.params.slideduplicateclass + ')[data-swiper-slide-index="' + t.attr("data-swiper-slide-index") + '"]').addclass(x .params.slideduplicatenextclass) : x.wrapper.children("." + x.params.slideclass + "." + x.params.slideduplicateclass + '[data-swiper-slide-index="' + t.attr( "data-swiper-slide-index") + '"]').addclass(x.params.slideduplicatenextclass), r .hasclass(x.params.slideduplicateclass) ? x.wrapper.children("." + x.params.slideclass + ":not(." + x.params.slideduplicateclass + ')[data-swiper-slide-index="' + r.attr( "data-swiper-slide-index") + '"]').addclass(x.params.slideduplicateprevclass) : x.wrapper.children("." + x.params.slideclass + "." + x.params.slideduplicateclass + '[data-swiper-slide-index="' + r.attr("data-swiper-slide-index") + '"]').addclass(x .params.slideduplicateprevclass)), x.paginationcontainer && x.paginationcontainer .length > 0) { var i, n = x.params.loop ? math.ceil((x.slides.length - 2 * x.loopedslides) / x.params .slidespergroup) : x.snapgrid.length; if (x.params.loop ? (i = math.ceil((x.activeindex - x.loopedslides) / x.params .slidespergroup), i > x.slides.length - 1 - 2 * x.loopedslides && (i -= x.slides .length - 2 * x.loopedslides), i > n - 1 && (i -= n), i < 0 && "bullets" !== x .params.paginationtype && (i = n + i)) : i = void 0 !== x.snapindex ? x.snapindex : x.activeindex || 0, "bullets" === x.params.paginationtype && x.bullets && x.bullets .length > 0 && (x.bullets.removeclass(x.params.bulletactiveclass), x.paginationcontainer .length > 1 ? x.bullets.each(function() { e(this).index() === i && e(this).addclass(x.params.bulletactiveclass) }) : x.bullets.eq(i).addclass(x.params.bulletactiveclass)), "fraction" === x.params .paginationtype && (x.paginationcontainer.find("." + x.params.paginationcurrentclass) .text(i + 1), x.paginationcontainer.find("." + x.params.paginationtotalclass).text( n)), "progress" === x.params.paginationtype) { var o = (i + 1) / n, l = o, p = 1; x.ishorizontal() || (p = o, l = 1), x.paginationcontainer.find("." + x.params .paginationprogressbarclass).transform("translate3d(0,0,0) scalex(" + l + ") scaley(" + p + ")").transition(x.params.speed) } "custom" === x.params.paginationtype && x.params.paginationcustomrender && (x .paginationcontainer.html(x.params.paginationcustomrender(x, i + 1, n)), x.emit( "onpaginationrendered", x, x.paginationcontainer[0])) } x.params.loop || (x.params.prevbutton && x.prevbutton && x.prevbutton.length > 0 && (x .isbeginning ? (x.prevbutton.addclass(x.params.buttondisabledclass), x.params .a11y && x.a11y && x.a11y.disable(x.prevbutton)) : (x.prevbutton.removeclass(x .params.buttondisabledclass), x.params.a11y && x.a11y && x.a11y.enable(x .prevbutton))), x.params.nextbutton && x.nextbutton && x.nextbutton.length > 0 && (x.isend ? (x.nextbutton.addclass(x.params.buttondisabledclass), x.params.a11y && x .a11y && x.a11y.disable(x.nextbutton)) : (x.nextbutton.removeclass(x.params .buttondisabledclass), x.params.a11y && x.a11y && x.a11y.enable(x .nextbutton)))) }, x.updatepagination = function() { if (x.params.pagination && x.paginationcontainer && x.paginationcontainer.length > 0) { var e = ""; if ("bullets" === x.params.paginationtype) { for (var a = x.params.loop ? math.ceil((x.slides.length - 2 * x.loopedslides) / x.params .slidespergroup) : x.snapgrid.length, t = 0; t < a; t++) e += x.params .paginationbulletrender ? x.params.paginationbulletrender(x, t, x.params .bulletclass) : "<" + x.params.paginationelement + ' class="' + x.params .bulletclass + '">"; x.paginationcontainer.html(e), x.bullets = x.paginationcontainer.find("." + x.params .bulletclass), x.params.paginationclickable && x.params.a11y && x.a11y && x.a11y .initpagination() } "fraction" === x.params.paginationtype && (e = x.params.paginationfractionrender ? x.params .paginationfractionrender(x, x.params.paginationcurrentclass, x.params .paginationtotalclass) : ' / ', x .paginationcontainer.html(e)), "progress" === x.params.paginationtype && (e = x .params.paginationprogressrender ? x.params.paginationprogressrender(x, x.params .paginationprogressbarclass) : '', x.paginationcontainer.html(e)), "custom" !== x.params.paginationtype && x.emit("onpaginationrendered", x, x .paginationcontainer[0]) } }, x.update = function(e) { function a() { x.rtl, x.translate; t = math.min(math.max(x.translate, x.maxtranslate()), x.mintranslate()), x .setwrappertranslate(t), x.updateactiveindex(), x.updateclasses() } if (x) { x.updatecontainersize(), x.updateslidessize(), x.updateprogress(), x.updatepagination(), x .updateclasses(), x.params.scrollbar && x.scrollbar && x.scrollbar.set(); var t; if (e) { x.controller && x.controller.spline && (x.controller.spline = void 0), x.params .freemode ? (a(), x.params.autoheight && x.updateautoheight()) : (("auto" === x .params.slidesperview || x.params.slidesperview > 1) && x.isend && !x.params .centeredslides ? x.slideto(x.slides.length - 1, 0, !1, !0) : x.slideto(x .activeindex, 0, !1, !0)) || a() } else x.params.autoheight && x.updateautoheight() } }, x.onresize = function(e) { x.params.onbeforeresize && x.params.onbeforeresize(x), x.params.breakpoints && x .setbreakpoint(); var a = x.params.allowswipetoprev, t = x.params.allowswipetonext; x.params.allowswipetoprev = x.params.allowswipetonext = !0, x.updatecontainersize(), x .updateslidessize(), ("auto" === x.params.slidesperview || x.params.freemode || e) && x .updatepagination(), x.params.scrollbar && x.scrollbar && x.scrollbar.set(), x.controller && x.controller.spline && (x.controller.spline = void 0); var s = !1; if (x.params.freemode) { var r = math.min(math.max(x.translate, x.maxtranslate()), x.mintranslate()); x.setwrappertranslate(r), x.updateactiveindex(), x.updateclasses(), x.params.autoheight && x .updateautoheight() } else x.updateclasses(), s = ("auto" === x.params.slidesperview || x.params.slidesperview > 1) && x.isend && !x.params.centeredslides ? x.slideto(x.slides.length - 1, 0, !1, !0) : x .slideto(x.activeindex, 0, !1, !0); x.params.lazyloading && !s && x.lazy && x.lazy.load(), x.params.allowswipetoprev = a, x.params .allowswipetonext = t, x.params.onafterresize && x.params.onafterresize(x) }, x.toucheventsdesktop = { start: "mousedown", move: "mousemove", end: "mouseup" }, window.navigator.pointerenabled ? x.toucheventsdesktop = { start: "pointerdown", move: "pointermove", end: "pointerup" } : window.navigator.mspointerenabled && (x.toucheventsdesktop = { start: "mspointerdown", move: "mspointermove", end: "mspointerup" }), x.touchevents = { start: x.support.touch || !x.params.simulatetouch ? "touchstart" : x.toucheventsdesktop.start, move: x.support.touch || !x.params.simulatetouch ? "touchmove" : x.toucheventsdesktop.move, end: x.support.touch || !x.params.simulatetouch ? "touchend" : x.toucheventsdesktop.end }, (window.navigator.pointerenabled || window.navigator.mspointerenabled) && ("container" === x .params.toucheventstarget ? x.container : x.wrapper).addclass("swiper-wp8-" + x.params .direction), x.initevents = function(e) { var a = e ? "off" : "on", t = e ? "removeeventlistener" : "addeventlistener", r = "container" === x.params.toucheventstarget ? x.container[0] : x.wrapper[0], i = x.support.touch ? r : document, n = !!x.params.nested; if (x.browser.ie) r[t](x.touchevents.start, x.ontouchstart, !1), i[t](x.touchevents.move, x .ontouchmove, n), i[t](x.touchevents.end, x.ontouchend, !1); else { if (x.support.touch) { var o = !("touchstart" !== x.touchevents.start || !x.support.passivelistener || !x .params.passivelisteners) && { passive: !0, capture: !1 }; r[t](x.touchevents.start, x.ontouchstart, o), r[t](x.touchevents.move, x.ontouchmove, n), r[t](x.touchevents.end, x.ontouchend, o) }(s.simulatetouch && !x.device.ios && !x.device.android || s.simulatetouch && !x.support .touch && x.device.ios) && (r[t]("mousedown", x.ontouchstart, !1), document[t]( "mousemove", x.ontouchmove, n), document[t]("mouseup", x.ontouchend, !1)) } window[t]("resize", x.onresize), x.params.nextbutton && x.nextbutton && x.nextbutton.length > 0 && (x.nextbutton[a]("click", x.onclicknext), x.params.a11y && x.a11y && x.nextbutton[a]( "keydown", x.a11y.onenterkey)), x.params.prevbutton && x.prevbutton && x.prevbutton .length > 0 && (x.prevbutton[a]("click", x.onclickprev), x.params.a11y && x.a11y && x .prevbutton[a]("keydown", x.a11y.onenterkey)), x.params.pagination && x.params .paginationclickable && (x.paginationcontainer[a]("click", "." + x.params.bulletclass, x .onclickindex), x.params.a11y && x.a11y && x.paginationcontainer[a]("keydown", "." + x.params.bulletclass, x.a11y.onenterkey)), (x.params.preventclicks || x.params .preventclickspropagation) && r[t]("click", x.preventclicks, !0) }, x.attachevents = function() { x.initevents() }, x.detachevents = function() { x.initevents(!0) }, x.allowclick = !0, x.preventclicks = function(e) { x.allowclick || (x.params.preventclicks && e.preventdefault(), x.params .preventclickspropagation && x.animating && (e.stoppropagation(), e .stopimmediatepropagation())) }, x.onclicknext = function(e) { e.preventdefault(), x.isend && !x.params.loop || x.slidenext() }, x.onclickprev = function(e) { e.preventdefault(), x.isbeginning && !x.params.loop || x.slideprev() }, x.onclickindex = function(a) { a.preventdefault(); var t = e(this).index() * x.params.slidespergroup; x.params.loop && (t += x.loopedslides), x.slideto(t) }, x.updateclickedslide = function(a) { var t = n(a, "." + x.params.slideclass), s = !1; if (t) for (var r = 0; r < x.slides.length; r++) x.slides[r] === t && (s = !0); if (!t || !s) return x.clickedslide = void 0, void(x.clickedindex = void 0); if (x.clickedslide = t, x.clickedindex = e(t).index(), x.params.slidetoclickedslide && void 0 !== x.clickedindex && x.clickedindex !== x.activeindex) { var i, o = x.clickedindex, l = "auto" === x.params.slidesperview ? x.currentslidesperview() : x.params .slidesperview; if (x.params.loop) { if (x.animating) return; i = parseint(e(x.clickedslide).attr("data-swiper-slide-index"), 10), x.params .centeredslides ? o < x.loopedslides - l / 2 || o > x.slides.length - x .loopedslides + l / 2 ? (x.fixloop(), o = x.wrapper.children("." + x.params .slideclass + '[data-swiper-slide-index="' + i + '"]:not(.' + x.params .slideduplicateclass + ")").eq(0).index(), settimeout(function() { x.slideto(o) }, 0)) : x.slideto(o) : o > x.slides.length - l ? (x.fixloop(), o = x.wrapper .children("." + x.params.slideclass + '[data-swiper-slide-index="' + i + '"]:not(.' + x.params.slideduplicateclass + ")").eq(0).index(), settimeout( function() { x.slideto(o) }, 0)) : x.slideto(o) } else x.slideto(o) } }; var b, c, s, z, m, p, e, i, k, d, l = "input, select, textarea, button, video", b = date.now(), h = []; x.animating = !1, x.touches = { startx: 0, starty: 0, currentx: 0, currenty: 0, diff: 0 }; var g, x; x.ontouchstart = function(a) { if (a.originalevent && (a = a.originalevent), (g = "touchstart" === a.type) || !("which" in a) || 3 !== a.which) { if (x.params.noswiping && n(a, "." + x.params.noswipingclass)) return void(x.allowclick = ! 0); if (!x.params.swipehandler || n(a, x.params.swipehandler)) { var t = x.touches.currentx = "touchstart" === a.type ? a.targettouches[0].pagex : a .pagex, s = x.touches.currenty = "touchstart" === a.type ? a.targettouches[0].pagey : a .pagey; if (!(x.device.ios && x.params.iosedgeswipedetection && t <= x.params .iosedgeswipethreshold)) { if (b = !0, c = !1, s = !0, m = void 0, x = void 0, x.touches.startx = t, x.touches .starty = s, z = date.now(), x.allowclick = !0, x.updatecontainersize(), x .swipedirection = void 0, x.params.threshold > 0 && (i = !1), "touchstart" !== a .type) { var r = !0; e(a.target).is(l) && (r = !1), document.activeelement && e(document .activeelement).is(l) && document.activeelement.blur(), r && a .preventdefault() } x.emit("ontouchstart", x, a) } } } }, x.ontouchmove = function(a) { if (a.originalevent && (a = a.originalevent), !g || "mousemove" !== a.type) { if (a.preventedbynestedswiper) return x.touches.startx = "touchmove" === a.type ? a .targettouches[0].pagex : a.pagex, void(x.touches.starty = "touchmove" === a.type ? a.targettouches[0].pagey : a.pagey); if (x.params.onlyexternal) return x.allowclick = !1, void(b && (x.touches.startx = x.touches .currentx = "touchmove" === a.type ? a.targettouches[0].pagex : a.pagex, x .touches.starty = x.touches.currenty = "touchmove" === a.type ? a .targettouches[0].pagey : a.pagey, z = date.now())); if (g && x.params.touchreleaseonedges && !x.params.loop) if (x.ishorizontal()) { if (x.touches.currentx < x.touches.startx && x.translate <= x.maxtranslate() || x .touches.currentx > x.touches.startx && x.translate >= x.mintranslate()) return } else if (x.touches.currenty < x.touches.starty && x.translate <= x.maxtranslate() || x .touches.currenty > x.touches.starty && x.translate >= x.mintranslate()) return; if (g && document.activeelement && a.target === document.activeelement && e(a.target).is(l)) return c = !0, void(x.allowclick = !1); if (s && x.emit("ontouchmove", x, a), !(a.targettouches && a.targettouches.length > 1)) { if (x.touches.currentx = "touchmove" === a.type ? a.targettouches[0].pagex : a.pagex, x .touches.currenty = "touchmove" === a.type ? a.targettouches[0].pagey : a.pagey, void 0 === m) { var t; x.ishorizontal() && x.touches.currenty === x.touches.starty || !x.ishorizontal() && x.touches.currentx === x.touches.startx ? m = !1 : (t = 180 * math.atan2(math .abs(x.touches.currenty - x.touches.starty), math.abs(x.touches .currentx - x.touches.startx)) / math.pi, m = x.ishorizontal() ? t > x.params.touchangle : 90 - t > x.params.touchangle) } if (m && x.emit("ontouchmoveopposite", x, a), void 0 === x && (x.touches.currentx === x .touches.startx && x.touches.currenty === x.touches.starty || (x = !0)), b) { if (m) return void(b = !1); if (x) { x.allowclick = !1, x.emit("onslidermove", x, a), a.preventdefault(), x.params .touchmovestoppropagation && !x.params.nested && a.stoppropagation(), c || ( s.loop && x.fixloop(), e = x.getwrappertranslate(), x .setwrappertransition(0), x.animating && x.wrapper.trigger( "webkittransitionend transitionend otransitionend mstransitionend mstransitionend" ), x.params.autoplay && x.autoplaying && (x.params .autoplaydisableoninteraction ? x.stopautoplay() : x.pauseautoplay() ), d = !1, !x.params.grabcursor || x.params.allowswipetonext !== ! 0 && x.params.allowswipetoprev !== !0 || x.setgrabcursor(!0)), c = !0; var r = x.touches.diff = x.ishorizontal() ? x.touches.currentx - x.touches .startx : x.touches.currenty - x.touches.starty; r *= x.params.touchratio, x.rtl && (r = -r), x.swipedirection = r > 0 ? "prev" : "next", p = r + e; var i = !0; if (r > 0 && p > x.mintranslate() ? (i = !1, x.params.resistance && (p = x .mintranslate() - 1 + math.pow(-x.mintranslate() + e + r, x.params .resistanceratio))) : r < 0 && p < x.maxtranslate() && (i = !1, x .params.resistance && (p = x.maxtranslate() + 1 - math.pow(x .maxtranslate() - e - r, x.params.resistanceratio))), i && (a .preventedbynestedswiper = !0), !x.params.allowswipetonext && "next" === x.swipedirection && p < e && (p = e), !x.params.allowswipetoprev && "prev" === x.swipedirection && p > e && (p = e), x.params.threshold > 0) { if (!(math.abs(r) > x.params.threshold || i)) return void(p = e); if (!i) return i = !0, x.touches.startx = x.touches.currentx, x.touches .starty = x.touches.currenty, p = e, void(x.touches.diff = x .ishorizontal() ? x.touches.currentx - x.touches.startx : x .touches.currenty - x.touches.starty) } x.params.followfinger && ((x.params.freemode || x.params.watchslidesprogress) && x.updateactiveindex(), x.params.freemode && (0 === h.length && h.push({ position: x.touches[x.ishorizontal() ? "startx" : "starty"], time: z }), h.push({ position: x.touches[x.ishorizontal() ? "currentx" : "currenty"], time: (new window.date).gettime() })), x.updateprogress(p), x.setwrappertranslate(p)) } } } } }, x.ontouchend = function(a) { if (a.originalevent && (a = a.originalevent), s && x.emit("ontouchend", x, a), s = !1, b) { x.params.grabcursor && c && b && (x.params.allowswipetonext === !0 || x.params .allowswipetoprev === !0) && x.setgrabcursor(!1); var t = date.now(), s = t - z; if (x.allowclick && (x.updateclickedslide(a), x.emit("ontap", x, a), s < 300 && t - b > 300 && (k && cleartimeout(k), k = settimeout(function() { x && (x.params.paginationhide && x.paginationcontainer.length > 0 && !e( a.target).hasclass(x.params.bulletclass) && x .paginationcontainer.toggleclass(x.params .paginationhiddenclass), x.emit("onclick", x, a)) }, 300)), s < 300 && t - b < 300 && (k && cleartimeout(k), x.emit("ondoubletap", x, a))), b = date.now(), settimeout(function() { x && (x.allowclick = !0) }, 0), !b || !c || !x.swipedirection || 0 === x.touches.diff || p === e) return void(b = c = !1); b = c = !1; var r; if (r = x.params.followfinger ? x.rtl ? x.translate : -x.translate : -p, x.params .freemode) { if (r < -x.mintranslate()) return void x.slideto(x.activeindex); if (r > -x.maxtranslate()) return void(x.slides.length < x.snapgrid.length ? x.slideto(x .snapgrid.length - 1) : x.slideto(x.slides.length - 1)); if (x.params.freemodemomentum) { if (h.length > 1) { var i = h.pop(), n = h.pop(), o = i.position - n.position, l = i.time - n.time; x.velocity = o / l, x.velocity = x.velocity / 2, math.abs(x.velocity) < x.params .freemodeminimumvelocity && (x.velocity = 0), (l > 150 || (new window.date) .gettime() - i.time > 300) && (x.velocity = 0) } else x.velocity = 0; x.velocity = x.velocity * x.params.freemodemomentumvelocityratio, h.length = 0; var p = 1e3 * x.params.freemodemomentumratio, d = x.velocity * p, m = x.translate + d; x.rtl && (m = -m); var u, c = !1, g = 20 * math.abs(x.velocity) * x.params.freemodemomentumbounceratio; if (m < x.maxtranslate()) x.params.freemodemomentumbounce ? (m + x.maxtranslate() < -g && (m = x.maxtranslate() - g), u = x.maxtranslate(), c = !0, d = !0) : m = x.maxtranslate(); else if (m > x.mintranslate()) x.params.freemodemomentumbounce ? (m - x .mintranslate() > g && (m = x.mintranslate() + g), u = x.mintranslate(), c = !0, d = !0) : m = x.mintranslate(); else if (x.params.freemodesticky) { var h, v = 0; for (v = 0; v < x.snapgrid.length; v += 1) if (x.snapgrid[v] > -m) { h = v; break } m = math.abs(x.snapgrid[h] - m) < math.abs(x.snapgrid[h - 1] - m) || "next" === x.swipedirection ? x.snapgrid[h] : x.snapgrid[h - 1], x.rtl || ( m = -m) } if (0 !== x.velocity) p = x.rtl ? math.abs((-m - x.translate) / x.velocity) : math .abs((m - x.translate) / x.velocity); else if (x.params.freemodesticky) return void x.slidereset(); x.params.freemodemomentumbounce && c ? (x.updateprogress(u), x.setwrappertransition( p), x.setwrappertranslate(m), x.ontransitionstart(), x.animating = !0, x .wrapper.transitionend(function() { x && d && (x.emit("onmomentumbounce", x), x.setwrappertransition(x .params.speed), x.setwrappertranslate(u), x.wrapper .transitionend(function() { x && x.ontransitionend() })) })) : x.velocity ? (x.updateprogress(m), x.setwrappertransition(p), x .setwrappertranslate(m), x.ontransitionstart(), x.animating || (x .animating = !0, x.wrapper.transitionend(function() { x && x.ontransitionend() }))) : x.updateprogress(m), x.updateactiveindex() } return void((!x.params.freemodemomentum || s >= x.params.longswipesms) && (x .updateprogress(), x.updateactiveindex())) } var f, w = 0, y = x.slidessizesgrid[0]; for (f = 0; f < x.slidesgrid.length; f += x.params.slidespergroup) void 0 !== x.slidesgrid[ f + x.params.slidespergroup] ? r >= x.slidesgrid[f] && r < x.slidesgrid[f + x.params .slidespergroup] && (w = f, y = x.slidesgrid[f + x.params.slidespergroup] - x .slidesgrid[f]) : r >= x.slidesgrid[f] && (w = f, y = x.slidesgrid[x.slidesgrid .length - 1] - x.slidesgrid[x.slidesgrid.length - 2]); var t = (r - x.slidesgrid[w]) / y; if (s > x.params.longswipesms) { if (!x.params.longswipes) return void x.slideto(x.activeindex); "next" === x.swipedirection && (t >= x.params.longswipesratio ? x.slideto(w + x.params .slidespergroup) : x.slideto(w)), "prev" === x.swipedirection && (t > 1 - x .params.longswipesratio ? x.slideto(w + x.params.slidespergroup) : x.slideto(w)) } else { if (!x.params.shortswipes) return void x.slideto(x.activeindex); "next" === x.swipedirection && x.slideto(w + x.params.slidespergroup), "prev" === x .swipedirection && x.slideto(w) } } }, x._slideto = function(e, a) { return x.slideto(e, a, !0, !0) }, x.slideto = function(e, a, t, s) { void 0 === t && (t = !0), void 0 === e && (e = 0), e < 0 && (e = 0), x.snapindex = math.floor( e / x.params.slidespergroup), x.snapindex >= x.snapgrid.length && (x.snapindex = x .snapgrid.length - 1); var r = -x.snapgrid[x.snapindex]; if (x.params.autoplay && x.autoplaying && (s || !x.params.autoplaydisableoninteraction ? x .pauseautoplay(a) : x.stopautoplay()), x.updateprogress(r), x.params .normalizeslideindex) for (var i = 0; i < x.slidesgrid.length; i++) - math.floor(100 * r) >= math.floor(100 * x .slidesgrid[i]) && (e = i); return !(!x.params.allowswipetonext && r < x.translate && r < x.mintranslate()) && (!(!x.params .allowswipetoprev && r > x.translate && r > x.maxtranslate() && (x.activeindex || 0) !== e) && (void 0 === a && (a = x.params.speed), x.previousindex = x .activeindex || 0, x.activeindex = e, x.updaterealindex(), x.rtl && -r === x .translate || !x.rtl && r === x.translate ? (x.params.autoheight && x .updateautoheight(), x.updateclasses(), "slide" !== x.params.effect && x .setwrappertranslate(r), !1) : (x.updateclasses(), x.ontransitionstart(t), 0 === a || x.browser.lteie9 ? (x.setwrappertranslate(r), x.setwrappertransition(0), x .ontransitionend(t)) : (x.setwrappertranslate(r), x.setwrappertransition(a), x.animating || (x.animating = !0, x.wrapper.transitionend(function() { x && x.ontransitionend(t) }))), !0))) }, x.ontransitionstart = function(e) { void 0 === e && (e = !0), x.params.autoheight && x.updateautoheight(), x.lazy && x.lazy .ontransitionstart(), e && (x.emit("ontransitionstart", x), x.activeindex !== x .previousindex && (x.emit("onslidechangestart", x), x.activeindex > x.previousindex ? x .emit("onslidenextstart", x) : x.emit("onslideprevstart", x))) }, x.ontransitionend = function(e) { x.animating = !1, x.setwrappertransition(0), void 0 === e && (e = !0), x.lazy && x.lazy .ontransitionend(), e && (x.emit("ontransitionend", x), x.activeindex !== x.previousindex && (x.emit("onslidechangeend", x), x.activeindex > x.previousindex ? x.emit( "onslidenextend", x) : x.emit("onslideprevend", x))), x.params.history && x .history && x.history.sethistory(x.params.history, x.activeindex), x.params.hashnav && x .hashnav && x.hashnav.sethash() }, x.slidenext = function(e, a, t) { if (x.params.loop) { if (x.animating) return !1; x.fixloop(); x.container[0].clientleft; return x.slideto(x.activeindex + x.params.slidespergroup, a, e, t) } return x.slideto(x.activeindex + x.params.slidespergroup, a, e, t) }, x._slidenext = function(e) { return x.slidenext(!0, e, !0) }, x.slideprev = function(e, a, t) { if (x.params.loop) { if (x.animating) return !1; x.fixloop(); x.container[0].clientleft; return x.slideto(x.activeindex - 1, a, e, t) } return x.slideto(x.activeindex - 1, a, e, t) }, x._slideprev = function(e) { return x.slideprev(!0, e, !0) }, x.slidereset = function(e, a, t) { return x.slideto(x.activeindex, a, e) }, x.disabletouchcontrol = function() { return x.params.onlyexternal = !0, !0 }, x.enabletouchcontrol = function() { return x.params.onlyexternal = !1, !0 }, x.setwrappertransition = function(e, a) { x.wrapper.transition(e), "slide" !== x.params.effect && x.effects[x.params.effect] && x.effects[ x.params.effect].settransition(e), x.params.parallax && x.parallax && x.parallax .settransition(e), x.params.scrollbar && x.scrollbar && x.scrollbar.settransition(e), x .params.control && x.controller && x.controller.settransition(e, a), x.emit( "onsettransition", x, e) }, x.setwrappertranslate = function(e, a, t) { var s = 0, i = 0; x.ishorizontal() ? s = x.rtl ? -e : e : i = e, x.params.roundlengths && (s = r(s), i = r(i)), x .params.virtualtranslate || (x.support.transforms3d ? x.wrapper.transform("translate3d(" + s + "px, " + i + "px, 0px)") : x.wrapper.transform("translate(" + s + "px, " + i + "px)")), x.translate = x.ishorizontal() ? s : i; var n, o = x.maxtranslate() - x.mintranslate(); n = 0 === o ? 0 : (e - x.mintranslate()) / o, n !== x.progress && x.updateprogress(e), a && x .updateactiveindex(), "slide" !== x.params.effect && x.effects[x.params.effect] && x .effects[x.params.effect].settranslate(x.translate), x.params.parallax && x.parallax && x .parallax.settranslate(x.translate), x.params.scrollbar && x.scrollbar && x.scrollbar .settranslate(x.translate), x.params.control && x.controller && x.controller.settranslate(x .translate, t), x.emit("onsettranslate", x, x.translate) }, x.gettranslate = function(e, a) { var t, s, r, i; return void 0 === a && (a = "x"), x.params.virtualtranslate ? x.rtl ? -x.translate : x .translate : (r = window.getcomputedstyle(e, null), window.webkitcssmatrix ? (s = r .transform || r.webkittransform, s.split(",").length > 6 && (s = s.split(", ").map( function(e) { return e.replace(",", ".") }).join(", ")), i = new window.webkitcssmatrix("none" === s ? "" : s)) : (i = r .moztransform || r.otransform || r.mstransform || r.mstransform || r.transform || r .getpropertyvalue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), t = i .tostring().split(",")), "x" === a && (s = window.webkitcssmatrix ? i.m41 : 16 === t .length ? parsefloat(t[12]) : parsefloat(t[4])), "y" === a && (s = window .webkitcssmatrix ? i.m42 : 16 === t.length ? parsefloat(t[13]) : parsefloat(t[5])), x.rtl && s && (s = -s), s || 0) }, x.getwrappertranslate = function(e) { return void 0 === e && (e = x.ishorizontal() ? "x" : "y"), x.gettranslate(x.wrapper[0], e) }, x.observers = [], x.initobservers = function() { if (x.params.observeparents) for (var e = x.container.parents(), a = 0; a < e.length; a++) o(e[a]); o(x.container[0], { childlist: !1 }), o(x.wrapper[0], { attributes: !1 }) }, x.disconnectobservers = function() { for (var e = 0; e < x.observers.length; e++) x.observers[e].disconnect(); x.observers = [] }, x.createloop = function() { x.wrapper.children("." + x.params.slideclass + "." + x.params.slideduplicateclass).remove(); var a = x.wrapper.children("." + x.params.slideclass); "auto" !== x.params.slidesperview || x.params.loopedslides || (x.params.loopedslides = a .length), x.loopedslides = parseint(x.params.loopedslides || x.params.slidesperview, 10), x .loopedslides = x.loopedslides + x.params.loopadditionalslides, x.loopedslides > a.length && (x.loopedslides = a.length); var t, s = [], r = []; for (a.each(function(t, i) { var n = e(this); t < x.loopedslides && r.push(i), t < a.length && t >= a.length - x.loopedslides && s .push(i), n.attr("data-swiper-slide-index", t) }), t = 0; t < r.length; t++) x.wrapper.append(e(r[t].clonenode(!0)).addclass(x.params .slideduplicateclass)); for (t = s.length - 1; t >= 0; t--) x.wrapper.prepend(e(s[t].clonenode(!0)).addclass(x.params .slideduplicateclass)) }, x.destroyloop = function() { x.wrapper.children("." + x.params.slideclass + "." + x.params.slideduplicateclass).remove(), x .slides.removeattr("data-swiper-slide-index") }, x.reloop = function(e) { var a = x.activeindex - x.loopedslides; x.destroyloop(), x.createloop(), x.updateslidessize(), e && x.slideto(a + x.loopedslides, 0, !1) }, x.fixloop = function() { var e; x.activeindex < x.loopedslides ? (e = x.slides.length - 3 * x.loopedslides + x.activeindex, e += x.loopedslides, x.slideto(e, 0, !1, !0)) : ("auto" === x.params.slidesperview && x .activeindex >= 2 * x.loopedslides || x.activeindex > x.slides.length - 2 * x.params .slidesperview) && (e = -x.slides.length + x.activeindex + x.loopedslides, e += x .loopedslides, x.slideto(e, 0, !1, !0)) }, x.appendslide = function(e) { if (x.params.loop && x.destroyloop(), "object" == typeof e && e.length) for (var a = 0; a < e.length; a++) e[a] && x.wrapper.append(e[a]); else x.wrapper.append(e); x.params.loop && x.createloop(), x.params.observer && x.support.observer || x.update(!0) }, x.prependslide = function(e) { x.params.loop && x.destroyloop(); var a = x.activeindex + 1; if ("object" == typeof e && e.length) { for (var t = 0; t < e.length; t++) e[t] && x.wrapper.prepend(e[t]); a = x.activeindex + e.length } else x.wrapper.prepend(e); x.params.loop && x.createloop(), x.params.observer && x.support.observer || x.update(!0), x .slideto(a, 0, !1) }, x.removeslide = function(e) { x.params.loop && (x.destroyloop(), x.slides = x.wrapper.children("." + x.params.slideclass)); var a, t = x.activeindex; if ("object" == typeof e && e.length) { for (var s = 0; s < e.length; s++) a = e[s], x.slides[a] && x.slides.eq(a).remove(), a < t && t--; t = math.max(t, 0) } else a = e, x.slides[a] && x.slides.eq(a).remove(), a < t && t--, t = math.max(t, 0); x.params.loop && x.createloop(), x.params.observer && x.support.observer || x.update(!0), x .params.loop ? x.slideto(t + x.loopedslides, 0, !1) : x.slideto(t, 0, !1) }, x.removeallslides = function() { for (var e = [], a = 0; a < x.slides.length; a++) e.push(a); x.removeslide(e) }, x.effects = { fade: { settranslate: function() { for (var e = 0; e < x.slides.length; e++) { var a = x.slides.eq(e), t = a[0].swiperslideoffset, s = -t; x.params.virtualtranslate || (s -= x.translate); var r = 0; x.ishorizontal() || (r = s, s = 0); var i = x.params.fade.crossfade ? math.max(1 - math.abs(a[0].progress), 0) : 1 + math.min(math.max(a[0].progress, -1), 0); a.css({ opacity: i }).transform("translate3d(" + s + "px, " + r + "px, 0px)") } }, settransition: function(e) { if (x.slides.transition(e), x.params.virtualtranslate && 0 !== e) { var a = !1; x.slides.transitionend(function() { if (!a && x) { a = !0, x.animating = !1; for (var e = ["webkittransitionend", "transitionend", "otransitionend", "mstransitionend", "mstransitionend" ], t = 0; t < e.length; t++) x.wrapper.trigger(e[t]) } }) } } }, flip: { settranslate: function() { for (var a = 0; a < x.slides.length; a++) { var t = x.slides.eq(a), s = t[0].progress; x.params.flip.limitrotation && (s = math.max(math.min(t[0].progress, 1), -1)); var r = t[0].swiperslideoffset, i = -180 * s, n = i, o = 0, l = -r, p = 0; if (x.ishorizontal() ? x.rtl && (n = -n) : (p = l, l = 0, o = -n, n = 0), t[0] .style.zindex = -math.abs(math.round(s)) + x.slides.length, x.params.flip .slideshadows) { var d = x.ishorizontal() ? t.find(".swiper-slide-shadow-left") : t.find( ".swiper-slide-shadow-top"), m = x.ishorizontal() ? t.find(".swiper-slide-shadow-right") : t.find( ".swiper-slide-shadow-bottom"); 0 === d.length && (d = e('
'), t.append(d)), 0 === m.length && (m = e('
'), t.append(m)), d .length && (d[0].style.opacity = math.max(-s, 0)), m.length && (m[0] .style.opacity = math.max(s, 0)) } t.transform("translate3d(" + l + "px, " + p + "px, 0px) rotatex(" + o + "deg) rotatey(" + n + "deg)") } }, settransition: function(a) { if (x.slides.transition(a).find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ).transition(a), x.params.virtualtranslate && 0 !== a) { var t = !1; x.slides.eq(x.activeindex).transitionend(function() { if (!t && x && e(this).hasclass(x.params.slideactiveclass)) { t = !0, x.animating = !1; for (var a = ["webkittransitionend", "transitionend", "otransitionend", "mstransitionend", "mstransitionend" ], s = 0; s < a.length; s++) x.wrapper.trigger(a[s]) } }) } } }, cube: { settranslate: function() { var a, t = 0; x.params.cube.shadow && (x.ishorizontal() ? (a = x.wrapper.find( ".swiper-cube-shadow"), 0 === a.length && (a = e( '
'), x.wrapper.append(a)), a .css({ height: x.width + "px" })) : (a = x.container.find(".swiper-cube-shadow"), 0 === a.length && ( a = e('
'), x.container.append( a)))); for (var s = 0; s < x.slides.length; s++) { var r = x.slides.eq(s), i = 90 * s, n = math.floor(i / 360); x.rtl && (i = -i, n = math.floor(-i / 360)); var o = math.max(math.min(r[0].progress, 1), -1), l = 0, p = 0, d = 0; s % 4 == 0 ? (l = 4 * -n * x.size, d = 0) : (s - 1) % 4 == 0 ? (l = 0, d = 4 * - n * x.size) : (s - 2) % 4 == 0 ? (l = x.size + 4 * n * x.size, d = x .size) : (s - 3) % 4 == 0 && (l = -x.size, d = 3 * x.size + 4 * x.size * n), x.rtl && (l = -l), x.ishorizontal() || (p = l, l = 0); var m = "rotatex(" + (x.ishorizontal() ? 0 : -i) + "deg) rotatey(" + (x .ishorizontal() ? i : 0) + "deg) translate3d(" + l + "px, " + p + "px, " + d + "px)"; if (o <= 1 && o > -1 && (t = 90 * s + 90 * o, x.rtl && (t = 90 * -s - 90 * o)), r.transform(m), x.params.cube.slideshadows) { var u = x.ishorizontal() ? r.find(".swiper-slide-shadow-left") : r.find( ".swiper-slide-shadow-top"), c = x.ishorizontal() ? r.find(".swiper-slide-shadow-right") : r.find( ".swiper-slide-shadow-bottom"); 0 === u.length && (u = e('
'), r.append(u)), 0 === c.length && (c = e('
'), r.append(c)), u .length && (u[0].style.opacity = math.max(-o, 0)), c.length && (c[0] .style.opacity = math.max(o, 0)) } } if (x.wrapper.css({ "-webkit-transform-origin": "50% 50% -" + x.size / 2 + "px", "-moz-transform-origin": "50% 50% -" + x.size / 2 + "px", "-ms-transform-origin": "50% 50% -" + x.size / 2 + "px", "transform-origin": "50% 50% -" + x.size / 2 + "px" }), x.params.cube.shadow) if (x.ishorizontal()) a.transform("translate3d(0px, " + (x.width / 2 + x.params .cube.shadowoffset) + "px, " + -x.width / 2 + "px) rotatex(90deg) rotatez(0deg) scale(" + x.params.cube.shadowscale + ")"); else { var g = math.abs(t) - 90 * math.floor(math.abs(t) / 90), h = 1.5 - (math.sin(2 * g * math.pi / 360) / 2 + math.cos(2 * g * math .pi / 360) / 2), v = x.params.cube.shadowscale, f = x.params.cube.shadowscale / h, w = x.params.cube.shadowoffset; a.transform("scale3d(" + v + ", 1, " + f + ") translate3d(0px, " + (x .height / 2 + w) + "px, " + -x.height / 2 / f + "px) rotatex(-90deg)") } var y = x.issafari || x.isuiwebview ? -x.size / 2 : 0; x.wrapper.transform("translate3d(0px,0," + y + "px) rotatex(" + (x.ishorizontal() ? 0 : t) + "deg) rotatey(" + (x.ishorizontal() ? -t : 0) + "deg)") }, settransition: function(e) { x.slides.transition(e).find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ).transition(e), x.params.cube.shadow && !x.ishorizontal() && x.container .find(".swiper-cube-shadow").transition(e) } }, coverflow: { settranslate: function() { for (var a = x.translate, t = x.ishorizontal() ? -a + x.width / 2 : -a + x.height / 2, s = x.ishorizontal() ? x.params.coverflow.rotate : -x.params.coverflow .rotate, r = x.params.coverflow.depth, i = 0, n = x.slides.length; i < n; i++) { var o = x.slides.eq(i), l = x.slidessizesgrid[i], p = o[0].swiperslideoffset, d = (t - p - l / 2) / l * x.params.coverflow.modifier, m = x.ishorizontal() ? s * d : 0, u = x.ishorizontal() ? 0 : s * d, c = -r * math.abs(d), g = x.ishorizontal() ? 0 : x.params.coverflow.stretch * d, h = x.ishorizontal() ? x.params.coverflow.stretch * d : 0; math.abs(h) < .001 && (h = 0), math.abs(g) < .001 && (g = 0), math.abs(c) < .001 && (c = 0), math.abs(m) < .001 && (m = 0), math.abs(u) < .001 && (u = 0); var v = "translate3d(" + h + "px," + g + "px," + c + "px) rotatex(" + u + "deg) rotatey(" + m + "deg)"; if (o.transform(v), o[0].style.zindex = 1 - math.abs(math.round(d)), x.params .coverflow.slideshadows) { var f = x.ishorizontal() ? o.find(".swiper-slide-shadow-left") : o.find( ".swiper-slide-shadow-top"), w = x.ishorizontal() ? o.find(".swiper-slide-shadow-right") : o.find( ".swiper-slide-shadow-bottom"); 0 === f.length && (f = e('
'), o.append(f)), 0 === w.length && (w = e('
'), o.append(w)), f .length && (f[0].style.opacity = d > 0 ? d : 0), w.length && (w[0].style .opacity = -d > 0 ? -d : 0) } } if (x.browser.ie) { x.wrapper[0].style.perspectiveorigin = t + "px 50%" } }, settransition: function(e) { x.slides.transition(e).find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ).transition(e) } } }, x.lazy = { initialimageloaded: !1, loadimageinslide: function(a, t) { if (void 0 !== a && (void 0 === t && (t = !0), 0 !== x.slides.length)) { var s = x.slides.eq(a), r = s.find("." + x.params.lazyloadingclass + ":not(." + x.params .lazystatusloadedclass + "):not(." + x.params.lazystatusloadingclass + ")"); !s.hasclass(x.params.lazyloadingclass) || s.hasclass(x.params .lazystatusloadedclass) || s.hasclass(x.params.lazystatusloadingclass) || (r = r .add(s[0])), 0 !== r.length && r.each(function() { var a = e(this); a.addclass(x.params.lazystatusloadingclass); var r = a.attr("data-background"), i = a.attr("data-src"), n = a.attr("data-srcset"), o = a.attr("data-sizes"); x.loadimage(a[0], i || r, n, o, !1, function() { if (void 0 !== x && null !== x && x) { if (r ? (a.css("background-image", 'url("' + r + '")'), a.removeattr("data-background")) : (n && (a .attr("srcset", n), a.removeattr( "data-srcset")), o && (a.attr("sizes", o), a.removeattr("data-sizes")), i && (a .attr("src", i), a.removeattr("data-src"))), a .addclass(x.params.lazystatusloadedclass) .removeclass(x.params.lazystatusloadingclass), s .find("." + x.params.lazypreloaderclass + ", ." + x .params.preloaderclass).remove(), x.params .loop && t) { var e = s.attr("data-swiper-slide-index"); if (s.hasclass(x.params.slideduplicateclass)) { var l = x.wrapper.children( '[data-swiper-slide-index="' + e + '"]:not(.' + x.params .slideduplicateclass + ")"); x.lazy.loadimageinslide(l.index(), !1) } else { var p = x.wrapper.children("." + x.params .slideduplicateclass + '[data-swiper-slide-index="' + e + '"]'); x.lazy.loadimageinslide(p.index(), !1) } } x.emit("onlazyimageready", x, s[0], a[0]) } }), x.emit("onlazyimageload", x, s[0], a[0]) }) } }, load: function() { var a, t = x.params.slidesperview; if ("auto" === t && (t = 0), x.lazy.initialimageloaded || (x.lazy.initialimageloaded = ! 0), x.params.watchslidesvisibility) x.wrapper.children("." + x.params .slidevisibleclass).each(function() { x.lazy.loadimageinslide(e(this).index()) }); else if (t > 1) for (a = x.activeindex; a < x.activeindex + t; a++) x.slides[a] && x.lazy .loadimageinslide(a); else x.lazy.loadimageinslide(x.activeindex); if (x.params.lazyloadinginprevnext) if (t > 1 || x.params.lazyloadinginprevnextamount && x.params .lazyloadinginprevnextamount > 1) { var s = x.params.lazyloadinginprevnextamount, r = t, i = math.min(x.activeindex + r + math.max(s, r), x.slides.length), n = math.max(x.activeindex - math.max(r, s), 0); for (a = x.activeindex + t; a < i; a++) x.slides[a] && x.lazy.loadimageinslide( a); for (a = n; a < x.activeindex; a++) x.slides[a] && x.lazy.loadimageinslide(a) } else { var o = x.wrapper.children("." + x.params.slidenextclass); o.length > 0 && x.lazy.loadimageinslide(o.index()); var l = x.wrapper.children("." + x.params.slideprevclass); l.length > 0 && x.lazy.loadimageinslide(l.index()) } }, ontransitionstart: function() { x.params.lazyloading && (x.params.lazyloadingontransitionstart || !x.params .lazyloadingontransitionstart && !x.lazy.initialimageloaded) && x.lazy.load() }, ontransitionend: function() { x.params.lazyloading && !x.params.lazyloadingontransitionstart && x.lazy.load() } }, x.scrollbar = { istouched: !1, setdragposition: function(e) { var a = x.scrollbar, t = x.ishorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e .targettouches[0].pagex : e.pagex || e.clientx : "touchstart" === e.type || "touchmove" === e.type ? e.targettouches[0].pagey : e.pagey || e.clienty, s = t - a.track.offset()[x.ishorizontal() ? "left" : "top"] - a.dragsize / 2, r = -x.mintranslate() * a.movedivider, i = -x.maxtranslate() * a.movedivider; s < r ? s = r : s > i && (s = i), s = -s / a.movedivider, x.updateprogress(s), x .setwrappertranslate(s, !0) }, dragstart: function(e) { var a = x.scrollbar; a.istouched = !0, e.preventdefault(), e.stoppropagation(), a.setdragposition(e), cleartimeout(a.dragtimeout), a.track.transition(0), x.params.scrollbarhide && a .track.css("opacity", 1), x.wrapper.transition(100), a.drag.transition(100), x.emit( "onscrollbardragstart", x) }, dragmove: function(e) { var a = x.scrollbar; a.istouched && (e.preventdefault ? e.preventdefault() : e.returnvalue = !1, a .setdragposition(e), x.wrapper.transition(0), a.track.transition(0), a.drag .transition(0), x.emit("onscrollbardragmove", x)) }, dragend: function(e) { var a = x.scrollbar; a.istouched && (a.istouched = !1, x.params.scrollbarhide && (cleartimeout(a .dragtimeout), a.dragtimeout = settimeout(function() { a.track.css("opacity", 0), a.track.transition(400) }, 1e3)), x.emit("onscrollbardragend", x), x.params .scrollbarsnaponrelease && x.slidereset()) }, draggableevents: function() { return x.params.simulatetouch !== !1 || x.support.touch ? x.touchevents : x .toucheventsdesktop }(), enabledraggable: function() { var a = x.scrollbar, t = x.support.touch ? a.track : document; e(a.track).on(a.draggableevents.start, a.dragstart), e(t).on(a.draggableevents.move, a .dragmove), e(t).on(a.draggableevents.end, a.dragend) }, disabledraggable: function() { var a = x.scrollbar, t = x.support.touch ? a.track : document; e(a.track).off(a.draggableevents.start, a.dragstart), e(t).off(a.draggableevents.move, a .dragmove), e(t).off(a.draggableevents.end, a.dragend) }, set: function() { if (x.params.scrollbar) { var a = x.scrollbar; a.track = e(x.params.scrollbar), x.params.uniquenavelements && "string" == typeof x .params.scrollbar && a.track.length > 1 && 1 === x.container.find(x.params .scrollbar).length && (a.track = x.container.find(x.params.scrollbar)), a .drag = a.track.find(".swiper-scrollbar-drag"), 0 === a.drag.length && (a.drag = e('
'), a.track.append(a.drag)), a .drag[0].style.width = "", a.drag[0].style.height = "", a.tracksize = x .ishorizontal() ? a.track[0].offsetwidth : a.track[0].offsetheight, a.divider = x.size / x.virtualsize, a.movedivider = a.divider * (a.tracksize / x.size), a .dragsize = a.tracksize * a.divider, x.ishorizontal() ? a.drag[0].style.width = a.dragsize + "px" : a.drag[0].style.height = a.dragsize + "px", a.divider >= 1 ? a.track[0].style.display = "none" : a.track[0].style.display = "", x.params .scrollbarhide && (a.track[0].style.opacity = 0) } }, settranslate: function() { if (x.params.scrollbar) { var e, a = x.scrollbar, t = (x.translate, a.dragsize); e = (a.tracksize - a.dragsize) * x.progress, x.rtl && x.ishorizontal() ? (e = -e, e > 0 ? (t = a.dragsize - e, e = 0) : -e + a.dragsize > a.tracksize && (t = a.tracksize + e)) : e < 0 ? (t = a.dragsize + e, e = 0) : e + a .dragsize > a.tracksize && (t = a.tracksize - e), x.ishorizontal() ? (x.support .transforms3d ? a.drag.transform("translate3d(" + e + "px, 0, 0)") : a.drag .transform("translatex(" + e + "px)"), a.drag[0].style.width = t + "px") : ( x.support.transforms3d ? a.drag.transform("translate3d(0px, " + e + "px, 0)") : a.drag.transform("translatey(" + e + "px)"), a.drag[0].style .height = t + "px"), x.params.scrollbarhide && (cleartimeout(a.timeout), a .track[0].style.opacity = 1, a.timeout = settimeout(function() { a.track[0].style.opacity = 0, a.track.transition(400) }, 1e3)) } }, settransition: function(e) { x.params.scrollbar && x.scrollbar.drag.transition(e) } }, x.controller = { linearspline: function(e, a) { var t = function() { var e, a, t; return function(s, r) { for (a = -1, e = s.length; e - a > 1;) s[t = e + a >> 1] <= r ? a = t : e = t; return e } }(); this.x = e, this.y = a, this.lastindex = e.length - 1; var s, r; this.x.length; this.interpolate = function(e) { return e ? (r = t(this.x, e), s = r - 1, (e - this.x[s]) * (this.y[r] - this.y[ s]) / (this.x[r] - this.x[s]) + this.y[s]) : 0 } }, getinterpolatefunction: function(e) { x.controller.spline || (x.controller.spline = x.params.loop ? new x.controller .linearspline(x.slidesgrid, e.slidesgrid) : new x.controller.linearspline(x .snapgrid, e.snapgrid)) }, settranslate: function(e, t) { function s(a) { e = a.rtl && "horizontal" === a.params.direction ? -x.translate : x.translate, "slide" === x.params.controlby && (x.controller.getinterpolatefunction(a), i = - x.controller.spline.interpolate(-e)), i && "container" !== x.params .controlby || (r = (a.maxtranslate() - a.mintranslate()) / (x.maxtranslate() - x .mintranslate()), i = (e - x.mintranslate()) * r + a.mintranslate()), x .params.controlinverse && (i = a.maxtranslate() - i), a.updateprogress(i), a .setwrappertranslate(i, !1, x), a.updateactiveindex() } var r, i, n = x.params.control; if (array.isarray(n)) for (var o = 0; o < n.length; o++) n[o] !== t && n[o] instanceof a && s(n[o]); else n instanceof a && t !== n && s(n) }, settransition: function(e, t) { function s(a) { a.setwrappertransition(e, x), 0 !== e && (a.ontransitionstart(), a.wrapper .transitionend(function() { i && (a.params.loop && "slide" === x.params.controlby && a .fixloop(), a.ontransitionend()) })) } var r, i = x.params.control; if (array.isarray(i)) for (r = 0; r < i.length; r++) i[r] !== t && i[r] instanceof a && s(i[r]); else i instanceof a && t !== i && s(i) } }, x.hashnav = { onhashcange: function(e, a) { var t = document.location.hash.replace("#", ""); t !== x.slides.eq(x.activeindex).attr("data-hash") && x.slideto(x.wrapper.children("." + x.params.slideclass + '[data-hash="' + t + '"]').index()) }, attachevents: function(a) { var t = a ? "off" : "on"; e(window)[t]("hashchange", x.hashnav.onhashcange) }, sethash: function() { if (x.hashnav.initialized && x.params.hashnav) if (x.params.replacestate && window.history && window.history.replacestate) window .history.replacestate(null, null, "#" + x.slides.eq(x.activeindex).attr( "data-hash") || ""); else { var e = x.slides.eq(x.activeindex), a = e.attr("data-hash") || e.attr("data-history"); document.location.hash = a || "" } }, init: function() { if (x.params.hashnav && !x.params.history) { x.hashnav.initialized = !0; var e = document.location.hash.replace("#", ""); if (e) for (var a = 0, t = x.slides.length; a < t; a++) { var s = x.slides.eq(a), r = s.attr("data-hash") || s.attr("data-history"); if (r === e && !s.hasclass(x.params.slideduplicateclass)) { var i = s.index(); x.slideto(i, 0, x.params.runcallbacksoninit, !0) } } x.params.hashnavwatchstate && x.hashnav.attachevents() } }, destroy: function() { x.params.hashnavwatchstate && x.hashnav.attachevents(!0) } }, x.history = { init: function() { if (x.params.history) { if (!window.history || !window.history.pushstate) return x.params.history = !1, void(x.params.hashnav = !0); x.history.initialized = !0, this.paths = this.getpathvalues(), (this.paths.key || this.paths.value) && (this.scrolltoslide(0, this.paths.value, x.params .runcallbacksoninit), x.params.replacestate || window.addeventlistener( "popstate", this.sethistorypopstate)) } }, sethistorypopstate: function() { x.history.paths = x.history.getpathvalues(), x.history.scrolltoslide(x.params.speed, x .history.paths.value, !1) }, getpathvalues: function() { var e = window.location.pathname.slice(1).split("/"), a = e.length; return { key: e[a - 2], value: e[a - 1] } }, sethistory: function(e, a) { if (x.history.initialized && x.params.history) { var t = x.slides.eq(a), s = this.slugify(t.attr("data-history")); window.location.pathname.includes(e) || (s = e + "/" + s), x.params.replacestate ? window.history.replacestate(null, null, s) : window.history.pushstate(null, null, s) } }, slugify: function(e) { return e.tostring().tolowercase().replace(/\s+/g, "-").replace(/[^\w\-]+/g, "").replace( /\-\-+/g, "-").replace(/^-+/, "").replace(/-+$/, "") }, scrolltoslide: function(e, a, t) { if (a) for (var s = 0, r = x.slides.length; s < r; s++) { var i = x.slides.eq(s), n = this.slugify(i.attr("data-history")); if (n === a && !i.hasclass(x.params.slideduplicateclass)) { var o = i.index(); x.slideto(o, e, t) } } else x.slideto(0, e, t) } }, x.disablekeyboardcontrol = function() { x.params.keyboardcontrol = !1, e(document).off("keydown", l) }, x.enablekeyboardcontrol = function() { x.params.keyboardcontrol = !0, e(document).on("keydown", l) }, x.mousewheel = { event: !1, lastscrolltime: (new window.date).gettime() }, x.params.mousewheelcontrol && (x.mousewheel.event = navigator.useragent.indexof("firefox") > -1 ? "dommousescroll" : function() { var e = "onwheel" in document; if (!e) { var a = document.createelement("div"); a.setattribute("onwheel", "return;"), e = "function" == typeof a.onwheel } return !e && document.implementation && document.implementation.hasfeature && document .implementation.hasfeature("", "") !== !0 && (e = document.implementation.hasfeature( "events.wheel", "3.0")), e }() ? "wheel" : "mousewheel"), x.disablemousewheelcontrol = function() { if (!x.mousewheel.event) return !1; var a = x.container; return "container" !== x.params.mousewheeleventstarged && (a = e(x.params .mousewheeleventstarged)), a.off(x.mousewheel.event, d), x.params.mousewheelcontrol = ! 1, !0 }, x.enablemousewheelcontrol = function() { if (!x.mousewheel.event) return !1; var a = x.container; return "container" !== x.params.mousewheeleventstarged && (a = e(x.params .mousewheeleventstarged)), a.on(x.mousewheel.event, d), x.params.mousewheelcontrol = !0, !0 }, x.parallax = { settranslate: function() { x.container.children( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]") .each(function() { m(this, x.progress) }), x.slides.each(function() { var a = e(this); a.find( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]") .each(function() { m(this, math.min(math.max(a[0].progress, -1), 1)) }) }) }, settransition: function(a) { void 0 === a && (a = x.params.speed), x.container.find( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]") .each(function() { var t = e(this), s = parseint(t.attr("data-swiper-parallax-duration"), 10) || a; 0 === a && (s = 0), t.transition(s) }) } }, x.zoom = { scale: 1, currentscale: 1, isscaling: !1, gesture: { slide: void 0, slidewidth: void 0, slideheight: void 0, image: void 0, imagewrap: void 0, zoommax: x.params.zoommax }, image: { istouched: void 0, ismoved: void 0, currentx: void 0, currenty: void 0, minx: void 0, miny: void 0, maxx: void 0, maxy: void 0, width: void 0, height: void 0, startx: void 0, starty: void 0, touchesstart: {}, touchescurrent: {} }, velocity: { x: void 0, y: void 0, prevpositionx: void 0, prevpositiony: void 0, prevtime: void 0 }, getdistancebetweentouches: function(e) { if (e.targettouches.length < 2) return 1; var a = e.targettouches[0].pagex, t = e.targettouches[0].pagey, s = e.targettouches[1].pagex, r = e.targettouches[1].pagey; return math.sqrt(math.pow(s - a, 2) + math.pow(r - t, 2)) }, ongesturestart: function(a) { var t = x.zoom; if (!x.support.gestures) { if ("touchstart" !== a.type || "touchstart" === a.type && a.targettouches.length < 2) return; t.gesture.scalestart = t.getdistancebetweentouches(a) } if (!(t.gesture.slide && t.gesture.slide.length || (t.gesture.slide = e(this), 0 === t .gesture.slide.length && (t.gesture.slide = x.slides.eq(x.activeindex)), t .gesture.image = t.gesture.slide.find("img, svg, canvas"), t.gesture .imagewrap = t.gesture.image.parent("." + x.params.zoomcontainerclass), t .gesture.zoommax = t.gesture.imagewrap.attr("data-swiper-zoom") || x.params .zoommax, 0 !== t.gesture.imagewrap.length))) return void(t.gesture.image = void 0); t.gesture.image.transition(0), t.isscaling = !0 }, ongesturechange: function(e) { var a = x.zoom; if (!x.support.gestures) { if ("touchmove" !== e.type || "touchmove" === e.type && e.targettouches.length < 2) return; a.gesture.scalemove = a.getdistancebetweentouches(e) } a.gesture.image && 0 !== a.gesture.image.length && (x.support.gestures ? a.scale = e .scale * a.currentscale : a.scale = a.gesture.scalemove / a.gesture.scalestart * a.currentscale, a.scale > a.gesture.zoommax && (a.scale = a.gesture.zoommax - 1 + math.pow(a.scale - a.gesture.zoommax + 1, .5)), a.scale < x.params .zoommin && (a.scale = x.params.zoommin + 1 - math.pow(x.params.zoommin - a .scale + 1, .5)), a.gesture.image.transform("translate3d(0,0,0) scale(" + a .scale + ")")) }, ongestureend: function(e) { var a = x.zoom; !x.support.gestures && ("touchend" !== e.type || "touchend" === e.type && e .changedtouches.length < 2) || a.gesture.image && 0 !== a.gesture.image .length && (a.scale = math.max(math.min(a.scale, a.gesture.zoommax), x.params .zoommin), a.gesture.image.transition(x.params.speed).transform( "translate3d(0,0,0) scale(" + a.scale + ")"), a.currentscale = a.scale, a .isscaling = !1, 1 === a.scale && (a.gesture.slide = void 0)) }, ontouchstart: function(e, a) { var t = e.zoom; t.gesture.image && 0 !== t.gesture.image.length && (t.image.istouched || ("android" === e.device.os && a.preventdefault(), t.image.istouched = !0, t.image .touchesstart.x = "touchstart" === a.type ? a.targettouches[0].pagex : a .pagex, t.image.touchesstart.y = "touchstart" === a.type ? a.targettouches[ 0].pagey : a.pagey)) }, ontouchmove: function(e) { var a = x.zoom; if (a.gesture.image && 0 !== a.gesture.image.length && (x.allowclick = !1, a.image .istouched && a.gesture.slide)) { a.image.ismoved || (a.image.width = a.gesture.image[0].offsetwidth, a.image.height = a.gesture.image[0].offsetheight, a.image.startx = x.gettranslate(a.gesture .imagewrap[0], "x") || 0, a.image.starty = x.gettranslate(a.gesture .imagewrap[0], "y") || 0, a.gesture.slidewidth = a.gesture.slide[0] .offsetwidth, a.gesture.slideheight = a.gesture.slide[0].offsetheight, a .gesture.imagewrap.transition(0), x.rtl && (a.image.startx = -a.image .startx), x.rtl && (a.image.starty = -a.image.starty)); var t = a.image.width * a.scale, s = a.image.height * a.scale; if (!(t < a.gesture.slidewidth && s < a.gesture.slideheight)) { if (a.image.minx = math.min(a.gesture.slidewidth / 2 - t / 2, 0), a.image .maxx = -a.image.minx, a.image.miny = math.min(a.gesture.slideheight / 2 - s / 2, 0), a.image.maxy = -a.image.miny, a.image.touchescurrent.x = "touchmove" === e.type ? e.targettouches[0].pagex : e.pagex, a.image .touchescurrent.y = "touchmove" === e.type ? e.targettouches[0].pagey : e .pagey, !a.image.ismoved && !a.isscaling) { if (x.ishorizontal() && math.floor(a.image.minx) === math.floor(a.image .startx) && a.image.touchescurrent.x < a.image.touchesstart.x || math.floor(a.image.maxx) === math.floor(a.image.startx) && a.image .touchescurrent.x > a.image.touchesstart.x) return void(a.image .istouched = !1); if (!x.ishorizontal() && math.floor(a.image.miny) === math.floor(a.image .starty) && a.image.touchescurrent.y < a.image.touchesstart.y || math.floor(a.image.maxy) === math.floor(a.image.starty) && a.image .touchescurrent.y > a.image.touchesstart.y) return void(a.image .istouched = !1) } e.preventdefault(), e.stoppropagation(), a.image.ismoved = !0, a.image .currentx = a.image.touchescurrent.x - a.image.touchesstart.x + a.image .startx, a.image.currenty = a.image.touchescurrent.y - a.image.touchesstart .y + a.image.starty, a.image.currentx < a.image.minx && (a.image.currentx = a.image.minx + 1 - math.pow(a.image.minx - a.image.currentx + 1, .8)), a .image.currentx > a.image.maxx && (a.image.currentx = a.image.maxx - 1 + math.pow(a.image.currentx - a.image.maxx + 1, .8)), a.image.currenty < a .image.miny && (a.image.currenty = a.image.miny + 1 - math.pow(a.image .miny - a.image.currenty + 1, .8)), a.image.currenty > a.image.maxy && ( a.image.currenty = a.image.maxy - 1 + math.pow(a.image.currenty - a .image.maxy + 1, .8)), a.velocity.prevpositionx || (a.velocity .prevpositionx = a.image.touchescurrent.x), a.velocity.prevpositiony || (a.velocity.prevpositiony = a.image.touchescurrent.y), a.velocity .prevtime || (a.velocity.prevtime = date.now()), a.velocity.x = (a.image .touchescurrent.x - a.velocity.prevpositionx) / (date.now() - a.velocity .prevtime) / 2, a.velocity.y = (a.image.touchescurrent.y - a.velocity .prevpositiony) / (date.now() - a.velocity.prevtime) / 2, math.abs(a .image.touchescurrent.x - a.velocity.prevpositionx) < 2 && (a.velocity .x = 0), math.abs(a.image.touchescurrent.y - a.velocity.prevpositiony) < 2 && (a.velocity.y = 0), a.velocity.prevpositionx = a.image.touchescurrent .x, a.velocity.prevpositiony = a.image.touchescurrent.y, a.velocity .prevtime = date.now(), a.gesture.imagewrap.transform("translate3d(" + a .image.currentx + "px, " + a.image.currenty + "px,0)") } } }, ontouchend: function(e, a) { var t = e.zoom; if (t.gesture.image && 0 !== t.gesture.image.length) { if (!t.image.istouched || !t.image.ismoved) return t.image.istouched = !1, void(t .image.ismoved = !1); t.image.istouched = !1, t.image.ismoved = !1; var s = 300, r = 300, i = t.velocity.x * s, n = t.image.currentx + i, o = t.velocity.y * r, l = t.image.currenty + o; 0 !== t.velocity.x && (s = math.abs((n - t.image.currentx) / t.velocity.x)), 0 !== t .velocity.y && (r = math.abs((l - t.image.currenty) / t.velocity.y)); var p = math.max(s, r); t.image.currentx = n, t.image.currenty = l; var d = t.image.width * t.scale, m = t.image.height * t.scale; t.image.minx = math.min(t.gesture.slidewidth / 2 - d / 2, 0), t.image.maxx = -t .image.minx, t.image.miny = math.min(t.gesture.slideheight / 2 - m / 2, 0), t .image.maxy = -t.image.miny, t.image.currentx = math.max(math.min(t.image .currentx, t.image.maxx), t.image.minx), t.image.currenty = math.max(math .min(t.image.currenty, t.image.maxy), t.image.miny), t.gesture.imagewrap .transition(p).transform("translate3d(" + t.image.currentx + "px, " + t.image .currenty + "px,0)") } }, ontransitionend: function(e) { var a = e.zoom; a.gesture.slide && e.previousindex !== e.activeindex && (a.gesture.image.transform( "translate3d(0,0,0) scale(1)"), a.gesture.imagewrap.transform( "translate3d(0,0,0)"), a.gesture.slide = a.gesture.image = a.gesture .imagewrap = void 0, a.scale = a.currentscale = 1) }, togglezoom: function(a, t) { var s = a.zoom; if (s.gesture.slide || (s.gesture.slide = a.clickedslide ? e(a.clickedslide) : a.slides .eq(a.activeindex), s.gesture.image = s.gesture.slide.find("img, svg, canvas"), s.gesture.imagewrap = s.gesture.image.parent("." + a.params.zoomcontainerclass) ), s.gesture.image && 0 !== s.gesture.image.length) { var r, i, n, o, l, p, d, m, u, c, g, h, v, f, w, y, x, t; void 0 === s.image.touchesstart.x && t ? (r = "touchend" === t.type ? t .changedtouches[0].pagex : t.pagex, i = "touchend" === t.type ? t .changedtouches[0].pagey : t.pagey) : (r = s.image.touchesstart.x, i = s .image.touchesstart.y), s.scale && 1 !== s.scale ? (s.scale = s .currentscale = 1, s.gesture.imagewrap.transition(300).transform( "translate3d(0,0,0)"), s.gesture.image.transition(300).transform( "translate3d(0,0,0) scale(1)"), s.gesture.slide = void 0) : (s.scale = s .currentscale = s.gesture.imagewrap.attr("data-swiper-zoom") || a.params .zoommax, t ? (x = s.gesture.slide[0].offsetwidth, t = s.gesture.slide[0] .offsetheight, n = s.gesture.slide.offset().left, o = s.gesture.slide .offset().top, l = n + x / 2 - r, p = o + t / 2 - i, u = s.gesture .image[0].offsetwidth, c = s.gesture.image[0].offsetheight, g = u * s .scale, h = c * s.scale, v = math.min(x / 2 - g / 2, 0), f = math.min( t / 2 - h / 2, 0), w = -v, y = -f, d = l * s.scale, m = p * s.scale, d < v && (d = v), d > w && (d = w), m < f && (m = f), m > y && (m = y) ) : (d = 0, m = 0), s.gesture.imagewrap.transition(300).transform( "translate3d(" + d + "px, " + m + "px,0)"), s.gesture.image.transition( 300).transform("translate3d(0,0,0) scale(" + s.scale + ")")) } }, attachevents: function(a) { var t = a ? "off" : "on"; if (x.params.zoom) { var s = (x.slides, !("touchstart" !== x.touchevents.start || !x.support .passivelistener || !x.params.passivelisteners) && { passive: !0, capture: !1 }); x.support.gestures ? (x.slides[t]("gesturestart", x.zoom.ongesturestart, s), x .slides[t]("gesturechange", x.zoom.ongesturechange, s), x.slides[t]( "gestureend", x.zoom.ongestureend, s)) : "touchstart" === x.touchevents .start && (x.slides[t](x.touchevents.start, x.zoom.ongesturestart, s), x.slides[ t](x.touchevents.move, x.zoom.ongesturechange, s), x.slides[t](x .touchevents.end, x.zoom.ongestureend, s)), x[t]("touchstart", x.zoom .ontouchstart), x.slides.each(function(a, s) { e(s).find("." + x.params.zoomcontainerclass).length > 0 && e(s)[t](x .touchevents.move, x.zoom.ontouchmove) }), x[t]("touchend", x.zoom.ontouchend), x[t]("transitionend", x.zoom .ontransitionend), x.params.zoomtoggle && x.on("doubletap", x.zoom .togglezoom) } }, init: function() { x.zoom.attachevents() }, destroy: function() { x.zoom.attachevents(!0) } }, x._plugins = []; for (var y in x.plugins) { var a = x.plugins[y](x, x.params[y]); a && x._plugins.push(a) } return x.callplugins = function(e) { for (var a = 0; a < x._plugins.length; a++) e in x._plugins[a] && x._plugins[a][e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]) }, x.emittereventlisteners = {}, x.emit = function(e) { x.params[e] && x.params[e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[ 5]); var a; if (x.emittereventlisteners[e]) for (a = 0; a < x.emittereventlisteners[e].length; a++) x.emittereventlisteners[e][a]( arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); x.callplugins && x.callplugins(e, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]) }, x.on = function(e, a) { return e = u(e), x.emittereventlisteners[e] || (x.emittereventlisteners[e] = []), x .emittereventlisteners[e].push(a), x }, x.off = function(e, a) { var t; if (e = u(e), void 0 === a) return x.emittereventlisteners[e] = [], x; if (x.emittereventlisteners[e] && 0 !== x.emittereventlisteners[e].length) { for (t = 0; t < x.emittereventlisteners[e].length; t++) x.emittereventlisteners[e][t] === a && x.emittereventlisteners[e].splice(t, 1); return x } }, x.once = function(e, a) { e = u(e); var t = function() { a(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]), x.off(e, t) }; return x.on(e, t), x }, x.a11y = { makefocusable: function(e) { return e.attr("tabindex", "0"), e }, addrole: function(e, a) { return e.attr("role", a), e }, addlabel: function(e, a) { return e.attr("aria-label", a), e }, disable: function(e) { return e.attr("aria-disabled", !0), e }, enable: function(e) { return e.attr("aria-disabled", !1), e }, onenterkey: function(a) { 13 === a.keycode && (e(a.target).is(x.params.nextbutton) ? (x.onclicknext(a), x.isend ? x.a11y.notify(x.params.lastslidemessage) : x.a11y.notify(x.params .nextslidemessage)) : e(a.target).is(x.params.prevbutton) && (x .onclickprev(a), x.isbeginning ? x.a11y.notify(x.params.firstslidemessage) : x.a11y.notify(x.params.prevslidemessage)), e(a.target).is("." + x.params .bulletclass) && e(a.target)[0].click()) }, liveregion: e(''), notify: function(e) { var a = x.a11y.liveregion; 0 !== a.length && (a.html(""), a.html(e)) }, init: function() { x.params.nextbutton && x.nextbutton && x.nextbutton.length > 0 && (x.a11y.makefocusable( x.nextbutton), x.a11y.addrole(x.nextbutton, "button"), x.a11y.addlabel(x .nextbutton, x.params.nextslidemessage)), x.params.prevbutton && x.prevbutton && x.prevbutton.length > 0 && (x.a11y.makefocusable(x.prevbutton), x.a11y.addrole(x .prevbutton, "button"), x.a11y.addlabel(x.prevbutton, x.params .prevslidemessage)), e(x.container).append(x.a11y.liveregion) }, initpagination: function() { x.params.pagination && x.params.paginationclickable && x.bullets && x.bullets.length && x.bullets.each(function() { var a = e(this); x.a11y.makefocusable(a), x.a11y.addrole(a, "button"), x.a11y.addlabel(a, x .params.paginationbulletmessage.replace(/{{index}}/, a.index() + 1)) }) }, destroy: function() { x.a11y.liveregion && x.a11y.liveregion.length > 0 && x.a11y.liveregion.remove() } }, x.init = function() { x.params.loop && x.createloop(), x.updatecontainersize(), x.updateslidessize(), x .updatepagination(), x.params.scrollbar && x.scrollbar && (x.scrollbar.set(), x.params .scrollbardraggable && x.scrollbar.enabledraggable()), "slide" !== x.params.effect && x .effects[x.params.effect] && (x.params.loop || x.updateprogress(), x.effects[x.params .effect].settranslate()), x.params.loop ? x.slideto(x.params.initialslide + x .loopedslides, 0, x.params.runcallbacksoninit) : (x.slideto(x.params.initialslide, 0, x .params.runcallbacksoninit), 0 === x.params.initialslide && (x.parallax && x.params .parallax && x.parallax.settranslate(), x.lazy && x.params.lazyloading && (x.lazy .load(), x.lazy.initialimageloaded = !0))), x.attachevents(), x.params.observer && x .support.observer && x.initobservers(), x.params.preloadimages && !x.params.lazyloading && x .preloadimages(), x.params.zoom && x.zoom && x.zoom.init(), x.params.autoplay && x .startautoplay(), x.params.keyboardcontrol && x.enablekeyboardcontrol && x .enablekeyboardcontrol(), x.params.mousewheelcontrol && x.enablemousewheelcontrol && x .enablemousewheelcontrol(), x.params.hashnavreplacestate && (x.params.replacestate = x .params.hashnavreplacestate), x.params.history && x.history && x.history.init(), x .params.hashnav && x.hashnav && x.hashnav.init(), x.params.a11y && x.a11y && x.a11y.init(), x.emit("oninit", x) }, x.cleanupstyles = function() { x.container.removeclass(x.classnames.join(" ")).removeattr("style"), x.wrapper.removeattr( "style"), x.slides && x.slides.length && x.slides.removeclass([x.params .slidevisibleclass, x.params.slideactiveclass, x.params.slidenextclass, x.params .slideprevclass ].join(" ")).removeattr("style").removeattr("data-swiper-column").removeattr( "data-swiper-row"), x.paginationcontainer && x.paginationcontainer.length && x .paginationcontainer.removeclass(x.params.paginationhiddenclass), x.bullets && x.bullets .length && x.bullets.removeclass(x.params.bulletactiveclass), x.params.prevbutton && e(x .params.prevbutton).removeclass(x.params.buttondisabledclass), x.params.nextbutton && e( x.params.nextbutton).removeclass(x.params.buttondisabledclass), x.params.scrollbar && x .scrollbar && (x.scrollbar.track && x.scrollbar.track.length && x.scrollbar.track .removeattr("style"), x.scrollbar.drag && x.scrollbar.drag.length && x.scrollbar.drag .removeattr("style")) }, x.destroy = function(e, a) { x.detachevents(), x.stopautoplay(), x.params.scrollbar && x.scrollbar && x.params .scrollbardraggable && x.scrollbar.disabledraggable(), x.params.loop && x.destroyloop(), a && x.cleanupstyles(), x.disconnectobservers(), x.params.zoom && x.zoom && x.zoom .destroy(), x.params.keyboardcontrol && x.disablekeyboardcontrol && x.disablekeyboardcontrol(), x.params.mousewheelcontrol && x.disablemousewheelcontrol && x.disablemousewheelcontrol(), x .params.a11y && x.a11y && x.a11y.destroy(), x.params.history && !x.params.replacestate && window.removeeventlistener("popstate", x.history.sethistorypopstate), x.params.hashnav && x .hashnav && x.hashnav.destroy(), x.emit("ondestroy"), e !== !1 && (x = null) }, x.init(), x } }; a.prototype = { issafari: function() { var e = window.navigator.useragent.tolowercase(); return e.indexof("safari") >= 0 && e.indexof("chrome") < 0 && e.indexof("android") < 0 }(), isuiwebview: /(iphone|ipod|ipad).*applewebkit(?!.*safari)/i.test(window.navigator.useragent), isarray: function(e) { return "[object array]" === object.prototype.tostring.apply(e) }, browser: { ie: window.navigator.pointerenabled || window.navigator.mspointerenabled, ietouch: window.navigator.mspointerenabled && window.navigator.msmaxtouchpoints > 1 || window.navigator .pointerenabled && window.navigator.maxtouchpoints > 1, lteie9: function() { var e = document.createelement("div"); return e.innerhtml = "", 1 === e.getelementsbytagname("i") .length }() }, device: function() { var e = window.navigator.useragent, a = e.match(/(android);?[\s\/]+([\d.]+)?/), t = e.match(/(ipad).*os\s([\d_]+)/), s = e.match(/(ipod)(.*os\s([\d_]+))?/), r = !t && e.match(/(iphone\sos|ios)\s([\d_]+)/); return { ios: t || r || s, android: a } }(), support: { touch: window.modernizr && modernizr.touch === !0 || function() { return !!("ontouchstart" in window || window.documenttouch && document instanceof documenttouch) }(), transforms3d: window.modernizr && modernizr.csstransforms3d === !0 || function() { var e = document.createelement("div").style; return "webkitperspective" in e || "mozperspective" in e || "operspective" in e || "msperspective" in e || "perspective" in e }(), flexbox: function() { for (var e = document.createelement("div").style, a = "alignitems webkitalignitems webkitboxalign msflexalign mozboxalign webkitflexdirection msflexdirection mozboxdirection mozboxorient webkitboxdirection webkitboxorient" .split(" "), t = 0; t < a.length; t++) if (a[t] in e) return !0 }(), observer: function() { return "mutationobserver" in window || "webkitmutationobserver" in window }(), passivelistener: function() { var e = !1; try { var a = object.defineproperty({}, "passive", { get: function() { e = !0 } }); window.addeventlistener("testpassivelistener", null, a) } catch (e) {} return e }(), gestures: function() { return "ongesturestart" in window }() }, plugins: {} }; for (var t = ["jquery", "zepto", "dom7"], s = 0; s < t.length; s++) window[t[s]] && function(e) { e.fn.swiper = function(t) { var s; return e(this).each(function() { var e = new a(this, t); s || (s = e) }), s } }(window[t[s]]); var r; r = "undefined" == typeof dom7 ? window.dom7 || window.zepto || window.jquery : dom7, r && ("transitionend" in r .fn || (r.fn.transitionend = function(e) { function a(i) { if (i.target === this) for (e.call(this, i), t = 0; t < s.length; t++) r.off(s[t], a) } var t, s = ["webkittransitionend", "transitionend", "otransitionend", "mstransitionend", "mstransitionend" ], r = this; if (e) for (t = 0; t < s.length; t++) r.on(s[t], a); return this }), "transform" in r.fn || (r.fn.transform = function(e) { for (var a = 0; a < this.length; a++) { var t = this[a].style; t.webkittransform = t.mstransform = t.mstransform = t.moztransform = t.otransform = t .transform = e } return this }), "transition" in r.fn || (r.fn.transition = function(e) { "string" != typeof e && (e += "ms"); for (var a = 0; a < this.length; a++) { var t = this[a].style; t.webkittransitionduration = t.mstransitionduration = t.mstransitionduration = t .moztransitionduration = t.otransitionduration = t.transitionduration = e } return this }), "outerwidth" in r.fn || (r.fn.outerwidth = function(e) { return this.length > 0 ? e ? this[0].offsetwidth + parsefloat(this.css("margin-right")) + parsefloat(this.css("margin-left")) : this[0].offsetwidth : null })), window.swiper = a }(), "undefined" != typeof module ? module.exports = window.swiper : "function" == typeof define && define.amd && define([], function() { "use strict"; return window.swiper }); //# sourcemappingurl=maps/swiper.jquery.min.js.map