1! function() { 2 "use strict"; 3 4 function e(e) { 5 var t = ["MSIE ", "Trident/", "Edge/"]; 6 return new RegExp(t.join("|")).test(e) 7 } 8 9 function t() { 10 function t(e, t) { 11 this.scrollLeft = e, this.scrollTop = t 12 } 13 14 function s(e) { 15 return .5 * (1 - Math.cos(Math.PI * e)) 16 } 17 18 function n(e) { 19 if (null === e || "object" != typeof e || void 0 === e.behavior || "auto" === e.behavior || "instant" === e.behavior) return !0; 20 if ("object" == typeof e && "smooth" === e.behavior) return !1; 21 throw new TypeError("behavior member of ScrollOptions " + e.behavior + " is not a valid value for enumeration ScrollBehavior.") 22 } 23 24 function r(e, t) { 25 return "Y" === t ? e.clientHeight + f < e.scrollHeight : "X" === t ? e.clientWidth + f < e.scrollWidth : void 0 26 } 27 28 function o(e, t) { 29 var i = a.getComputedStyle(e, null)["overflow" + t]; 30 return "auto" === i || "scroll" === i 31 } 32 33 function l(e) { 34 var t = r(e, "Y") && o(e, "Y"), 35 a = r(e, "X") && o(e, "X"); 36 return t || a 37 } 38 39 function d(e) { 40 var t; 41 do { 42 e = e.parentNode, t = e === i.body 43 } while (!1 === t && !1 === l(e)); 44 return t = null, e 45 } 46 47 function c(e) { 48 var t, i, n, r = m(), 49 o = (r - e.startTime) / h; 50 o = o > 1 ? 1 : o, t = s(o), i = e.startX + (e.x - e.startX) * t, n = e.startY + (e.y - e.startY) * t, e.method.call(e.scrollable, i, n), i === e.x && n === e.y || a.requestAnimationFrame(c.bind(a, e)) 51 } 52 53 function u(e, s, n) { 54 var r, o, l, d, u = m(); 55 e === i.body ? (r = a, o = a.scrollX || a.pageXOffset, l = a.scrollY || a.pageYOffset, d = v.scroll) : (r = e, o = e.scrollLeft, l = e.scrollTop, d = t), c({ 56 scrollable: r, 57 method: d, 58 startTime: u, 59 startX: o, 60 startY: l, 61 x: s, 62 y: n 63 }) 64 } 65 if (!("scrollBehavior" in i.documentElement.style && !0 !== a.__forceSmoothScrollPolyfill__)) { 66 var p = a.HTMLElement || a.Element, 67 h = 468, 68 f = e(a.navigator.userAgent) ? 1 : 0, 69 v = { 70 scroll: a.scroll || a.scrollTo, 71 scrollBy: a.scrollBy, 72 elementScroll: p.prototype.scroll || t, 73 scrollIntoView: p.prototype.scrollIntoView 74 }, 75 m = a.performance && a.performance.now ? a.performance.now.bind(a.performance) : Date.now; 76 a.scroll = a.scrollTo = function() { 77 if (void 0 !== arguments[0]) return !0 === n(arguments[0]) ? void v.scroll.call(a, void 0 !== arguments[0].left ? arguments[0].left : "object" != typeof arguments[0] ? arguments[0] : a.scrollX || a.pageXOffset, void 0 !== arguments[0].top ? arguments[0].top : void 0 !== arguments[1] ? arguments[1] : a.scrollY || a.pageYOffset) : void u.call(a, i.body, void 0 !== arguments[0].left ? ~~arguments[0].left : a.scrollX || a.pageXOffset, void 0 !== arguments[0].top ? ~~arguments[0].top : a.scrollY || a.pageYOffset) 78 }, a.scrollBy = function() { 79 if (void 0 !== arguments[0]) return n(arguments[0]) ? void v.scrollBy.call(a, void 0 !== arguments[0].left ? arguments[0].left : "object" != typeof arguments[0] ? arguments[0] : 0, void 0 !== arguments[0].top ? arguments[0].top : void 0 !== arguments[1] ? arguments[1] : 0) : void u.call(a, i.body, ~~arguments[0].left + (a.scrollX || a.pageXOffset), ~~arguments[0].top + (a.scrollY || a.pageYOffset)) 80 }, p.prototype.scroll = p.prototype.scrollTo = function() { 81 if (void 0 !== arguments[0]) { 82 if (!0 === n(arguments[0])) { 83 if ("number" == typeof arguments[0] && void 0 === arguments[1]) throw new SyntaxError("Value couldn't be converted"); 84 return void v.elementScroll.call(this, void 0 !== arguments[0].left ? ~~arguments[0].left : "object" != typeof arguments[0] ? ~~arguments[0] : this.scrollLeft, void 0 !== arguments[0].top ? ~~arguments[0].top : void 0 !== arguments[1] ? ~~arguments[1] : this.scrollTop) 85 } 86 var e = arguments[0].left, 87 t = arguments[0].top; 88 u.call(this, this, void 0 === e ? this.scrollLeft : ~~e, void 0 === t ? this.scrollTop : ~~t) 89 } 90 }, p.prototype.scrollBy = function() { 91 if (void 0 !== arguments[0]) return !0 === n(arguments[0]) ? void v.elementScroll.call(this, void 0 !== arguments[0].left ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, void 0 !== arguments[0].top ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop) : void this.scroll({ 92 left: ~~arguments[0].left + this.scrollLeft, 93 top: ~~arguments[0].top + this.scrollTop, 94 behavior: arguments[0].behavior 95 }) 96 }, p.prototype.scrollIntoView = function() { 97 if (!0 === n(arguments[0])) return void v.scrollIntoView.call(this, void 0 === arguments[0] || arguments[0]); 98 var e = d(this), 99 t = e.getBoundingClientRect(), 100 s = this.getBoundingClientRect(); 101 e !== i.body ? (u.call(this, e, e.scrollLeft + s.left - t.left, e.scrollTop + s.top - t.top), "fixed" !== a.getComputedStyle(e).position && a.scrollBy({ 102 left: t.left, 103 top: t.top, 104 behavior: "smooth" 105 })) : a.scrollBy({ 106 left: s.left, 107 top: s.top, 108 behavior: "smooth" 109 }) 110 } 111 } 112 } 113 var a = window, 114 i = document; 115 "object" == typeof exports ? module.exports = { 116 polyfill: t 117 } : t() 118}(), window.addEventListener('load', function() { 119 var e = function() { 120 if (!document.getElementsByClassName("js-disableForm").length) { 121 var e = !1; 122 [].forEach.call(document.querySelectorAll(".js-radioContainer, .js-termsInput"), function(t) { 123 var a = document.getElementsByClassName("js-warnings-" + t.getAttribute("data-name"))[0]; 124 a && (t.querySelector(".is-checked") ? a.classList.add("is-hidden") : (a.classList.remove("is-hidden"), e = !0)) 125 }); 126 var t = document.getElementsByClassName("js-warnings-heading")[0], 127 a = document.getElementsByClassName("js-storeButton")[0]; 128 if (e) t.classList.remove("is-hidden"), a.classList.add("is-disabled"); 129 else { 130 if (t.classList.add("is-hidden"), !a.hasAttribute("data-single-destination")) { 131 var i = {}; 132 [].forEach.call(document.querySelectorAll("input:checked"), function(e) { 133 i[e.getAttribute("name")] = e.getAttribute("value") 134 }); 135 var s = JSON.parse(a.getAttribute("data-destination-factor")).map(function(e) { 136 return i[e] 137 }).filter(function(e) { 138 return !!e 139 }).join("-"); 140 a.setAttribute("href", a.getAttribute("data-base-url") + a.getAttribute("data-" + s)) 141 } 142 a.classList.remove("is-disabled") 143 } 144 } 145 }; 146 [].forEach.call(document.querySelectorAll("a[href^='#']"), function(e) { 147 e.addEventListener("click", function(t) { 148 t.preventDefault(); 149 var a = e.getAttribute("href"), 150 i = document.querySelector("#" == a || "" == a ? "html" : a); 151 return window.scrollBy({ 152 top: i.getBoundingClientRect().top, 153 left: 0, 154 behavior: "smooth" 155 }), !1 156 }) 157 }); 158 var t, a, i = window.innerWidth - document.body.scrollWidth, 159 s = function() { 160 t = document.documentElement.scrollTop || document.body.scrollTop, a = !!document.documentElement.scrollTop, document.querySelector("body").setAttribute("style", "position: fixed; top: " + -1 * t + "px; width: 100%; padding-right: " + i + "px;") 161 }, 162 n = function() { 163 document.querySelector("body").removeAttribute("style"), a ? document.documentElement.scrollTop = t : document.body.scrollTop = t 164 }; 165 [].forEach.call(document.getElementsByClassName("js-triggerModal"), function(e) { 166 e.addEventListener("click", function(t) { 167 t.preventDefault(), document.getElementById(e.getAttribute("href").replace("#", "")).classList.add("is-shown"), s() 168 }) 169 }), [].forEach.call(document.getElementsByClassName("js-closeModal"), function(e) { 170 e.addEventListener("click", function() { 171 document.querySelector(".c-modal.is-shown").classList.remove("is-shown"), n() 172 }) 173 }), [].forEach.call(document.getElementsByClassName("js-modalInner"), function(e) { 174 e.addEventListener("click", function(e) { 175 e.stopPropagation() 176 }) 177 }), [].forEach.call(document.getElementsByClassName("js-radioContainer"), function(t) { 178 var a = t.querySelectorAll(".js-radio"); 179 [].forEach.call(a, function(t) { 180 t.addEventListener("click", function(i) { 181 i.preventDefault(), i.stopPropagation(), [].forEach.call(a, function(e) { 182 e.classList.remove("is-checked"), e.getElementsByClassName("js-radioInput")[0].checked = !1 183 }), t.classList.add("is-checked"), t.getElementsByClassName("js-radioInput")[0].checked = !0, e() 184 }) 185 }) 186 }), [].forEach.call(document.getElementsByClassName("js-checkbox"), function(t) { 187 t.addEventListener("click", function(a) { 188 a.preventDefault(), a.stopPropagation(), t.classList.contains("is-disabled") || (t.getElementsByClassName("js-checkboxInput")[0].checked ? (t.classList.remove("is-checked"), t.getElementsByClassName("js-checkboxInput")[0].checked = !1) : (t.classList.add("is-checked"), t.getElementsByClassName("js-checkboxInput")[0].checked = !0), e()) 189 }) 190 }); 191 var r = document.querySelector(".js-termsInput .js-checkbox"); 192 r && r.addEventListener("click", e); 193 var o = function(e) { 194 return e ? e.toString().replace(/(\d)(?=(\d\d\d)+$)/g, "$1,") : "0" 195 }; 196 [].forEach.call(document.getElementsByClassName("js-price"), function(e) { 197 [].filter.call(e.attributes, function(e) { 198 return /^data-price/.test(e.name) 199 }
199).forEach(function(t) { 200 var a = e.querySelector(".js-" + t.name.replace(/data-/g, "") + " span"); 201 a && (a.innerHTML = o(t.value)) 202 }); 203 var t = function() { 204 var e = { 205 initial: 0, 206 basic: 0 207 }, 208 t = []; 209 [].forEach.call(document.querySelectorAll(".js-price.is-checked"), function(a) { 210 [].filter.call(a.attributes, function(e) { 211 return /^data-price/.test(e.name) 212 }).forEach(function(t) { 213 var a = t.name.replace(/data-price-/g, ""); 214 e[a] = e[a] + parseInt(t.value) 215 }); 216 var i = a.getElementsByTagName("input")[0]; 217 i && t.push(i.getAttribute("value")) 218 }); 219 var a = document.querySelector('[data-name="care-support"] .is-checked'), 220 i = a && a.getAttribute("data-price-initial"), 221 s = "20000" === i ? 2 * Number(i) : 0, 222 n = e.basic < 3e3 ? 36 * e.basic : e.basic; 223 e.total = e.initial + s + n, Object.keys(e).forEach(function(t) { 224 document.querySelector(".js-amount-" + t + " span").innerHTML = o(e[t]) 225 }), [].forEach.call(document.getElementsByClassName("js-togglable"), function(e) { 226 t.indexOf(e.getAttribute("data-value")) >= 0 ? e.classList.add("is-shown") : e.classList.remove("is-shown") 227 }) 228 }; 229 t(), e.addEventListener("click", t) 230 }), 231 function(e, t) { 232 "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? module.exports = t() : e.download = t() 233 }(this, function() { 234 return function e(t, a, i) { 235 function s(e) { 236 var t = e.split(/[:;,]/), 237 a = t[1], 238 i = "base64" == t[2] ? atob : decodeURIComponent, 239 s = i(t.pop()), 240 n = s.length, 241 r = 0, 242 o = new Uint8Array(n); 243 for (r; r < n; ++r) o[r] = s.charCodeAt(r); 244 return new v([o], { 245 type: a 246 }) 247 } 248 249 function n(e, t) { 250 if ("download" in h) return h.href = e, h.setAttribute("download", m), h.className = "download-js-link", h.innerHTML = "downloading...", h.style.display = "none", document.body.appendChild(h), setTimeout(function() { 251 h.click(), document.body.removeChild(h), !0 === t && setTimeout(function() { 252 l.URL.revokeObjectURL(h.href) 253 }, 250) 254 }, 66), !0; 255 if (/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent)) return /^data:/.test(e) && (e = "data:" + e.replace(/^data:([\w\/\-\+]+)/, d)), window.open(e) || confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.") && (location.href = e), !0; 256 var a = document.createElement("iframe"); 257 document.body.appendChild(a), !t && /^data:/.test(e) && (e = "data:" + e.replace(/^data:([\w\/\-\+]+)/, d)), a.src = e, setTimeout(function() { 258 document.body.removeChild(a) 259 }, 333) 260 } 261 var r, o, l = window, 262 d = "application/octet-stream", 263 c = i || d, 264 u = t, 265 p = !a && !i && u, 266 h = document.createElement("a"), 267 f = function(e) { 268 return String(e) 269 }, 270 v = l.Blob || l.MozBlob || l.WebKitBlob || f, 271 m = a || "download"; 272 if (v = v.call ? v.bind(l) : Blob, "true" === String(this) && (u = [u, c], c = u[0], u = u[1]), p && p.length < 2048 && (m = p.split("/").pop().split("?")[0], h.href = p, -1 !== h.href.indexOf(p))) { 273 var g = new XMLHttpRequest; 274 return g.open("GET", p, !0), g.responseType = "blob", g.onload = function(t) { 275 e(t.target.response, m, d) 276 }, setTimeout(function() { 277 g.send() 278 }, 0), g 279 } 280 if (/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(u)) { 281 if (!(u.length > 2096103.424 && v !== f)) return navigator.msSaveBlob ? navigator.msSaveBlob(s(u), m) : n(u); 282 u = s(u), c = u.type || d 283 } else if (/([\x80-\xff])/.test(u)) { 284 var b = 0, 285 y = new Uint8Array(u.length), 286 w = y.length; 287 for (b; b < w; ++b) y[b] = u.charCodeAt(b); 288 u = new v([y], { 289 type: c 290 }) 291 } 292 if (r = u instanceof v ? u : new v([u], { 293 type: c 294 }), navigator.msSaveBlob) return navigator.msSaveBlob(r, m); 295 if (l.URL) n(l.URL.createObjectURL(r), !0); 296 else { 297 if ("string" == typeof r || r.constructor === f) try { 298 return n("data:" + c + ";base64," + l.btoa(r)) 299 } catch (e) { 300 return n("data:" + c + "," + encodeURIComponent(r)) 301 } 302 o = new FileReader, o.onload = function(e) { 303 n(this.result) 304 }, o.readAsDataURL(r) 305 } 306 return !0 307 } 308 }), [].forEach.call(document.getElementsByClassName("js-download"), function(e) { 309 e.addEventListener("click", function(t) { 310 t.preventDefault(), t.stopPropagation(), download(e.getAttribute("data-filepath")) 311 }) 312 }), 313 function(e, t) { 314 "use strict"; 315 "function" == typeof define && define.amd ? define(t) : "object" == typeof exports ? module.exports = t() : e.baguetteBox = t() 316 }(this, function() { 317 "use strict"; 318 319 function e(e, a) { 320 X.transforms = w(), X.svg = x(), s(), i(e), t(e, a) 321 } 322 323 function t(e, t) { 324 var a = document.querySelectorAll(e), 325 i = { 326 galleries: [], 327 nodeList: a 328 };
329 F[e] = i, [].forEach.call(a, function(e) { 330 t && t.filter && (q = t.filter); 331 var a = []; 332 if (a = "A" === e.tagName ? [e] : e.getElementsByTagName("a"), a = [].filter.call(a, function(e) { 333 if (-1 === e.className.indexOf(t && t.ignoreClass)) return q.test(e.href) 334 }), 0 !== a.length) { 335 var s = []; 336 [].forEach.call(a, function(e, a) { 337 var i = function(e) { 338 e.preventDefault ? e.preventDefault() : e.returnValue = !1, l(s, t), c(a) 339 }, 340 n = { 341 eventHandler: i, 342 imageElement: e 343 }; 344 C(e, "click", i), s.push(n) 345 }), i.galleries.push(s) 346 } 347 }) 348 } 349 350 function a() { 351 for (var e in F) F.hasOwnProperty(e) && i(e) 352 } 353 354 function i(e) { 355 if (F.hasOwnProperty(e)) { 356 var t = F[e].galleries; 357 [].forEach.call(t, function(e) { 358 [].forEach.call(e, function(e) { 359 S(e.imageElement, "click", e.eventHandler) 360 }), Y === e && (Y = []) 361 }), delete F[e] 362 } 363 } 364 365 function s() { 366 if (L = M("baguetteBox-overlay")) return z = M("baguetteBox-slider"), I = M("previous-button"), $ = M("next-button"), void(B = M("close-button")); 367 L = k("div"), L.setAttribute("role", "dialog"), L.id = "baguetteBox-overlay", document.getElementsByTagName("body")[0].appendChild(L), z = k("div"), z.id = "baguetteBox-slider", L.appendChild(z), I = k("button"), I.setAttribute("type", "button"), I.id = "previous-button", I.setAttribute("aria-label", "Previous"), I.innerHTML = X.svg ? D : "<", L.appendChild(I), $ = k("button"), $.setAttribute("type", "button"), $.id = "next-button", $.setAttribute("aria-label", "Next"), $.innerHTML = X.svg ? A : ">", L.appendChild($), B = k("button"), B.setAttribute("type", "button"), B.id = "close-button", B.setAttribute("aria-label", "Close"), B.innerHTML = X.svg ? O : "×", L.appendChild(B), I.className = $.className = B.className = "baguetteBox-button", r() 368 } 369 370 function n(e) { 371 switch (e.keyCode) { 372 case 37: 373 b(); 374 break; 375 case 39: 376 g(); 377 break; 378 case 27: 379 f() 380 } 381 } 382 383 function r() { 384 C(L, "click", U), C(I, "click", _), C($, "click", K), C(B, "click", J), C(z, "contextmenu", te), C(L, "touchstart", Z), C(L, "touchmove", Q), C(L, "touchend", ee), C(document, "focus", ae, !0) 385 } 386 387 function o() { 388 S(L, "click", U), S(I, "click", _), S($, "click", K), S(B, "click", J), S(z, "contextmenu", te), S(L, "touchstart", Z), S(L, "touchmove", Q), S(L, "touchend", ee), S(document, "focus", ae, !0) 389 } 390 391 function l(e, t) { 392 if (Y !== e) { 393 for (Y = e, d(t); z.firstChild;) z.removeChild(z.firstChild); 394 R.length = 0; 395 for (var a, i = [], s = [], n = 0; n < e.length; n++) a = k("div"), a.className = "full-image", a.id = "baguette-img-" + n, R.push(a), i.push("baguetteBox-figure-" + n), s.push("baguetteBox-figcaption-" + n), z.appendChild(R[n]); 396 L.setAttribute("aria-labelledby", i.join(" ")), L.setAttribute("aria-describedby", s.join(" ")) 397 } 398 } 399 400 function d(e) { 401 e || (e = {}); 402 for (var t in H) N[t] = H[t], void 0 !== e[t] && (N[t] = e[t]); 403 z.style.transition = z.style.webkitTransition = "fadeIn" === N.animation ? "opacity .4s ease" : "slideIn" === N.animation ? "" : "none", "auto" === N.buttons && ("ontouchstart" in window || 1 === Y.length) && (N.buttons = !1), I.style.display = $.style.display = N.buttons ? "" : "none"; 404 try { 405 L.style.backgroundColor = N.overlayBackgroundColor 406 } catch (e) {} 407 } 408 409 function c(e) { 410 N.noScrollbars && (document.documentElement.style.overflowY = "hidden", document.body.style.overflowY = "scroll"), "block" !== L.style.display && (C(document, "keydown", n), G = e, V = { 411 count: 0, 412 startX: null, 413 startY: null 414 }, v(G, function() { 415 E(G), T(G) 416 }), y(), L.style.display = "block", N.fullScreen && p(), setTimeout(function() { 417 L.className = "visible", N.bodyClass && document.body.classList && document.body.classList.add(N.bodyClass), N.afterShow && N.afterShow() 418 }, 50), N.onChange && N.onChange(G, R.length), W = document.activeElement, u()) 419 } 420 421 function u() { 422 N.buttons ? I.focus() : B.focus() 423 } 424 425 function p() { 426 L.requestFullscreen ? L.requestFullscreen() : L.webkitRequestFullscreen ? L.webkitRequestFullscreen() : L.mozRequestFullScreen && L.mozRequestFullScreen() 427 } 428 429 function h() { 430 document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen && document.webkitExitFullscreen() 431 } 432 433 function f() { 434 N.noScrollbars && (document.documentElement.style.overflowY = "auto", document.body.style.overflowY = "auto"), "none" !== L.style.display && (S(document, "keydown", n), L.className = "", setTimeout(function() { 435 L.style.display = "none", h(), N.bodyClass && document.body.classList && document.body.classList.remove(N.bodyClass), N.afterHide && N.afterHide(), W && W.focu
435s() 436 }, 500)) 437 } 438 439 function v(e, t) { 440 var a = R[e], 441 i = Y[e]; 442 if (void 0 !== a && void 0 !== i) { 443 if (a.getElementsByTagName("img")[0]) return void(t && t()); 444 var s = i.imageElement, 445 n = s.getElementsByTagName("img")[0], 446 r = "function" == typeof N.captions ? N.captions.call(Y, s) : s.getAttribute("data-caption") || s.title, 447 o = m(s), 448 l = k("figure"); 449 if (l.id = "baguetteBox-figure-" + e, l.innerHTML = '<div class="baguetteBox-spinner"><div class="baguetteBox-double-bounce1"></div><div class="baguetteBox-double-bounce2"></div></div>', N.captions && r) { 450 var d = k("figcaption"); 451 d.id = "baguetteBox-figcaption-" + e, d.innerHTML = r, l.appendChild(d) 452 } 453 a.appendChild(l); 454 var c = k("img"); 455 c.onload = function() { 456 var a = document.querySelector("#baguette-img-" + e + " .baguetteBox-spinner"); 457 l.removeChild(a), !N.async && t && t() 458 }, c.setAttribute("src", o), c.alt = n ? n.alt || "" : "", N.titleTag && r && (c.title = r), l.appendChild(c), N.async && t && t() 459 } 460 } 461 462 function m(e) { 463 var t = e.href; 464 if (e.dataset) { 465 var a = []; 466 for (var i in e.dataset) "at-" !== i.substring(0, 3) || isNaN(i.substring(3)) || (a[i.replace("at-", "")] = e.dataset[i]); 467 for (var s = Object.keys(a).sort(function(e, t) { 468 return parseInt(e, 10) < parseInt(t, 10) ? -1 : 1 469 }), n = window.innerWidth * window.devicePixelRatio, r = 0; r < s.length - 1 && s[r] < n;) r++; 470 t = a[s[r]] || t 471 } 472 return t 473 } 474 475 function g() { 476 var e; 477 return G <= R.length - 2 ? (G++, y(), E(G), e = !0) : N.animation && (z.className = "bounce-from-right", setTimeout(function() { 478 z.className = "" 479 }, 400), e = !1), N.onChange && N.onChange(G, R.length), e 480 } 481 482 function b() { 483 var e; 484 return G >= 1 ? (G--, y(), T(G), e = !0) : N.animation && (z.className = "bounce-from-left", setTimeout(function() { 485 z.className = "" 486 }, 400), e = !1), N.onChange && N.onChange(G, R.length), e 487 } 488 489 function y() { 490 var e = 100 * -G + "%"; 491 "fadeIn" === N.animation ? (z.style.opacity = 0, setTimeout(function() { 492 X.transforms ? z.style.transform = z.style.webkitTransform = "translate3d(" + e + ",0,0)" : z.style.left = e, z.style.opacity = 1 493 }, 400)) : X.transforms ? z.style.transform = z.style.webkitTransform = "translate3d(" + e + ",0,0)" : z.style.left = e 494 } 495 496 function w() { 497 var e = k("div"); 498 return void 0 !== e.style.perspective || void 0 !== e.style.webkitPerspective 499 } 500 501 function x() { 502 var e = k("div"); 503 return e.innerHTML = "<svg/>", "http://www.w3.org/2000/svg" === (e.firstChild && e.firstChild.namespaceURI) 504 } 505 506 function E(e) { 507 e - G >= N.preload || v(e + 1, function() { 508 E(e + 1) 509 }) 510 } 511 512 function T(e) { 513 G - e >= N.preload || v(e - 1, function() { 514 T(e - 1) 515 }) 516 } 517 518 function C(e, t, a, i) { 519 e.addEventListener ? e.addEventListener(t, a, i) : e.attachEvent("on" + t, function(e) { 520 e = e || window.event, e.target = e.target || e.srcElement, a(e) 521 }) 522 } 523 524 function S(e, t, a, i) { 525 e.removeEventListener ? e.removeEventListener(t, a, i) : e.detachEvent("on" + t, a) 526 } 527 528 function M(e) { 529 return document.getElementById(e) 530 } 531 532 function k(e) { 533 return document.createElement(e) 534 } 535 536 function P() { 537 o(), a(), S(document, "keydown", n), document.getElementsByTagName("body")[0].removeChild(document.getElementById("baguetteBox-overlay")), F = {}, Y = [], G = 0 538 } 539 var L, z, I, $, B, D = '<svg width="44" height="60"><polyline points="30 10 10 30 30 50" stroke="rgba(255,255,255,0.5)" stroke-width="4"stroke-linecap="butt" fill="none" stroke-linejoin="round"/></svg>', 540 A = '<svg width="44" height="60"><polyline points="14 10 34 30 14 50" stroke="rgba(255,255,255,0.5)" stroke-width="4"stroke-linecap="butt" fill="none" stroke-linejoin="round"/></svg>', 541 O = '<svg width="30" height="30"><g stroke="rgb(160,160,160)" stroke-width="4"><line x1="5" y1="5" x2="25" y2="25"/><line x1="5" y1="25" x2="25" y2="5"/></g></svg>', 542 N = {}, 543 H = { 544 captions: !0, 545 buttons: "auto", 546 fullScreen: !1, 547 noScrollbars: !1, 548 bodyClass: "baguetteBox-open", 549 titleTag: !1, 550 async: !1, 551 preload: 2, 552 animation: "slideIn", 553 afterShow: null, 554 afterHide: null, 555 onChange: null,
556 overlayBackgroundColor: "rgba(0,0,0,.8)" 557 }, 558 X = {}, 559 Y = [], 560 G = 0, 561 V = {}, 562 j = !1, 563 q = /.+\.(gif|jpe?g|png|webp)/i, 564 F = {}, 565 R = [], 566 W = null, 567 U = function(e) { 568 -1 !== e.target.id.indexOf("baguette-img") && f() 569 }, 570 _ = function(e) { 571 e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, b() 572 }, 573 K = function(e) { 574 e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, g() 575 }, 576 J = function(e) { 577 e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, f() 578 }, 579 Z = function(e) { 580 V.count++, V.count > 1 && (V.multitouch = !0), V.startX = e.changedTouches[0].pageX, V.startY = e.changedTouches[0].pageY 581 }, 582 Q = function(e) { 583 if (!j && !V.multitouch) { 584 e.preventDefault ? e.preventDefault() : e.returnValue = !1; 585 var t = e.touches[0] || e.changedTouches[0]; 586 t.pageX - V.startX > 40 ? (j = !0, b()) : t.pageX - V.startX < -40 ? (j = !0, g()) : V.startY - t.pageY > 100 && f() 587 } 588 }, 589 ee = function() { 590 V.count--, V.count <= 0 && (V.multitouch = !1), j = !1 591 }, 592 te = function() { 593 ee() 594 }, 595 ae = function(e) { 596 "block" === L.style.display && L.contains && !L.contains(e.target) && (e.stopPropagation(), u()) 597 }; 598 return [].forEach || (Array.prototype.forEach = function(e, t) { 599 for (var a = 0; a < this.length; a++) e.call(t, this[a], a, this) 600 }), [].filter || (Array.prototype.filter = function(e, t, a, i, s) { 601 for (a = this, i = [], s = 0; s < a.length; s++) e.call(t, a[s], s, a) && i.push(a[s]); 602 return i 603 }), { 604 run: e, 605 showNext: g, 606 showPrevious: b, 607 destroy: P 608 } 609 }), document.getElementsByClassName("js-gallery").length && window.innerWidth > 640 && ([].forEach.call(document.getElementsByClassName("js-triggerLightBox"), function(e) { 610 e.href = e.getAttribute("data-href") 611 }), baguetteBox.run(".js-gallery", { 612 captions: function(e) { 613 return e.getElementsByTagName("img")[0].alt 614 } 615 })); 616 var l = function() { 617 [].forEach.call(document.getElementsByClassName("js-collapsible"), function(e) { 618 e.clientHeight < e.getElementsByClassName("js-collapsibleInner")[0].clientHeight ? e.classList.add("is-collapsible") : e.classList.remove("is-collapsible", "is-open") 619 }) 620 }, 621 d = function() { 622 function e() { 623 i.forEach(function(e) { 624 e() 625 }), s = !1 626 } 627 628 function t() { 629 s || (s = !0, window.requestAnimationFrame ? window.requestAnimationFrame(e) : setTimeout(e, 66)) 630 } 631 632 function a(e) { 633 e && i.push(e) 634 } 635 var i = [], 636 s = !1; 637 return { 638 add: function(e) { 639 i.length || window.addEventListener("resize", t), a(e) 640 } 641 } 642 }(); 643 if (l(), d.add(l), [].forEach.call(document.getElementsByClassName("js-collapsible"), function(e) { 644 e.addEventListener("click", function(t) { 645 t.stopPropagation(), e.classList.contains("is-collapsible") && !e.classList.contains("is-open") ? e.classList.add("is-open") : e.classList.remove("is-open") 646 }) 647 }), document.getElementById("deliveryDate")) { 648 var c = new XMLHttpRequest, 649 u = document.getElementById("deliveryDate"); 650 c.onload = function(e) { 651 if (4 === c.readyState && 200 === c.status) { 652 var t = JSON.parse(c.response); 653 u.innerHTML = t.delivery_date 654 } 655 }, c.open("get", "/assets/data/include_reserve.json", !0), XMLHttpRequest.responseType = "json", c.send(null) 656 }! function(e, t) { 657 "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.Swiper = t() 658 }(this, function() { 659 "use strict"; 660 661 function e(e, t) { 662 var a = [], 663 r = 0; 664 if (e && !t && e instanceof n) return e; 665 if (e) 666 if ("string" == typeof e) { 667 var o, l, d = e.trim(); 668 if (0 <= d.indexOf("<") && 0 <= d.indexOf(">")) { 669 var c = "div"; 670 for (0 === d.indexOf("<li") && (c = "ul"), 0 === d.indexOf("<tr") && (c = "tbody"), 0 !== d.indexOf("<td") && 0 !== d.indexOf("<th") || (c = "tr"), 0 === d.indexOf("<tbody") && (c = "table"), 0 === d.indexOf("<option") && (c = "select"), (l = i.createElement(c)).innerHTML = d, r = 0; r < l.childNodes.length; r += 1) a.push(l.childNodes[r]) 671 } else 672 for (o = t || "#" !== e[0] || e.match(/[ .<>:~]/) ? (t || i).querySelectorAll(e.trim()) : [i.getElementById(e.trim().split("#")[1])], r = 0; r < o.length; r += 1) o[r] && a.push(o[r]) 673 } else if (e.nodeType || e === s || e === i) a.push(e); 674 else if (0 < e.length && e[0].nodeType) 675 for (r = 0; r < e.length; r += 1) a.push(e[r]); 676 return new n(a) 677 } 678 679 function t(e) { 680 for (var t = [], a = 0; a < e.length; a += 1) - 1 === t.indexOf(e[a]) && t.push(e[a]); 681 return t 682 } 683 684 function a() { 685 var e = this, 686 t = e.params, 687 a = e.el; 688 if (!a || 0 !== a.offsetWidth) { 689 t.breakpoints && e.setBreakpoint(); 690 var i = e.allowSlideNext, 691 s = e.allowSlidePrev, 692 n = e.snapGrid; 693 if (e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), t.freeMode) { 694 var r = Math.min(Math.max(e.translate, e.maxTranslate()), e.minTranslate()); 695 e.setTranslate(r), e.updateActiveIndex(), e.updateSlidesClasses(), t.autoHeight && e.updateAutoHeight() 696 } 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); 697 e.allowSlidePrev = s, e.allowSlideNext = i, e.params.watchOverflow && n !== e.snapGrid && e.checkOverflow() 698 } 699 } 700 var i = "undefined" == typeof document ? { 701 body: {}, 702 addEventListener: function() {}, 703 removeEventListener: function() {}, 704 activeElement: { 705 blur: function() {}, 706 nodeName: "" 707 }, 708 querySelector: function() { 709 return null 710 }, 711 querySelectorAll: function() { 712 return [] 713 }, 714 getElementById: function() { 715 return null 716 }, 717 createEvent: function() { 718 return { 719 initEvent: function() {} 720 } 721 }, 722 createElement: function() { 723 return { 724 children: [], 725 childNodes: [], 726 style: {}, 727 setAttribute: function() {}, 728 getElementsByTagName: function() { 729 return [] 730 } 731 } 732 }, 733 location: { 734 hash: "" 735 } 736 } : document, 737 s = "undefined" == typeof window ? { 738 document: i, 739 navigator: { 740 userAgent: "" 741 }, 742 location: {}, 743 history: {}, 744 CustomEvent: function() { 745 return this 746 }, 747 addEventListener: function() {}, 748 removeEventListener: function() {}, 749 getComputedStyle: function() { 750 return { 751 getPropertyValue: function() { 752 return "" 753 } 754 } 755 }, 756 Image: function() {}, 757 Date: function() {}, 758 screen: {}, 759 setTimeout: function() {}, 760 clearTimeout: function() {} 761 } : window, 762 n = function(e) { 763 for (var t = 0; t < e.length; t += 1) this[t] = e[t]; 764 return this.length = e.length, this 765 }; 766 e.fn = n.prototype, e.Class = n, e.Dom7 = n; 767 var r = { 768 addClass: function(e) { 769 if (void 0 === e) return this; 770 for (var t = e.split(" "), a = 0; a < t.length; a += 1) 771 for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.add(t[a]); 772 return this 773 }, 774 removeClass: function(e) { 775 for (var t = e.split(" "), a = 0; a < t.length; a += 1) 776 for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.remove(t[a]); 777 return this 778 }, 779 hasClass: function(e) { 780 return !!this[0] && this[0].classList.contains(e) 781 }, 782 toggleClass: function(e) { 783 for (var t = e.split(" "), a = 0; a < t.length; a += 1) 784 for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.toggle(t[a]); 785 return this 786 }, 787 attr: function(e, t) { 788 var a = arguments; 789 if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0; 790 for (var i = 0; i < this.length; i += 1) 791 if (2 === a.length) this[i].setAttribute(e, t); 792 else 793 for (var s in e) this[i][s] = e[s], this[i].setAttribute(s, e[s]); 794 return this 795 }, 796 removeAttr: function(e) { 797 for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e); 798 return this 799 }, 800 data: function(e, t) { 801 var a; 802 if (void 0 !== t) { 803 for (var i = 0; i < this.length; i += 1)(a = this[i]).dom7ElementDataStorage || (a.dom7ElementDataStorage = {}), a.dom7ElementDataStorage[e] = t; 804 return this 805 } 806 if (a = this[0]) { 807 if (a.dom7ElementDataStorage && e in a.dom7ElementDataStorage) return a.dom7ElementDataStorage[e]; 808 return a.getAttribute("data-" + e) || void 0 809 } 810 }, 811 transform: function(e) { 812 for (var t = 0; t < this.length; t += 1) { 813 var a = this[t].style; 814 a.webkitTransform = e, a.transform = e 815 } 816 return this 817 }, 818 transition: function(e) { 819 "string" != typeof e && (e += "ms"); 820 for (var t = 0; t < this.length; t += 1) { 821 var a = this[t].style; 822 a.webkitTransitionDuration = e, a.transitionDuration = e 823 } 824 return this 825 }, 826 on: function() { 827 function t(t) { 828 var a = t.target; 829 if (a) { 830 var i = t.target.dom7EventData || []; 831 if (i.indexOf(t) < 0 && i.unshift(t), e(a).is(o)) l.apply(a, i); 832 else 833 for (var s = e(a).parents(), n = 0; n < s.length; n += 1) e(s[n]).is(o) && l.apply(s[n], i) 834 } 835 } 836 837 function a(e) { 838 var t = e && e.target && e.target.dom7EventData || []; 839 t.indexOf(e) < 0 && t.unshift(e), l.apply(this, t) 840 } 841 for (var i, s = [], n = arguments.length; n--;) s[n] = arguments[n]; 842 var r = s[0], 843 o = s[1], 844 l = s[2], 845 d = s[3]; 846 "function" == typeof s[1] && (r = (i = s)[0], l = i[1], d = i[2], o = void 0), d || (d = !1); 847 for (var c, u = r.split(" "), p = 0; p < this.length; p += 1) { 848 var h = this[p]; 849 if (o) 850 for (c = 0; c < u.length; c += 1) { 851 var f = u[c];
vendor: 14,786 bytes, lines 852-1197
852 h.dom7LiveListeners || (h.dom7LiveListeners = {}), h.dom7LiveListeners[f] || (h.dom7LiveListeners[f] = []), h.dom7LiveListeners[f].push({ 853 listener: l, 854 proxyListener: t 855 }), h.addEventListener(f, t, d) 856 } else 857 for (c = 0; c < u.length; c += 1) { 858 var v = u[c]; 859 h.dom7Listeners || (h.dom7Listeners = {}), h.dom7Listeners[v] || (h.dom7Listeners[v] = []), h.dom7Listeners[v].push({ 860 listener: l, 861 proxyListener: a 862 }), h.addEventListener(v, a, d) 863 } 864 } 865 return this 866 }, 867 off: function() { 868 for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a]; 869 var i = t[0], 870 s = t[1], 871 n = t[2], 872 r = t[3]; 873 "function" == typeof t[1] && (i = (e = t)[0], n = e[1], r = e[2], s = void 0), r || (r = !1); 874 for (var o = i.split(" "), l = 0; l < o.length; l += 1) 875 for (var d = o[l], c = 0; c < this.length; c += 1) { 876 var u = this[c], 877 p = void 0; 878 if (!s && u.dom7Listeners ? p = u.dom7Listeners[d] : s && u.dom7LiveListeners && (p = u.dom7LiveListeners[d]), p && p.length) 879 for (var h = p.length - 1; 0 <= h; h -= 1) { 880 var f = p[h]; 881 n && f.listener === n ? (u.removeEventListener(d, f.proxyListener, r), p.splice(h, 1)) : n || (u.removeEventListener(d, f.proxyListener, r), p.splice(h, 1)) 882 } 883 } 884 return this 885 }, 886 trigger: function() { 887 for (var e = [], t = arguments.length; t--;) e[t] = arguments[t]; 888 for (var a = e[0].split(" "), n = e[1], r = 0; r < a.length; r += 1) 889 for (var o = a[r], l = 0; l < this.length; l += 1) { 890 var d = this[l], 891 c = void 0; 892 try { 893 c = new s.CustomEvent(o, { 894 detail: n, 895 bubbles: !0, 896 cancelable: !0 897 }) 898 } catch (e) { 899 (c = i.createEvent("Event")).initEvent(o, !0, !0), c.detail = n 900 } 901 d.dom7EventData = e.filter(function(e, t) { 902 return 0 < t 903 }), d.dispatchEvent(c), d.dom7EventData = [], delete d.dom7EventData 904 } 905 return this 906 }, 907 transitionEnd: function(e) { 908 function t(n) { 909 if (n.target === this) 910 for (e.call(this, n), a = 0; a < i.length; a += 1) s.off(i[a], t) 911 } 912 var a, i = ["webkitTransitionEnd", "transitionend"], 913 s = this; 914 if (e) 915 for (a = 0; a < i.length; a += 1) s.on(i[a], t); 916 return this 917 }, 918 outerWidth: function(e) { 919 if (0 < this.length) { 920 if (e) { 921 var t = this.styles(); 922 return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left")) 923 } 924 return this[0].offsetWidth 925 } 926 return null 927 }, 928 outerHeight: function(e) { 929 if (0 < this.length) { 930 if (e) { 931 var t = this.styles(); 932 return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom")) 933 } 934 return this[0].offsetHeight 935 } 936 return null 937 }, 938 offset: function() { 939 if (0 < this.length) { 940 var e = this[0], 941 t = e.getBoundingClientRect(), 942 a = i.body, 943 n = e.clientTop || a.clientTop || 0, 944 r = e.clientLeft || a.clientLeft || 0, 945 o = e === s ? s.scrollY : e.scrollTop, 946 l = e === s ? s.scrollX : e.scrollLeft; 947 return { 948 top: t.top + o - n, 949 left: t.left + l - r 950 } 951 } 952 return null 953 }, 954 css: function(e, t) { 955 var a; 956 if (1 === arguments.length) { 957 if ("string" != typeof e) { 958 for (a = 0; a < this.length; a += 1) 959 for (var i in e) this[a].style[i] = e[i]; 960 return this 961 } 962 if (this[0]) return s.getComputedStyle(this[0], null).getPropertyValue(e) 963 } 964 if (2 === arguments.length && "string" == typeof e) { 965 for (a = 0; a < this.length; a += 1) this[a].style[e] = t; 966 return this 967 } 968 return this 969 }, 970 each: function(e) { 971 if (!e) return this; 972 for (var t = 0; t < this.length; t += 1) 973 if (!1 === e.call(this[t], t, this[t])) return this; 974 return this 975 }, 976 html: function(e) { 977 if (void 0 === e) return this[0] ? this[0].innerHTML : void 0; 978 for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e; 979 return this 980 }, 981 text: function(e) { 982 if (void 0 === e) return this[0] ? this[0].textContent.trim() : null; 983 for (var t = 0; t < this.length; t += 1) this[t].textContent = e; 984 return this 985 }, 986 is: function(t) { 987 var a, r, o = this[0]; 988 if (!o || void 0 === t) return !1; 989 if ("string" == typeof t) { 990 if (o.matches) return o.matches(t); 991 if (o.webkitMatchesSelector) return o.webkitMatchesSelector(t); 992 if (o.msMatchesSelector) return o.msMatchesSelector(t); 993 for (a = e(t), r = 0; r < a.length; r += 1) 994 if (a[r] === o) return !0; 995 return !1 996 } 997 if (t === i) return o === i; 998 if (t === s) return o === s; 999 if (t.nodeType || t instanceof n) { 1000 for (a = t.nodeType ? [t] : t, r = 0; r < a.length; r += 1) 1001 if (a[r] === o) return !0; 1002 return !1 1003 } 1004 return !1 1005 }, 1006 index: function() { 1007 var e, t = this[0]; 1008 if (t) { 1009 for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1); 1010 return e 1011 } 1012 }, 1013 eq: function(e) { 1014 if (void 0 === e) return this; 1015 var t, a = this.length; 1016 return new n(a - 1 < e ? [] : e < 0 ? (t = a + e) < 0 ? [] : [this[t]] : [this[e]]) 1017 }, 1018 append: function() { 1019 for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a]; 1020 for (var s = 0; s < t.length; s += 1) { 1021 e = t[s]; 1022 for (var r = 0; r < this.length; r += 1) 1023 if ("string" == typeof e) { 1024 var o = i.createElement("div"); 1025 for (o.innerHTML = e; o.firstChild;) this[r].appendChild(o.firstChild) 1026 } else if (e instanceof n) 1027 for (var l = 0; l < e.length; l += 1) this[r].appendChild(e[l]); 1028 else this[r].appendChild(e) 1029 } 1030 return this 1031 }, 1032 prepend: function(e) { 1033 var t, a; 1034 for (t = 0; t < this.length; t += 1) 1035 if ("string" == typeof e) { 1036 var s = i.createElement("div"); 1037 for (s.innerHTML = e, a = s.childNodes.length - 1; 0 <= a; a -= 1) this[t].insertBefore(s.childNodes[a], this[t].childNodes[0]) 1038 } else if (e instanceof n) 1039 for (a = 0; a < e.length; a += 1) this[t].insertBefore(e[a], this[t].childNodes[0]); 1040 else this[t].insertBefore(e, this[t].childNodes[0]); 1041 return this 1042 }, 1043 next: function(t) { 1044 return new n(0 < this.length ? t ? this[0].nextElementSibling && e(this[0].nextElementSibling).is(t) ? [this[0].nextElementSibling] : [] : this[0].nextElementSibling ? [this[0].nextElementSibling] : [] : []) 1045 }, 1046 nextAll: function(t) { 1047 var a = [], 1048 i = this[0]; 1049 if (!i) return new n([]); 1050 for (; i.nextElementSibling;) { 1051 var s = i.nextElementSibling; 1052 t ? e(s).is(t) && a.push(s) : a.push(s), i = s 1053 } 1054 return new n(a) 1055 }, 1056 prev: function(t) { 1057 if (0 < this.length) { 1058 var a = this[0]; 1059 return new n(t ? a.previousElementSibling && e(a.previousElementSibling).is(t) ? [a.previousElementSibling] : [] : a.previousElementSibling ? [a.previousElementSibling] : []) 1060 } 1061 return new n([]) 1062 }, 1063 prevAll: function(t) { 1064 var a = [], 1065 i = this[0]; 1066 if (!i) return new n([]); 1067 for (; i.previousElementSibling;) { 1068 var s = i.previousElementSibling; 1069 t ? e(s).is(t) && a.push(s) : a.push(s), i = s 1070 } 1071 return new n(a) 1072 }, 1073 parent: function(a) { 1074 for (var i = [], s = 0; s < this.length; s += 1) null !== this[s].parentNode && (a ? e(this[s].parentNode).is(a) && i.push(this[s].parentNode) : i.push(this[s].parentNode)); 1075 return e(t(i)) 1076 }, 1077 parents: function(a) { 1078 for (var i = [], s = 0; s < this.length; s += 1) 1079 for (var n = this[s].parentNode; n;) a ? e(n).is(a) && i.push(n) : i.push(n), n = n.parentNode; 1080 return e(t(i)) 1081 }, 1082 closest: function(e) { 1083 var t = this; 1084 return void 0 === e ? new n([]) : (t.is(e) || (t = t.parents(e).eq(0)), t) 1085 }, 1086 find: function(e) { 1087 for (var t = [], a = 0; a < this.length; a += 1) 1088 for (var i = this[a].querySelectorAll(e), s = 0; s < i.length; s += 1) t.push(i[s]); 1089 return new n(t) 1090 }, 1091 children: function(a) { 1092 for (var i = [], s = 0; s < this.length; s += 1) 1093 for (var r = this[s].childNodes, o = 0; o < r.length; o += 1) a ? 1 === r[o].nodeType && e(r[o]).is(a) && i.push(r[o]) : 1 === r[o].nodeType && i.push(r[o]); 1094 return new n(t(i)) 1095 }, 1096 remove: function() { 1097 for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]); 1098 return this 1099 }, 1100 add: function() { 1101 for (var t = [], a = arguments.length; a--;) t[a] = arguments[a]; 1102 var i, s; 1103 for (i = 0; i < t.length; i += 1) { 1104 var n = e(t[i]); 1105 for (s = 0; s < n.length; s += 1) this[this.length] = n[s], this.length += 1 1106 } 1107 return this 1108 }, 1109 styles: function() { 1110 return this[0] ? s.getComputedStyle(this[0], null) : {} 1111 } 1112 }; 1113 Object.keys(r).forEach(function(t) { 1114 e.fn[t] = r[t] 1115 }); 1116 var o, l, d, c = { 1117 deleteProps: function(e) { 1118 var t = e; 1119 Object.keys(t).forEach(function(e) { 1120 try { 1121 t[e] = null 1122 } catch (e) {} 1123 try { 1124 delete t[e] 1125 } catch (e) {} 1126 }) 1127 }, 1128 nextTick: function(e, t) { 1129 return void 0 === t && (t = 0), setTimeout(e, t) 1130 }, 1131 now: function() { 1132 return Date.now() 1133 }, 1134 getTranslate: function(e, t) { 1135 var a, i, n; 1136 void 0 === t && (t = "x"); 1137 var r = s.getComputedStyle(e, null); 1138 return s.WebKitCSSMatrix ? (6 < (i = r.transform || r.webkitTransform).split(",").length && (i = i.split(", ").map(function(e) { 1139 return e.replace(",", ".") 1140 }).join(", ")), n = new s.WebKitCSSMatrix("none" === i ? "" : i)) : a = (n = 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 = s.WebKitCSSMatrix ? n.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = s.WebKitCSSMatrix ? n.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0 1141 }, 1142 parseUrlQuery: function(e) { 1143 var t, a, i, n, r = {}, 1144 o = e || s.location.href; 1145 if ("string" == typeof o && o.length) 1146 for (n = (a = (o = -1 < o.indexOf("?") ? o.replace(/\S*\?/, "") : "").split("&").filter(function(e) { 1147 return "" !== e 1148 })).length, t = 0; t < n; t += 1) i = a[t].replace(/#\S+/g, "").split("="), r[decodeURIComponent(i[0])] = void 0 === i[1] ? void 0 : decodeURIComponent(i[1]) || ""; 1149 return r 1150 }, 1151 isObject: function(e) { 1152 return "object" == typeof e && null !== e && e.constructor && e.constructor === Object 1153 }, 1154 extend: function() { 1155 for (var e = [], t = arguments.length; t--;) e[t] = arguments[t]; 1156 for (var a = Object(e[0]), i = 1; i < e.length; i += 1) { 1157 var s = e[i]; 1158 if (null != s) 1159 for (var n = Object.keys(Object(s)), r = 0, o = n.length; r < o; r += 1) { 1160 var l = n[r], 1161 d = Object.getOwnPropertyDescriptor(s, l); 1162 void 0 !== d && d.enumerable && (c.isObject(a[l]) && c.isObject(s[l]) ? c.extend(a[l], s[l]) : !c.isObject(a[l]) && c.isObject(s[l]) ? (a[l] = {}, c.extend(a[l], s[l])) : a[l] = s[l]) 1163 } 1164 } 1165 return a 1166 } 1167 }, 1168 u = (d = i.createElement("div"), { 1169 touch: s.Modernizr && !0 === s.Modernizr.touch || !!(0 < s.navigator.maxTouchPoints || "ontouchstart" in s || s.DocumentTouch && i instanceof s.DocumentTouch), 1170 pointerEvents: !!(s.navigator.pointerEnabled || s.PointerEvent || "maxTouchPoints" in s.navigator), 1171 prefixedPointerEvents: !!s.navigator.msPointerEnabled, 1172 transition: "transition" in (l = d.style) || "webkitTransition" in l || "MozTransition" in l, 1173 transforms3d: s.Modernizr && !0 === s.Modernizr.csstransforms3d || "webkitPerspective" in (o = d.style) || "MozPerspective" in o || "OPerspective" in o || "MsPerspective" in o || "perspective" in o, 1174 flexbox: function() { 1175 for (var e = d.style, t = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), a = 0; a < t.length; a += 1) 1176 if (t[a] in e) return !0; 1177 return !1 1178 }(), 1179 observer: "MutationObserver" in s || "WebkitMutationObserver" in s, 1180 passiveListener: function() { 1181 var e = !1; 1182 try { 1183 var t = Object.defineProperty({}, "passive", { 1184 get: function() { 1185 e = !0 1186 } 1187 }); 1188 s.addEventListener("testPassiveListener", null, t) 1189 } catch (e) {} 1190 return e 1191 }(), 1192 gestures: "ongesturestart" in s 1193 }), 1194 p = function(e) { 1195 void 0 === e && (e = {}); 1196 var t = this; 1197 t.params = e, t.eventsListeners = {}
1197, t.params && t.params.on && Object.keys(t.params.on).forEach(function(e) { 1198 t.on(e, t.params.on[e]) 1199 }) 1200 }, 1201 h = { 1202 components: { 1203 configurable: !0 1204 } 1205 }; 1206 p.prototype.on = function(e, t, a) { 1207 var i = this; 1208 if ("function" != typeof t) return i; 1209 var s = a ? "unshift" : "push"; 1210 return e.split(" ").forEach(function(e) { 1211 i.eventsListeners[e] || (i.eventsListeners[e] = []), i.eventsListeners[e][s](t) 1212 }), i 1213 }, p.prototype.once = function(e, t, a) { 1214 var i = this; 1215 return "function" != typeof t ? i : i.on(e, function a() { 1216 for (var s = [], n = arguments.length; n--;) s[n] = arguments[n]; 1217 t.apply(i, s), i.off(e, a) 1218 }, a) 1219 }, p.prototype.off = function(e, t) { 1220 var a = this; 1221 return a.eventsListeners && e.split(" ").forEach(function(e) { 1222 void 0 === t ? a.eventsListeners[e] = [] : a.eventsListeners[e] && a.eventsListeners[e].length && a.eventsListeners[e].forEach(function(i, s) { 1223 i === t && a.eventsListeners[e].splice(s, 1) 1224 }) 1225 }), a 1226 }, p.prototype.emit = function() { 1227 for (var e = [], t = arguments.length; t--;) e[t] = arguments[t]; 1228 var a, i, s, n = this; 1229 return n.eventsListeners && ("string" == typeof e[0] || Array.isArray(e[0]) ? (a = e[0], i = e.slice(1, e.length), s = n) : (a = e[0].events, i = e[0].data, s = e[0].context || n), (Array.isArray(a) ? a : a.split(" ")).forEach(function(e) { 1230 if (n.eventsListeners && n.eventsListeners[e]) { 1231 var t = []; 1232 n.eventsListeners[e].forEach(function(e) { 1233 t.push(e) 1234 }), t.forEach(function(e) { 1235 e.apply(s, i) 1236 }) 1237 } 1238 })), n 1239 }, p.prototype.useModulesParams = function(e) { 1240 var t = this; 1241 t.modules && Object.keys(t.modules).forEach(function(a) { 1242 var i = t.modules[a]; 1243 i.params && c.extend(e, i.params) 1244 }) 1245 }, p.prototype.useModules = function(e) { 1246 void 0 === e && (e = {}); 1247 var t = this; 1248 t.modules && Object.keys(t.modules).forEach(function(a) { 1249 var i = t.modules[a], 1250 s = e[a] || {}; 1251 i.instance && Object.keys(i.instance).forEach(function(e) { 1252 var a = i.instance[e]; 1253 t[e] = "function" == typeof a ? a.bind(t) : a 1254 }), i.on && t.on && Object.keys(i.on).forEach(function(e) { 1255 t.on(e, i.on[e]) 1256 }), i.create && i.create.bind(t)(s) 1257 }) 1258 }, h.components.set = function(e) { 1259 this.use && this.use(e) 1260 }, p.installModule = function(e) { 1261 for (var t = [], a = arguments.length - 1; 0 < a--;) t[a] = arguments[a + 1]; 1262 var i = this; 1263 i.prototype.modules || (i.prototype.modules = {}); 1264 var s = e.name || Object.keys(i.prototype.modules).length + "_" + c.now(); 1265 return (i.prototype.modules[s] = e).proto && Object.keys(e.proto).forEach(function(t) { 1266 i.prototype[t] = e.proto[t] 1267 }), e.static && Object.keys(e.static).forEach(function(t) { 1268 i[t] = e.static[t] 1269 }), e.install && e.install.apply(i, t), i 1270 }, p.use = function(e) { 1271 for (var t = [], a = arguments.length - 1; 0 < a--;) t[a] = arguments[a + 1]; 1272 var i = this; 1273 return Array.isArray(e) ? (e.forEach(function(e) { 1274 return i.installModule(e) 1275 }), i) : i.installModule.apply(i, [e].concat(t)) 1276 }, Object.defineProperties(p, h); 1277 var f, v = { 1278 updateSize: function() { 1279 var e, t, a = this, 1280 i = a.$el; 1281 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), c.extend(a, { 1282 width: e, 1283 height: t, 1284 size: a.isHorizontal() ? e : t 1285 })) 1286 }, 1287 updateSlides: function() { 1288 var e = this, 1289 t = e.params, 1290 a = e.$wrapperEl,
vendor: 10,504 bytes, lines 1291-1479
1291 i = e.size, 1292 n = e.rtlTranslate, 1293 r = e.wrongRTL, 1294 o = e.virtual && t.virtual.enabled, 1295 l = o ? e.virtual.slides.length : e.slides.length, 1296 d = a.children("." + e.params.slideClass), 1297 p = o ? e.virtual.slides.length : d.length, 1298 h = [], 1299 f = [], 1300 v = [], 1301 m = t.slidesOffsetBefore; 1302 "function" == typeof m && (m = t.slidesOffsetBefore.call(e)); 1303 var g = t.slidesOffsetAfter; 1304 "function" == typeof g && (g = t.slidesOffsetAfter.call(e)); 1305 var b = e.snapGrid.length, 1306 y = e.snapGrid.length, 1307 w = t.spaceBetween, 1308 x = -m, 1309 E = 0, 1310 T = 0; 1311 if (void 0 !== i) { 1312 var C, S; 1313 "string" == typeof w && 0 <= w.indexOf("%") && (w = parseFloat(w.replace("%", "")) / 100 * i), e.virtualSize = -w, n ? d.css({ 1314 marginLeft: "", 1315 marginTop: "" 1316 }) : d.css({ 1317 marginRight: "", 1318 marginBottom: "" 1319 }), 1 < t.slidesPerColumn && (C = Math.floor(p / t.slidesPerColumn) === p / e.params.slidesPerColumn ? p : Math.ceil(p / t.slidesPerColumn) * t.slidesPerColumn, "auto" !== t.slidesPerView && "row" === t.slidesPerColumnFill && (C = Math.max(C, t.slidesPerView * t.slidesPerColumn))); 1320 for (var M, k = t.slidesPerColumn, P = C / k, L = Math.floor(p / t.slidesPerColumn), z = 0; z < p; z += 1) { 1321 S = 0; 1322 var I = d.eq(z); 1323 if (1 < t.slidesPerColumn) { 1324 var $ = void 0, 1325 B = void 0, 1326 D = void 0; 1327 "column" === t.slidesPerColumnFill ? (D = z - (B = Math.floor(z / k)) * k, (L < B || B === L && D === k - 1) && k <= (D += 1) && (D = 0, B += 1), $ = B + D * C / k, I.css({ 1328 "-webkit-box-ordinal-group": $, 1329 "-moz-box-ordinal-group": $, 1330 "-ms-flex-order": $, 1331 "-webkit-order": $, 1332 order: $ 1333 })) : B = z - (D = Math.floor(z / P)) * P, I.css("margin-" + (e.isHorizontal() ? "top" : "left"), 0 !== D && t.spaceBetween && t.spaceBetween + "px").attr("data-swiper-column", B).attr("data-swiper-row", D) 1334 } 1335 if ("none" !== I.css("display")) { 1336 if ("auto" === t.slidesPerView) { 1337 var A = s.getComputedStyle(I[0], null), 1338 O = I[0].style.transform, 1339 N = I[0].style.webkitTransform; 1340 if (O && (I[0].style.transform = "none"), N && (I[0].style.webkitTransform = "none"), t.roundLengths) S = e.isHorizontal() ? I.outerWidth(!0) : I.outerHeight(!0); 1341 else if (e.isHorizontal()) { 1342 var H = parseFloat(A.getPropertyValue("width")), 1343 X = parseFloat(A.getPropertyValue("padding-left")), 1344 Y = parseFloat(A.getPropertyValue("padding-right")), 1345 G = parseFloat(A.getPropertyValue("margin-left")), 1346 V = parseFloat(A.getPropertyValue("margin-right")), 1347 j = A.getPropertyValue("box-sizing"); 1348 S = j && "border-box" === j ? H + G + V : H + X + Y + G + V 1349 } else { 1350 var q = parseFloat(A.getPropertyValue("height")), 1351 F = parseFloat(A.getPropertyValue("padding-top")), 1352 R = parseFloat(A.getPropertyValue("padding-bottom")), 1353 W = parseFloat(A.getPropertyValue("margin-top")), 1354 U = parseFloat(A.getPropertyValue("margin-bottom")), 1355 _ = A.getPropertyValue("box-sizing"); 1356 S = _ && "border-box" === _ ? q + W + U : q + F + R + W + U 1357 } 1358 O && (I[0].style.transform = O), N && (I[0].style.webkitTransform = N), t.roundLengths && (S = Math.floor(S)) 1359 } else S = (i - (t.slidesPerView - 1) * w) / t.slidesPerView, t.roundLengths && (S = Math.floor(S)), d[z] && (e.isHorizontal() ? d[z].style.width = S + "px" : d[z].style.height = S + "px"); 1360 d[z] && (d[z].swiperSlideSize = S), v.push(S), t.centeredSlides ? (x = x + S / 2 + E / 2 + w, 0 === E && 0 !== z && (x = x - i / 2 - w), 0 === z && (x = x - i / 2 - w), Math.abs(x) < .001 && (x = 0), t.roundLengths && (x = Math.floor(x)), T % t.slidesPerGroup == 0 && h.push(x), f.push(x)) : (t.roundLengths && (x = Math.floor(x)), T % t.slidesPerGroup == 0 && h.push(x), f.push(x), x = x + S + w), e.virtualSize += S + w, E = S, T += 1 1361 } 1362 } 1363 if (e.virtualSize = Math.max(e.virtualSize, i) + g, n && r && ("slide" === t.effect || "coverflow" === t.effect) && a.css({ 1364 width: e.virtualSize + t.spaceBetween + "px" 1365 }), u.flexbox && !t.setWrapperSize || (e.isHorizontal() ? a.css({ 1366 width: e.virtualSize + t.spaceBetween + "px" 1367 }) : a.css({ 1368 height: e.virtualSize + t.spaceBetween + "px" 1369 })), 1 < t.slidesPerColumn && (e.virtualSize = (S + t.spaceBetween) * C, e.virtualSize = Math.ceil(e.virtualSize / t.slidesPerColumn) - t.spaceBetween, e.isHorizontal() ? a.css({ 1370 width: e.virtualSize + t.spaceBetween + "px" 1371 }) : a.css({ 1372 height: e.virtualSize + t.spaceBetween + "px" 1373 }), t.centeredSlides)) { 1374 M = []; 1375 for (var K = 0; K < h.length; K += 1) { 1376 var J = h[K]; 1377 t.roundLengths && (J = Math.floor(J)), h[K] < e.virtualSize + h[0] && M.push(J) 1378 } 1379 h = M 1380 } 1381 if (!t.centeredSlides) { 1382 M = []; 1383 for (var Z = 0; Z < h.length; Z += 1) { 1384 var Q = h[Z]; 1385 t.roundLengths && (Q = Math.floor(Q)), h[Z] <= e.virtualSize - i && M.push(Q) 1386 } 1387 h = M, 1 < Math.floor(e.virtualSize - i) - Math.floor(h[h.length - 1]) && h.push(e.virtualSize - i) 1388 } 1389 if (0 === h.length && (h = [0]), 0 !== t.spaceBetween && (e.isHorizontal() ? n ? d.css({ 1390 marginLeft: w + "px" 1391 }) : d.css({ 1392 marginRight: w + "px" 1393 }) : d.css({ 1394 marginBottom: w + "px" 1395 })), t.centerInsufficientSlides) { 1396 var ee = 0; 1397 if (v.forEach(function(e) { 1398 ee += e + (t.spaceBetween ? t.spaceBetween : 0) 1399 }), (ee -= t.spaceBetween) < i) { 1400 var te = (i - ee) / 2; 1401 h.forEach(function(e, t) { 1402 h[t] = e - te 1403 }), f.forEach(function(e, t) { 1404 f[t] = e + te 1405 }) 1406 } 1407 } 1408 c.extend(e, { 1409 slides: d, 1410 snapGrid: h, 1411 slidesGrid: f, 1412 slidesSizesGrid: v 1413 }), p !== l && e.emit("slidesLengthChange"), h.length !== b && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), f.length !== y && e.emit("slidesGridLengthChange"), (t.watchSlidesProgress || t.watchSlidesVisibility) && e.updateSlidesOffset() 1414 } 1415 }, 1416 updateAutoHeight: function(e) { 1417 var t, a = this, 1418 i = [], 1419 s = 0; 1420 if ("number" == typeof e ? a.setTransition(e) : !0 === e && a.setTransition(a.params.speed), "auto" !== a.params.slidesPerView && 1 < a.params.slidesPerView) 1421 for (t = 0; t < Math.ceil(a.params.slidesPerView); t += 1) { 1422 var n = a.activeIndex + t; 1423 if (n > a.slides.length) break; 1424 i.push(a.slides.eq(n)[0]) 1425 } else i.push(a.slides.eq(a.activeIndex)[0]); 1426 for (t = 0; t < i.length; t += 1) 1427 if (void 0 !== i[t]) { 1428 var r = i[t].offsetHeight; 1429 s = s < r ? r : s 1430 } 1431 s && a.$wrapperEl.css("height", s + "px") 1432 }, 1433 updateSlidesOffset: function() { 1434 for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop 1435 }, 1436 updateSlidesProgress: function(t) { 1437 void 0 === t && (t = this && this.translate || 0); 1438 var a = this, 1439 i = a.params, 1440 s = a.slides, 1441 n = a.rtlTranslate; 1442 if (0 !== s.length) { 1443 void 0 === s[0].swiperSlideOffset && a.updateSlidesOffset(); 1444 var r = -t; 1445 n && (r = t), s.removeClass(i.slideVisibleClass), a.visibleSlidesIndexes = [], a.visibleSlides = []; 1446 for (var o = 0; o < s.length; o += 1) { 1447 var l = s[o], 1448 d = (r + (i.centeredSlides ? a.minTranslate() : 0) - l.swiperSlideOffset) / (l.swiperSlideSize + i.spaceBetween); 1449 if (i.watchSlidesVisibility) { 1450 var c = -(r - l.swiperSlideOffset), 1451 u = c + a.slidesSizesGrid[o]; 1452 (0 <= c && c < a.size || 0 < u && u <= a.size || c <= 0 && u >= a.size) && (a.visibleSlides.push(l), a.visibleSlidesIndexes.push(o), s.eq(o).addClass(i.slideVisibleClass)) 1453 } 1454 l.progress = n ? -d : d 1455 } 1456 a.visibleSlides = e(a.visibleSlides) 1457 } 1458 }, 1459 updateProgress: function(e) { 1460 void 0 === e && (e = this && this.translate || 0); 1461 var t = this, 1462 a = t.params, 1463 i = t.maxTranslate() - t.minTranslate(), 1464 s = t.progress, 1465 n = t.isBeginning, 1466 r = t.isEnd, 1467 o = n, 1468 l = r; 1469 0 === i ? r = n = !(s = 0) : (n = (s = (e - t.minTranslate()) / i) <= 0, r = 1 <= s), c.extend(t, { 1470 progress: s, 1471 isBeginning: n, 1472 isEnd: r 1473 }), (a.watchSlidesProgress || a.watchSlidesVisibility) && t.updateSlidesProgress(e), n && !o && t.emit("reachBeginning toEdge"), r && !l && t.emit("reachEnd toEdge"), (o && !n || l && !r) && t.emit("fromEdge"), t.emit("progress", s) 1474 }, 1475 updateSlidesClasses: function() { 1476 var e, t = this, 1477 a = t.slides, 1478 i = t.params, 1479 s = t.$wrapperEl,
vendor: 2,466 bytes, lines 1480-1500
1480 n = t.activeIndex, 1481 r = t.realIndex, 1482 o = t.virtual && i.virtual.enabled; 1483 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="' + n + '"]') : a.eq(n)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass)); 1484 var l = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass); 1485 i.loop && 0 === l.length && (l = a.eq(0)).addClass(i.slideNextClass); 1486 var d = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass); 1487 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)) 1488 }, 1489 updateActiveIndex: function(e) { 1490 var t, a = this, 1491 i = a.rtlTranslate ? a.translate : -a.translate, 1492 s = a.slidesGrid, 1493 n = a.snapGrid, 1494 r = a.params, 1495 o = a.activeIndex, 1496 l = a.realIndex, 1497 d = a.snapIndex, 1498 u = e; 1499 if (void 0 === u) { 1500 for (var p = 0; p < s.length; p += 1) void 0 !== s[p + 1] ? i >= s[p] && i < s[p + 1] - (s[p + 1] - s[p]) / 2 ? u = p : i >= s[p] && i < s[p + 1] && (u = p + 1) : i >= s[p] && (u = p);
vendor: 39,354 bytes, lines 1501-2172
1501 r.normalizeSlideIndex && (u < 0 || void 0 === u) && (u = 0) 1502 } 1503 if ((t = 0 <= n.indexOf(i) ? n.indexOf(i) : Math.floor(u / r.slidesPerGroup)) >= n.length && (t = n.length - 1), u !== o) { 1504 var h = parseInt(a.slides.eq(u).attr("data-swiper-slide-index") || u, 10); 1505 c.extend(a, { 1506 snapIndex: t, 1507 realIndex: h, 1508 previousIndex: o, 1509 activeIndex: u 1510 }), a.emit("activeIndexChange"), a.emit("snapIndexChange"), l !== h && a.emit("realIndexChange"), a.emit("slideChange") 1511 } else t !== d && (a.snapIndex = t, a.emit("snapIndexChange")) 1512 }, 1513 updateClickedSlide: function(t) { 1514 var a = this, 1515 i = a.params, 1516 s = e(t.target).closest("." + i.slideClass)[0], 1517 n = !1; 1518 if (s) 1519 for (var r = 0; r < a.slides.length; r += 1) a.slides[r] === s && (n = !0); 1520 if (!s || !n) return a.clickedSlide = void 0, void(a.clickedIndex = void 0); 1521 a.clickedSlide = s, a.virtual && a.params.virtual.enabled ? a.clickedIndex = parseInt(e(s).attr("data-swiper-slide-index"), 10) : a.clickedIndex = e(s).index(), i.slideToClickedSlide && void 0 !== a.clickedIndex && a.clickedIndex !== a.activeIndex && a.slideToClickedSlide() 1522 } 1523 }, 1524 m = { 1525 getTranslate: function(e) { 1526 void 0 === e && (e = this.isHorizontal() ? "x" : "y"); 1527 var t = this.params, 1528 a = this.rtlTranslate, 1529 i = this.translate, 1530 s = this.$wrapperEl; 1531 if (t.virtualTranslate) return a ? -i : i; 1532 var n = c.getTranslate(s[0], e); 1533 return a && (n = -n), n || 0 1534 }, 1535 setTranslate: function(e, t) { 1536 var a = this, 1537 i = a.rtlTranslate, 1538 s = a.params, 1539 n = a.$wrapperEl, 1540 r = a.progress, 1541 o = 0, 1542 l = 0; 1543 a.isHorizontal() ? o = i ? -e : e : l = e, s.roundLengths && (o = Math.floor(o), l = Math.floor(l)), s.virtualTranslate || (u.transforms3d ? n.transform("translate3d(" + o + "px, " + l + "px, 0px)") : n.transform("translate(" + o + "px, " + l + "px)")), a.previousTranslate = a.translate, a.translate = a.isHorizontal() ? o : l; 1544 var d = a.maxTranslate() - a.minTranslate(); 1545 (0 === d ? 0 : (e - a.minTranslate()) / d) !== r && a.updateProgress(e), a.emit("setTranslate", a.translate, t) 1546 }, 1547 minTranslate: function() { 1548 return -this.snapGrid[0] 1549 }, 1550 maxTranslate: function() { 1551 return -this.snapGrid[this.snapGrid.length - 1] 1552 } 1553 }, 1554 g = { 1555 setTransition: function(e, t) { 1556 this.$wrapperEl.transition(e), this.emit("setTransition", e, t) 1557 }, 1558 transitionStart: function(e, t) { 1559 void 0 === e && (e = !0); 1560 var a = this, 1561 i = a.activeIndex, 1562 s = a.params, 1563 n = a.previousIndex; 1564 s.autoHeight && a.updateAutoHeight(); 1565 var r = t; 1566 if (r || (r = n < i ? "next" : i < n ? "prev" : "reset"), a.emit("transitionStart"), e && i !== n) { 1567 if ("reset" === r) return void a.emit("slideResetTransitionStart"); 1568 a.emit("slideChangeTransitionStart"), "next" === r ? a.emit("slideNextTransitionStart") : a.emit("slidePrevTransitionStart") 1569 } 1570 }, 1571 transitionEnd: function(e, t) { 1572 void 0 === e && (e = !0); 1573 var a = this, 1574 i = a.activeIndex, 1575 s = a.previousIndex; 1576 a.animating = !1, a.setTransition(0); 1577 var n = t; 1578 if (n || (n = s < i ? "next" : i < s ? "prev" : "reset"), a.emit("transitionEnd"), e && i !== s) { 1579 if ("reset" === n) return void a.emit("slideResetTransitionEnd"); 1580 a.emit("slideChangeTransitionEnd"), "next" === n ? a.emit("slideNextTransitionEnd") : a.emit("slidePrevTransitionEnd") 1581 } 1582 } 1583 }, 1584 b = { 1585 slideTo: function(e, t, a, i) { 1586 void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0); 1587 var s = this, 1588 n = e; 1589 n < 0 && (n = 0); 1590 var r = s.params, 1591 o = s.snapGrid, 1592 l = s.slidesGrid, 1593 d = s.previousIndex, 1594 c = s.activeIndex, 1595 p = s.rtlTranslate; 1596 if (s.animating && r.preventInteractionOnTransition) return !1; 1597 var h = Math.floor(n / r.slidesPerGroup); 1598 h >= o.length && (h = o.length - 1), (c || r.initialSlide || 0) === (d || 0) && a && s.emit("beforeSlideChangeStart"); 1599 var f, v = -o[h]; 1600 if (s.updateProgress(v), r.normalizeSlideIndex) 1601 for (var m = 0; m < l.length; m += 1) - Math.floor(100 * v) >= Math.floor(100 * l[m]) && (n = m); 1602 if (s.initialized && n !== c) { 1603 if (!s.allowSlideNext && v < s.translate && v < s.minTranslate()) return !1; 1604 if (!s.allowSlidePrev && v > s.translate && v > s.maxTranslate() && (c || 0) !== n) return !1 1605 } 1606 return f = c < n ? "next" : n < c ? "prev" : "reset", p && -v === s.translate || !p && v === s.translate ? (s.updateActiveIndex(n), r.autoHeight && s.updateAutoHeight(), s.updateSlidesClasses(), "slide" !== r.effect && s.setTranslate(v), "reset" !== f && (s.transitionStart(a, f), s.transitionEnd(a, f)), !1) : (0 !== t && u.transition ? (s.setTransition(t), s.setTranslate(v), s.updateActiveIndex(n), s.updateSlidesClasses(), s.emit("beforeTransitionStart", t, i), s.transitionStart(a, f), s.animating || (s.animating = !0, s.onSlideToWrapperTransitionEnd || (s.onSlideToWrapperTransitionEnd = function(e) { 1607 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, f)) 1608 }), s.$wrapperEl[0].addEventListener("transitionend", s.onSlideToWrapperTransitionEnd), s.$wrapperEl[0].addEventListener("webkitTransitionEnd", s.onSlideToWrapperTransitionEnd))) : (s.setTransition(0), s.setTranslate(v), s.updateActiveIndex(n), s.updateSlidesClasses(), s.emit("beforeTransitionStart", t, i), s.transitionStart(a, f), s.transitionEnd(a, f)), !0) 1609 }, 1610 slideToLoop: function(e, t, a, i) { 1611 void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0); 1612 var s = e; 1613 return this.params.loop && (s += this.loopedSlides), this.slideTo(s, t, a, i) 1614 }, 1615 slideNext: function(e, t, a) { 1616 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 1617 var i = this, 1618 s = i.params, 1619 n = i.animating; 1620 return s.loop ? !n && (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) 1621 }, 1622 slidePrev: function(e, t, a) { 1623 function i(e) { 1624 return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e) 1625 } 1626 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 1627 var s = this, 1628 n = s.params, 1629 r = s.animating, 1630 o = s.snapGrid, 1631 l = s.slidesGrid, 1632 d = s.rtlTranslate; 1633 if (n.loop) { 1634 if (r) return !1; 1635 s.loopFix(), s._clientLeft = s.$wrapperEl[0].clientLeft 1636 } 1637 var c, u = i(d ? s.translate : -s.translate), 1638 p = o.map(function(e) { 1639 return i(e) 1640 }), 1641 h = (l.map(function(e) { 1642 return i(e) 1643 }), o[p.indexOf(u)], o[p.indexOf(u) - 1]); 1644 return void 0 !== h && (c = l.indexOf(h)) < 0 && (c = s.activeIndex - 1), s.slideTo(c, e, t, a) 1645 }, 1646 slideReset: function(e, t, a) { 1647 return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, a) 1648 }, 1649 slideToClosest: function(e, t, a) { 1650 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 1651 var i = this, 1652 s = i.activeIndex, 1653 n = Math.floor(s / i.params.slidesPerGroup); 1654 if (n < i.snapGrid.length - 1) { 1655 var r = i.rtlTranslate ? i.translate : -i.translate, 1656 o = i.snapGrid[n]; 1657 (i.snapGrid[n + 1] - o) / 2 < r - o && (s = i.params.slidesPerGroup) 1658 } 1659 return i.slideTo(s, e, t, a) 1660 }, 1661 slideToClickedSlide: function() { 1662 var t, a = this, 1663 i = a.params, 1664 s = a.$wrapperEl, 1665 n = "auto" === i.slidesPerView ? a.slidesPerViewDynamic() : i.slidesPerView, 1666 r = a.clickedIndex; 1667 if (i.loop) { 1668 if (a.animating) return; 1669 t = parseInt(e(a.clickedSlide).attr("data-swiper-slide-index"), 10), i.centeredSlides ? r < a.loopedSlides - n / 2 || r > a.slides.length - a.loopedSlides + n / 2 ? (a.loopFix(), r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + t + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index(), c.nextTick(function() { 1670 a.slideTo(r) 1671 })) : a.slideTo(r) : r > a.slides.length - n ? (a.loopFix(), r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + t + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index(), c.nextTick(function() { 1672 a.slideTo(r) 1673 })) : a.slideTo(r) 1674 } else a.slideTo(r) 1675 } 1676 }, 1677 y = { 1678 loopCreate: function() { 1679 var t = this, 1680 a = t.params, 1681 s = t.$wrapperEl; 1682 s.children("." + a.slideClass + "." + a.slideDuplicateClass).remove(); 1683 var n = s.children("." + a.slideClass); 1684 if (a.loopFillGroupWithBlank) { 1685 var r = a.slidesPerGroup - n.length % a.slidesPerGroup; 1686 if (r !== a.slidesPerGroup) { 1687 for (var o = 0; o < r; o += 1) { 1688 var l = e(i.createElement("div")).addClass(a.slideClass + " " + a.slideBlankClass); 1689 s.append(l) 1690 } 1691 n = s.children("." + a.slideClass) 1692 } 1693 } 1694 "auto" !== a.slidesPerView || a.loopedSlides || (a.loopedSlides = n.length), t.loopedSlides = parseInt(a.loopedSlides || a.slidesPerView, 10), t.loopedSlides += a.loopAdditionalSlides, t.loopedSlides > n.length && (t.loopedSlides = n.length); 1695 var d = [], 1696 c = []; 1697 n.each(function(a, i) { 1698 var s = e(i); 1699 a < t.loopedSlides && c.push(i), a < n.length && a >= n.length - t.loopedSlides && d.push(i), s.attr("data-swiper-slide-index", a) 1700 }); 1701 for (var u = 0; u < c.length; u += 1) s.append(e(c[u].cloneNode(!0)).addClass(a.slideDuplicateClass)); 1702 for (var p = d.length - 1; 0 <= p; p -= 1) s.prepend(e(d[p].cloneNode(!0)).addClass(a.slideDuplicateClass)) 1703 }, 1704 loopFix: function() { 1705 var e, t = this, 1706 a = t.params, 1707 i = t.activeIndex, 1708 s = t.slides, 1709 n = t.loopedSlides, 1710 r = t.allowSlidePrev, 1711 o = t.allowSlideNext, 1712 l = t.snapGrid, 1713 d = t.rtlTranslate; 1714 t.allowSlidePrev = !0, t.allowSlideNext = !0; 1715 var c = -l[i] - t.getTranslate(); 1716 i < n ? (e = s.length - 3 * n + i, e += n, t.slideTo(e, 0, !1, !0) && 0 !== c && t.setTranslate((d ? -t.translate : t.translate) - c)) : ("auto" === a.slidesPerView && 2 * n <= i || i >= s.length - n) && (e = -s.length + i + n, e += n, t.slideTo(e, 0, !1, !0) && 0 !== c && t.setTranslate((d ? -t.translate : t.translate) - c)), t.allowSlidePrev = r, t.allowSlideNext = o 1717 }, 1718 loopDestroy: function() { 1719 var e = this.$wrapperEl, 1720 t = this.params, 1721 a = this.slides; 1722 e.children("." + t.slideClass + "." + t.slideDuplicateClass + ",." + t.slideClass + "." + t.slideBlankClass).remove(), a.removeAttr("data-swiper-slide-index") 1723 } 1724 }, 1725 w = { 1726 setGrabCursor: function(e) { 1727 if (!(u.touch || !this.params.simulateTouch || this.params.watchOverflow && this.isLocked)) { 1728 var t = this.el; 1729 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" 1730 } 1731 }, 1732 unsetGrabCursor: function() { 1733 u.touch || this.params.watchOverflow && this.isLocked || (this.el.style.cursor = "") 1734 } 1735 }, 1736 x = { 1737 appendSlide: function(e) { 1738 var t = this, 1739 a = t.$wrapperEl, 1740 i = t.params; 1741 if (i.loop && t.loopDestroy(), "object" == typeof e && "length" in e) 1742 for (var s = 0; s < e.length; s += 1) e[s] && a.append(e[s]); 1743 else a.append(e); 1744 i.loop && t.loopCreate(), i.observer && u.observer || t.update() 1745 }, 1746 prependSlide: function(e) { 1747 var t = this, 1748 a = t.params, 1749 i = t.$wrapperEl, 1750 s = t.activeIndex; 1751 a.loop && t.loopDestroy(); 1752 var n = s + 1; 1753 if ("object" == typeof e && "length" in e) { 1754 for (var r = 0; r < e.length; r += 1) e[r] && i.prepend(e[r]); 1755 n = s + e.length 1756 } else i.prepend(e); 1757 a.loop && t.loopCreate(), a.observer && u.observer || t.update(), t.slideTo(n, 0, !1) 1758 }, 1759 addSlide: function(e, t) { 1760 var a = this, 1761 i = a.$wrapperEl, 1762 s = a.params, 1763 n = a.activeIndex; 1764 s.loop && (n -= a.loopedSlides, a.loopDestroy(), a.slides = i.children("." + s.slideClass)); 1765 var r = a.slides.length; 1766 if (e <= 0) a.prependSlide(t); 1767 else if (r <= e) a.appendSlide(t); 1768 else { 1769 for (var o = e < n ? n + 1 : n, l = [], d = r - 1; e <= d; d -= 1) { 1770 var c = a.slides.eq(d); 1771 c.remove(), l.unshift(c) 1772 } 1773 if ("object" == typeof t && "length" in t) { 1774 for (var p = 0; p < t.length; p += 1) t[p] && i.append(t[p]); 1775 o = e < n ? n + t.length : n 1776 } else i.append(t); 1777 for (var h = 0; h < l.length; h += 1) i.append(l[h]); 1778 s.loop && a.loopCreate(), s.observer && u.observer || a.update(), s.loop ? a.slideTo(o + a.loopedSlides, 0, !1) : a.slideTo(o, 0, !1) 1779 } 1780 }, 1781 removeSlide: function(e) { 1782 var t = this, 1783 a = t.params, 1784 i = t.$wrapperEl, 1785 s = t.activeIndex; 1786 a.loop && (s -= t.loopedSlides, t.loopDestroy(), t.slides = i.children("." + a.slideClass)); 1787 var n, r = s; 1788 if ("object" == typeof e && "length" in e) { 1789 for (var o = 0; o < e.length; o += 1) n = e[o], t.slides[n] && t.slides.eq(n).remove(), n < r && (r -= 1); 1790 r = Math.max(r, 0) 1791 } else n = e, t.slides[n] && t.slides.eq(n).remove(), n < r && (r -= 1), r = Math.max(r, 0); 1792 a.loop && t.loopCreate(), a.observer && u.observer || t.update(), a.loop ? t.slideTo(r + t.loopedSlides, 0, !1) : t.slideTo(r, 0, !1) 1793 }, 1794 removeAllSlides: function() { 1795 for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t); 1796 this.removeSlide(e) 1797 } 1798 }, 1799 E = function() { 1800 var e = s.navigator.userAgent, 1801 t = { 1802 ios: !1, 1803 android: !1, 1804 androidChrome: !1, 1805 desktop: !1, 1806 windows: !1, 1807 iphone: !1, 1808 ipod: !1, 1809 ipad: !1, 1810 cordova: s.cordova || s.phonegap, 1811 phonegap: s.cordova || s.phonegap 1812 }, 1813 a = e.match(/(Windows Phone);?[\s\/]+([\d.]+)?/), 1814 n = e.match(/(Android);?[\s\/]+([\d.]+)?/), 1815 r = e.match(/(iPad).*OS\s([\d_]+)/), 1816 o = e.match(/(iPod)(.*OS\s([\d_]+))?/), 1817 l = !r && e.match(/(iPhone\sOS|iOS)\s([\d_]+)/); 1818 if (a && (t.os = "windows", t.osVersion = a[2], t.windows = !0), n && !a && (t.os = "android", t.osVersion = n[2], t.android = !0, t.androidChrome = 0 <= e.toLowerCase().indexOf("chrome")), (r || l || o) && (t.os = "ios", t.ios = !0), l && !o && (t.osVersion = l[2].replace(/_/g, "."), t.iphone = !0), r && (t.osVersion = r[2].replace(/_/g, "."), t.ipad = !0), o && (t.osVersion = o[3] ? o[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 = (l || r || o) && e.match(/.*AppleWebKit(?!.*Safari)/i), t.os && "ios" === t.os) { 1819 var d = t.osVersion.split("."), 1820 c = i.querySelector('meta[name="viewport"]'); 1821 t.minimalUi = !t.webView && (o || l) && (1 * d[0] == 7 ? 1 <= 1 * d[1] : 7 < 1 * d[0]) && c && 0 <= c.getAttribute("content").indexOf("minimal-ui") 1822 } 1823 return t.pixelRatio = s.devicePixelRatio || 1, t 1824 }(), 1825 T = { 1826 attachEvents: function() { 1827 var t = this, 1828 n = t.params, 1829 r = t.touchEvents, 1830 o = t.el, 1831 l = t.wrapperEl; 1832 t.onTouchStart = function(t) { 1833 var a = this, 1834 n = a.touchEventsData, 1835 r = a.params, 1836 o = a.touches; 1837 if (!a.animating || !r.preventInteractionOnTransition) { 1838 var l = t; 1839 if (l.originalEvent && (l = l.originalEvent), n.isTouchEvent = "touchstart" === l.type, (n.isTouchEvent || !("which" in l) || 3 !== l.which) && !(!n.isTouchEvent && "button" in l && 0 < l.button || n.isTouched && n.isMoved)) 1840 if (r.noSwiping && e(l.target).closest(r.noSwipingSelector ? r.noSwipingSelector : "." + r.noSwipingClass)[0]) a.allowClick = !0; 1841 else if (!r.swipeHandler || e(l).closest(r.swipeHandler)[0]) { 1842 o.currentX = "touchstart" === l.type ? l.targetTouches[0].pageX : l.pageX, o.currentY = "touchstart" === l.type ? l.targetTouches[0].pageY : l.pageY; 1843 var d = o.currentX, 1844 u = o.currentY, 1845 p = r.edgeSwipeDetection || r.iOSEdgeSwipeDetection, 1846 h = r.edgeSwipeThreshold || r.iOSEdgeSwipeThreshold; 1847 if (!p || !(d <= h || d >= s.screen.width - h)) { 1848 if (c.extend(n, { 1849 isTouched: !0, 1850 isMoved: !1, 1851 allowTouchCallbacks: !0, 1852 isScrolling: void 0, 1853 startMoving: void 0 1854 }), o.startX = d, o.startY = u, n.touchStartTime = c.now(), a.allowClick = !0, a.updateSize(), a.swipeDirection = void 0, 0 < r.threshold && (n.allowThresholdMove = !1), "touchstart" !== l.type) { 1855 var f = !0; 1856 e(l.target).is(n.formElements) && (f = !1), i.activeElement && e(i.activeElement).is(n.formElements) && i.activeElement !== l.target && i.activeElement.blur(); 1857 var v = f && a.allowTouchMove && r.touchStartPreventDefault; 1858 (r.touchStartForcePreventDefault || v) && l.preventDefault() 1859 } 1860 a.emit("touchStart", l) 1861 } 1862 } 1863 } 1864 }.bind(t), t.onTouchMove = function(t) { 1865 var a = this, 1866 s = a.touchEventsData, 1867 n = a.params, 1868 r = a.touches, 1869 o = a.rtlTranslate, 1870 l = t; 1871 if (l.originalEvent && (l = l.originalEvent), s.isTouched) { 1872 if (!s.isTouchEvent || "mousemove" !== l.type) { 1873 var d = "touchmove" === l.type ? l.targetTouches[0].pageX : l.pageX, 1874 u = "touchmove" === l.type ? l.targetTouches[0].pageY : l.pageY; 1875 if (l.preventedByNestedSwiper) return r.startX = d, void(r.startY = u); 1876 if (!a.allowTouchMove) return a.allowClick = !1, void(s.isTouched && (c.extend(r, { 1877 startX: d, 1878 startY: u, 1879 currentX: d, 1880 currentY: u 1881 }), s.touchStartTime = c.now())); 1882 if (s.isTouchEvent && n.touchReleaseOnEdges && !n.loop) 1883 if (a.isVertical()) { 1884 if (u < r.startY && a.translate <= a.maxTranslate() || u > r.startY && a.translate >= a.minTranslate()) return s.isTouched = !1, void(s.isMoved = !1) 1885 } else if (d < r.startX && a.translate <= a.maxTranslate() || d > r.startX && a.translate >= a.minTranslate()) return; 1886 if (s.isTouchEvent && i.activeElement && l.target === i.activeElement && e(l.target).is(s.formElements)) return s.isMoved = !0, void(a.allowClick = !1); 1887 if (s.allowTouchCallbacks && a.emit("touchMove", l), !(l.targetTouches && 1 < l.targetTouches.length)) { 1888 r.currentX = d, r.currentY = u; 1889 var p, h = r.currentX - r.startX, 1890 f = r.currentY - r.startY; 1891 if (!(a.params.threshold && Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)) < a.params.threshold)) 1892 if (void 0 === s.isScrolling && (a.isHorizontal() && r.currentY === r.startY || a.isVertical() && r.currentX === r.startX ? s.isScrolling = !1 : 25 <= h * h + f * f && (p = 180 * Math.atan2(Math.abs(f), Math.abs(h)) / Math.PI, s.isScrolling = a.isHorizontal() ? p > n.touchAngle : 90 - p > n.touchAngle)), s.isScrolling && a.emit("touchMoveOpposite", l), void 0 === s.startMoving && (r.currentX === r.startX && r.currentY === r.startY || (s.startMoving = !0)), s.isScrolling) s.isTouched = !1; 1893 else if (s.startMoving) { 1894 a.allowClick = !1, l.preventDefault(), n.touchMoveStopPropagation && !n.nested && l.stopPropagation(), s.isMoved || (n.loop && a.loopFix(), s.startTranslate = a.getTranslate(), a.setTransition(0), a.animating && a.$wrapperEl.trigger("webkitTransitionEnd transitionend"), s.allowMomentumBounce = !1, !n.grabCursor || !0 !== a.allowSlideNext && !0 !== a.allowSlidePrev || a.setGrabCursor(!0), a.emit("sliderFirstMove", l)), a.emit("sliderMove", l), s.isMoved = !0; 1895 var v = a.isHorizontal() ? h : f; 1896 r.diff = v, v *= n.touchRatio, o && (v = -v), a.swipeDirection = 0 < v ? "prev" : "next", s.currentTranslate = v + s.startTranslate; 1897 var m = !0, 1898 g = n.resistanceRatio; 1899 if (n.touchReleaseOnEdges && (g = 0), 0 < v && s.currentTranslate > a.minTranslate() ? (m = !1, n.resistance && (s.currentTranslate = a.minTranslate() - 1 + Math.pow(-a.minTranslate() + s.startTranslate + v, g))) : v < 0 && s.currentTranslate < a.maxTranslate() && (m = !1, n.resistance && (s.currentTranslate = a.maxTranslate() + 1 - Math.pow(a.maxTranslate() - s.startTranslate - v, g))), m && (l.preventedByNestedSwiper = !0), !a.allowSlideNext && "next" === a.swipeDirection && s.currentTranslate < s.startTranslate && (s.currentTranslate = s.startTranslate), !a.allowSlidePrev && "prev" === a.swipeDirection && s.currentTranslate > s.startTranslate && (s.currentTranslate = s.startTranslate), 0 < n.threshold) { 1900 if (!(Math.abs(v) > n.threshold || s.allowThresholdMove)) return void(s.currentTranslate = s.startTranslate); 1901 if (!s.allowThresholdMove) return s.allowThresholdMove = !0, r.startX = r.currentX, r.startY = r.currentY, s.currentTranslate = s.startTranslate, void(r.diff = a.isHorizontal() ? r.currentX - r.startX : r.currentY - r.startY) 1902 } 1903 n.followFinger && ((n.freeMode || n.watchSlidesProgress || n.watchSlidesVisibility) && (a.updateActiveIndex(), a.updateSlidesClasses()), n.freeMode && (0 === s.velocities.length && s.velocities.push({ 1904 position: r[a.isHorizontal() ? "startX" : "startY"], 1905 time: s.touchStartTime 1906 }), s.velocities.push({ 1907 position: r[a.isHorizontal() ? "currentX" : "currentY"], 1908 time: c.now() 1909 })), a.updateProgress(s.currentTranslate), a.setTranslate(s.currentTranslate)) 1910 } 1911 } 1912 } 1913 } else s.startMoving && s.isScrolling && a.emit("touchMoveOpposite", l) 1914 }.bind(t), t.onTouchEnd = function(e) { 1915 var t = this, 1916 a = t.touchEventsData, 1917 i = t.params, 1918 s = t.touches, 1919 n = t.rtlTranslate, 1920 r = t.$wrapperEl, 1921 o = t.slidesGrid, 1922 l = t.snapGrid, 1923 d = e; 1924 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); 1925 i.grabCursor && a.isMoved && a.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1); 1926 var u, p = c.now(), 1927 h = p - a.touchStartTime; 1928 if (t.allowClick && (t.updateClickedSlide(d), t.emit("tap", d), h < 300 && 300 < p - a.lastClickTime && (a.clickTimeout && clearTimeout(a.clickTimeout), a.clickTimeout = c.nextTick(function() { 1929 t && !t.destroyed && t.emit("click", d) 1930 }, 300)), h < 300 && p - a.lastClickTime < 300 && (a.clickTimeout && clearTimeout(a.clickTimeout), t.emit("doubleTap", d))), a.lastClickTime = c.now(), c.nextTick(function() { 1931 t.destroyed || (t.allowClick = !0) 1932 }), !a.isTouched || !a.isMoved || !t.swipeDirection || 0 === s.diff || a.currentTranslate === a.startTranslate) return a.isTouched = !1, a.isMoved = !1, void(a.startMoving = !1); 1933 if (a.isTouched = !1, a.isMoved = !1, a.startMoving = !1, u = i.followFinger ? n ? t.translate : -t.translate : -a.currentTranslate, i.freeMode) { 1934 if (u < -t.minTranslate()) return void t.slideTo(t.activeIndex); 1935 if (u > -t.maxTranslate()) return void(t.slides.length < l.length ? t.slideTo(l.length - 1) : t.slideTo(t.slides.length - 1)); 1936 if (i.freeModeMomentum) { 1937 if (1 < a.velocities.length) { 1938 var f = a.velocities.pop(), 1939 v = a.velocities.pop(), 1940 m = f.position - v.position, 1941 g = f.time - v.time; 1942 t.velocity = m / g, t.velocity /= 2, Math.abs(t.velocity) < i.freeModeMinimumVelocity && (t.velocity = 0), (150 < g || 300 < c.now() - f.time) && (t.velocity = 0) 1943 } else t.velocity = 0; 1944 t.velocity *= i.freeModeMomentumVelocityRatio, a.velocities.length = 0; 1945 var b = 1e3 * i.freeModeMomentumRatio, 1946 y = t.velocity * b, 1947 w = t.translate + y; 1948 n && (w = -w); 1949 var x, E, T = !1, 1950 C = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio; 1951 if (w < t.maxTranslate()) i.freeModeMomentumBounce ? (w + t.maxTranslate() < -C && (w = t.maxTranslate() - C), x = t.maxTranslate(), T = !0, a.allowMomentumBounce = !0) : w = t.maxTranslate(), i.loop && i.centeredSlides && (E = !0); 1952 else if (w > t.minTranslate()) i.freeModeMomentumBounce ? (w - t.minTranslate() > C && (w = t.minTranslate() + C), x = t.minTranslate(), T = !0, a.allowMomentumBounce = !0) : w = t.minTranslate(), i.loop && i.centeredSlides && (E = !0); 1953 else if (i.freeModeSticky) { 1954 for (var S, M = 0; M < l.length; M += 1) 1955 if (l[M] > -w) { 1956 S = M; 1957 break 1958 } 1959 w = -(w = Math.abs(l[S] - w) < Math.abs(l[S - 1] - w) || "next" === t.swipeDirection ? l[S] : l[S - 1]) 1960 } 1961 if (E && t.once("transitionEnd", function() { 1962 t.loopFix() 1963 }), 0 !== t.velocity) b = n ? Math.abs((-w - t.translate) / t.velocity) : Math.abs((w - t.translate) / t.velocity); 1964 else if (i.freeModeSticky) return void t.slideToClosest(); 1965 i.freeModeMomentumBounce && T ? (t.updateProgress(x), t.setTransition(b), t.setTranslate(w), t.transitionStart(!0, t.swipeDirection), t.animating = !0, r.transitionEnd(function() { 1966 t && !t.destroyed && a.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(i.speed), t.setTranslate(x), r.transitionEnd(function() { 1967 t && !t.destroyed && t.transitionEnd() 1968 })) 1969 })) : t.velocity ? (t.updateProgress(w), t.setTransition(b), t.setTranslate(w), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, r.transitionEnd(function() { 1970 t && !t.destroyed && t.transitionEnd() 1971 }))) : t.updateProgress(w), t.updateActiveIndex(), t.updateSlidesClasses() 1972 } else if (i.freeModeSticky) return void t.slideToClosest(); 1973 (!i.freeModeMomentum || h >= i.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses()) 1974 } else { 1975 for (var k = 0, P = t.slidesSizesGrid[0], L = 0; L < o.length; L += i.slidesPerGroup) void 0 !== o[L + i.slidesPerGroup] ? u >= o[L] && u < o[L + i.slidesPerGroup] && (P = o[(k = L) + i.slidesPerGroup] - o[L]) : u >= o[L] && (k = L, P = o[o.length - 1] - o[o.length - 2]); 1976 var z = (u - o[k]) / P; 1977 if (h > i.longSwipesMs) { 1978 if (!i.longSwipes) return void t.slideTo(t.activeIndex); 1979 "next" === t.swipeDirection && (z >= i.longSwipesRatio ? t.slideTo(k + i.slidesPerGroup) : t.slideTo(k)), "prev" === t.swipeDirection && (z > 1 - i.longSwipesRatio ? t.slideTo(k + i.slidesPerGroup) : t.slideTo(k)) 1980 } else { 1981 if (!i.shortSwipes) return void t.slideTo(t.activeIndex); 1982 "next" === t.swipeDirection && t.slideTo(k + i.slidesPerGroup), "prev" === t.swipeDirection && t.slideTo(k) 1983 } 1984 } 1985 }.bind(t), t.onClick = function(e) { 1986 this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params.preventClicksPropagation && this.animating && (e.stopPropagation(), e.stopImmediatePropagation())) 1987 }.bind(t); 1988 var d = "container" === n.touchEventsTarget ? o : l, 1989 p = !!n.nested; 1990 if (u.touch || !u.pointerEvents && !u.prefixedPointerEvents) { 1991 if (u.touch) { 1992 var h = !("touchstart" !== r.start || !u.passiveListener || !n.passiveListeners) && { 1993 passive: !0, 1994 capture: !1 1995 }; 1996 d.addEventListener(r.start, t.onTouchStart, h), d.addEventListener(r.move, t.onTouchMove, u.passiveListener ? { 1997 passive: !1, 1998 capture: p 1999 } : p), d.addEventListener(r.end, t.onTouchEnd, h) 2000 }(n.simulateTouch && !E.ios && !E.android || n.simulateTouch && !u.touch && E.ios) && (d.addEventListener("mousedown", t.onTouchStart, !1), i.addEventListener("mousemove", t.onTouchMove, p), i.addEventListener("mouseup", t.onTouchEnd, !1)) 2001 } else d.addEventListener(r.start, t.onTouchStart, !1), i.addEventListener(r.move, t.onTouchMove, p), i.addEventListener(r.end, t.onTouchEnd, !1); 2002 (n.preventClicks || n.preventClicksPropagation) && d.addEventListener("click", t.onClick, !0), t.on(E.ios || E.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", a, !0) 2003 }, 2004 detachEvents: function() { 2005 var e = this, 2006 t = e.params, 2007 s = e.touchEvents, 2008 n = e.el, 2009 r = e.wrapperEl, 2010 o = "container" === t.touchEventsTarget ? n : r, 2011 l = !!t.nested; 2012 if (u.touch || !u.pointerEvents && !u.prefixedPointerEvents) { 2013 if (u.touch) { 2014 var d = !("onTouchStart" !== s.start || !u.passiveListener || !t.passiveListeners) && { 2015 passive: !0, 2016 capture: !1 2017 }; 2018 o.removeEventListener(s.start, e.onTouchStart, d), o.removeEventListener(s.move, e.onTouchMove, l), o.removeEventListener(s.end, e.onTouchEnd, d) 2019 }(t.simulateTouch && !E.ios && !E.android || t.simulateTouch && !u.touch && E.ios) && (o.removeEventListener("mousedown", e.onTouchStart, !1), i.removeEventListener("mousemove", e.onTouchMove, l), i.removeEventListener("mouseup", e.onTouchEnd, !1)) 2020 } else o.removeEventListener(s.start, e.onTouchStart, !1), i.removeEventListener(s.move, e.onTouchMove, l), i.removeEventListener(s.end, e.onTouchEnd, !1); 2021 (t.preventClicks || t.preventClicksPropagation) && o.removeEventListener("click", e.onClick, !0), e.off(E.ios || E.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", a) 2022 } 2023 }, 2024 C = { 2025 setBreakpoint: function() { 2026 var e = this, 2027 t = e.activeIndex, 2028 a = e.initialized, 2029 i = e.loopedSlides; 2030 void 0 === i && (i = 0); 2031 var s = e.params, 2032 n = s.breakpoints; 2033 if (n && (!n || 0 !== Object.keys(n).length)) { 2034 var r = e.getBreakpoint(n); 2035 if (r && e.currentBreakpoint !== r) { 2036 var o = r in n ? n[r] : void 0; 2037 o && ["slidesPerView", "spaceBetween", "slidesPerGroup"].forEach(function(e) { 2038 var t = o[e]; 2039 void 0 !== t && (o[e] = "slidesPerView" !== e || "AUTO" !== t && "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto") 2040 }); 2041 var l = o || e.originalParams, 2042 d = s.loop && l.slidesPerView !== s.slidesPerView; 2043 c.extend(e.params, l), c.extend(e, { 2044 allowTouchMove: e.params.allowTouchMove, 2045 allowSlideNext: e.params.allowSlideNext, 2046 allowSlidePrev: e.params.allowSlidePrev 2047 }), e.currentBreakpoint = r, d && a && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - i + e.loopedSlides, 0, !1)), e.emit("breakpoint", l) 2048 } 2049 } 2050 }, 2051 getBreakpoint: function(e) { 2052 if (e) { 2053 var t = !1, 2054 a = []; 2055 Object.keys(e).forEach(function(e) { 2056 a.push(e) 2057 }), a.sort(function(e, t) { 2058 return parseInt(e, 10) - parseInt(t, 10) 2059 }); 2060 for (var i = 0; i < a.length; i += 1) { 2061 var n = a[i]; 2062 this.params.breakpointsInverse ? n <= s.innerWidth && (t = n) : n >= s.innerWidth && !t && (t = n) 2063 } 2064 return t || "max" 2065 } 2066 } 2067 }, 2068 S = { 2069 isIE: !!s.navigator.userAgent.match(/Trident/g) || !!s.navigator.userAgent.match(/MSIE/g), 2070 isEdge: !!s.navigator.userAgent.match(/Edge/g), 2071 isSafari: (f = s.navigator.userAgent.toLowerCase(), 0 <= f.indexOf("safari") && f.indexOf("chrome") < 0 && f.indexOf("android") < 0), 2072 isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(s.navigator.userAgent) 2073 }, 2074 M = { 2075 init: !0, 2076 direction: "horizontal", 2077 touchEventsTarget: "container", 2078 initialSlide: 0, 2079 speed: 300, 2080 preventInteractionOnTransition: !1, 2081 edgeSwipeDetection: !1, 2082 edgeSwipeThreshold: 20, 2083 freeMode: !1, 2084 freeModeMomentum: !0, 2085 freeModeMomentumRatio: 1, 2086 freeModeMomentumBounce: !0, 2087 freeModeMomentumBounceRatio: 1, 2088 freeModeMomentumVelocityRatio: 1, 2089 freeModeSticky: !1, 2090 freeModeMinimumVelocity: .02, 2091 autoHeight: !1, 2092 setWrapperSize: !1, 2093 virtualTranslate: !1, 2094 effect: "slide", 2095 breakpoints: void 0, 2096 breakpointsInverse: !1, 2097 spaceBetween: 0, 2098 slidesPerView: 1, 2099 slidesPerColumn: 1, 2100 slidesPerColumnFill: "column", 2101 slidesPerGroup: 1, 2102 centeredSlides: !1, 2103 slidesOffsetBefore: 0, 2104 slidesOffsetAfter: 0, 2105 normalizeSlideIndex: !0, 2106 centerInsufficientSlides: !1, 2107 watchOverflow: !1, 2108 roundLengths: !1, 2109 touchRatio: 1, 2110 touchAngle: 45, 2111 simulateTouch: !0, 2112 shortSwipes: !0, 2113 longSwipes: !0, 2114 longSwipesRatio: .5, 2115 longSwipesMs: 300, 2116 followFinger: !0, 2117 allowTouchMove: !0, 2118 threshold: 0, 2119 touchMoveStopPropagation: !0, 2120 touchStartPreventDefault: !0, 2121 touchStartForcePreventDefault: !1, 2122 touchReleaseOnEdges: !1, 2123 uniqueNavElements: !0, 2124 resistance: !0, 2125 resistanceRatio: .85, 2126 watchSlidesProgress: !1, 2127 watchSlidesVisibility: !1, 2128 grabCursor: !1, 2129 preventClicks: !0, 2130 preventClicksPropagation: !0, 2131 slideToClickedSlide: !1, 2132 preloadImages: !0, 2133 updateOnImagesReady: !0, 2134 loop: !1, 2135 loopAdditionalSlides: 0, 2136 loopedSlides: null, 2137 loopFillGroupWithBlank: !1, 2138 allowSlidePrev: !0, 2139 allowSlideNext: !0, 2140 swipeHandler: null, 2141 noSwiping: !0, 2142 noSwipingClass: "swiper-no-swiping", 2143 noSwipingSelector: null, 2144 passiveListeners: !0, 2145 containerModifierClass: "swiper-container-", 2146 slideClass: "swiper-slide", 2147 slideBlankClass: "swiper-slide-invisible-blank", 2148 slideActiveClass: "swiper-slide-active", 2149 slideDuplicateActiveClass: "swiper-slide-duplicate-active", 2150 slideVisibleClass: "swiper-slide-visible", 2151 slideDuplicateClass: "swiper-slide-duplicate", 2152 slideNextClass: "swiper-slide-next", 2153 slideDuplicateNextClass: "swiper-slide-duplicate-next", 2154 slidePrevClass: "swiper-slide-prev", 2155 slideDuplicatePrevClass: "swiper-slide-duplicate-prev", 2156 wrapperClass: "swiper-wrapper", 2157 runCallbacksOnInit: !0 2158 }, 2159 k = { 2160 update: v, 2161 translate: m, 2162 transition: g, 2163 slide: b, 2164 loop: y, 2165 grabCursor: w, 2166 manipulation: x, 2167 events: T, 2168 breakpoints: C, 2169 checkOverflow: { 2170 checkOverflow: function() { 2171 var e = this, 2172 t = e.isLocked;
2173 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()) 2174 } 2175 }, 2176 classes: { 2177 addClasses: function() { 2178 var e = this.classNames, 2179 t = this.params, 2180 a = this.rtl, 2181 i = this.$el, 2182 s = []; 2183 s.push(t.direction), t.freeMode && s.push("free-mode"), u.flexbox || s.push("no-flexbox"), t.autoHeight && s.push("autoheight"), a && s.push("rtl"), 1 < t.slidesPerColumn && s.push("multirow"), E.android && s.push("android"), E.ios && s.push("ios"), (S.isIE || S.isEdge) && (u.pointerEvents || u.prefixedPointerEvents) && s.push("wp8-" + t.direction), s.forEach(function(a) { 2184 e.push(t.containerModifierClass + a) 2185 }), i.addClass(e.join(" ")) 2186 }, 2187 removeClasses: function() { 2188 var e = this.$el, 2189 t = this.classNames; 2190 e.removeClass(t.join(" ")) 2191 } 2192 }, 2193 images: { 2194 loadImage: function(e, t, a, i, n, r) { 2195 function o() { 2196 r && r() 2197 } 2198 var l; 2199 e.complete && n ? o() : t ? ((l = new s.Image).onload = o, l.onerror = o, i && (l.sizes = i), a && (l.srcset = a), t && (l.src = t)) : o() 2200 }, 2201 preloadImages: function() { 2202 function e() { 2203 null != t && t && !t.destroyed && (void 0 !== t.imagesLoaded && (t.imagesLoaded += 1), t.imagesLoaded === t.imagesToLoad.length && (t.params.updateOnImagesReady && t.update(), t.emit("imagesReady"))) 2204 } 2205 var t = this; 2206 t.imagesToLoad = t.$el.find("img"); 2207 for (var a = 0; a < t.imagesToLoad.length; a += 1) { 2208 var i = t.imagesToLoad[a]; 2209 t.loadImage(i, i.currentSrc || i.getAttribute("src"), i.srcset || i.getAttribute("srcset"), i.sizes || i.getAttribute("sizes"), !0, e) 2210 } 2211 } 2212 } 2213 }, 2214 P = {}, 2215 L = function(t) { 2216 function a() { 2217 for (var i, s, n, r = [], o = arguments.length; o--;) r[o] = arguments[o]; 2218 1 === r.length && r[0].constructor && r[0].constructor === Object ? n = r[0] : (s = (i = r)[0], n = i[1]), n || (n = {}), n = c.extend({}, n), s && !n.el && (n.el = s), t.call(this, n), Object.keys(k).forEach(function(e) { 2219 Object.keys(k[e]).forEach(function(t) { 2220 a.prototype[t] || (a.prototype[t] = k[e][t]) 2221 }) 2222 }); 2223 var l = this; 2224 void 0 === l.modules && (l.modules = {}), Object.keys(l.modules).forEach(function(e) { 2225 var t = l.modules[e]; 2226 if (t.params) { 2227 var a = Object.keys(t.params)[0], 2228 i = t.params[a]; 2229 if ("object" != typeof i || null === i) return; 2230 if (!(a in n && "enabled" in i)) return; 2231 !0 === n[a] && (n[a] = { 2232 enabled: !0 2233 }), "object" != typeof n[a] || "enabled" in n[a] || (n[a].enabled = !0), n[a] || (n[a] = { 2234 enabled: !1 2235 }) 2236 } 2237 }); 2238 var d = c.extend({}, M); 2239 l.useModulesParams(d), l.params = c.extend({}, d, P, n), l.originalParams = c.extend({}, l.params), l.passedParams = c.extend({}, n); 2240 var p = (l.$ = e)(l.params.el); 2241 if (s = p[0]) { 2242 if (1 < p.length) { 2243 var h = []; 2244 return p.each(function(e, t) { 2245 var i = c.extend({}, n, { 2246 el: t 2247 }); 2248 h.push(new a(i)) 2249 }), h 2250 } 2251 s.swiper = l, p.data("swiper", l); 2252 var f, v, m = p.children("." + l.params.wrapperClass); 2253 return c.extend(l, { 2254 $el: p, 2255 el: s, 2256 $wrapperEl: m, 2257 wrapperEl: m[0], 2258 classNames: [], 2259 slides: e(), 2260 slidesGrid: [], 2261 snapGrid: [], 2262 slidesSizesGrid: [], 2263 isHorizontal: function() { 2264 return "horizontal" === l.params.direction 2265 }, 2266 isVertical: function() { 2267 return "vertical" === l.params.direction 2268 }, 2269 rtl: "rtl" === s.dir.toLowerCase() || "rtl" === p.css("direction"), 2270 rtlTranslate: "horizontal" === l.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === p.css("direction")), 2271 wrongRTL: "-webkit-box" === m.css("display"), 2272 activeIndex: 0, 2273 realIndex: 0, 2274 isBeginning: !0, 2275 isEnd: !1, 2276 translate: 0, 2277 previousTranslate: 0, 2278 progress: 0, 2279 velocity: 0, 2280 animating: !1, 2281 allowSlideNext: l.params.allowSlideNext, 2282 allowSlidePrev: l.params.allowSlidePrev, 2283 touchEvents: (f = ["touchstart", "touchmove", "touchend"], v = ["mousedown", "mousemove", "mouseup"], u.pointerEvents ? v = ["pointerdown", "pointermove", "pointerup"] : u.prefixedPointerEvents && (v = ["MSPointerDown", "MSPointerMove", "MSPointerUp"]), l.touchEventsTouch = { 2284 start: f[0], 2285 move: f[1], 2286 end: f[2] 2287 }, l.touchEventsDesktop = { 2288 start: v[0], 2289 move: v[1], 2290 end: v[2] 2291 }, u.touch || !l.params.simulateTouch ? l.touchEventsTouch : l.touchEventsDesktop), 2292 touchEventsData: { 2293 isTouched: void 0, 2294 isMoved: void 0, 2295 allowTouchCallbacks: void 0, 2296 touchStartTime: void 0, 2297 isScrolling: void 0, 2298 currentTranslate: void 0, 2299 startTranslate: void 0, 2300 allowThresholdMove: void 0, 2301 formElements: "input, select, option, textarea, button, video", 2302 lastClickTime: c.now(), 2303 clickTimeout: void 0, 2304 velocities: [], 2305 allowMomentumBounce: void 0, 2306 isTouchEvent: void 0, 2307 startMoving: void 0 2308 }, 2309 allowClick: !0, 2310 allowTouchMove: l.params.allowTouchMove, 2311 touches: { 2312 startX: 0, 2313 startY: 0, 2314 currentX: 0, 2315 currentY: 0, 2316 diff: 0 2317 }, 2318 imagesToLoad: [], 2319 imagesLoaded: 0 2320 }
vendor: 6,647 bytes, lines 2320-2471
2320), l.useModules(), l.params.init && l.init(), l 2321 } 2322 } 2323 t && (a.__proto__ = t); 2324 var i = { 2325 extendedDefaults: { 2326 configurable: !0 2327 }, 2328 defaults: { 2329 configurable: !0 2330 }, 2331 Class: { 2332 configurable: !0 2333 }, 2334 $: { 2335 configurable: !0 2336 } 2337 }; 2338 return ((a.prototype = Object.create(t && t.prototype)).constructor = a).prototype.slidesPerViewDynamic = function() { 2339 var e = this, 2340 t = e.params, 2341 a = e.slides, 2342 i = e.slidesGrid, 2343 s = e.size, 2344 n = e.activeIndex, 2345 r = 1; 2346 if (t.centeredSlides) { 2347 for (var o, l = a[n].swiperSlideSize, d = n + 1; d < a.length; d += 1) a[d] && !o && (r += 1, s < (l += a[d].swiperSlideSize) && (o = !0)); 2348 for (var c = n - 1; 0 <= c; c -= 1) a[c] && !o && (r += 1, s < (l += a[c].swiperSlideSize) && (o = !0)) 2349 } else 2350 for (var u = n + 1; u < a.length; u += 1) i[u] - i[n] < s && (r += 1); 2351 return r 2352 }, a.prototype.update = function() { 2353 function e() { 2354 var e = t.rtlTranslate ? -1 * t.translate : t.translate, 2355 a = Math.min(Math.max(e, t.maxTranslate()), t.minTranslate()); 2356 t.setTranslate(a), t.updateActiveIndex(), t.updateSlidesClasses() 2357 } 2358 var t = this; 2359 if (t && !t.destroyed) { 2360 var a = t.snapGrid, 2361 i = t.params; 2362 i.breakpoints && t.setBreakpoint(), t.updateSize(), t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.params.freeMode ? (e(), t.params.autoHeight && t.updateAutoHeight()) : (("auto" === t.params.slidesPerView || 1 < t.params.slidesPerView) && t.isEnd && !t.params.centeredSlides ? t.slideTo(t.slides.length - 1, 0, !1, !0) : t.slideTo(t.activeIndex, 0, !1, !0)) || e(), i.watchOverflow && a !== t.snapGrid && t.checkOverflow(), t.emit("update") 2363 } 2364 }, a.prototype.init = function() { 2365 var e = this; 2366 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")) 2367 }, a.prototype.destroy = function(e, t) { 2368 void 0 === e && (e = !0), void 0 === t && (t = !0); 2369 var a = this, 2370 i = a.params, 2371 s = a.$el, 2372 n = a.$wrapperEl, 2373 r = a.slides; 2374 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"), n.removeAttr("style"), r && r.length && r.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) { 2375 a.off(e) 2376 }), !1 !== e && (a.$el[0].swiper = null, a.$el.data("swiper", null), c.deleteProps(a)), a.destroyed = !0), null 2377 }, a.extendDefaults = function(e) { 2378 c.extend(P, e) 2379 }, i.extendedDefaults.get = function() { 2380 return P 2381 }, i.defaults.get = function() { 2382 return M 2383 }, i.Class.get = function() { 2384 return t 2385 }, i.$.get = function() { 2386 return e 2387 }, Object.defineProperties(a, i), a 2388 }(p), 2389 z = { 2390 name: "device", 2391 proto: { 2392 device: E 2393 }, 2394 static: { 2395 device: E 2396 } 2397 }, 2398 I = { 2399 name: "support", 2400 proto: { 2401 support: u 2402 }, 2403 static: { 2404 support: u 2405 } 2406 }, 2407 $ = { 2408 name: "browser", 2409 proto: { 2410 browser: S 2411 }, 2412 static: { 2413 browser: S 2414 } 2415 }, 2416 B = { 2417 name: "resize", 2418 create: function() { 2419 var e = this; 2420 c.extend(e, { 2421 resize: { 2422 resizeHandler: function() { 2423 e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize")) 2424 }, 2425 orientationChangeHandler: function() { 2426 e && !e.destroyed && e.initialized && e.emit("orientationchange") 2427 } 2428 } 2429 }) 2430 }, 2431 on: { 2432 init: function() { 2433 s.addEventListener("resize", this.resize.resizeHandler), s.addEventListener("orientationchange", this.resize.orientationChangeHandler) 2434 }, 2435 destroy: function() { 2436 s.removeEventListener("resize", this.resize.resizeHandler), s.removeEventListener("orientationchange", this.resize.orientationChangeHandler) 2437 } 2438 } 2439 }, 2440 D = { 2441 func: s.MutationObserver || s.WebkitMutationObserver, 2442 attach: function(e, t) { 2443 void 0 === t && (t = {}); 2444 var a = this, 2445 i = new D.func(function(e) { 2446 if (1 !== e.length) { 2447 var t = function() { 2448 a.emit("observerUpdate", e[0]) 2449 }; 2450 s.requestAnimationFrame ? s.requestAnimationFrame(t) : s.setTimeout(t, 0) 2451 } else a.emit("observerUpdate", e[0]) 2452 }); 2453 i.observe(e, { 2454 attributes: void 0 === t.attributes || t.attributes, 2455 childList: void 0 === t.childList || t.childList, 2456 characterData: void 0 === t.characterData || t.characterData 2457 }), a.observer.observers.push(i) 2458 }, 2459 init: function() { 2460 var e = this; 2461 if (u.observer && e.params.observer) { 2462 if (e.params.observeParents) 2463 for (var t = e.$el.parents(), a = 0; a < t.length; a += 1) e.observer.attach(t[a]); 2464 e.observer.attach(e.$el[0], { 2465 childList: e.params.observeSlideChildren 2466 }), e.observer.attach(e.$wrapperEl[0], { 2467 attributes: !1 2468 }) 2469 } 2470 }, 2471 destroy: function() {
2472 this.observer.observers.forEach(function(e) { 2473 e.disconnect() 2474 }), this.observer.observers = [] 2475 } 2476 }, 2477 A = { 2478 name: "observer", 2479 params: { 2480 observer: !1, 2481 observeParents: !1, 2482 observeSlideChildren: !1 2483 }, 2484 create: function() { 2485 c.extend(this, { 2486 observer: { 2487 init: D.init.bind(this), 2488 attach: D.attach.bind(this), 2489 destroy: D.destroy.bind(this), 2490 observers: [] 2491 } 2492 }) 2493 }, 2494 on: { 2495 init: function() { 2496 this.observer.init() 2497 }, 2498 destroy: function() { 2499 this.observer.destroy() 2500 } 2501 } 2502 }, 2503 O = { 2504 update: function(e) { 2505 function t() { 2506 a.updateSlides(), a.updateProgress(), a.updateSlidesClasses(), a.lazy && a.params.lazy.enabled && a.lazy.load() 2507 } 2508 var a = this, 2509 i = a.params, 2510 s = i.slidesPerView, 2511 n = i.slidesPerGroup, 2512 r = i.centeredSlides, 2513 o = a.params.virtual, 2514 l = o.addSlidesBefore, 2515 d = o.addSlidesAfter, 2516 u = a.virtual, 2517 p = u.from, 2518 h = u.to, 2519 f = u.slides, 2520 v = u.slidesGrid, 2521 m = u.renderSlide, 2522 g = u.offset; 2523 a.updateActiveIndex(); 2524 var b, y, w, x = a.activeIndex || 0; 2525 b = a.rtlTranslate ? "right" : a.isHorizontal() ? "left" : "top", r ? (y = Math.floor(s / 2) + n + l, w = Math.floor(s / 2) + n + d) : (y = s + (n - 1) + l, w = n + d); 2526 var E = Math.max((x || 0) - w, 0), 2527 T = Math.min((x || 0) + y, f.length - 1), 2528 C = (a.slidesGrid[E] || 0) - (a.slidesGrid[0] || 0); 2529 if (c.extend(a.virtual, { 2530 from: E, 2531 to: T, 2532 offset: C, 2533 slidesGrid: a.slidesGrid 2534 }), p === E && h === T && !e) return a.slidesGrid !== v && C !== g && a.slides.css(b, C + "px"), void a.updateProgress(); 2535 if (a.params.virtual.renderExternal) return a.params.virtual.renderExternal.call(a, { 2536 offset: C, 2537 from: E, 2538 to: T, 2539 slides: function() { 2540 for (var e = [], t = E; t <= T; t += 1) e.push(f[t]); 2541 return e 2542 }() 2543 }), void t(); 2544 var S = [], 2545 M = []; 2546 if (e) a.$wrapperEl.find("." + a.params.slideClass).remove(); 2547 else 2548 for (var k = p; k <= h; k += 1)(k < E || T < k) && a.$wrapperEl.find("." + a.params.slideClass + '[data-swiper-slide-index="' + k + '"]').remove(); 2549 for (var P = 0; P < f.length; P += 1) E <= P && P <= T && (void 0 === h || e ? M.push(P) : (h < P && M.push(P), P < p && S.push(P))); 2550 M.forEach(function(e) { 2551 a.$wrapperEl.append(m(f[e], e)) 2552 }), S.sort(function(e, t) { 2553 return t - e 2554 }
2554).forEach(function(e) { 2555 a.$wrapperEl.prepend(m(f[e], e)) 2556 }), a.$wrapperEl.children(".swiper-slide").css(b, C + "px"), t() 2557 }, 2558 renderSlide: function(t, a) { 2559 var i = this, 2560 s = i.params.virtual; 2561 if (s.cache && i.virtual.cache[a]) return i.virtual.cache[a]; 2562 var n = e(s.renderSlide ? s.renderSlide.call(i, t, a) : '<div class="' + i.params.slideClass + '" data-swiper-slide-index="' + a + '">' + t + "</div>"); 2563 return n.attr("data-swiper-slide-index") || n.attr("data-swiper-slide-index", a), s.cache && (i.virtual.cache[a] = n), n 2564 }, 2565 appendSlide: function(e) { 2566 this.virtual.slides.push(e), this.virtual.update(!0) 2567 }, 2568 prependSlide: function(e) { 2569 var t = this; 2570 if (t.virtual.slides.unshift(e), t.params.virtual.cache) { 2571 var a = t.virtual.cache, 2572 i = {}; 2573 Object.keys(a).forEach(function(e) { 2574 i[e + 1] = a[e] 2575 }), t.virtual.cache = i 2576 } 2577 t.virtual.update(!0), t.slideNext(0) 2578 } 2579 }, 2580 N = { 2581 name: "virtual", 2582 params: { 2583 virtual: { 2584 enabled: !1, 2585 slides: [], 2586 cache: !0, 2587 renderSlide: null, 2588 renderExternal: null, 2589 addSlidesBefore: 0, 2590 addSlidesAfter: 0 2591 } 2592 }, 2593 create: function() { 2594 var e = this; 2595 c.extend(e, { 2596 virtual: { 2597 update: O.update.bind(e), 2598 appendSlide: O.appendSlide.bind(e), 2599 prependSlide: O.prependSlide.bind(e), 2600 renderSlide: O.renderSlide.bind(e), 2601 slides: e.params.virtual.slides, 2602 cache: {} 2603 } 2604 }) 2605 }, 2606 on: { 2607 beforeInit: function() { 2608 var e = this; 2609 if (e.params.virtual.enabled) { 2610 e.classNames.push(e.params.containerModifierClass + "virtual"); 2611 var t = { 2612 watchSlidesProgress: !0 2613 }; 2614 c.extend(e.params, t), c.extend(e.originalParams, t), e.params.initialSlide || e.virtual.update(
vendor: 80,920 bytes, lines 2614-4113
2614) 2615 } 2616 }, 2617 setTranslate: function() { 2618 this.params.virtual.enabled && this.virtual.update() 2619 } 2620 } 2621 }, 2622 H = { 2623 handle: function(e) { 2624 var t = this, 2625 a = t.rtlTranslate, 2626 n = e; 2627 n.originalEvent && (n = n.originalEvent); 2628 var r = n.keyCode || n.charCode; 2629 if (!t.allowSlideNext && (t.isHorizontal() && 39 === r || t.isVertical() && 40 === r)) return !1; 2630 if (!t.allowSlidePrev && (t.isHorizontal() && 37 === r || t.isVertical() && 38 === r)) return !1; 2631 if (!(n.shiftKey || n.altKey || n.ctrlKey || n.metaKey || i.activeElement && i.activeElement.nodeName && ("input" === i.activeElement.nodeName.toLowerCase() || "textarea" === i.activeElement.nodeName.toLowerCase()))) { 2632 if (t.params.keyboard.onlyInViewport && (37 === r || 39 === r || 38 === r || 40 === r)) { 2633 var o = !1; 2634 if (0 < t.$el.parents("." + t.params.slideClass).length && 0 === t.$el.parents("." + t.params.slideActiveClass).length) return; 2635 var l = s.innerWidth, 2636 d = s.innerHeight, 2637 c = t.$el.offset(); 2638 a && (c.left -= t.$el[0].scrollLeft); 2639 for (var u = [ 2640 [c.left, c.top], 2641 [c.left + t.width, c.top], 2642 [c.left, c.top + t.height], 2643 [c.left + t.width, c.top + t.height] 2644 ], p = 0; p < u.length; p += 1) { 2645 var h = u[p]; 2646 0 <= h[0] && h[0] <= l && 0 <= h[1] && h[1] <= d && (o = !0) 2647 } 2648 if (!o) return 2649 } 2650 t.isHorizontal() ? (37 !== r && 39 !== r || (n.preventDefault ? n.preventDefault() : n.returnValue = !1), (39 === r && !a || 37 === r && a) && t.slideNext(), (37 === r && !a || 39 === r && a) && t.slidePrev()) : (38 !== r && 40 !== r || (n.preventDefault ? n.preventDefault() : n.returnValue = !1), 40 === r && t.slideNext(), 38 === r && t.slidePrev()), t.emit("keyPress", r) 2651 } 2652 }, 2653 enable: function() { 2654 this.keyboard.enabled || (e(i).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0) 2655 }, 2656 disable: function() { 2657 this.keyboard.enabled && (e(i).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1) 2658 } 2659 }, 2660 X = { 2661 name: "keyboard", 2662 params: { 2663 keyboard: { 2664 enabled: !1, 2665 onlyInViewport: !0 2666 } 2667 }, 2668 create: function() { 2669 c.extend(this, { 2670 keyboard: { 2671 enabled: !1, 2672 enable: H.enable.bind(this), 2673 disable: H.disable.bind(this), 2674 handle: H.handle.bind(this) 2675 } 2676 }) 2677 }, 2678 on: { 2679 init: function() { 2680 this.params.keyboard.enabled && this.keyboard.enable() 2681 }, 2682 destroy: function() { 2683 this.keyboard.enabled && this.keyboard.disable() 2684 } 2685 } 2686 }, 2687 Y = { 2688 lastScrollTime: c.now(), 2689 event: -1 < s.navigator.userAgent.indexOf("firefox") ? "DOMMouseScroll" : function() { 2690 var e = "onwheel", 2691 t = e in i; 2692 if (!t) { 2693 var a = i.createElement("div"); 2694 a.setAttribute(e, "return;"), t = "function" == typeof a[e] 2695 } 2696 return !t && i.implementation && i.implementation.hasFeature && !0 !== i.implementation.hasFeature("", "") && (t = i.implementation.hasFeature("Events.wheel", "3.0")), t 2697 }() ? "wheel" : "mousewheel", 2698 normalize: function(e) { 2699 var t = 0, 2700 a = 0, 2701 i = 0, 2702 s = 0; 2703 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), { 2704 spinX: t, 2705 spinY: a, 2706 pixelX: i, 2707 pixelY: s 2708 } 2709 }, 2710 handleMouseEnter: function() { 2711 this.mouseEntered = !0 2712 }, 2713 handleMouseLeave: function() { 2714 this.mouseEntered = !1 2715 }, 2716 handle: function(e) { 2717 var t = e, 2718 a = this, 2719 i = a.params.mousewheel; 2720 if (!a.mouseEntered && !i.releaseOnEdges) return !0; 2721 t.originalEvent && (t = t.originalEvent); 2722 var n = 0, 2723 r = a.rtlTranslate ? -1 : 1, 2724 o = Y.normalize(t); 2725 if (i.forceToAxis) 2726 if (a.isHorizontal()) { 2727 if (!(Math.abs(o.pixelX) > Math.abs(o.pixelY))) return !0; 2728 n = o.pixelX * r 2729 } else { 2730 if (!(Math.abs(o.pixelY) > Math.abs(o.pixelX))) return !0; 2731 n = o.pixelY 2732 } 2733 else n = Math.abs(o.pixelX) > Math.abs(o.pixelY) ? -o.pixelX * r : -o.pixelY; 2734 if (0 === n) return !0; 2735 if (i.invert && (n = -n), a.params.freeMode) { 2736 a.params.loop && a.loopFix(); 2737 var l = a.getTranslate() + n * i.sensitivity, 2738 d = a.isBeginning, 2739 u = a.isEnd; 2740 if (l >= a.minTranslate() && (l = a.minTranslate()), l <= a.maxTranslate() && (l = a.maxTranslate()), a.setTransition(0), a.setTranslate(l), a.updateProgress(), a.updateActiveIndex(), a.updateSlidesClasses(), (!d && a.isBeginning || !u && a.isEnd) && a.updateSlidesClasses(), a.params.freeModeSticky && (clearTimeout(a.mousewheel.timeout), a.mousewheel.timeout = c.nextTick(function() { 2741 a.slideToClosest() 2742 }, 300)), a.emit("scroll", t), a.params.autoplay && a.params.autoplayDisableOnInteraction && a.autoplay.stop(), l === a.minTranslate() || l === a.maxTranslate()) return !0 2743 } else { 2744 if (60 < c.now() - a.mousewheel.lastScrollTime) 2745 if (n < 0) 2746 if (a.isEnd && !a.params.loop || a.animating) { 2747 if (i.releaseOnEdges) return !0 2748 } else a.slideNext(), a.emit("scroll", t); 2749 else if (a.isBeginning && !a.params.loop || a.animating) { 2750 if (i.releaseOnEdges) return !0 2751 } else a.slidePrev(), a.emit("scroll", t); 2752 a.mousewheel.lastScrollTime = (new s.Date).getTime() 2753 } 2754 return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1 2755 }, 2756 enable: function() { 2757 var t = this; 2758 if (!Y.event) return !1; 2759 if (t.mousewheel.enabled) return !1; 2760 var a = t.$el; 2761 return "container" !== t.params.mousewheel.eventsTarged && (a = e(t.params.mousewheel.eventsTarged)), a.on("mouseenter", t.mousewheel.handleMouseEnter), a.on("mouseleave", t.mousewheel.handleMouseLeave), a.on(Y.event, t.mousewheel.handle), t.mousewheel.enabled = !0 2762 }, 2763 disable: function() { 2764 var t = this; 2765 if (!Y.event) return !1; 2766 if (!t.mousewheel.enabled) return !1; 2767 var a = t.$el; 2768 return "container" !== t.params.mousewheel.eventsTarged && (a = e(t.params.mousewheel.eventsTarged)), a.off(Y.event, t.mousewheel.handle), !(t.mousewheel.enabled = !1) 2769 } 2770 }, 2771 G = { 2772 update: function() { 2773 var e = this, 2774 t = e.params.navigation; 2775 if (!e.params.loop) { 2776 var a = e.navigation, 2777 i = a.$nextEl, 2778 s = a.$prevEl; 2779 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)) 2780 } 2781 }, 2782 onPrevClick: function(e) { 2783 e.preventDefault(), this.isBeginning && !this.params.loop || this.slidePrev() 2784 }, 2785 onNextClick: function(e) { 2786 e.preventDefault(), this.isEnd && !this.params.loop || this.slideNext() 2787 }, 2788 init: function() { 2789 var t, a, i = this, 2790 s = i.params.navigation; 2791 (s.nextEl || s.prevEl) && (s.nextEl && (t = e(s.nextEl), i.params.uniqueNavElements && "string" == typeof s.nextEl && 1 < t.length && 1 === i.$el.find(s.nextEl).length && (t = i.$el.find(s.nextEl))), s.prevEl && (a = e(s.prevEl), i.params.uniqueNavElements && "string" == typeof s.prevEl && 1 < a.length && 1 === i.$el.find(s.prevEl).length && (a = i.$el.find(s.prevEl))), t && 0 < t.length && t.on("click", i.navigation.onNextClick), a && 0 < a.length && a.on("click", i.navigation.onPrevClick), c.extend(i.navigation, { 2792 $nextEl: t, 2793 nextEl: t && t[0], 2794 $prevEl: a, 2795 prevEl: a && a[0] 2796 })) 2797 }, 2798 destroy: function() { 2799 var e = this, 2800 t = e.navigation, 2801 a = t.$nextEl, 2802 i = t.$prevEl; 2803 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)) 2804 } 2805 }, 2806 V = { 2807 update: function() { 2808 var t = this, 2809 a = t.rtl, 2810 i = t.params.pagination; 2811 if (i.el && t.pagination.el && t.pagination.$el && 0 !== t.pagination.$el.length) { 2812 var s, n = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.slides.length, 2813 r = t.pagination.$el, 2814 o = t.params.loop ? Math.ceil((n - 2 * t.loopedSlides) / t.params.slidesPerGroup) : t.snapGrid.length; 2815 if (t.params.loop ? ((s = Math.ceil((t.activeIndex - t.loopedSlides) / t.params.slidesPerGroup)) > n - 1 - 2 * t.loopedSlides && (s -= n - 2 * t.loopedSlides), o - 1 < s && (s -= o), s < 0 && "bullets" !== t.params.paginationType && (s = o + s)) : s = void 0 !== t.snapIndex ? t.snapIndex : t.activeIndex || 0, "bullets" === i.type && t.pagination.bullets && 0 < t.pagination.bullets.length) { 2816 var l, d, c, u = t.pagination.bullets; 2817 if (i.dynamicBullets && (t.pagination.bulletSize = u.eq(0)[t.isHorizontal() ? "outerWidth" : "outerHeight"](!0), r.css(t.isHorizontal() ? "width" : "height", t.pagination.bulletSize * (i.dynamicMainBullets + 4) + "px"), 1 < i.dynamicMainBullets && void 0 !== t.previousIndex && (t.pagination.dynamicBulletIndex += s - t.previousIndex, t.pagination.dynamicBulletIndex > i.dynamicMainBullets - 1 ? t.pagination.dynamicBulletIndex = i.dynamicMainBullets - 1 : t.pagination.dynamicBulletIndex < 0 && (t.pagination.dynamicBulletIndex = 0)), l = s - t.pagination.dynamicBulletIndex, c = ((d = l + (Math.min(u.length, i.dynamicMainBullets) - 1)) + l) / 2), u.removeClass(i.bulletActiveClass + " " + i.bulletActiveClass + "-next " + i.bulletActiveClass + "-next-next " + i.bulletActiveClass + "-prev " + i.bulletActiveClass + "-prev-prev " + i.bulletActiveClass + "-main"), 1 < r.length) u.each(function(t, a) { 2818 var n = e(a), 2819 r = n.index(); 2820 r === s && n.addClass(i.bulletActiveClass), i.dynamicBullets && (l <= r && r <= d && n.addClass(i.bulletActiveClass + "-main"), r === l && n.prev().addClass(i.bulletActiveClass + "-prev").prev().addClass(i.bulletActiveClass + "-prev-prev"), r === d && n.next().addClass(i.bulletActiveClass + "-next").next().addClass(i.bulletActiveClass + "-next-next")) 2821 }); 2822 else if (u.eq(s).addClass(i.bulletActiveClass), i.dynamicBullets) { 2823 for (var p = u.eq(l), h = u.eq(d), f = l; f <= d; f += 1) u.eq(f).addClass(i.bulletActiveClass + "-main"); 2824 p.prev().addClass(i.bulletActiveClass + "-prev").prev().addClass(i.bulletActiveClass + "-prev-prev"), h.next().addClass(i.bulletActiveClass + "-next").next().addClass(i.bulletActiveClass + "-next-next") 2825 } 2826 if (i.dynamicBullets) { 2827 var v = Math.min(u.length, i.dynamicMainBullets + 4), 2828 m = (t.pagination.bulletSize * v - t.pagination.bulletSize) / 2 - c * t.pagination.bulletSize, 2829 g = a ? "right" : "left"; 2830 u.css(t.isHorizontal() ? g : "top", m + "px") 2831 } 2832 } 2833 if ("fraction" === i.type && (r.find("." + i.currentClass).text(i.formatFractionCurrent(s + 1)), r.find("." + i.totalClass).text(i.formatFractionTotal(o))), "progressbar" === i.type) { 2834 var b; 2835 b = i.progressbarOpposite ? t.isHorizontal() ? "vertical" : "horizontal" : t.isHorizontal() ? "horizontal" : "vertical"; 2836 var y = (s + 1) / o, 2837 w = 1, 2838 x = 1; 2839 "horizontal" === b ? w = y : x = y, r.find("." + i.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + w + ") scaleY(" + x + ")").transition(t.params.speed) 2840 } 2841 "custom" === i.type && i.renderCustom ? (r.html(i.renderCustom(t, s + 1, o)), t.emit("paginationRender", t, r[0])) : t.emit("paginationUpdate", t, r[0]), r[t.params.watchOverflow && t.isLocked ? "addClass" : "removeClass"](i.lockClass) 2842 } 2843 }, 2844 render: function() { 2845 var e = this, 2846 t = e.params.pagination; 2847 if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { 2848 var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length, 2849 i = e.pagination.$el, 2850 s = ""; 2851 if ("bullets" === t.type) { 2852 for (var n = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length, r = 0; r < n; r += 1) t.renderBullet ? s += t.renderBullet.call(e, r, t.bulletClass) : s += "<" + t.bulletElement + ' class="' + t.bulletClass + '"></' + t.bulletElement + ">"; 2853 i.html(s), e.pagination.bullets = i.find("." + t.bulletClass) 2854 } 2855 "fraction" === t.type && (s = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : '<span class="' + t.currentClass + '"></span> / <span class="' + t.totalClass + '"></span>', i.html(s)), "progressbar" === t.type && (s = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : '<span class="' + t.progressbarFillClass + '"></span>', i.html(s)), "custom" !== t.type && e.emit("paginationRender", e.pagination.$el[0]) 2856 } 2857 }, 2858 init: function() { 2859 var t = this, 2860 a = t.params.pagination; 2861 if (a.el) { 2862 var i = e(a.el); 2863 0 !== i.length && (t.params.uniqueNavElements && "string" == typeof a.el && 1 < i.length && 1 === t.$el.find(a.el).length && (i = t.$el.find(a.el)), "bullets" === a.type && a.clickable && i.addClass(a.clickableClass), i.addClass(a.modifierClass + a.type), "bullets" === a.type && a.dynamicBullets && (i.addClass("" + a.modifierClass + a.type + "-dynamic"), t.pagination.dynamicBulletIndex = 0, a.dynamicMainBullets < 1 && (a.dynamicMainBullets = 1)), "progressbar" === a.type && a.progressbarOpposite && i.addClass(a.progressbarOppositeClass), a.clickable && i.on("click", "." + a.bulletClass, function(a) { 2864 a.preventDefault(); 2865 var i = e(this).index() * t.params.slidesPerGroup; 2866 t.params.loop && (i += t.loopedSlides), t.slideTo(i) 2867 }), c.extend(t.pagination, { 2868 $el: i, 2869 el: i[0] 2870 })) 2871 } 2872 }, 2873 destroy: function() { 2874 var e = this, 2875 t = e.params.pagination; 2876 if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { 2877 var a = e.pagination.$el; 2878 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) 2879 } 2880 } 2881 }, 2882 j = { 2883 setTranslate: function() { 2884 var e = this; 2885 if (e.params.scrollbar.el && e.scrollbar.el) { 2886 var t = e.scrollbar, 2887 a = e.rtlTranslate, 2888 i = e.progress, 2889 s = t.dragSize, 2890 n = t.trackSize, 2891 r = t.$dragEl, 2892 o = t.$el, 2893 l = e.params.scrollbar, 2894 d = s, 2895 c = (n - s) * i; 2896 a ? 0 < (c = -c) ? (d = s - c, c = 0) : n < -c + s && (d = n + c) : c < 0 ? (d = s + c, c = 0) : n < c + s && (d = n - c), e.isHorizontal() ? (u.transforms3d ? r.transform("translate3d(" + c + "px, 0, 0)") : r.transform("translateX(" + c + "px)"), r[0].style.width = d + "px") : (u.transforms3d ? r.transform("translate3d(0px, " + c + "px, 0)") : r.transform("translateY(" + c + "px)"), r[0].style.height = d + "px"), l.hide && (clearTimeout(e.scrollbar.timeout), o[0].style.opacity = 1, e.scrollbar.timeout = setTimeout(function() { 2897 o[0].style.opacity = 0, o.transition(400) 2898 }, 1e3)) 2899 } 2900 }, 2901 setTransition: function(e) { 2902 this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e) 2903 }, 2904 updateSize: function() { 2905 var e = this; 2906 if (e.params.scrollbar.el && e.scrollbar.el) { 2907 var t = e.scrollbar, 2908 a = t.$dragEl, 2909 i = t.$el; 2910 a[0].style.width = "", a[0].style.height = ""; 2911 var s, n = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight, 2912 r = e.size / e.virtualSize, 2913 o = r * (n / e.size); 2914 s = "auto" === e.params.scrollbar.dragSize ? n * r : 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 <= r ? "none" : "", e.params.scrollbarHide && (i[0].style.opacity = 0), c.extend(t, { 2915 trackSize: n, 2916 divider: r, 2917 moveDivider: o, 2918 dragSize: s 2919 }), t.$el[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](e.params.scrollbar.lockClass) 2920 } 2921 }, 2922 setDragPosition: function(e) { 2923 var t, a = this, 2924 i = a.scrollbar, 2925 s = a.rtlTranslate, 2926 n = i.$el, 2927 r = i.dragSize, 2928 o = i.trackSize; 2929 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) - n.offset()[a.isHorizontal() ? "left" : "top"] - r / 2) / (o - r), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t); 2930 var l = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t; 2931 a.updateProgress(l), a.setTranslate(l), a.updateActiveIndex(), a.updateSlidesClasses() 2932 }, 2933 onDragStart: function(e) { 2934 var t = this, 2935 a = t.params.scrollbar, 2936 i = t.scrollbar, 2937 s = t.$wrapperEl, 2938 n = i.$el, 2939 r = i.$dragEl; 2940 t.scrollbar.isTouched = !0, e.preventDefault(), e.stopPropagation(), s.transition(100), r.transition(100), i.setDragPosition(e), clearTimeout(t.scrollbar.dragTimeout), n.transition(0), a.hide && n.css("opacity", 1), t.emit("scrollbarDragStart", e) 2941 }, 2942 onDragMove: function(e) { 2943 var t = this.scrollbar, 2944 a = this.$wrapperEl, 2945 i = t.$el, 2946 s = t.$dragEl; 2947 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)) 2948 }, 2949 onDragEnd: function(e) { 2950 var t = this, 2951 a = t.params.scrollbar, 2952 i = t.scrollbar.$el; 2953 t.scrollbar.isTouched && (t.scrollbar.isTouched = !1, a.hide && (clearTimeout(t.scrollbar.dragTimeout), t.scrollbar.dragTimeout = c.nextTick(function() { 2954 i.css("opacity", 0), i.transition(400) 2955 }, 1e3)), t.emit("scrollbarDragEnd", e), a.snapOnRelease && t.slideToClosest()) 2956 }, 2957 enableDraggable: function() { 2958 var e = this; 2959 if (e.params.scrollbar.el) { 2960 var t = e.scrollbar, 2961 a = e.touchEventsTouch, 2962 s = e.touchEventsDesktop, 2963 n = e.params, 2964 r = t.$el[0], 2965 o = !(!u.passiveListener || !n.passiveListeners) && { 2966 passive: !1, 2967 capture: !1 2968 }, 2969 l = !(!u.passiveListener || !n.passiveListeners) && { 2970 passive: !0, 2971 capture: !1 2972 }; 2973 u.touch ? (r.addEventListener(a.start, e.scrollbar.onDragStart, o), r.addEventListener(a.move, e.scrollbar.onDragMove, o), r.addEventListener(a.end, e.scrollbar.onDragEnd, l)) : (r.addEventListener(s.start, e.scrollbar.onDragStart, o), i.addEventListener(s.move, e.scrollbar.onDragMove, o), i.addEventListener(s.end, e.scrollbar.onDragEnd, l)) 2974 } 2975 }, 2976 disableDraggable: function() { 2977 var e = this; 2978 if (e.params.scrollbar.el) { 2979 var t = e.scrollbar, 2980 a = e.touchEventsTouch, 2981 s = e.touchEventsDesktop, 2982 n = e.params, 2983 r = t.$el[0], 2984 o = !(!u.passiveListener || !n.passiveListeners) && { 2985 passive: !1, 2986 capture: !1 2987 }, 2988 l = !(!u.passiveListener || !n.passiveListeners) && { 2989 passive: !0, 2990 capture: !1 2991 }; 2992 u.touch ? (r.removeEventListener(a.start, e.scrollbar.onDragStart, o), r.removeEventListener(a.move, e.scrollbar.onDragMove, o), r.removeEventListener(a.end, e.scrollbar.onDragEnd, l)) : (r.removeEventListener(s.start, e.scrollbar.onDragStart, o), i.removeEventListener(s.move, e.scrollbar.onDragMove, o), i.removeEventListener(s.end, e.scrollbar.onDragEnd, l)) 2993 } 2994 }, 2995 init: function() { 2996 var t = this; 2997 if (t.params.scrollbar.el) { 2998 var a = t.scrollbar, 2999 i = t.$el, 3000 s = t.params.scrollbar, 3001 n = e(s.el); 3002 t.params.uniqueNavElements && "string" == typeof s.el && 1 < n.length && 1 === i.find(s.el).length && (n = i.find(s.el)); 3003 var r = n.find("." + t.params.scrollbar.dragClass); 3004 0 === r.length && (r = e('<div class="' + t.params.scrollbar.dragClass + '"></div>'), n.append(r)), c.extend(a, { 3005 $el: n, 3006 el: n[0], 3007 $dragEl: r, 3008 dragEl: r[0] 3009 }), s.draggable && a.enableDraggable() 3010 } 3011 }, 3012 destroy: function() { 3013 this.scrollbar.disableDraggable() 3014 } 3015 }, 3016 q = { 3017 setTransform: function(t, a) { 3018 var i = this.rtl, 3019 s = e(t), 3020 n = i ? -1 : 1, 3021 r = s.attr("data-swiper-parallax") || "0", 3022 o = s.attr("data-swiper-parallax-x"), 3023 l = s.attr("data-swiper-parallax-y"), 3024 d = s.attr("data-swiper-parallax-scale"), 3025 c = s.attr("data-swiper-parallax-opacity"); 3026 if (o || l ? (o = o || "0", l = l || "0") : this.isHorizontal() ? (o = r, l = "0") : (l = r, o = "0"), o = 0 <= o.indexOf("%") ? parseInt(o, 10) * a * n + "%" : o * a * n + "px", l = 0 <= l.indexOf("%") ? parseInt(l, 10) * a + "%" : l * a + "px", null != c) { 3027 var u = c - (c - 1) * (1 - Math.abs(a)); 3028 s[0].style.opacity = u 3029 } 3030 if (null == d) s.transform("translate3d(" + o + ", " + l + ", 0px)"); 3031 else { 3032 var p = d - (d - 1) * (1 - Math.abs(a)); 3033 s.transform("translate3d(" + o + ", " + l + ", 0px) scale(" + p + ")") 3034 } 3035 }, 3036 setTranslate: function() { 3037 var t = this, 3038 a = t.$el, 3039 i = t.slides, 3040 s = t.progress, 3041 n = t.snapGrid; 3042 a.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, a) { 3043 t.parallax.setTransform(a, s) 3044 }), i.each(function(a, i) { 3045 var r = i.progress; 3046 1 < t.params.slidesPerGroup && "auto" !== t.params.slidesPerView && (r += Math.ceil(a / 2) - s * (n.length - 1)), r = Math.min(Math.max(r, -1), 1), e(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, a) { 3047 t.parallax.setTransform(a, r) 3048 }) 3049 }) 3050 }, 3051 setTransition: function(t) { 3052 void 0 === t && (t = this.params.speed), this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(a, i) { 3053 var s = e(i), 3054 n = parseInt(s.attr("data-swiper-parallax-duration"), 10) || t; 3055 0 === t && (n = 0), s.transition(n) 3056 }) 3057 } 3058 }, 3059 F = { 3060 getDistanceBetweenTouches: function(e) { 3061 if (e.targetTouches.length < 2) return 1; 3062 var t = e.targetTouches[0].pageX, 3063 a = e.targetTouches[0].pageY, 3064 i = e.targetTouches[1].pageX, 3065 s = e.targetTouches[1].pageY; 3066 return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2)) 3067 }, 3068 onGestureStart: function(t) { 3069 var a = this, 3070 i = a.params.zoom, 3071 s = a.zoom, 3072 n = s.gesture; 3073 if (s.fakeGestureTouched = !1, s.fakeGestureMoved = !1, !u.gestures) { 3074 if ("touchstart" !== t.type || "touchstart" === t.type && t.targetTouches.length < 2) return; 3075 s.fakeGestureTouched = !0, n.scaleStart = F.getDistanceBetweenTouches(t) 3076 } 3077 n.$slideEl && n.$slideEl.length || (n.$slideEl = e(t.target).closest(".swiper-slide"), 0 === n.$slideEl.length && (n.$slideEl = a.slides.eq(a.activeIndex)), n.$imageEl = n.$slideEl.find("img, svg, canvas"), n.$imageWrapEl = n.$imageEl.parent("." + i.containerClass), n.maxRatio = n.$imageWrapEl.attr("data-swiper-zoom") || i.maxRatio, 0 !== n.$imageWrapEl.length) ? (n.$imageEl.transition(0), a.zoom.isScaling = !0) : n.$imageEl = void 0 3078 }, 3079 onGestureChange: function(e) { 3080 var t = this.params.zoom, 3081 a = this.zoom, 3082 i = a.gesture; 3083 if (!u.gestures) { 3084 if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return; 3085 a.fakeGestureMoved = !0, i.scaleMove = F.getDistanceBetweenTouches(e) 3086 } 3087 i.$imageEl && 0 !== i.$imageEl.length && (a.scale = u.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 + ")")) 3088 }, 3089 onGestureEnd: function(e) { 3090 var t = this.params.zoom, 3091 a = this.zoom, 3092 i = a.gesture; 3093 if (!u.gestures) { 3094 if (!a.fakeGestureTouched || !a.fakeGestureMoved) return; 3095 if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !E.android) return; 3096 a.fakeGestureTouched = !1, a.fakeGestureMoved = !1 3097 } 3098 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)) 3099 }, 3100 onTouchStart: function(e) { 3101 var t = this.zoom, 3102 a = t.gesture, 3103 i = t.image; 3104 a.$imageEl && 0 !== a.$imageEl.length && (i.isTouched || (E.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)) 3105 }, 3106 onTouchMove: function(e) { 3107 var t = this, 3108 a = t.zoom, 3109 i = a.gesture, 3110 s = a.image, 3111 n = a.velocity; 3112 if (i.$imageEl && 0 !== i.$imageEl.length && (t.allowClick = !1, s.isTouched && i.$slideEl)) { 3113 s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s.startX = c.getTranslate(i.$imageWrapEl[0], "x") || 0, s.startY = c.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)); 3114 var r = s.width * a.scale, 3115 o = s.height * a.scale; 3116 if (!(r < i.slideWidth && o < i.slideHeight)) { 3117 if (s.minX = Math.min(i.slideWidth / 2 - r / 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) { 3118 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); 3119 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) 3120 } 3121 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)), n.prevPositionX || (n.prevPositionX = s.touchesCurrent.x), n.prevPositionY || (n.prevPositionY = s.touchesCurrent.y), n.prevTime || (n.prevTime = Date.now()), n.x = (s.touchesCurrent.x - n.prevPositionX) / (Date.now() - n.prevTime) / 2, n.y = (s.touchesCurrent.y - n.prevPositionY) / (Date.now() - n.prevTime) / 2, Math.abs(s.touchesCurrent.x - n.prevPositionX) < 2 && (n.x = 0), Math.abs(s.touchesCurrent.y - n.prevPositionY) < 2 && (n.y = 0), n.prevPositionX = s.touchesCurrent.x, n.prevPositionY = s.touchesCurrent.y, n.prevTime = Date.now(), i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)") 3122 } 3123 } 3124 }, 3125 onTouchEnd: function() { 3126 var e = this.zoom, 3127 t = e.gesture, 3128 a = e.image, 3129 i = e.velocity; 3130 if (t.$imageEl && 0 !== t.$imageEl.length) { 3131 if (!a.isTouched || !a.isMoved) return a.isTouched = !1, void(a.isMoved = !1); 3132 a.isTouched = !1, a.isMoved = !1; 3133 var s = 300, 3134 n = 300, 3135 r = i.x * s, 3136 o = a.currentX + r, 3137 l = i.y * n, 3138 d = a.currentY + l; 3139 0 !== i.x && (s = Math.abs((o - a.currentX) / i.x)), 0 !== i.y && (n = Math.abs((d - a.currentY) / i.y)); 3140 var c = Math.max(s, n); 3141 a.currentX = o, a.currentY = d; 3142 var u = a.width * e.scale, 3143 p = a.height * e.scale; 3144 a.minX = Math.min(t.slideWidth / 2 - u / 2, 0), a.maxX = -a.minX, a.minY = Math.min(t.slideHeight / 2 - p / 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(c).transform("translate3d(" + a.currentX + "px, " + a.currentY + "px,0)") 3145 } 3146 }, 3147 onTransitionEnd: function() { 3148 var e = this.zoom, 3149 t = e.gesture; 3150 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) 3151 }, 3152 toggle: function(e) { 3153 var t = this.zoom; 3154 t.scale && 1 !== t.scale ? t.out() : t.in(e) 3155 }, 3156 in : function(t) { 3157 var a, i, s, n, r, o, l, d, c, u, p, h, f, v, m, g, b = this, 3158 y = b.zoom, 3159 w = b.params.zoom, 3160 x = y.gesture, 3161 E = y.image; 3162 x.$slideEl || (x.$slideEl = b.clickedSlide ? e(b.clickedSlide) : b.slides.eq(b.activeIndex), x.$imageEl = x.$slideEl.find("img, svg, canvas"), x.$imageWrapEl = x.$imageEl.parent("." + w.containerClass)), x.$imageEl && 0 !== x.$imageEl.length && (x.$slideEl.addClass("" + w.zoomedSlideClass), void 0 === E.touchesStart.x && t ? (a = "touchend" === t.type ? t.changedTouches[0].pageX : t.pageX, i = "touchend" === t.type ? t.changedTouches[0].pageY : t.pageY) : (a = E.touchesStart.x, i = E.touchesStart.y), y.scale = x.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, y.currentScale = x.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, t ? (m = x.$slideEl[0].offsetWidth, g = x.$slideEl[0].offsetHeight, s = x.$slideEl.offset().left + m / 2 - a, n = x.$slideEl.offset().top + g / 2 - i, l = x.$imageEl[0].offsetWidth, d = x.$imageEl[0].offsetHeight, c = l * y.scale, u = d * y.scale, f = -(p = Math.min(m / 2 - c / 2, 0)), v = -(h = Math.min(g / 2 - u / 2, 0)), (r = s * y.scale) < p && (r = p), f < r && (r = f), (o = n * y.scale) < h && (o = h), v < o && (o = v)) : o = r = 0, x.$imageWrapEl.transition(300).transform("translate3d(" + r + "px, " + o + "px,0)"), x.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + y.scale + ")")) 3163 }, 3164 out: function() { 3165 var t = this, 3166 a = t.zoom, 3167 i = t.params.zoom, 3168 s = a.gesture; 3169 s.$slideEl || (s.$slideEl = t.clickedSlide ? e(t.clickedSlide) : t.slides.eq(t.activeIndex), s.$imageEl = s.$slideEl.find("img, svg, canvas"), s.$imageWrapEl = s.$imageEl.parent("." + i.containerClass)), s.$imageEl && 0 !== s.$imageEl.length && (a.scale = 1, a.currentScale = 1, s.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), s.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), s.$slideEl.removeClass("" + i.zoomedSlideClass), s.$slideEl = void 0) 3170 }, 3171 enable: function() { 3172 var e = this, 3173 t = e.zoom; 3174 if (!t.enabled) { 3175 t.enabled = !0; 3176 var a = !("touchstart" !== e.touchEvents.start || !u.passiveListener || !e.params.passiveListeners) && { 3177 passive: !0, 3178 capture: !1 3179 }; 3180 u.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) 3181 } 3182 }, 3183 disable: function() { 3184 var e = this, 3185 t = e.zoom; 3186 if (t.enabled) { 3187 e.zoom.enabled = !1; 3188 var a = !("touchstart" !== e.touchEvents.start || !u.passiveListener || !e.params.passiveListeners) && { 3189 passive: !0, 3190 capture: !1 3191 }; 3192 u.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) 3193 } 3194 } 3195 }, 3196 R = { 3197 loadInSlide: function(t, a) { 3198 void 0 === a && (a = !0); 3199 var i = this, 3200 s = i.params.lazy; 3201 if (void 0 !== t && 0 !== i.slides.length) { 3202 var n = i.virtual && i.params.virtual.enabled ? i.$wrapperEl.children("." + i.params.slideClass + '[data-swiper-slide-index="' + t + '"]') : i.slides.eq(t), 3203 r = n.find("." + s.elementClass + ":not(." + s.loadedClass + "):not(." + s.loadingClass + ")"); 3204 !n.hasClass(s.elementClass) || n.hasClass(s.loadedClass) || n.hasClass(s.loadingClass) || (r = r.add(n[0])), 0 !== r.length && r.each(function(t, r) { 3205 var o = e(r); 3206 o.addClass(s.loadingClass); 3207 var l = o.attr("data-background"), 3208 d = o.attr("data-src"), 3209 c = o.attr("data-srcset"), 3210 u = o.attr("data-sizes"); 3211 i.loadImage(o[0], d || l, c, u, !1, function() { 3212 if (null != i && i && (!i || i.params) && !i.destroyed) { 3213 if (l ? (o.css("background-image", 'url("' + l + '")'), o.removeAttr("data-background")) : (c && (o.attr("srcset", c), o.removeAttr("data-srcset")), u && (o.attr("sizes", u), o.removeAttr("data-sizes")), d && (o.attr("src", d), o.removeAttr("data-src"))), o.addClass(s.loadedClass).removeClass(s.loadingClass), n.find("." + s.preloaderClass).remove(), i.params.loop && a) { 3214 var e = n.attr("data-swiper-slide-index"); 3215 if (n.hasClass(i.params.slideDuplicateClass)) { 3216 var t = i.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + i.params.slideDuplicateClass + ")"); 3217 i.lazy.loadInSlide(t.index(), !1) 3218 } else { 3219 var r = i.$wrapperEl.children("." + i.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]'); 3220 i.lazy.loadInSlide(r.index(), !1) 3221 } 3222 } 3223 i.emit("lazyImageReady", n[0], o[0]) 3224 } 3225 }), i.emit("lazyImageLoad", n[0], o[0]) 3226 }) 3227 } 3228 }, 3229 load: function() { 3230 function t(e) { 3231 if (l) { 3232 if (s.children("." + n.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0 3233 } else if (r[e]) return !0; 3234 return !1 3235 } 3236 3237 function a(t) { 3238 return l ? e(t).attr("data-swiper-slide-index") : e(t).index() 3239 } 3240 var i = this, 3241 s = i.$wrapperEl, 3242 n = i.params, 3243 r = i.slides, 3244 o = i.activeIndex, 3245 l = i.virtual && n.virtual.enabled, 3246 d = n.lazy, 3247 c = n.slidesPerView; 3248 if ("auto" === c && (c = 0), i.lazy.initialImageLoaded || (i.lazy.initialImageLoaded = !0), i.params.watchSlidesVisibility) s.children("." + n.slideVisibleClass).each(function(t, a) { 3249 var s = l ? e(a).attr("data-swiper-slide-index") : e(a).index(); 3250 i.lazy.loadInSlide(s) 3251 }); 3252 else if (1 < c) 3253 for (var u = o; u < o + c; u += 1) t(u) && i.lazy.loadInSlide(u); 3254 else i.lazy.loadInSlide(o); 3255 if (d.loadPrevNext) 3256 if (1 < c || d.loadPrevNextAmount && 1 < d.loadPrevNextAmount) { 3257 for (var p = d.loadPrevNextAmount, h = c, f = Math.min(o + h + Math.max(p, h), r.length), v = Math.max(o - Math.max(h, p), 0), m = o + c; m < f; m += 1) t(m) && i.lazy.loadInSlide(m); 3258 for (var g = v; g < o; g += 1) t(g) && i.lazy.loadInSlide(g) 3259 } else { 3260 var b = s.children("." + n.slideNextClass); 3261 0 < b.length && i.lazy.loadInSlide(a(b)); 3262 var y = s.children("." + n.slidePrevClass); 3263 0 < y.length && i.lazy.loadInSlide(a(y)) 3264 } 3265 } 3266 }, 3267 W = { 3268 LinearSpline: function(e, t) { 3269 var a, i, s, n, r, o = function(e, t) { 3270 for (i = -1, a = e.length; 1 < a - i;) e[s = a + i >> 1] <= t ? i = s : a = s; 3271 return a 3272 }; 3273 return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function(e) { 3274 return e ? (r = o(this.x, e), n = r - 1, (e - this.x[n]) * (this.y[r] - this.y[n]) / (this.x[r] - this.x[n]) + this.y[n]) : 0 3275 }, this 3276 }, 3277 getInterpolateFunction: function(e) { 3278 var t = this; 3279 t.controller.spline || (t.controller.spline = t.params.loop ? new W.LinearSpline(t.slidesGrid, e.slidesGrid) : new W.LinearSpline(t.snapGrid, e.snapGrid)) 3280 }, 3281 setTranslate: function(e, t) { 3282 function a(e) { 3283 var t = n.rtlTranslate ? -n.translate : n.translate; 3284 "slide" === n.params.controller.by && (n.controller.getInterpolateFunction(e), s = -n.controller.spline.interpolate(-t)), s && "container" !== n.params.controller.by || (i = (e.maxTranslate() - e.minTranslate()) / (n.maxTranslate() - n.minTranslate()), s = (t - n.minTranslate()) * i + e.minTranslate()), n.params.controller.inverse && (s = e.maxTranslate() - s), e.updateProgress(s), e.setTranslate(s, n), e.updateActiveIndex(), e.updateSlidesClasses() 3285 } 3286 var i, s, n = this, 3287 r = n.controller.control; 3288 if (Array.isArray(r)) 3289 for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof L && a(r[o]); 3290 else r instanceof L && t !== r && a(r) 3291 }, 3292 setTransition: function(e, t) { 3293 function a(t) { 3294 t.setTransition(e, s), 0 !== e && (t.transitionStart(), t.params.autoHeight && c.nextTick(function() { 3295 t.updateAutoHeight() 3296 }), t.$wrapperEl.transitionEnd(function() { 3297 n && (t.params.loop && "slide" === s.params.controller.by && t.loopFix(), t.transitionEnd()) 3298 })) 3299 } 3300 var i, s = this, 3301 n = s.controller.control; 3302 if (Array.isArray(n)) 3303 for (i = 0; i < n.length; i += 1) n[i] !== t && n[i] instanceof L && a(n[i]); 3304 else n instanceof L && t !== n && a(n) 3305 } 3306 }, 3307 U = { 3308 makeElFocusable: function(e) { 3309 return e.attr("tabIndex", "0"), e 3310 }, 3311 addElRole: function(e, t) { 3312 return e.attr("role", t), e 3313 }, 3314 addElLabel: function(e, t) { 3315 return e.attr("aria-label", t), e 3316 }, 3317 disableEl: function(e) { 3318 return e.attr("aria-disabled", !0), e 3319 }, 3320 enableEl: function(e) { 3321 return e.attr("aria-disabled", !1), e 3322 }, 3323 onEnterKey: function(t) { 3324 var a = this, 3325 i = a.params.a11y; 3326 if (13 === t.keyCode) { 3327 var s = e(t.target); 3328 a.navigation && a.navigation.$nextEl && s.is(a.navigation.$nextEl) && (a.isEnd && !a.params.loop || a.slideNext(), a.isEnd ? a.a11y.notify(i.lastSlideMessage) : a.a11y.notify(i.nextSlideMessage)), a.navigation && a.navigation.$prevEl && s.is(a.navigation.$prevEl) && (a.isBeginning && !a.params.loop || a.slidePrev(), a.isBeginning ? a.a11y.notify(i.firstSlideMessage) : a.a11y.notify(i.prevSlideMessage)), a.pagination && s.is("." + a.params.pagination.bulletClass) && s[0].click() 3329 } 3330 }, 3331 notify: function(e) { 3332 var t = this.a11y.liveRegion; 3333 0 !== t.length && (t.html(""), t.html(e)) 3334 }, 3335 updateNavigation: function() { 3336 var e = this; 3337 if (!e.params.loop) { 3338 var t = e.navigation, 3339 a = t.$nextEl, 3340 i = t.$prevEl; 3341 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)) 3342 } 3343 }, 3344 updatePagination: function() { 3345 var t = this, 3346 a = t.params.a11y; 3347 t.pagination && t.params.pagination.clickable && t.pagination.bullets && t.pagination.bullets.length && t.pagination.bullets.each(function(i, s) { 3348 var n = e(s); 3349 t.a11y.makeElFocusable(n), t.a11y.addElRole(n, "button"), t.a11y.addElLabel(n, a.paginationBulletMessage.replace(/{{index}}/, n.index() + 1)) 3350 }) 3351 }, 3352 init: function() { 3353 var e = this; 3354 e.$el.append(e.a11y.liveRegion); 3355 var t, a, i = e.params.a11y; 3356 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) 3357 }, 3358 destroy: function() { 3359 var e, t, a = this; 3360 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) 3361 } 3362 }, 3363 _ = { 3364 init: function() { 3365 var e = this; 3366 if (e.params.history) { 3367 if (!s.history || !s.history.pushState) return e.params.history.enabled = !1, void(e.params.hashNavigation.enabled = !0); 3368 var t = e.history; 3369 t.initialized = !0, t.paths = _.getPathValues(), (t.paths.key || t.paths.value) && (t.scrollToSlide(0, t.paths.value, e.params.runCallbacksOnInit), e.params.history.replaceState || s.addEventListener("popstate", e.history.setHistoryPopState)) 3370 } 3371 }, 3372 destroy: function() { 3373 this.params.history.replaceState || s.removeEventListener("popstate", this.history.setHistoryPopState) 3374 }, 3375 setHistoryPopState: function() { 3376 this.history.paths = _.getPathValues(), this.history.scrollToSlide(this.params.speed, this.history.paths.value, !1) 3377 }, 3378 getPathValues: function() { 3379 var e = s.location.pathname.slice(1).split("/").filter(function(e) { 3380 return "" !== e 3381 }), 3382 t = e.length; 3383 return { 3384 key: e[t - 2], 3385 value: e[t - 1] 3386 } 3387 }, 3388 setHistory: function(e, t) { 3389 if (this.history.initialized && this.params.history.enabled) { 3390 var a = this.slides.eq(t), 3391 i = _.slugify(a.attr("data-history")); 3392 s.location.pathname.includes(e) || (i = e + "/" + i); 3393 var n = s.history.state; 3394 n && n.value === i || (this.params.history.replaceState ? s.history.replaceState({ 3395 value: i 3396 }, null, i) : s.history.pushState({ 3397 value: i 3398 }, null, i)) 3399 } 3400 }, 3401 slugify: function(e) { 3402 return e.toString().toLowerCase().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "") 3403 }, 3404 scrollToSlide: function(e, t, a) { 3405 var i = this; 3406 if (t) 3407 for (var s = 0, n = i.slides.length; s < n; s += 1) { 3408 var r = i.slides.eq(s); 3409 if (_.slugify(r.attr("data-history")) === t && !r.hasClass(i.params.slideDuplicateClass)) { 3410 var o = r.index(); 3411 i.slideTo(o, e, a) 3412 } 3413 } else i.slideTo(0, e, a) 3414 } 3415 }, 3416 K = { 3417 onHashCange: function() { 3418 var e = this, 3419 t = i.location.hash.replace("#", ""); 3420 if (t !== e.slides.eq(e.activeIndex).attr("data-hash")) { 3421 var a = e.$wrapperEl.children("." + e.params.slideClass + '[data-hash="' + t + '"]').index(); 3422 if (void 0 === a) return; 3423 e.slideTo(a) 3424 } 3425 }, 3426 setHash: function() { 3427 var e = this; 3428 if (e.hashNavigation.initialized && e.params.hashNavigation.enabled) 3429 if (e.params.hashNavigation.replaceState && s.history && s.history.replaceState) s.history.replaceState(null, null, "#" + e.slides.eq(e.activeIndex).attr("data-hash") || ""); 3430 else { 3431 var t = e.slides.eq(e.activeIndex), 3432 a = t.attr("data-hash") || t.attr("data-history"); 3433 i.location.hash = a || "" 3434 } 3435 }, 3436 init: function() { 3437 var t = this; 3438 if (!(!t.params.hashNavigation.enabled || t.params.history && t.params.history.enabled)) { 3439 t.hashNavigation.initialized = !0; 3440 var a = i.location.hash.replace("#", ""); 3441 if (a) 3442 for (var n = 0, r = t.slides.length; n < r; n += 1) { 3443 var o = t.slides.eq(n); 3444 if ((o.attr("data-hash") || o.attr("data-history")) === a && !o.hasClass(t.params.slideDuplicateClass)) { 3445 var l = o.index(); 3446 t.slideTo(l, 0, t.params.runCallbacksOnInit, !0) 3447 } 3448 } 3449 t.params.hashNavigation.watchState && e(s).on("hashchange", t.hashNavigation.onHashCange) 3450 } 3451 }, 3452 destroy: function() { 3453 this.params.hashNavigation.watchState && e(s).off("hashchange", this.hashNavigation.onHashCange) 3454 } 3455 }, 3456 J = { 3457 run: function() { 3458 var e = this, 3459 t = e.slides.eq(e.activeIndex), 3460 a = e.params.autoplay.delay; 3461 t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), e.autoplay.timeout = c.nextTick(function() { 3462 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")) 3463 }, a) 3464 }, 3465 start: function() { 3466 var e = this; 3467 return void 0 === e.autoplay.timeout && !e.autoplay.running && (e.autoplay.running = !0, e.emit("autoplayStart"), e.autoplay.run(), !0) 3468 }, 3469 stop: function() { 3470 var e = this; 3471 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) 3472 }, 3473 pause: function(e) { 3474 var t = this; 3475 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()))) 3476 } 3477 }, 3478 Z = { 3479 setTranslate: function() { 3480 for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) { 3481 var i = e.slides.eq(a), 3482 s = -i[0].swiperSlideOffset; 3483 e.params.virtualTranslate || (s -= e.translate); 3484 var n = 0; 3485 e.isHorizontal() || (n = s, s = 0); 3486 var r = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0); 3487 i.css({ 3488 opacity: r 3489 }).transform("translate3d(" + s + "px, " + n + "px, 0px)") 3490 } 3491 }, 3492 setTransition: function(e) { 3493 var t = this, 3494 a = t.slides, 3495 i = t.$wrapperEl; 3496 if (a.transition(e), t.params.virtualTranslate && 0 !== e) { 3497 var s = !1; 3498 a.transitionEnd(function() { 3499 if (!s && t && !t.destroyed) { 3500 s = !0, t.animating = !1; 3501 for (var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) i.trigger(e[a]) 3502 } 3503 }) 3504 } 3505 } 3506 }, 3507 Q = { 3508 setTranslate: function() { 3509 var t, a = this, 3510 i = a.$el, 3511 s = a.$wrapperEl, 3512 n = a.slides, 3513 r = a.width, 3514 o = a.height, 3515 l = a.rtlTranslate, 3516 d = a.size, 3517 c = a.params.cubeEffect, 3518 u = a.isHorizontal(), 3519 p = a.virtual && a.params.virtual.enabled, 3520 h = 0; 3521 c.shadow && (u ? (0 === (t = s.find(".swiper-cube-shadow")).length && (t = e('<div class="swiper-cube-shadow"></div>'), s.append(t)), t.css({ 3522 height: r + "px" 3523 })) : 0 === (t = i.find(".swiper-cube-shadow")).length && (t = e('<div class="swiper-cube-shadow"></div>'), i.append(t))); 3524 for (var f = 0; f < n.length; f += 1) { 3525 var v = n.eq(f), 3526 m = f; 3527 p && (m = parseInt(v.attr("data-swiper-slide-index"), 10)); 3528 var g = 90 * m, 3529 b = Math.floor(g / 360); 3530 l && (g = -g, b = Math.floor(-g / 360)); 3531 var y = Math.max(Math.min(v[0].progress, 1), -1), 3532 w = 0, 3533 x = 0, 3534 E = 0; 3535 m % 4 == 0 ? (w = 4 * -b * d, E = 0) : (m - 1) % 4 == 0 ? (w = 0, E = 4 * -b * d) : (m - 2) % 4 == 0 ? (w = d + 4 * b * d, E = d) : (m - 3) % 4 == 0 && (w = -d, E = 3 * d + 4 * d * b), l && (w = -w), u || (x = w, w = 0); 3536 var T = "rotateX(" + (u ? 0 : -g) + "deg) rotateY(" + (u ? g : 0) + "deg) translate3d(" + w + "px, " + x + "px, " + E + "px)"; 3537 if (y <= 1 && -1 < y && (h = 90 * m + 90 * y, l && (h = 90 * -m - 90 * y)), v.transform(T), c.slideShadows) { 3538 var C = u ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"), 3539 M = u ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom"); 3540 0 === C.length && (C = e('<div class="swiper-slide-shadow-' + (u ? "left" : "top") + '"></div>'), v.append(C)), 0 === M.length && (M = e('<div class="swiper-slide-shadow-' + (u ? "right" : "bottom") + '"></div>'), v.append(M)), C.length && (C[0].style.opacity = Math.max(-y, 0)), M.length && (M[0].style.opacity = Math.max(y, 0)) 3541 } 3542 } 3543 if (s.css({ 3544 "-webkit-transform-origin": "50% 50% -" + d / 2 + "px", 3545 "-moz-transform-origin": "50% 50% -" + d / 2 + "px", 3546 "-ms-transform-origin": "50% 50% -" + d / 2 + "px", 3547 "transform-origin": "50% 50% -" + d / 2 + "px" 3548 }), c.shadow) 3549 if (u) t.transform("translate3d(0px, " + (r / 2 + c.shadowOffset) + "px, " + -r / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + c.shadowScale + ")"); 3550 else { 3551 var k = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90), 3552 P = 1.5 - (Math.sin(2 * k * Math.PI / 360) / 2 + Math.cos(2 * k * Math.PI / 360) / 2), 3553 L = c.shadowScale, 3554 z = c.shadowScale / P, 3555 I = c.shadowOffset; 3556 t.transform("scale3d(" + L + ", 1, " + z + ") translate3d(0px, " + (o / 2 + I) + "px, " + -o / 2 / z + "px) rotateX(-90deg)") 3557 } 3558 var $ = S.isSafari || S.isUiWebView ? -d / 2 : 0; 3559 s.transform("translate3d(0px,0," + $ + "px) rotateX(" + (a.isHorizontal() ? 0 : h) + "deg) rotateY(" + (a.isHorizontal() ? -h : 0) + "deg)") 3560 }, 3561 setTransition: function(e) { 3562 var t = this.$el; 3563 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) 3564 } 3565 }, 3566 ee = { 3567 setTranslate: function() { 3568 for (var t = this, a = t.slides, i = t.rtlTranslate, s = 0; s < a.length; s += 1) { 3569 var n = a.eq(s), 3570 r = n[0].progress; 3571 t.params.flipEffect.limitRotation && (r = Math.max(Math.min(n[0].progress, 1), -1)); 3572 var o = -180 * r, 3573 l = 0, 3574 d = -n[0].swiperSlideOffset, 3575 c = 0; 3576 if (t.isHorizontal() ? i && (o = -o) : (c = d, l = -o, o = d = 0), n[0].style.zIndex = -Math.abs(Math.round(r)) + a.length, t.params.flipEffect.slideShadows) { 3577 var u = t.isHorizontal() ? n.find(".swiper-slide-shadow-left") : n.find(".swiper-slide-shadow-top"), 3578 p = t.isHorizontal() ? n.find(".swiper-slide-shadow-right") : n.find(".swiper-slide-shadow-bottom"); 3579 0 === u.length && (u = e('<div class="swiper-slide-shadow-' + (t.isHorizontal() ? "left" : "top") + '"></div>'), n.append(u)), 0 === p.length && (p = e('<div class="swiper-slide-shadow-' + (t.isHorizontal() ? "right" : "bottom") + '"></div>'), n.append(p)), u.length && (u[0].style.opacity = Math.max(-r, 0)), p.length && (p[0].style.opacity = Math.max(r, 0)) 3580 } 3581 n.transform("translate3d(" + d + "px, " + c + "px, 0px) rotateX(" + l + "deg) rotateY(" + o + "deg)") 3582 } 3583 }, 3584 setTransition: function(e) { 3585 var t = this, 3586 a = t.slides, 3587 i = t.activeIndex, 3588 s = t.$wrapperEl; 3589 if (a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.virtualTranslate && 0 !== e) { 3590 var n = !1; 3591 a.eq(i).transitionEnd(function() { 3592 if (!n && t && !t.destroyed) { 3593 n = !0, t.animating = !1; 3594 for (var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) s.trigger(e[a]) 3595 } 3596 }) 3597 } 3598 } 3599 }, 3600 te = { 3601 setTranslate: function() { 3602 for (var t = this, a = t.width, i = t.height, s = t.slides, n = t.$wrapperEl, r = t.slidesSizesGrid, o = t.params.coverflowEffect, l = t.isHorizontal(), d = t.translate, c = l ? a / 2 - d : i / 2 - d, p = l ? o.rotate : -o.rotate, h = o.depth, f = 0, v = s.length; f < v; f += 1) { 3603 var m = s.eq(f), 3604 g = r[f], 3605 b = (c - m[0].swiperSlideOffset - g / 2) / g * o.modifier, 3606 y = l ? p * b : 0, 3607 w = l ? 0 : p * b, 3608 x = -h * Math.abs(b), 3609 E = l ? 0 : o.stretch * b, 3610 T = l ? o.stretch * b : 0; 3611 Math.abs(T) < .001 && (T = 0), Math.abs(E) < .001 && (E = 0), Math.abs(x) < .001 && (x = 0), Math.abs(y) < .001 && (y = 0), Math.abs(w) < .001 && (w = 0); 3612 var C = "translate3d(" + T + "px," + E + "px," + x + "px) rotateX(" + w + "deg) rotateY(" + y + "deg)"; 3613 if (m.transform(C), m[0].style.zIndex = 1 - Math.abs(Math.round(b)), o.slideShadows) { 3614 var S = l ? m.find(".swiper-slide-shadow-left") : m.find(".swiper-slide-shadow-top"), 3615 M = l ? m.find(".swiper-slide-shadow-right") : m.find(".swiper-slide-shadow-bottom"); 3616 0 === S.length && (S = e('<div class="swiper-slide-shadow-' + (l ? "left" : "top") + '"></div>'), m.append(S)), 0 === M.length && (M = e('<div class="swiper-slide-shadow-' + (l ? "right" : "bottom") + '"></div>'), m.append(M)), S.length && (S[0].style.opacity = 0 < b ? b : 0), M.length && (M[0].style.opacity = 0 < -b ? -b : 0) 3617 } 3618 }(u.pointerEvents || u.prefixedPointerEvents) && (n[0].style.perspectiveOrigin = c + "px 50%") 3619 }, 3620 setTransition: function(e) { 3621 this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e) 3622 } 3623 }, 3624 ae = { 3625 init: function() { 3626 var e = this, 3627 t = e.params.thumbs, 3628 a = e.constructor; 3629 t.swiper instanceof a ? (e.thumbs.swiper = t.swiper, c.extend(e.thumbs.swiper.originalParams, { 3630 watchSlidesProgress: !0, 3631 slideToClickedSlide: !1 3632 }), c.extend(e.thumbs.swiper.params, { 3633 watchSlidesProgress: !0, 3634 slideToClickedSlide: !1 3635 })) : c.isObject(t.swiper) && (e.thumbs.swiper = new a(c.extend({}, t.swiper, { 3636 watchSlidesVisibility: !0, 3637 watchSlidesProgress: !0, 3638 slideToClickedSlide: !1 3639 })), e.thumbs.swiperCreated = !0), e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass), e.thumbs.swiper.on("tap", e.thumbs.onThumbClick) 3640 }, 3641 onThumbClick: function() { 3642 var t = this, 3643 a = t.thumbs.swiper; 3644 if (a) { 3645 var i = a.clickedIndex, 3646 s = a.clickedSlide; 3647 if (!(s && e(s).hasClass(t.params.thumbs.slideThumbActiveClass) || null == i)) { 3648 var n; 3649 if (n = a.params.loop ? parseInt(e(a.clickedSlide).attr("data-swiper-slide-index"), 10) : i, t.params.loop) { 3650 var r = t.activeIndex; 3651 t.slides.eq(r).hasClass(t.params.slideDuplicateClass) && (t.loopFix(), t._clientLeft = t.$wrapperEl[0].clientLeft, r = t.activeIndex); 3652 var o = t.slides.eq(r).prevAll('[data-swiper-slide-index="' + n + '"]').eq(0).index(), 3653 l = t.slides.eq(r).nextAll('[data-swiper-slide-index="' + n + '"]').eq(0).index(); 3654 n = void 0 === o ? l : void 0 === l ? o : l - r < r - o ? l : o 3655 } 3656 t.slideTo(n) 3657 } 3658 } 3659 }, 3660 update: function(e) { 3661 var t = this, 3662 a = t.thumbs.swiper; 3663 if (a) { 3664 var i = "auto" === a.params.slidesPerView ? a.slidesPerViewDynamic() : a.params.slidesPerView; 3665 if (t.realIndex !== a.realIndex) { 3666 var s, n = a.activeIndex; 3667 if (a.params.loop) { 3668 a.slides.eq(n).hasClass(a.params.slideDuplicateClass) && (a.loopFix(), a._clientLeft = a.$wrapperEl[0].clientLeft, n = a.activeIndex); 3669 var r = a.slides.eq(n).prevAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index(), 3670 o = a.slides.eq(n).nextAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index(); 3671 s = void 0 === r ? o : void 0 === o ? r : o - n == n - r ? n : o - n < n - r ? o : r 3672 } else s = t.realIndex; 3673 a.visibleSlidesIndexes.indexOf(s) < 0 && (a.params.centeredSlides ? s = n < s ? s - Math.floor(i / 2) + 1 : s + Math.floor(i / 2) - 1 : n < s && (s = s - i + 1), a.slideTo(s, e ? 0 : void 0)) 3674 } 3675 var l = 1, 3676 d = t.params.thumbs.slideThumbActiveClass; 3677 if (1 < t.params.slidesPerView && !t.params.centeredSlides && (l = t.params.slidesPerView), a.slides.removeClass(d), a.params.loop) 3678 for (var c = 0; c < l; c += 1) a.$wrapperEl.children('[data-swiper-slide-index="' + (t.realIndex + c) + '"]').addClass(d); 3679 else 3680 for (var u = 0; u < l; u += 1) a.slides.eq(t.realIndex + u).addClass(d) 3681 } 3682 } 3683 }, 3684 ie = [z, I, $, B, A, N, X, { 3685 name: "mousewheel", 3686 params: { 3687 mousewheel: { 3688 enabled: !1, 3689 releaseOnEdges: !1, 3690 invert: !1, 3691 forceToAxis: !1, 3692 sensitivity: 1, 3693 eventsTarged: "container" 3694 } 3695 }, 3696 create: function() { 3697 var e = this; 3698 c.extend(e, { 3699 mousewheel: { 3700 enabled: !1, 3701 enable: Y.enable.bind(e), 3702 disable: Y.disable.bind(e), 3703 handle: Y.handle.bind(e), 3704 handleMouseEnter: Y.handleMouseEnter.bind(e), 3705 handleMouseLeave: Y.handleMouseLeave.bind(e), 3706 lastScrollTime: c.now() 3707 } 3708 }) 3709 }, 3710 on: { 3711 init: function() { 3712 this.params.mousewheel.enabled && this.mousewheel.enable() 3713 }, 3714 destroy: function() { 3715 this.mousewheel.enabled && this.mousewheel.disable() 3716 } 3717 } 3718 }, { 3719 name: "navigation", 3720 params: { 3721 navigation: { 3722 nextEl: null, 3723 prevEl: null, 3724 hideOnClick: !1, 3725 disabledClass: "swiper-button-disabled", 3726 hiddenClass: "swiper-button-hidden", 3727 lockClass: "swiper-button-lock" 3728 } 3729 }, 3730 create: function() { 3731 var e = this; 3732 c.extend(e, { 3733 navigation: { 3734 init: G.init.bind(e), 3735 update: G.update.bind(e), 3736 destroy: G.destroy.bind(e), 3737 onNextClick: G.onNextClick.bind(e), 3738 onPrevClick: G.onPrevClick.bind(e) 3739 } 3740 }) 3741 }, 3742 on: { 3743 init: function() { 3744 this.navigation.init(), this.navigation.update() 3745 }, 3746 toEdge: function() { 3747 this.navigation.update() 3748 }, 3749 fromEdge: function() { 3750 this.navigation.update() 3751 }, 3752 destroy: function() { 3753 this.navigation.destroy() 3754 }, 3755 click: function(t) { 3756 var a = this.navigation, 3757 i = a.$nextEl, 3758 s = a.$prevEl; 3759 !this.params.navigation.hideOnClick || e(t.target).is(s) || e(t.target).is(i) || (i && i.toggleClass(this.params.navigation.hiddenClass), s && s.toggleClass(this.params.navigation.hiddenClass)) 3760 } 3761 } 3762 }, { 3763 name: "pagination", 3764 params: { 3765 pagination: { 3766 el: null, 3767 bulletElement: "span", 3768 clickable: !1, 3769 hideOnClick: !1, 3770 renderBullet: null, 3771 renderProgressbar: null, 3772 renderFraction: null, 3773 renderCustom: null, 3774 progressbarOpposite: !1, 3775 type: "bullets", 3776 dynamicBullets: !1, 3777 dynamicMainBullets: 1, 3778 formatFractionCurrent: function(e) { 3779 return e 3780 }, 3781 formatFractionTotal: function(e) { 3782 return e 3783 }, 3784 bulletClass: "swiper-pagination-bullet", 3785 bulletActiveClass: "swiper-pagination-bullet-active", 3786 modifierClass: "swiper-pagination-", 3787 currentClass: "swiper-pagination-current", 3788 totalClass: "swiper-pagination-total", 3789 hiddenClass: "swiper-pagination-hidden", 3790 progressbarFillClass: "swiper-pagination-progressbar-fill", 3791 progressbarOppositeClass: "swiper-pagination-progressbar-opposite", 3792 clickableClass: "swiper-pagination-clickable", 3793 lockClass: "swiper-pagination-lock" 3794 } 3795 }, 3796 create: function() { 3797 var e = this; 3798 c.extend(e, { 3799 pagination: { 3800 init: V.init.bind(e), 3801 render: V.render.bind(e), 3802 update: V.update.bind(e), 3803 destroy: V.destroy.bind(e), 3804 dynamicBulletIndex: 0 3805 } 3806 }) 3807 }, 3808 on: { 3809 init: function() { 3810 this.pagination.init(), this.pagination.render(), this.pagination.update() 3811 }, 3812 activeIndexChange: function() { 3813 this.params.loop ? this.pagination.update() : void 0 === this.snapIndex && this.pagination.update() 3814 }, 3815 snapIndexChange: function() { 3816 this.params.loop || this.pagination.update() 3817 }, 3818 slidesLengthChange: function() { 3819 this.params.loop && (this.pagination.render(), this.pagination.update()) 3820 }, 3821 snapGridLengthChange: function() { 3822 this.params.loop || (this.pagination.render(), this.pagination.update()) 3823 }, 3824 destroy: function() { 3825 this.pagination.destroy() 3826 }, 3827 click: function(t) { 3828 var a = this; 3829 a.params.pagination.el && a.params.pagination.hideOnClick && 0 < a.pagination.$el.length && !e(t.target).hasClass(a.params.pagination.bulletClass) && a.pagination.$el.toggleClass(a.params.pagination.hiddenClass) 3830 } 3831 } 3832 }, { 3833 name: "scrollbar", 3834 params: { 3835 scrollbar: { 3836 el: null, 3837 dragSize: "auto", 3838 hide: !1, 3839 draggable: !1, 3840 snapOnRelease: !0, 3841 lockClass: "swiper-scrollbar-lock", 3842 dragClass: "swiper-scrollbar-drag" 3843 } 3844 }, 3845 create: function() { 3846 var e = this; 3847 c.extend(e, { 3848 scrollbar: { 3849 init: j.init.bind(e), 3850 destroy: j.destroy.bind(e), 3851 updateSize: j.updateSize.bind(e), 3852 setTranslate: j.setTranslate.bind(e), 3853 setTransition: j.setTransition.bind(e), 3854 enableDraggable: j.enableDraggable.bind(e), 3855 disableDraggable: j.disableDraggable.bind(e), 3856 setDragPosition: j.setDragPosition.bind(e), 3857 onDragStart: j.onDragStart.bind(e), 3858 onDragMove: j.onDragMove.bind(e), 3859 onDragEnd: j.onDragEnd.bind(e), 3860 isTouched: !1, 3861 timeout: null, 3862 dragTimeout: null 3863 } 3864 }) 3865 }, 3866 on: { 3867 init: function() { 3868 this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate() 3869 }, 3870 update: function() { 3871 this.scrollbar.updateSize() 3872 }, 3873 resize: function() { 3874 this.scrollbar.updateSize() 3875 }, 3876 observerUpdate: function() { 3877 this.scrollbar.updateSize() 3878 }, 3879 setTranslate: function() { 3880 this.scrollbar.setTranslate() 3881 }, 3882 setTransition: function(e) { 3883 this.scrollbar.setTransition(e) 3884 }, 3885 destroy: function() { 3886 this.scrollbar.destroy() 3887 } 3888 } 3889 }, { 3890 name: "parallax", 3891 params: { 3892 parallax: { 3893 enabled: !1 3894 } 3895 }, 3896 create: function() { 3897 c.extend(this, { 3898 parallax: { 3899 setTransform: q.setTransform.bind(this), 3900 setTranslate: q.setTranslate.bind(this), 3901 setTransition: q.setTransition.bind(this) 3902 } 3903 }) 3904 }, 3905 on: { 3906 beforeInit: function() { 3907 this.params.parallax.enabled && (this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0) 3908 }, 3909 init: function() { 3910 this.params.parallax && this.parallax.setTranslate() 3911 }, 3912 setTranslate: function() { 3913 this.params.parallax && this.parallax.setTranslate() 3914 }, 3915 setTransition: function(e) { 3916 this.params.parallax && this.parallax.setTransition(e) 3917 } 3918 } 3919 }, { 3920 name: "zoom", 3921 params: { 3922 zoom: { 3923 enabled: !1, 3924 maxRatio: 3, 3925 minRatio: 1, 3926 toggle: !0, 3927 containerClass: "swiper-zoom-container", 3928 zoomedSlideClass: "swiper-slide-zoomed" 3929 } 3930 }, 3931 create: function() { 3932 var e = this, 3933 t = { 3934 enabled: !1, 3935 scale: 1, 3936 currentScale: 1, 3937 isScaling: !1, 3938 gesture: { 3939 $slideEl: void 0, 3940 slideWidth: void 0, 3941 slideHeight: void 0, 3942 $imageEl: void 0, 3943 $imageWrapEl: void 0, 3944 maxRatio: 3 3945 }, 3946 image: { 3947 isTouched: void 0, 3948 isMoved: void 0, 3949 currentX: void 0, 3950 currentY: void 0, 3951 minX: void 0, 3952 minY: void 0, 3953 maxX: void 0, 3954 maxY: void 0, 3955 width: void 0, 3956 height: void 0, 3957 startX: void 0, 3958 startY: void 0, 3959 touchesStart: {}, 3960 touchesCurrent: {} 3961 }, 3962 velocity: { 3963 x: void 0, 3964 y: void 0, 3965 prevPositionX: void 0, 3966 prevPositionY: void 0, 3967 prevTime: void 0 3968 } 3969 }; 3970 "onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach(function(a) { 3971 t[a] = F[a].bind(e) 3972 }), c.extend(e, { 3973 zoom: t 3974 }); 3975 var a = 1; 3976 Object.defineProperty(e.zoom, "scale", { 3977 get: function() { 3978 return a 3979 }, 3980 set: function(t) { 3981 if (a !== t) { 3982 var i = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : void 0, 3983 s = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0; 3984 e.emit("zoomChange", t, i, s) 3985 } 3986 a = t 3987 } 3988 }) 3989 }, 3990 on: { 3991 init: function() { 3992 this.params.zoom.enabled && this.zoom.enable() 3993 }, 3994 destroy: function() { 3995 this.zoom.disable() 3996 }, 3997 touchStart: function(e) { 3998 this.zoom.enabled && this.zoom.onTouchStart(e) 3999 }, 4000 touchEnd: function(e) { 4001 this.zoom.enabled && this.zoom.onTouchEnd(e) 4002 }, 4003 doubleTap: function(e) { 4004 this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e) 4005 }, 4006 transitionEnd: function() { 4007 this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd() 4008 } 4009 } 4010 }, { 4011 name: "lazy", 4012 params: { 4013 lazy: { 4014 enabled: !1, 4015 loadPrevNext: !1, 4016 loadPrevNextAmount: 1, 4017 loadOnTransitionStart: !1, 4018 elementClass: "swiper-lazy", 4019 loadingClass: "swiper-lazy-loading", 4020 loadedClass: "swiper-lazy-loaded", 4021 preloaderClass: "swiper-lazy-preloader" 4022 } 4023 }, 4024 create: function() { 4025 c.extend(this, { 4026 lazy: { 4027 initialImageLoaded: !1, 4028 load: R.load.bind(this), 4029 loadInSlide: R.loadInSlide.bind(this) 4030 } 4031 }) 4032 }, 4033 on: { 4034 beforeInit: function() { 4035 this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1) 4036 }, 4037 init: function() { 4038 this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load() 4039 }, 4040 scroll: function() { 4041 this.params.freeMode && !this.params.freeModeSticky && this.lazy.load() 4042 }, 4043 resize: function() { 4044 this.params.lazy.enabled && this.lazy.load() 4045 }, 4046 scrollbarDragMove: function() { 4047 this.params.lazy.enabled && this.lazy.load() 4048 }, 4049 transitionStart: function() { 4050 var e = this; 4051 e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || !e.params.lazy.loadOnTransitionStart && !e.lazy.initialImageLoaded) && e.lazy.load() 4052 }, 4053 transitionEnd: function() { 4054 this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load() 4055 } 4056 } 4057 }, { 4058 name: "controller", 4059 params: { 4060 controller: { 4061 control: void 0, 4062 inverse: !1, 4063 by: "slide" 4064 } 4065 }, 4066 create: function() { 4067 var e = this; 4068 c.extend(e, { 4069 controller: { 4070 control: e.params.controller.control, 4071 getInterpolateFunction: W.getInterpolateFunction.bind(e), 4072 setTranslate: W.setTranslate.bind(e), 4073 setTransition: W.setTransition.bind(e) 4074 } 4075 }) 4076 }, 4077 on: { 4078 update: function() { 4079 this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) 4080 }, 4081 resize: function() { 4082 this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) 4083 }, 4084 observerUpdate: function() { 4085 this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) 4086 }, 4087 setTranslate: function(e, t) { 4088 this.controller.control && this.controller.setTranslate(e, t) 4089 }, 4090 setTransition: function(e, t) { 4091 this.controller.control && this.controller.setTransition(e, t) 4092 } 4093 } 4094 }, { 4095 name: "a11y", 4096 params: { 4097 a11y: { 4098 enabled: !0, 4099 notificationClass: "swiper-notification", 4100 prevSlideMessage: "Previous slide", 4101 nextSlideMessage: "Next slide", 4102 firstSlideMessage: "This is the first slide", 4103 lastSlideMessage: "This is the last slide", 4104 paginationBulletMessage: "Go to slide {{index}}" 4105 } 4106 }, 4107 create: function() { 4108 var t = this; 4109 c.extend(t, { 4110 a11y: { 4111 liveRegion: e('<span class="' + t.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>') 4112 } 4113 }
4113), Object.keys(U).forEach(function(e) { 4114 t.a11y[e] = U[e].bind(t) 4115 }) 4116 }, 4117 on: { 4118 init: function() { 4119 this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation()) 4120 }, 4121 toEdge: function() { 4122 this.params.a11y.enabled && this.a11y.updateNavigation() 4123 }, 4124 fromEdge: function() { 4125 this.params.a11y.enabled && this.a11y.updateNavigation() 4126 }, 4127 paginationUpdate: function() { 4128 this.params.a11y.enabled && this.a11y.updatePagination() 4129 }, 4130 destroy: function() { 4131 this.params.a11y.enabled && this.a11y.destroy() 4132 } 4133 } 4134 }, { 4135 name: "history", 4136 params: { 4137 history: { 4138 enabled: !1, 4139 replaceState: !1, 4140 key: "slides" 4141 } 4142 }, 4143 create: function() { 4144 var e = this; 4145 c.extend(e, { 4146 history: { 4147 init: _.init.bind(e), 4148 setHistory: _.setHistory.bind(e), 4149 setHistoryPopState: _.setHistoryPopState.bind(e), 4150 scrollToSlide: _.scrollToSlide.bind(e), 4151 destroy: _.destroy.bind(e) 4152 } 4153 }) 4154 }, 4155 on: { 4156 init: function() { 4157 this.params.history.enabled && this.history.init() 4158 }, 4159 destroy: function() { 4160 this.params.history.enabled && this.history.destroy() 4161 }, 4162 transitionEnd: function() { 4163 this.history.initialized && this.history.setHistory(this.params.history.key, this.activeIndex) 4164 } 4165 } 4166 }, { 4167 name: "hash-navigation", 4168 params: { 4169 hashNavigation: { 4170 enabled: !1, 4171 replaceState: !1, 4172 watchState: !1 4173 } 4174 }, 4175 create: function() { 4176 var e = this; 4177 c.extend(e, { 4178 hashNavigation: { 4179 initialized: !1, 4180 init: K.init.bind(e), 4181 destroy: K.destroy.bind(e), 4182 setHash: K.setHash.bind(e), 4183 onHashCange: K.onHashCange.bind(e) 4184 } 4185 }) 4186 }, 4187 on: { 4188 init: function() { 4189 this.params.hashNavigation.enabled && this.hashNavigation.init() 4190 }, 4191 destroy: function() { 4192 this.params.hashNavigation.enabled && this.hashNavigation.destroy() 4193 }, 4194 transitionEnd: function() { 4195 this.hashNavigation.initialized && this.hashNavigation.setHash() 4196 } 4197 } 4198 }, { 4199 name: "autoplay", 4200 params: { 4201 autoplay: { 4202 enabled: !1, 4203 delay: 3e3, 4204 waitForTransition: !0, 4205 disableOnInteraction: !0, 4206 stopOnLastSlide: !1, 4207 reverseDirection: !1 4208 } 4209 }, 4210 create: function() { 4211 var e = this; 4212 c.extend(e, { 4213 autoplay: { 4214 running: !1, 4215 paused: !1, 4216 run: J.run.bind(e), 4217 start: J.start.bind(e), 4218 stop: J.stop.bind(e), 4219 pause: J.pause.bind(e), 4220 onTransitionEnd: function(t) { 4221 e && !e.destroyed && e.$wrapperEl && t.target === this && (e.$wrapperEl[0].removeEventListener("transitionend", e.autoplay.onTransitionEnd), e.$wrapperEl[0].removeEventListener("webkitTransitionEnd", e.autoplay.onTransitionEnd), e.autoplay.paused = !1, e.autoplay.running ? e.autoplay.run() : e.autoplay.stop()) 4222 } 4223 } 4224 }) 4225 }, 4226 on: { 4227 init: function() { 4228 this.params.autoplay.enabled && this.autoplay.start() 4229 }, 4230 beforeTransitionStart: function(e, t) { 4231 this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop()) 4232 }, 4233 sliderFirstMove: function() { 4234 this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause()) 4235 }, 4236 destroy: function() { 4237 this.autoplay.running && this.autoplay.stop() 4238 } 4239 } 4240 }, { 4241 name: "effect-fade", 4242 params: { 4243 fadeEffect: { 4244 crossFade: !1 4245 } 4246 }, 4247 create: function() { 4248 c.extend(this, { 4249 fadeEffect: { 4250 setTranslate: Z.setTranslate.bind(this), 4251 setTransition: Z.setTransition.bind(this) 4252 } 4253 }) 4254 }, 4255 on: { 4256 beforeInit: function() { 4257 var e = this; 4258 if ("fade" === e.params.effect) { 4259 e.classNames.push(e.params.containerModifierClass + "fade"); 4260 var t = { 4261 slidesPerView: 1, 4262 slidesPerColumn: 1, 4263 slidesPerGroup: 1, 4264 watchSlidesProgress: !0, 4265 spaceBetween: 0, 4266 virtualTranslate: !0 4267 }; 4268 c.extend(e.params, t), c.extend(e.originalParams, t) 4269 } 4270 }, 4271 setTranslate: function() { 4272 "fade" === this.params.effect && this.fadeEffect.setTranslate() 4273 }, 4274 setTransition: function(e) { 4275 "fade" === this.params.effect && this.fadeEffect.setTransition(e) 4276 } 4277 } 4278 }, { 4279 name: "effect-cube", 4280 params: { 4281 cubeEffect: { 4282 slideShadows: !0, 4283 shadow: !0, 4284 shadowOffset: 20, 4285 shadowScale: .94 4286 } 4287 }, 4288 create: function() { 4289 c.extend(this, { 4290 cubeEffect: { 4291 setTranslate: Q.setTranslate.bind(this), 4292 setTransition: Q.setTransition.bind(this) 4293 } 4294 }) 4295 }, 4296 on: { 4297 beforeInit: function() { 4298 var e = this; 4299 if ("cube" === e.params.effect) { 4300 e.classNames.push(e.params.containerModifierClass + "cube"), e.classNames.push(e.params.containerModifierClass + "3d"); 4301 var t = { 4302 slidesPerView: 1, 4303 slidesPerColumn: 1, 4304 slidesPerGroup: 1, 4305 watchSlidesProgress: !0, 4306 resistanceRatio: 0, 4307 spaceBetween: 0, 4308 centeredSlides: !1, 4309 virtualTranslate: !0 4310 }; 4311 c.extend(e.params, t), c.extend(e.originalParams, t) 4312 } 4313 }, 4314 setTranslate: function() { 4315 "cube" === this.params.effect && this.cubeEffect.setTranslate() 4316 }, 4317 setTransition: function(e) { 4318 "cube" === this.params.effect && this.cubeEffect.setTransition(e) 4319 } 4320 } 4321 }, { 4322 name: "effect-flip", 4323 params: { 4324 flipEffect: { 4325 slideShadows: !0, 4326 limitRotation: !0 4327 } 4328 }, 4329 create: function() { 4330 c.extend(this, { 4331 flipEffect: { 4332 setTranslate: ee.setTranslate.bind(this), 4333 setTransition: ee.setTransition.bind(this) 4334 } 4335 }) 4336 }, 4337 on: { 4338 beforeInit: function() { 4339 var e = this; 4340 if ("flip" === e.params.effect) { 4341 e.classNames.push(e.params.containerModifierClass + "flip"), e.classNames.push(e.params.containerModifierClass + "3d"); 4342 var t = { 4343 slidesPerView: 1, 4344 slidesPerColumn: 1, 4345 slidesPerGroup: 1, 4346 watchSlidesProgress: !0, 4347 spaceBetween: 0, 4348 virtualTranslate: !0 4349 }; 4350 c.extend(e.params, t), c.extend(e.originalParams, t) 4351 } 4352 }, 4353 setTranslate: function() { 4354 "flip" === this.params.effect && this.flipEffect.setTranslate() 4355 }, 4356 setTransition: function(e) { 4357 "flip" === this.params.effect && this.flipEffect.setTransition(e) 4358 } 4359 } 4360 }, { 4361 name: "effect-coverflow", 4362 params: { 4363 coverflowEffect: { 4364 rotate: 50, 4365 stretch: 0, 4366 depth: 100, 4367 modifier: 1, 4368 slideShadows: !0 4369 } 4370 }, 4371 create: function() { 4372 c.extend(this, { 4373 coverflowEffect: { 4374 setTranslate: te.setTranslate.bind(this), 4375 setTransition: te.setTransition.bind(this) 4376 } 4377 }) 4378 }, 4379 on: { 4380 beforeInit: function() { 4381 var e = this; 4382 "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) 4383 }, 4384 setTranslate: function() { 4385 "coverflow" === this.params.effect && this.coverflowEffect.setTranslate() 4386 }, 4387 setTransition: function(e) { 4388 "coverflow" === this.params.effect && this.coverflowEffect.setTransition(e) 4389 } 4390 } 4391 }, { 4392 name: "thumbs", 4393 params: { 4394 thumbs: { 4395 swiper: null, 4396 slideThumbActiveClass: "swiper-slide-thumb-active", 4397 thumbsContainerClass: "swiper-container-thumbs" 4398 } 4399 }, 4400 create: function() { 4401 c.extend(this, { 4402 thumbs: { 4403 swiper: null, 4404 init: ae.init.bind(this), 4405 update: ae.update.bind(this), 4406 onThumbClick: ae.onThumbClick.bind(this) 4407 } 4408 }) 4409 }, 4410 on: { 4411 beforeInit: function() { 4412 var e = this.params.thumbs; 4413 e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0)) 4414 }, 4415 slideChange: function() { 4416 this.thumbs.swiper && this.thumbs.update() 4417 }, 4418 update: function() { 4419 this.thumbs.swiper && this.thumbs.update() 4420 }, 4421 resize: function() { 4422 this.thumbs.swiper && this.thumbs.update() 4423 }, 4424 observerUpdate: function() { 4425 this.thumbs.swiper && this.thumbs.update() 4426 }, 4427 setTransition: function(e) { 4428 var t = this.thumbs.swiper; 4429 t && t.setTransition(e) 4430 }, 4431 beforeDestroy: function() { 4432 var e = this.thumbs.swiper; 4433 e && this.thumbs.swiperCreated && e && e.destroy() 4434 } 4435 } 4436 }]; 4437 return void 0 === L.use && (L.use = L.Class.use, L.installModule = L.Class.installModule), L.use(ie), L 4438 }); 4439 var p = "js-swiper", 4440 h = document.getElementsByClassName(p); 4441 [].forEach.call(h, function(e) { 4442 var t = !!e.getElementsByClassName(p + "-button-next").length, 4443 a = e.hasAttribute("data-swiper-thumbnail"), 4444 i = new Swiper(e, { 4445 slidesPerView: e.hasAttribute("data-swiper-slidesperview") ? Number(e.getAttribute("data-swiper-slidesperview")) : 1, 4446 loop: !0, 4447 speed: 500, 4448 slideClass: p + "-slide", 4449 wrapperClass: p + "-wrapper", 4450 navigation: { 4451 prevEl: t ? "." + p + "-button-prev" : null, 4452 nextEl: t ? "." + p + "-button-next" : null 4453 }, 4454 pagination: { 4455 el: "." + p + "-pagination", 4456 clickable: !0, 4457 bulletClass: p + "-pagination-button", 4458 bulletActiveClass: "-isActive",
4459 renderBullet: function(t, i) { 4460 return a ? '<button class="' + i + ' -isThumbnail">' + e.querySelectorAll("." + p + "-slide img")[t + 1].outerHTML + "</button>" : '<button class="' + i + '">' + (t + 1) + "</button>" 4461 } 4462 }, 4463 breakpoints: { 4464 640: { 4465 slidesPerView: 1 4466 } 4467 }, 4468 observer: !0, 4469 observeParents: !0 4470 }); 4471 e.hasAttribute("data-swiper-autoplay") && i.autoplay.start() 4472 }) 4473}), window.onpageshow = function() { 4474 [].forEach.call(document.querySelectorAll('.js-reset input[type="radio"], .js-reset input[type="checkbox"]'), function(e) { 4475 e.checked = !1 4476 }); 4477 var e = document.querySelectorAll(".js-reset .is-checked"); 4478 [].forEach.call(e, function(e) { 4479 e.classList.remove("is-checked") 4480 }), e.length && updateFormState() 4481};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.