/** * swiper 4.5.0 * most modern mobile touch slider and framework with hardware accelerated transitions * * copyright 2014-2019 vladimir kharlampidi * * released under the mit license * * released on: february 22, 2019 */ ! function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self).swiper = t() }(this, function() { "use strict"; var f = "undefined" == typeof document ? { body: {}, addeventlistener: function() {}, removeeventlistener: function() {}, activeelement: { blur: function() {}, nodename: "" }, queryselector: function() { return null }, queryselectorall: function() { return [] }, getelementbyid: function() { return null }, createevent: function() { return { initevent: function() {} } }, createelement: function() { return { children: [], childnodes: [], style: {}, setattribute: function() {}, getelementsbytagname: function() { return [] } } }, location: { hash: "" } } : document, j = "undefined" == typeof window ? { document: f, navigator: { useragent: "" }, location: {}, history: {}, customevent: function() { return this }, addeventlistener: function() {}, removeeventlistener: function() {}, getcomputedstyle: function() { return { getpropertyvalue: function() { return "" } } }, image: function() {}, date: function() {}, screen: {}, settimeout: function() {}, cleartimeout: function() {} } : window, l = function(e) { for(var t = 0; t < e.length; t += 1) this[t] = e[t]; return this.length = e.length, this }; function l(e, t) { var a = [], i = 0; if(e && !t && e instanceof l) return e; if(e) if("string" == typeof e) { var s, r, n = e.trim(); if(0 <= n.indexof("<") && 0 <= n.indexof(">")) { var o = "div"; for(0 === n.indexof(":~]/) ? (t || f).queryselectorall(e.trim()) : [f.getelementbyid(e.trim().split("#")[1])], i = 0; i < s.length; i += 1) s[i] && a.push(s[i]) } else if(e.nodetype || e === j || e === f) a.push(e); else if(0 < e.length && e[0].nodetype) for(i = 0; i < e.length; i += 1) a.push(e[i]); return new l(a) } function r(e) { for(var t = [], a = 0; a < e.length; a += 1) - 1 === t.indexof(e[a]) && t.push(e[a]); return t } l.fn = l.prototype, l.class = l, l.dom7 = l; var t = { addclass: function(e) { if(void 0 === e) return this; for(var t = e.split(" "), a = 0; a < t.length; a += 1) for(var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classlist && this[i].classlist.add(t[a]); return this }, removeclass: function(e) { for(var t = e.split(" "), a = 0; a < t.length; a += 1) for(var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classlist && this[i].classlist.remove(t[a]); return this }, hasclass: function(e) { return !!this[0] && this[0].classlist.contains(e) }, toggleclass: function(e) { for(var t = e.split(" "), a = 0; a < t.length; a += 1) for(var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classlist && this[i].classlist.toggle(t[a]); return this }, attr: function(e, t) { var a = arguments; if(1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getattribute(e) : void 0; for(var i = 0; i < this.length; i += 1) if(2 === a.length) this[i].setattribute(e, t); else for(var s in e) this[i][s] = e[s], this[i].setattribute(s, e[s]); return this }, removeattr: function(e) { for(var t = 0; t < this.length; t += 1) this[t].removeattribute(e); return this }, data: function(e, t) { var a; if(void 0 !== t) { for(var i = 0; i < this.length; i += 1)(a = this[i]).dom7elementdatastorage || (a.dom7elementdatastorage = {}), a.dom7elementdatastorage[e] = t; return this } if(a = this[0]) { if(a.dom7elementdatastorage && e in a.dom7elementdatastorage) return a.dom7elementdatastorage[e]; var s = a.getattribute("data-" + e); return s || void 0 } }, transform: function(e) { for(var t = 0; t < this.length; t += 1) { var a = this[t].style; a.webkittransform = e, a.transform = e } return this }, transition: function(e) { "string" != typeof e && (e += "ms"); for(var t = 0; t < this.length; t += 1) { var a = this[t].style; a.webkittransitionduration = e, a.transitionduration = e } return this }, on: function() { for(var e, t = [], a = arguments.length; a--;) t[a] = arguments[a]; var i = t[0], r = t[1], n = t[2], s = t[3]; function o(e) { var t = e.target; if(t) { var a = e.target.dom7eventdata || []; if(a.indexof(e) < 0 && a.unshift(e), l(t).is(r)) n.apply(t, a); else for(var i = l(t).parents(), s = 0; s < i.length; s += 1) l(i[s]).is(r) && n.apply(i[s], a) } } function l(e) { var t = e && e.target && e.target.dom7eventdata || []; t.indexof(e) < 0 && t.unshift(e), n.apply(this, t) } "function" == typeof t[1] && (i = (e = t)[0], n = e[1], s = e[2], r = void 0), s || (s = !1); for(var d, p = i.split(" "), c = 0; c < this.length; c += 1) { var u = this[c]; if(r) for(d = 0; d < p.length; d += 1) { var h = p[d]; u.dom7livelisteners || (u.dom7livelisteners = {}), u.dom7livelisteners[h] || (u.dom7livelisteners[h] = []), u.dom7livelisteners[h].push({ listener: n, proxylistener: o }), u.addeventlistener(h, o, s) } else for(d = 0; d < p.length; d += 1) { var v = p[d]; u.dom7listeners || (u.dom7listeners = {}), u.dom7listeners[v] || (u.dom7listeners[v] = []), u.dom7listeners[v].push({ listener: n, proxylistener: l }), u.addeventlistener(v, l, s) } } return this }, off: function() { for(var e, t = [], a = arguments.length; a--;) t[a] = arguments[a]; var i = t[0], s = t[1], r = t[2], n = t[3]; "function" == typeof t[1] && (i = (e = t)[0], r = e[1], n = e[2], s = void 0), n || (n = !1); for(var o = i.split(" "), l = 0; l < o.length; l += 1) for(var d = o[l], p = 0; p < this.length; p += 1) { var c = this[p], u = void 0; if(!s && c.dom7listeners ? u = c.dom7listeners[d] : s && c.dom7livelisteners && (u = c.dom7livelisteners[d]), u && u.length) for(var h = u.length - 1; 0 <= h; h -= 1) { var v = u[h]; r && v.listener === r ? (c.removeeventlistener(d, v.proxylistener, n), u.splice(h, 1)) : r && v.listener && v.listener.dom7proxy && v.listener.dom7proxy === r ? (c.removeeventlistener(d, v.proxylistener, n), u.splice(h, 1)) : r || (c.removeeventlistener(d, v.proxylistener, n), u.splice(h, 1)) } } return this }, trigger: function() { for(var e = [], t = arguments.length; t--;) e[t] = arguments[t]; for(var a = e[0].split(" "), i = e[1], s = 0; s < a.length; s += 1) for(var r = a[s], n = 0; n < this.length; n += 1) { var o = this[n], l = void 0; try { l = new j.customevent(r, { detail: i, bubbles: !0, cancelable: !0 }) } catch(e) { (l = f.createevent("event")).initevent(r, !0, !0), l.detail = i } o.dom7eventdata = e.filter(function(e, t) { return 0 < t }), o.dispatchevent(l), o.dom7eventdata = [], delete o.dom7eventdata } return this }, transitionend: function(t) { var a, i = ["webkittransitionend", "transitionend"], s = this; function r(e) { if(e.target === this) for(t.call(this, e), a = 0; a < i.length; a += 1) s.off(i[a], r) } if(t) for(a = 0; a < i.length; a += 1) s.on(i[a], r); return this }, outerwidth: function(e) { if(0 < this.length) { if(e) { var t = this.styles(); return this[0].offsetwidth + parsefloat(t.getpropertyvalue("margin-right")) + parsefloat(t.getpropertyvalue("margin-left")) } return this[0].offsetwidth } return null }, outerheight: function(e) { if(0 < this.length) { if(e) { var t = this.styles(); return this[0].offsetheight + parsefloat(t.getpropertyvalue("margin-top")) + parsefloat(t.getpropertyvalue("margin-bottom")) } return this[0].offsetheight } return null }, offset: function() { if(0 < this.length) { var e = this[0], t = e.getboundingclientrect(), a = f.body, i = e.clienttop || a.clienttop || 0, s = e.clientleft || a.clientleft || 0, r = e === j ? j.scrolly : e.scrolltop, n = e === j ? j.scrollx : e.scrollleft; return { top: t.top + r - i, left: t.left + n - s } } return null }, css: function(e, t) { var a; if(1 === arguments.length) { if("string" != typeof e) { for(a = 0; a < this.length; a += 1) for(var i in e) this[a].style[i] = e[i]; return this } if(this[0]) return j.getcomputedstyle(this[0], null).getpropertyvalue(e) } if(2 === arguments.length && "string" == typeof e) { for(a = 0; a < this.length; a += 1) this[a].style[e] = t; return this } return this }, each: function(e) { if(!e) return this; for(var t = 0; t < this.length; t += 1) if(!1 === e.call(this[t], t, this[t])) return this; return this }, html: function(e) { if(void 0 === e) return this[0] ? this[0].innerhtml : void 0; for(var t = 0; t < this.length; t += 1) this[t].innerhtml = e; return this }, text: function(e) { if(void 0 === e) return this[0] ? this[0].textcontent.trim() : null; for(var t = 0; t < this.length; t += 1) this[t].textcontent = e; return this }, is: function(e) { var t, a, i = this[0]; if(!i || void 0 === e) return !1; if("string" == typeof e) { if(i.matches) return i.matches(e); if(i.webkitmatchesselector) return i.webkitmatchesselector(e); if(i.msmatchesselector) return i.msmatchesselector(e); for(t = l(e), a = 0; a < t.length; a += 1) if(t[a] === i) return !0; return !1 } if(e === f) return i === f; if(e === j) return i === j; if(e.nodetype || e instanceof l) { for(t = e.nodetype ? [e] : e, a = 0; a < t.length; a += 1) if(t[a] === i) return !0; return !1 } return !1 }, index: function() { var e, t = this[0]; if(t) { for(e = 0; null !== (t = t.previoussibling);) 1 === t.nodetype && (e += 1); return e } }, eq: function(e) { if(void 0 === e) return this; var t, a = this.length; return new l(a - 1 < e ? [] : e < 0 ? (t = a + e) < 0 ? [] : [this[t]] : [this[e]]) }, append: function() { for(var e, t = [], a = arguments.length; a--;) t[a] = arguments[a]; for(var i = 0; i < t.length; i += 1) { e = t[i]; for(var s = 0; s < this.length; s += 1) if("string" == typeof e) { var r = f.createelement("div"); for(r.innerhtml = e; r.firstchild;) this[s].appendchild(r.firstchild) } else if(e instanceof l) for(var n = 0; n < e.length; n += 1) this[s].appendchild(e[n]); else this[s].appendchild(e) } return this }, prepend: function(e) { var t, a; for(t = 0; t < this.length; t += 1) if("string" == typeof e) { var i = f.createelement("div"); for(i.innerhtml = e, a = i.childnodes.length - 1; 0 <= a; a -= 1) this[t].insertbefore(i.childnodes[a], this[t].childnodes[0]) } else if(e instanceof l) for(a = 0; a < e.length; a += 1) this[t].insertbefore(e[a], this[t].childnodes[0]); else this[t].insertbefore(e, this[t].childnodes[0]); return this }, next: function(e) { return 0 < this.length ? e ? this[0].nextelementsibling && l(this[0].nextelementsibling).is(e) ? new l([this[0].nextelementsibling]) : new l([]) : this[0].nextelementsibling ? new l([this[0].nextelementsibling]) : new l([]) : new l([]) }, nextall: function(e) { var t = [], a = this[0]; if(!a) return new l([]); for(; a.nextelementsibling;) { var i = a.nextelementsibling; e ? l(i).is(e) && t.push(i) : t.push(i), a = i } return new l(t) }, prev: function(e) { if(0 < this.length) { var t = this[0]; return e ? t.previouselementsibling && l(t.previouselementsibling).is(e) ? new l([t.previouselementsibling]) : new l([]) : t.previouselementsibling ? new l([t.previouselementsibling]) : new l([]) } return new l([]) }, prevall: function(e) { var t = [], a = this[0]; if(!a) return new l([]); for(; a.previouselementsibling;) { var i = a.previouselementsibling; e ? l(i).is(e) && t.push(i) : t.push(i), a = i } return new l(t) }, parent: function(e) { for(var t = [], a = 0; a < this.length; a += 1) null !== this[a].parentnode && (e ? l(this[a].parentnode).is(e) && t.push(this[a].parentnode) : t.push(this[a].parentnode)); return l(r(t)) }, parents: function(e) { for(var t = [], a = 0; a < this.length; a += 1) for(var i = this[a].parentnode; i;) e ? l(i).is(e) && t.push(i) : t.push(i), i = i.parentnode; return l(r(t)) }, closest: function(e) { var t = this; return void 0 === e ? new l([]) : (t.is(e) || (t = t.parents(e).eq(0)), t) }, find: function(e) { for(var t = [], a = 0; a < this.length; a += 1) for(var i = this[a].queryselectorall(e), s = 0; s < i.length; s += 1) t.push(i[s]); return new l(t) }, children: function(e) { for(var t = [], a = 0; a < this.length; a += 1) for(var i = this[a].childnodes, s = 0; s < i.length; s += 1) e ? 1 === i[s].nodetype && l(i[s]).is(e) && t.push(i[s]) : 1 === i[s].nodetype && t.push(i[s]); return new l(r(t)) }, remove: function() { for(var e = 0; e < this.length; e += 1) this[e].parentnode && this[e].parentnode.removechild(this[e]); return this }, add: function() { for(var e = [], t = arguments.length; t--;) e[t] = arguments[t]; var a, i; for(a = 0; a < e.length; a += 1) { var s = l(e[a]); for(i = 0; i < s.length; i += 1) this[this.length] = s[i], this.length += 1 } return this }, styles: function() { return this[0] ? j.getcomputedstyle(this[0], null) : {} } }; object.keys(t).foreach(function(e) { l.fn[e] = t[e] }); var e, a, i, s, ee = { deleteprops: function(e) { var t = e; object.keys(t).foreach(function(e) { try { t[e] = null } catch(e) {} try { delete t[e] } catch(e) {} }) }, nexttick: function(e, t) { return void 0 === t && (t = 0), settimeout(e, t) }, now: function() { return date.now() }, gettranslate: function(e, t) { var a, i, s; void 0 === t && (t = "x"); var r = j.getcomputedstyle(e, null); return j.webkitcssmatrix ? (6 < (i = r.transform || r.webkittransform).split(",").length && (i = i.split(", ").map(function(e) { return e.replace(",", ".") }).join(", ")), s = new j.webkitcssmatrix("none" === i ? "" : i)) : a = (s = r.moztransform || r.otransform || r.mstransform || r.mstransform || r.transform || r.getpropertyvalue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).tostring().split(","), "x" === t && (i = j.webkitcssmatrix ? s.m41 : 16 === a.length ? parsefloat(a[12]) : parsefloat(a[4])), "y" === t && (i = j.webkitcssmatrix ? s.m42 : 16 === a.length ? parsefloat(a[13]) : parsefloat(a[5])), i || 0 }, parseurlquery: function(e) { var t, a, i, s, r = {}, n = e || j.location.href; if("string" == typeof n && n.length) for(s = (a = (n = -1 < n.indexof("?") ? n.replace(/\s*\?/, "") : "").split("&").filter(function(e) { return "" !== e })).length, t = 0; t < s; t += 1) i = a[t].replace(/#\s+/g, "").split("="), r[decodeuricomponent(i[0])] = void 0 === i[1] ? void 0 : decodeuricomponent(i[1]) || ""; return r }, isobject: function(e) { return "object" == typeof e && null !== e && e.constructor && e.constructor === object }, extend: function() { for(var e = [], t = arguments.length; t--;) e[t] = arguments[t]; for(var a = object(e[0]), i = 1; i < e.length; i += 1) { var s = e[i]; if(null != s) for(var r = object.keys(object(s)), n = 0, o = r.length; n < o; n += 1) { var l = r[n], d = object.getownpropertydescriptor(s, l); void 0 !== d && d.enumerable && (ee.isobject(a[l]) && ee.isobject(s[l]) ? ee.extend(a[l], s[l]) : !ee.isobject(a[l]) && ee.isobject(s[l]) ? (a[l] = {}, ee.extend(a[l], s[l])) : a[l] = s[l]) } } return a } }, te = (i = f.createelement("div"), { touch: j.modernizr && !0 === j.modernizr.touch || !!(0 < j.navigator.maxtouchpoints || "ontouchstart" in j || j.documenttouch && f instanceof j.documenttouch), pointerevents: !!(j.navigator.pointerenabled || j.pointerevent || "maxtouchpoints" in j.navigator && 0 < j.navigator.maxtouchpoints), prefixedpointerevents: !!j.navigator.mspointerenabled, transition: (a = i.style, "transition" in a || "webkittransition" in a || "moztransition" in a), transforms3d: j.modernizr && !0 === j.modernizr.csstransforms3d || (e = i.style, "webkitperspective" in e || "mozperspective" in e || "operspective" in e || "msperspective" in e || "perspective" in e), flexbox: function() { for(var e = i.style, t = "alignitems webkitalignitems webkitboxalign msflexalign mozboxalign webkitflexdirection msflexdirection mozboxdirection mozboxorient webkitboxdirection webkitboxorient".split(" "), a = 0; a < t.length; a += 1) if(t[a] in e) return !0; return !1 }(), observer: "mutationobserver" in j || "webkitmutationobserver" in j, passivelistener: function() { var e = !1; try { var t = object.defineproperty({}, "passive", { get: function() { e = !0 } }); j.addeventlistener("testpassivelistener", null, t) } catch(e) {} return e }(), gestures: "ongesturestart" in j }), i = { isie: !!j.navigator.useragent.match(/trident/g) || !!j.navigator.useragent.match(/msie/g), isedge: !!j.navigator.useragent.match(/edge/g), issafari: (s = j.navigator.useragent.tolowercase(), 0 <= s.indexof("safari") && s.indexof("chrome") < 0 && s.indexof("android") < 0), isuiwebview: /(iphone|ipod|ipad).*applewebkit(?!.*safari)/i.test(j.navigator.useragent) }, n = function(e) { void 0 === e && (e = {}); var t = this; t.params = e, t.eventslisteners = {}, t.params && t.params.on && object.keys(t.params.on).foreach(function(e) { t.on(e, t.params.on[e]) }) }, o = { components: { configurable: !0 } }; n.prototype.on = function(e, t, a) { var i = this; if("function" != typeof t) return i; var s = a ? "unshift" : "push"; return e.split(" ").foreach(function(e) { i.eventslisteners[e] || (i.eventslisteners[e] = []), i.eventslisteners[e][s](t) }), i }, n.prototype.once = function(a, i, e) { var s = this; if("function" != typeof i) return s; function r() { for(var e = [], t = arguments.length; t--;) e[t] = arguments[t]; i.apply(s, e), s.off(a, r), r.f7proxy && delete r.f7proxy } return r.f7proxy = i, s.on(a, r, e) }, n.prototype.off = function(e, i) { var s = this; return s.eventslisteners && e.split(" ").foreach(function(a) { void 0 === i ? s.eventslisteners[a] = [] : s.eventslisteners[a] && s.eventslisteners[a].length && s.eventslisteners[a].foreach(function(e, t) { (e === i || e.f7proxy && e.f7proxy === i) && s.eventslisteners[a].splice(t, 1) }) }), s }, n.prototype.emit = function() { for(var e = [], t = arguments.length; t--;) e[t] = arguments[t]; var a, i, s, r = this; return r.eventslisteners && ("string" == typeof e[0] || array.isarray(e[0]) ? (a = e[0], i = e.slice(1, e.length), s = r) : (a = e[0].events, i = e[0].data, s = e[0].context || r), (array.isarray(a) ? a : a.split(" ")).foreach(function(e) { if(r.eventslisteners && r.eventslisteners[e]) { var t = []; r.eventslisteners[e].foreach(function(e) { t.push(e) }), t.foreach(function(e) { e.apply(s, i) }) } })), r }, n.prototype.usemodulesparams = function(a) { var i = this; i.modules && object.keys(i.modules).foreach(function(e) { var t = i.modules[e]; t.params && ee.extend(a, t.params) }) }, n.prototype.usemodules = function(i) { void 0 === i && (i = {}); var s = this; s.modules && object.keys(s.modules).foreach(function(e) { var a = s.modules[e], t = i[e] || {}; a.instance && object.keys(a.instance).foreach(function(e) { var t = a.instance[e]; s[e] = "function" == typeof t ? t.bind(s) : t }), a.on && s.on && object.keys(a.on).foreach(function(e) { s.on(e, a.on[e]) }), a.create && a.create.bind(s)(t) }) }, o.components.set = function(e) { this.use && this.use(e) }, n.installmodule = function(t) { for(var e = [], a = arguments.length - 1; 0 < a--;) e[a] = arguments[a + 1]; var i = this; i.prototype.modules || (i.prototype.modules = {}); var s = t.name || object.keys(i.prototype.modules).length + "_" + ee.now(); return(i.prototype.modules[s] = t).proto && object.keys(t.proto).foreach(function(e) { i.prototype[e] = t.proto[e] }), t.static && object.keys(t.static).foreach(function(e) { i[e] = t.static[e] }), t.install && t.install.apply(i, e), i }, n.use = function(e) { for(var t = [], a = arguments.length - 1; 0 < a--;) t[a] = arguments[a + 1]; var i = this; return array.isarray(e) ? (e.foreach(function(e) { return i.installmodule(e) }), i) : i.installmodule.apply(i, [e].concat(t)) }, object.defineproperties(n, o); var d = { updatesize: function() { var e, t, a = this, i = a.$el; e = void 0 !== a.params.width ? a.params.width : i[0].clientwidth, t = void 0 !== a.params.height ? a.params.height : i[0].clientheight, 0 === e && a.ishorizontal() || 0 === t && a.isvertical() || (e = e - parseint(i.css("padding-left"), 10) - parseint(i.css("padding-right"), 10), t = t - parseint(i.css("padding-top"), 10) - parseint(i.css("padding-bottom"), 10), ee.extend(a, { width: e, height: t, size: a.ishorizontal() ? e : t })) }, updateslides: function() { var e = this, t = e.params, a = e.$wrapperel, i = e.size, s = e.rtltranslate, r = e.wrongrtl, n = e.virtual && t.virtual.enabled, o = n ? e.virtual.slides.length : e.slides.length, l = a.children("." + e.params.slideclass), d = n ? e.virtual.slides.length : l.length, p = [], c = [], u = [], h = t.slidesoffsetbefore; "function" == typeof h && (h = t.slidesoffsetbefore.call(e)); var v = t.slidesoffsetafter; "function" == typeof v && (v = t.slidesoffsetafter.call(e)); var f = e.snapgrid.length, m = e.snapgrid.length, g = t.spacebetween, b = -h, w = 0, y = 0; if(void 0 !== i) { var x, t; "string" == typeof g && 0 <= g.indexof("%") && (g = parsefloat(g.replace("%", "")) / 100 * i), e.virtualsize = -g, s ? l.css({ marginleft: "", margintop: "" }) : l.css({ marginright: "", marginbottom: "" }), 1 < t.slidespercolumn && (x = math.floor(d / t.slidespercolumn) === d / e.params.slidespercolumn ? d : math.ceil(d / t.slidespercolumn) * t.slidespercolumn, "auto" !== t.slidesperview && "row" === t.slidespercolumnfill && (x = math.max(x, t.slidesperview * t.slidespercolumn))); for(var e, s = t.slidespercolumn, c = x / s, m = math.floor(d / t.slidespercolumn), z = 0; z < d; z += 1) { t = 0; var p = l.eq(z); if(1 < t.slidespercolumn) { var k = void 0, $ = void 0, l = void 0; "column" === t.slidespercolumnfill ? (l = z - ($ = math.floor(z / s)) * s, (m < $ || $ === m && l === s - 1) && s <= (l += 1) && (l = 0, $ += 1), k = $ + l * x / s, p.css({ "-webkit-box-ordinal-group": k, "-moz-box-ordinal-group": k, "-ms-flex-order": k, "-webkit-order": k, order: k })) : $ = z - (l = math.floor(z / c)) * c, p.css("margin-" + (e.ishorizontal() ? "top" : "left"), 0 !== l && t.spacebetween && t.spacebetween + "px").attr("data-swiper-column", $).attr("data-swiper-row", l) } if("none" !== p.css("display")) { if("auto" === t.slidesperview) { var i = j.getcomputedstyle(p[0], null), d = p[0].style.transform, o = p[0].style.webkittransform; if(d && (p[0].style.transform = "none"), o && (p[0].style.webkittransform = "none"), t.roundlengths) t = e.ishorizontal() ? p.outerwidth(!0) : p.outerheight(!0); else if(e.ishorizontal()) { var a = parsefloat(i.getpropertyvalue("width")), h = parsefloat(i.getpropertyvalue("padding-left")), n = parsefloat(i.getpropertyvalue("padding-right")), g = parsefloat(i.getpropertyvalue("margin-left")), b = parsefloat(i.getpropertyvalue("margin-right")), x = i.getpropertyvalue("box-sizing"); t = x && "border-box" === x ? a + g + b : a + h + n + g + b } else { var y = parsefloat(i.getpropertyvalue("height")), v = parsefloat(i.getpropertyvalue("padding-top")), f = parsefloat(i.getpropertyvalue("padding-bottom")), r = parsefloat(i.getpropertyvalue("margin-top")), q = parsefloat(i.getpropertyvalue("margin-bottom")), w = i.getpropertyvalue("box-sizing"); t = w && "border-box" === w ? y + r + q : y + v + f + r + q } d && (p[0].style.transform = d), o && (p[0].style.webkittransform = o), t.roundlengths && (t = math.floor(t)) } else t = (i - (t.slidesperview - 1) * g) / t.slidesperview, t.roundlengths && (t = math.floor(t)), l[z] && (e.ishorizontal() ? l[z].style.width = t + "px" : l[z].style.height = t + "px"); l[z] && (l[z].swiperslidesize = t), u.push(t), t.centeredslides ? (b = b + t / 2 + w / 2 + g, 0 === w && 0 !== z && (b = b - i / 2 - g), 0 === z && (b = b - i / 2 - g), math.abs(b) < .001 && (b = 0), t.roundlengths && (b = math.floor(b)), y % t.slidespergroup == 0 && p.push(b), c.push(b)) : (t.roundlengths && (b = math.floor(b)), y % t.slidespergroup == 0 && p.push(b), c.push(b), b = b + t + g), e.virtualsize += t + g, w = t, y += 1 } } if(e.virtualsize = math.max(e.virtualsize, i) + v, s && r && ("slide" === t.effect || "coverflow" === t.effect) && a.css({ width: e.virtualsize + t.spacebetween + "px" }), te.flexbox && !t.setwrappersize || (e.ishorizontal() ? a.css({ width: e.virtualsize + t.spacebetween + "px" }) : a.css({ height: e.virtualsize + t.spacebetween + "px" })), 1 < t.slidespercolumn && (e.virtualsize = (t + t.spacebetween) * x, e.virtualsize = math.ceil(e.virtualsize / t.slidespercolumn) - t.spacebetween, e.ishorizontal() ? a.css({ width: e.virtualsize + t.spacebetween + "px" }) : a.css({ height: e.virtualsize + t.spacebetween + "px" }), t.centeredslides)) { e = []; for(var j = 0; j < p.length; j += 1) { var u = p[j]; t.roundlengths && (u = math.floor(u)), p[j] < e.virtualsize + p[0] && e.push(u) } p = e } if(!t.centeredslides) { e = []; for(var k = 0; k < p.length; k += 1) { var _ = p[k]; t.roundlengths && (_ = math.floor(_)), p[k] <= e.virtualsize - i && e.push(_) } p = e, 1 < math.floor(e.virtualsize - i) - math.floor(p[p.length - 1]) && p.push(e.virtualsize - i) } if(0 === p.length && (p = [0]), 0 !== t.spacebetween && (e.ishorizontal() ? s ? l.css({ marginleft: g + "px" }) : l.css({ marginright: g + "px" }) : l.css({ marginbottom: g + "px" })), t.centerinsufficientslides) { var z = 0; if(u.foreach(function(e) { z += e + (t.spacebetween ? t.spacebetween : 0) }), (z -= t.spacebetween) < i) { var q = (i - z) / 2; p.foreach(function(e, t) { p[t] = e - q }), c.foreach(function(e, t) { c[t] = e + q }) } } ee.extend(e, { slides: l, snapgrid: p, slidesgrid: c, slidessizesgrid: u }), d !== o && e.emit("slideslengthchange"), p.length !== f && (e.params.watchoverflow && e.checkoverflow(), e.emit("snapgridlengthchange")), c.length !== m && e.emit("slidesgridlengthchange"), (t.watchslidesprogress || t.watchslidesvisibility) && e.updateslidesoffset() } }, updateautoheight: function(e) { var t, a = this, i = [], s = 0; if("number" == typeof e ? a.settransition(e) : !0 === e && a.settransition(a.params.speed), "auto" !== a.params.slidesperview && 1 < a.params.slidesperview) for(t = 0; t < math.ceil(a.params.slidesperview); t += 1) { var r = a.activeindex + t; if(r > a.slides.length) break; i.push(a.slides.eq(r)[0]) } else i.push(a.slides.eq(a.activeindex)[0]); for(t = 0; t < i.length; t += 1) if(void 0 !== i[t]) { var n = i[t].offsetheight; s = s < n ? n : s } s && a.$wrapperel.css("height", s + "px") }, updateslidesoffset: function() { for(var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperslideoffset = this.ishorizontal() ? e[t].offsetleft : e[t].offsettop }, updateslidesprogress: function(e) { void 0 === e && (e = this && this.translate || 0); var t = this, a = t.params, i = t.slides, s = t.rtltranslate; if(0 !== i.length) { void 0 === i[0].swiperslideoffset && t.updateslidesoffset(); var r = -e; s && (r = e), i.removeclass(a.slidevisibleclass), t.visibleslidesindexes = [], t.visibleslides = []; for(var n = 0; n < i.length; n += 1) { var o = i[n], l = (r + (a.centeredslides ? t.mintranslate() : 0) - o.swiperslideoffset) / (o.swiperslidesize + a.spacebetween); if(a.watchslidesvisibility) { var d = -(r - o.swiperslideoffset), p = d + t.slidessizesgrid[n]; (0 <= d && d < t.size || 0 < p && p <= t.size || d <= 0 && p >= t.size) && (t.visibleslides.push(o), t.visibleslidesindexes.push(n), i.eq(n).addclass(a.slidevisibleclass)) } o.progress = s ? -l : l } t.visibleslides = l(t.visibleslides) } }, updateprogress: function(e) { void 0 === e && (e = this && this.translate || 0); var t = this, a = t.params, i = t.maxtranslate() - t.mintranslate(), s = t.progress, r = t.isbeginning, n = t.isend, o = r, l = n; 0 === i ? n = r = !(s = 0) : (r = (s = (e - t.mintranslate()) / i) <= 0, n = 1 <= s), ee.extend(t, { progress: s, isbeginning: r, isend: n }), (a.watchslidesprogress || a.watchslidesvisibility) && t.updateslidesprogress(e), r && !o && t.emit("reachbeginning toedge"), n && !l && t.emit("reachend toedge"), (o && !r || l && !n) && t.emit("fromedge"), t.emit("progress", s) }, updateslidesclasses: function() { var e, t = this, a = t.slides, i = t.params, s = t.$wrapperel, r = t.activeindex, n = t.realindex, o = t.virtual && i.virtual.enabled; a.removeclass(i.slideactiveclass + " " + i.slidenextclass + " " + i.slideprevclass + " " + i.slideduplicateactiveclass + " " + i.slideduplicatenextclass + " " + i.slideduplicateprevclass), (e = o ? t.$wrapperel.find("." + i.slideclass + '[data-swiper-slide-index="' + r + '"]') : a.eq(r)).addclass(i.slideactiveclass), i.loop && (e.hasclass(i.slideduplicateclass) ? s.children("." + i.slideclass + ":not(." + i.slideduplicateclass + ')[data-swiper-slide-index="' + n + '"]').addclass(i.slideduplicateactiveclass) : s.children("." + i.slideclass + "." + i.slideduplicateclass + '[data-swiper-slide-index="' + n + '"]').addclass(i.slideduplicateactiveclass)); var l = e.nextall("." + i.slideclass).eq(0).addclass(i.slidenextclass); i.loop && 0 === l.length && (l = a.eq(0)).addclass(i.slidenextclass); var d = e.prevall("." + i.slideclass).eq(0).addclass(i.slideprevclass); i.loop && 0 === d.length && (d = a.eq(-1)).addclass(i.slideprevclass), i.loop && (l.hasclass(i.slideduplicateclass) ? s.children("." + i.slideclass + ":not(." + i.slideduplicateclass + ')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addclass(i.slideduplicatenextclass) : s.children("." + i.slideclass + "." + i.slideduplicateclass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addclass(i.slideduplicatenextclass), d.hasclass(i.slideduplicateclass) ? s.children("." + i.slideclass + ":not(." + i.slideduplicateclass + ')[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addclass(i.slideduplicateprevclass) : s.children("." + i.slideclass + "." + i.slideduplicateclass + '[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addclass(i.slideduplicateprevclass)) }, updateactiveindex: function(e) { var t, a = this, i = a.rtltranslate ? a.translate : -a.translate, s = a.slidesgrid, r = a.snapgrid, n = a.params, o = a.activeindex, l = a.realindex, d = a.snapindex, p = e; if(void 0 === p) { for(var c = 0; c < s.length; c += 1) void 0 !== s[c + 1] ? i >= s[c] && i < s[c + 1] - (s[c + 1] - s[c]) / 2 ? p = c : i >= s[c] && i < s[c + 1] && (p = c + 1) : i >= s[c] && (p = c); n.normalizeslideindex && (p < 0 || void 0 === p) && (p = 0) } if((t = 0 <= r.indexof(i) ? r.indexof(i) : math.floor(p / n.slidespergroup)) >= r.length && (t = r.length - 1), p !== o) { var u = parseint(a.slides.eq(p).attr("data-swiper-slide-index") || p, 10); ee.extend(a, { snapindex: t, realindex: u, previousindex: o, activeindex: p }), a.emit("activeindexchange"), a.emit("snapindexchange"), l !== u && a.emit("realindexchange"), a.emit("slidechange") } else t !== d && (a.snapindex = t, a.emit("snapindexchange")) }, updateclickedslide: function(e) { var t = this, a = t.params, i = l(e.target).closest("." + a.slideclass)[0], s = !1; if(i) for(var r = 0; r < t.slides.length; r += 1) t.slides[r] === i && (s = !0); if(!i || !s) return t.clickedslide = void 0, void(t.clickedindex = void 0); t.clickedslide = i, t.virtual && t.params.virtual.enabled ? t.clickedindex = parseint(l(i).attr("data-swiper-slide-index"), 10) : t.clickedindex = l(i).index(), a.slidetoclickedslide && void 0 !== t.clickedindex && t.clickedindex !== t.activeindex && t.slidetoclickedslide() } }; var p = { gettranslate: function(e) { void 0 === e && (e = this.ishorizontal() ? "x" : "y"); var t = this.params, a = this.rtltranslate, i = this.translate, s = this.$wrapperel; if(t.virtualtranslate) return a ? -i : i; var r = ee.gettranslate(s[0], e); return a && (r = -r), r || 0 }, settranslate: function(e, t) { var a = this, i = a.rtltranslate, s = a.params, r = a.$wrapperel, n = a.progress, o = 0, l = 0; a.ishorizontal() ? o = i ? -e : e : l = e, s.roundlengths && (o = math.floor(o), l = math.floor(l)), s.virtualtranslate || (te.transforms3d ? r.transform("translate3d(" + o + "px, " + l + "px, 0px)") : r.transform("translate(" + o + "px, " + l + "px)")), a.previoustranslate = a.translate, a.translate = a.ishorizontal() ? o : l; var d = a.maxtranslate() - a.mintranslate(); (0 === d ? 0 : (e - a.mintranslate()) / d) !== n && a.updateprogress(e), a.emit("settranslate", a.translate, t) }, mintranslate: function() { return -this.snapgrid[0] }, maxtranslate: function() { return -this.snapgrid[this.snapgrid.length - 1] } }; var c = { settransition: function(e, t) { this.$wrapperel.transition(e), this.emit("settransition", e, t) }, transitionstart: function(e, t) { void 0 === e && (e = !0); var a = this, i = a.activeindex, s = a.params, r = a.previousindex; s.autoheight && a.updateautoheight(); var n = t; if(n || (n = r < i ? "next" : i < r ? "prev" : "reset"), a.emit("transitionstart"), e && i !== r) { if("reset" === n) return void a.emit("slideresettransitionstart"); a.emit("slidechangetransitionstart"), "next" === n ? a.emit("slidenexttransitionstart") : a.emit("slideprevtransitionstart") } }, transitionend: function(e, t) { void 0 === e && (e = !0); var a = this, i = a.activeindex, s = a.previousindex; a.animating = !1, a.settransition(0); var r = t; if(r || (r = s < i ? "next" : i < s ? "prev" : "reset"), a.emit("transitionend"), e && i !== s) { if("reset" === r) return void a.emit("slideresettransitionend"); a.emit("slidechangetransitionend"), "next" === r ? a.emit("slidenexttransitionend") : a.emit("slideprevtransitionend") } } }; var u = { slideto: function(e, t, a, i) { void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0); var s = this, r = e; r < 0 && (r = 0); var n = s.params, o = s.snapgrid, l = s.slidesgrid, d = s.previousindex, p = s.activeindex, c = s.rtltranslate; if(s.animating && n.preventinteractionontransition) return !1; var u = math.floor(r / n.slidespergroup); u >= o.length && (u = o.length - 1), (p || n.initialslide || 0) === (d || 0) && a && s.emit("beforeslidechangestart"); var h, v = -o[u]; if(s.updateprogress(v), n.normalizeslideindex) for(var f = 0; f < l.length; f += 1) - math.floor(100 * v) >= math.floor(100 * l[f]) && (r = f); if(s.initialized && r !== p) { if(!s.allowslidenext && v < s.translate && v < s.mintranslate()) return !1; if(!s.allowslideprev && v > s.translate && v > s.maxtranslate() && (p || 0) !== r) return !1 } return h = p < r ? "next" : r < p ? "prev" : "reset", c && -v === s.translate || !c && v === s.translate ? (s.updateactiveindex(r), n.autoheight && s.updateautoheight(), s.updateslidesclasses(), "slide" !== n.effect && s.settranslate(v), "reset" !== h && (s.transitionstart(a, h), s.transitionend(a, h)), !1) : (0 !== t && te.transition ? (s.settransition(t), s.settranslate(v), s.updateactiveindex(r), s.updateslidesclasses(), s.emit("beforetransitionstart", t, i), s.transitionstart(a, h), s.animating || (s.animating = !0, s.onslidetowrappertransitionend || (s.onslidetowrappertransitionend = function(e) { s && !s.destroyed && e.target === this && (s.$wrapperel[0].removeeventlistener("transitionend", s.onslidetowrappertransitionend), s.$wrapperel[0].removeeventlistener("webkittransitionend", s.onslidetowrappertransitionend), s.onslidetowrappertransitionend = null, delete s.onslidetowrappertransitionend, s.transitionend(a, h)) }), s.$wrapperel[0].addeventlistener("transitionend", s.onslidetowrappertransitionend), s.$wrapperel[0].addeventlistener("webkittransitionend", s.onslidetowrappertransitionend))) : (s.settransition(0), s.settranslate(v), s.updateactiveindex(r), s.updateslidesclasses(), s.emit("beforetransitionstart", t, i), s.transitionstart(a, h), s.transitionend(a, h)), !0) }, slidetoloop: function(e, t, a, i) { void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0); var s = e; return this.params.loop && (s += this.loopedslides), this.slideto(s, t, a, i) }, slidenext: function(e, t, a) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); var i = this, s = i.params, r = i.animating; return s.loop ? !r && (i.loopfix(), i._clientleft = i.$wrapperel[0].clientleft, i.slideto(i.activeindex + s.slidespergroup, e, t, a)) : i.slideto(i.activeindex + s.slidespergroup, e, t, a) }, slideprev: function(e, t, a) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); var i = this, s = i.params, r = i.animating, n = i.snapgrid, o = i.slidesgrid, l = i.rtltranslate; if(s.loop) { if(r) return !1; i.loopfix(), i._clientleft = i.$wrapperel[0].clientleft } function d(e) { return e < 0 ? -math.floor(math.abs(e)) : math.floor(e) } var p, c = d(l ? i.translate : -i.translate), u = n.map(function(e) { return d(e) }), h = (o.map(function(e) { return d(e) }), n[u.indexof(c)], n[u.indexof(c) - 1]); return void 0 !== h && (p = o.indexof(h)) < 0 && (p = i.activeindex - 1), i.slideto(p, e, t, a) }, slidereset: function(e, t, a) { return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideto(this.activeindex, e, t, a) }, slidetoclosest: function(e, t, a) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); var i = this, s = i.activeindex, r = math.floor(s / i.params.slidespergroup); if(r < i.snapgrid.length - 1) { var n = i.rtltranslate ? i.translate : -i.translate, o = i.snapgrid[r]; (i.snapgrid[r + 1] - o) / 2 < n - o && (s = i.params.slidespergroup) } return i.slideto(s, e, t, a) }, slidetoclickedslide: function() { var e, t = this, a = t.params, i = t.$wrapperel, s = "auto" === a.slidesperview ? t.slidesperviewdynamic() : a.slidesperview, r = t.clickedindex; if(a.loop) { if(t.animating) return; e = parseint(l(t.clickedslide).attr("data-swiper-slide-index"), 10), a.centeredslides ? r < t.loopedslides - s / 2 || r > t.slides.length - t.loopedslides + s / 2 ? (t.loopfix(), r = i.children("." + a.slideclass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideduplicateclass + ")").eq(0).index(), ee.nexttick(function() { t.slideto(r) })) : t.slideto(r) : r > t.slides.length - s ? (t.loopfix(), r = i.children("." + a.slideclass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideduplicateclass + ")").eq(0).index(), ee.nexttick(function() { t.slideto(r) })) : t.slideto(r) } else t.slideto(r) } }; var h = { loopcreate: function() { var i = this, e = i.params, t = i.$wrapperel; t.children("." + e.slideclass + "." + e.slideduplicateclass).remove(); var s = t.children("." + e.slideclass); if(e.loopfillgroupwithblank) { var a = e.slidespergroup - s.length % e.slidespergroup; if(a !== e.slidespergroup) { for(var r = 0; r < a; r += 1) { var n = l(f.createelement("div")).addclass(e.slideclass + " " + e.slideblankclass); t.append(n) } s = t.children("." + e.slideclass) } } "auto" !== e.slidesperview || e.loopedslides || (e.loopedslides = s.length), i.loopedslides = parseint(e.loopedslides || e.slidesperview, 10), i.loopedslides += e.loopadditionalslides, i.loopedslides > s.length && (i.loopedslides = s.length); var o = [], l = []; s.each(function(e, t) { var a = l(t); e < i.loopedslides && l.push(t), e < s.length && e >= s.length - i.loopedslides && o.push(t), a.attr("data-swiper-slide-index", e) }); for(var d = 0; d < l.length; d += 1) t.append(l(l[d].clonenode(!0)).addclass(e.slideduplicateclass)); for(var p = o.length - 1; 0 <= p; p -= 1) t.prepend(l(o[p].clonenode(!0)).addclass(e.slideduplicateclass)) }, loopfix: function() { var e, t = this, a = t.params, i = t.activeindex, s = t.slides, r = t.loopedslides, n = t.allowslideprev, o = t.allowslidenext, l = t.snapgrid, d = t.rtltranslate; t.allowslideprev = !0, t.allowslidenext = !0; var p = -l[i] - t.gettranslate(); i < r ? (e = s.length - 3 * r + i, e += r, t.slideto(e, 0, !1, !0) && 0 !== p && t.settranslate((d ? -t.translate : t.translate) - p)) : ("auto" === a.slidesperview && 2 * r <= i || i >= s.length - r) && (e = -s.length + i + r, e += r, t.slideto(e, 0, !1, !0) && 0 !== p && t.settranslate((d ? -t.translate : t.translate) - p)); t.allowslideprev = n, t.allowslidenext = o }, loopdestroy: function() { var e = this.$wrapperel, t = this.params, a = this.slides; e.children("." + t.slideclass + "." + t.slideduplicateclass + ",." + t.slideclass + "." + t.slideblankclass).remove(), a.removeattr("data-swiper-slide-index") } }; var v = { setgrabcursor: function(e) { if(!(te.touch || !this.params.simulatetouch || this.params.watchoverflow && this.islocked)) { var t = this.el; t.style.cursor = "move", t.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", t.style.cursor = e ? "-moz-grabbin" : "-moz-grab", t.style.cursor = e ? "grabbing" : "grab" } }, unsetgrabcursor: function() { te.touch || this.params.watchoverflow && this.islocked || (this.el.style.cursor = "") } }; var m = { appendslide: function(e) { var t = this, a = t.$wrapperel, i = t.params; if(i.loop && t.loopdestroy(), "object" == typeof e && "length" in e) for(var s = 0; s < e.length; s += 1) e[s] && a.append(e[s]); else a.append(e); i.loop && t.loopcreate(), i.observer && te.observer || t.update() }, prependslide: function(e) { var t = this, a = t.params, i = t.$wrapperel, s = t.activeindex; a.loop && t.loopdestroy(); var r = s + 1; if("object" == typeof e && "length" in e) { for(var n = 0; n < e.length; n += 1) e[n] && i.prepend(e[n]); r = s + e.length } else i.prepend(e); a.loop && t.loopcreate(), a.observer && te.observer || t.update(), t.slideto(r, 0, !1) }, addslide: function(e, t) { var a = this, i = a.$wrapperel, s = a.params, r = a.activeindex; s.loop && (r -= a.loopedslides, a.loopdestroy(), a.slides = i.children("." + s.slideclass)); var n = a.slides.length; if(e <= 0) a.prependslide(t); else if(n <= e) a.appendslide(t); else { for(var o = e < r ? r + 1 : r, l = [], d = n - 1; e <= d; d -= 1) { var p = a.slides.eq(d); p.remove(), l.unshift(p) } if("object" == typeof t && "length" in t) { for(var c = 0; c < t.length; c += 1) t[c] && i.append(t[c]); o = e < r ? r + t.length : r } else i.append(t); for(var u = 0; u < l.length; u += 1) i.append(l[u]); s.loop && a.loopcreate(), s.observer && te.observer || a.update(), s.loop ? a.slideto(o + a.loopedslides, 0, !1) : a.slideto(o, 0, !1) } }, removeslide: function(e) { var t = this, a = t.params, i = t.$wrapperel, s = t.activeindex; a.loop && (s -= t.loopedslides, t.loopdestroy(), t.slides = i.children("." + a.slideclass)); var r, n = s; if("object" == typeof e && "length" in e) { for(var o = 0; o < e.length; o += 1) r = e[o], t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1); n = math.max(n, 0) } else r = e, t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1), n = math.max(n, 0); a.loop && t.loopcreate(), a.observer && te.observer || t.update(), a.loop ? t.slideto(n + t.loopedslides, 0, !1) : t.slideto(n, 0, !1) }, removeallslides: function() { for(var e = [], t = 0; t < this.slides.length; t += 1) e.push(t); this.removeslide(e) } }, g = function() { var e = j.navigator.useragent, t = { ios: !1, android: !1, androidchrome: !1, desktop: !1, windows: !1, iphone: !1, ipod: !1, ipad: !1, cordova: j.cordova || j.phonegap, phonegap: j.cordova || j.phonegap }, a = e.match(/(windows phone);?[\s\/]+([\d.]+)?/), i = e.match(/(android);?[\s\/]+([\d.]+)?/), s = e.match(/(ipad).*os\s([\d_]+)/), r = e.match(/(ipod)(.*os\s([\d_]+))?/), n = !s && e.match(/(iphone\sos|ios)\s([\d_]+)/); if(a && (t.os = "windows", t.osversion = a[2], t.windows = !0), i && !a && (t.os = "android", t.osversion = i[2], t.android = !0, t.androidchrome = 0 <= e.tolowercase().indexof("chrome")), (s || n || r) && (t.os = "ios", t.ios = !0), n && !r && (t.osversion = n[2].replace(/_/g, "."), t.iphone = !0), s && (t.osversion = s[2].replace(/_/g, "."), t.ipad = !0), r && (t.osversion = r[3] ? r[3].replace(/_/g, ".") : null, t.iphone = !0), t.ios && t.osversion && 0 <= e.indexof("version/") && "10" === t.osversion.split(".")[0] && (t.osversion = e.tolowercase().split("version/")[1].split(" ")[0]), t.desktop = !(t.os || t.android || t.webview), t.webview = (n || s || r) && e.match(/.*applewebkit(?!.*safari)/i), t.os && "ios" === t.os) { var o = t.osversion.split("."), l = f.queryselector('meta[name="viewport"]'); t.minimalui = !t.webview && (r || n) && (1 * o[0] == 7 ? 1 <= 1 * o[1] : 7 < 1 * o[0]) && l && 0 <= l.getattribute("content").indexof("minimal-ui") } return t.pixelratio = j.devicepixelratio || 1, t }(); function b() { var e = this, t = e.params, a = e.el; if(!a || 0 !== a.offsetwidth) { t.breakpoints && e.setbreakpoint(); var i = e.allowslidenext, s = e.allowslideprev, r = e.snapgrid; if(e.allowslidenext = !0, e.allowslideprev = !0, e.updatesize(), e.updateslides(), t.freemode) { var n = math.min(math.max(e.translate, e.maxtranslate()), e.mintranslate()); e.settranslate(n), e.updateactiveindex(), e.updateslidesclasses(), t.autoheight && e.updateautoheight() } else e.updateslidesclasses(), ("auto" === t.slidesperview || 1 < t.slidesperview) && e.isend && !e.params.centeredslides ? e.slideto(e.slides.length - 1, 0, !1, !0) : e.slideto(e.activeindex, 0, !1, !0); e.allowslideprev = s, e.allowslidenext = i, e.params.watchoverflow && r !== e.snapgrid && e.checkoverflow() } } var w = { init: !0, direction: "horizontal", toucheventstarget: "container", initialslide: 0, speed: 300, preventinteractionontransition: !1, edgeswipedetection: !1, edgeswipethreshold: 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", breakpoints: void 0, breakpointsinverse: !1, spacebetween: 0, slidesperview: 1, slidespercolumn: 1, slidespercolumnfill: "column", slidespergroup: 1, centeredslides: !1, slidesoffsetbefore: 0, slidesoffsetafter: 0, normalizeslideindex: !0, centerinsufficientslides: !1, watchoverflow: !1, roundlengths: !1, touchratio: 1, touchangle: 45, simulatetouch: !0, shortswipes: !0, longswipes: !0, longswipesratio: .5, longswipesms: 300, followfinger: !0, allowtouchmove: !0, threshold: 0, touchmovestoppropagation: !0, touchstartpreventdefault: !0, touchstartforcepreventdefault: !1, touchreleaseonedges: !1, uniquenavelements: !0, resistance: !0, resistanceratio: .85, watchslidesprogress: !1, watchslidesvisibility: !1, grabcursor: !1, preventclicks: !0, preventclickspropagation: !0, slidetoclickedslide: !1, preloadimages: !0, updateonimagesready: !0, loop: !1, loopadditionalslides: 0, loopedslides: null, loopfillgroupwithblank: !1, allowslideprev: !0, allowslidenext: !0, swipehandler: null, noswiping: !0, noswipingclass: "swiper-no-swiping", noswipingselector: null, passivelisteners: !0, containermodifierclass: "swiper-container-", slideclass: "swiper-slide", slideblankclass: "swiper-slide-invisible-blank", slideactiveclass: "swiper-slide-active", slideduplicateactiveclass: "swiper-slide-duplicate-active", slidevisibleclass: "swiper-slide-visible", slideduplicateclass: "swiper-slide-duplicate", slidenextclass: "swiper-slide-next", slideduplicatenextclass: "swiper-slide-duplicate-next", slideprevclass: "swiper-slide-prev", slideduplicateprevclass: "swiper-slide-duplicate-prev", wrapperclass: "swiper-wrapper", runcallbacksoninit: !0 }, y = { update: d, translate: p, transition: c, slide: u, loop: h, grabcursor: v, manipulation: m, events: { attachevents: function() { var e = this, t = e.params, a = e.touchevents, i = e.el, s = e.wrapperel; e.ontouchstart = function(e) { var t = this, a = t.toucheventsdata, i = t.params, s = t.touches; if(!t.animating || !i.preventinteractionontransition) { var r = e; if(r.originalevent && (r = r.originalevent), a.istouchevent = "touchstart" === r.type, (a.istouchevent || !("which" in r) || 3 !== r.which) && !(!a.istouchevent && "button" in r && 0 < r.button || a.istouched && a.ismoved)) if(i.noswiping && l(r.target).closest(i.noswipingselector ? i.noswipingselector : "." + i.noswipingclass)[0]) t.allowclick = !0; else if(!i.swipehandler || l(r).closest(i.swipehandler)[0]) { s.currentx = "touchstart" === r.type ? r.targettouches[0].pagex : r.pagex, s.currenty = "touchstart" === r.type ? r.targettouches[0].pagey : r.pagey; var n = s.currentx, o = s.currenty, l = i.edgeswipedetection || i.iosedgeswipedetection, d = i.edgeswipethreshold || i.iosedgeswipethreshold; if(!l || !(n <= d || n >= j.screen.width - d)) { if(ee.extend(a, { istouched: !0, ismoved: !1, allowtouchcallbacks: !0, isscrolling: void 0, startmoving: void 0 }), s.startx = n, s.starty = o, a.touchstarttime = ee.now(), t.allowclick = !0, t.updatesize(), t.swipedirection = void 0, 0 < i.threshold && (a.allowthresholdmove = !1), "touchstart" !== r.type) { var p = !0; l(r.target).is(a.formelements) && (p = !1), f.activeelement && l(f.activeelement).is(a.formelements) && f.activeelement !== r.target && f.activeelement.blur(); var c = p && t.allowtouchmove && i.touchstartpreventdefault; (i.touchstartforcepreventdefault || c) && r.preventdefault() } t.emit("touchstart", r) } } } }.bind(e), e.ontouchmove = function(e) { var t = this, a = t.toucheventsdata, i = t.params, s = t.touches, r = t.rtltranslate, n = e; if(n.originalevent && (n = n.originalevent), a.istouched) { if(!a.istouchevent || "mousemove" !== n.type) { var o = "touchmove" === n.type ? n.targettouches[0].pagex : n.pagex, l = "touchmove" === n.type ? n.targettouches[0].pagey : n.pagey; if(n.preventedbynestedswiper) return s.startx = o, void(s.starty = l); if(!t.allowtouchmove) return t.allowclick = !1, void(a.istouched && (ee.extend(s, { startx: o, starty: l, currentx: o, currenty: l }), a.touchstarttime = ee.now())); if(a.istouchevent && i.touchreleaseonedges && !i.loop) if(t.isvertical()) { if(l < s.starty && t.translate <= t.maxtranslate() || l > s.starty && t.translate >= t.mintranslate()) return a.istouched = !1, void(a.ismoved = !1) } else if(o < s.startx && t.translate <= t.maxtranslate() || o > s.startx && t.translate >= t.mintranslate()) return; if(a.istouchevent && f.activeelement && n.target === f.activeelement && l(n.target).is(a.formelements)) return a.ismoved = !0, void(t.allowclick = !1); if(a.allowtouchcallbacks && t.emit("touchmove", n), !(n.targettouches && 1 < n.targettouches.length)) { s.currentx = o, s.currenty = l; var d, p = s.currentx - s.startx, c = s.currenty - s.starty; if(!(t.params.threshold && math.sqrt(math.pow(p, 2) + math.pow(c, 2)) < t.params.threshold)) if(void 0 === a.isscrolling && (t.ishorizontal() && s.currenty === s.starty || t.isvertical() && s.currentx === s.startx ? a.isscrolling = !1 : 25 <= p * p + c * c && (d = 180 * math.atan2(math.abs(c), math.abs(p)) / math.pi, a.isscrolling = t.ishorizontal() ? d > i.touchangle : 90 - d > i.touchangle)), a.isscrolling && t.emit("touchmoveopposite", n), void 0 === a.startmoving && (s.currentx === s.startx && s.currenty === s.starty || (a.startmoving = !0)), a.isscrolling) a.istouched = !1; else if(a.startmoving) { t.allowclick = !1, n.preventdefault(), i.touchmovestoppropagation && !i.nested && n.stoppropagation(), a.ismoved || (i.loop && t.loopfix(), a.starttranslate = t.gettranslate(), t.settransition(0), t.animating && t.$wrapperel.trigger("webkittransitionend transitionend"), a.allowmomentumbounce = !1, !i.grabcursor || !0 !== t.allowslidenext && !0 !== t.allowslideprev || t.setgrabcursor(!0), t.emit("sliderfirstmove", n)), t.emit("slidermove", n), a.ismoved = !0; var u = t.ishorizontal() ? p : c; s.diff = u, u *= i.touchratio, r && (u = -u), t.swipedirection = 0 < u ? "prev" : "next", a.currenttranslate = u + a.starttranslate; var h = !0, v = i.resistanceratio; if(i.touchreleaseonedges && (v = 0), 0 < u && a.currenttranslate > t.mintranslate() ? (h = !1, i.resistance && (a.currenttranslate = t.mintranslate() - 1 + math.pow(-t.mintranslate() + a.starttranslate + u, v))) : u < 0 && a.currenttranslate < t.maxtranslate() && (h = !1, i.resistance && (a.currenttranslate = t.maxtranslate() + 1 - math.pow(t.maxtranslate() - a.starttranslate - u, v))), h && (n.preventedbynestedswiper = !0), !t.allowslidenext && "next" === t.swipedirection && a.currenttranslate < a.starttranslate && (a.currenttranslate = a.starttranslate), !t.allowslideprev && "prev" === t.swipedirection && a.currenttranslate > a.starttranslate && (a.currenttranslate = a.starttranslate), 0 < i.threshold) { if(!(math.abs(u) > i.threshold || a.allowthresholdmove)) return void(a.currenttranslate = a.starttranslate); if(!a.allowthresholdmove) return a.allowthresholdmove = !0, s.startx = s.currentx, s.starty = s.currenty, a.currenttranslate = a.starttranslate, void(s.diff = t.ishorizontal() ? s.currentx - s.startx : s.currenty - s.starty) } i.followfinger && ((i.freemode || i.watchslidesprogress || i.watchslidesvisibility) && (t.updateactiveindex(), t.updateslidesclasses()), i.freemode && (0 === a.velocities.length && a.velocities.push({ position: s[t.ishorizontal() ? "startx" : "starty"], time: a.touchstarttime }), a.velocities.push({ position: s[t.ishorizontal() ? "currentx" : "currenty"], time: ee.now() })), t.updateprogress(a.currenttranslate), t.settranslate(a.currenttranslate)) } } } } else a.startmoving && a.isscrolling && t.emit("touchmoveopposite", n) }.bind(e), e.ontouchend = function(e) { var t = this, a = t.toucheventsdata, i = t.params, s = t.touches, r = t.rtltranslate, n = t.$wrapperel, o = t.slidesgrid, l = t.snapgrid, d = e; if(d.originalevent && (d = d.originalevent), a.allowtouchcallbacks && t.emit("touchend", d), a.allowtouchcallbacks = !1, !a.istouched) return a.ismoved && i.grabcursor && t.setgrabcursor(!1), a.ismoved = !1, void(a.startmoving = !1); i.grabcursor && a.ismoved && a.istouched && (!0 === t.allowslidenext || !0 === t.allowslideprev) && t.setgrabcursor(!1); var p, c = ee.now(), u = c - a.touchstarttime; if(t.allowclick && (t.updateclickedslide(d), t.emit("tap", d), u < 300 && 300 < c - a.lastclicktime && (a.clicktimeout && cleartimeout(a.clicktimeout), a.clicktimeout = ee.nexttick(function() { t && !t.destroyed && t.emit("click", d) }, 300)), u < 300 && c - a.lastclicktime < 300 && (a.clicktimeout && cleartimeout(a.clicktimeout), t.emit("doubletap", d))), a.lastclicktime = ee.now(), ee.nexttick(function() { t.destroyed || (t.allowclick = !0) }), !a.istouched || !a.ismoved || !t.swipedirection || 0 === s.diff || a.currenttranslate === a.starttranslate) return a.istouched = !1, a.ismoved = !1, void(a.startmoving = !1); if(a.istouched = !1, a.ismoved = !1, a.startmoving = !1, p = i.followfinger ? r ? t.translate : -t.translate : -a.currenttranslate, i.freemode) { if(p < -t.mintranslate()) return void t.slideto(t.activeindex); if(p > -t.maxtranslate()) return void(t.slides.length < l.length ? t.slideto(l.length - 1) : t.slideto(t.slides.length - 1)); if(i.freemodemomentum) { if(1 < a.velocities.length) { var h = a.velocities.pop(), v = a.velocities.pop(), f = h.position - v.position, m = h.time - v.time; t.velocity = f / m, t.velocity /= 2, math.abs(t.velocity) < i.freemodeminimumvelocity && (t.velocity = 0), (150 < m || 300 < ee.now() - h.time) && (t.velocity = 0) } else t.velocity = 0; t.velocity *= i.freemodemomentumvelocityratio, a.velocities.length = 0; var g = 1e3 * i.freemodemomentumratio, b = t.velocity * g, w = t.translate + b; r && (w = -w); var y, x, t = !1, e = 20 * math.abs(t.velocity) * i.freemodemomentumbounceratio; if(w < t.maxtranslate()) i.freemodemomentumbounce ? (w + t.maxtranslate() < -e && (w = t.maxtranslate() - e), y = t.maxtranslate(), t = !0, a.allowmomentumbounce = !0) : w = t.maxtranslate(), i.loop && i.centeredslides && (x = !0); else if(w > t.mintranslate()) i.freemodemomentumbounce ? (w - t.mintranslate() > e && (w = t.mintranslate() + e), y = t.mintranslate(), t = !0, a.allowmomentumbounce = !0) : w = t.mintranslate(), i.loop && i.centeredslides && (x = !0); else if(i.freemodesticky) { for(var s, c = 0; c < l.length; c += 1) if(l[c] > -w) { s = c; break } w = -(w = math.abs(l[s] - w) < math.abs(l[s - 1] - w) || "next" === t.swipedirection ? l[s] : l[s - 1]) } if(x && t.once("transitionend", function() { t.loopfix() }), 0 !== t.velocity) g = r ? math.abs((-w - t.translate) / t.velocity) : math.abs((w - t.translate) / t.velocity); else if(i.freemodesticky) return void t.slidetoclosest(); i.freemodemomentumbounce && t ? (t.updateprogress(y), t.settransition(g), t.settranslate(w), t.transitionstart(!0, t.swipedirection), t.animating = !0, n.transitionend(function() { t && !t.destroyed && a.allowmomentumbounce && (t.emit("momentumbounce"), t.settransition(i.speed), t.settranslate(y), n.transitionend(function() { t && !t.destroyed && t.transitionend() })) })) : t.velocity ? (t.updateprogress(w), t.settransition(g), t.settranslate(w), t.transitionstart(!0, t.swipedirection), t.animating || (t.animating = !0, n.transitionend(function() { t && !t.destroyed && t.transitionend() }))) : t.updateprogress(w), t.updateactiveindex(), t.updateslidesclasses() } else if(i.freemodesticky) return void t.slidetoclosest(); (!i.freemodemomentum || u >= i.longswipesms) && (t.updateprogress(), t.updateactiveindex(), t.updateslidesclasses()) } else { for(var m = 0, z = t.slidessizesgrid[0], p = 0; p < o.length; p += i.slidespergroup) void 0 !== o[p + i.slidespergroup] ? p >= o[p] && p < o[p + i.slidespergroup] && (z = o[(m = p) + i.slidespergroup] - o[p]) : p >= o[p] && (m = p, z = o[o.length - 1] - o[o.length - 2]); var k = (p - o[m]) / z; if(u > i.longswipesms) { if(!i.longswipes) return void t.slideto(t.activeindex); "next" === t.swipedirection && (k >= i.longswipesratio ? t.slideto(m + i.slidespergroup) : t.slideto(m)), "prev" === t.swipedirection && (k > 1 - i.longswipesratio ? t.slideto(m + i.slidespergroup) : t.slideto(m)) } else { if(!i.shortswipes) return void t.slideto(t.activeindex); "next" === t.swipedirection && t.slideto(m + i.slidespergroup), "prev" === t.swipedirection && t.slideto(m) } } }.bind(e), e.onclick = function(e) { this.allowclick || (this.params.preventclicks && e.preventdefault(), this.params.preventclickspropagation && this.animating && (e.stoppropagation(), e.stopimmediatepropagation())) }.bind(e); var r = "container" === t.toucheventstarget ? i : s, n = !!t.nested; if(te.touch || !te.pointerevents && !te.prefixedpointerevents) { if(te.touch) { var o = !("touchstart" !== a.start || !te.passivelistener || !t.passivelisteners) && { passive: !0, capture: !1 }; r.addeventlistener(a.start, e.ontouchstart, o), r.addeventlistener(a.move, e.ontouchmove, te.passivelistener ? { passive: !1, capture: n } : n), r.addeventlistener(a.end, e.ontouchend, o) }(t.simulatetouch && !g.ios && !g.android || t.simulatetouch && !te.touch && g.ios) && (r.addeventlistener("mousedown", e.ontouchstart, !1), f.addeventlistener("mousemove", e.ontouchmove, n), f.addeventlistener("mouseup", e.ontouchend, !1)) } else r.addeventlistener(a.start, e.ontouchstart, !1), f.addeventlistener(a.move, e.ontouchmove, n), f.addeventlistener(a.end, e.ontouchend, !1); (t.preventclicks || t.preventclickspropagation) && r.addeventlistener("click", e.onclick, !0), e.on(g.ios || g.android ? "resize orientationchange observerupdate" : "resize observerupdate", b, !0) }, detachevents: function() { var e = this, t = e.params, a = e.touchevents, i = e.el, s = e.wrapperel, r = "container" === t.toucheventstarget ? i : s, n = !!t.nested; if(te.touch || !te.pointerevents && !te.prefixedpointerevents) { if(te.touch) { var o = !("ontouchstart" !== a.start || !te.passivelistener || !t.passivelisteners) && { passive: !0, capture: !1 }; r.removeeventlistener(a.start, e.ontouchstart, o), r.removeeventlistener(a.move, e.ontouchmove, n), r.removeeventlistener(a.end, e.ontouchend, o) }(t.simulatetouch && !g.ios && !g.android || t.simulatetouch && !te.touch && g.ios) && (r.removeeventlistener("mousedown", e.ontouchstart, !1), f.removeeventlistener("mousemove", e.ontouchmove, n), f.removeeventlistener("mouseup", e.ontouchend, !1)) } else r.removeeventlistener(a.start, e.ontouchstart, !1), f.removeeventlistener(a.move, e.ontouchmove, n), f.removeeventlistener(a.end, e.ontouchend, !1); (t.preventclicks || t.preventclickspropagation) && r.removeeventlistener("click", e.onclick, !0), e.off(g.ios || g.android ? "resize orientationchange observerupdate" : "resize observerupdate", b) } }, breakpoints: { setbreakpoint: function() { var e = this, t = e.activeindex, a = e.initialized, i = e.loopedslides; void 0 === i && (i = 0); var s = e.params, r = s.breakpoints; if(r && (!r || 0 !== object.keys(r).length)) { var n = e.getbreakpoint(r); if(n && e.currentbreakpoint !== n) { var o = n in r ? r[n] : void 0; o && ["slidesperview", "spacebetween", "slidespergroup"].foreach(function(e) { var t = o[e]; void 0 !== t && (o[e] = "slidesperview" !== e || "auto" !== t && "auto" !== t ? "slidesperview" === e ? parsefloat(t) : parseint(t, 10) : "auto") }); var l = o || e.originalparams, d = l.direction && l.direction !== s.direction, p = s.loop && (l.slidesperview !== s.slidesperview || d); d && a && e.changedirection(), ee.extend(e.params, l), ee.extend(e, { allowtouchmove: e.params.allowtouchmove, allowslidenext: e.params.allowslidenext, allowslideprev: e.params.allowslideprev }), e.currentbreakpoint = n, p && a && (e.loopdestroy(), e.loopcreate(), e.updateslides(), e.slideto(t - i + e.loopedslides, 0, !1)), e.emit("breakpoint", l) } } }, getbreakpoint: function(e) { if(e) { var t = !1, a = []; object.keys(e).foreach(function(e) { a.push(e) }), a.sort(function(e, t) { return parseint(e, 10) - parseint(t, 10) }); for(var i = 0; i < a.length; i += 1) { var s = a[i]; this.params.breakpointsinverse ? s <= j.innerwidth && (t = s) : s >= j.innerwidth && !t && (t = s) } return t || "max" } } }, checkoverflow: { checkoverflow: function() { var e = this, t = e.islocked; e.islocked = 1 === e.snapgrid.length, e.allowslidenext = !e.islocked, e.allowslideprev = !e.islocked, t !== e.islocked && e.emit(e.islocked ? "lock" : "unlock"), t && t !== e.islocked && (e.isend = !1, e.navigation.update()) } }, classes: { addclasses: function() { var t = this.classnames, a = this.params, e = this.rtl, i = this.$el, s = []; s.push("initialized"), s.push(a.direction), a.freemode && s.push("free-mode"), te.flexbox || s.push("no-flexbox"), a.autoheight && s.push("autoheight"), e && s.push("rtl"), 1 < a.slidespercolumn && s.push("multirow"), g.android && s.push("android"), g.ios && s.push("ios"), (i.isie || i.isedge) && (te.pointerevents || te.prefixedpointerevents) && s.push("wp8-" + a.direction), s.foreach(function(e) { t.push(a.containermodifierclass + e) }), i.addclass(t.join(" ")) }, removeclasses: function() { var e = this.$el, t = this.classnames; e.removeclass(t.join(" ")) } }, images: { loadimage: function(e, t, a, i, s, r) { var n; function o() { r && r() } e.complete && s ? o() : t ? ((n = new j.image).onload = o, n.onerror = o, i && (n.sizes = i), a && (n.srcset = a), t && (n.src = t)) : o() }, preloadimages: function() { var e = this; function t() { null != e && e && !e.destroyed && (void 0 !== e.imagesloaded && (e.imagesloaded += 1), e.imagesloaded === e.imagestoload.length && (e.params.updateonimagesready && e.update(), e.emit("imagesready"))) } e.imagestoload = e.$el.find("img"); for(var a = 0; a < e.imagestoload.length; a += 1) { var i = e.imagestoload[a]; e.loadimage(i, i.currentsrc || i.getattribute("src"), i.srcset || i.getattribute("srcset"), i.sizes || i.getattribute("sizes"), !0, t) } } } }, x = {}, t = function(u) { function h() { for(var e, t, s, a = [], i = arguments.length; i--;) a[i] = arguments[i]; 1 === a.length && a[0].constructor && a[0].constructor === object ? s = a[0] : (t = (e = a)[0], s = e[1]), s || (s = {}), s = ee.extend({}, s), t && !s.el && (s.el = t), u.call(this, s), object.keys(y).foreach(function(t) { object.keys(y[t]).foreach(function(e) { h.prototype[e] || (h.prototype[e] = y[t][e]) }) }); var r = this; void 0 === r.modules && (r.modules = {}), object.keys(r.modules).foreach(function(e) { var t = r.modules[e]; if(t.params) { var a = object.keys(t.params)[0], i = t.params[a]; if("object" != typeof i || null === i) return; if(!(a in s && "enabled" in i)) return; !0 === s[a] && (s[a] = { enabled: !0 }), "object" != typeof s[a] || "enabled" in s[a] || (s[a].enabled = !0), s[a] || (s[a] = { enabled: !1 }) } }); var n = ee.extend({}, w); r.usemodulesparams(n), r.params = ee.extend({}, n, x, s), r.originalparams = ee.extend({}, r.params), r.passedparams = ee.extend({}, s); var o = (r.$ = l)(r.params.el); if(t = o[0]) { if(1 < o.length) { var l = []; return o.each(function(e, t) { var a = ee.extend({}, s, { el: t }); l.push(new h(a)) }), l } t.swiper = r, o.data("swiper", r); var d, p, c = o.children("." + r.params.wrapperclass); return ee.extend(r, { $el: o, el: t, $wrapperel: c, wrapperel: c[0], classnames: [], slides: l(), slidesgrid: [], snapgrid: [], slidessizesgrid: [], ishorizontal: function() { return "horizontal" === r.params.direction }, isvertical: function() { return "vertical" === r.params.direction }, rtl: "rtl" === t.dir.tolowercase() || "rtl" === o.css("direction"), rtltranslate: "horizontal" === r.params.direction && ("rtl" === t.dir.tolowercase() || "rtl" === o.css("direction")), wrongrtl: "-webkit-box" === c.css("display"), activeindex: 0, realindex: 0, isbeginning: !0, isend: !1, translate: 0, previoustranslate: 0, progress: 0, velocity: 0, animating: !1, allowslidenext: r.params.allowslidenext, allowslideprev: r.params.allowslideprev, touchevents: (d = ["touchstart", "touchmove", "touchend"], p = ["mousedown", "mousemove", "mouseup"], te.pointerevents ? p = ["pointerdown", "pointermove", "pointerup"] : te.prefixedpointerevents && (p = ["mspointerdown", "mspointermove", "mspointerup"]), r.toucheventstouch = { start: d[0], move: d[1], end: d[2] }, r.toucheventsdesktop = { start: p[0], move: p[1], end: p[2] }, te.touch || !r.params.simulatetouch ? r.toucheventstouch : r.toucheventsdesktop), toucheventsdata: { istouched: void 0, ismoved: void 0, allowtouchcallbacks: void 0, touchstarttime: void 0, isscrolling: void 0, currenttranslate: void 0, starttranslate: void 0, allowthresholdmove: void 0, formelements: "input, select, option, textarea, button, video", lastclicktime: ee.now(), clicktimeout: void 0, velocities: [], allowmomentumbounce: void 0, istouchevent: void 0, startmoving: void 0 }, allowclick: !0, allowtouchmove: r.params.allowtouchmove, touches: { startx: 0, starty: 0, currentx: 0, currenty: 0, diff: 0 }, imagestoload: [], imagesloaded: 0 }), r.usemodules(), r.params.init && r.init(), r } } u && (h.__proto__ = u); var e = { extendeddefaults: { configurable: !0 }, defaults: { configurable: !0 }, class: { configurable: !0 }, $: { configurable: !0 } }; return((h.prototype = object.create(u && u.prototype)).constructor = h).prototype.slidesperviewdynamic = function() { var e = this, t = e.params, a = e.slides, i = e.slidesgrid, s = e.size, r = e.activeindex, n = 1; if(t.centeredslides) { for(var o, l = a[r].swiperslidesize, d = r + 1; d < a.length; d += 1) a[d] && !o && (n += 1, s < (l += a[d].swiperslidesize) && (o = !0)); for(var p = r - 1; 0 <= p; p -= 1) a[p] && !o && (n += 1, s < (l += a[p].swiperslidesize) && (o = !0)) } else for(var c = r + 1; c < a.length; c += 1) i[c] - i[r] < s && (n += 1); return n }, h.prototype.update = function() { var a = this; if(a && !a.destroyed) { var e = a.snapgrid, t = a.params; t.breakpoints && a.setbreakpoint(), a.updatesize(), a.updateslides(), a.updateprogress(), a.updateslidesclasses(), a.params.freemode ? (i(), a.params.autoheight && a.updateautoheight()) : (("auto" === a.params.slidesperview || 1 < a.params.slidesperview) && a.isend && !a.params.centeredslides ? a.slideto(a.slides.length - 1, 0, !1, !0) : a.slideto(a.activeindex, 0, !1, !0)) || i(), t.watchoverflow && e !== a.snapgrid && a.checkoverflow(), a.emit("update") } function i() { var e = a.rtltranslate ? -1 * a.translate : a.translate, t = math.min(math.max(e, a.maxtranslate()), a.mintranslate()); a.settranslate(t), a.updateactiveindex(), a.updateslidesclasses() } }, h.prototype.changedirection = function(a, e) { void 0 === e && (e = !0); var t = this, i = t.params.direction; return a || (a = "horizontal" === i ? "vertical" : "horizontal"), a === i || "horizontal" !== a && "vertical" !== a || ("vertical" === i && (t.$el.removeclass(t.params.containermodifierclass + "vertical wp8-vertical").addclass("" + t.params.containermodifierclass + a), (i.isie || i.isedge) && (te.pointerevents || te.prefixedpointerevents) && t.$el.addclass(t.params.containermodifierclass + "wp8-" + a)), "horizontal" === i && (t.$el.removeclass(t.params.containermodifierclass + "horizontal wp8-horizontal").addclass("" + t.params.containermodifierclass + a), (i.isie || i.isedge) && (te.pointerevents || te.prefixedpointerevents) && t.$el.addclass(t.params.containermodifierclass + "wp8-" + a)), t.params.direction = a, t.slides.each(function(e, t) { "vertical" === a ? t.style.width = "" : t.style.height = "" }), t.emit("changedirection"), e && t.update()), t }, h.prototype.init = function() { var e = this; e.initialized || (e.emit("beforeinit"), e.params.breakpoints && e.setbreakpoint(), e.addclasses(), e.params.loop && e.loopcreate(), e.updatesize(), e.updateslides(), e.params.watchoverflow && e.checkoverflow(), e.params.grabcursor && e.setgrabcursor(), e.params.preloadimages && e.preloadimages(), e.params.loop ? e.slideto(e.params.initialslide + e.loopedslides, 0, e.params.runcallbacksoninit) : e.slideto(e.params.initialslide, 0, e.params.runcallbacksoninit), e.attachevents(), e.initialized = !0, e.emit("init")) }, h.prototype.destroy = function(e, t) { void 0 === e && (e = !0), void 0 === t && (t = !0); var a = this, i = a.params, s = a.$el, r = a.$wrapperel, n = a.slides; return void 0 === a.params || a.destroyed || (a.emit("beforedestroy"), a.initialized = !1, a.detachevents(), i.loop && a.loopdestroy(), t && (a.removeclasses(), s.removeattr("style"), r.removeattr("style"), n && n.length && n.removeclass([i.slidevisibleclass, i.slideactiveclass, i.slidenextclass, i.slideprevclass].join(" ")).removeattr("style").removeattr("data-swiper-slide-index").removeattr("data-swiper-column").removeattr("data-swiper-row")), a.emit("destroy"), object.keys(a.eventslisteners).foreach(function(e) { a.off(e) }), !1 !== e && (a.$el[0].swiper = null, a.$el.data("swiper", null), ee.deleteprops(a)), a.destroyed = !0), null }, h.extenddefaults = function(e) { ee.extend(x, e) }, e.extendeddefaults.get = function() { return x }, e.defaults.get = function() { return w }, e.class.get = function() { return u }, e.$.get = function() { return l }, object.defineproperties(h, e), h }(n), e = { name: "device", proto: { device: g }, static: { device: g } }, s = { name: "support", proto: { support: te }, static: { support: te } }, c = { name: "browser", proto: { browser: i }, static: { browser: i } }, m = { name: "resize", create: function() { var e = this; ee.extend(e, { resize: { resizehandler: function() { e && !e.destroyed && e.initialized && (e.emit("beforeresize"), e.emit("resize")) }, orientationchangehandler: function() { e && !e.destroyed && e.initialized && e.emit("orientationchange") } } }) }, on: { init: function() { j.addeventlistener("resize", this.resize.resizehandler), j.addeventlistener("orientationchange", this.resize.orientationchangehandler) }, destroy: function() { j.removeeventlistener("resize", this.resize.resizehandler), j.removeeventlistener("orientationchange", this.resize.orientationchangehandler) } } }, z = { func: j.mutationobserver || j.webkitmutationobserver, attach: function(e, t) { void 0 === t && (t = {}); var a = this, i = new z.func(function(e) { if(1 !== e.length) { var t = function() { a.emit("observerupdate", e[0]) }; j.requestanimationframe ? j.requestanimationframe(t) : j.settimeout(t, 0) } else a.emit("observerupdate", e[0]) }); i.observe(e, { attributes: void 0 === t.attributes || t.attributes, childlist: void 0 === t.childlist || t.childlist, characterdata: void 0 === t.characterdata || t.characterdata }), a.observer.observers.push(i) }, init: function() { var e = this; if(te.observer && e.params.observer) { if(e.params.observeparents) for(var t = e.$el.parents(), a = 0; a < t.length; a += 1) e.observer.attach(t[a]); e.observer.attach(e.$el[0], { childlist: e.params.observeslidechildren }), e.observer.attach(e.$wrapperel[0], { attributes: !1 }) } }, destroy: function() { this.observer.observers.foreach(function(e) { e.disconnect() }), this.observer.observers = [] } }, p = { name: "observer", params: { observer: !1, observeparents: !1, observeslidechildren: !1 }, create: function() { ee.extend(this, { observer: { init: z.init.bind(this), attach: z.attach.bind(this), destroy: z.destroy.bind(this), observers: [] } }) }, on: { init: function() { this.observer.init() }, destroy: function() { this.observer.destroy() } } }, k = { update: function(e) { var t = this, a = t.params, i = a.slidesperview, s = a.slidespergroup, r = a.centeredslides, n = t.params.virtual, o = n.addslidesbefore, l = n.addslidesafter, d = t.virtual, p = d.from, c = d.to, u = d.slides, h = d.slidesgrid, v = d.renderslide, f = d.offset; t.updateactiveindex(); var m, g, b, w = t.activeindex || 0; m = t.rtltranslate ? "right" : t.ishorizontal() ? "left" : "top", r ? (g = math.floor(i / 2) + s + o, b = math.floor(i / 2) + s + l) : (g = i + (s - 1) + o, b = s + l); var y = math.max((w || 0) - b, 0), x = math.min((w || 0) + g, u.length - 1), t = (t.slidesgrid[y] || 0) - (t.slidesgrid[0] || 0); function e() { t.updateslides(), t.updateprogress(), t.updateslidesclasses(), t.lazy && t.params.lazy.enabled && t.lazy.load() } if(ee.extend(t.virtual, { from: y, to: x, offset: t, slidesgrid: t.slidesgrid }), p === y && c === x && !e) return t.slidesgrid !== h && t !== f && t.slides.css(m, t + "px"), void t.updateprogress(); if(t.params.virtual.renderexternal) return t.params.virtual.renderexternal.call(t, { offset: t, from: y, to: x, slides: function() { for(var e = [], t = y; t <= x; t += 1) e.push(u[t]); return e }() }), void e(); var s = [], c = []; if(e) t.$wrapperel.find("." + t.params.slideclass).remove(); else for(var m = p; m <= c; m += 1)(m < y || x < m) && t.$wrapperel.find("." + t.params.slideclass + '[data-swiper-slide-index="' + m + '"]').remove(); for(var z = 0; z < u.length; z += 1) y <= z && z <= x && (void 0 === c || e ? c.push(z) : (c < z && c.push(z), z < p && s.push(z))); c.foreach(function(e) { t.$wrapperel.append(v(u[e], e)) }), s.sort(function(e, t) { return t - e }).foreach(function(e) { t.$wrapperel.prepend(v(u[e], e)) }), t.$wrapperel.children(".swiper-slide").css(m, t + "px"), e() }, renderslide: function(e, t) { var a = this, i = a.params.virtual; if(i.cache && a.virtual.cache[t]) return a.virtual.cache[t]; var s = i.renderslide ? l(i.renderslide.call(a, e, t)) : l('
' + e + "
"); return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (a.virtual.cache[t] = s), s }, appendslide: function(e) { if("object" == typeof e && "length" in e) for(var t = 0; t < e.length; t += 1) e[t] && this.virtual.slides.push(e[t]); else this.virtual.slides.push(e); this.virtual.update(!0) }, prependslide: function(e) { var t = this, a = t.activeindex, i = a + 1, s = 1; if(array.isarray(e)) { for(var r = 0; r < e.length; r += 1) e[r] && t.virtual.slides.unshift(e[r]); i = a + e.length, s = e.length } else t.virtual.slides.unshift(e); if(t.params.virtual.cache) { var n = t.virtual.cache, o = {}; object.keys(n).foreach(function(e) { o[parseint(e, 10) + s] = n[e] }), t.virtual.cache = o } t.virtual.update(!0), t.slideto(i, 0) }, removeslide: function(e) { var t = this; if(null != e) { var a = t.activeindex; if(array.isarray(e)) for(var i = e.length - 1; 0 <= i; i -= 1) t.virtual.slides.splice(e[i], 1), t.params.virtual.cache && delete t.virtual.cache[e[i]], e[i] < a && (a -= 1), a = math.max(a, 0); else t.virtual.slides.splice(e, 1), t.params.virtual.cache && delete t.virtual.cache[e], e < a && (a -= 1), a = math.max(a, 0); t.virtual.update(!0), t.slideto(a, 0) } }, removeallslides: function() { var e = this; e.virtual.slides = [], e.params.virtual.cache && (e.virtual.cache = {}), e.virtual.update(!0), e.slideto(0, 0) } }, $ = { name: "virtual", params: { virtual: { enabled: !1, slides: [], cache: !0, renderslide: null, renderexternal: null, addslidesbefore: 0, addslidesafter: 0 } }, create: function() { var e = this; ee.extend(e, { virtual: { update: k.update.bind(e), appendslide: k.appendslide.bind(e), prependslide: k.prependslide.bind(e), removeslide: k.removeslide.bind(e), removeallslides: k.removeallslides.bind(e), renderslide: k.renderslide.bind(e), slides: e.params.virtual.slides, cache: {} } }) }, on: { beforeinit: function() { var e = this; if(e.params.virtual.enabled) { e.classnames.push(e.params.containermodifierclass + "virtual"); var t = { watchslidesprogress: !0 }; ee.extend(e.params, t), ee.extend(e.originalparams, t), e.params.initialslide || e.virtual.update() } }, settranslate: function() { this.params.virtual.enabled && this.virtual.update() } } }, d = { handle: function(e) { var t = this, a = t.rtltranslate, i = e; i.originalevent && (i = i.originalevent); var s = i.keycode || i.charcode; if(!t.allowslidenext && (t.ishorizontal() && 39 === s || t.isvertical() && 40 === s)) return !1; if(!t.allowslideprev && (t.ishorizontal() && 37 === s || t.isvertical() && 38 === s)) return !1; if(!(i.shiftkey || i.altkey || i.ctrlkey || i.metakey || f.activeelement && f.activeelement.nodename && ("input" === f.activeelement.nodename.tolowercase() || "textarea" === f.activeelement.nodename.tolowercase()))) { if(t.params.keyboard.onlyinviewport && (37 === s || 39 === s || 38 === s || 40 === s)) { var r = !1; if(0 < t.$el.parents("." + t.params.slideclass).length && 0 === t.$el.parents("." + t.params.slideactiveclass).length) return; var n = j.innerwidth, o = j.innerheight, l = t.$el.offset(); a && (l.left -= t.$el[0].scrollleft); for(var d = [ [l.left, l.top], [l.left + t.width, l.top], [l.left, l.top + t.height], [l.left + t.width, l.top + t.height] ], p = 0; p < d.length; p += 1) { var c = d[p]; 0 <= c[0] && c[0] <= n && 0 <= c[1] && c[1] <= o && (r = !0) } if(!r) return } t.ishorizontal() ? (37 !== s && 39 !== s || (i.preventdefault ? i.preventdefault() : i.returnvalue = !1), (39 === s && !a || 37 === s && a) && t.slidenext(), (37 === s && !a || 39 === s && a) && t.slideprev()) : (38 !== s && 40 !== s || (i.preventdefault ? i.preventdefault() : i.returnvalue = !1), 40 === s && t.slidenext(), 38 === s && t.slideprev()), t.emit("keypress", s) } }, enable: function() { this.keyboard.enabled || (l(f).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0) }, disable: function() { this.keyboard.enabled && (l(f).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1) } }, o = { name: "keyboard", params: { keyboard: { enabled: !1, onlyinviewport: !0 } }, create: function() { ee.extend(this, { keyboard: { enabled: !1, enable: d.enable.bind(this), disable: d.disable.bind(this), handle: d.handle.bind(this) } }) }, on: { init: function() { this.params.keyboard.enabled && this.keyboard.enable() }, destroy: function() { this.keyboard.enabled && this.keyboard.disable() } } }; var a = { lastscrolltime: ee.now(), event: -1 < j.navigator.useragent.indexof("firefox") ? "dommousescroll" : function() { var e = "onwheel", t = e in f; if(!t) { var a = f.createelement("div"); a.setattribute(e, "return;"), t = "function" == typeof a[e] } return !t && f.implementation && f.implementation.hasfeature && !0 !== f.implementation.hasfeature("", "") && (t = f.implementation.hasfeature("events.wheel", "3.0")), t }() ? "wheel" : "mousewheel", normalize: function(e) { var t = 0, a = 0, i = 0, s = 0; return "detail" in e && (a = e.detail), "wheeldelta" in e && (a = -e.wheeldelta / 120), "wheeldeltay" in e && (a = -e.wheeldeltay / 120), "wheeldeltax" in e && (t = -e.wheeldeltax / 120), "axis" in e && e.axis === e.horizontal_axis && (t = a, a = 0), i = 10 * t, s = 10 * a, "deltay" in e && (s = e.deltay), "deltax" in e && (i = e.deltax), (i || s) && e.deltamode && (1 === e.deltamode ? (i *= 40, s *= 40) : (i *= 800, s *= 800)), i && !t && (t = i < 1 ? -1 : 1), s && !a && (a = s < 1 ? -1 : 1), { spinx: t, spiny: a, pixelx: i, pixely: s } }, handlemouseenter: function() { this.mouseentered = !0 }, handlemouseleave: function() { this.mouseentered = !1 }, handle: function(e) { var t = e, a = this, i = a.params.mousewheel; if(!a.mouseentered && !i.releaseonedges) return !0; t.originalevent && (t = t.originalevent); var s = 0, r = a.rtltranslate ? -1 : 1, n = a.normalize(t); if(i.forcetoaxis) if(a.ishorizontal()) { if(!(math.abs(n.pixelx) > math.abs(n.pixely))) return !0; s = n.pixelx * r } else { if(!(math.abs(n.pixely) > math.abs(n.pixelx))) return !0; s = n.pixely } else s = math.abs(n.pixelx) > math.abs(n.pixely) ? -n.pixelx * r : -n.pixely; if(0 === s) return !0; if(i.invert && (s = -s), a.params.freemode) { a.params.loop && a.loopfix(); var o = a.gettranslate() + s * i.sensitivity, l = a.isbeginning, d = a.isend; if(o >= a.mintranslate() && (o = a.mintranslate()), o <= a.maxtranslate() && (o = a.maxtranslate()), a.settransition(0), a.settranslate(o), a.updateprogress(), a.updateactiveindex(), a.updateslidesclasses(), (!l && a.isbeginning || !d && a.isend) && a.updateslidesclasses(), a.params.freemodesticky && (cleartimeout(a.mousewheel.timeout), a.mousewheel.timeout = ee.nexttick(function() { a.slidetoclosest() }, 300)), a.emit("scroll", t), a.params.autoplay && a.params.autoplaydisableoninteraction && a.autoplay.stop(), o === a.mintranslate() || o === a.maxtranslate()) return !0 } else { if(60 < ee.now() - a.mousewheel.lastscrolltime) if(s < 0) if(a.isend && !a.params.loop || a.animating) { if(i.releaseonedges) return !0 } else a.slidenext(), a.emit("scroll", t); else if(a.isbeginning && !a.params.loop || a.animating) { if(i.releaseonedges) return !0 } else a.slideprev(), a.emit("scroll", t); a.mousewheel.lastscrolltime = (new j.date).gettime() } return t.preventdefault ? t.preventdefault() : t.returnvalue = !1, !1 }, enable: function() { var e = this; if(!a.event) return !1; if(e.mousewheel.enabled) return !1; var t = e.$el; return "container" !== e.params.mousewheel.eventstarged && (t = l(e.params.mousewheel.eventstarged)), t.on("mouseenter", e.mousewheel.handlemouseenter), t.on("mouseleave", e.mousewheel.handlemouseleave), t.on(a.event, e.mousewheel.handle), e.mousewheel.enabled = !0 }, disable: function() { var e = this; if(!a.event) return !1; if(!e.mousewheel.enabled) return !1; var t = e.$el; return "container" !== e.params.mousewheel.eventstarged && (t = l(e.params.mousewheel.eventstarged)), t.off(a.event, e.mousewheel.handle), !(e.mousewheel.enabled = !1) } }, h = { update: function() { var e = this, t = e.params.navigation; if(!e.params.loop) { var a = e.navigation, i = a.$nextel, s = a.$prevel; s && 0 < s.length && (e.isbeginning ? s.addclass(t.disabledclass) : s.removeclass(t.disabledclass), s[e.params.watchoverflow && e.islocked ? "addclass" : "removeclass"](t.lockclass)), i && 0 < i.length && (e.isend ? i.addclass(t.disabledclass) : i.removeclass(t.disabledclass), i[e.params.watchoverflow && e.islocked ? "addclass" : "removeclass"](t.lockclass)) } }, onprevclick: function(e) { e.preventdefault(), this.isbeginning && !this.params.loop || this.slideprev() }, onnextclick: function(e) { e.preventdefault(), this.isend && !this.params.loop || this.slidenext() }, init: function() { var e, t, a = this, i = a.params.navigation; (i.nextel || i.prevel) && (i.nextel && (e = l(i.nextel), a.params.uniquenavelements && "string" == typeof i.nextel && 1 < e.length && 1 === a.$el.find(i.nextel).length && (e = a.$el.find(i.nextel))), i.prevel && (t = l(i.prevel), a.params.uniquenavelements && "string" == typeof i.prevel && 1 < t.length && 1 === a.$el.find(i.prevel).length && (t = a.$el.find(i.prevel))), e && 0 < e.length && e.on("click", a.navigation.onnextclick), t && 0 < t.length && t.on("click", a.navigation.onprevclick), ee.extend(a.navigation, { $nextel: e, nextel: e && e[0], $prevel: t, prevel: t && t[0] })) }, destroy: function() { var e = this, t = e.navigation, a = t.$nextel, i = t.$prevel; a && a.length && (a.off("click", e.navigation.onnextclick), a.removeclass(e.params.navigation.disabledclass)), i && i.length && (i.off("click", e.navigation.onprevclick), i.removeclass(e.params.navigation.disabledclass)) } }, n = { update: function() { var e = this, t = e.rtl, s = e.params.pagination; if(s.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { var r, a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length, i = e.pagination.$el, n = e.params.loop ? math.ceil((a - 2 * e.loopedslides) / e.params.slidespergroup) : e.snapgrid.length; if(e.params.loop ? ((r = math.ceil((e.activeindex - e.loopedslides) / e.params.slidespergroup)) > a - 1 - 2 * e.loopedslides && (r -= a - 2 * e.loopedslides), n - 1 < r && (r -= n), r < 0 && "bullets" !== e.params.paginationtype && (r = n + r)) : r = void 0 !== e.snapindex ? e.snapindex : e.activeindex || 0, "bullets" === s.type && e.pagination.bullets && 0 < e.pagination.bullets.length) { var o, l, d, p = e.pagination.bullets; if(s.dynamicbullets && (e.pagination.bulletsize = p.eq(0)[e.ishorizontal() ? "outerwidth" : "outerheight"](!0), i.css(e.ishorizontal() ? "width" : "height", e.pagination.bulletsize * (s.dynamicmainbullets + 4) + "px"), 1 < s.dynamicmainbullets && void 0 !== e.previousindex && (e.pagination.dynamicbulletindex += r - e.previousindex, e.pagination.dynamicbulletindex > s.dynamicmainbullets - 1 ? e.pagination.dynamicbulletindex = s.dynamicmainbullets - 1 : e.pagination.dynamicbulletindex < 0 && (e.pagination.dynamicbulletindex = 0)), o = r - e.pagination.dynamicbulletindex, d = ((l = o + (math.min(p.length, s.dynamicmainbullets) - 1)) + o) / 2), p.removeclass(s.bulletactiveclass + " " + s.bulletactiveclass + "-next " + s.bulletactiveclass + "-next-next " + s.bulletactiveclass + "-prev " + s.bulletactiveclass + "-prev-prev " + s.bulletactiveclass + "-main"), 1 < i.length) p.each(function(e, t) { var a = l(t), i = a.index(); i === r && a.addclass(s.bulletactiveclass), s.dynamicbullets && (o <= i && i <= l && a.addclass(s.bulletactiveclass + "-main"), i === o && a.prev().addclass(s.bulletactiveclass + "-prev").prev().addclass(s.bulletactiveclass + "-prev-prev"), i === l && a.next().addclass(s.bulletactiveclass + "-next").next().addclass(s.bulletactiveclass + "-next-next")) }); else if(p.eq(r).addclass(s.bulletactiveclass), s.dynamicbullets) { for(var c = p.eq(o), u = p.eq(l), h = o; h <= l; h += 1) p.eq(h).addclass(s.bulletactiveclass + "-main"); c.prev().addclass(s.bulletactiveclass + "-prev").prev().addclass(s.bulletactiveclass + "-prev-prev"), u.next().addclass(s.bulletactiveclass + "-next").next().addclass(s.bulletactiveclass + "-next-next") } if(s.dynamicbullets) { var v = math.min(p.length, s.dynamicmainbullets + 4), f = (e.pagination.bulletsize * v - e.pagination.bulletsize) / 2 - d * e.pagination.bulletsize, m = t ? "right" : "left"; p.css(e.ishorizontal() ? m : "top", f + "px") } } if("fraction" === s.type && (i.find("." + s.currentclass).text(s.formatfractioncurrent(r + 1)), i.find("." + s.totalclass).text(s.formatfractiontotal(n))), "progressbar" === s.type) { var g; g = s.progressbaropposite ? e.ishorizontal() ? "vertical" : "horizontal" : e.ishorizontal() ? "horizontal" : "vertical"; var b = (r + 1) / n, w = 1, y = 1; "horizontal" === g ? w = b : y = b, i.find("." + s.progressbarfillclass).transform("translate3d(0,0,0) scalex(" + w + ") scaley(" + y + ")").transition(e.params.speed) } "custom" === s.type && s.rendercustom ? (i.html(s.rendercustom(e, r + 1, n)), e.emit("paginationrender", e, i[0])) : e.emit("paginationupdate", e, i[0]), i[e.params.watchoverflow && e.islocked ? "addclass" : "removeclass"](s.lockclass) } }, render: function() { var e = this, t = e.params.pagination; if(t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length, i = e.pagination.$el, s = ""; if("bullets" === t.type) { for(var r = e.params.loop ? math.ceil((a - 2 * e.loopedslides) / e.params.slidespergroup) : e.snapgrid.length, n = 0; n < r; n += 1) t.renderbullet ? s += t.renderbullet.call(e, n, t.bulletclass) : s += "<" + t.bulletelement + ' class="' + t.bulletclass + '">"; i.html(s), e.pagination.bullets = i.find("." + t.bulletclass) } "fraction" === t.type && (s = t.renderfraction ? t.renderfraction.call(e, t.currentclass, t.totalclass) : ' / ', i.html(s)), "progressbar" === t.type && (s = t.renderprogressbar ? t.renderprogressbar.call(e, t.progressbarfillclass) : '', i.html(s)), "custom" !== t.type && e.emit("paginationrender", e.pagination.$el[0]) } }, init: function() { var a = this, e = a.params.pagination; if(e.el) { var t = l(e.el); 0 !== t.length && (a.params.uniquenavelements && "string" == typeof e.el && 1 < t.length && 1 === a.$el.find(e.el).length && (t = a.$el.find(e.el)), "bullets" === e.type && e.clickable && t.addclass(e.clickableclass), t.addclass(e.modifierclass + e.type), "bullets" === e.type && e.dynamicbullets && (t.addclass("" + e.modifierclass + e.type + "-dynamic"), a.pagination.dynamicbulletindex = 0, e.dynamicmainbullets < 1 && (e.dynamicmainbullets = 1)), "progressbar" === e.type && e.progressbaropposite && t.addclass(e.progressbaroppositeclass), e.clickable && t.on("click", "." + e.bulletclass, function(e) { e.preventdefault(); var t = l(this).index() * a.params.slidespergroup; a.params.loop && (t += a.loopedslides), a.slideto(t) }), ee.extend(a.pagination, { $el: t, el: t[0] })) } }, destroy: function() { var e = this, t = e.params.pagination; if(t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { var a = e.pagination.$el; a.removeclass(t.hiddenclass), a.removeclass(t.modifierclass + t.type), e.pagination.bullets && e.pagination.bullets.removeclass(t.bulletactiveclass), t.clickable && a.off("click", "." + t.bulletclass) } } }, g = { settranslate: function() { var e = this; if(e.params.scrollbar.el && e.scrollbar.el) { var t = e.scrollbar, a = e.rtltranslate, i = e.progress, s = t.dragsize, r = t.tracksize, n = t.$dragel, o = t.$el, l = e.params.scrollbar, d = s, p = (r - s) * i; a ? 0 < (p = -p) ? (d = s - p, p = 0) : r < -p + s && (d = r + p) : p < 0 ? (d = s + p, p = 0) : r < p + s && (d = r - p), e.ishorizontal() ? (te.transforms3d ? n.transform("translate3d(" + p + "px, 0, 0)") : n.transform("translatex(" + p + "px)"), n[0].style.width = d + "px") : (te.transforms3d ? n.transform("translate3d(0px, " + p + "px, 0)") : n.transform("translatey(" + p + "px)"), n[0].style.height = d + "px"), l.hide && (cleartimeout(e.scrollbar.timeout), o[0].style.opacity = 1, e.scrollbar.timeout = settimeout(function() { o[0].style.opacity = 0, o.transition(400) }, 1e3)) } }, settransition: function(e) { this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragel.transition(e) }, updatesize: function() { var e = this; if(e.params.scrollbar.el && e.scrollbar.el) { var t = e.scrollbar, a = t.$dragel, i = t.$el; a[0].style.width = "", a[0].style.height = ""; var s, r = e.ishorizontal() ? i[0].offsetwidth : i[0].offsetheight, n = e.size / e.virtualsize, o = n * (r / e.size); s = "auto" === e.params.scrollbar.dragsize ? r * n : parseint(e.params.scrollbar.dragsize, 10), e.ishorizontal() ? a[0].style.width = s + "px" : a[0].style.height = s + "px", i[0].style.display = 1 <= n ? "none" : "", e.params.scrollbar.hide && (i[0].style.opacity = 0), ee.extend(t, { tracksize: r, divider: n, movedivider: o, dragsize: s }), t.$el[e.params.watchoverflow && e.islocked ? "addclass" : "removeclass"](e.params.scrollbar.lockclass) } }, setdragposition: function(e) { var t, a = this, i = a.scrollbar, s = a.rtltranslate, r = i.$el, n = i.dragsize, o = i.tracksize; t = ((a.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) - r.offset()[a.ishorizontal() ? "left" : "top"] - n / 2) / (o - n), t = math.max(math.min(t, 1), 0), s && (t = 1 - t); var l = a.mintranslate() + (a.maxtranslate() - a.mintranslate()) * t; a.updateprogress(l), a.settranslate(l), a.updateactiveindex(), a.updateslidesclasses() }, ondragstart: function(e) { var t = this, a = t.params.scrollbar, i = t.scrollbar, s = t.$wrapperel, r = i.$el, n = i.$dragel; t.scrollbar.istouched = !0, e.preventdefault(), e.stoppropagation(), s.transition(100), n.transition(100), i.setdragposition(e), cleartimeout(t.scrollbar.dragtimeout), r.transition(0), a.hide && r.css("opacity", 1), t.emit("scrollbardragstart", e) }, ondragmove: function(e) { var t = this.scrollbar, a = this.$wrapperel, i = t.$el, s = t.$dragel; this.scrollbar.istouched && (e.preventdefault ? e.preventdefault() : e.returnvalue = !1, t.setdragposition(e), a.transition(0), i.transition(0), s.transition(0), this.emit("scrollbardragmove", e)) }, ondragend: function(e) { var t = this, a = t.params.scrollbar, i = t.scrollbar.$el; t.scrollbar.istouched && (t.scrollbar.istouched = !1, a.hide && (cleartimeout(t.scrollbar.dragtimeout), t.scrollbar.dragtimeout = ee.nexttick(function() { i.css("opacity", 0), i.transition(400) }, 1e3)), t.emit("scrollbardragend", e), a.snaponrelease && t.slidetoclosest()) }, enabledraggable: function() { var e = this; if(e.params.scrollbar.el) { var t = e.scrollbar, a = e.toucheventstouch, i = e.toucheventsdesktop, s = e.params, r = t.$el[0], n = !(!te.passivelistener || !s.passivelisteners) && { passive: !1, capture: !1 }, o = !(!te.passivelistener || !s.passivelisteners) && { passive: !0, capture: !1 }; te.touch ? (r.addeventlistener(a.start, e.scrollbar.ondragstart, n), r.addeventlistener(a.move, e.scrollbar.ondragmove, n), r.addeventlistener(a.end, e.scrollbar.ondragend, o)) : (r.addeventlistener(i.start, e.scrollbar.ondragstart, n), f.addeventlistener(i.move, e.scrollbar.ondragmove, n), f.addeventlistener(i.end, e.scrollbar.ondragend, o)) } }, disabledraggable: function() { var e = this; if(e.params.scrollbar.el) { var t = e.scrollbar, a = e.toucheventstouch, i = e.toucheventsdesktop, s = e.params, r = t.$el[0], n = !(!te.passivelistener || !s.passivelisteners) && { passive: !1, capture: !1 }, o = !(!te.passivelistener || !s.passivelisteners) && { passive: !0, capture: !1 }; te.touch ? (r.removeeventlistener(a.start, e.scrollbar.ondragstart, n), r.removeeventlistener(a.move, e.scrollbar.ondragmove, n), r.removeeventlistener(a.end, e.scrollbar.ondragend, o)) : (r.removeeventlistener(i.start, e.scrollbar.ondragstart, n), f.removeeventlistener(i.move, e.scrollbar.ondragmove, n), f.removeeventlistener(i.end, e.scrollbar.ondragend, o)) } }, init: function() { var e = this; if(e.params.scrollbar.el) { var t = e.scrollbar, a = e.$el, i = e.params.scrollbar, s = l(i.el); e.params.uniquenavelements && "string" == typeof i.el && 1 < s.length && 1 === a.find(i.el).length && (s = a.find(i.el)); var r = s.find("." + e.params.scrollbar.dragclass); 0 === r.length && (r = l('
'), s.append(r)), ee.extend(t, { $el: s, el: s[0], $dragel: r, dragel: r[0] }), i.draggable && t.enabledraggable() } }, destroy: function() { this.scrollbar.disabledraggable() } }, b = { settransform: function(e, t) { var a = this.rtl, i = l(e), s = a ? -1 : 1, r = i.attr("data-swiper-parallax") || "0", n = i.attr("data-swiper-parallax-x"), o = i.attr("data-swiper-parallax-y"), l = i.attr("data-swiper-parallax-scale"), d = i.attr("data-swiper-parallax-opacity"); if(n || o ? (n = n || "0", o = o || "0") : this.ishorizontal() ? (n = r, o = "0") : (o = r, n = "0"), n = 0 <= n.indexof("%") ? parseint(n, 10) * t * s + "%" : n * t * s + "px", o = 0 <= o.indexof("%") ? parseint(o, 10) * t + "%" : o * t + "px", null != d) { var p = d - (d - 1) * (1 - math.abs(t)); i[0].style.opacity = p } if(null == l) i.transform("translate3d(" + n + ", " + o + ", 0px)"); else { var c = l - (l - 1) * (1 - math.abs(t)); i.transform("translate3d(" + n + ", " + o + ", 0px) scale(" + c + ")") } }, settranslate: function() { var i = this, e = i.$el, t = i.slides, s = i.progress, r = i.snapgrid; e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) { i.parallax.settransform(t, s) }), t.each(function(e, t) { var a = t.progress; 1 < i.params.slidespergroup && "auto" !== i.params.slidesperview && (a += math.ceil(e / 2) - s * (r.length - 1)), a = math.min(math.max(a, -1), 1), l(t).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) { i.parallax.settransform(t, a) }) }) }, settransition: function(s) { void 0 === s && (s = this.params.speed); this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) { var a = l(t), i = parseint(a.attr("data-swiper-parallax-duration"), 10) || s; 0 === s && (i = 0), a.transition(i) }) } }, x = { getdistancebetweentouches: function(e) { if(e.targettouches.length < 2) return 1; var t = e.targettouches[0].pagex, a = e.targettouches[0].pagey, i = e.targettouches[1].pagex, s = e.targettouches[1].pagey; return math.sqrt(math.pow(i - t, 2) + math.pow(s - a, 2)) }, ongesturestart: function(e) { var t = this, a = t.params.zoom, i = t.zoom, s = i.gesture; if(i.fakegesturetouched = !1, i.fakegesturemoved = !1, !te.gestures) { if("touchstart" !== e.type || "touchstart" === e.type && e.targettouches.length < 2) return; i.fakegesturetouched = !0, s.scalestart = x.getdistancebetweentouches(e) } s.$slideel && s.$slideel.length || (s.$slideel = l(e.target).closest(".swiper-slide"), 0 === s.$slideel.length && (s.$slideel = t.slides.eq(t.activeindex)), s.$imageel = s.$slideel.find("img, svg, canvas"), s.$imagewrapel = s.$imageel.parent("." + a.containerclass), s.maxratio = s.$imagewrapel.attr("data-swiper-zoom") || a.maxratio, 0 !== s.$imagewrapel.length) ? (s.$imageel.transition(0), t.zoom.isscaling = !0) : s.$imageel = void 0 }, ongesturechange: function(e) { var t = this.params.zoom, a = this.zoom, i = a.gesture; if(!te.gestures) { if("touchmove" !== e.type || "touchmove" === e.type && e.targettouches.length < 2) return; a.fakegesturemoved = !0, i.scalemove = x.getdistancebetweentouches(e) } i.$imageel && 0 !== i.$imageel.length && (a.scale = te.gestures ? e.scale * a.currentscale : i.scalemove / i.scalestart * a.currentscale, a.scale > i.maxratio && (a.scale = i.maxratio - 1 + math.pow(a.scale - i.maxratio + 1, .5)), a.scale < t.minratio && (a.scale = t.minratio + 1 - math.pow(t.minratio - a.scale + 1, .5)), i.$imageel.transform("translate3d(0,0,0) scale(" + a.scale + ")")) }, ongestureend: function(e) { var t = this.params.zoom, a = this.zoom, i = a.gesture; if(!te.gestures) { if(!a.fakegesturetouched || !a.fakegesturemoved) return; if("touchend" !== e.type || "touchend" === e.type && e.changedtouches.length < 2 && !g.android) return; a.fakegesturetouched = !1, a.fakegesturemoved = !1 } i.$imageel && 0 !== i.$imageel.length && (a.scale = math.max(math.min(a.scale, i.maxratio), t.minratio), i.$imageel.transition(this.params.speed).transform("translate3d(0,0,0) scale(" + a.scale + ")"), a.currentscale = a.scale, a.isscaling = !1, 1 === a.scale && (i.$slideel = void 0)) }, ontouchstart: function(e) { var t = this.zoom, a = t.gesture, i = t.image; a.$imageel && 0 !== a.$imageel.length && (i.istouched || (g.android && e.preventdefault(), i.istouched = !0, i.touchesstart.x = "touchstart" === e.type ? e.targettouches[0].pagex : e.pagex, i.touchesstart.y = "touchstart" === e.type ? e.targettouches[0].pagey : e.pagey)) }, ontouchmove: function(e) { var t = this, a = t.zoom, i = a.gesture, s = a.image, r = a.velocity; if(i.$imageel && 0 !== i.$imageel.length && (t.allowclick = !1, s.istouched && i.$slideel)) { s.ismoved || (s.width = i.$imageel[0].offsetwidth, s.height = i.$imageel[0].offsetheight, s.startx = ee.gettranslate(i.$imagewrapel[0], "x") || 0, s.starty = ee.gettranslate(i.$imagewrapel[0], "y") || 0, i.slidewidth = i.$slideel[0].offsetwidth, i.slideheight = i.$slideel[0].offsetheight, i.$imagewrapel.transition(0), t.rtl && (s.startx = -s.startx, s.starty = -s.starty)); var n = s.width * a.scale, o = s.height * a.scale; if(!(n < i.slidewidth && o < i.slideheight)) { if(s.minx = math.min(i.slidewidth / 2 - n / 2, 0), s.maxx = -s.minx, s.miny = math.min(i.slideheight / 2 - o / 2, 0), s.maxy = -s.miny, s.touchescurrent.x = "touchmove" === e.type ? e.targettouches[0].pagex : e.pagex, s.touchescurrent.y = "touchmove" === e.type ? e.targettouches[0].pagey : e.pagey, !s.ismoved && !a.isscaling) { if(t.ishorizontal() && (math.floor(s.minx) === math.floor(s.startx) && s.touchescurrent.x < s.touchesstart.x || math.floor(s.maxx) === math.floor(s.startx) && s.touchescurrent.x > s.touchesstart.x)) return void(s.istouched = !1); if(!t.ishorizontal() && (math.floor(s.miny) === math.floor(s.starty) && s.touchescurrent.y < s.touchesstart.y || math.floor(s.maxy) === math.floor(s.starty) && s.touchescurrent.y > s.touchesstart.y)) return void(s.istouched = !1) } e.preventdefault(), e.stoppropagation(), s.ismoved = !0, s.currentx = s.touchescurrent.x - s.touchesstart.x + s.startx, s.currenty = s.touchescurrent.y - s.touchesstart.y + s.starty, s.currentx < s.minx && (s.currentx = s.minx + 1 - math.pow(s.minx - s.currentx + 1, .8)), s.currentx > s.maxx && (s.currentx = s.maxx - 1 + math.pow(s.currentx - s.maxx + 1, .8)), s.currenty < s.miny && (s.currenty = s.miny + 1 - math.pow(s.miny - s.currenty + 1, .8)), s.currenty > s.maxy && (s.currenty = s.maxy - 1 + math.pow(s.currenty - s.maxy + 1, .8)), r.prevpositionx || (r.prevpositionx = s.touchescurrent.x), r.prevpositiony || (r.prevpositiony = s.touchescurrent.y), r.prevtime || (r.prevtime = date.now()), r.x = (s.touchescurrent.x - r.prevpositionx) / (date.now() - r.prevtime) / 2, r.y = (s.touchescurrent.y - r.prevpositiony) / (date.now() - r.prevtime) / 2, math.abs(s.touchescurrent.x - r.prevpositionx) < 2 && (r.x = 0), math.abs(s.touchescurrent.y - r.prevpositiony) < 2 && (r.y = 0), r.prevpositionx = s.touchescurrent.x, r.prevpositiony = s.touchescurrent.y, r.prevtime = date.now(), i.$imagewrapel.transform("translate3d(" + s.currentx + "px, " + s.currenty + "px,0)") } } }, ontouchend: function() { var e = this.zoom, t = e.gesture, a = e.image, i = e.velocity; if(t.$imageel && 0 !== t.$imageel.length) { if(!a.istouched || !a.ismoved) return a.istouched = !1, void(a.ismoved = !1); a.istouched = !1, a.ismoved = !1; var s = 300, r = 300, n = i.x * s, o = a.currentx + n, l = i.y * r, d = a.currenty + l; 0 !== i.x && (s = math.abs((o - a.currentx) / i.x)), 0 !== i.y && (r = math.abs((d - a.currenty) / i.y)); var p = math.max(s, r); a.currentx = o, a.currenty = d; var c = a.width * e.scale, u = a.height * e.scale; a.minx = math.min(t.slidewidth / 2 - c / 2, 0), a.maxx = -a.minx, a.miny = math.min(t.slideheight / 2 - u / 2, 0), a.maxy = -a.miny, a.currentx = math.max(math.min(a.currentx, a.maxx), a.minx), a.currenty = math.max(math.min(a.currenty, a.maxy), a.miny), t.$imagewrapel.transition(p).transform("translate3d(" + a.currentx + "px, " + a.currenty + "px,0)") } }, ontransitionend: function() { var e = this.zoom, t = e.gesture; t.$slideel && this.previousindex !== this.activeindex && (t.$imageel.transform("translate3d(0,0,0) scale(1)"), t.$imagewrapel.transform("translate3d(0,0,0)"), e.scale = 1, e.currentscale = 1, t.$slideel = void 0, t.$imageel = void 0, t.$imagewrapel = void 0) }, toggle: function(e) { var t = this.zoom; t.scale && 1 !== t.scale ? t.out() : t.in(e) }, in: function(e) { var t, a, i, s, r, n, o, l, d, p, c, u, h, v, f, m, g = this, b = g.zoom, w = g.params.zoom, y = b.gesture, x = b.image; (y.$slideel || (y.$slideel = g.clickedslide ? l(g.clickedslide) : g.slides.eq(g.activeindex), y.$imageel = y.$slideel.find("img, svg, canvas"), y.$imagewrapel = y.$imageel.parent("." + w.containerclass)), y.$imageel && 0 !== y.$imageel.length) && (y.$slideel.addclass("" + w.zoomedslideclass), void 0 === x.touchesstart.x && e ? (t = "touchend" === e.type ? e.changedtouches[0].pagex : e.pagex, a = "touchend" === e.type ? e.changedtouches[0].pagey : e.pagey) : (t = x.touchesstart.x, a = x.touchesstart.y), b.scale = y.$imagewrapel.attr("data-swiper-zoom") || w.maxratio, b.currentscale = y.$imagewrapel.attr("data-swiper-zoom") || w.maxratio, e ? (f = y.$slideel[0].offsetwidth, m = y.$slideel[0].offsetheight, i = y.$slideel.offset().left + f / 2 - t, s = y.$slideel.offset().top + m / 2 - a, o = y.$imageel[0].offsetwidth, l = y.$imageel[0].offsetheight, d = o * b.scale, p = l * b.scale, h = -(c = math.min(f / 2 - d / 2, 0)), v = -(u = math.min(m / 2 - p / 2, 0)), (r = i * b.scale) < c && (r = c), h < r && (r = h), (n = s * b.scale) < u && (n = u), v < n && (n = v)) : n = r = 0, y.$imagewrapel.transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), y.$imageel.transition(300).transform("translate3d(0,0,0) scale(" + b.scale + ")")) }, out: function() { var e = this, t = e.zoom, a = e.params.zoom, i = t.gesture; i.$slideel || (i.$slideel = e.clickedslide ? l(e.clickedslide) : e.slides.eq(e.activeindex), i.$imageel = i.$slideel.find("img, svg, canvas"), i.$imagewrapel = i.$imageel.parent("." + a.containerclass)), i.$imageel && 0 !== i.$imageel.length && (t.scale = 1, t.currentscale = 1, i.$imagewrapel.transition(300).transform("translate3d(0,0,0)"), i.$imageel.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideel.removeclass("" + a.zoomedslideclass), i.$slideel = void 0) }, enable: function() { var e = this, t = e.zoom; if(!t.enabled) { t.enabled = !0; var a = !("touchstart" !== e.touchevents.start || !te.passivelistener || !e.params.passivelisteners) && { passive: !0, capture: !1 }; te.gestures ? (e.$wrapperel.on("gesturestart", ".swiper-slide", t.ongesturestart, a), e.$wrapperel.on("gesturechange", ".swiper-slide", t.ongesturechange, a), e.$wrapperel.on("gestureend", ".swiper-slide", t.ongestureend, a)) : "touchstart" === e.touchevents.start && (e.$wrapperel.on(e.touchevents.start, ".swiper-slide", t.ongesturestart, a), e.$wrapperel.on(e.touchevents.move, ".swiper-slide", t.ongesturechange, a), e.$wrapperel.on(e.touchevents.end, ".swiper-slide", t.ongestureend, a)), e.$wrapperel.on(e.touchevents.move, "." + e.params.zoom.containerclass, t.ontouchmove) } }, disable: function() { var e = this, t = e.zoom; if(t.enabled) { e.zoom.enabled = !1; var a = !("touchstart" !== e.touchevents.start || !te.passivelistener || !e.params.passivelisteners) && { passive: !0, capture: !1 }; te.gestures ? (e.$wrapperel.off("gesturestart", ".swiper-slide", t.ongesturestart, a), e.$wrapperel.off("gesturechange", ".swiper-slide", t.ongesturechange, a), e.$wrapperel.off("gestureend", ".swiper-slide", t.ongestureend, a)) : "touchstart" === e.touchevents.start && (e.$wrapperel.off(e.touchevents.start, ".swiper-slide", t.ongesturestart, a), e.$wrapperel.off(e.touchevents.move, ".swiper-slide", t.ongesturechange, a), e.$wrapperel.off(e.touchevents.end, ".swiper-slide", t.ongestureend, a)), e.$wrapperel.off(e.touchevents.move, "." + e.params.zoom.containerclass, t.ontouchmove) } } }, y = { loadinslide: function(e, l) { void 0 === l && (l = !0); var d = this, p = d.params.lazy; if(void 0 !== e && 0 !== d.slides.length) { var c = d.virtual && d.params.virtual.enabled ? d.$wrapperel.children("." + d.params.slideclass + '[data-swiper-slide-index="' + e + '"]') : d.slides.eq(e), t = c.find("." + p.elementclass + ":not(." + p.loadedclass + "):not(." + p.loadingclass + ")"); !c.hasclass(p.elementclass) || c.hasclass(p.loadedclass) || c.hasclass(p.loadingclass) || (t = t.add(c[0])), 0 !== t.length && t.each(function(e, t) { var i = l(t); i.addclass(p.loadingclass); var s = i.attr("data-background"), r = i.attr("data-src"), n = i.attr("data-srcset"), o = i.attr("data-sizes"); d.loadimage(i[0], r || s, n, o, !1, function() { if(null != d && d && (!d || d.params) && !d.destroyed) { if(s ? (i.css("background-image", 'url("' + s + '")'), i.removeattr("data-background")) : (n && (i.attr("srcset", n), i.removeattr("data-srcset")), o && (i.attr("sizes", o), i.removeattr("data-sizes")), r && (i.attr("src", r), i.removeattr("data-src"))), i.addclass(p.loadedclass).removeclass(p.loadingclass), c.find("." + p.preloaderclass).remove(), d.params.loop && l) { var e = c.attr("data-swiper-slide-index"); if(c.hasclass(d.params.slideduplicateclass)) { var t = d.$wrapperel.children('[data-swiper-slide-index="' + e + '"]:not(.' + d.params.slideduplicateclass + ")"); d.lazy.loadinslide(t.index(), !1) } else { var a = d.$wrapperel.children("." + d.params.slideduplicateclass + '[data-swiper-slide-index="' + e + '"]'); d.lazy.loadinslide(a.index(), !1) } } d.emit("lazyimageready", c[0], i[0]) } }), d.emit("lazyimageload", c[0], i[0]) }) } }, load: function() { var i = this, t = i.$wrapperel, a = i.params, s = i.slides, e = i.activeindex, r = i.virtual && a.virtual.enabled, n = a.lazy, o = a.slidesperview; function l(e) { if(r) { if(t.children("." + a.slideclass + '[data-swiper-slide-index="' + e + '"]').length) return !0 } else if(s[e]) return !0; return !1 } function d(e) { return r ? l(e).attr("data-swiper-slide-index") : l(e).index() } if("auto" === o && (o = 0), i.lazy.initialimageloaded || (i.lazy.initialimageloaded = !0), i.params.watchslidesvisibility) t.children("." + a.slidevisibleclass).each(function(e, t) { var a = r ? l(t).attr("data-swiper-slide-index") : l(t).index(); i.lazy.loadinslide(a) }); else if(1 < o) for(var p = e; p < e + o; p += 1) l(p) && i.lazy.loadinslide(p); else i.lazy.loadinslide(e); if(n.loadprevnext) if(1 < o || n.loadprevnextamount && 1 < n.loadprevnextamount) { for(var c = n.loadprevnextamount, u = o, h = math.min(e + u + math.max(c, u), s.length), v = math.max(e - math.max(u, c), 0), f = e + o; f < h; f += 1) l(f) && i.lazy.loadinslide(f); for(var m = v; m < e; m += 1) l(m) && i.lazy.loadinslide(m) } else { var g = t.children("." + a.slidenextclass); 0 < g.length && i.lazy.loadinslide(d(g)); var b = t.children("." + a.slideprevclass); 0 < b.length && i.lazy.loadinslide(d(b)) } } }, v = { linearspline: function(e, t) { var a, i, s, r, n, o = function(e, t) { for(i = -1, a = e.length; 1 < a - i;) e[s = a + i >> 1] <= t ? i = s : a = s; return a }; return this.x = e, this.y = t, this.lastindex = e.length - 1, this.interpolate = function(e) { return e ? (n = o(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0 }, this }, getinterpolatefunction: function(e) { var t = this; t.controller.spline || (t.controller.spline = t.params.loop ? new v.linearspline(t.slidesgrid, e.slidesgrid) : new v.linearspline(t.snapgrid, e.snapgrid)) }, settranslate: function(e, t) { var a, i, s = this, r = s.controller.control; function n(e) { var t = s.rtltranslate ? -s.translate : s.translate; "slide" === s.params.controller.by && (s.controller.getinterpolatefunction(e), i = -s.controller.spline.interpolate(-t)), i && "container" !== s.params.controller.by || (a = (e.maxtranslate() - e.mintranslate()) / (s.maxtranslate() - s.mintranslate()), i = (t - s.mintranslate()) * a + e.mintranslate()), s.params.controller.inverse && (i = e.maxtranslate() - i), e.updateprogress(i), e.settranslate(i, s), e.updateactiveindex(), e.updateslidesclasses() } if(array.isarray(r)) for(var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof t && n(r[o]); else r instanceof t && t !== r && n(r) }, settransition: function(t, e) { var a, i = this, s = i.controller.control; function r(e) { e.settransition(t, i), 0 !== t && (e.transitionstart(), e.params.autoheight && ee.nexttick(function() { e.updateautoheight() }), e.$wrapperel.transitionend(function() { s && (e.params.loop && "slide" === i.params.controller.by && e.loopfix(), e.transitionend()) })) } if(array.isarray(s)) for(a = 0; a < s.length; a += 1) s[a] !== e && s[a] instanceof t && r(s[a]); else s instanceof t && e !== s && r(s) } }, f = { makeelfocusable: function(e) { return e.attr("tabindex", "0"), e }, addelrole: function(e, t) { return e.attr("role", t), e }, addellabel: function(e, t) { return e.attr("aria-label", t), e }, disableel: function(e) { return e.attr("aria-disabled", !0), e }, enableel: function(e) { return e.attr("aria-disabled", !1), e }, onenterkey: function(e) { var t = this, a = t.params.a11y; if(13 === e.keycode) { var i = l(e.target); t.navigation && t.navigation.$nextel && i.is(t.navigation.$nextel) && (t.isend && !t.params.loop || t.slidenext(), t.isend ? t.a11y.notify(a.lastslidemessage) : t.a11y.notify(a.nextslidemessage)), t.navigation && t.navigation.$prevel && i.is(t.navigation.$prevel) && (t.isbeginning && !t.params.loop || t.slideprev(), t.isbeginning ? t.a11y.notify(a.firstslidemessage) : t.a11y.notify(a.prevslidemessage)), t.pagination && i.is("." + t.params.pagination.bulletclass) && i[0].click() } }, notify: function(e) { var t = this.a11y.liveregion; 0 !== t.length && (t.html(""), t.html(e)) }, updatenavigation: function() { var e = this; if(!e.params.loop) { var t = e.navigation, a = t.$nextel, i = t.$prevel; i && 0 < i.length && (e.isbeginning ? e.a11y.disableel(i) : e.a11y.enableel(i)), a && 0 < a.length && (e.isend ? e.a11y.disableel(a) : e.a11y.enableel(a)) } }, updatepagination: function() { var i = this, s = i.params.a11y; i.pagination && i.params.pagination.clickable && i.pagination.bullets && i.pagination.bullets.length && i.pagination.bullets.each(function(e, t) { var a = l(t); i.a11y.makeelfocusable(a), i.a11y.addelrole(a, "button"), i.a11y.addellabel(a, s.paginationbulletmessage.replace(/{{index}}/, a.index() + 1)) }) }, init: function() { var e = this; e.$el.append(e.a11y.liveregion); var t, a, i = e.params.a11y; e.navigation && e.navigation.$nextel && (t = e.navigation.$nextel), e.navigation && e.navigation.$prevel && (a = e.navigation.$prevel), t && (e.a11y.makeelfocusable(t), e.a11y.addelrole(t, "button"), e.a11y.addellabel(t, i.nextslidemessage), t.on("keydown", e.a11y.onenterkey)), a && (e.a11y.makeelfocusable(a), e.a11y.addelrole(a, "button"), e.a11y.addellabel(a, i.prevslidemessage), a.on("keydown", e.a11y.onenterkey)), e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.$el.on("keydown", "." + e.params.pagination.bulletclass, e.a11y.onenterkey) }, destroy: function() { var e, t, a = this; a.a11y.liveregion && 0 < a.a11y.liveregion.length && a.a11y.liveregion.remove(), a.navigation && a.navigation.$nextel && (e = a.navigation.$nextel), a.navigation && a.navigation.$prevel && (t = a.navigation.$prevel), e && e.off("keydown", a.a11y.onenterkey), t && t.off("keydown", a.a11y.onenterkey), a.pagination && a.params.pagination.clickable && a.pagination.bullets && a.pagination.bullets.length && a.pagination.$el.off("keydown", "." + a.params.pagination.bulletclass, a.a11y.onenterkey) } }, r = { init: function() { var e = this; if(e.params.history) { if(!j.history || !j.history.pushstate) return e.params.history.enabled = !1, void(e.params.hashnavigation.enabled = !0); var t = e.history; t.initialized = !0, t.paths = r.getpathvalues(), (t.paths.key || t.paths.value) && (t.scrolltoslide(0, t.paths.value, e.params.runcallbacksoninit), e.params.history.replacestate || j.addeventlistener("popstate", e.history.sethistorypopstate)) } }, destroy: function() { this.params.history.replacestate || j.removeeventlistener("popstate", this.history.sethistorypopstate) }, sethistorypopstate: function() { this.history.paths = r.getpathvalues(), this.history.scrolltoslide(this.params.speed, this.history.paths.value, !1) }, getpathvalues: function() { var e = j.location.pathname.slice(1).split("/").filter(function(e) { return "" !== e }), t = e.length; return { key: e[t - 2], value: e[t - 1] } }, sethistory: function(e, t) { if(this.history.initialized && this.params.history.enabled) { var a = this.slides.eq(t), i = r.slugify(a.attr("data-history")); j.location.pathname.includes(e) || (i = e + "/" + i); var s = j.history.state; s && s.value === i || (this.params.history.replacestate ? j.history.replacestate({ value: i }, null, i) : j.history.pushstate({ value: i }, null, i)) } }, slugify: function(e) { return e.tostring().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "") }, scrolltoslide: function(e, t, a) { var i = this; if(t) for(var s = 0, r = i.slides.length; s < r; s += 1) { var n = i.slides.eq(s); if(r.slugify(n.attr("data-history")) === t && !n.hasclass(i.params.slideduplicateclass)) { var o = n.index(); i.slideto(o, e, a) } } else i.slideto(0, e, a) } }, q = { onhashcange: function() { var e = this, t = f.location.hash.replace("#", ""); if(t !== e.slides.eq(e.activeindex).attr("data-hash")) { var a = e.$wrapperel.children("." + e.params.slideclass + '[data-hash="' + t + '"]').index(); if(void 0 === a) return; e.slideto(a) } }, sethash: function() { var e = this; if(e.hashnavigation.initialized && e.params.hashnavigation.enabled) if(e.params.hashnavigation.replacestate && j.history && j.history.replacestate) j.history.replacestate(null, null, "#" + e.slides.eq(e.activeindex).attr("data-hash") || ""); else { var t = e.slides.eq(e.activeindex), a = t.attr("data-hash") || t.attr("data-history"); f.location.hash = a || "" } }, init: function() { var e = this; if(!(!e.params.hashnavigation.enabled || e.params.history && e.params.history.enabled)) { e.hashnavigation.initialized = !0; var t = f.location.hash.replace("#", ""); if(t) for(var a = 0, i = e.slides.length; a < i; a += 1) { var s = e.slides.eq(a); if((s.attr("data-hash") || s.attr("data-history")) === t && !s.hasclass(e.params.slideduplicateclass)) { var r = s.index(); e.slideto(r, 0, e.params.runcallbacksoninit, !0) } } e.params.hashnavigation.watchstate && l(j).on("hashchange", e.hashnavigation.onhashcange) } }, destroy: function() { this.params.hashnavigation.watchstate && l(j).off("hashchange", this.hashnavigation.onhashcange) } }, w = { run: function() { var e = this, t = e.slides.eq(e.activeindex), a = e.params.autoplay.delay; t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), e.autoplay.timeout = ee.nexttick(function() { e.params.autoplay.reversedirection ? e.params.loop ? (e.loopfix(), e.slideprev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isbeginning ? e.params.autoplay.stoponlastslide ? e.autoplay.stop() : (e.slideto(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slideprev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopfix(), e.slidenext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isend ? e.params.autoplay.stoponlastslide ? e.autoplay.stop() : (e.slideto(0, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidenext(e.params.speed, !0, !0), e.emit("autoplay")) }, a) }, start: function() { var e = this; return void 0 === e.autoplay.timeout && (!e.autoplay.running && (e.autoplay.running = !0, e.emit("autoplaystart"), e.autoplay.run(), !0)) }, stop: function() { var e = this; return !!e.autoplay.running && (void 0 !== e.autoplay.timeout && (e.autoplay.timeout && (cleartimeout(e.autoplay.timeout), e.autoplay.timeout = void 0), e.autoplay.running = !1, e.emit("autoplaystop"), !0)) }, pause: function(e) { var t = this; t.autoplay.running && (t.autoplay.paused || (t.autoplay.timeout && cleartimeout(t.autoplay.timeout), t.autoplay.paused = !0, 0 !== e && t.params.autoplay.waitfortransition ? (t.$wrapperel[0].addeventlistener("transitionend", t.autoplay.ontransitionend), t.$wrapperel[0].addeventlistener("webkittransitionend", t.autoplay.ontransitionend)) : (t.autoplay.paused = !1, t.autoplay.run()))) } }, j = { settranslate: function() { for(var e = this, t = e.slides, a = 0; a < t.length; a += 1) { var i = e.slides.eq(a), s = -i[0].swiperslideoffset; e.params.virtualtranslate || (s -= e.translate); var r = 0; e.ishorizontal() || (r = s, s = 0); var n = e.params.fadeeffect.crossfade ? math.max(1 - math.abs(i[0].progress), 0) : 1 + math.min(math.max(i[0].progress, -1), 0); i.css({ opacity: n }).transform("translate3d(" + s + "px, " + r + "px, 0px)") } }, settransition: function(e) { var a = this, t = a.slides, i = a.$wrapperel; if(t.transition(e), a.params.virtualtranslate && 0 !== e) { var s = !1; t.transitionend(function() { if(!s && a && !a.destroyed) { s = !0, a.animating = !1; for(var e = ["webkittransitionend", "transitionend"], t = 0; t < e.length; t += 1) i.trigger(e[t]) } }) } } }, u = { settranslate: function() { var e, t = this, a = t.$el, i = t.$wrapperel, s = t.slides, r = t.width, n = t.height, o = t.rtltranslate, l = t.size, d = t.params.cubeeffect, p = t.ishorizontal(), c = t.virtual && t.params.virtual.enabled, u = 0; d.shadow && (p ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = l('
'), i.append(e)), e.css({ height: r + "px" })) : 0 === (e = a.find(".swiper-cube-shadow")).length && (e = l('
'), a.append(e))); for(var h = 0; h < s.length; h += 1) { var v = s.eq(h), f = h; c && (f = parseint(v.attr("data-swiper-slide-index"), 10)); var m = 90 * f, g = math.floor(m / 360); o && (m = -m, g = math.floor(-m / 360)); var b = math.max(math.min(v[0].progress, 1), -1), w = 0, y = 0, x = 0; f % 4 == 0 ? (w = 4 * -g * l, x = 0) : (f - 1) % 4 == 0 ? (w = 0, x = 4 * -g * l) : (f - 2) % 4 == 0 ? (w = l + 4 * g * l, x = l) : (f - 3) % 4 == 0 && (w = -l, x = 3 * l + 4 * l * g), o && (w = -w), p || (y = w, w = 0); var t = "rotatex(" + (p ? 0 : -m) + "deg) rotatey(" + (p ? m : 0) + "deg) translate3d(" + w + "px, " + y + "px, " + x + "px)"; if(b <= 1 && -1 < b && (u = 90 * f + 90 * b, o && (u = 90 * -f - 90 * b)), v.transform(t), d.slideshadows) { var e = p ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"), s = p ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom"); 0 === e.length && (e = l('
'), v.append(e)), 0 === s.length && (s = l('
'), v.append(s)), e.length && (e[0].style.opacity = math.max(-b, 0)), s.length && (s[0].style.opacity = math.max(b, 0)) } } if(i.css({ "-webkit-transform-origin": "50% 50% -" + l / 2 + "px", "-moz-transform-origin": "50% 50% -" + l / 2 + "px", "-ms-transform-origin": "50% 50% -" + l / 2 + "px", "transform-origin": "50% 50% -" + l / 2 + "px" }), d.shadow) if(p) e.transform("translate3d(0px, " + (r / 2 + d.shadowoffset) + "px, " + -r / 2 + "px) rotatex(90deg) rotatez(0deg) scale(" + d.shadowscale + ")"); else { var c = math.abs(u) - 90 * math.floor(math.abs(u) / 90), m = 1.5 - (math.sin(2 * c * math.pi / 360) / 2 + math.cos(2 * c * math.pi / 360) / 2), z = d.shadowscale, p = d.shadowscale / m, k = d.shadowoffset; e.transform("scale3d(" + z + ", 1, " + p + ") translate3d(0px, " + (n / 2 + k) + "px, " + -n / 2 / p + "px) rotatex(-90deg)") } var $ = i.issafari || i.isuiwebview ? -l / 2 : 0; i.transform("translate3d(0px,0," + $ + "px) rotatex(" + (t.ishorizontal() ? 0 : u) + "deg) rotatey(" + (t.ishorizontal() ? -u : 0) + "deg)") }, settransition: function(e) { var t = this.$el; this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), this.params.cubeeffect.shadow && !this.ishorizontal() && t.find(".swiper-cube-shadow").transition(e) } }, k = { settranslate: function() { for(var e = this, t = e.slides, a = e.rtltranslate, i = 0; i < t.length; i += 1) { var s = t.eq(i), r = s[0].progress; e.params.flipeffect.limitrotation && (r = math.max(math.min(s[0].progress, 1), -1)); var n = -180 * r, o = 0, l = -s[0].swiperslideoffset, d = 0; if(e.ishorizontal() ? a && (n = -n) : (d = l, o = -n, n = l = 0), s[0].style.zindex = -math.abs(math.round(r)) + t.length, e.params.flipeffect.slideshadows) { var p = e.ishorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"), c = e.ishorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom"); 0 === p.length && (p = l('
'), s.append(p)), 0 === c.length && (c = l('
'), s.append(c)), p.length && (p[0].style.opacity = math.max(-r, 0)), c.length && (c[0].style.opacity = math.max(r, 0)) } s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotatex(" + o + "deg) rotatey(" + n + "deg)") } }, settransition: function(e) { var a = this, t = a.slides, i = a.activeindex, s = a.$wrapperel; if(t.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), a.params.virtualtranslate && 0 !== e) { var r = !1; t.eq(i).transitionend(function() { if(!r && a && !a.destroyed) { r = !0, a.animating = !1; for(var e = ["webkittransitionend", "transitionend"], t = 0; t < e.length; t += 1) s.trigger(e[t]) } }) } } }, _ = { settranslate: function() { for(var e = this, t = e.width, a = e.height, i = e.slides, s = e.$wrapperel, r = e.slidessizesgrid, n = e.params.coverfloweffect, o = e.ishorizontal(), l = e.translate, d = o ? t / 2 - l : a / 2 - l, p = o ? n.rotate : -n.rotate, c = n.depth, u = 0, h = i.length; u < h; u += 1) { var v = i.eq(u), f = r[u], m = (d - v[0].swiperslideoffset - f / 2) / f * n.modifier, g = o ? p * m : 0, b = o ? 0 : p * m, w = -c * math.abs(m), y = o ? 0 : n.stretch * m, x = o ? n.stretch * m : 0; math.abs(x) < .001 && (x = 0), math.abs(y) < .001 && (y = 0), math.abs(w) < .001 && (w = 0), math.abs(g) < .001 && (g = 0), math.abs(b) < .001 && (b = 0); var t = "translate3d(" + x + "px," + y + "px," + w + "px) rotatex(" + b + "deg) rotatey(" + g + "deg)"; if(v.transform(t), v[0].style.zindex = 1 - math.abs(math.round(m)), n.slideshadows) { var e = o ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"), s = o ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom"); 0 === e.length && (e = l('
'), v.append(e)), 0 === s.length && (s = l('
'), v.append(s)), e.length && (e[0].style.opacity = 0 < m ? m : 0), s.length && (s[0].style.opacity = 0 < -m ? -m : 0) } }(te.pointerevents || te.prefixedpointerevents) && (s[0].style.perspectiveorigin = d + "px 50%") }, settransition: function(e) { this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e) } }, z = { init: function() { var e = this, t = e.params.thumbs, a = e.constructor; t.swiper instanceof a ? (e.thumbs.swiper = t.swiper, ee.extend(e.thumbs.swiper.originalparams, { watchslidesprogress: !0, slidetoclickedslide: !1 }), ee.extend(e.thumbs.swiper.params, { watchslidesprogress: !0, slidetoclickedslide: !1 })) : ee.isobject(t.swiper) && (e.thumbs.swiper = new a(ee.extend({}, t.swiper, { watchslidesvisibility: !0, watchslidesprogress: !0, slidetoclickedslide: !1 })), e.thumbs.swipercreated = !0), e.thumbs.swiper.$el.addclass(e.params.thumbs.thumbscontainerclass), e.thumbs.swiper.on("tap", e.thumbs.onthumbclick) }, onthumbclick: function() { var e = this, t = e.thumbs.swiper; if(t) { var a = t.clickedindex, i = t.clickedslide; if(!(i && l(i).hasclass(e.params.thumbs.slidethumbactiveclass) || null == a)) { var s; if(s = t.params.loop ? parseint(l(t.clickedslide).attr("data-swiper-slide-index"), 10) : a, e.params.loop) { var r = e.activeindex; e.slides.eq(r).hasclass(e.params.slideduplicateclass) && (e.loopfix(), e._clientleft = e.$wrapperel[0].clientleft, r = e.activeindex); var n = e.slides.eq(r).prevall('[data-swiper-slide-index="' + s + '"]').eq(0).index(), o = e.slides.eq(r).nextall('[data-swiper-slide-index="' + s + '"]').eq(0).index(); s = void 0 === n ? o : void 0 === o ? n : o - r < r - n ? o : n } e.slideto(s) } } }, update: function(e) { var t = this, a = t.thumbs.swiper; if(a) { var i = "auto" === a.params.slidesperview ? a.slidesperviewdynamic() : a.params.slidesperview; if(t.realindex !== a.realindex) { var s, r = a.activeindex; if(a.params.loop) { a.slides.eq(r).hasclass(a.params.slideduplicateclass) && (a.loopfix(), a._clientleft = a.$wrapperel[0].clientleft, r = a.activeindex); var n = a.slides.eq(r).prevall('[data-swiper-slide-index="' + t.realindex + '"]').eq(0).index(), o = a.slides.eq(r).nextall('[data-swiper-slide-index="' + t.realindex + '"]').eq(0).index(); s = void 0 === n ? o : void 0 === o ? n : o - r == r - n ? r : o - r < r - n ? o : n } else s = t.realindex; a.visibleslidesindexes.indexof(s) < 0 && (a.params.centeredslides ? s = r < s ? s - math.floor(i / 2) + 1 : s + math.floor(i / 2) - 1 : r < s && (s = s - i + 1), a.slideto(s, e ? 0 : void 0)) } var l = 1, d = t.params.thumbs.slidethumbactiveclass; if(1 < t.params.slidesperview && !t.params.centeredslides && (l = t.params.slidesperview), a.slides.removeclass(d), a.params.loop) for(var p = 0; p < l; p += 1) a.$wrapperel.children('[data-swiper-slide-index="' + (t.realindex + p) + '"]').addclass(d); else for(var c = 0; c < l; c += 1) a.slides.eq(t.realindex + c).addclass(d) } } }, q = [e, s, c, m, p, $, o, { name: "mousewheel", params: { mousewheel: { enabled: !1, releaseonedges: !1, invert: !1, forcetoaxis: !1, sensitivity: 1, eventstarged: "container" } }, create: function() { var e = this; ee.extend(e, { mousewheel: { enabled: !1, enable: a.enable.bind(e), disable: a.disable.bind(e), handle: a.handle.bind(e), handlemouseenter: a.handlemouseenter.bind(e), handlemouseleave: a.handlemouseleave.bind(e), lastscrolltime: ee.now() } }) }, on: { init: function() { this.params.mousewheel.enabled && this.mousewheel.enable() }, destroy: function() { this.mousewheel.enabled && this.mousewheel.disable() } } }, { name: "navigation", params: { navigation: { nextel: null, prevel: null, hideonclick: !1, disabledclass: "swiper-button-disabled", hiddenclass: "swiper-button-hidden", lockclass: "swiper-button-lock" } }, create: function() { var e = this; ee.extend(e, { navigation: { init: h.init.bind(e), update: h.update.bind(e), destroy: h.destroy.bind(e), onnextclick: h.onnextclick.bind(e), onprevclick: h.onprevclick.bind(e) } }) }, on: { init: function() { this.navigation.init(), this.navigation.update() }, toedge: function() { this.navigation.update() }, fromedge: function() { this.navigation.update() }, destroy: function() { this.navigation.destroy() }, click: function(e) { var t, a = this, i = a.navigation, s = i.$nextel, r = i.$prevel; !a.params.navigation.hideonclick || l(e.target).is(r) || l(e.target).is(s) || (s ? t = s.hasclass(a.params.navigation.hiddenclass) : r && (t = r.hasclass(a.params.navigation.hiddenclass)), !0 === t ? a.emit("navigationshow", a) : a.emit("navigationhide", a), s && s.toggleclass(a.params.navigation.hiddenclass), r && r.toggleclass(a.params.navigation.hiddenclass)) } } }, { name: "pagination", params: { pagination: { el: null, bulletelement: "span", clickable: !1, hideonclick: !1, renderbullet: null, renderprogressbar: null, renderfraction: null, rendercustom: null, progressbaropposite: !1, type: "bullets", dynamicbullets: !1, dynamicmainbullets: 1, formatfractioncurrent: function(e) { return e }, formatfractiontotal: function(e) { return e }, bulletclass: "swiper-pagination-bullet", bulletactiveclass: "swiper-pagination-bullet-active", modifierclass: "swiper-pagination-", currentclass: "swiper-pagination-current", totalclass: "swiper-pagination-total", hiddenclass: "swiper-pagination-hidden", progressbarfillclass: "swiper-pagination-progressbar-fill", progressbaroppositeclass: "swiper-pagination-progressbar-opposite", clickableclass: "swiper-pagination-clickable", lockclass: "swiper-pagination-lock" } }, create: function() { var e = this; ee.extend(e, { pagination: { init: n.init.bind(e), render: n.render.bind(e), update: n.update.bind(e), destroy: n.destroy.bind(e), dynamicbulletindex: 0 } }) }, on: { init: function() { this.pagination.init(), this.pagination.render(), this.pagination.update() }, activeindexchange: function() { this.params.loop ? this.pagination.update() : void 0 === this.snapindex && this.pagination.update() }, snapindexchange: function() { this.params.loop || this.pagination.update() }, slideslengthchange: function() { this.params.loop && (this.pagination.render(), this.pagination.update()) }, snapgridlengthchange: function() { this.params.loop || (this.pagination.render(), this.pagination.update()) }, destroy: function() { this.pagination.destroy() }, click: function(e) { var t = this; t.params.pagination.el && t.params.pagination.hideonclick && 0 < t.pagination.$el.length && !l(e.target).hasclass(t.params.pagination.bulletclass) && (!0 === t.pagination.$el.hasclass(t.params.pagination.hiddenclass) ? t.emit("paginationshow", t) : t.emit("paginationhide", t), t.pagination.$el.toggleclass(t.params.pagination.hiddenclass)) } } }, { name: "scrollbar", params: { scrollbar: { el: null, dragsize: "auto", hide: !1, draggable: !1, snaponrelease: !0, lockclass: "swiper-scrollbar-lock", dragclass: "swiper-scrollbar-drag" } }, create: function() { var e = this; ee.extend(e, { scrollbar: { init: g.init.bind(e), destroy: g.destroy.bind(e), updatesize: g.updatesize.bind(e), settranslate: g.settranslate.bind(e), settransition: g.settransition.bind(e), enabledraggable: g.enabledraggable.bind(e), disabledraggable: g.disabledraggable.bind(e), setdragposition: g.setdragposition.bind(e), ondragstart: g.ondragstart.bind(e), ondragmove: g.ondragmove.bind(e), ondragend: g.ondragend.bind(e), istouched: !1, timeout: null, dragtimeout: null } }) }, on: { init: function() { this.scrollbar.init(), this.scrollbar.updatesize(), this.scrollbar.settranslate() }, update: function() { this.scrollbar.updatesize() }, resize: function() { this.scrollbar.updatesize() }, observerupdate: function() { this.scrollbar.updatesize() }, settranslate: function() { this.scrollbar.settranslate() }, settransition: function(e) { this.scrollbar.settransition(e) }, destroy: function() { this.scrollbar.destroy() } } }, { name: "parallax", params: { parallax: { enabled: !1 } }, create: function() { ee.extend(this, { parallax: { settransform: b.settransform.bind(this), settranslate: b.settranslate.bind(this), settransition: b.settransition.bind(this) } }) }, on: { beforeinit: function() { this.params.parallax.enabled && (this.params.watchslidesprogress = !0, this.originalparams.watchslidesprogress = !0) }, init: function() { this.params.parallax.enabled && this.parallax.settranslate() }, settranslate: function() { this.params.parallax.enabled && this.parallax.settranslate() }, settransition: function(e) { this.params.parallax.enabled && this.parallax.settransition(e) } } }, { name: "zoom", params: { zoom: { enabled: !1, maxratio: 3, minratio: 1, toggle: !0, containerclass: "swiper-zoom-container", zoomedslideclass: "swiper-slide-zoomed" } }, create: function() { var i = this, t = { enabled: !1, scale: 1, currentscale: 1, isscaling: !1, gesture: { $slideel: void 0, slidewidth: void 0, slideheight: void 0, $imageel: void 0, $imagewrapel: void 0, maxratio: 3 }, 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 } }; "ongesturestart ongesturechange ongestureend ontouchstart ontouchmove ontouchend ontransitionend toggle enable disable in out".split(" ").foreach(function(e) { t[e] = x[e].bind(i) }), ee.extend(i, { zoom: t }); var s = 1; object.defineproperty(i.zoom, "scale", { get: function() { return s }, set: function(e) { if(s !== e) { var t = i.zoom.gesture.$imageel ? i.zoom.gesture.$imageel[0] : void 0, a = i.zoom.gesture.$slideel ? i.zoom.gesture.$slideel[0] : void 0; i.emit("zoomchange", e, t, a) } s = e } }) }, on: { init: function() { this.params.zoom.enabled && this.zoom.enable() }, destroy: function() { this.zoom.disable() }, touchstart: function(e) { this.zoom.enabled && this.zoom.ontouchstart(e) }, touchend: function(e) { this.zoom.enabled && this.zoom.ontouchend(e) }, doubletap: function(e) { this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e) }, transitionend: function() { this.zoom.enabled && this.params.zoom.enabled && this.zoom.ontransitionend() } } }, { name: "lazy", params: { lazy: { enabled: !1, loadprevnext: !1, loadprevnextamount: 1, loadontransitionstart: !1, elementclass: "swiper-lazy", loadingclass: "swiper-lazy-loading", loadedclass: "swiper-lazy-loaded", preloaderclass: "swiper-lazy-preloader" } }, create: function() { ee.extend(this, { lazy: { initialimageloaded: !1, load: y.load.bind(this), loadinslide: y.loadinslide.bind(this) } }) }, on: { beforeinit: function() { this.params.lazy.enabled && this.params.preloadimages && (this.params.preloadimages = !1) }, init: function() { this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialslide && this.lazy.load() }, scroll: function() { this.params.freemode && !this.params.freemodesticky && this.lazy.load() }, resize: function() { this.params.lazy.enabled && this.lazy.load() }, scrollbardragmove: function() { this.params.lazy.enabled && this.lazy.load() }, transitionstart: function() { var e = this; e.params.lazy.enabled && (e.params.lazy.loadontransitionstart || !e.params.lazy.loadontransitionstart && !e.lazy.initialimageloaded) && e.lazy.load() }, transitionend: function() { this.params.lazy.enabled && !this.params.lazy.loadontransitionstart && this.lazy.load() } } }, { name: "controller", params: { controller: { control: void 0, inverse: !1, by: "slide" } }, create: function() { var e = this; ee.extend(e, { controller: { control: e.params.controller.control, getinterpolatefunction: v.getinterpolatefunction.bind(e), settranslate: v.settranslate.bind(e), settransition: v.settransition.bind(e) } }) }, on: { update: function() { this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) }, resize: function() { this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) }, observerupdate: function() { this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) }, settranslate: function(e, t) { this.controller.control && this.controller.settranslate(e, t) }, settransition: function(e, t) { this.controller.control && this.controller.settransition(e, t) } } }, { name: "a11y", params: { a11y: { enabled: !0, notificationclass: "swiper-notification", prevslidemessage: "previous slide", nextslidemessage: "next slide", firstslidemessage: "this is the first slide", lastslidemessage: "this is the last slide", paginationbulletmessage: "go to slide {{index}}" } }, create: function() { var t = this; ee.extend(t, { a11y: { liveregion: l('') } }), object.keys(f).foreach(function(e) { t.a11y[e] = f[e].bind(t) }) }, on: { init: function() { this.params.a11y.enabled && (this.a11y.init(), this.a11y.updatenavigation()) }, toedge: function() { this.params.a11y.enabled && this.a11y.updatenavigation() }, fromedge: function() { this.params.a11y.enabled && this.a11y.updatenavigation() }, paginationupdate: function() { this.params.a11y.enabled && this.a11y.updatepagination() }, destroy: function() { this.params.a11y.enabled && this.a11y.destroy() } } }, { name: "history", params: { history: { enabled: !1, replacestate: !1, key: "slides" } }, create: function() { var e = this; ee.extend(e, { history: { init: r.init.bind(e), sethistory: r.sethistory.bind(e), sethistorypopstate: r.sethistorypopstate.bind(e), scrolltoslide: r.scrolltoslide.bind(e), destroy: r.destroy.bind(e) } }) }, on: { init: function() { this.params.history.enabled && this.history.init() }, destroy: function() { this.params.history.enabled && this.history.destroy() }, transitionend: function() { this.history.initialized && this.history.sethistory(this.params.history.key, this.activeindex) } } }, { name: "hash-navigation", params: { hashnavigation: { enabled: !1, replacestate: !1, watchstate: !1 } }, create: function() { var e = this; ee.extend(e, { hashnavigation: { initialized: !1, init: q.init.bind(e), destroy: q.destroy.bind(e), sethash: q.sethash.bind(e), onhashcange: q.onhashcange.bind(e) } }) }, on: { init: function() { this.params.hashnavigation.enabled && this.hashnavigation.init() }, destroy: function() { this.params.hashnavigation.enabled && this.hashnavigation.destroy() }, transitionend: function() { this.hashnavigation.initialized && this.hashnavigation.sethash() } } }, { name: "autoplay", params: { autoplay: { enabled: !1, delay: 3e3, waitfortransition: !0, disableoninteraction: !0, stoponlastslide: !1, reversedirection: !1 } }, create: function() { var t = this; ee.extend(t, { autoplay: { running: !1, paused: !1, run: w.run.bind(t), start: w.start.bind(t), stop: w.stop.bind(t), pause: w.pause.bind(t), ontransitionend: function(e) { t && !t.destroyed && t.$wrapperel && e.target === this && (t.$wrapperel[0].removeeventlistener("transitionend", t.autoplay.ontransitionend), t.$wrapperel[0].removeeventlistener("webkittransitionend", t.autoplay.ontransitionend), t.autoplay.paused = !1, t.autoplay.running ? t.autoplay.run() : t.autoplay.stop()) } } }) }, on: { init: function() { this.params.autoplay.enabled && this.autoplay.start() }, beforetransitionstart: function(e, t) { this.autoplay.running && (t || !this.params.autoplay.disableoninteraction ? this.autoplay.pause(e) : this.autoplay.stop()) }, sliderfirstmove: function() { this.autoplay.running && (this.params.autoplay.disableoninteraction ? this.autoplay.stop() : this.autoplay.pause()) }, destroy: function() { this.autoplay.running && this.autoplay.stop() } } }, { name: "effect-fade", params: { fadeeffect: { crossfade: !1 } }, create: function() { ee.extend(this, { fadeeffect: { settranslate: j.settranslate.bind(this), settransition: j.settransition.bind(this) } }) }, on: { beforeinit: function() { var e = this; if("fade" === e.params.effect) { e.classnames.push(e.params.containermodifierclass + "fade"); var t = { slidesperview: 1, slidespercolumn: 1, slidespergroup: 1, watchslidesprogress: !0, spacebetween: 0, virtualtranslate: !0 }; ee.extend(e.params, t), ee.extend(e.originalparams, t) } }, settranslate: function() { "fade" === this.params.effect && this.fadeeffect.settranslate() }, settransition: function(e) { "fade" === this.params.effect && this.fadeeffect.settransition(e) } } }, { name: "effect-cube", params: { cubeeffect: { slideshadows: !0, shadow: !0, shadowoffset: 20, shadowscale: .94 } }, create: function() { ee.extend(this, { cubeeffect: { settranslate: u.settranslate.bind(this), settransition: u.settransition.bind(this) } }) }, on: { beforeinit: function() { var e = this; if("cube" === e.params.effect) { e.classnames.push(e.params.containermodifierclass + "cube"), e.classnames.push(e.params.containermodifierclass + "3d"); var t = { slidesperview: 1, slidespercolumn: 1, slidespergroup: 1, watchslidesprogress: !0, resistanceratio: 0, spacebetween: 0, centeredslides: !1, virtualtranslate: !0 }; ee.extend(e.params, t), ee.extend(e.originalparams, t) } }, settranslate: function() { "cube" === this.params.effect && this.cubeeffect.settranslate() }, settransition: function(e) { "cube" === this.params.effect && this.cubeeffect.settransition(e) } } }, { name: "effect-flip", params: { flipeffect: { slideshadows: !0, limitrotation: !0 } }, create: function() { ee.extend(this, { flipeffect: { settranslate: k.settranslate.bind(this), settransition: k.settransition.bind(this) } }) }, on: { beforeinit: function() { var e = this; if("flip" === e.params.effect) { e.classnames.push(e.params.containermodifierclass + "flip"), e.classnames.push(e.params.containermodifierclass + "3d"); var t = { slidesperview: 1, slidespercolumn: 1, slidespergroup: 1, watchslidesprogress: !0, spacebetween: 0, virtualtranslate: !0 }; ee.extend(e.params, t), ee.extend(e.originalparams, t) } }, settranslate: function() { "flip" === this.params.effect && this.flipeffect.settranslate() }, settransition: function(e) { "flip" === this.params.effect && this.flipeffect.settransition(e) } } }, { name: "effect-coverflow", params: { coverfloweffect: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideshadows: !0 } }, create: function() { ee.extend(this, { coverfloweffect: { settranslate: _.settranslate.bind(this), settransition: _.settransition.bind(this) } }) }, on: { beforeinit: function() { var e = this; "coverflow" === e.params.effect && (e.classnames.push(e.params.containermodifierclass + "coverflow"), e.classnames.push(e.params.containermodifierclass + "3d"), e.params.watchslidesprogress = !0, e.originalparams.watchslidesprogress = !0) }, settranslate: function() { "coverflow" === this.params.effect && this.coverfloweffect.settranslate() }, settransition: function(e) { "coverflow" === this.params.effect && this.coverfloweffect.settransition(e) } } }, { name: "thumbs", params: { thumbs: { swiper: null, slidethumbactiveclass: "swiper-slide-thumb-active", thumbscontainerclass: "swiper-container-thumbs" } }, create: function() { ee.extend(this, { thumbs: { swiper: null, init: z.init.bind(this), update: z.update.bind(this), onthumbclick: z.onthumbclick.bind(this) } }) }, on: { beforeinit: function() { var e = this.params.thumbs; e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0)) }, slidechange: function() { this.thumbs.swiper && this.thumbs.update() }, update: function() { this.thumbs.swiper && this.thumbs.update() }, resize: function() { this.thumbs.swiper && this.thumbs.update() }, observerupdate: function() { this.thumbs.swiper && this.thumbs.update() }, settransition: function(e) { var t = this.thumbs.swiper; t && t.settransition(e) }, beforedestroy: function() { var e = this.thumbs.swiper; e && this.thumbs.swipercreated && e && e.destroy() } } }]; return void 0 === t.use && (t.use = t.class.use, t.installmodule = t.class.installmodule), t.use(q), t }); //# sourcemappingurl=swiper.min.js.map