1/** 2 * Before After 3 * TwentyTwenty 4 * http://zurb.com/playground/twentytwenty 5 */ 6 7! function(t) { t.fn.twentytwenty = function(e) { var e = t.extend({ default_offset_pct: .5, orientation: "horizontal" }, e); return this.each(function() { var n = e.default_offset_pct, 8 i = t(this), 9 a = e.orientation, 10 s = "vertical" === a ? "down" : "left", 11 d = "vertical" === a ? "up" : "right"; 12 i.wrap("<div class='twentytwenty-wrapper twentytwenty-" + a + "'></div>"), i.append("<div class='twentytwenty-overlay'></div>"); var r = i.find("img:first"), 13 w = i.find("img:last"); 14 i.append("<div class='twentytwenty-handle'></div>"); var c = i.find(".twentytwenty-handle"); 15 c.append("<span class='twentytwenty-" + s + "-arrow'></span>"), c.append("<span class='twentytwenty-" + d + "-arrow'></span>"), i.addClass("twentytwenty-container"), r.addClass("twentytwenty-before"), w.addClass("twentytwenty-after"); var o = i.find(".twentytwenty-overlay"); 16 o.append("<div class='twentytwenty-before-label'></div>"), o.append("<div class='twentytwenty-after-label'></div>"); var f = function(t) { var e = r.width(), 17 n = r.height(); return { w: e + "px", h: n + "px", cw: t * e + "px", ch: t * n + "px" } }, 18 l = function(t) { "vertical" === a ? r.css("clip", "rect(0," + t.w + "," + t.ch + ",0)") : r.css("clip", "rect(0," + t.cw + "," + t.h + ",0)"), i.css("height", t.h) }, 19 v = function(t) { var e = f(t); 20 c.css("vertical" === a ? "top" : "left", "vertical" === a ? e.ch : e.cw), l(e) }; 21 t(window).on("resize.twentytwenty", function(t) { v(n) }); var p = 0, 22 y = 0; 23 c.on("movestart", function(t) { 24 (t.distX > t.distY && t.distX < -t.distY || t.distX < t.distY && t.distX > -t.distY) && "vertical" !== a ? t.preventDefault() : (t.distX < t.distY && t.distX < -t.distY || t.distX > t.distY && t.distX > -t.distY) && "vertical" === a && t.preventDefault(), i.addClass("active"), p = i.offset().left, offsetY = i.offset().top, y = r.width(), imgHeight = r.height() }), c.on("moveend", function(t) { i.removeClass("active") }), c.on("move", function(t) { i.hasClass("active") && (n = "vertical" === a ? (t.pageY - offsetY) / imgHeight : (t.pageX - p) / y, 0 > n && (n = 0), n > 1 && (n = 1), v(n)) }), i.find("img").on("mousedown", function(t) { t.preventDefault() }), t(window).trigger("resize.twentytwenty") }) } }(jQuery); 25 26/** 27 * Event Move 28 * required for: TwentyTwenty 29 * 1.3.6 | Stephen Band 30 */ 31 32// ! function(t) { "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery) }(function(t, e) { 33// function n(t) { 34// function e(t) { a ? (n(), O(e), i = !0, a = !1) : i = !1 } var n = t, 35// a = !1, 36// i = !1; 37// this.kick = function(t) { a = !0, i || e() }, this.end = function(t) { var e = n; 38// t && (i ? (n = a ? function() { e(), t() } : t, a = !0) : t()) } } 39 40// function a() { return !0 } 41 42// function i() { return !1 } 43 44// function o(t) { t.preventDefault() } 45 46// function r(t) { z[t.target.tagName.toLowerCase()] || t.preventDefault() } 47 48// function u(t) { return 1 === t.which && !t.ctrlKey && !t.altKey } 49 50// function c(t, e) { var n, a; if (t.identifiedTouch) return t.identifiedTouch(e); for (n = -1, a = t.length; ++n < a;) 51// if (t[n].identifier === e) return t[n] } 52 53// function d(t, e) { var n = c(t.changedTouches, e.identifier); if (n && (n.pageX !== e.pageX || n.pageY !== e.pageY)) return n } 54 55// function m(t) { var e; 56// u(t) && (e = { target: t.target, startX: t.pageX, startY: t.pageY, timeStamp: t.timeStamp }, K(document, Q.move, f, e), K(document, Q.cancel, s, e)) } 57 58// function f(t) { var e = t.data; 59// X(t, e, t, v) } 60 61// function s(t) { v() } 62 63// function v() { L(document, Q.move, f), L(document, Q.cancel, s) } 64 65// function p(t) { var e, n; 66// z[t.target.tagName.toLowerCase()] || (e = t.changedTouches[0], n = { target: e.target, startX: e.pageX, startY: e.pageY, timeStamp: t.timeStamp, identifier: e.identifier }, K(document, B.move + "." + e.identifier, g, n), K(document, B.cancel + "." + e.identifier, h, n)) } 67 68// function g(t) { var e = t.data, 69// n = d(t, e); 70// n && X(t, e, n, l) } 71 72// function h(t) { var e = t.data, 73// n = c(t.changedTouches, e.identifier); 74// n && l(e.identifier) } 75 76// function l(t) { L(document, "." + t, g), L(document, "." + t, h) } 77 78// function X(t, e, n, a) { var i = n.pageX - e.startX, 79// o = n.pageY - e.startY; 80// C * C > i * i + o * o || y(t, e, n, i, o, a) } 81 82// function Y() { return this._handled = a, !1 } 83 84// function w(t) { t._handled() } 85 86// function y(t, e, n, a, i, o) { var r, u; 87// e.target; 88// r = t.targetTouches, u = t.timeStamp - e.timeStamp, e.type = "movestart", e.distX = a, e.distY = i, e.deltaX = a, e.deltaY = i, e.pageX = n.pageX, e.pageY = n.pageY, e.velocityX = a / u, e.velocityY = i / u, e.targetTouches = r, e.finger = r ? r.length : 1, e._handled = Y, e._preventTouchmoveDefault = function() { t.preventDefault() }, N(e.target, e), o(e.identifier) } 89 90// function T(t) { var e = t.data.timer; 91// t.data.touch = t, t.data.timeStamp = t.timeStamp, e.kick() } 92 93// function S(t) { var e = t.data.event, 94// n = t.data.timer; 95// k(), F(e, n, function() { setTimeout(function() { L(e.target, "click", i) }, 0) }) } 96 97// function k(t) { L(document, Q.move, T), L(document, Q.end, S) } 98 99// function _(t) { var e = t.data.event, 100// n = t.data.timer, 101// a = d(t, e); 102// a && (t.preventDefault(), e.targetTouches = t.targetTouches, t.data.touch = a, t.data.timeStamp = t.timeStamp, n.kick()) } 103 104// function q(t) { var e = t.data.event, 105// n = t.data.timer, 106// a = c(t.changedTouches, e.identifier); 107// a && (A(e), F(e, n)) } 108 109// function A(t) { L(document, "." + t.identifier, _), L(document, "." + t.identifier, q) } 110 111// function D(t, e, n, a) { var i = n - t.timeStamp; 112// t.type = "move", t.distX = e.pageX - t.startX, t.distY = e.pageY - t.startY, t.deltaX = e.pageX - t.pageX, t.deltaY = e.pageY - t.pageY, t.velocityX = .3 * t.velocityX + .7 * t.deltaX / i, t.velocityY = .3 * t.velocityY + .7 * t.deltaY / i, t.pageX = e.pageX, t.pageY = e.pageY } 113 114// function F(t, e, n) { e.end(function() { return t.type = "moveend", N(t.target, t), n && n() }) } 115 116// function R(t, e, n) { return K(this, "movestart.move", w), !0 } 117 118// function x(t) { return L(this, "dragstart drag", o), L(this, "mousedown touchstart", r), L(this, "movestart", w), !0 } 119 120// function b(t) { "move" !== t.namespace && "moveend" !== t.namespace && (K(this, "dragstart." + t.guid + " drag." + t.guid, o, e, t.selector), K(this, "mousedown." + t.guid, r, e, t.selector)) } 121 122// function j(t) { "move" !== t.namespace && "moveend" !== t.namespace && (L(this, "dragstart." + t.guid + " drag." + t.guid
122), L(this, "mousedown." + t.guid)) } var C = 6, 123// K = t.event.add, 124// L = t.event.remove, 125// N = function(e, n, a) { t.event.trigger(n, a, e) }, 126// O = function() { return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(t, e) { return window.setTimeout(function() { t() }, 25) } }(), 127// z = { textarea: !0, input: !0, select: !0, button: !0 }, 128// Q = { move: "mousemove", cancel: "mouseup dragstart", end: "mouseup" }, 129// B = { move: "touchmove", cancel: "touchend", end: "touchend" }; 130// t.event.special.movestart = { setup: R, teardown: x, add: b, remove: j, _default: function(t) { 131// function a(e) { D(o, r.touch, r.timeStamp), N(t.target, o) } var o, r; 132// t._handled() && (o = { target: t.target, startX: t.startX, startY: t.startY, pageX: t.pageX, pageY: t.pageY, distX: t.distX, distY: t.distY, deltaX: t.deltaX, deltaY: t.deltaY, velocityX: t.velocityX, velocityY: t.velocityY, timeStamp: t.timeStamp, identifier: t.identifier, targetTouches: t.targetTouches, finger: t.finger }, r = { event: o, timer: new n(a), touch: e, timeStamp: e }, t.identifier === e ? (K(t.target, "click", i), K(document, Q.move, T, r), K(document, Q.end, S, r)) : (t._preventTouchmoveDefault(), K(document, B.move + "." + t.identifier, _, r), K(document, B.end + "." + t.identifier, q, r))) } }, t.event.special.move = { setup: function() { K(this, "movestart.move", t.noop) }, teardown: function() { L(this, "movestart.move", t.noop) } }, t.event.special.moveend = { setup: function() { K(this, "movestart.moveend", t.noop) }, teardown: function() { L(this, "movestart.moveend", t.noop) } }, K(document, "mousedown.move", m), K(document, "touchstart.move", p), "function" == typeof Array.prototype.indexOf && ! function(t, e) { for (var n = ["changedTouches", "targetTouches"], a = n.length; a--;) - 1 === t.event.props.indexOf(n[a]) && t.event.props.push(n[a]) }(t) }); 133 134/** 135 * Chart 136 * easyPieChart 137 * 2.1.3 | Robert Fleischmann <[email protected]> (http://robert-fleischmann.de) 138 */ 139 140! function(a, b) { "object" == typeof exports ? module.exports = b(require("jquery")) : "function" == typeof define && define.amd ? define("EasyPieChart", ["jquery"], b) : b(a.jQuery) }(this, function(a) { var b = function(a, b) { var c, d = document.createElement("canvas"); "undefined" != typeof G_vmlCanvasManager && G_vmlCanvasManager.initElement(d); var e = d.getContext("2d"); 141 d.width = d.height = b.size, a.appendChild(d); var f = 1; 142 window.devicePixelRatio > 1 && (f = window.devicePixelRatio, d.style.width = d.style.height = [b.size, "px"].join(""), d.width = d.height = b.size * f, e.scale(f, f)), e.translate(b.size / 2, b.size / 2), e.rotate((-0.5 + b.rotate / 180) * Math.PI); var g = (b.size - b.lineWidth) / 2; 143 b.scaleColor && b.scaleLength && (g -= b.scaleLength + 2), Date.now = Date.now || function() { return +new Date }; var h = function(a, b, c) { c = Math.min(Math.max(-1, c || 0), 1); var d = 0 >= c ? !0 : !1; 144 e.beginPath(), e.arc(0, 0, g, 0, 2 * Math.PI * c, d), e.strokeStyle = a, e.lineWidth = b, e.stroke() }, 145 i = function() { var a, c, d = 24; 146 e.lineWidth = 1, e.fillStyle = b.scaleColor, e.save(); for (var d = 24; d > 0; --d) 0 === d % 6 ? (c = b.scaleLength, a = 0) : (c = .6 * b.scaleLength, a = b.scaleLength - c), e.fillRect(-b.size / 2 + a, 0, c, 1), e.rotate(Math.PI / 12); 147 e.restore() }, 148 j = function() { return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(a) { window.setTimeout(a, 1e3 / 60) } }(), 149 k = function() { b.scaleColor && i(), b.trackColor && h(b.trackColor, b.lineWidth, 1) }; 150 this.clear = function() { e.clearRect(b.size / -2, b.size / -2, b.size, b.size) }, this.draw = function(a) { b.scaleColor || b.trackColor ? e.getImageData && e.putImageData ? c ? e.putImageData(c, 0, 0) : (k(), c = e.getImageData(0, 0, b.size * f, b.size * f)) : (this.clear(), k()) : this.clear(), e.lineCap = b.lineCap; var d;
151 d = "function" == typeof b.barColor ? b.barColor(a) : b.barColor, h(d, b.lineWidth, a / 100) }.bind(this), this.animate = function(a, c) { var d = Date.now(); 152 b.onStart(a, c); var e = function() { var f = Math.min(Date.now() - d, b.animate), 153 g = b.easing(this, f, a, c - a, b.animate); 154 this.draw(g), b.onStep(a, c, g), f >= b.animate ? b.onStop(a, c) : j(e) }.bind(this); 155 j(e) }.bind(this) }, 156 c = function(a, c) { var d = { barColor: "#ef1e25", trackColor: "#f9f9f9", scaleColor: "#dfe0e0", scaleLength: 5, lineCap: "round", lineWidth: 3, size: 110, rotate: 0, animate: 1e3, easing: function(a, b, c, d, e) { return b /= e / 2, 1 > b ? d / 2 * b * b + c : -d / 2 * (--b * (b - 2) - 1) + c }, onStart: function() {}, onStep: function() {}, onStop: function() {} }; if ("undefined" != typeof b) d.renderer = b; 157 else { if ("undefined" == typeof SVGRenderer) throw new Error("Please load either the SVG- or the CanvasRenderer"); 158 d.renderer = SVGRenderer } var e = {}, 159 f = 0, 160 g = function() { this.el = a, this.options = e; for (var b in d) d.hasOwnProperty(b) && (e[b] = c && "undefined" != typeof c[b] ? c[b] : d[b], "function" == typeof e[b] && (e[b] = e[b].bind(this))); 161 e.easing = "string" == typeof e.easing && "undefined" != typeof jQuery && jQuery.isFunction(jQuery.easing[e.easing]) ? jQuery.easing[e.easing] : d.easing, this.renderer = new e.renderer(a, e), this.renderer.draw(f), a.dataset && a.dataset.percent ? this.update(parseFloat(a.dataset.percent)) : a.getAttribute && a.getAttribute("data-percent") && this.update(parseFloat(a.getAttribute("data-percent"))) }.bind(this); 162 this.update = function(a) { return a = parseFloat(a), e.animate ? this.renderer.animate(f, a) : this.renderer.draw(a), f = a, this }.bind(this), g() }; 163 a.fn.easyPieChart = function(b) { return this.each(function() { var d; 164 a.data(this, "easyPieChart") || (d = a.extend({}, b, a(this).data()), a.data(this, "easyPieChart", new c(this, d))) }) } }); 165 166/** 167 * Countdown 168 * downCount 169 * Sonny T. <[email protected]>, sonnyt.com 170 */ 171 172(function(e) { e.fn.downCount = function(t, n) { 173 function o() { var e = new Date(r.date), 174 t = s(); var o = e - t; if (o < 0) { clearInterval(u); if (n && typeof n === "function") n(); return } var a = 1e3, 175 f = a * 60, 176 l = f * 60, 177 c = l * 24; var h = Math.floor(o / c), 178 p = Math.floor(o % c / l), 179 d = Math.floor(o % l / f), 180 v = Math.floor(o % f / a); 181 h = String(h).length >= 2 ? h : "0" + h; 182 p = String(p).length >= 2 ? p : "0" + p; 183 d = String(d).length >= 2 ? d : "0" + d; 184 v = String(v).length >= 2 ? v : "0" + v; var m = h === 1 ? "day" : "days", 185 g = p === 1 ? "hour" : "hours", 186 y = d === 1 ? "minute" : "minutes", 187 b = v === 1 ? "second" : "seconds"; 188 i.find(".days").text(h); 189 i.find(".hours").text(p); 190 i.find(".minutes").text(d); 191 i.find(".seconds").text(v); 192 i.find(".days_ref").text(m); 193 i.find(".hours_ref").text(g); 194 i.find(".minutes_ref").text(y); 195 i.find(".seconds_ref").text(b) } var r = e.extend({ date: null, offset: null }, t); if (!r.date) { e.error("Date is not defined.") } if (!Date.parse(r.date)) { e.error("Incorrect date format, it should look like this, 12/24/2012 12:00:00.") } var i = this; var s = function() { var e = new Date; var t = e.getTime() + e.getTimezoneOffset() * 6e4; var n = new Date(t + 36e5 * r.offset); return n }; var u = setInterval(o, 1e3) } })(jQuery); 196 197/** 198 * Greyscale 199 * Black & White 200 * 0.3.7 | Gianluca Guarini | http://www.gianlucaguarini.com/ 201 */ 202 203! function(a) { a.fn.extend({ BlackAndWhite: function(b) { "use strict"; var c = this, 204 d = a.extend({ hoverEffect: !0, webworkerPath: !1, invertHoverEffect: !1, speed: 500, onImageReady: null, intensity: 1 }, b), 205 e = d.hoverEffect, 206 f = d.webworkerPath, 207 g = d.invertHoverEffect, 208 h = "number" == typeof d.intensity && d.intensity < 1 && d.intensity > 0 ? d.intensity : 1, 209 i = a.isPlainObject(d.speed) ? d.speed.fadeIn : d.speed, 210 j = a.isPlainObject(d.speed) ? d.speed.fadeOut : d.speed, 211 k = a(window), 212 l = ".BlackAndWhite", 213 m = (document.all && !window.opera && window.XMLHttpRequest ? !0 : !1, " -webkit- -moz- -o- -ms- ".split(" ")), 214 n = {}, 215 o = function(a) { if (n[a] || "" === n[a]) return n[a] + a; var b = document.createElement("div"), 216 c = ["", "Moz", "Webkit", "O", "ms", "Khtml"]; for (var d in c) 217 if ("undefined" != typeof b.style[c[d] + a]) return n[a] = c[d], c[d] + a; return a.toLowerCase() }, 218 p = function() { var a = document.createElement("div"); return a.style.cssText = m.join("filter:blur(2px); "), !!a.style.length && (void 0 === document.documentMode || document.documentMode > 9) }(), 219 q = !!document.createElement("canvas").getContext, 220 r = function() { return "undefined" != typeof Worker ? !0 : !1 }(), 221 s = o("Filter"), 222 t = [], 223 u = r && f ? new Worker(f + "BnWWorker.js") : !1, 224 v = function(b) { a(b.currentTarget).find(".BWfade").stop(!0, !0).animate({ opacity: g ? 0 : 1 }, j) }, 225 w = function(b) { a(b.currentTarget).find(".BWfade").stop(!0, !0).animate({ opacity: g ? 1 : 0 }, i) }, 226 x = function(a) { "function" == typeof d.onImageReady && d.onImageReady(a) }, 227 y = function(a) { u && q && !p && !a && z() }, 228 z = function() { return t.length ? (u.postMessage({ imgData: t[0].imageData, intensity: h }), void(u.onmessage = function(a) { t[0].ctx.putImageData(a.data, 0, 0), x(t[0].img), t.splice(0, 1), z() })) : (u.terminate && u.terminate(), void(u.close && u.close())) }, 229 A = function(a) { return a.complete || "undefined" != typeof a.naturalWi
229dth && a.naturalWidth }, 230 B = function(a, b, c, d) { var e = b.getContext("2d"), 231 f = 0; 232 e.drawImage(a, 0, 0, c, d); var g = e.getImageData(0, 0, c, d), 233 i = g.data, 234 j = i.length; if (u) t.push({ imageData: g, ctx: e, img: a }); 235 else { for (; j > f; f += 4) { var k = .3 * i[f] + .59 * i[f + 1] + .11 * i[f + 2]; 236 i[f] = ~~(k * h + i[f] * (1 - h)), i[f + 1] = ~~(k * h + i[f + 1] * (1 - h)), i[f + 2] = ~~(k * h + i[f + 2] * (1 - h)) } e.putImageData(g, 0, 0), x(a) } }, 237 C = function(b, c) { var d, e = b[0], 238 f = (e.src, b.position()), 239 i = { top: f.top, left: f.left, position: "absolute", "-webkit-transform": "translate3d(0,0,0)", opacity: g ? 0 : 1 }; 240 e.crossOrigin = "anonymous", q && !p ? (d = a('<canvas width="' + e.naturalWidth + '" height="' + e.naturalHeight + '" class="BWfade"></canvas>
240'), i.width = b.width(), i.height = b.height(), B(e, d.get(0), e.naturalWidth, e.naturalHeight)) : (q ? i[s] = "grayscale(" + 100 * h + "%)" : i.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)", d = b.clone().addClass("BWFilter BWfade"), x(e)), d.css(i).prependTo(c), !a.support.opacity && g && d.animate({ opacity: 0 }, 0) }, 241 D = function() { c.each(function(b, c) { var d = a(c).find("img"), 242 e = a(d).width(), 243 f = a(d).height(); 244 a(this).find("canvas").css({ width: e, height: f }) }) }, 245 E = function() { var b = c.find("img").filter(function() { return !a(this).data("_b&w") }).length; 246 c.each(function(c, d) { var e = a(d), 247 f = e.find("img"); 248 f.data("_b&w") || (A(f[0]) ? (b--, C(f, e)) : f.on("load", function() { return f.data("_b&w_loaded") || !f[0].complete ? void setTimeout(function() { f.load() }, 20) : (C(f, e), f.data("_b&w_loaded", !0), b--, void y(b)) }).load(), f.data("_b&w", !0)) }), y(b), e && c.unbind(l).on("mouseleave" + l, v).on("mouseenter" + l, w), q && !p && k.unbind(l).on("resize" + l + " orientationchange" + l, D) }, 249 F = function() { c.off(l), k.off(l) }; return E(), { destroy: F } } }) }(jQuery); 250 251/** 252 * imagesLoaded 253 * required for: Isotope 254 * 4.1.4 | http://imagesloaded.desandro.com/ 255 */ 256 257! function(e, t) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", t) : "object" == typeof module && module.exports ? module.exports = t() : e.EvEmitter = t() }("undefined" != typeof window ? window : this, function() { 258 function e() {} var t = e.prototype; return t.on = function(e, t) { if (e && t) { var i = this._events = this._events || {}, 259 n = i[e] = i[e] || []; return n.indexOf(t) == -1 && n.push(t), this } }, t.once = function(e, t) { if (e && t) { this.on(e, t); var i = this._onceEvents = this._onceEvents || {}, 260 n = i[e] = i[e] || {}; return n[t] = !0, this } }, t.off = function(e, t) { var i = this._events && this._events[e]; if (i && i.length) { var n = i.indexOf(t); return n != -1 && i.splice(n, 1), this } }, t.emitEvent = function(e, t) { var i = this._events && this._events[e]; if (i && i.length) { i = i.slice(0), t = t || []; for (var n = this._onceEvents && this._onceEvents[e], o = 0; o < i.length; o++) { var r = i[o], 261 s = n && n[r]; 262 s && (this.off(e, r), delete n[r]), r.apply(this, t) } return this } }, t.allOff = function() { delete this._events, delete this._onceEvents }, e }), 263function(e, t) { "use strict"; "function" == typeof define && define.amd ? define(["ev-emitter/ev-emitter"], function(i) { return t(e, i) }) : "object" == typeof module && module.exports ? module.exports = t(e, require("ev-emitter")) : e.imagesLoaded = t(e, e.EvEmitter) }("undefined" != typeof window ? window : this, function(e, t) { 264 function i(e, t) { for (var i in t) e[i] = t[i]; return e } 265 266 function n(e) { if (Array.isArray(e)) return e; var t = "object" == typeof e && "number" == typeof e.length; return t ? d.call(e) : [e] } 267 268 function o(e, t, r) { if (!(this instanceof o)) return new o(e, t, r); var s = e; return "string" == typeof e && (s = document.querySelectorAll(e)), s ? (this.elements = n(s), this.options = i({}, this.options), "function" == typeof t ? r = t : i(this.options, t), r && this.on("always", r), this.getImages(), h && (this.jqDeferred = new h.Deferred), void setTimeout(this.check.bind(this))) : void a.error("Bad element for imagesLoaded " + (s || e)) } 269 270 function r(e) { this.img = e } 271 272 function s(e, t) { this.url = e, this.element = t, this.img = new Image } var h = e.jQuery, 273 a = e.console, 274 d = Array.prototype.slice; 275 o.prototype = Object.create(t.prototype), o.prototype.options = {}, o.prototype.getImages = function() { this.images = [], this.elements.forEach(this.addElementImages, this) }, o.prototype.addElementImages = function(e) { "IMG" == e.nodeName && this.addImage(e), this.options.background === !0 && this.addElementBackgroun
vendor: 5,836 bytes, lines 275-307
275dImages(e); var t = e.nodeType; if (t && u[t]) { for (var i = e.querySelectorAll("img"), n = 0; n < i.length; n++) { var o = i[n]; 276 this.addImage(o) } if ("string" == typeof this.options.background) { var r = e.querySelectorAll(this.options.background); for (n = 0; n < r.length; n++) { var s = r[n]; 277 this.addElementBackgroundImages(s) } } } }; var u = { 1: !0, 9: !0, 11: !0 }; return o.prototype.addElementBackgroundImages = function(e) { var t = getComputedStyle(e); if (t) 278 for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(t.backgroundImage); null !== n;) { var o = n && n[2]; 279 o && this.addBackground(o, e), n = i.exec(t.backgroundImage) } }, o.prototype.addImage = function(e) { var t = new r(e); 280 this.images.push(t) }, o.prototype.addBackground = function(e, t) { var i = new s(e, t); 281 this.images.push(i) }, o.prototype.check = function() { 282 function e(e, i, n) { setTimeout(function() { t.progress(e, i, n) }) } var t = this; return this.progressedCount = 0, this.hasAnyBroken = !1, this.images.length ? void this.images.forEach(function(t) { t.once("progress", e), t.check() }) : void this.complete() }, o.prototype.progress = function(e, t, i) { this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !e.isLoaded, this.emitEvent("progress", [this, e, t]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, e), this.progressedCount == this.images.length && this.complete(), this.options.debug && a && a.log("progress: " + i, e, t) }, o.prototype.complete = function() { var e = this.hasAnyBroken ? "fail" : "done"; if (this.isComplete = !0, this.emitEvent(e, [this]), this.emitEvent("always", [this]), this.jqDeferred) { var t = this.hasAnyBroken ? "reject" : "resolve"; 283 this.jqDeferred[t](this) } }, r.prototype = Object.create(t.prototype), r.prototype.check = function() { var e = this.getIsImageComplete(); return e ? void this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image, this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), void(this.proxyImage.src = this.img.src)) }, r.prototype.getIsImageComplete = function() { return this.img.complete && this.img.naturalWidth }, r.prototype.confirm = function(e, t) { this.isLoaded = e, this.emitEvent("progress", [this, this.img, t]) }, r.prototype.handleEvent = function(e) { var t = "on" + e.type; 284 this[t] && this[t](e) }, r.prototype.onload = function() { this.confirm(!0, "onload"), this.unbindEvents() }, r.prototype.onerror = function() { this.confirm(!1, "onerror"), this.unbindEvents() }, r.prototype.unbindEvents = function() { this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) }, s.prototype = Object.create(r.prototype), s.prototype.check = function() { this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url; var e = this.getIsImageComplete(); 285 e && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents()) }, s.prototype.unbindEvents = function() { this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) }, s.prototype.confirm = function(e, t) { this.isLoaded = e, this.emitEvent("progress", [this, this.element, t]) }, o.makeJQueryPlugin = function(t) { t = t || e.jQuery, t && (h = t, h.fn.imagesLoaded = function(e, t) { var i = new o(this, e, t); return i.jqDeferred.promise(h(this)) }) }, o.makeJQueryPlugin(), o }); 286 287/** 288 * Isotope 289 * 3.0.6 | https://isotope.metafizzy.co 290 */ 291 292! function(t, e) { "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery) }(window, function(t, e) { "use strict"; 293 294 function i(i, s, a) { 295 function u(t, e, o) { var n, s = "$()." + i + '("' + e + '")'; return t.each(function(t, u) { var h = a.data(u, i); if (!h) return void r(i + " not initialized. Cannot call methods, i.e. " + s); var d = h[e]; if (!d || "_" == e.charAt(0)) return void r(s + " is not a valid method"); var l = d.apply(h, o); 296 n = void 0 === n ? l : n }), void 0 !== n ? n : t } 297 298 function h(t, e) { t.each(function(t, o) { var n = a.data(o, i); 299 n ? (n.option(e), n._init()) : (n = new s(o, e), a.data(o, i, n)) }) } a = a || e || t.jQuery, a && (s.prototype.option || (s.prototype.option = function(t) { a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) }), a.fn[i] = function(t) { if ("string" == typeof t) { var e = n.call(arguments, 1); return u(this, t, e) } return h(this, t), this }, o(a)) } 300 301 function o(t) {!t || t && t.bridget || (t.bridget = i) } var n = Array.prototype.slice, 302 s = t.console, 303 r = "undefined" == typeof s ? function() {} : function(t) { s.error(t) }; return o(e || t.jQuery), i }), 304function(t, e) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }("undefined" != typeof window ? window : this, function() { 305 function t() {} var e = t.prototype; return e.on = function(t, e) { if (t && e) { var i = this._events = this._events || {}, 306 o = i[t] = i[t] || []; return o.indexOf(e) == -1 && o.push(e), this } }, e.once = function(t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {}, 307 o = i[t] = i[t] || {};
vendor: 9,661 bytes, lines 307-399
307 return o[e] = !0, this } }, e.off = function(t, e) { var i = this._events && this._events[t]; if (i && i.length) { var o = i.indexOf(e); return o != -1 && i.splice(o, 1), this } }, e.emitEvent = function(t, e) { var i = this._events && this._events[t]; if (i && i.length) { i = i.slice(0), e = e || []; for (var o = this._onceEvents && this._onceEvents[t], n = 0; n < i.length; n++) { var s = i[n], 308 r = o && o[s]; 309 r && (this.off(t, s), delete o[s]), s.apply(this, e) } return this } }, e.allOff = function() { delete this._events, delete this._onceEvents }, t }), 310function(t, e) { "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function() { "use strict"; 311 312 function t(t) { var e = parseFloat(t), 313 i = t.indexOf("%") == -1 && !isNaN(e); return i && e } 314 315 function e() {} 316 317 function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; e < h; e++) { var i = u[e]; 318 t[i] = 0 } return t } 319 320 function o(t) { var e = getComputedStyle(t); return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e } 321 322 function n() { if (!d) { d = !0; var e = document.createElement("div"); 323 e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style.boxSizing = "border-box"; var i = document.body || document.documentElement; 324 i.appendChild(e); var n = o(e); 325 r = 200 == Math.round(t(n.width)), s.isBoxSizeOuter = r, i.removeChild(e) } } 326 327 function s(e) { if (n(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType) { var s = o(e); if ("none" == s.display) return i(); var a = {}; 328 a.width = e.offsetWidth, a.height = e.offsetHeight; for (var d = a.isBorderBox = "border-box" == s.boxSizing, l = 0; l < h; l++) { var f = u[l], 329 c = s[f], 330 m = parseFloat(c); 331 a[f] = isNaN(m) ? 0 : m } var p = a.paddingLeft + a.paddingRight, 332 y = a.paddingTop + a.paddingBottom, 333 g = a.marginLeft + a.marginRight, 334 v = a.marginTop + a.marginBottom, 335 _ = a.borderLeftWidth + a.borderRightWidth, 336 z = a.borderTopWidth + a.borderBottomWidth, 337 I = d && r, 338 x = t(s.width); 339 x !== !1 && (a.width = x + (I ? 0 : p + _)); var S = t(s.height); return S !== !1 && (a.height = S + (I ? 0 : y + z)), a.innerWidth = a.width - (p + _), a.innerHeight = a.height - (y + z), a.outerWidth = a.width + g, a.outerHeight = a.height + v, a } } var r, a = "undefined" == typeof console ? e : function(t) { console.error(t) }, 340 u = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], 341 h = u.length, 342 d = !1; return s }), 343function(t, e) { "use strict"; "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function() { "use strict"; var t = function() { var t = window.Element.prototype; if (t.matches) return "matches"; if (t.matchesSelector) return "matchesSelector"; for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { var o = e[i], 344 n = o + "MatchesSelector"; if (t[n]) return n } }(); return function(e, i) { return e[t](i) } }), 345function(t, e) { "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function(i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector) }(window, function(t, e) { var i = {}; 346 i.extend = function(t, e) { for (var i in e) t[i] = e[i]; return t }, i.modulo = function(t, e) { return (t % e + e) % e }; var o = Array.prototype.slice; 347 i.makeArray = function(t) { if (Array.isArray(t)) return t; if (null === t || void 0 === t) return []; var e = "object" == typeof t && "number" == typeof t.length; return e ? o.call(t) : [t] }, i.removeFrom = function(t, e) { var i = t.indexOf(e); 348 i != -1 && t.splice(i, 1) }, i.getParent = function(t, i) { for (; t.parentNode && t != document.body;) 349 if (t = t.parentNode, e(t, i)) return t }, i.getQueryElement = function(t) { return "string" == typeof t ? document.querySelector(t) : t }, i.handleEvent = function(t) { var e = "on" + t.type; 350 this[e] && this[e](t) }, i.filterFindElements = function(t, o) { t = i.makeArray(t); var n = []; return t.forEach(function(t) { if (t instanceof HTMLElement) { if (!o) return void n.push(t); 351 e(t, o) && n.push(t); for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++) n.push(i[s]) } }), n }, i.debounceMethod = function(t, e, i) { i = i || 100; var o = t.prototype[e], 352 n = e + "Timeout"; 353 t.prototype[e] = function() { var t = this[n]; 354 clearTimeout(t); var e = arguments, 355 s = this; 356 this[n] = setTimeout(function() { o.apply(s, e), delete s[n] }, i) } }, i.docReady = function(t) { var e = document.readyState; "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) }, i.toDashed = function(t) { return t.replace(/(.)([A-Z])/g, function(t, e, i) { return e + "-" + i }).toLowerCase() }; var n = t.console; return i.htmlInit = function(e, o) { i.docReady(function() { var s = i.toDashed(o), 357 r = "data-" + s, 358 a = document.querySelectorAll("[" + r + "]"), 359 u = document.querySelectorAll(".js-" + s), 360 h = i.makeArray(a).concat(i.makeArray(u)), 361 d = r + "-options", 362 l = t.jQuery; 363 h.forEach(function(t) { var i, s = t.getAttribute(r) || t.getAttribute(d); try { i = s && JSON.parse(s) } catch (a) { return void(n && n.error("Error parsing " + r + " on " + t.className + ": " + a)) } var u = new e(t, i); 364 l && l.data(t, o, u) }) }) }, i }), 365function(t, e) { "function" == typeof define && define.amd ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("get-size")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)) }(window, function(t, e) { "use strict"; 366 367 function i(t) { for (var e in t) return !1; return e = null, !0 } 368 369 function o(t, e) { t && (this.element = t, this.layout = e, this.position = { x: 0, y: 0 }, this._create()) } 370 371 function n(t) { return t.replace(/([A-Z])/g, function(t) { return "-" + t.toLowerCase() }) } var s = document.documentElement.style, 372 r = "string" == typeof s.transition ? "transition" : "WebkitTransition", 373 a = "string" == typeof s.transform ? "transform" : "WebkitTransform", 374 u = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" } [r], 375 h = { transform: a, transition: r, transitionDuration: r + "Duration", transitionProperty: r + "Property", transitionDelay: r + "Delay" }, 376 d = o.prototype = Object.create(t.prototype); 377 d.constructor = o, d._create = function() { this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, this.css({ position: "absolute" }) }, d.handleEvent = function(t) { var e = "on" + t.type; 378 this[e] && this[e](t) }, d.getSize = function() { this.size = e(this.element) }, d.css = function(t) { var e = this.element.style; for (var i in t) { var o = h[i] || i; 379 e[o] = t[i] } }, d.getPosition = function() { var t = getComputedStyle(this.element), 380 e = this.layout._getOption("originLeft"), 381 i = this.layout._getOption("originTop"), 382 o = t[e ? "left" : "right"], 383 n = t[i ? "top" : "bottom"], 384 s = parseFloat(o), 385 r = parseFloat(n), 386 a = this.layout.size; 387 o.indexOf("%") != -1 && (s = s / 100 * a.width), n.indexOf("%") != -1 && (r = r / 100 * a.height), s = isNaN(s) ? 0 : s, r = isNaN(r) ? 0 : r, s -= e ? a.paddingLeft : a.paddingRight, r -= i ? a.paddingTop : a.paddingBottom, this.position.x = s, this.position.y = r }, d.layoutPosition = function() { var t = this.layout.size, 388 e = {}, 389 i = this.layout._getOption("originLeft"), 390 o = this.layout._getOption("originTop"), 391 n = i ? "paddingLeft" : "paddingRight", 392 s = i ? "left" : "right", 393 r = i ? "right" : "left", 394 a = this.position.x + t[n]; 395 e[s] = this.getXValue(a), e[r] = ""; var u = o ? "paddingTop" : "paddingBottom", 396 h = o ? "top" : "bottom", 397 d = o ? "bottom" : "top", 398 l = this.position.y + t[u]; 399 e[h] = this.getYValue(l), e[d] = "", this.css(e), this.emitEvent("layout", [this]) }, d.getXValue = function(t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + "%" : t + "px" }, d.getYValue = function(t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + "%" : t + "px" }
vendor: 7,622 bytes, lines 399-443
399, d._transitionTo = function(t, e) { this.getPosition(); var i = this.position.x, 400 o = this.position.y, 401 n = t == this.position.x && e == this.position.y; if (this.setPosition(t, e), n && !this.isTransitioning) return void this.layoutPosition(); var s = t - i, 402 r = e - o, 403 a = {}; 404 a.transform = this.getTranslate(s, r), this.transition({ to: a, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }) }, d.getTranslate = function(t, e) { var i = this.layout._getOption("originLeft"), 405 o = this.layout._getOption("originTop"); return t = i ? t : -t, e = o ? e : -e, "translate3d(" + t + "px, " + e + "px, 0)" }, d.goTo = function(t, e) { this.setPosition(t, e), this.layoutPosition() }, d.moveTo = d._transitionTo, d.setPosition = function(t, e) { this.position.x = parseFloat(t), this.position.y = parseFloat(e) }, d._nonTransition = function(t) { this.css(t.to), t.isCleaning && this._removeStyles(t.to); for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) }, d.transition = function(t) { if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); var e = this._transn; for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); if (t.from) { this.css(t.from); var o = this.element.offsetHeight; 406 o = null } this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 }; var l = "opacity," + n(a); 407 d.enableTransition = function() { if (!this.isTransitioning) { var t = this.layout.options.transitionDuration; 408 t = "number" == typeof t ? t + "ms" : t, this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(u, this, !1) } }, d.onwebkitTransitionEnd = function(t) { this.ontransitionend(t) }, d.onotransitionend = function(t) { this.ontransitionend(t) }; var f = { "-webkit-transform": "transform" }; 409 d.ontransitionend = function(t) { if (t.target === this.element) { var e = this._transn, 410 o = f[t.propertyName] || t.propertyName; if (delete e.ingProperties[o], i(e.ingProperties) && this.disableTransition(), o in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[o]), o in e.onEnd) { var n = e.onEnd[o]; 411 n.call(this), delete e.onEnd[o] } this.emitEvent("transitionEnd", [this]) } }, d.disableTransition = function() { this.removeTransitionStyles(), this.element.removeEventListener(u, this, !1), this.isTransitioning = !1 }, d._removeStyles = function(t) { var e = {}; for (var i in t) e[i] = ""; 412 this.css(e) }; var c = { transitionProperty: "", transitionDuration: "", transitionDelay: "" }; return d.removeTransitionStyles = function() { this.css(c) }, d.stagger = function(t) { t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms" }, d.removeElem = function() { this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]) }, d.remove = function() { return r && parseFloat(this.layout.options.transitionDuration) ? (this.once("transitionEnd", function() { this.removeElem() }), void this.hide()) : void this.removeElem() }, d.reveal = function() { delete this.isHidden, this.css({ display: "" }); var t = this.layout.options, 413 e = {}, 414 i = this.getHideRevealTransitionEndProperty("visibleStyle"); 415 e[i] = this.onRevealTransitionEnd, this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onRevealTransitionEnd = function() { this.isHidden || this.emitEvent("reveal") }, d.getHideRevealTransitionEndProperty = function(t) { var e = this.layout.options[t]; if (e.opacity) return "opacity"; for (var i in e) return i }, d.hide = function() { this.isHidden = !0, this.css({ display: "" }); var t = this.layout.options, 416 e = {}, 417 i = this.getHideRevealTransitionEndProperty("hiddenStyle"); 418 e[i] = this.onHideTransitionEnd, this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onHideTransitionEnd = function() { this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide")) }, d.destroy = function() { this.css({ position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: "" }) }, o }), 419function(t, e) { "use strict"; "function" == typeof define && define.amd ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function(i, o, n, s) { return e(t, i, o, n, s) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) }(window, function(t, e, i, o, n) { "use strict"; 420 421 function s(t, e) { var i = o.getQueryElement(t); if (!i) return void(u && u.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); 422 this.element = i, h && (this.$element = h(this.element)), this.options = o.extend({}, this.constructor.defaults), this.option(e); var n = ++l; 423 this.element.outlayerGUID = n, f[n] = this, this._create(); var s = this._getOption("initLayout"); 424 s && this.layout() } 425 426 function r(t) { 427 function e() { t.apply(this, arguments) } return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e } 428 429 function a(t) { if ("number" == typeof t) return t; var e = t.match(/(^\d*\.?\d*)(\w*)/), 430 i = e && e[1], 431 o = e && e[2]; if (!i.length) return 0; 432 i = parseFloat(i); var n = m[o] || 1; return i * n } var u = t.console, 433 h = t.jQuery, 434 d = function() {}, 435 l = 0, 436 f = {}; 437 s.namespace = "outlayer", s.Item = n, s.defaults = { containerStyle: { position: "relative" }, initLayout: !0, originLeft: !0, originTop: !0, resize: !0, resizeContainer: !0, transitionDuration: "0.4s", hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, visibleStyle: { opacity: 1, transform: "scale(1)" } }; var c = s.prototype; 438 o.extend(c, e.prototype), c.option = function(t) { o.extend(this.options, t) }, c._getOption = function(t) { var e = this.constructor.compatOptions[t]; return e && void 0 !== this.options[e] ? this.options[e] : this.options[t] }, s.compatOptions = { initLayout: "isInitLayout", horizontal: "isHorizontal", layoutInstant: "isLayoutInstant", originLeft: "isOriginLeft", originTop: "isOriginTop", resize: "isResizeBound", resizeContainer: "isResizingContainer" }, c._create = function() { this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), o.extend(this.element.style, this.options.containerStyle); var t = this._getOption("resize"); 439 t && this.bindResize() }, c.reloadItems = function() { this.items = this._itemize(this.element.children) }, c._itemize = function(t) { for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0; n < e.length; n++) { var s = e[n], 440 r = new i(s, this); 441 o.push(r) } return o }, c._filterFindItemElements = function(t) { return o.filterFindElements(t, this.options.itemSelector) }, c.getItemElements = function() { return this.items.map(function(t) { return t.element }) }, c.layout = function() { this._resetLayout(), this._manageStamps(); var t = this._getOption("layoutInstant"), 442 e = void 0 !== t ? t : !this._isLayoutInited; 443 this.layoutItems(this.items, e), this._isLayoutInited = !0 }
vendor: 22,500 bytes, lines 443-568
443, c._init = c.layout, c._resetLayout = function() { this.getSize() }, c.getSize = function() { this.size = i(this.element) }, c._getMeasurement = function(t, e) { var o, n = this.options[t]; 444 n ? ("string" == typeof n ? o = this.element.querySelector(n) : n instanceof HTMLElement && (o = n), this[t] = o ? i(o)[e] : n) : this[t] = 0 }, c.layoutItems = function(t, e) { t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() }, c._getItemsForLayout = function(t) { return t.filter(function(t) { return !t.isIgnored }) }, c._layoutItems = function(t, e) { if (this._emitCompleteOnItems("layout", t), t && t.length) { var i = []; 445 t.forEach(function(t) { var o = this._getItemLayoutPosition(t); 446 o.item = t, o.isInstant = e || t.isLayoutInstant, i.push(o) }, this), this._processLayoutQueue(i) } }, c._getItemLayoutPosition = function() { return { x: 0, y: 0 } }, c._processLayoutQueue = function(t) { this.updateStagger(), t.forEach(function(t, e) { this._positionItem(t.item, t.x, t.y, t.isInstant, e) }, this) }, c.updateStagger = function() { var t = this.options.stagger; return null === t || void 0 === t ? void(this.stagger = 0) : (this.stagger = a(t), this.stagger) }, c._positionItem = function(t, e, i, o, n) { o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i)) }, c._postLayout = function() { this.resizeContainer() }, c.resizeContainer = function() { var t = this._getOption("resizeContainer"); if (t) { var e = this._getContainerSize(); 447 e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)) } }, c._getContainerSize = d, c._setContainerMeasure = function(t, e) { if (void 0 !== t) { var i = this.size; 448 i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" } }, c._emitCompleteOnItems = function(t, e) { 449 function i() { n.dispatchEvent(t + "Complete", null, [e]) } 450 451 function o() { r++, r == s && i() } var n = this, 452 s = e.length; if (!e || !s) return void i(); var r = 0; 453 e.forEach(function(e) { e.once(t, o) }) }, c.dispatchEvent = function(t, e, i) { var o = e ? [e].concat(i) : i; if (this.emitEvent(t, o), h) 454 if (this.$element = this.$element || h(this.element), e) { var n = h.Event(e); 455 n.type = t, this.$element.trigger(n, i) } else this.$element.trigger(t, i) }, c.ignore = function(t) { var e = this.getItem(t); 456 e && (e.isIgnored = !0) }, c.unignore = function(t) { var e = this.getItem(t); 457 e && delete e.isIgnored }, c.stamp = function(t) { t = this._find(t), t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)) }, c.unstamp = function(t) { t = this._find(t), t && t.forEach(function(t) { o.removeFrom(this.stamps, t), this.unignore(t) }, this) }, c._find = function(t) { if (t) return "string" == typeof t && (t = this.element.querySelectorAll(t)), t = o.makeArray(t) }, c._manageStamps = function() { this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)) }, c._getBoundingRect = function() { var t = this.element.getBoundingClientRect(), 458 e = this.size; 459 this._boundingRect = { left: t.left + e.paddingLeft + e.borderLeftWidth, top: t.top + e.paddingTop + e.borderTopWidth, right: t.right - (e.paddingRight + e.borderRightWidth), bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) } }, c._manageStamp = d, c._getElementOffset = function(t) { var e = t.getBoundingClientRect(), 460 o = this._boundingRect, 461 n = i(t), 462 s = { left: e.left - o.left - n.marginLeft, top: e.top - o.top - n.marginTop, right: o.right - e.right - n.marginRight, bottom: o.bottom - e.bottom - n.marginBottom }; return s }, c.handleEvent = o.handleEvent, c.bindResize = function() { t.addEventListener("resize", this), this.isResizeBound = !0 }, c.unbindResize = function() { t.removeEventListener("resize", this), this.isResizeBound = !1 }, c.onresize = function() { this.resize() }, o.debounceMethod(s, "onresize", 100), c.resize = function() { this.isResizeBound && this.needsResizeLayout() && this.layout() }, c.needsResizeLayout = function() { var t = i(this.element), 463 e = this.size && t; return e && t.innerWidth !== this.size.innerWidth }, c.addItems = function(t) { var e = this._itemize(t); return e.length && (this.items = this.items.concat(e)), e }, c.appended = function(t) { var e = this.addItems(t); 464 e.length && (this.layoutItems(e, !0), this.reveal(e)) }, c.prepended = function(t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); 465 this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) } }, c.reveal = function(t) { if (this._emitCompleteOnItems("reveal", t), t && t.length) { var e = this.updateStagger(); 466 t.forEach(function(t, i) { t.stagger(i * e), t.reveal() }) } }, c.hide = function(t) { if (this._emitCompleteOnItems("hide", t), t && t.length) { var e = this.updateStagger(); 467 t.forEach(function(t, i) { t.stagger(i * e), t.hide() }) } }, c.revealItemElements = function(t) { var e = this.getItems(t); 468 this.reveal(e) }, c.hideItemElements = function(t) { var e = this.getItems(t); 469 this.hide(e) }, c.getItem = function(t) { for (var e = 0; e < this.items.length; e++) { var i = this.items[e]; if (i.element == t) return i } }, c.getItems = function(t) { t = o.makeArray(t); var e = []; return t.forEach(function(t) { var i = this.getItem(t); 470 i && e.push(i) }, this), e }, c.remove = function(t) { var e = this.getItems(t); 471 this._emitCompleteOnItems("remove", e), e && e.length && e.forEach(function(t) { t.remove(), o.removeFrom(this.items, t) }, this) }, c.destroy = function() { var t = this.element.style; 472 t.height = "", t.position = "", t.width = "", this.items.forEach(function(t) { t.destroy() }), this.unbindResize(); var e = this.element.outlayerGUID; 473 delete f[e], delete this.element.outlayerGUID, h && h.removeData(this.element, this.constructor.namespace) }, s.data = function(t) { t = o.getQueryElement(t); var e = t && t.outlayerGUID; return e && f[e] }, s.create = function(t, e) { var i = r(s); return i.defaults = o.extend({}, s.defaults), o.extend(i.defaults, e), i.compatOptions = o.extend({}, s.compatOptions), i.namespace = t, i.data = s.data, i.Item = r(n), o.htmlInit(i, t), h && h.bridget && h.bridget(t, i), i }; var m = { ms: 1, s: 1e3 }; return s.Item = n, s }), 474function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer)) }(window, function(t) { "use strict"; 475 476 function e() { t.Item.apply(this, arguments) } var i = e.prototype = Object.create(t.Item.prototype), 477 o = i._create; 478 i._create = function() { this.id = this.layout.itemGUID++, o.call(this), this.sortData = {} }, i.updateSortData = function() { if (!this.isIgnored) { this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random(); var t = this.layout.options.getSortData, 479 e = this.layout._sorters; for (var i in t) { var o = e[i]; 480 this.sortData[i] = o(this.element, this) } } }; var n = i.destroy; return i.destroy = function() { n.apply(this, arguments), this.css({ display: "" }) }, e }), 481function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("get-size"), require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)) }(window, function(t, e) { "use strict"; 482 483 function i(t) { this.isotope = t, t && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size) } var o = i.prototype, 484 n = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout", "_getOption"]; return n.forEach(function(t) { o[t] = function() { return e.prototype[t].apply(this.isotope, arguments) } }), o.needsVerticalResizeLayout = function() { var e = t(this.isotope.element), 485 i = this.isotope.size && e; return i && e.innerHeight != this.isotope.size.innerHeight }, o._getMeasurement = function() { this.isotope._getMeasurement.apply(this, arguments) }, o.getColumnWidth = function() { this.getSegmentSize("column", "Width") }, o.getRowHeight = function() { this.getSegmentSize("row", "Height") }, o.getSegmentSize = function(t, e) { var i = t + e, 486 o = "outer" + e; if (this._getMeasurement(i, o), !this[i]) { var n = this.getFirstItemSize(); 487 this[i] = n && n[o] || this.isotope.size["inner" + e] } }, o.getFirstItemSize = function() { var e = this.isotope.filteredItems[0]; return e && e.element && t(e.element) }, o.layout = function() { this.isotope.layout.apply(this.isotope, arguments) }, o.getSize = function() { this.isotope.getSize(), this.size = this.isotope.size }, i.modes = {}, i.create = function(t, e) { 488 function n() { i.apply(this, arguments) } return n.prototype = Object.create(o), n.prototype.constructor = n, e && (n.options = e), n.prototype.namespace = t, i.modes[t] = n, n }, i }), 489function(t, e) { "function" == typeof define && define.amd ? define("masonry-layout/masonry", ["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize) }(window, function(t, e) { var i = t.create("masonry"); 490 i.compatOptions.fitWidth = "isFitWidth"; var o = i.prototype; return o._resetLayout = function() { this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = []; for (var t = 0; t < this.cols; t++) this.colYs.push(0); 491 this.maxY = 0, this.horizontalColIndex = 0 }, o.measureColumns = function() { if (this.getContainerWidth(), !this.columnWidth) { var t = this.items[0], 492 i = t && t.element; 493 this.columnWidth = i && e(i).outerWidth || this.containerWidth } var o = this.columnWidth += this.gutter, 494 n = this.containerWidth + this.gutter, 495 s = n / o, 496 r = o - n % o, 497 a = r && r < 1 ? "round" : "floor"; 498 s = Math[a](s), this.cols = Math.max(s, 1) }, o.getContainerWidth = function() { var t = this._getOption("fitWidth"), 499 i = t ? this.element.parentNode : this.element, 500 o = e(i); 501 this.containerWidth = o && o.innerWidth }, o._getItemLayoutPosition = function(t) { t.getSize(); var e = t.size.outerWidth % this.columnWidth, 502 i = e && e < 1 ? "round" : "ceil", 503 o = Math[i](t.size.outerWidth / this.columnWidth); 504 o = Math.min(o, this.cols); for (var n = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", s = this[n](o, t), r = { x: this.columnWidth * s.col, y: s.y }, a = s.y + t.size.outerHeight, u = o + s.col, h = s.col; h < u; h++) this.colYs[h] = a; return r }, o._getTopColPosition = function(t) { var e = this._getTopColGroup(t), 505 i = Math.min.apply(Math, e); return { col: e.indexOf(i), y: i } }, o._getTopColGroup = function(t) { if (t < 2) return this.colYs; for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) e[o] = this._getColGroupY(o, t); return e }, o._getColGroupY = function(t, e) { if (e < 2) return this.colYs[t]; var i = this.colYs.slice(t, t + e); return Math.max.apply(Math, i) }, o._getHorizontalColPosition = function(t, e) { var i = this.horizontalColIndex % this.cols, 506 o = t > 1 && i + t > this.cols; 507 i = o ? 0 : i; var n = e.size.outerWidth && e.size.outerHeight; return this.horizontalColIndex = n ? i + t : this.horizontalColIndex, { col: i, y: this._getColGroupY(i, t) } }, o._manageStamp = function(t) { var i = e(t), 508 o = this._getElementOffset(t), 509 n = this._getOption("originLeft"), 510 s = n ? o.left : o.right, 511 r = s + i.outerWidth, 512 a = Math.floor(s / this.columnWidth); 513 a = Math.max(0, a); var u = Math.floor(r / this.columnWidth); 514 u -= r % this.columnWidth ? 0 : 1, u = Math.min(this.cols - 1, u); for (var h = this._getOption("originTop"), d = (h ? o.top : o.bottom) + i.outerHeight, l = a; l <= u; l++) this.colYs[l] = Math.max(d, this.colYs[l]) }, o._getContainerSize = function() { this.maxY = Math.max.apply(Math, this.colYs); var t = { height: this.maxY }; return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t }, o._getContainerFitWidth = function() { for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++; return (this.cols - t) * this.columnWidth - this.gutter }, o.needsResizeLayout = function() { var t = this.containerWidth; return this.getContainerWidth(), t != this.containerWidth }, i }), 515function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/masonry", ["../layout-mode", "masonry-layout/masonry"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode"), require("masonry-layout")) : e(t.Isotope.LayoutMode, t.Masonry) }(window, function(t, e) { "use strict"; var i = t.create("masonry"), 516 o = i.prototype, 517 n = { _getElementOffset: !0, layout: !0, _getMeasurement: !0 }; for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]); var r = o.measureColumns; 518 o.measureColumns = function() { this.items = this.isotope.filteredItems, r.call(this) }; var a = o._getOption; return o._getOption = function(t) { return "fitWidth" == t ? void 0 !== this.options.isFitWidth ? this.options.isFitWidth : this.options.fitWidth : a.apply(this.isotope, arguments) }, i }), 519function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) }(window, function(t) { "use strict"; var e = t.create("fitRows"), 520 i = e.prototype; return i._resetLayout = function() { this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth") }, i._getItemLayoutPosition = function(t) { t.getSize(); var e = t.size.outerWidth + this.gutter, 521 i = this.isotope.size.innerWidth + this.gutter; 522 0 !== this.x && e + this.x > i && (this.x = 0, this.y = this.maxY); var o = { x: this.x, y: this.y }; return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, o }, i._getContainerSize = function() { return { height: this.maxY } }, e }), 523function(t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) }(window, function(t) { "use strict"; var e = t.create("vertical", { horizontalAlignment: 0 }), 524 i = e.prototype; return i._resetLayout = function() { this.y = 0 }, i._getItemLayoutPosition = function(t) { t.getSize(); var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment, 525 i = this.y; return this.y += t.size.outerHeight, { x: e, y: i } }, i._getContainerSize = function() { return { height: this.y } }, e }), 526function(t, e) { "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "desandro-matches-selector/matches-selector", "fizzy-ui-utils/utils", "isotope-layout/js/item", "isotope-layout/js/layout-mode", "isotope-layout/js/layout-modes/masonry", "isotope-layout/js/layout-modes/fit-rows", "isotope-layout/js/layout-modes/vertical"], function(i, o, n, s, r, a) { return e(t, i, o, n, s, r, a) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("fizzy-ui-utils"), require("isotope-layout/js/item"), require("isotope-layout/js/layout-mode"), require("isotope-layout/js/layout-modes/masonry"), require("isotope-layout/js/layout-modes/fit-rows"), require("isotope-layout/js/layout-modes/vertical")) : t.Isotope = e(t, t.Outlayer, t.getSize, t.matchesSelector, t.fizzyUIUtils, t.Isotope.Item, t.Isotope.LayoutMode) }(window, function(t, e, i, o, n, s, r) { 527 function a(t, e) { return function(i, o) { for (var n = 0; n < t.length; n++) { var s = t[n], 528 r = i.sortData[s], 529 a = o.sortData[s]; if (r > a || r < a) { var u = void 0 !== e[s] ? e[s] : e, 530 h = u ? 1 : -1; return (r > a ? 1 : -1) * h } } return 0 } } 531 var u = t.jQuery, 532 h = String.prototype.trim ? function(t) { return t.trim() } : function(t) { return t.replace(/^\s+|\s+$/g, "") }, 533 d = e.create("isotope", { layoutMode: "masonry", isJQueryFiltering: !0, sortAscending: !0 }); 534 d.Item = s, d.LayoutMode = r; 535 var l = d.prototype; 536 l._create = function() { this.itemGUID = 0, this._sorters = {}, this._getSorters(), e.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"]; for (var t in r.modes) this._initLayoutMode(t) }, l.reloadItems = function() { this.itemGUID = 0, e.prototype.reloadItems.call(this) }, l._itemize = function() { for (var t = e.prototype._itemize.apply(this, arguments), i = 0; i < t.length; i++) { var o = t[i]; 537 o.id = this.itemGUID++ } return this._updateItemsSortData(t), t }, l._initLayoutMode = function(t) { var e = r.modes[t], 538 i = this.options[t] || {}; 539 this.options[t] = e.options ? n.extend(e.options, i) : i, this.modes[t] = new e(this) }, l.layout = function() { return !this._isLayoutInited && this._getOption("initLayout") ? void this.arrange() : void this._layout() }, l._layout = function() { var t = this._getIsInstant(); 540 this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0 }, l.arrange = function(t) { this.option(t), this._getIsInstant(); var e = this._filter(this.items); 541 this.filteredItems = e.matches, this._bindArrangeComplete(), this._isInstant ? this._noTransition(this._hideReveal, [e]) : this._hideReveal(e), this._sort(), this._layout() }, l._init = l.arrange, l._hideReveal = function(t) { this.reveal(t.needReveal), this.hide(t.needHide) }, l._getIsInstant = function() { var t = this._getOption("layoutInstant"), 542 e = void 0 !== t ? t : !this._isLayoutInited; return this._isInstant = e, e }, l._bindArrangeComplete = function() { 543 function t() { e && i && o && n.dispatchEvent("arrangeComplete", null, [n.filteredItems]) } var e, i, o, n = this; 544 this.once("layoutComplete", function() { e = !0, t() }), this.once("hideComplete", function() { i = !0, t() }), this.once("revealComplete", function() { o = !0, t() }) }, l._filter = function(t) { var e = this.options.filter; 545 e = e || "*"; for (var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0; r < t.length; r++) { var a = t[r]; if (!a.isIgnored) { var u = s(a); 546 u && i.push(a), u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a) } } return { matches: i, needReveal: o, needHide: n } }, l._getFilterTest = function(t) { 547 return u && this.options.isJQueryFiltering ? function(e) { 548 return u(e.element).is(t); 549 } : "function" == typeof t ? function(e) { return t(e.element) } : function(e) { return o(e.element, t) } 550 }, l.updateSortData = function(t) { var e; 551 t ? (t = n.makeArray(t), e = this.getItems(t)) : e = this.items, this._getSorters(), this._updateItemsSortData(e) }, l._getSorters = function() { var t = this.options.getSortData; for (var e in t) { var i = t[e]; 552 this._sorters[e] = f(i) } }, l._updateItemsSortData = function(t) { for (var e = t && t.length, i = 0; e && i < e; i++) { var o = t[i]; 553 o.updateSortData() } }; 554 var f = function() { 555 function t(t) { if ("string" != typeof t) return t; var i = h(t).split(" "), 556 o = i[0], 557 n = o.match(/^\[(.+)\]$/), 558 s = n && n[1], 559 r = e(s, o), 560 a = d.sortDataParsers[i[1]]; return t = a ? function(t) { return t && a(r(t)) } : function(t) { return t && r(t) } } 561 562 function e(t, e) { return t ? function(e) { return e.getAttribute(t) } : function(t) { var i = t.querySelector(e); return i && i.textContent } } return t }(); 563 d.sortDataParsers = { parseInt: function(t) { return parseInt(t, 10) }, parseFloat: function(t) { return parseFloat(t) } }, l._sort = function() { if (this.options.sortBy) { var t = n.makeArray(this.options.sortBy); 564 this._getIsSameSortBy(t) || (this.sortHistory = t.concat(this.sortHistory)); var e = a(this.sortHistory, this.options.sortAscending); 565 this.filteredItems.sort(e) } }, l._getIsSameSortBy = function(t) { for (var e = 0; e < t.length; e++) 566 if (t[e] != this.sortHistory[e]) return !1; return !0 }, l._mode = function() { var t = this.options.layoutMode, 567 e = this.modes[t]; if (!e) throw new Error("No layout mode: " + t); return e.options = this.options[t], e }, l._resetLayout = function() { e.prototype._resetLayout.call(this), this._mode()._resetLayout() }, l._getItemLayoutPosition = function(t) { return this._mode()._getItemLayoutPosition(t) }, l._manageStamp = function(t) { this._mode()._manageStamp(t) }, l._getContainerSize = function() { return this._mode()._getContainerSize() }, l.needsResizeLayout = function() { return this._mode().needsResizeLayout() }, l.appended = function(t) { var e = this.addItems(t); if (e.length) { var i = this._filterRevealAdded(e); 568 this.filteredItems = this.filteredItems.concat(i) } }, l.prepended = function(t) { var e = this._itemize(t); if (e.length) { this._resetLayout(), this._manageStamps(); var i = this._filterRevea
568lAdded(e); 569 this.layoutItems(this.filteredItems), this.filteredItems = i.concat(this.filteredItems), this.items = e.concat(this.items) } }, l._filterRevealAdded = function(t) { var e = this._filter(t); return this.hide(e.needHide), this.reveal(e.matches), this.layoutItems(e.matches, !0), e.matches }, l.insert = function(t) { var e = this.addItems(t); if (e.length) { var i, o, n = e.length; for (i = 0; i < n; i++) o = e[i], this.element.appendChild(o.element); var s = this._filter(e).matches; for (i = 0; i < n; i++) e[i].isLayoutInstant = !0; for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant; 570 this.reveal(s) } }; 571 var c = l.remove; 572 return l.remove = function(t) { t = n.makeArray(t); var e = this.getItems(t); 573 c.call(this, t); for (var i = e && e.length, o = 0; i && o < i; o++) { var s = e[o]; 574 n.removeFrom(this.filteredItems, s) } }, l.shuffle = function() { for (var t = 0; t < this.items.length; t++) { var e = this.items[t]; 575 e.sortData.random = Math.random() } this.options.sortBy = "random", this._sort(), this._layout() }, l._noTransition = function(t, e) { var i = this.options.transitionDuration; 576 this.options.transitionDuration = 0; var o = t.apply(this, e); return this.options.transitionDuration = i, o }, l.getFilteredItemElements = function() { return this.filteredItems.map(function(t) { return t.element }) }, d 577}); 578 579/** 580 * Magnific Popup 581 * 1.1.0 | Dmitry Semenov | MIT | http://dimsemenov.com/plugins/magnific-popup/ 582 */ 583 584(function(a) { typeof define == "function" && define.amd ? define(["jquery"], a) : typeof exports == "object" ? a(require("jquery")) : a(window.jQuery || window.Zepto) })(function(a) { var b = "Close", 585 c = "BeforeClose", 586 d = "AfterClose", 587 e = "BeforeAppend", 588 f = "MarkupParse", 589 g = "Open", 590 h = "Change", 591 i = "mfp", 592 j = "." + i, 593 k = "mfp-ready", 594 l = "mfp-removing", 595 m = "mfp-prevent-close", 596 n, o = function() {}, 597 p = !!window.jQuery, 598 q, r = a(window), 599 s, t, u, v, w = function(a, b) { n.ev.on(i + a + j, b) }, 600 x = function(b, c, d, e) { var f = document.createElement("div"); return f.className = "mfp-" + b, d && (f.innerHTML = d), e ? c && c.appendChild(f) : (f = a(f), c && f.appendTo(c)), f }, 601 y = function(b, c) { n.ev.triggerHandler(i + b, c), n.st.callbacks && (b = b.charAt(0).toLowerCase() + b.slice(1), n.st.callbacks[b] && n.st.callbacks[b].apply(n, a.isArray(c) ? c : [c])) }, 602 z = function(b) { if (b !== v || !n.currTemplate.closeBtn) n.currTemplate.closeBtn = a(n.st.closeMarkup.replace("%title%", n.st.tClose)), v = b; return n.currTemplate.closeBtn }, 603 A = function() { a.magnificPopup.instance || (n = new o, n.init(), a.magnificPopup.instance = n) }, 604 B = function() { var a = document.createElement("p").style, 605 b = ["ms", "O", "Moz", "Webkit"]; if (a.transition !== undefined) return !0; while (b.length) 606 if (b.pop() + "Transition" in a) return !0; return !1 }; 607 o.prototype = { constructor: o, init: function() { var b = navigator.appVersion; 608 n.isLowIE = n.isIE8 = document.all && !document.addEventListener, n.isAndroid = /android/gi.test(b), n.isIOS = /iphone|ipad|ipod/gi.test(b), n.supportsTransition = B(), n.probablyMobile = n.isAndroid || n.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), s = a(document), n.popupsCache = {} }, open: function(b) { var c; if (b.isObj === !1) { n.items = b.items.toArray(), n.index = 0; var d = b.items, 609 e; for (c = 0; c < d.length; c++) { e = d[c], e.parsed && (e = e.el[0]); if (e === b.el[0]) { n.index = c; break } } } else n.items = a.isArray(b.items) ? b.items : [b.items], n.index = b.index || 0; if (n.isOpen) { n.updateItemHTML(); return } n.types = [], u = "", b.mainEl && b.mainEl.length ? n.ev = b.mainEl.eq(0) : n.ev = s, b.key ? (n.popupsCache[b.key] || (n.popupsCache[b.key] = {}), n.currTemplate = n.popupsCache[b.key]) : n.currTemplate = {}, n.st = a.extend(!0, {}, a.magnificPopup.defaults, b), n.fixedContentPos = n.st.fixedContentPos === "auto" ? !n.probablyMobile : n.st.fixedContentPos, n.st.modal && (n.st.closeOnContentClick = !1, n.st.closeOnBgClick = !1, n.st.showCloseBtn = !1, n.st.enableEscapeKey = !1), n.bgOverlay || (n.bgOverlay = x("bg").on("click" + j, function() { n.close() }), n.wrap = x("wrap").attr("tabindex", -1).on("click" + j, function(a) { n._checkIfClose(a.target) && n.close() }), n.container = x("container", n.wrap)), n.contentContainer = x("content"), n.st.preloader && (n.preloader = x("preloader", n.container, n.st.tLoading));
609 var h = a.magnificPopup.modules; for (c = 0; c < h.length; c++) { var i = h[c]; 610 i = i.charAt(0).toUpperCase() + i.slice(1), n["init" + i].call(n) } y("BeforeOpen"), n.st.showCloseBtn && (n.st.closeBtnInside ? (w(f, function(a, b, c, d) { c.close_replaceWith = z(d.type) }), u += " mfp-close-btn-in") : n.wrap.append(z())), n.st.alignTop && (u += " mfp-align-top"), n.fixedContentPos ? n.wrap.css({ overflow: n.st.overflowY, overflowX: "hidden", overflowY: n.st.overflowY }) : n.wrap.css({ top: r.scrollTop(), position: "absolute" }), (n.st.fixedBgPos === !1 || n.st.fixedBgPos === "auto" && !n.fixedContentPos) && n.bgOverlay.css({ height: s.height(), position: "absolute" }), n.st.enableEscapeKey && s.on("keyup" + j, function(a) { a.keyCode === 27 && n.close() }), r.on("resize" + j, function() { n.updateSize() }), n.st.closeOnContentClick || (u += " mfp-auto-cursor"), u && n.wrap.addClass(u); var l = n.wH = r.height(), 611 m = {}; if (n.fixedContentPos && n._hasScrollBar(l)) { var o = n._getScrollbarSize(); 612 o && (m.marginRight = o) } n.fixedContentPos && (n.isIE7 ? a("body, html").css("overflow", "hidden") : m.overflow = "hidden"); var p = n.st.mainClass; return n.isIE7 && (p += " mfp-ie7"), p && n._addClassToMFP(p), n.updateItemHTML(), y("BuildControls"), a("html").css(m), n.bgOverlay.add(n.wrap).prependTo(n.st.prependTo || a(document.body)), n._lastFocusedEl = document.activeElement, setTimeout(function() { n.content ? (n._addClassToMFP(k), n._setFocus()) : n.bgOverlay.addClass(k), s.on("focusin" + j, n._onFocusIn) }, 16), n.isOpen = !0, n.updateSize(l), y(g), b }, close: function() { if (!n.isOpen) return; 613 y(c), n.isOpen = !1, n.st.removalDelay && !n.isLowIE && n.supportsTransition ? (n._addClassToMFP(l), setTimeout(function() { n._close() }, n.st.removalDelay)) : n._close() }, _close: function() { y(b); var c = l + " " + k + " "; 614 n.bgOverlay.detach(), n.wrap.detach(), n.container.empty(), n.st.mainClass && (c += n.st.mainClass + " "), n._removeClassFromMFP(c); if (n.fixedContentPos) { var e = { marginRight: "" }; 615 n.isIE7 ? a("body, html").css("overflow", "") : e.overflow = "", a("html").css(e) } s.off("keyup" + j + " focusin" + j), n.ev.off(j), n.wrap.attr("class", "mfp-wrap").removeAttr("style"), n.bgOverlay.attr("class", "mfp-bg"), n.container.attr("class", "mfp-container"), n.st.showCloseBtn && (!n.st.closeBtnInside || n.currTemplate[n.currItem.type] === !0) && n.currTemplate.closeBtn && n.currTemplate.closeBtn.detach(), n.st.autoFocusLast && n._lastFocusedEl && a(n._lastFocusedEl).focus(), n.currItem = null, n.content = null, n.currTemplate = null, n.prevHeight = 0, y(d) }, updateSize: function(a) { if (n.isIOS) { var b = document.documentElement.clientWidth / window.innerWidth, 616 c = window.innerHeight * b; 617 n.wrap.css("height", c), n.wH = c } else n.wH = a || r.height(); 618 n.fixedContentPos || n.wrap.css("height", n.wH), y("Resize") }, updateItemHTML: function() { var b = n.items[n.index]; 619 n.contentContainer.detach(), n.content && n.content.detach(), b.parsed || (b = n.parseEl(n.index)); var c = b.type; 620 y("BeforeChange", [n.currItem ? n.currItem.type : "", c]), n.currItem = b; if (!n.currTemplate[c]) { var d = n.st[c] ? n.st[c].markup : !1; 621 y("FirstMarkupParse", d), d ? n.currTemplate[c] = a(d) : n.currTemplate[c] = !0 } t && t !== b.type && n.container.removeClass("mfp-" + t + "-holder"); var e = n["get" + c.charAt(0).toUpperCase() + c.slice(1)](b, n.currTemplate[c]); 622 n.appendContent(e, c), b.preloaded = !0, y(h, b), t = b.type, n.container.prepend(n.contentContainer), y("AfterChange") }, appendContent: function(a, b) { n.content = a, a ? n.st.showCloseBtn && n.st.closeBtnInside && n.currTemplate[b] === !0 ? n.content.find(".mfp-close").length || n.content.append(z()) : n.content = a : n.content = "", y(e), n.container.addClass("mfp-" + b + "-holder"), n.contentContainer.append(n.content) }, parseEl: function(b) { var c = n.items[b], 623 d; 624 c.tagName ? c = { el: a(c) } : (d = c.type, c = { data: c, src: c.src }); if (c.el) { var e = n.types; for (var f = 0; f < e.length; f++) 625 if (c.el.hasClass("mfp-" + e[f])) { d = e[f]; break } c.src = c.el.attr("data-mfp-src"), c.src || (c.src = c.el.attr("href")) } return c.type = d || n.st.type || "inline", c.index = b, c.parsed = !0, n.items[b] = c, y("ElementParse", c), n.items[b] }, addGroup: function(a, b) { var c = function(c) { c.mfpEl = this, n._openClick(c, a, b) }; 626 b || (b = {}); var d = "click.magnificPopup"; 627 b.mainEl = a, b.items ? (b.isObj = !0, a.off(d).on(d, c)) : (b.isObj = !1, b.delegate ? a.off(d).on(d, b.delegate, c) : (b.items = a, a.off(d).on(d, c))) }, _openClick: function(b, c, d) { var e = d.midClick !== undefined ? d.midClick : a.magnificPopup.defaults.midClick; if (!e && (b.which === 2 || b.ctrlKey || b.metaKey || b.altKey || b.shiftKey)) return; var f = d.disableOn !== undefined ? d.disableOn : a.magnificPopup.defaults.disableOn; if (f) 628 if (a.isFunction(f)) { if (!f.call(n)) return !0 } else if (r.width() < f) return !0; 629 b.type && (b.preventDefault(), n.isOpen && b.stopPropagation()), d.el = a(b.mfpEl), d.delegate && (d.items = c.find(d.delegate)), n.open(d) }, updateStatus: function(a, b) { if (n.preloader) { q !== a && n.container.removeClass("mfp-s-" + q), !b && a === "loading" && (b = n.st.tLoading); var c = { status: a, text: b }; 630 y("UpdateStatus", c), a = c.status, b = c.text, n.preloader.html(b), n.preloader.find("a").on("click", function(a) { a.stopImmediatePropagation() }), n.container.addClass("mfp-s-" + a), q = a } }, _checkIfClose: function(b) { if (a(b).hasClass(m)) return; var c = n.st.closeOnContentClick, 631 d = n.st.closeOnBgClick; if (c && d) return !0; if (!n.content || a(b).hasClass("mfp-close") || n.preloader && b === n.preloader[0]) return !0; if (b !== n.content[0] && !a.contains(n.content[0], b)) { if (d && a.contains(document, b)) return !0 } else if (c) return !0; return !1 }, _addClassToMFP: function(a) { n.bgOverlay.addClass(a), n.wrap.addClass(a) }, _removeClassFromMFP: function(a) { this.bgOverlay.removeClass(a), n.wrap.removeClass(a) }, _hasScrollBar: function(a) { return (n.isIE7 ? s.height() : document.body.scrollHeight) > (a || r.height()) }, _setFocus: function() { 632 (n.st.focus ? n.content.find(n.st.focus).eq(0) : n.wrap).focus() }, _onFocusIn: function(b) { if (b.target !== n.wrap[0] && !a.contains(n.wrap[0], b.target)) return n._setFocus(), !1 }, _parseMarkup: function(b, c, d) { var e; 633 d.data && (c = a.extend(d.data, c)), y(f, [b, c, d]), a.each(c, function(c, d) { if (d === undefined || d === !1) return !0; 634 e = c.split("_"); if (e.length > 1) { var f = b.find(j + "-" + e[0]); if (f.length > 0) { var g = e[1]; 635 g === "replaceWith" ? f[0] !== d[0] && f.replaceWith(d) : g === "img" ? f.is("img") ? f.attr("src", d) : f.replaceWith(a("<img>").attr("src", d).attr("class", f.attr("class"))) : f.attr(e[1], d) } } else b.find(j + "-" + c).html(d) }) }, _getScrollbarSize: function() { if (n.scrollbarSize === undefined) { var a = document.createElement("div"); 636 a.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(a), n.scrollbarSize = a.offsetWidth - a.clientWidth, document.body.removeChild(a) } return n.scrollbarSize } }, a.magnificPopup = { instance: null, proto: o.prototype, modules: [], open: function(b, c) { return A(), b ? b = a.extend(!0, {}, b) : b = {}, b.isObj = !0, b.index = c || 0, this.instance.open(b) }, close: function() { return a.magnificPopup.instance && a.magnificPopup.instance.close() }, registerModule: function(b, c) { c.options && (a.magnificPopup.defaults[b] = c.options), a.extend(this.proto, c.proto), this.modules.push(b) }, defaults: { disableOn: 0, key: null, midClick: !1, mainClass: "", preloader: !0, focus: "", closeOnContentClick: !1, closeOnBgClick: !0, closeBtnInside: !0, showCloseBtn: !0, enableEscapeKey: !0, modal: !1, alignTop: !1, removalDelay: 0, prependTo: null, fixedContentPos: "auto", fixedBgPos: "auto", overflowY: "auto", closeMarkup: '<button title="%title%" type="button" class="mfp-close">×</button>', tClose: "Close (Esc)", tLoading: "Loading...", autoFocusLast: !0 } }, a.fn.magnificPopup = function(b) { A(); var c = a(this); if (typeof b == "string") 637 if (b === "open") { var d, e = p ? c.data("magnificPopup") : c[0].magnificPopup, 638 f = parseInt(arguments[1], 10) || 0; 639 e.items ? d = e.items[f] : (d = c, e.delegate && (d = d.find(e.delegate)), d = d.eq(f)), n._openClick({ mfpEl: d }, c, e) } else n.isOpen && n[b].apply(n, Array.prototype.slice.call(arguments, 1)); 640 else b = a.extend(!0, {}, b), p ? c.data("magnificPopup", b) : c[0].magnificPopup = b, n.addGroup(c, b); return c }; var C = "inline", 641 D, E, F, G = function() { F && (E.after(F.addClass(D)).detach(), F = null) }; 642 a.magnificPopup.registerModule(C, { options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" }, proto: { initInline: function() { n.types.push(C), w(b + "." + C, function() { G() }) }, getInline: function(b, c) { G(); if (b.src) { var d = n.st.inline, 643 e = a(b.src); if (e.length) { var f = e[0].parentNode; 644 f && f.tagName && (E || (D = d.hiddenClass, E = x(D), D = "mfp-" + D), F = e.after(E).detach().removeClass(D)), n.updateStatus("ready") } else n.updateStatus("error", d.tNotFound), e = a("<div>"); return b.inlineElement = e, e } return n.updateStatus("ready"), n._parseMarkup(c, {}, b), c } } }); var H = "ajax", 645 I, J = function() { I && a(document.body).removeClass(I) },
646 K = function() { J(), n.req && n.req.abort() }; 647 a.magnificPopup.registerModule(H, { options: { settings: null, cursor: "mfp-ajax-cur", tError: '<a href="%url%">The content</a> could not be loaded.' }, proto: { initAjax: function() { n.types.push(H), I = n.st.ajax.cursor, w(b + "." + H, K), w("BeforeChange." + H, K) }, getAjax: function(b) { I && a(document.body).addClass(I), n.updateStatus("loading"); var c = a.extend({ url: b.src, success: function(c, d, e) { var f = { data: c, xhr: e }; 648 y("ParseAjax", f), n.appendContent(a(f.data), H), b.finished = !0, J(), n._setFocus(), setTimeout(function() { n.wrap.addClass(k) }, 16), n.updateStatus("ready"), y("AjaxContentAdded") }, error: function() { J(), b.finished = b.loadError = !0, n.updateStatus("error", n.st.ajax.tError.replace("%url%", b.src)) } }, n.st.ajax.settings); return n.req = a.ajax(c), "" } } }); var L, M = function(b) { if (b.data && b.data.title !== undefined) return b.data.title; var c = n.st.image.titleSrc; if (c) { if (a.isFunction(c)) return c.call(n, b); if (b.el) return b.el.attr(c) || "" } return "" }; 649 a.magnificPopup.registerModule("image", { options: { markup: '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>', cursor: "mfp-zoom-out-cur", titleSrc: "title", verticalFit: !0, tError: '<a href="%url%">The image</a> could not be loaded.' }, proto: { initImage: function() { var c = n.st.image, 650 d = ".image"; 651 n.types.push("image"), w(g + d, function() { n.currItem.type === "image" && c.cursor && a(document.body).addClass(c.cursor) }), w(b + d, function() { c.cursor && a(document.body).removeClass(c.cursor), r.off("resize" + j) }), w("Resize" + d, n.resizeImage), n.isLowIE && w("AfterChange", n.resizeImage) }, resizeImage: function() { var a = n.currItem; if (!a || !a.img) return; if (n.st.image.verticalFit) { var b = 0; 652 n.isLowIE && (b = parseInt(a.img.css("padding-top"), 10) + parseInt(a.img.css("padding-bottom"), 10)), a.img.css("max-height", n.wH - b) } }, _onImageHasSize: function(a) { a.img && (a.hasSize = !0, L && clearInterval(L), a.isCheckingImgSize = !1, y("ImageHasSize", a), a.imgHidden && (n.content && n.content.removeClass("mfp-loading"), a.imgHidden = !1)) }, findImageSize: function(a) { var b = 0, 653 c = a.img[0], 654 d = function(e) { L && clearInterval(L), L = setInterval(function() { if (c.naturalWidth > 0) { n._onImageHasSize(a); return } b > 200 && clearInterval(L), b++, b === 3 ? d(10) : b === 40 ? d(50) : b === 100 && d(500) }, e) }; 655 d(1) }, getImage: function(b, c) { var d = 0, 656 e = function() { b && (b.img[0].complete ? (b.img.off(".mfploader"), b === n.currItem && (n._onImageHasSize(b), n.updateStatus("ready")), b.hasSize = !0, b.loaded = !0, y("ImageLoadComplete")) : (d++, d < 200 ? setTimeout(e, 100) : f())) }, 657 f = function() { b && (b.img.off(".mfploader"), b === n.currItem && (n._onImageHasSize(b), n.updateStatus("error", g.tError.replace("%url%", b.src))), b.hasSize = !0, b.loaded = !0, b.loadError = !0) }, 658 g = n.st.image, 659 h = c.find(".mfp-img"); if (h.length) { var i = document.createElement("img"); 660 i.className = "mfp-img", b.el && b.el.find("img").length && (i.alt = b.el.find("img").attr("alt")), b.img = a(i).on("load.mfploader", e).on("error.mfploader", f), i.src = b.src, h.is("img") && (b.img = b.img.clone()), i = b.img[0], i.naturalWidth > 0 ? b.hasSize = !0 : i.width || (b.hasSize = !1) } return n._parseMarkup(c, { title: M(b), img_replaceWith: b.img }, b), n.resizeImage(), b.hasSize ? (L && clearInterval(L), b.loadError ? (c.addClass("mfp-loading"), n.updateStatus("error", g.tError.replace("%url%", b.src))) : (c.removeClass("mfp-loading"), n.updateStatus("ready")), c) : (n.updateStatus("loading"), b.loading = !0, b.hasSize || (b.imgHidden = !0, c.addClass("mfp-loading"), n.findImageSize(b)), c) } } }); var N, O = function() { return N === undefined && (N = document.createElement("p").style.MozTransform !== undefined), N }; 661 a.magnificPopup.registerModule("zoom", { options: { enabled: !1, easing: "ease-in-out", duration: 300, opener: function(a) { return a.is("img") ? a : a.find("img") } }, proto: { initZoom: function() { var a = n.st.zoom, 662 d = ".zoom", 663 e; if (!a.enabled || !n.supportsTransition) return; var f = a.duration, 664 g = function(b) { var c = b.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"), 665 d = "all " + a.duration / 1e3 + "s " + a.easing, 666 e = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" }, 667 f = "transition"; return e["-webkit-" + f] = e["-moz-" + f] = e["-o-" + f] = e[f] = d, c.css(e), c }, 668 h = function() { n.content.css("visibility", "visible") }, 669 i, j; 670 w("BuildControls" + d, function() { if (n._allowZoom()) { clearTimeout(i), n.content.css("visibility", "hidden"), e = n._getItemToZoom(); if (!e) { h(); return } j = g(e), j.css(n._getOffset()), n.wrap.append(j), i = setTimeout(function() { j.css(n._getOffset(!0)), i = setTimeout(function() { h(), setTimeout(function() { j.remove(), e = j = null, y("ZoomAnimationEnded") }, 16) }, f) }, 16) } }), w(c + d, function() { if (n._allowZoom()) { clearTimeout(i), n.st.removalDelay = f; if (!e) { e = n._getItemToZoom(); if (!e) return; 671 j = g(e) } j.css(n._getOffset(!0)), n.wrap.append(j), n.content.css("visibility", "hidden"), setTimeout(function() { j.css(n._getOffset()) }, 16) } }), w(b + d, function() { n._allowZoom() && (h(), j && j.remove(), e = null) }) }, _allowZoom: function() { return n.currItem.type === "image" }, _getItemToZoom: function() { return n.currItem.hasSize ? n.currItem.img : !1 }, _getOffset: function(b) { var c; 672 b ? c = n.currItem.img : c = n.st.zoom.opener(n.currItem.el || n.currItem); var d = c.offset(), 673 e = parseInt(c.css("padding-top"), 10), 674 f = parseInt(c.css("padding-bottom"), 10); 675 d.top -= a(window).scrollTop() - e; var g = { width: c.width(), height: (p ? c.innerHeight() : c[0].offsetHeight) - f - e }; return O() ? g["-moz-transform"] = g.transform = "translate(" + d.left + "px," + d.top + "px)" : (g.left = d.left, g.top = d.top), g } } }); var P = "iframe", 676 Q = "//about:blank", 677 R = function(a) { if (n.currTemplate[P]) { var b = n.currTemplate[P].find("iframe"); 678 b.length && (a || (b[0].src = Q), n.isIE8 && b.css("display", a ? "block" : "none")) } }; 679 a.magnificPopup.registerModule(P, { options: { markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>', srcAction: "iframe_src", patterns: { youtube: { index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1" }, vimeo: { index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1" }, gmaps: { index: "//maps.google.", src: "%id%&output=embed" } } }, proto: { initIframe: function() { n.types.push(P), w("BeforeChange", function(a, b, c) { b !== c && (b === P ? R() : c === P && R(!0)) }), w(b + "." + P, function() { R() }) }, getIframe: function(b, c) { var d = b.src, 680 e = n.st.iframe; 681 a.each(e.patterns, function() { if (d.indexOf(this.index) > -1) return this.id && (typeof this.id == "string" ? d = d.substr(d.lastIndexOf(this.id
681) + this.id.length, d.length) : d = this.id.call(this, d)), d = this.src.replace("%id%", d), !1 }); var f = {}; return e.srcAction && (f[e.srcAction] = d), n._parseMarkup(c, f, b), n.updateStatus("ready"), c } } }); var S = function(a) { var b = n.items.length; return a > b - 1 ? a - b : a < 0 ? b + a : a }, 682 T = function(a, b, c) { return a.replace(/%curr%/gi, b + 1).replace(/%total%/gi, c) }; 683 a.magnificPopup.registerModule("gallery", { options: { enabled: !1, arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', preload: [0, 2], navigateByImgClick: !0, arrows: !0, tPrev: "Previous (Left arrow key)", tNext: "Next (Right arrow key)", tCounter: "%curr% of %total%" }, proto: { initGallery: function() { var c = n.st.gallery, 684 d = ".mfp-gallery"; 685 n.direction = !0; if (!c || !c.enabled) return !1; 686 u += " mfp-gallery", w(g + d, function() { c.navigateByImgClick && n.wrap.on("click" + d, ".mfp-img", function() { if (n.items.length > 1) return n.next(), !1 }), s.on("keydown" + d, function(a) { a.keyCode === 37 ? n.prev() : a.keyCode === 39 && n.next() }) }), w("UpdateStatus" + d, function(a, b) { b.text && (b.text = T(b.text, n.currItem.index, n.items.length)) }), w(f + d, function(a, b, d, e) { var f = n.items.length; 687 d.counter = f > 1 ? T(c.tCounter, e.index, f) : "" }), w("BuildControls" + d, function() { if (n.items.length > 1 && c.arrows && !n.arrowLeft) { var b = c.arrowMarkup, 688 d = n.arrowLeft = a(b.replace(/%title%/gi, c.tPrev).replace(/%dir%/gi, "left")).addClass(m), 689 e = n.arrowRight = a(b.replace(/%title%/gi, c.tNext).replace(/%dir%/gi, "right")).addClass(m); 690 d.click(function() { n.prev() }), e.click(function() { n.next() }), n.container.append(d.add(e)) } }), w(h + d, function() { n._preloadTimeout && clearTimeout(n._preloadTimeout), n._preloadTimeout = setTimeout(function() { n.preloadNearbyImages(), n._preloadTimeout = null }, 16) }), w(b + d, function() { s.off(d), n.wrap.off("click" + d), n.arrowRight = n.arrowLeft = null }) }, next: function() { n.direction = !0, n.index = S(n.index + 1), n.updateItemHTML() }, prev: function() { n.direction = !1, n.index = S(n.index - 1), n.updateItemHTML() }, goTo: function(a) { n.direction = a >= n.index, n.index = a, n.updateItemHTML() }, preloadNearbyImages: function() { var a = n.st.gallery.preload, 691 b = Math.min(a[0], n.items.length), 692 c = Math.min(a[1], n.items.length), 693 d; for (d = 1; d <= (n.direction ? c : b); d++) n._preloadItem(n.index + d); for (d = 1; d <= (n.direction ? b : c); d++) n._preloadItem(n.index - d) }, _preloadItem: function(b) { b = S(b); if (n.items[b].preloaded) return; var c = n.items[b]; 694 c.parsed || (c = n.parseEl(b)), y("LazyLoad", c), c.type === "image" && (c.img = a('<img class="mfp-img" />').on("load.mfploader", function() { c.hasSize = !0 }).on("error.mfploader", function() { c.hasSize = !0, c.loadError = !0, y("LazyLoadError", c) }).attr("src", c.src)), c.preloaded = !0 } } }); var U = "retina"; 695 a.magnificPopup.registerModule(U, { options: { replaceSrc: function(a) { return a.src.replace(/\.\w+$/, function(a) { return "@2x" + a }) }, ratio: 1 }, proto: { initRetina: function() { if (window.devicePixelRatio > 1) { var a = n.st.retina, 696 b = a.ratio; 697 b = isNaN(b) ? b() : b, b > 1 && (w("ImageHasSize." + U, function(a, c) { c.img.css({ "max-width": c.img[0].naturalWidth / b, width: "100%" }) }), w("ElementParse." + U, function(c, d) { d.src = a.replaceSrc(d, b) })) } } } }), A() }) 698 699/** 700 * Parallax 701 * enllax.js 702 * 1.1.0 | copyright 2015, MMK Jony | https://github.com/mmkjony/enllax.js 703 */ 704 705! function(t) { "use strict"; 706 t.fn.enllax = function(r) { var a = t(window).height(), 707 n = t(document).height(), 708 o = t.extend({ ratio: 0, type: "background", direction: "vertical" }, r), 709 e = t("[data-enllax-ratio]"); 710 e.each(function() { var r, e, s, i = t(this), 711 c = i.offset().top, 712 l = i.outerHeight(), 713 p = i.data("enllax-ratio"), 714 d = i.data("enllax-type"), 715 x = i.data("enllax-direction"); 716 r = p ? p : o.ratio, e = d ? d : o.type, s = x ? x : o.direction; var f = Math.round(c * r), 717 u = Math.round((c - a / 2 + l) * r); "background" == e ? "vertical" == s ? i.css({ "background-position": "center " + -f + "px" }) : "horizontal" == s && i.css({ "background-position": -f + "px center" }) : "foreground" == e && ("vertical" == s ? i.css({ "-webkit-transform": "translateY(" + u + "px)", "-moz-transform": "translateY(" + u + "px)", transform: "translateY(" + u + "px)" }) : "horizontal" == s && i.css({ "-webkit-transform": "translateX("
717+ u + "px)", "-moz-transform": "translateX(" + u + "px)", transform: "translateX(" + u + "px)" })), t(window).on("scroll", function() { var o = t(this).scrollTop(); 718 f = Math.round((c - o) * r), u = Math.round((c - a / 2 + l - o) * r), "background" == e ? "vertical" == s ? i.css({ "background-position": "center " + -f + "px" }) : "horizontal" == s && i.css({ "background-position": -f + "px center" }) : "foreground" == e && n > o && ("vertical" == s ? i.css({ "-webkit-transform": "translateY(" + u + "px)", "-moz-transform": "translateY(" + u + "px)", transform: "translateY(" + u + "px)" }) : "horizontal" == s && i.css({ "-webkit-transform": "translateX(" + u + "px)", "-moz-transform": "translateX(" + u + "px)", transform: "translateX(" + u + "px)" })) }) }) } }(jQuery); 719 720/** 721 * Resize 722 * debouncedresize 723 * https://github.com/louisremi/jquery-smartresize | Licensed under the MIT license. 724 */ 725 726(function(e) { var t = e.event, 727 n, r; 728 n = t.special.debouncedresize = { setup: function() { e(this).on("resize", n.handler) }, teardown: function() { e(this).off("resize", n.handler) }, handler: function(e, i) { var s = this, 729 o = arguments, 730 u = function() { e.type = "debouncedresize"; 731 t.dispatch.apply(s, o) }; if (r) { clearTimeout(r) } i ? u() : r = setTimeout(u, n.threshold) }, threshold: 150 } })(jQuery); 732 733/** 734 * Scroll 735 * Nice Scroll 736 * 3.6.6 | InuYaksa | 2015 MIT | http://nicescroll.areaaperta.com 737 */ 738 739! function(e) { "function" == typeof define && define.amd ? define(["jquery"], e) : "object" == typeof exports ? module.exports = e(require("jquery")) : e(jQuery) }(function(e) { 740 "use strict"; 741 742 function o() { var e = document.getElementsByTagName("script"), 743 o = e.length ? e[e.length - 1].src.split("?")[0] : ""; return o.split("/").length > 0 ? o.split("/").slice(0, -1).join("/") + "/" : "" } 744 745 function t(e, o, t) { for (var r = 0; r < o.length; r++) t(e, o[r]) } 746 var r = !1, 747 i = !1, 748 n = 0, 749 s = 2e3, 750 l = 0, 751 a = e, 752 c = ["webkit", "ms", "moz", "o"], 753 d = window.requestAnimationFrame || !1, 754 u = window.cancelAnimationFrame || !1; 755 if (!d) 756 for (var h in c) { var p = c[h]; 757 d || (d = window[p + "RequestAnimationFrame"]), u || (u = window[p + "CancelAnimationFrame"] || window[p + "CancelRequestAnimationFrame"]) } 758 var m = window.MutationObserver || window.WebKitMutationObserver || !1, 759 f = { zindex: "auto", cursoropacitymin: 0, cursoropacitymax: 1, cursorcolor: "#424242", cursorwidth: "5px", cursorborder: "1px solid #fff", cursorborderradius: "5px", scrollspeed: 60, mousescrollstep: 24, touchbehavior: !1, hwacceleration: !0, usetransition: !0, boxzoom: !1, dblclickzoom: !0, gesturezoom: !0, grabcursorenabled: !0, autohidemode: !0, background: "", iframeautoresize: !0, cursorminheight: 32, preservenativescrolling: !0, railoffset: !1, railhoffset: !1, bouncescroll: !0, spacebarenabled: !0, railpadding: { top: 0, right: 0, left: 0, bottom: 0 }, disableoutline: !0, horizrailenabled: !0, railalign: "right", railvalign: "bottom", enabletranslate3d: !0, enablemousewheel: !0, enablekeyboard: !0, smoothscroll: !0, sensitiverail: !0, enablemouselockapi: !0, cursorfixedheight: !1, directionlockdeadzone: 6, hidecursordelay: 400, nativeparentscrolling: !0, enablescrollonselection: !0, overflowx: !0, overflowy: !0, cursordragspeed: .3, rtlmode: "auto", cursordragontouch: !1, oneaxismousemode: "auto", scriptpath: o(), preventmultitouchscrolling: !0 }, 760 g = !1, 761 w = function() { 762 function e() { var e = ["-webkit-grab", "-moz-grab", "grab"]; 763 (n.ischrome && !n.ischrome22 || n.isie) && (e = []); for (var o = 0; o < e.length; o++) { var r = e[o]; if (t.cursor = r, t.cursor == r) return r } return "url(//mail.google.com/mail/images/2/openhand.cur),n-resize" } if (g) return g; var o = document.createElement("DIV"), 764 t = o.style, 765 r = navigator.userAgent, 766 i = navigator.platform, 767 n = {}; 768 n.haspointerlock = "pointerLockElement" in document || "webkitPointerLockElement" in document || "mozPointerLockElement" in document, n.isopera = "opera" in window, n.isopera12 = n.isopera && "getUserMedia" in navigator, n.isoperamini = "[object OperaMini]" === Object.prototype.toString.call(window.operamini), n.isie = "all" in document && "attachEvent" in o && !n.isopera, n.isieold = n.isie && !("msInterpolationMode" in t), n.isie7 = n.isie && !n.isieold && (!("documentMode" in document) || 7 == document.documentMode), n.isie8 = n.isie && "documentMode" in document && 8 == document.documentMode, n.isie9 = n.isie && "performance" in window && document.documentMode >= 9, n.isie10 = n.isie && "performance" in window && 10 == document.documentMode, n.isie11 = "msRequestFullscreen" in o && document.documentMode >= 11, n.isieedge = navigator.userAgent.match(/Edge\/12\./), n.isie9mobile = /iemobile.9/i.test(r), n.isie9mobile && (n.isie9 = !1), n.isie7mobile = !n.isie9mobile && n.isie7 && /iemobile/i.test(r), n.ismozilla = "MozAppearance" in t, n.iswebkit = "WebkitAppearance" in t, n.ischrome = "chrome" in window, n.ischrome22 = n.ischrome && n.haspointerlock, n.ischrome26 = n.ischrome && "transition" in t, n.cantouch = "ontouchstart" in document.documentElement || "ontouchstart" in window, n.hasmstouch = window.MSPointerEvent || !1, n.hasw3ctouch = (window.PointerEvent || !1) && (navigator.MaxTouchPoints > 0 || navigator.msMaxTouchPoints > 0), n.ismac = /^mac$/i.test(i), n.isios = n.cantouch && /iphone|ipad|ipod/i.test(i), n.isios4 = n.isios && !("seal" in Object), n.isios7 = n.isios && "webkitHidden" in document, n.isandroid = /android/i.test(r), n.haseventlistener = "addEventListener" in o, n.trstyle = !1, n.hastransform = !1, n.hastranslate3d = !1, n.transitionstyle = !1, n.hastransition = !1, n.transitionend = !1; var s, l = ["transform", "msTransform", "webkitTransform", "MozTransform", "OTransform"]; for (s = 0; s < l.length; s++) 769 if ("undefined" != typeof t[l[s]]) { n.trstyle = l[s]; break } n.hastransform = !!n.trstyle, n.hastransform && (t[n.trstyle] = "translate3d(1px,2px,3px)", n.hastranslate3d = /translate3d/.test(t[n.trstyle])), n.transitionstyle = !1, n.prefixstyle = "", n.transitionend = !1, l = ["transition", "webkitTransition", "msTransition", "MozTransition", "OTransition", "OTransition", "KhtmlTransition"]; var a = ["", "-webkit-", "-ms-", "-moz-", "-o-", "-o", "-khtml-"], 770 c = ["transitionend", "webkitTransitionEnd", "msTransitionEnd", "transitionend", "otransitionend", "oTransitionEnd", "KhtmlTransitionEnd"]; for (s = 0; s < l.length; s++) 771 if (l[s] in t) { n.transitionstyle = l[s], n.prefixstyle = a[s], n.transitionend = c[s]; break } return n.ischrome26 && (n.prefixstyle = a[1]), n.hastransition = n.transitionstyle, n.cursorgrabvalue = e(), n.hasmousecapture = "setCapture" in o, n.hasMutationObserver = m !== !1, o = null, g = n, n }, 772 v = function(e, o) { 773 function t() { var e = v.doc.css(x.trstyle);
773 return e && "matrix" == e.substr(0, 6) ? e.replace(/^.*\((.*)\)$/g, "$1").replace(/px/g, "").split(/, +/) : !1 } 774 775 function c() { var e = v.win; if ("zIndex" in e) return e.zIndex(); for (; e.length > 0;) { if (9 == e[0].nodeType) return !1; var o = e.css("zIndex"); if (!isNaN(o) && 0 != o) return parseInt(o); 776 e = e.parent() } return !1 } 777 778 function h(e, o, t) { var r = e.css(o), 779 i = parseFloat(r); if (isNaN(i)) { i = k[r] || 0; var n = 3 == i ? t ? v.win.outerHeight() - v.win.innerHeight() : v.win.outerWidth() - v.win.innerWidth() : 1; return v.isie8 && i && (i += 1), n ? i : 0 } return i } 780 781 function p(e, o, t, r) { v._bind(e, o, function(r) { var r = r ? r : window.event, 782 i = { original: r, target: r.target || r.srcElement, type: "wheel", deltaMode: "MozMousePixelScroll" == r.type ? 0 : 1, deltaX: 0, deltaZ: 0, preventDefault: function() { return r.preventDefault ? r.preventDefault() : r.returnValue = !1, !1 }, stopImmediatePropagation: function() { r.stopImmediatePropagation ? r.stopImmediatePropagation() : r.cancelBubble = !0 } }; return "mousewheel" == o ? (i.deltaY = -1 / 40 * r.wheelDelta, r.wheelDeltaX && (i.deltaX = -1 / 40 * r.wheelDeltaX)) : i.deltaY = r.detail, t.call(e, i) }, r) } 783 784 function g(e, o, t) { var r, i; if (0 == e.deltaMode ? (r = -Math.floor(e.deltaX * (v.opt.mousescrollstep / 54)), i = -Math.floor(e.deltaY * (v.opt.mousescrollstep / 54))) : 1 == e.deltaMode && (r = -Math.floor(e.deltaX * v.opt.mousescrollstep), i = -Math.floor(e.deltaY * v.opt.mousescrollstep)), o && v.opt.oneaxismousemode && 0 == r && i && (r = i, i = 0, t)) { var n = 0 > r ? v.getScrollLeft() >= v.page.maxw : v.getScrollLeft() <= 0; 785 n && (i = r, r = 0) } if (r && (v.scrollmom && v.scrollmom.stop(), v.lastdeltax += r, v.debounced("mousewheelx", function() { var e = v.lastdeltax; 786 v.lastdeltax = 0, v.rail.drag || v.doScrollLeftBy(e) }, 15)), i) { if (v.opt.nativeparentscrolling && t && !v.ispage && !v.zoomactive) 787 if (0 > i) { if (v.getScrollTop() >= v.page.maxh) return !0 } else if (v.getScrollTop() <= 0) return !0; 788 v.scrollmom && v.scrollmom.stop(), v.lastdeltay += i, v.debounced("mousewheely", function() { var e = v.lastdeltay; 789 v.lastdeltay = 0, v.rail.drag || v.doScrollBy(e) }, 15) } return e.stopImmediatePropagation(), e.preventDefault() } 790 var v = this; 791 if (this.version = "3.6.6", this.name = "nicescroll", this.me = o, this.opt = { doc: a("body"), win: !1 }, a.extend(this.opt, f), this.opt.snapbackspeed = 80, e) 792 for (var y in v.opt) "undefined" != typeof e[y] && (v.opt[y] = e[y]); 793 this.doc = v.opt.doc, this.iddoc = this.doc && this.doc[0] ? this.doc[0].id || "" : "", this.ispage = /^BODY|HTML/.test(v.opt.win ? v.opt.win[0].nodeName : this.doc[0].nodeName), this.haswrapper = v.opt.win !== !1, this.win = v.opt.win || (this.ispage ? a(window) : this.doc), this.docscroll = this.ispage && !this.haswrapper ? a(window) : this.win, this.body = a("body"), this.viewport = !1, this.isfixed = !1, this.iframe = !1, this.isiframe = "IFRAME" == this.doc[0].nodeName && "IFRAME" == this.win[0].nodeName, this.istextarea = "TEXTAREA" == this.win[0].nodeName, this.forcescreen = !1, this.canshowonmouseevent = "scroll" != v.opt.autohidemode, this.onmousedown = !1, this.onmouseup = !1, this.onmousemove = !1, this.onmousewheel = !1, this.onkeypress = !1, this.ongesturezoom = !1, this.onclick = !1, this.onscrollstart = !1, this.onscrollend = !1, this.onscrollcancel = !1, this.onzoomin = !1, this.onzoomout = !1, this.view = !1, this.page = !1, this.scroll = { x: 0, y: 0 }, this.scrollratio = { x: 0, y: 0 }, this.cursorheight = 20, this.scrollvaluemax = 0, this.isrtlmode = "auto" == this.opt.rtlmode ? "rtl" == (this.win[0] == window ? this.body : this.win).css("direction") : this.opt.rtlmode === !0, this.scrollrunning = !1, this.scrollmom = !1, this.observer = !1, this.observerremover = !1, this.observerbody = !1; 794 do this.id = "ascrail" + s++; while (document.getElementById(this.id)); 795 this.rail = !1, this.cursor = !1, this.cursorfreezed = !1, this.selectiondrag = !1, this.zoom = !1, this.zoomactive = !1, this.hasfocus = !1, this.hasmousefocus = !1, this.visibility = !0, this.railslocked = !1, this.locked = !1, this.hidden = !1, this.cursoractive = !0, this.wheelprevented = !1, this.overflowx = v.opt.overflowx, this.overflowy = v.opt.overflowy, this.nativescrollingarea = !1, this.checkarea = 0, this.events = [], this.saved = {}, this.delaylist = {}, this.synclist = {}, this.lastdeltax = 0, this.lastdeltay = 0, this.detected = w(); 796 var x = a.extend({}, this.detected); 797 this.canhwscroll = x.hastransform && v.opt.hwacceleration, this.ishwscroll = this.canhwscroll && v.haswrapper, this.hasreversehr = this.isrtlmode && !x.iswebkit, this.istouchcapable = !1, !x.cantouch || x.isios || x.isandroid || !x.iswebkit && !x.ismozilla || (this.istouchcapable = !0, x.cantouch = !1), v.opt.enablemouselockapi || (x.hasmousecapture = !1, x.haspointerlock = !1), this.debounced = function(e, o, t) { var r = v.delaylist[e]; 798 v.delaylist[e] = o, r || (v.debouncedelayed = setTimeout(function() { if (v) { var o = v.delaylist[e]; 799 v.delaylist[e] = !1, o.call(v) } }, t)) }; 800 var S = !1; 801 this.synched = function(e, o) { 802 function t() { S || (d(function() { S = !1; for (var e in v.synclist) { var o = v.synclist[e]; 803 o && o.call(v), v.synclist[e] = !1 } }), S = !0) } return v.synclist[e] = o, t(), e }, this.unsynched = function(e) { v.synclist[e] && (v.synclist[e] = !1) }, this.css = function(e, o) { for (var t in o) v.saved.css.push([e, t, e.css(t)]), e.css(t, o[t]) }, this.scrollTop = function(e) { return "undefined" == typeof e ? v.getScrollTop() : v.setScrollTop(e) }, this.scrollLeft = function(e) { return "undefined" == typeof e ? v.getScrollLeft() : v.setScrollLeft(e) }; 804 var z = function(e, o, t, r, i, n, s) { this.st = e, this.ed = o, this.spd = t, this.p1 = r || 0, this.p2 = i || 1, this.p3 = n || 0, this.p4 = s || 1, this.ts = (ne
804w Date).getTime(), this.df = this.ed - this.st }; 805 if (z.prototype = { B2: function(e) { return 3 * e * e * (1 - e) }, B3: function(e) { return 3 * e * (1 - e) * (1 - e) }, B4: function(e) { return (1 - e) * (1 - e) * (1 - e) }, getNow: function() { var e = (new Date).getTime(), 806 o = 1 - (e - this.ts) / this.spd, 807 t = this.B2(o) + this.B3(o) + this.B4(o); return 0 > o ? this.ed : this.st + Math.round(this.df * t) }, update: function(e, o) { return this.st = this.getNow(), this.ed = e, this.spd = o, this.ts = (new Date).getTime(), this.df = this.ed - this.st, this } }, this.ishwscroll) { this.doc.translate = { x: 0, y: 0, tx: "0px", ty: "0px" }, x.hastranslate3d && x.isios && this.doc.css("-webkit-backface-visibility", "hidden"), this.getScrollTop = function(e) { if (!e) { var o = t(); if (o) return 16 == o.length ? -o[13] : -o[5]; if (v.timerscroll && v.timerscroll.bz) return v.timerscroll.bz.getNow() } return v.doc.translate.y }, this.getScrollLeft = function(e) { if (!e) { var o = t(); if (o) return 16 == o.length ? -o[12] : -o[4]; if (v.timerscroll && v.timerscroll.bh) return v.timerscroll.bh.getNow() } return v.doc.translate.x }, this.notifyScrollEvent = function(e) { var o = document.createEvent("UIEvents"); 808 o.initUIEvent("scroll", !1, !0, window, 1), o.niceevent = !0, e.dispatchEvent(o) }; var T = this.isrtlmode ? 1 : -1; 809 x.hastranslate3d && v.opt.enabletranslate3d ? (this.setScrollTop = function(e, o) { v.doc.translate.y = e, v.doc.translate.ty = -1 * e + "px", v.doc.css(x.trstyle, "translate3d(" + v.doc.translate.tx + "," + v.doc.translate.ty + ",0px)"), o || v.notifyScrollEvent(v.win[0]) }, this.setScrollLeft = function(e, o) { v.doc.translate.x = e, v.doc.translate.tx = e * T + "px", v.doc.css(x.trstyle, "translate3d(" + v.doc.translate.tx + "," + v.doc.translate.ty + ",0px)"), o || v.notifyScrollEvent(v.win[0]) }) : (this.setScrollTop = function(e, o) { v.doc.translate.y = e, v.doc.translate.ty = -1 * e + "px", v.doc.css(x.trstyle, "translate(" + v.doc.translate.tx + "," + v.doc.translate.ty + ")"), o || v.notifyScrollEvent(v.win[0]) }, this.setScrollLeft = function(e, o) { v.doc.translate.x = e, v.doc.translate.tx = e * T + "px", v.doc.css(x.trstyle, "translate(" + v.doc.translate.tx + "," + v.doc.translate.ty + ")"), o || v.notifyScrollEvent(v.win[0]) }) } else this.getScrollTop = function() { return v.docscroll.scrollTop() }, this.setScrollTop = function(e) { return setTimeout(function() { v.docscroll.scrollTop(e) }, 1) }, this.getScrollLeft = function() { return v.detected.ismozilla && v.isrtlmode ? Math.abs(v.docscroll.scrollLeft()) : v.docscroll.scrollLeft() }, this.setScrollLeft = function(e) { return setTimeout(function() { v.docscroll.scrollLeft(v.detected.ismozilla && v.isrtlmode ? -e : e) }, 1) }; 810 this.getTarget = function(e) { return e ? e.target ? e.target : e.srcElement ? e.srcElement : !1 : !1 }, this.hasParent = function(e, o) { if (!e) return !1; for (var t = e.target || e.srcElement || e || !1; t && t.id != o;) t = t.parentNode || !1; return t !== !1 }; 811 var k = { thin: 1, medium: 3, thick: 5 }; 812 this.getDocumentScrollOffset = function() { return { top: window.pageYOffset || document.documentElement.scrollTop, left: window.pageXOffset || document.documentElement.scrollLeft } }, this.getOffset = function() { if (v.isfixed) { var e = v.win.offset(), 813 o = v.getDocumentScrollOffset(); return e.top -= o.top, e.left -= o.left, e } var t = v.win.offset(); if (!v.viewport) return t; var r = v.viewport.offset(); return { top: t.top - r.top, left: t.left - r.left } }, this.updateScrollBar = function(e) { if (v.ishwscroll) v.rail.css({ height: v.win.innerHeight() - (v.opt.railpadding.top + v.opt.railpadding.bottom) }), v.railh && v.railh.css({ width: v.win.innerWidth() - (v.opt.railpadding.left + v.opt.railpadding.right) }); 814 else { var o = v.getOffset(), 815 t = { top: o.top, left: o.left - (v.opt.railpadding.left + v.opt.railpadding.right) }; 816 t.top += h(v.win, "border-top-width", !0), t.left += v.rail.align ? v.win.outerWidth() - h(v.win, "border-right-width") - v.rail.width : h(v.win, "border-left-width"); var r = v.opt.railoffset; if (r && (r.top && (t.top += r.top), r.left && (t.left += r.left)), v.railslocked || v.rail.css({ top: t.top, left: t.left, height: (e ? e.h : v.win.innerHeight()) - (v.opt.railpadding.top + v.opt.railpadding.bottom) }), v.zoom && v.zoom.css({ top: t.top + 1, left: 1 == v.rail.align ? t.left - 20 : t.left + v.rail.width + 4 }), v.railh && !v.railslocked) { var t = { top: o.top, left: o.left }, 817 r = v.opt.railhoffset; 818 r && (r.top && (t.top += r.top), r.left && (t.left += r.left)); var i = v.railh.align ? t.top + h(v.win, "border-top-width", !0) + v.win.innerHeight() - v.railh.height : t.top + h(v.win, "border-top-width", !0), 819 n = t.left + h(v.win, "border-left-width"); 820 v.railh.css({ top: i - (v.opt.railpadding.top + v.opt.railpadding.bottom), left: n, width: v.railh.width }) } } }, this.doRailClick = function(e, o, t) { var r, i, n, s; 821 v.railslocked || (v.cancelEvent(e), o ? (r = t ? v.doScrollLeft : v.doScrollTop, n = t ? (e.pageX - v.railh.offset().left - v.cursorwidth / 2) * v.scrollratio.x : (e.pageY - v.rail.offset().top - v.cursorheight / 2) * v.scrollratio.y, r(n)) : (r = t ? v.doScrollLeftBy : v.doScrollBy, n = t ? v.scroll.x : v.scroll.y, s = t ? e.pageX - v.railh.offset().left : e.pageY - v.rail.offset().top, i = t ? v.view.w : v.view.h, r(n >
821= s ? i : -i))) }, v.hasanimationframe = d, v.hascancelanimationframe = u, v.hasanimationframe ? v.hascancelanimationframe || (u = function() { v.cancelAnimationFrame = !0 }) : (d = function(e) { return setTimeout(e, 15 - Math.floor(+new Date / 1e3) % 16) }, u = clearInterval), this.init = function() { 822 if (v.saved.css = [], x.isie7mobile) return !0; 823 if (x.isoperamini) return !0; 824 if (x.hasmstouch && v.css(v.ispage ? a("html") : v.win, { "-ms-touch-action": "none" }), v.zindex = "auto", v.ispage || "auto" != v.opt.zindex ? v.zindex = v.opt.zindex : v.zindex = c() || "auto", v.ispage || "auto" == v.zindex || v.zindex > l && (l = v.zindex), v.isie && 0 == v.zindex && "auto" == v.opt.zindex && (v.zindex = "auto"), !v.ispage || !x.cantouch && !x.isieold && !x.isie9mobile) { 825 var e = v.docscroll; 826 v.ispage && (e = v.haswrapper ? v.win : v.doc), x.isie9mobile || v.css(e, { "overflow-y": "hidden" }), v.ispage && x.isie7 && ("BODY" == v.doc[0].nodeName ? v.css(a("html"), { "overflow-y": "hidden" }) : "HTML" == v.doc[0].nodeName && v.css(a("body"), { "overflow-y": "hidden" })), !x.isios || v.ispage || v.haswrapper || v.css(a("body"), { "-webkit-overflow-scrolling": "touch" }); 827 var o = a(document.createElement("div")); 828 o.css({ position: "relative", top: 0, "float": "right", width: v.opt.cursorwidth, height: "0px", "background-color": v.opt.cursorcolor, border: v.opt.cursorborder, "background-clip": "padding-box", "-webkit-border-radius": v.opt.cursorborderradius, "-moz-border-radius": v.opt.cursorborderradius, "border-radius": v.opt.cursorborderradius }), o.hborder = parseFloat(o.outerHeight() - o.innerHeight()), o.addClass("nicescroll-cursors"), v.cursor = o; 829 var t = a(document.createElement("div")); 830 t.attr("id", v.id), t.addClass("nicescroll-rails nicescroll-rails-vr"); 831 var s, d, u = ["left", "right", "top", "bottom"]; 832 for (var h in u) d = u[h], s = v.opt.railpadding[d], s ? t.css("padding-" + d, s + "px") : v.opt.railpadding[d] = 0; 833 t.append(o), t.width = Math.max(parseFloat(v.opt.cursorwidth), o.outerWidth()), t.css({ width: t.width + "px", zIndex: v.zindex, background: v.opt.background, cursor: "default" }), t.visibility = !0, t.scrollable = !0, t.align = "left" == v.opt.railalign ? 0 : 1, v.rail = t, v.rail.drag = !1; 834 var p = !1; 835 !v.opt.boxzoom || v.ispage || x.isieold || (p = document.createElement("div"), v.bind(p, "click", v.doZoom), v.bind(p, "mouseenter", function() { v.zoom.css("opacity", v.opt.cursoropacitymax) }), v.bind(p, "mouseleave", function() { v.zoom.css("opacity", v.opt.cursoropacitymin) }), v.zoom = a(p), v.zoom.css({ cursor: "pointer", "z-index": v.zindex, backgroundImage: "url(" + v.opt.scriptpath + "zoomico.png)", height: 18, width: 18, backgroundPosition: "0px 0px" }), v.opt.dblclickzoom && v.bind(v.win, "dblclick", v.doZoom), x.cantouch && v.opt.gesturezoom && (v.ongesturezoom = function(e) { return e.scale > 1.5 && v.doZoomIn(e), e.scale < .8 && v.doZoomOut(e), v.cancelEvent(e) }, v.bind(v.win, "gestureend", v.ongesturezoom))), v.railh = !1; 836 var f; 837 if (v.opt.horizrailenabled) { v.css(e, { "overflow-x": "hidden" }); var o = a(document.createElement("div")); 838 o.css({ position: "absolute", top: 0, height: v.opt.cursorwidth, width: "0px", "background-color": v.opt.cursorcolor, border: v.opt.cursorborder, "background-clip": "padding-box", "-webkit-border-radius": v.opt.cursorborderradius, "-moz-border-radius": v.opt.cursorborderradius, "border-radius": v.opt.cursorborderradius }), x.isieold && o.css({ overflow: "hidden" }), o.wborder = parseFloat(o.outerWidth() - o.innerWidth()), o.addClass("nicescroll-cursors"), v.cursorh = o, f = a(document.createElement("div")), f.attr("id", v.id + "-hr"), f.addClass("nicescroll-rails nicescroll-rails-hr"), f.height = Math.max(parseFloat(v.opt.cursorwidth), o.outerHeight()), f.css({ height: f.he
838ight + "px", zIndex: v.zindex, background: v.opt.background }), f.append(o), f.visibility = !0, f.scrollable = !0, f.align = "top" == v.opt.railvalign ? 0 : 1, v.railh = f, v.railh.drag = !1 } 839 if (v.ispage) t.css({ position: "fixed", top: "0px", height: "100%" }), t.align ? t.css({ right: "0px" }) : t.css({ left: "0px" }), v.body.append(t), v.railh && (f.css({ position: "fixed", left: "0px", width: "100%" }), f.align ? f.css({ bottom: "0px" }) : f.css({ top: "0px" }), v.body.append(f)); 840 else { if (v.ishwscroll) { "static" == v.win.css("position") && v.css(v.win, { position: "relative" }); var g = "HTML" == v.win[0].nodeName ? v.body : v.win; 841 a(g).scrollTop(0).scrollLeft(0), v.zoom && (v.zoom.css({ position: "absolute", top: 1, right: 0, "margin-right": t.width + 4 }), g.append(v.zoom)), t.css({ position: "absolute", top: 0 }), t.align ? t.css({ right: 0 }) : t.css({ left: 0 }), g.append(t), f && (f.css({ position: "absolute", left: 0, bottom: 0 }), f.align ? f.css({ bottom: 0 }) : f.css({ top: 0 }), g.append(f)) } else { v.isfixed = "fixed" == v.win.css("position"); var w = v.isfixed ? "fixed" : "absolute"; 842 v.isfixed || (v.viewport = v.getViewport(v.win[0])), v.viewport && (v.body = v.viewport, 0 == /fixed|absolute/.test(v.viewport.css("position")) && v.css(v.viewport, { position: "relative" })), t.css({ position: w }), v.zoom && v.zoom.css({ position: w }), v.updateScrollBar(), v.body.append(t), v.zoom && v.body.append(v.zoom), v.railh && (f.css({ position: w }), v.body.append(f)) } x.isios && v.css(v.win, { "-webkit-tap-highlight-color": "rgba(0,0,0,0)", "-webkit-touch-callout": "none" }), x.isie && v.opt.disableoutline && v.win.attr("hideFocus", "true"), x.iswebkit && v.opt.disableoutline && v.win.css({ outline: "none" }) } 843 if (v.opt.autohidemode === !1 ? (v.autohidedom = !1, v.rail.css({ opacity: v.opt.cursoropacitymax }), v.railh && v.railh.css({ opacity: v.opt.cursoropacitymax })) : v.opt.autohidemode === !0 || "leave" === v.opt.autohidemode ? (v.autohidedom = a().add(v.rail), x.isie8 && (v.autohidedom = v.autohidedom.add(v.cursor)), v.railh && (v.autohidedom = v.autohidedom.add(v.railh)), v.railh && x.isie8 && (v.autohidedom = v.autohidedom.add(v.cursorh))) : "scroll" == v.opt.autohidemode ? (v.autohidedom = a().add(v.rail), v.railh && (v.autohidedom = v.autohidedom.add(v.railh))) : "cursor" == v.opt.autohidemode ? (v.autohidedom = a().add(v.cursor), v.railh && (v.autohidedom = v.autohidedom.add(v.cursorh))) : "hidden" == v.opt.autohidemode && (v.autohidedom = !1, v.hide(), v.railslocked = !1), x.isie9mobile) { v.scrollmom = new b(v), v.onmangotouch = function() { var e = v.getScrollTop(), 844 o = v.getScrollLeft(); if (e == v.scrollmom.lastscrolly && o == v.scrollmom.lastscrollx) return !0; var t = e - v.mangotouch.sy, 845 r = o - v.mangotouch.sx, 846 i = Math.round(Math.sqrt(Math.pow(r, 2) + Math.pow(t, 2))); if (0 != i) { var n = 0 > t ? -1 : 1, 847 s = 0 > r ? -1 : 1, 848 l = +new Date; if (v.mangotouch.lazy && clearTimeout(v.mangotouch.lazy), l - v.mangotouch.tm > 80 || v.mangotouch.dry != n || v.mangotouch.drx != s) v.scrollmom.stop(), v.scrollmom.reset(o, e), v.mangotouch.sy = e, v.mangotouch.ly = e, v.mangotouch.sx = o, v.mangotouch.lx = o, v.mangotouch.dry = n, v.mangotouch.drx = s, v.mangotouch.tm = l; 849 else { v.scrollmom.stop(), v.scrollmom.update(v.mangotouch.sx - r, v.mangotouch.sy - t), v.mangotouch.tm = l; var a = Math.max(Math.abs(v.mangotouch.ly - e), Math.abs(v.mangotouch.lx - o)); 850 v.mangotouch.ly = e, v.mangotouch.lx = o, a > 2 && (v.mangotouch.lazy = setTimeout(function() { v.mangotouch.lazy = !1, v.mangotouch.dry = 0, v.mangotouch.drx = 0, v.mangotouch.tm = 0, v.scrollmom.doMomentum(30) }, 100)) } } }; var y = v.getScrollTop(), 851 S = v.getScrollLeft(); 852 v.mangotouch = { sy: y, ly: y, dry: 0, sx: S, lx: S, drx: 0, lazy: !1, tm: 0 }, v.bind(v.docscroll, "scroll", v.onmangotouch) } else { 853 if (x.cantouch || v.istouchcapable || v.opt.touchbehavior || x.hasmstouch) { v.scrollmom = new b(v), v.ontouchstart = function(e) { if (e.pointerType && 2 != e.pointerType && "touch" != e.pointerType) return !1; if (v.hasmoving = !1, !v.railslocked) { var o; if (x.hasmstouch) 854 for (o = e.target ? e.target : !1; o;) { var t = a(o).getNiceScroll(); if (t.length > 0 && t[0].me == v.me) break; if (t.length > 0) return !1; if ("DIV" == o.nodeName && o.id == v.id) break; 855 o = o.parentNode ? o.parentNode : !1 } 856 if (v.cancelScroll(), o = v.getTarget(e)) { var r = /INPUT/i.test(o.nodeName) && /range/i.test(o.type); if (r) return v.stopPropagation(e) } if (!("clientX" in e) && "changedTouches" in e && (e.clientX = e.changedTouches[0].clientX, e.clientY = e.changedTouches[0].clientY), v.forcescreen) { var i = e; 857 e = { original: e.original ? e.original : e }, e.clientX = i.screenX, e.clientY = i.screenY } if (v.rail.drag = { x: e.clientX, y: e.clientY, sx: v.scroll.x, sy: v.scroll.y, st: v.getScrollTop(), sl: v.getScrollLeft(), pt: 2, dl: !1 }
857, v.ispage || !v.opt.directionlockdeadzone) v.rail.drag.dl = "f"; 858 else { var n = { w: a(window).width(), h: a(window).height() }, 859 s = { w: Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), h: Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) }, 860 l = Math.max(0, s.h - n.h), 861 c = Math.max(0, s.w - n.w);!v.rail.scrollable && v.railh.scrollable ? v.rail.drag.ck = l > 0 ? "v" : !1 : v.rail.scrollable && !v.railh.scrollable ? v.rail.drag.ck = c > 0 ? "h" : !1 : v.rail.drag.ck = !1, v.rail.drag.ck || (v.rail.drag.dl = "f") } if (v.opt.touchbehavior && v.isiframe && x.isie) { var d = v.win.position(); 862 v.rail.drag.x += d.left, v.rail.drag.y += d.top } if (v.hasmoving = !1, v.lastmouseup = !1, v.scrollmom.reset(e.clientX, e.clientY), !x.cantouch && !this.istouchcapable && !e.pointerType) { var u = o ? /INPUT|SELECT|TEXTAREA/i.test(o.nodeName) : !1; if (!u) return !v.ispage && x.hasmousecapture && o.setCapture(), v.opt.touchbehavior ? (o.onclick && !o._onclick && (o._onclick = o.onclick, o.onclick = function(e) { return v.hasmoving ? !1 : void o._onclick.call(this, e) }), v.cancelEvent(e)) : v.stopPropagation(e); /SUBMIT|CANCEL|BUTTON/i.test(a(o).attr("type")) && (pc = { tg: o, click: !1 }, v.preventclick = pc) } } }, v.ontouchend = function(e) { if (!v.rail.drag) return !0; if (2 == v.rail.drag.pt) { if (e.pointerType && 2 != e.pointerType && "touch" != e.pointerType) return !1; if (v.scrollmom.doMomentum(), v.rail.drag = !1, v.hasmoving && (v.lastmouseup = !0, v.hideCursor(), x.hasmousecapture && document.releaseCapture(), !x.cantouch)) return v.cancelEvent(e) } else if (1 == v.rail.drag.pt) return v.onmouseup(e) }; var z = v.opt.touchbehavior && v.isiframe && !x.hasmousecapture; 863 v.ontouchmove = function(e, o) { if (!v.rail.drag) return !1; if (e.targetTouches && v.opt.preventmultitouchscrolling && e.targetTouches.length > 1) return !1; if (e.pointerType && 2 != e.pointerType && "touch" != e.pointerType) return !1; if (2 == v.rail.drag.pt) { if (x.cantouch && x.isios && "undefined" == typeof e.original) return !0; 864 v.hasmoving = !0, v.preventclick && !v.preventclick.click && (v.preventclick.click = v.preventclick.tg.onclick || !1, v.preventclick.tg.onclick = v.onpreventclick); var t = a.extend({ original: e }, e); if (e = t, "changedTouches" in e && (e.clientX = e.changedTouches[0].clientX, e.clientY = e.changedTouches[0].clientY), v.forcescreen) { var r = e; 865 e = { original: e.original ? e.original : e }, e.clientX = r.screenX, e.clientY = r.screenY } var i, n; if (n = i = 0, z && !o) { var s = v.win.position(); 866 n = -s.left, i = -s.top } var l = e.clientY + i, 867 c = l - v.rail.drag.y, 868 d = e.clientX + n, 869 u = d - v.rail.drag.x, 870 h = v.rail.drag.st - c; 871 v.ishwscroll && v.opt.bouncescroll ? 0 > h ? h = Math.round(h / 2) : h > v.page.maxh && (h = v.page.maxh + Math.round((h - v.page.maxh) / 2)) : (0 > h && (h = 0, l = 0), h > v.page.maxh && (h = v.page.maxh, l = 0)); var p; 872 v.railh && v.railh.scrollable && (p = v.isrtlmode ? u - v.rail.drag.sl : v.rail.drag.sl - u, v.ishwscroll && v.opt.bouncescroll ? 0 > p ? p = Math.round(p / 2) : p > v.page.maxw && (p = v.page.maxw + Math.round((p - v.page.maxw) / 2)) : (0 > p && (p = 0, d = 0), p > v.page.maxw && (p = v.page.maxw, d = 0))); var m = !1; if (v.rail.drag.dl) m = !0, "v" == v.rail.drag.dl ? p = v.rail.drag.sl : "h" == v.rail.drag.dl && (h = v.rail.drag.st); 873 else { var f = Math.abs(c), 874 g = Math.abs(u), 875 w = v.opt.directionlockdeadzone; if ("v" == v.rail.drag.ck) { if (f > w && .3 * f >= g) return v.rail.drag = !1, !0; 876 g > w && (v.rail.drag.dl = "f", a("body").scrollTop(a("body").scrollTop())) } else if ("h" == v.rail.drag.ck) { if (g > w && .3 * g >= f) return v.rail.drag = !1, !0; 877 f > w && (v.rail.drag.dl = "f", a("body").scrollLeft(a("body").scrollLeft())) } } if (v.synched("touchmove", function() { v.rail.drag && 2 == v.rail.drag.pt && (v.prepareTransition && v.prepareTransition(0), v.rail.scrollable && v.setScrollTop(h), v.scrollmom.update(d, l), v.railh && v.railh.scrollable ? (v.setScrollLeft(p), v.showCursor(h, p)) : v.showCursor(h), x.isie10 && document.selection.clear()) }), x.ischrome && v.istouchcapable && (m = !1), m) return v.cancelEvent(e) } else if (1 == v.rail.drag.pt) return v.onmousemove(e) } } 878 if (v.onmousedown = function(e, o) { if (!v.rail.drag || 1 == v.rail.drag.pt) { if (v.railslocked) return v.cancelEvent(e); 879 v.cancelScroll(), v.rail.drag = { x: e.clientX, y: e.clientY, sx: v.scroll.x, sy: v.scroll.y, pt: 1, hr: !!o }; var t = v.getTarget(e); return !v.ispage && x.hasmousecapture && t.setCapture(), v.isiframe && !x.hasmousecapture && (v.saved.csspointerevents = v.doc.css("pointer-events"), v.css(v.doc, { "pointer-events": "none" })), v.hasmoving = !1, v.cancelEvent(e) } }, v.onmouseup = function(e) { return v.rail.drag ? 1 != v.rail.drag.pt ? !0 : (x.hasmousecapture && document.releaseCapture(), v.isiframe && !x.hasmousecapture && v.doc.
879css("pointer-events", v.saved.csspointerevents), v.rail.drag = !1, v.hasmoving && v.triggerScrollEnd(), v.cancelEvent(e)) : void 0 }, v.onmousemove = function(e) { if (v.rail.drag) { if (1 != v.rail.drag.pt) return; if (x.ischrome && 0 == e.which) return v.onmouseup(e); if (v.cursorfreezed = !0, v.hasmoving = !0, v.rail.drag.hr) { v.scroll.x = v.rail.drag.sx + (e.clientX - v.rail.drag.x), v.scroll.x < 0 && (v.scroll.x = 0); var o = v.scrollvaluemaxw; 880 v.scroll.x > o && (v.scroll.x = o) } else { v.scroll.y = v.rail.drag.sy + (e.clientY - v.rail.drag.y), v.scroll.y < 0 && (v.scroll.y = 0); var t = v.scrollvaluemax; 881 v.scroll.y > t && (v.scroll.y = t) } return v.synched("mousemove", function() { v.rail.drag && 1 == v.rail.drag.pt && (v.showCursor(), v.rail.drag.hr ? v.hasreversehr ? v.doScrollLeft(v.scrollvaluemaxw - Math.round(v.scroll.x * v.scrollratio.x), v.opt.cursordragspeed) : v.doScrollLeft(Math.round(v.scroll.x * v.scrollratio.x), v.opt.cursordragspeed) : v.doScrollTop(Math.round(v.scroll.y * v.scrollratio.y), v.opt.cursordragspeed)) }), v.cancelEvent(e) } v.checkarea = 0 }, x.cantouch || v.opt.touchbehavior) v.onpreventclick = function(e) { return v.preventclick ? (v.preventclick.tg.onclick = v.preventclick.click, v.preventclick = !1, v.cancelEvent(e)) : void 0 }, v.bind(v.win, "mousedown", v.ontouchstart), v.onclick = x.isios ? !1 : function(e) { return v.lastmouseup ? (v.lastmouseup = !1, v.cancelEvent(e)) : !0 }, v.opt.grabcursorenabled && x.cursorgrabvalue && (v.css(v.ispage ? v.doc : v.win, { cursor: x.cursorgrabvalue }), v.css(v.rail, { cursor: x.cursorgrabvalue })); 882 else { var T = function(e) { if (v.selectiondrag) { if (e) { var o = v.win.outerHeight(), 883 t = e.pageY - v.selectiondrag.top; 884 t > 0 && o > t && (t = 0), t >= o && (t -= o), v.selectiondrag.df = t } if (0 != v.selectiondrag.df) { var r = 2 * -Math.floor(v.selectiondrag.df / 6); 885 v.doScrollBy(r), v.debounced("doselectionscroll", function() { T() }, 50) } } }; "getSelection" in document ? v.hasTextSelected = function() { return document.getSelection().rangeCount > 0 } : "selection" in document ? v.hasTextSelected = function() { return "None" != document.selection.type } : v.hasTextSelected = function() { return !1 }, v.onselectionstart = function(e) { v.ispage || (v.selectiondrag = v.win.offset()) }, v.onselectionend = function(e) { v.selectiondrag = !1 }, v.onselectiondrag = function(e) { v.selectiondrag && v.hasTextSelected() && v.debounced("selectionscroll", function() { T(e) }, 250) } } x.hasw3ctouch ? (v.css(v.rail, { "touch-action": "none" }), v.css(v.cursor, { "touch-action": "none" }), v.bind(v.win, "pointerdown", v.ontouchstart), v.bind(document, "pointerup", v.ontouchend), v.bind(document, "pointermove", v.ontouchmove)) : x.hasmstouch ? (v.css(v.rail, { "-ms-touch-action": "none" }), v.css(v.cursor, { "-ms-touch-action": "none" }), v.bind(v.win, "MSPointerDown", v.ontouchstart), v.bind(document, "MSPointerUp", v.ontouchend), v.bind(document, "MSPointerMove", v.ontouchmove), v.bind(v.cursor, "MSGestureHold", function(e) { e.preventDefault() }), v.bind(v.cursor, "contextmenu", function(e) { e.preventDefault() })) : this.istouchcapable && (v.bind(v.win, "touchstart", v.ontouchstart), v.bind(document, "touchend", v.ontouchend), v.bind(document, "touchcancel", v.ontouchend), v.bind(document, "touchmove", v.ontouchmove)), (v.opt.cursordragontouch || !x.cantouch && !v.opt.touchbehavior) && (v.rail.css({ cursor: "default" }), v.railh && v.railh.css({ cursor: "default" }), v.jqbind(v.rail, "mouseenter", function() { return v.ispage || v.win.is(":visible") ? (v.canshowonmouseevent && v.showCursor(), void(v.rail.active = !0)) : !1 }), v.jqbind(v.rail, "mouseleave", function() { v.rail.active = !1, v.rail.drag || v.hideCursor() }), v.opt.sensitiverail && (v.bind(v.rail, "click", function(e) { v.doRailClick(e, !1, !1) }), v.bind(v.rail, "dblclick", function(e) { v.doRailClick(e, !0, !1) }
885), v.bind(v.cursor, "click", function(e) { v.cancelEvent(e) }), v.bind(v.cursor, "dblclick", function(e) { v.cancelEvent(e) })), v.railh && (v.jqbind(v.railh, "mouseenter", function() { return v.ispage || v.win.is(":visible") ? (v.canshowonmouseevent && v.showCursor(), void(v.rail.active = !0)) : !1 }), v.jqbind(v.railh, "mouseleave", function() { v.rail.active = !1, v.rail.drag || v.hideCursor() }), v.opt.sensitiverail && (v.bind(v.railh, "click", function(e) { v.doRailClick(e, !1, !0) }), v.bind(v.railh, "dblclick", function(e) { v.doRailClick(e, !0, !0) }), v.bind(v.cursorh, "click", function(e) { v.cancelEvent(e) }), v.bind(v.cursorh, "dblclick", function(e) { v.cancelEvent(e) })))), x.cantouch || v.opt.touchbehavior ? (v.bind(x.hasmousecapture ? v.win : document, "mouseup", v.ontouchend), v.bind(document, "mousemove", v.ontouchmove), v.onclick && v.bind(document, "click", v.onclick), v.opt.cursordragontouch && (v.bind(v.cursor, "mousedown", v.onmousedown), v.bind(v.cursor, "mouseup", v.onmouseup), v.cursorh && v.bind(v.cursorh, "mousedown", function(e) { v.onmousedown(e, !0) }), v.cursorh && v.bind(v.cursorh, "mouseup", v.onmouseup))) : (v.bind(x.hasmousecapture ? v.win : document, "mouseup", v.onmouseup), v.bind(document, "mousemove", v.onmousemove), v.onclick && v.bind(document, "click", v.onclick), v.bind(v.cursor, "mousedown", v.onmousedown), v.bind(v.cursor, "mouseup", v.onmouseup), v.railh && (v.bind(v.cursorh, "mousedown", function(e) { v.onmousedown(e, !0) }), v.bind(v.cursorh, "mouseup", v.onmouseup)), !v.ispage && v.opt.enablescrollonselection && (v.bind(v.win[0], "mousedown", v.onselectionstart), v.bind(document, "mouseup", v.onselectionend), v.bind(v.cursor, "mouseup", v.onselectionend), v.cursorh && v.bind(v.cursorh, "mouseup", v.onselectionend), v.bind(document, "mousemove", v.onselectiondrag)), v.zoom && (v.jqbind(v.zoom, "mouseenter", function() { v.canshowonmouseevent && v.showCursor(), v.rail.active = !0 }), v.jqbind(v.zoom, "mouseleave", function() { v.rail.active = !1, v.rail.drag || v.hideCursor() }))), v.opt.enablemousewheel && (v.isiframe || v.bind(x.isie && v.ispage ? document : v.win, "mousewheel", v.onmousewheel), v.bind(v.rail, "mousewheel", v.onmousewheel), v.railh && v.bind(v.railh, "mousewheel", v.onmousewheelhr)), v.ispage || x.cantouch || /HTML|^BODY/.test(v.win[0].nodeName) || (v.win.attr("tabindex") || v.win.attr({ tabindex: n++ }), v.jqbind(v.win, "focus", function(e) { r = v.getTarget(e).id || !0, v.hasfocus = !0, v.canshowonmouseevent && v.noticeCursor() }), 886 v.jqbind(v.win, "blur", function(e) { r = !1, v.hasfocus = !1 }), v.jqbind(v.win, "mouseenter", function(e) { i = v.getTarget(e).id || !0, v.hasmousefocus = !0, v.canshowonmouseevent && v.noticeCursor() }), v.jqbind(v.win, "mouseleave", function() { i = !1, v.hasmousefocus = !1, v.rail.drag || v.hideCursor() })) 887 } 888 if (v.onkeypress = function(e) { if (v.railslocked && 0 == v.page.maxh) return !0; 889 e = e ? e : window.e; var o = v.getTarget(e); if (o && /INPUT|TEXTAREA|SELECT|OPTION/.test(o.nodeName)) { var t = o.getAttribute("type") || o.type || !1; if (!t || !/submit|button|cancel/i.tp) return !0 } if (a(o).attr("contenteditable")) return !0; if (v.hasfocus || v.hasmousefocus && !r || v.ispage && !r && !i) { var n = e.keyCode; if (v.railslocked && 27 != n) return v.cancelEvent(e); var s = e.ctrlKey || !1, 890 l = e.shiftKey || !1, 891 c = !1; switch (n) { 892 case 38: 893 case 63233: 894 v.doScrollBy(72), c = !0; break; 895 case 40: 896 case 63235: 897 v.doScrollBy(-72), c = !0; break; 898 case 37: 899 case 63232: 900 v.railh && (s ? v.doScrollLeft(0) : v.doScrollLeftBy(72), c = !0); break; 901 case 39: 902 case 63234: 903 v.railh && (s ? v.doScrollLeft(v.page.maxw) : v.doScrollLeftBy(-72), c = !0); break; 904 case 33: 905 case 63276: 906 v.doScrollBy(v.view.h), c = !0; break; 907 case 34: 908 case 63277: 909 v.doScrollBy(-v.view.h), c = !0; break; 910 case 36: 911 case 63273: 912 v.railh && s ? v.doScrollPos(0, 0) : v.doScrollTo(0), c = !0; break; 913 case 35: 914 case 63275: 915 v.railh && s ? v.doScrollPos(v.page.maxw, v.page.maxh) : v.doScrollTo(v.page.maxh), c = !0; break; 916 case 32: 917 v.opt.spacebarenabled && (l ? v.doScrollBy(v.view.h) : v.doScrollBy(-v.view.h), c = !0); break; 918 case 27: 919 v.zoomactive && (v.doZoom(), c = !0) } if (c) return v.cancelEvent(e) } }, v.opt.enablekeyboard && v.bind(document, x.isopera && !x.isopera12 ? "keypress" : "keydown", v.onkeypress), v.bind(document, "keydown", function(e) { var o = e.ctrlKey || !1; 920 o && (v.wheelprevented = !0) }), v.bind(document, "keyup", function(e) { var o = e.ctrlKey || !1; 921 o || (v.wheelprevented = !1) }), v.bind(window, "blur", function(e) { v.wheelprevented = !1 }), v.bind(window, "resize", v.lazyResize), v.bind(window, "orientationchange", v.lazyResize), v.bind(window, "load", v.lazyResize), x.ischrome && !v.ispage && !v.haswrapper) { var k = v.win.attr("style"), 922 M = parseFloat(v.win.css("width")) + 1; 923 v.win.css("width", M), v.synched("chromefix", function() { v.
923win.attr("style", k) }) } v.onAttributeChange = function(e) { v.lazyResize(v.isieold ? 250 : 30) }, m !== !1 && (v.observerbody = new m(function(e) { return e.forEach(function(e) { return "attributes" == e.type ? a("body").hasClass("modal-open") && !a.contains(a(".modal-dialog")[0], v.doc[0]) ? v.hide() : v.show() : void 0 }), document.body.scrollHeight != v.page.maxh ? v.lazyResize(30) : void 0 }), v.observerbody.observe(document.body, { childList: !0, subtree: !0, characterData: !1, attributes: !0, attributeFilter: ["class"] })), v.ispage || v.haswrapper || (m !== !1 ? (v.observer = new m(function(e) { e.forEach(v.onAttributeChange) }), v.observer.observe(v.win[0], { childList: !0, characterData: !1, attributes: !0, subtree: !1 }), v.observerremover = new m(function(e) { e.forEach(function(e) { if (e.removedNodes.length > 0) 924 for (var o in e.removedNodes) 925 if (v && e.removedNodes[o] == v.win[0]) return v.remove() }) }), v.observerremover.observe(v.win[0].parentNode, { childList: !0, characterData: !1, attributes: !1, subtree: !1 })) : (v.bind(v.win, x.isie && !x.isie9 ? "propertychange" : "DOMAttrModified", v.onAttributeChange), x.isie9 && v.win[0].attachEvent("onpropertychange", v.onAttributeChange), v.bind(v.win, "DOMNodeRemoved", function(e) { e.target == v.win[0] && v.remove() }))), !v.ispage && v.opt.boxzoom && v.bind(window, "resize", v.resizeZoom), v.istextarea && (v.bind(v.win, "keydown", v.lazyResize), v.bind(v.win, "mouseup", v.lazyResize)), v.lazyResize(30) 926 } 927 if ("IFRAME" == this.doc[0].nodeName) { var E = function() { v.iframexd = !1; var e; try { e = "contentDocument" in this ? this.contentDocument : this.contentWindow.document; 928 e.domain } catch (o) { v.iframexd = !0, e = !1 } if (v.iframexd) return !0; if (v.forcescreen = !0, v.isiframe && (v.iframe = { doc: a(e), html: v.doc.contents().find("html")[0], body: v.doc.contents().find("body")[0] }, v.getContentSize = function() { return { w: Math.max(v.iframe.html.scrollWidth, v.iframe.body.scrollWidth), h: Math.max(v.iframe.html.scrollHeight, v.iframe.body.scrollHeight) } }, v.docscroll = a(v.iframe.body)), !x.isios && v.opt.iframeautoresize && !v.isiframe) { v.win.scrollTop(0), v.doc.height(""); var t = Math.max(e.getElementsByTagName("html")[0].scrollHeight, e.body.scrollHeight); 929 v.doc.height(t) } v.lazyResize(30), x.isie7 && v.css(a(v.iframe.html), { "overflow-y": "hidden" }), v.css(a(v.iframe.body), { "overflow-y": "hidden" }), x.isios && v.haswrapper && v.css(a(e.body), { "-webkit-transform": "translate3d(0,0,0)" }), "contentWindow" in this ? v.bind(this.contentWindow, "scroll", v.onscroll) : v.bind(e, "scroll", v.onscroll), v.opt.enablemousewheel && v.bind(e, "mousewheel", v.onmousewheel), v.opt.enablekeyboard && v.bind(e, x.isopera ? "keypress" : "keydown", v.onkeypress), (x.cantouch || v.opt.touchbehavior) && (v.bind(e, "mousedown", v.ontouchstart), v.bind(e, "mousemove", function(e) { return v.ontouchmove(e, !0) }), v.opt.grabcursorenabled && x.cursorgrabvalue && v.css(a(e.body), { cursor: x.cursorgrabvalue })), v.bind(e, "mouseup", v.ontouchend), v.zoom && (v.opt.dblclickzoom && v.bind(e, "dblclick", v.doZoom), v.ongesturezoom && v.bind(e, "gestureend", v.ongesturezoom)) }; 930 this.doc[0].readyState && "complete" == this.doc[0].readyState && setTimeout(function() { E.call(v.doc[0], !1) }, 500), v.bind(this.doc, "load", E) } 931 }, this.showCursor = function(e, o) { if (v.cursortimeout && (clearTimeout(v.cursortimeout), v.cursortimeout = 0), v.rail) { if (v.autohidedom && (v.autohidedom.stop().css({ opacity: v.opt.cursoropacitymax }), v.cursoractive = !0), v.rail.drag && 1 == v.rail.drag.pt || ("undefined" != typeof e && e !== !1 && (v.scroll.y = Math.round(1 * e / v.scrollratio.y)), "undefined" != typeof o && (v.scroll.x = Math.round(1 * o / v.scrollratio.x))), v.cursor.css({ height: v.cursorheight, top: v.scroll.y }), v.cursorh) { var t = v.hasreversehr ? v.scrollvaluemaxw - v.scroll.x : v.scroll.x;!v.rail.align && v.rail.visibility ? v.cursorh.css({ width: v.cursorwidth, left: t + v.rail.width }) : v.cursorh.css({ width: v.cursorwidth, left: t }), v.cursoractive = !0 } v.zoom && v.zoom.stop().css({ opacity: v.opt.cursoropacitymax }) } }, this.hideCursor = function(e) { v.cursortimeout || v.rail && v.autohidedom && (v.hasmousefocus && "leave" == v.opt.autohidemode || (v.cursortimeout = setTimeout(function() { v.rail.active && v.showonmouseevent || (v.autohidedom.stop().animate({ opacity: v.opt.cursoropacitymin }), v.zoom && v.zoom.stop().animate({ opacity: v.opt.cursoropacitymin }), v.cursoractive = !1), v.cursortimeout = 0 }
931, e || v.opt.hidecursordelay))) }, this.noticeCursor = function(e, o, t) { v.showCursor(o, t), v.rail.active || v.hideCursor(e) }, this.getContentSize = v.ispage ? function() { return { w: Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), h: Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) } } : v.haswrapper ? function() { return { w: v.doc.outerWidth() + parseInt(v.win.css("paddingLeft")) + parseInt(v.win.css("paddingRight")), h: v.doc.outerHeight() + parseInt(v.win.css("paddingTop")) + parseInt(v.win.css("paddingBottom")) } } : function() { return { w: v.docscroll[0].scrollWidth, h: v.docscroll[0].scrollHeight } }, this.onResize = function(e, o) { if (!v || !v.win) return !1; if (!v.haswrapper && !v.ispage) { if ("none" == v.win.css("display")) return v.visibility && v.hideRail().hideRailHr(), !1; 932 v.hidden || v.visibility || v.showRail().showRailHr() } var t = v.page.maxh, 933 r = v.page.maxw, 934 i = { h: v.view.h, w: v.view.w }; if (v.view = { w: v.ispage ? v.win.width() : parseInt(v.win[0].clientWidth), h: v.ispage ? v.win.height() : parseInt(v.win[0].clientHeight) }, v.page = o ? o : v.getContentSize(), v.page.maxh = Math.max(0, v.page.h - v.view.h), v.page.maxw = Math.max(0, v.page.w - v.view.w), v.page.maxh == t && v.page.maxw == r && v.view.w == i.w && v.view.h == i.h) { if (v.ispage) return v; var n = v.win.offset(); if (v.lastposition) { var s = v.lastposition; if (s.top == n.top && s.left == n.left) return v } v.lastposition = n } if (0 == v.page.maxh ? (v.hideRail(), v.scrollvaluemax = 0, v.scroll.y = 0, v.scrollratio.y = 0, v.cursorheight = 0, v.setScrollTop(0), v.rail && (v.rail.scrollable = !1)) : (v.page.maxh -= v.opt.railpadding.top + v.opt.railpadding.bottom, v.rail.scrollable = !0), 0 == v.page.maxw ? (v.hideRailHr(), v.scrollvaluemaxw = 0, v.scroll.x = 0, v.scrollratio.x = 0, v.cursorwidth = 0, v.setScrollLeft(0), v.railh && (v.railh.scrollable = !1)) : (v.page.maxw -= v.opt.railpadding.left + v.opt.railpadding.right, v.railh && (v.railh.scrollable = v.opt.horizrailenabled)), v.railslocked = v.locked || 0 == v.page.maxh && 0 == v.page.maxw, v.railslocked) return v.ispage || v.updateScrollBar(v.view), !1; 935 v.hidden || v.visibility ? !v.railh || v.hidden || v.railh.visibility || v.showRailHr() : v.showRail().showRailHr(), v.istextarea && v.win.css("resize") && "none" != v.win.css("resize") && (v.view.h -= 20), v.cursorheight = Math.min(v.view.h, Math.round(v.view.h * (v.view.h / v.page.h))), v.cursorheight = v.opt.cursorfixedheight ? v.opt.cursorfixedheight : Math.max(v.opt.cursorminheight, v.cursorheight), v.cursorwidth = Math.min(v.view.w, Math.round(v.view.w * (v.view.w / v.page.w))), v.cursorwidth = v.opt.cursorfixedheight ? v.opt.cursorfixedheight : Math.max(v.opt.cursorminheight, v.cursorwidth), v.scrollvaluemax = v.view.h - v.cursorheight - v.cursor.hborder - (v.opt.railpadding.top + v.opt.railpadding.bottom), v.railh && (v.railh.width = v.page.maxh > 0 ? v.view.w - v.rail.width : v.view.w, v.scrollvaluemaxw = v.railh.width - v.cursorwidth - v.cursorh.wborder - (v.opt.railpadding.left + v.opt.railpadding.right)), v.ispage || v.updateScrollBar(v.view), v.scrollratio = { x: v.page.maxw / v.scrollvaluemaxw, y: v.page.maxh / v.scrollvaluemax }; var l = v.getScrollTop(); return l > v.page.maxh ? v.doScrollTop(v.page.maxh) : (v.scroll.y = Math.round(v.getScrollTop() * (1 / v.scrollratio.y)), v.scroll.x = Math.round(v.getScrollLeft() * (1 / v.scrollratio.x)), v.cursoractive && v.noticeCursor()), v.scroll.y && 0 == v.getScrollTop() && v.doScrollTo(Math.floor(v.scroll.y * v.scrollratio.y)), v }, this.resize = v.onResize, this.lazyResize = function(e) { return e = isNaN(e) ? 30 : e, v.debounced("resize", v.resize, e), v }, this.jqbind = function(e, o, t) { v.events.push({ e: e, n: o, f: t, q: !0 }), a(e).bind(o, t) }, this.bind = function(e, o, t, r) { var i = "jquery" in e ? e[0] : e; if ("mousewheel" == o) 936 if ("onwheel" in v.win) v._bind(i, "wheel", t, r || !1); 937 else { var n = "undefined" != typeof document.onmousewheel ? "mousewheel" : "DOMMouseScroll"; 938 p(i, n, t, r || !1), "DOMMouseScroll" == n && p(i, "MozMousePixelScroll", t, r || !1) } else if (i.addEventListener) { if (x.cantouch && /mouseup|mousedown|mousemove/.test(o)) { var s = "mousedown" == o ? "touchstart" : "mouseup" == o ? "touchend" : "touchmove"; 939 v._bind(i, s, function(e) { if (e.touches) { if (e.touches.length < 2) { var o = e.touches.length ? e.touches[0] : e; 940 o.original = e, t.call(this, o) } } else if (e.changedTouches) { var o = e.changedTouches[0]; 941 o.original = e, t.call(this, o) } }, r || !1) } v._bind(i, o, t, r || !1), x.cantouch && "mouseup" == o && v._bind(i, "touchcancel", t, r || !1) } else v._bind(i, o, function(e) { return e = e || window.event || !1, e && e.srcElement && (e.target = e.srcElement), "pageY" in e || (e.pageX = e.clientX + document.documentElement.scrollLeft, e.pageY = e.clientY + document.documentElement.scrollTop), t.call(i, e) === !1 || r === !1 ? v.cancelEvent(e) : !0 }) }, x.haseventlistener ? (this._bind = function(e, o, t, r) { v.events.push({ e: e, n: o, f: t, b: r, q: !1 }), e.addEventListener(o, t, r || !1) }, this.cancelEvent = function(e) { if (!e) return !1; var e = e.original ? e.original : e; return e.preventDefault(), e.stopPropagation(), e.preventManipulation && e.preventManipulation(), !1 }, this.stopPropagation = function(e) { if (!e) return !1; var e = e.original ? e.original : e; return e.stopPropagation(), !1 }, this._unbind = function(e, o, t, r) { e.removeEventListener(o, t, r) }) : (this._bind = function(e, o, t, r) { v.events.push({ e: e, n: o, f: t, b: r, q: !1 }), e.attachEvent ? e.attachEvent("on" + o, t) : e["on" + o] = t }, this.cancelEvent = function(e) { var e = window.event || !1; return e ? (e.cancelBubble = !0, e.cancel = !0, e.returnValue = !1, !1) : !1 }, this.stopPropagation = function(e) { var e = window.event || !1; return e ? (e.cancelBubble = !0, !1) : !1 }, this._unbind = function(e, o, t, r) { e.detachEvent ? e.detachEvent("on" + o, t) : e["on" + o] = !1 }), this.unbindAll = function() { for (var e = 0; e < v.events.length; e++) { var o = v.events[e]; 942 o.q ? o.e.unbind(o.n, o.f) : v._unbind(o.e, o.n, o.f, o.b) } }, this.showRail = function() { return 0 == v.page.maxh || !v.ispage && "none" == v.win.css("display") || (v.visibility = !0, v.rail.visibility = !0, v.rail.css("display", "block")), v }, this.showRailHr = function() { return v.railh ? (0 == v.page.maxw || !v.ispage && "none" == v.win.css("display") || (v.railh.visibility = !0, v.railh.css("display", "block")), v) : v }, this.hideRail = function() { return v.visibility = !1, v.rail.visibility = !1, v.rail.css("display", "none"), v }, this.hideRailHr = function() { return v.railh ? (v.railh.visibility = !1, v.railh.css("display", "none"), v) : v }, this.show = function() { return v.hidden = !1, v.railslocked = !1, v.showRail().showRailHr() }, this.hide = function() { return v.hidden = !0, v.railslocked = !0, v.hideRail().hideRailHr() }, this.toggle = function() { return v.hidden ? v.show() : v.hide() }, this.remove = function() { v.stop(), v.cursortimeout && clearTimeout(v.cursortimeout), v.debouncedelayed && clearTimeout(v.debouncedelayed), v.doZoomOut(), v.unbindAll(), x.isie9 && v.
942win[0].detachEvent("onpropertychange", v.onAttributeChange), v.observer !== !1 && v.observer.disconnect(), v.observerremover !== !1 && v.observerremover.disconnect(), v.observerbody !== !1 && v.observerbody.disconnect(), v.events = null, v.cursor && v.cursor.remove(), v.cursorh && v.cursorh.remove(), v.rail && v.rail.remove(), v.railh && v.railh.remove(), v.zoom && v.zoom.remove(); for (var e = 0; e < v.saved.css.length; e++) { var o = v.saved.css[e]; 943 o[0].css(o[1], "undefined" == typeof o[2] ? "" : o[2]) } v.saved = !1, v.me.data("__nicescroll", ""); var t = a.nicescroll; 944 t.each(function(e) { if (this && this.id === v.id) { delete t[e]; for (var o = ++e; o < t.length; o++, e++) t[e] = t[o]; 945 t.length--, t.length && delete t[t.length] } }); for (var r in v) v[r] = null, delete v[r]; 946 v = null }, this.scrollstart = function(e) { return this.onscrollstart = e, v }, this.scrollend = function(e) { return this.onscrollend = e, v }, this.scrollcancel = function(e) { return this.onscrollcancel = e, v }, this.zoomin = function(e) { return this.onzoomin = e, v }, this.zoomout = function(e) { return this.onzoomout = e, v }, this.isScrollable = function(e) { var o = e.target ? e.target : e; if ("OPTION" == o.nodeName) return !0; for (; o && 1 == o.nodeType && !/^BODY|HTML/.test(o.nodeName);) { var t = a(o), 947 r = t.css("overflowY") || t.css("overflowX") || t.css("overflow") || ""; if (/scroll|auto/.test(r)) return o.clientHeight != o.scrollHeight; 948 o = o.parentNode ? o.parentNode : !1 } return !1 }, this.getViewport = function(e) { for (var o = e && e.parentNode ? e.parentNode : !1; o && 1 == o.nodeType && !/^BODY|HTML/.test(o.nodeName);) { var t = a(o); if (/fixed|absolute/.test(t.css("position"))) return t; var r = t.css("overflowY") || t.css("overflowX") || t.css("overflow") || ""; if (/scroll|auto/.test(r) && o.clientHeight != o.scrollHeight) return t; if (t.getNiceScroll().length > 0) return t; 949 o = o.parentNode ? o.parentNode : !1 } return !1 }, this.triggerScrollEnd = function() { if (v.onscrollend) { var e = v.getScrollLeft(), 950 o = v.getScrollTop(), 951 t = { type: "scrollend", current: { x: e, y: o }, end: { x: e, y: o } }; 952 v.onscrollend.call(v, t) } }, this.onmousewheel = function(e) { if (!v.wheelprevented) { if (v.railslocked) return v.debounced("checkunlock", v.resize, 250), !0; if (v.rail.drag) return v.cancelEvent(e); if ("auto" == v.opt.oneaxismousemode && 0 != e.deltaX && (v.opt.oneaxismousemode = !1), v.opt.oneaxismousemode && 0 == e.deltaX && !v.rail.scrollable) return v.railh && v.railh.scrollable ? v.onmousewheelhr(e) : !0; var o = +new Date, 953 t = !1; if (v.opt.preservenativescrolling && v.checkarea + 600 < o && (v.nativescrollingarea = v.isScrollable(e), t = !0), v.checkarea = o, v.nativescrollingarea) return !0; var r = g(e, !1, t); return r && (v.checkarea = 0), r } }, this.onmousewheelhr = function(e) { if (!v.wheelprevented) { if (v.railslocked || !v.railh.scrollable) return !0; if (v.rail.drag) return v.cancelEvent(e); var o = +new Date, 954 t = !1; return v.opt.preservenativescrolling && v.checkarea + 600 < o && (v.nativescrollingarea = v.isScrollable(e), t = !0), v.checkarea = o, v.nativescrollingarea ? !0 : v.railslocked ? v.cancelEvent(e) : g(e, !0, t) } }, this.stop = function() { return v.cancelScroll(), v.scrollmon && v.scrollmon.stop(), v.cursorfreezed = !1, v.scroll.y = Math.round(v.getScrollTop() * (1 / v.scrollratio.y)), v.noticeCursor(), v }, this.getTransitionSpeed = function(e) { var o = Math.round(10 * v.opt.scrollspeed), 955 t = Math.min(o, Math.round(e / 20 * v.opt.scrollspeed)); return t > 20 ? t : 0 }, v.opt.smoothscroll ? v.ishwscroll && x.hastransition && v.opt.usetransition && v.opt.smoothscroll ? (this.prepareTransition = function(e, o) { var t = o ? e > 20 ? e : 0 : v.getTransitionSpeed(e), 956 r = t ? x.prefixstyle + "transform " + t + "ms ease-out" : ""; return v.lasttransitionstyle && v.lasttransitionstyle == r || (v.lasttransitionstyle = r, v.doc.css(x.transitionstyle, r)), t }, this.doScrollLeft = function(e, o) { var t = v.scrollrunning ? v.newscrolly : v.getScrollTop(); 957 v.doScrollPos(e, t, o) }, this.doScrollTop = function(e, o) { var t = v.scrollrunning ? v.newscrollx : v.getScrollLeft(); 958 v.doScrollPos(t, e, o) }, this.doScrollPos = function(e, o, t) { var r = v.getScrollTop(), 959 i = v.getScrollLeft(); return ((v.newscrolly - r) * (o - r) < 0 || (v.newscrollx - i) * (e - i) < 0) && v.cancelScroll(), 0 == v.opt.bouncescroll && (0 > o ? o = 0 : o > v.page.maxh && (o = v.page.maxh), 0 > e ? e = 0 : e > v.page.maxw && (e = v.page.maxw)), v.scrollrunning && e == v.newscrollx && o == v.newscrolly ? !1 : (v.newscrolly = o, v.newscrollx = e, v.newscrollspeed = t || !1, v.timer ? !1 : void(v.timer = setTimeout(function() { var t = v.getScrollTop(), 960 r = v.getScrollLeft(), 961 i = {}; 962 i.x = e - r, i.y = o - t, i.px = r, i.py = t; var n = Math.round(Math.sqrt(Math.pow(i.x, 2) + Math.pow(i.y, 2))), 963 s = v.newscrollspeed && v.newscrollspeed > 1 ? v.newscrollspeed : v.getTransitionSpeed(n);
963 if (v.newscrollspeed && v.newscrollspeed <= 1 && (s *= v.newscrollspeed), v.prepareTransition(s, !0), v.timerscroll && v.timerscroll.tm && clearInterval(v.timerscroll.tm), s > 0) { if (!v.scrollrunning && v.onscrollstart) { var l = { type: "scrollstart", current: { x: r, y: t }, request: { x: e, y: o }, end: { x: v.newscrollx, y: v.newscrolly }, speed: s }; 964 v.onscrollstart.call(v, l) } x.transitionend ? v.scrollendtrapped || (v.scrollendtrapped = !0, v.bind(v.doc, x.transitionend, v.onScrollTransitionEnd, !1)) : (v.scrollendtrapped && clearTimeout(v.scrollendtrapped), v.scrollendtrapped = setTimeout(v.onScrollTransitionEnd, s)); var a = t, 965 c = r; 966 v.timerscroll = { bz: new z(a, v.newscrolly, s, 0, 0, .58, 1), bh: new z(c, v.newscrollx, s, 0, 0, .58, 1) }, v.cursorfreezed || (v.timerscroll.tm = setInterval(function() { v.showCursor(v.getScrollTop(), v.getScrollLeft()) }, 60)) } v.synched("doScroll-set", function() { v.timer = 0, v.scrollendtrapped && (v.scrollrunning = !0), v.setScrollTop(v.newscrolly), v.setScrollLeft(v.newscrollx), v.scrollendtrapped || v.onScrollTransitionEnd() }) }, 50))) }, this.cancelScroll = function() { if (!v.scrollendtrapped) return !0; var e = v.getScrollTop(), 967 o = v.getScrollLeft(); return v.scrollrunning = !1, x.transitionend || clearTimeout(x.transitionend), v.scrollendtrapped = !1, v._unbind(v.doc[0], x.transitionend, v.onScrollTransitionEnd), v.prepareTransition(0), v.setScrollTop(e), v.railh && v.setScrollLeft(o), v.timerscroll && v.timerscroll.tm && clearInterval(v.timerscroll.tm), v.timerscroll = !1, v.cursorfreezed = !1, v.showCursor(e, o), v }, this.onScrollTransitionEnd = function() { v.scrollendtrapped && v._unbind(v.doc[0], x.transitionend, v.onScrollTransitionEnd), v.scrollendtrapped = !1, v.prepareTransition(0), v.timerscroll && v.timerscroll.tm && clearInterval(v.timerscroll.tm), v.timerscroll = !1; var e = v.getScrollTop(), 968 o = v.getScrollLeft(); return v.setScrollTop(e), v.railh && v.setScrollLeft(o), v.noticeCursor(!1, e, o), v.cursorfreezed = !1, 0 > e ? e = 0 : e > v.page.maxh && (e = v.page.maxh), 0 > o ? o = 0 : o > v.page.maxw && (o = v.page.maxw), e != v.newscrolly || o != v.newscrollx ? v.doScrollPos(o, e, v.opt.snapbackspeed) : (v.onscrollend && v.scrollrunning && v.triggerScrollEnd(), void(v.scrollrunning = !1)) }) : (this.doScrollLeft = function(e, o) { var t = v.scrollrunning ? v.newscrolly : v.getScrollTop(); 969 v.doScrollPos(e, t, o) }, this.doScrollTop = function(e, o) { var t = v.scrollrunning ? v.newscrollx : v.getScrollLeft(); 970 v.doScrollPos(t, e, o) }, this.doScrollPos = function(e, o, t) { 971 function r() { if (v.cancelAnimationFrame) return !0; if (v.scrollrunning = !0, h = 1 - h) return v.timer = d(r) || 1; var e, o, t = 0, 972 i = o = v.getScrollTop(); if (v.dst.ay) { i = v.bzscroll ? v.dst.py + v.bzscroll.getNow() * v.dst.ay : v.newscrolly; var n = i - o; 973 (0 > n && i < v.newscrolly || n > 0 && i > v.newscrolly) && (i = v.newscrolly), v.setScrollTop(i), i == v.newscrolly && (t = 1) } else t = 1; var s = e = v.getScrollLeft(); if (v.dst.ax) { s = v.bzscroll ? v.dst.px + v.bzscroll.getNow() * v.dst.ax : v.newscrollx; var n = s - e; 974 (0 > n && s < v.newscrollx || n > 0 && s > v.newscrollx) && (s = v.newscrollx), v.setScrollLeft(s), s == v.newscrollx && (t += 1) } else t += 1; 975 2 == t ? (v.timer = 0, v.cursorfreezed = !1, v.bzscroll = !1, v.scrollrunning = !1, 0 > i ? i = 0 : i > v.page.maxh && (i = v.page.maxh), 0 > s ? s = 0 : s > v.page.maxw && (s = v.page.maxw), s != v.newscrollx || i != v.newscrolly ? v.doScrollPos(s, i) : v.onscrollend && v.triggerScrollEnd()) : v.timer = d(r) || 1 } var o = "undefined" == typeof o || o === !1 ? v.getScrollTop(!0) : o; if (v.timer && v.newscrolly == o && v.newscrollx == e) return !0; 976 v.timer && u(v.timer), v.timer = 0; var i = v.getScrollTop(), 977 n = v.getScrollLeft(); 978 ((v.newscrolly - i) * (o - i) < 0 || (v.newscrollx - n) * (e - n) < 0) && v.cancelScroll(), v.newscrolly = o, v.newscrollx = e, v.bouncescroll && v.rail.visibility || (v.newscrolly < 0 ? v.newscrolly = 0 : v.newscrolly > v.page.maxh && (v.newscrolly = v.page.maxh)), v.bouncescroll && v.railh.visibility || (v.newscrollx < 0 ? v.newscrollx = 0 : v.newscrollx > v.page.maxw && (v.newscrollx = v.page.maxw)), v.dst = {}
978, v.dst.x = e - n, v.dst.y = o - i, v.dst.px = n, v.dst.py = i; var s = Math.round(Math.sqrt(Math.pow(v.dst.x, 2) + Math.pow(v.dst.y, 2))); 979 v.dst.ax = v.dst.x / s, v.dst.ay = v.dst.y / s; var l = 0, 980 a = s; 981 0 == v.dst.x ? (l = i, a = o, v.dst.ay = 1, v.dst.py = 0) : 0 == v.dst.y && (l = n, a = e, v.dst.ax = 1, v.dst.px = 0); var c = v.getTransitionSpeed(s); if (t && 1 >= t && (c *= t), c > 0 ? v.bzscroll = v.bzscroll ? v.bzscroll.update(a, c) : new z(l, a, c, 0, 1, 0, 1) : v.bzscroll = !1, !v.timer) { 982 (i == v.page.maxh && o >= v.page.maxh || n == v.page.maxw && e >= v.page.maxw) && v.checkContentSize(); var h = 1; if (v.cancelAnimationFrame = !1, v.timer = 1, v.onscrollstart && !v.scrollrunning) { var p = { type: "scrollstart", current: { x: n, y: i }, request: { x: e, y: o }, end: { x: v.newscrollx, y: v.newscrolly }, speed: c }; 983 v.onscrollstart.call(v, p) } r(), (i == v.page.maxh && o >= i || n == v.page.maxw && e >= n) && v.checkContentSize(), v.noticeCursor() } }, this.cancelScroll = function() { return v.timer && u(v.timer), v.timer = 0, v.bzscroll = !1, v.scrollrunning = !1, v }) : (this.doScrollLeft = function(e, o) { var t = v.getScrollTop(); 984 v.doScrollPos(e, t, o) }, this.doScrollTop = function(e, o) { var t = v.getScrollLeft(); 985 v.doScrollPos(t, e, o) }, this.doScrollPos = function(e, o, t) { var r = e > v.page.maxw ? v.page.maxw : e; 986 0 > r && (r = 0); var i = o > v.page.maxh ? v.page.maxh : o; 987 0 > i && (i = 0), v.synched("scroll", function() { v.setScrollTop(i), v.setScrollLeft(r) }) }, this.cancelScroll = function() {}), this.doScrollBy = function(e, o) { var t = 0; if (o) t = Math.floor((v.scroll.y - e) * v.scrollratio.y); 988 else { var r = v.timer ? v.newscrolly : v.getScrollTop(!0); 989 t = r - e } if (v.bouncescroll) { var i = Math.round(v.view.h / 2); - i > t ? t = -i : t > v.page.maxh + i && (t = v.page.maxh + i) } v.cursorfreezed = !1; var n = v.getScrollTop(!0); return 0 > t && 0 >= n ? v.noticeCursor() : t > v.page.maxh && n >= v.page.maxh ? (v.checkContentSize(), v.noticeCursor()) : void v.doScrollTop(t) }, this.doScrollLeftBy = function(e, o) { var t = 0; if (o) t = Math.floor((v.scroll.x - e) * v.scrollratio.x); 990 else { var r = v.timer ? v.newscrollx : v.getScrollLeft(!0); 991 t = r - e } if (v.bouncescroll) { var i = Math.round(v.view.w / 2); - i > t ? t = -i : t > v.page.maxw + i && (t = v.page.maxw + i) } v.cursorfreezed = !1; var n = v.getScrollLeft(!0); return 0 > t && 0 >= n ? v.noticeCursor() : t > v.page.maxw && n >= v.page.maxw ? v.noticeCursor() : void v.doScrollLeft(t) }, this.doScrollTo = function(e, o) { var t = o ? Math.round(e * v.scrollratio.y) : e; 992 0 > t ? t = 0 : t > v.page.maxh && (t = v.page.maxh), v.cursorfreezed = !1, v.doScrollTop(e) }, this.checkContentSize = function() { var e = v.getContentSize(); 993 (e.h != v.page.h || e.w != v.page.w) && v.resize(!1, e) }, v.onscroll = function(e) { v.rail.drag || v.cursorfreezed || v.synched("scroll", function() { v.scroll.y = Math.round(v.getScrollTop() * (1 / v.scrollratio.y)), v.railh && (v.scroll.x = Math.round(v.getScrollLeft() * (1 / v.scrollratio.x))), v.noticeCursor() }) }, v.bind(v.docscroll, "scroll", v.onscroll), this.doZoomIn = function(e) { if (!v.zoomactive) { v.zoomactive = !0, v.zoomrestore = { style: {} }; var o = ["position", "top", "left", "zIndex", "backgroundColor", "marginTop", "marginBottom", "marginLeft", "marginRight"], 994 t = v.win[0].style; for (var r in o) { var i = o[r]; 995 v.zoomrestore.style[i] = "undefined" != typeof t[i] ? t[i] : "" } v.zoomrestore.style.width = v.win.css("width"), v.zoomrestore.style.height = v.win.css("height"), v.zoomrestore.padding = { w: v.win.outerWidth() - v.win.width(), h: v.win.outerHeight() - v.win.height() }, x.isios4 && (v.zoomrestore.scrollTop = a(window).scrollTop(), a(window).scrollTop(0)), v.win.css({ position: x.isios4 ? "absolute" : "fixed", top: 0, left: 0, "z-index": l + 100, margin: "0px" }); var n = v.win.css("backgroundColor");
995 return ("" == n || /transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(n)) && v.win.css("backgroundColor", "#fff"), v.rail.css({ "z-index": l + 101 }), v.zoom.css({ "z-index": l + 102 }), v.zoom.css("backgroundPosition", "0px -18px"), v.resizeZoom(), v.onzoomin && v.onzoomin.call(v), v.cancelEvent(e) } }, this.doZoomOut = function(e) { return v.zoomactive ? (v.zoomactive = !1, v.win.css("margin", ""), v.win.css(v.zoomrestore.style), x.isios4 && a(window).scrollTop(v.zoomrestore.scrollTop), v.rail.css({ "z-index": v.zindex }), v.zoom.css({ "z-index": v.zindex }), v.zoomrestore = !1, v.zoom.css("backgroundPosition", "0px 0px"), v.onResize(), v.onzoomout && v.onzoomout.call(v), v.cancelEvent(e)) : void 0 }, this.doZoom = function(e) { return v.zoomactive ? v.doZoomOut(e) : v.doZoomIn(e) }, this.resizeZoom = function() { if (v.zoomactive) { var e = v.getScrollTop(); 996 v.win.css({ width: a(window).width() - v.zoomrestore.padding.w + "px", height: a(window).height() - v.zoomrestore.padding.h + "px" }), v.onResize(), v.setScrollTop(Math.min(v.page.maxh, e)) } }, this.init(), a.nicescroll.push(this) 997 }, 998 b = function(e) { var o = this; 999 this.nc = e, this.lastx = 0, this.lasty = 0, this.speedx = 0, this.speedy = 0, this.lasttime = 0, this.steptime = 0, this.snapx = !1, this.snapy = !1, this.demulx = 0, this.demuly = 0, this.lastscrollx = -1, this.lastscrolly = -1, this.chkx = 0, this.chky = 0, this.timer = 0, this.time = function() { return +new Date }, this.reset = function(e, t) { o.stop(); var r = o.time(); 1000 o.steptime = 0, o.lasttime = r, o.speedx = 0, o.speedy = 0, o.lastx = e, o.lasty = t, o.lastscrollx = -1, o.lastscrolly = -1 }, this.update = function(e, t) { var r = o.time(); 1001 o.steptime = r - o.lasttime, o.lasttime = r; var i = t - o.lasty, 1002 n = e - o.lastx, 1003 s = o.nc.getScrollTop(), 1004 l = o.nc.getScrollLeft(), 1005 a = s + i, 1006 c = l + n; 1007 o.snapx = 0 > c || c > o.nc.page.maxw, o.snapy = 0 > a || a > o.nc.page.maxh, o.speedx = n, o.speedy = i, o.lastx = e, o.lasty = t }, this.stop = function() { o.nc.unsynched("domomentum2d"), o.timer && clearTimeout(o.timer), o.timer = 0, o.lastscrollx = -1, o.lastscrolly = -1 }, this.doSnapy = function(e, t) { var r = !1; 1008 0 > t ? (t = 0, r = !0) : t > o.nc.page.maxh && (t = o.nc.page.maxh, r = !0), 0 > e ? (e = 0, r = !0) : e > o.nc.page.maxw && (e = o.nc.page.maxw, r = !0), r ? o.nc.doScrollPos(e, t, o.nc.opt.snapbackspeed) : o.nc.triggerScrollEnd() }, this.doMomentum = function(e) { var t = o.time(), 1009 r = e ? t + e : o.lasttime, 1010 i = o.nc.getScrollLeft(), 1011 n = o.nc.getScrollTop(), 1012 s = o.nc.page.maxh, 1013 l = o.nc.page.maxw; 1014 o.speedx = l > 0 ? Math.min(60, o.speedx) : 0, o.speedy = s > 0 ? Math.min(60, o.speedy) : 0; var a = r && 60 >= t - r; 1015 (0 > n || n > s || 0 > i || i > l) && (a = !1); var c = o.speedy && a ? o.speedy : !1, 1016 d = o.speedx && a ? o.speedx : !1; if (c || d) { var u = Math.max(16, o.steptime); if (u > 50) { var h = u / 50; 1017 o.speedx *= h, o.speedy *= h, u = 50 } o.demulxy = 0, o.lastscrollx = o.nc.getScrollLeft(), o.chkx = o.lastscrollx, o.lastscrolly = o.nc.getScrollTop(), o.chky = o.lastscrolly; var p = o.lastscrollx, 1018 m = o.lastscrolly, 1019 f = function() { var e = o.time() - t > 600 ? .04 : .02; 1020 o.speedx && (p = Math.floor(o.lastscrollx - o.speedx * (1 - o.demulxy)), o.lastscrollx = p, (0 > p || p > l) && (e = .1)), o.speedy && (m = Math.floor(o.lastscrolly - o.speedy * (1 - o.demulxy)), o.lastscrolly = m, (0 > m || m > s) && (e = .1)), o.demulxy = Math.min(1, o.demulxy + e), o.nc.synched("domomentum2d", function() { if (o.speedx) { var e = o.nc.getScrollLeft(); 1021 e != o.chkx && o.stop(), o.chkx = p, o.nc.setScrollLeft(p) } if (o.speedy) { var t = o.nc.getScrollTop(); 1022 t != o.chky && o.stop(), o.chky = m, o.nc.setScrollTop(m) } o.timer || (o.nc.hideCursor(), o.doSnapy(p, m)) }), o.demulxy < 1 ? o.timer = setTimeout(f, u) : (o.stop(), o.nc.hideCursor(), o.doSnapy(p, m)) }; 1023 f() } else o.doSnapy(o.nc.getScrollLeft(), o.nc.getScrollTop()) } }, 1024 y = e.fn.scrollTop; 1025 e.cssHooks.pageYOffset = { get: function(e, o, t) { var r = a.data(e, "__nicescroll") || !1; return r && r.ishwscroll ? r.getScrollTop() : y.call(e) }, set: function(e, o) { var t = a.data(e, "__nicescroll") || !1; return t && t.ishwscroll ? t.setScrollTop(parseInt(o)) : y.call(e, o), this } }, e.fn.scrollTop = function(e) { if ("undefined" == typeof e) { var o = this[0] ? a.data(this[0], "__nicescroll") || !1 : !1; return o && o.ishwscroll ? o.getScrollTop() : y.call(this) } return this.each(function() { var o = a.data(this, "__nicescroll") || !1; 1026 o && o.ishwscroll ? o.setScrollTop(parseInt(e)) : y.call(a(this), e) }) }; 1027 var x = e.fn.scrollLeft; 1028 a.cssHooks.pageXOffset = { get: function(e, o, t) { var r = a.data(e, "__nicescroll") || !1; return r && r.ishwscroll ? r.getScrollLeft() : x.call(e) }, set: function(e, o) { var t = a.data(e, "__nicescroll") || !1; return t && t.ishwscroll ? t.setScrollLeft(parseInt(o)) : x.call(e, o), this } }, e.fn.scrollLeft = function(e) { if ("undefined" == typeof e) { var o = this[0] ? a.data(this[0], "__nicescroll") || !1 : !1; return o && o.ishwscroll ? o.getScrollLeft() : x.call(this) } return this.each(function() { var o = a.data(this, "__nicescroll") || !1; 1029 o && o.ishwscroll ? o.setScrollLeft(parseInt(e)) : x.call(a(this), e) }) }; 1030 var S = function(e) { var o = this; if (this.length = 0, this.name = "nicescrollarray", this.each = function(e) { for (var t = 0, r = 0; t < o.length; t++) e.call(o[t], r++); return o }, this.push = function(e) { o[o.length] = e, o.length++ }, this.eq = function(e) { return o[e] }, e) 1031 for (var t = 0; t < e.length; t++) { var r = a.data(e[t], "__nicescroll") || !1; 1032 r && (this[this.length] = r, this.length++) } 1033 return this }; 1034 t(S.prototype, ["show", "hide", "toggle", "onResize", "resize", "remove", "stop", "doScrollPos"], function(e, o) { e[o] = function() { var e = arguments; return this.each(function() { this[o].apply(this, e) }) } }), e.fn.getNiceScroll = function(e) { if ("undefined" == typeof e) return new S(this); var o = this[e] && a.data(this[e], "__nicescroll") || !1; return o }, e.extend(e.expr[":"], { nicescroll: function(e) { return a.data(e, "__nicescroll") ? !0 : !1 } }), a.fn.niceScroll = function(e, o) { "undefined" == typeof o && ("object" != typeof e || "jquery" in e || (o = e, e = !1)), o = a.extend({}, o); var t = new S; "undefined" == typeof o && (o = {}), e && (o.doc = a(e), o.win = a(this)); var r = !("doc" in o); return r || "win" in o || (o.win = a(this)), this.each(function() { var e = a(this).data("__nicescroll") || !1; 1035 e || (o.doc = r ? a(this) : o.doc, e = new v(o, a(this)), a(this).data("__nicescroll", e)), t.push(e) }), 1 == t.length ? t[0] : t }, window.NiceScroll = { getjQuery: function() { return e } }, a.nicescroll || (a.nicescroll = new S, a.nicescroll.options = f) 1036}); 1037 1038/** 1039 * Slider 1040 * Slick.js 1041 * 1.8.0 | Ken Wheeler | http://kenwheeler.github.io | MIT license 1042 */ 1043 1044! function(i) { "use strict"; "function" == typeof define && define.amd ? define(["jquery"], i) : "undefined" != typeof exports ? module.exports = i(require("jquery")) : i(jQuery) }(function(i) { "use strict"; var e = window.Slick || {}; 1045 (e = function() { var e = 0; return function(t, o) { var s, n = this; 1046 n.defaults = { accessibility: !0, adaptiveHeight: !1, appendArrows: i(t), appendDots: i(t), arrows: !0, asNavFor: null, prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>', autoplay: !1, autoplaySpeed: 3e3, centerMode: !1, centerPadding: "50px", cssEase: "ease", customPaging: function(e, t) { return i('<button type="button" />').text(t + 1) }, dots: !1, dotsClass: "slick-dots", draggable: !0, easing: "linear", edgeFriction: .35, fade: !1, focusOnSelect: !1, focusOnChange: !1, infinite: !0, initialSlide: 0, lazyLoad: "ondemand", mobileFirst: !1, pauseOnHover: !0, pauseOnFocus: !0, pauseOnDotsHover: !1, respondTo: "window", responsive: null, rows: 1, rtl: !1, slide: "", slidesPerRow: 1, slidesToShow: 1, slidesToScroll: 1, speed: 500, swipe: !0, swipeToSlide: !1, touchMove: !0, touchThreshold: 5, useCSS: !0, useTransform: !0, variableWidth: !1, vertical: !1, verticalSwiping: !1, waitForAnimate: !0, zIndex: 1e3 }, n.initials = { animating: !1, dragging: !1, autoPlayTimer: null, currentDirection: 0, currentLeft: null, currentSlide: 0, direction: 1, $dots: null, listWidth: null, listHeight: null, loadIndex: 0, $nextArrow: null, $prevArrow: null, scrolling: !1, slideCount: null, slideWidth: null, $slideTrack: null, $slides: null, sliding: !1, slideOffset: 0, swipeLeft: null, swiping: !1, $list: null, touchObject: {}, transformsEnabled: !1, unslicked: !1 }, i.extend(n, n.initials), n.activeBreakpoint = null, n.animType = null, n.animProp = null, n.breakpoints = [], n.breakpointSettings = [], n.cssTransitions = !1, n.focussed = !1, n.interrupted = !1, n.hidden = "hidden", n.paused = !0, n.positionProp = null, n.respondTo = null, n.rowCount = 1, n.shouldClick = !0, n.$slider = i(t), n.$slidesCache = null, n.transformType = null, n.transitionType = null, n.visibilityChange = "visibilitychange", n.windowWidth = 0, n.windowTimer = null, s = i(t).data("slick") || {}, n.options = i.extend({}, n.defaults, o, s), n.currentSlide = n.options.initialSlide, n.originalSettings = n.options, void 0 !== document.mozHidden ? (n.hidden = "mozHidden", n.visibilityChange = "mozvisibilitychange") : void 0 !== document.webkitHidden && (n.hidden = "webkitHidden", n.visibilityChange = "webkitvisibilitychange"), n.autoPlay = i.proxy(n.autoPlay, n), n.autoPlayClear = i.proxy(n.autoPlayClear, n), n.autoPlayIterator = i.proxy(n.autoPlayIterator, n), n.changeSlide = i.proxy(n.changeSlide, n), n.clickHandler = i.proxy(n.clickHandler, n), n.selectHandler = i.proxy(n.selectHandler, n), n.setPosition = i.proxy(n.setPosition, n), n.swipeHandler = i.proxy(n.swipeHandler, n), n.dragHandler = i.proxy(n.dragHandler, n), n.keyHandler = i.proxy(n.keyHandler, n), n.instanceUid = e++, n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, n.registerBreakpoints(), n.init(!0) } }()).prototype.activateADA = function() { this.$slideTrack.find(".slick-active").attr({ "aria-hidden": "false" }).find("a, input, button, select").attr({ tabindex: "0" }) }, e.prototype.addSlide = e.prototype.slickAdd = function(e, t, o) { var s = this; if ("boolean" == typeof t) o = t, t = null; 1047 else if (t < 0 || t >= s.slideCount) return !1; 1048 s.unload(), "number" == typeof t ? 0 === t && 0 === s.$slides.length ? i(e).appendTo(s.$slideTrack) : o ? i(e).insertBefore(s.$slides.eq(t)) : i(e).insertAfter(s.$slides.eq(t)) : !0 === o ? i(e).prependTo(s.$slideTrack) : i(e).appendTo(s.$slideTrack), s.$slides = s.$slideTrack.children(this.options.slide), s.$slideTrack.children(this.options.slide).detach(), s.$slideTrack.append(s.$slides), s.$slides.each(function(e, t) { i(t).attr("data-slick-index", e) }), s.$slidesCache = s.$slides, s.reinit() }, e.prototype.animateHeight = function() { var i = this; if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) { var e = i.$slides.eq(i.currentSlide).outerHeight(!0); 1049 i.$list.animate({ height: e }, i.options.speed) } }, e.prototype.animateSlide = function(e, t) { var o = {}, 1050 s = this; 1051 s.animateHeight(), !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({ left: e }, s.options.speed, s.options.easing, t) : s.$slideTrack.animate({ top: e }, s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), i({ animStart: s.currentLeft }).animate({ animStart: e }, { duration: s.options.speed, easing: s.options.easing, step: function(i) { i = Math.ceil(i), !1 === s.options.vertical ? (o[s.animType] = "translate(" + i + "px, 0px)", s.$slideTrack.css(o)) : (o[s.animType] = "translate(0px," + i + "px)", s.$slideTrack.css(o)) }, complete: function() { t && t.call() } }
1051)) : (s.applyTransition(), e = Math.ceil(e), !1 === s.options.vertical ? o[s.animType] = "translate3d(" + e + "px, 0px, 0px)" : o[s.animType] = "translate3d(0px," + e + "px, 0px)", s.$slideTrack.css(o), t && setTimeout(function() { s.disableTransition(), t.call() }, s.options.speed)) }, e.prototype.getNavTarget = function() { var e = this, 1052 t = e.options.asNavFor; return t && null !== t && (t = i(t).not(e.$slider)), t }, e.prototype.asNavFor = function(e) { var t = this.getNavTarget(); 1053 null !== t && "object" == typeof t && t.each(function() { var t = i(this).slick("getSlick"); 1054 t.unslicked || t.slideHandler(e, !0) }) }, e.prototype.applyTransition = function(i) { var e = this, 1055 t = {};!1 === e.options.fade ? t[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase : t[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase, !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t) }, e.prototype.autoPlay = function() { var i = this; 1056 i.autoPlayClear(), i.slideCount > i.options.slidesToShow && (i.autoPlayTimer = setInterval(i.autoPlayIterator, i.options.autoplaySpeed)) }, e.prototype.autoPlayClear = function() { var i = this; 1057 i.autoPlayTimer && clearInterval(i.autoPlayTimer) }, e.prototype.autoPlayIterator = function() { var i = this, 1058 e = i.currentSlide + i.options.slidesToScroll; 1059 i.paused || i.interrupted || i.focussed || (!1 === i.options.infinite && (1 === i.direction && i.currentSlide + 1 === i.slideCount - 1 ? i.direction = 0 : 0 === i.direction && (e = i.currentSlide - i.options.slidesToScroll, i.currentSlide - 1 == 0 && (i.direction = 1))), i.slideHandler(e)) }, e.prototype.buildArrows = function() { var e = this;!0 === e.options.arrows && (e.$prevArrow = i(e.options.prevArrow).addClass("slick-arrow"), e.$nextArrow = i(e.options.nextArrow).addClass("slick-arrow"), e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows), !0 !== e.options.infinite && e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({ "aria-disabled": "true", tabindex: "-1" })) }, e.prototype.buildDots = function() { var e, t, o = this; if (!0 === o.options.dots) { for (o.$slider.addClass("slick-dotted"), t = i("<ul />").addClass(o.options.dotsClass), e = 0; e <= o.getDotCount(); e += 1) t.append(i("<li />").append(o.options.customPaging.call(this, o, e))); 1060 o.$dots = t.appendTo(o.options.appendDots), o.$dots.find("li").first().addClass("slick-active") } }, e.prototype.buildOut = function() { var e = this; 1061 e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), e.slideCount = e.$slides.length, e.$slides.each(function(e, t) { i(t).attr("data-slick-index", e).data("originalStyling", i(t).attr("style") || "") }), e.$slider.addClass("slick-slider"), e.$slideTrack = 0 === e.slideCount ? i('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent(), e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent(), e.$slideTrack.css("opacity", 0), !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1), i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), !0 === e.options.draggable && e.$list.addClass("draggable") }, e.prototype.buildRows = function() { var i, e, t, o, s, n, r, l = this; if (o = document.createDocumentFragment(), n = l.$slider.children(), l.options.rows > 1) { for (r = l.options.slidesPerRow * l.options.rows, s = Math.ceil(n.length / r), i = 0; i < s; i++) { var d = document.createElement("div"); for (e = 0; e < l.options.rows; e++) { var a = document.createElement("div"); for (t = 0; t < l.options.slidesPerRow; t++) { var c = i * r + (e * l.options.slidesPerRow + t); 1062 n.get(c) && a.appendChild(n.get(c)) } d.appendChild(a) } o.appendChild(d) } l.$slider.empty().append(o), l.$slider.children().children().children().css({ width: 100 / l.options.slidesPerRow + "%", display: "inline-block" }) } }, e.prototype.checkResponsive = function(e, t) { var o, s, n, r = this, 1063 l = !1, 1064 d = r.$slider.width(), 1065 a = window.innerWidth || i(window).width(); if ("window" === r.respondTo ? n = a : "slider" === r.respondTo ? n = d : "min" === r.respondTo && (n = Math.min(a, d)), r.options.responsive && r.options.responsive.length && null !== r.options.responsive) { s = null; for (o in r.breakpoints) r.breakpoints.hasOwnProperty(o) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[o] && (s = r.breakpoints[o]) : n > r.breakpoints[o] && (s = r.breakpoints[o])); 1066 null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.o
1066ptions = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : null !== r.activeBreakpoint && (r.activeBreakpoint = null, r.options = r.originalSettings, !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e), l = s), e || !1 === l || r.$slider.trigger("breakpoint", [r, l]) } }, e.prototype.changeSlide = function(e, t) { var o, s, n, r = this, 1067 l = i(e.currentTarget); switch (l.is("a") && e.preventDefault(), l.is("li") || (l = l.closest("li")), n = r.slideCount % r.options.slidesToScroll != 0, o = n ? 0 : (r.slideCount - r.currentSlide) % r.options.slidesToScroll, e.data.message) { 1068 case "previous": 1069 s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t); break; 1070 case "next": 1071 s = 0 === o ? r.options.slidesToScroll : o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t); break; 1072 case "index": 1073 var d = 0 === e.data.index ? 0 : e.data.index || l.index() * r.options.slidesToScroll; 1074 r.slideHandler(r.checkNavigable(d), !1, t), l.children().trigger("focus"); break; 1075 default: 1076 return } }, e.prototype.checkNavigable = function(i) { var e, t; if (e = this.getNavigableIndexes(), t = 0, i > e[e.length - 1]) i = e[e.length - 1]; 1077 else 1078 for (var o in e) { if (i < e[o]) { i = t; break } t = e[o] } 1079 return i }, e.prototype.cleanUpEvents = function() { var e = this; 1080 e.options.dots && null !== e.$dots && (i("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", i.proxy(e.interrupt, e, !0)).off("mouseleave.slick", i.proxy(e.interrupt, e, !1)), !0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)), e.$slider.off("focus.slick blur.slick"), !0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide), e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide), !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler), e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))), e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler), e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler), e.$list.off("touchend.slick mouseup.slick", e.swipeHandler), e.$list.off("touchcancel.slick mouseleave.
1080slick", e.swipeHandler), e.$list.off("click.slick", e.clickHandler), i(document).off(e.visibilityChange, e.visibility), e.cleanUpSlideEvents(), !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().off("click.slick", e.selectHandler), i(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange), i(window).off("resize.slick.slick-" + e.instanceUid, e.resize), i("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault), i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition) }, e.prototype.cleanUpSlideEvents = function() { var e = this; 1081 e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1)) }, e.prototype.cleanUpRows = function() { var i, e = this; 1082 e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(i)) }, e.prototype.clickHandler = function(i) {!1 === this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault()) }, e.prototype.destroy = function(e) { var t = this; 1083 t.autoPlayClear(), t.touchObject = {}, t.cleanUpEvents(), i(".slick-cloned", t.$slider).detach(), t.$dots && t.$dots.remove(), t.$prevArrow && t.$prevArrow.length && (t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()), t.$nextArrow && t.$nextArrow.length && (t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()), t.$slides && (t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() { i(this).attr("style", i(this).data("originalStyling")) }), t.$slideTrack.children(this.options.slide).detach(), t.$slideTrack.detach(), t.$list.detach(), t.$slider.append(t.$slides)), t.cleanUpRows(), t.$slider.removeClass("slick-slider"), t.$slider.removeClass("slick-initialized"), t.$slider.removeClass("slick-dotted"), t.unslicked = !0, e || t.$slider.trigger("destroy", [t]) }, e.prototype.disableTransition = function(i) { var e = this, 1084 t = {}; 1085 t[e.transitionType] = "", !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t) }, e.prototype.fadeSlide = function(i, e) { var t = this;!1 === t.cssTransitions ? (t.$slides.eq(i).css({ zIndex: t.options.zIndex }), t.$slides.eq(i).animate({ opacity: 1 }, t.options.speed, t.options.easing, e)) : (t.applyTransition(i), t.$slides.eq(i).css({ opacity: 1, zIndex: t.options.zIndex }), e && setTimeout(function() { t.disableTransition(i), e.call() }, t.options.speed)) }, e.prototype.fadeSlideOut = function(i) { var e = this;!1 === e.cssTransitions ? e.$slides.eq(i).animate({ opacity: 0, zIndex: e.options.zIndex - 2 }, e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({ opacity: 0, zIndex: e.options.zIndex - 2 })) }, e.prototype.filterSlides = e.prototype.slickFilter = function(i) { var e = this; 1086 null !== i && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit()) }, e.prototype.focusHandler = function() { var e = this; 1087 e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function(t) { t.stopImmediatePropagation(); var o = i(this); 1088 setTimeout(function() { e.options.pauseOnFocus && (e.focussed = o.is(":focus"), e.autoPlay()) }, 0) }) }, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function() { return this.currentSlide }, e.prototype.getDotCount = function() { var i = this, 1089 e = 0, 1090 t = 0, 1091 o = 0; if (!0 === i.options.infinite) 1092 if (i.slideCount <= i.options.slidesToShow) ++o; 1093 else 1094 for (; e < i.slideCount;) ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
1095 else if (!0 === i.options.centerMode) o = i.slideCount; 1096 else if (i.options.asNavFor) 1097 for (; e < i.slideCount;) ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow; 1098 else o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll); return o - 1 }, e.prototype.getLeft = function(i) { var e, t, o, s, n = this, 1099 r = 0; return n.slideOffset = 0, t = n.$slides.first().outerHeight(!0), !0 === n.options.infinite ? (n.slideCount > n.options.slidesToShow && (n.slideOffset = n.slideWidth * n.options.slidesToShow * -1, s = -1, !0 === n.options.vertical && !0 === n.options.centerMode && (2 === n.options.slidesToShow ? s = -1.5 : 1 === n.options.slidesToShow && (s = -2)), r = t * n.options.slidesToShow * s), n.slideCount % n.options.slidesToScroll != 0 && i + n.options.slidesToScroll > n.slideCount && n.slideCount > n.options.slidesToShow && (i > n.slideCount ? (n.slideOffset = (n.options.slidesToShow - (i - n.slideCount)) * n.slideWidth * -1, r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1) : (n.slideOffset = n.slideCount % n.options.slidesToScroll * n.slideWidth * -1, r = n.slideCount % n.options.slidesToScroll * t * -1))) : i + n.options.slidesToShow > n.slideCount && (n.slideOffset = (i + n.options.slidesToShow - n.slideCount) * n.slideWidth, r = (i + n.options.slidesToShow - n.slideCount) * t), n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0, r = 0), !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow ? n.slideOffset = n.slideWidth * Math.floor(n.options.slidesToShow) / 2 - n.slideWidth * n.slideCount / 2 : !0 === n.options.centerMode && !0 === n.options.infinite ? n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2) - n.slideWidth : !0 === n.options.centerMode && (n.slideOffset = 0, n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2)), e = !1 === n.options.vertical ? i * n.slideWidth * -1 + n.slideOffset : i * t * -1 + r, !0 === n.options.variableWidth && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, !0 === n.options.centerMode && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow + 1), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, e += (n.$list.width() - o.outerWidth()) / 2)), e }, e.prototype.getOption = e.prototype.slickGetOption = function(i) { return this.options[i] }, e.prototype.getNavigableIndexes = function() { var i, e = this, 1100 t = 0, 1101 o = 0, 1102 s = []; for (!1 === e.options.infinite ? i = e.slideCount : (t = -1 * e.options.slidesToScroll, o = -1 * e.options.slidesToScroll, i = 2 * e.slideCount); t < i;) s.push(t), t = o + e.options.slidesToScroll, o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow; return s }, e.prototype.getSlick = function() { return this }, e.prototype.getSlideCount = function() { var e, t, o = this; return t = !0 === o.options.centerMode ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0, !0 === o.options.swipeToSlide ? (o.$slideTrack.find(".slick-slide").each(function(s, n) { if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) return e = n, !1 }), Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll }, e.prototype.goTo = e.prototype.slickGoTo = function(i, e) { this.changeSlide({ data: { message: "index", index: parseInt(i) } }, e) }, e.prototype.init = function(e) { var t = this; 1103 i(t.$slider).hasClass("slick-initialized") || (i(t.$slider).addClass("slick-initialized"), t.buildRows(), t.buildOut(), t.setProps(), t.startLoad(), t.loadSlider(), t.initializeEvents(), t.updateArrows(), t.updateDots(), t.checkResponsive(!0), t.focusHandler()), e && t.$slider.trigger("init", [t]), !0 === t.options.accessibility && t.initADA(), t.options.autoplay && (t.paused = !1, t.autoPlay()) }, e.prototype.initADA = function() { var e = this,
1104 t = Math.ceil(e.slideCount / e.options.slidesToShow), 1105 o = e.getNavigableIndexes().filter(function(i) { return i >= 0 && i < e.slideCount }); 1106 e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({ "aria-hidden": "true", tabindex: "-1" }).find("a, input, button, select").attr({ tabindex: "-1" }), null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t) { var s = o.indexOf(t); 1107 i(this).attr({ role: "tabpanel", id: "slick-slide" + e.instanceUid + t, tabindex: -1 }), -1 !== s && i(this).attr({ "aria-describedby": "slick-slide-control" + e.instanceUid + s }) }), e.$dots.attr("role", "tablist").find("li").each(function(s) { var n = o[s]; 1108 i(this).attr({ role: "presentation" }), i(this).find("button").first().attr({ role: "tab", id: "slick-slide-control" + e.instanceUid + s, "aria-controls": "slick-slide" + e.instanceUid + n, "aria-label": s + 1 + " of " + t, "aria-selected": null, tabindex: "-1" }) }).eq(e.currentSlide).find("button").attr({ "aria-selected": "true", tabindex: "0" }).end()); for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++) e.$slides.eq(s).attr("tabindex", 0); 1109 e.activateADA() }, e.prototype.initArrowEvents = function() { var i = this;!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off("click.slick").on("click.slick", { message: "previous" }, i.changeSlide), i.$nextArrow.off("click.slick").on("click.slick", { message: "next" }, i.changeSlide), !0 === i.options.accessibility && (i.$prevArrow.on("keydown.slick", i.keyHandler), i.$nextArrow.on("keydown.slick", i.keyHandler))) }, e.prototype.initDotEvents = function() { var e = this;!0 === e.options.dots && (i("li", e.$dots).on("click.slick", { message: "index" }, e.changeSlide), !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)), !0 === e.options.dots && !0 === e.options.pauseOnDotsHover && i("li", e.$dots).on("mouseenter.slick", i.proxy(e.interrupt, e, !0)).on("mouseleave.slick", i.proxy(e.interrupt, e, !1)) }, e.prototype.initSlideEvents = function() { var e = this; 1110 e.options.pauseOnHover && (e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1))) }, e.prototype.initializeEvents = function() { var e = this; 1111 e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on("touchstart.slick mousedown.slick", { action: "start" }, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", { action: "move" }, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", { action: "end" }
vendor: 12,611 bytes, lines 1111-1147
1111, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", { action: "end" }, e.swipeHandler), e.$list.on("click.slick", e.clickHandler), i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), i(window).on("orientationchange.slick.slick-" + e.instanceUid, i.proxy(e.orientationChange, e)), i(window).on("resize.slick.slick-" + e.instanceUid, i.proxy(e.resize, e)), i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault), i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), i(e.setPosition) }, e.prototype.initUI = function() { var i = this;!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(), i.$nextArrow.show()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show() }, e.prototype.keyHandler = function(i) { var e = this; 1112 i.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({ data: { message: !0 === e.options.rtl ? "next" : "previous" } }) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({ data: { message: !0 === e.options.rtl ? "previous" : "next" } })) }, e.prototype.lazyLoad = function() { 1113 function e(e) { i("img[data-lazy]", e).each(function() { var e = i(this), 1114 t = i(this).attr("data-lazy"), 1115 o = i(this).attr("data-srcset"), 1116 s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"), 1117 r = document.createElement("img"); 1118 r.onload = function() { e.animate({ opacity: 0 }, 100, function() { o && (e.attr("srcset", o), s && e.attr("sizes", s)), e.attr("src", t).animate({ opacity: 1 }, 200, function() { e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading") }), n.$slider.trigger("lazyLoaded", [n, e, t]) }) }, r.onerror = function() { e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), n.$slider.trigger("lazyLoadError", [n, e, t]) }, r.src = t }) } var t, o, s, n = this; if (!0 === n.options.centerMode ? !0 === n.options.infinite ? s = (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) + n.options.slidesToShow + 2 : (o = Math.max(0, n.currentSlide - (n.options.slidesToShow / 2 + 1)), s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide) : (o = n.options.infinite ? n.options.slidesToShow + n.currentSlide : n.currentSlide, s = Math.ceil(o + n.options.slidesToShow), !0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)), t = n.$slider.find(".slick-slide").slice(o, s), "anticipated" === n.options.lazyLoad) 1119 for (var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0; a < n.options.slidesToScroll; a++) r < 0 && (r = n.slideCount - 1), t = (t = t.add(d.eq(r))).add(d.eq(l)), r--, l++; 1120 e(t), n.slideCount <= n.options.slidesToShow ? e(n.$slider.find(".slick-slide")) : n.currentSlide >= n.slideCount - n.options.slidesToShow ? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow)) : 0 === n.currentSlide && e(n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow)) }, e.prototype.loadSlider = function() { var i = this; 1121 i.setPosition(), i.$slideTrack.css({ opacity: 1 }), i.$slider.removeClass("slick-loading"), i.initUI(), "progressive" === i.options.lazyLoad && i.progressiveLazyLoad() }, e.prototype.next = e.prototype.slickNext = function() { this.changeSlide({ data: { message: "next" } }) }, e.prototype.orientationChange = function() { var i = this; 1122 i.checkResponsive(), i.setPosition() }, e.prototype.pause = e.prototype.slickPause = function() { var i = this; 1123 i.autoPlayClear(), i.paused = !0 }, e.prototype.play = e.prototype.slickPlay = function() { var i = this; 1124 i.autoPlay(), i.options.autoplay = !0, i.paused = !1, i.focussed = !1, i.interrupted = !1 }, e.prototype.postSlide = function(e) { var t = this; 1125 t.unslicked || (t.$slider.trigger("afterChange", [t, e]), t.animating = !1, t.slideCount > t.options.slidesToShow && t.setPosition(), t.swipeLeft = null, t.options.autoplay && t.autoPlay(), !0 === t.options.accessibility && (t.initADA(), t.options.focusOnChange && i(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus())) }, e.prototype.prev = e.prototype.slickPrev = function() { this.changeSlide({ data: { message: "previous" } }) }, e.prototype.preventDefault = function(i) { i.preventDefault() }, e.prototype.progressiveLazyLoad = function(e) { e = e || 1; var t, o, s, n, r, l = this, 1126 d = i("img[data-lazy]", l.$slider); 1127 d.length ? (t = d.first(), o = t.attr("data-lazy"), s = t.attr("data-srcset"), n = t.attr("data-sizes") || l.$slider.attr("data-sizes"), (r = document.createElement("img")).onload = function() { s && (t.attr("srcset", s), n && t.attr("sizes", n)), t.attr("src", o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"), !0 === l.options.adaptiveHeight && l.setPosition(), l.$slider.trigger("lazyLoaded", [l, t, o]), l.progressiveLazyLoad() }, r.onerror = function() { e < 3 ? setTimeout(function() { l.progressiveLazyLoad(e + 1) }, 500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), l.$slider.trigger("lazyLoadError", [l, t, o]), l.progressiveLazyLoad()) }, r.src = o) : l.$slider.trigger("allImagesLoaded", [l]) }, e.prototype.refresh = function(e) { var t, o, s = this; 1128 o = s.slideCount - s.options.slidesToShow, !s.options.infinite && s.currentSlide > o && (s.currentSlide = o), s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0), t = s.currentSlide, s.destroy(!0), i.extend(s, s.initials, { currentSlide: t }), s.init(), e || s.changeSlide({ data: { message: "index", index: t } }, !1) }, e.prototype.registerBreakpoints = function() { var e, t, o, s = this, 1129 n = s.options.responsive || null; if ("array" === i.type(n) && n.length) { s.respondTo = s.options.respondTo || "window"; for (e in n) 1130 if (o = s.breakpoints.length - 1, n.hasOwnProperty(e)) { for (t = n[e].breakpoint; o >= 0;) s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1), o--; 1131 s.breakpoints.push(t), s.breakpointSettings[t] = n[e].settings } s.breakpoints.sort(function(i, e) { return s.options.mobileFirst ? i - e : e - i }) } }, e.prototype.reinit = function() { var e = this; 1132 e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.cleanUpSlideEvents(), e.initSlideEvents(), e.checkResponsive(!1, !0), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), e.setPosition(), e.focusHandler(), e.paused = !e.options.autoplay, e.autoPlay(), e.$slider.trigger("reInit", [e]) }, e.prototype.resize = function() { var e = this; 1133 i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function() { e.windowWidth = i(window).width(), e.checkResponsive(), e.unslicked || e.setPosition() }, 50)) }, e.prototype.removeSlide = e.prototype.slickRemove = function(i, e, t) { var o = this; if (i = "boolean" == typeof i ? !0 === (e = i) ? 0 : o.slideCount - 1 : !0 === e ? --i : i, o.slideCount < 1 || i < 0 || i > o.slideCount - 1) return !1; 1134 o.unload(), !0 === t ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(i).remove(), o.$slides = o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slidesCache = o.$slides, o.reinit() }, e.prototype.setCSS = function(i) { var e, t, o = this, 1135 s = {};!0 === o.options.rtl && (i = -i), e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px", t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px", s[o.positionProp] = i, !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {}, !1 === o.cssTransitions ? (s[o.animType] = "translate(" + e + ", " + t + ")", o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)", o.$slideTrack.css(s))) }, e.prototype.setDimensions = function() { var i = this;!1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({ padding: "0px " + i.options.centerPadding }) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 === i.options.centerMode && i.$list.css({ padding: i.options.centerPadding + " 0px" })), i.listWidth = i.$list.width(), i.listHeight = i.$list.height(), !1 === i.options.vertical && !1 === i.options.variableWidth ? (i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow), i.$slideTrack.width(Math.ceil(i.slideWidth * i.$slideTrack.children(".slick-slide").length))) : !0 === i.options.variableWidth ? i.$slideTrack.width(5e3 * i.slideCount) : (i.slideWidth = Math.ceil(i.listWidth), i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0) * i.$slideTrack.children(".slick-slide").length))); var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();!1 === i.options.variableWidth && i.$slideTrack.children(".slick-slide").width(i.slideWidth - e) }, e.prototype.setFade = function() { var e, t = this; 1136 t.$slides.each(function(o, s) { e = t.slideWidth * o * -1, !0 === t.options.rtl ? i(s).css({ position: "relative", right: e, top: 0, zIndex: t.options.zIndex - 2, opacity: 0 }) : i(s).css({ position: "relative", left: e, top: 0, zIndex: t.options.zIndex - 2, opacity: 0 }) }), t.$slides.eq(t.currentSlide).css({ zIndex: t.options.zIndex - 1, opacity: 1 }) }, e.prototype.setHeight = function() { var i = this; if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) { var e = i.$slides.eq(i.currentSlide).outerHeight(!0); 1137 i.$list.css("height", e) } }, e.prototype.setOption = e.prototype.slickSetOption = function() { var e, t, o, s, n, r = this, 1138 l = !1; if ("object" === i.type(arguments[0]) ? (o = arguments[0], l = arguments[1], n = "multiple") : "string" === i.type(arguments[0]) && (o = arguments[0], s = arguments[1], l = arguments[2], "responsive" === arguments[0] && "array" === i.type(arguments[1]) ? n = "responsive" : void 0 !== arguments[1] && (n = "single")), "single" === n) r.options[o] = s; 1139 else if ("multiple" === n) i.each(o, function(i, e) { r.options[i] = e }); 1140 else if ("responsive" === n) 1141 for (t in s) 1142 if ("array" !== i.type(r.options.responsive)) r.options.responsive = [s[t]]; 1143 else { for (e = r.options.responsive.length - 1; e >= 0;) r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1), e--; 1144 r.options.responsive.push(s[t]) } l && (r.unload(), r.reinit()) }, e.prototype.setPosition = function() { var i = this; 1145 i.setDimensions(), i.setHeight(), !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(), i.$slider.trigger("setPosition", [i]) }, e.prototype.setProps = function() { var i = this, 1146 e = document.body.style; 1147 i.positionProp = !0 === i.options.vertical ? "top" : "left", "top" === i.positionProp ? i.$slider.addClass("slick-vertical") : i.$slider.removeClass("slick-vertical"), void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === i.options.useCSS && (i.cssTransitions = !0), i.options.fade && ("number" == typeof i.options.zIndex ? i.options.zIndex < 3 && (i.options.zIndex = 3) : i.options.zIndex = i.defaults.zIndex), void 0 !== e.OTransform && (i.animType = "OTransform", i.transformType = "-o-transform", i.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.MozTransform && (i.animType = "MozTransform", i.transformType = "-moz-transform", i.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (i.animType = !1)), void 0 !== e.webkitTransform && (i.animType = "
1147webkitTransform", i.transformType = "-webkit-transform", i.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.msTransform && (i.animType = "msTransform", i.transformType = "-ms-transform", i.transitionType = "msTransition", void 0 === e.msTransform && (i.animType = !1)), void 0 !== e.transform && !1 !== i.animType && (i.animType = "transform", i.transformType = "transform", i.transitionType = "transition"), i.transformsEnabled = i.options.useTransform && null !== i.animType && !1 !== i.animType }, e.prototype.setSlideClasses = function(i) { var e, t, o, s, n = this; if (t = n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), n.$slides.eq(i).addClass("slick-current"), !0 === n.options.centerMode) { var r = n.options.slidesToShow % 2 == 0 ? 1 : 0; 1148 e = Math.floor(n.options.slidesToShow / 2), !0 === n.options.infinite && (i >= e && i <= n.slideCount - 1 - e ? n.$slides.slice(i - e + r, i + e + 1).addClass("slick-active").attr("aria-hidden", "false") : (o = n.options.slidesToShow + i, t.slice(o - e + 1 + r, o + e + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === i ? t.eq(t.length - 1 - n.options.slidesToShow).addClass("slick-center") : i === n.slideCount - 1 && t.eq(n.options.slidesToShow).addClass("slick-center")), n.$slides.eq(i).addClass("slick-center") } else i >= 0 && i <= n.slideCount - n.options.slidesToShow ? n.$slides.slice(i, i + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : t.length <= n.options.slidesToShow ? t.addClass("slick-active").attr("aria-hidden", "false") : (s = n.slideCount % n.options.slidesToShow, o = !0 === n.options.infinite ? n.options.slidesToShow + i : i, n.options.slidesToShow == n.options.slidesToScroll && n.slideCount - i < n.options.slidesToShow ? t.slice(o - (n.options.slidesToShow - s), o + s).addClass("slick-active").attr("aria-hidden", "false") : t.slice(o, o + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false")); "ondemand" !== n.options.lazyLoad && "anticipated" !== n.options.lazyLoad || n.lazyLoad() }, e.prototype.setupInfinite = function() { var e, t, o, s = this; if (!0 === s.options.fade && (s.options.centerMode = !1), !0 === s.options.infinite && !1 === s.options.fade && (t = null, s.slideCount > s.options.slidesToShow)) { for (o = !0 === s.options.centerMode ? s.options.slidesToShow + 1 : s.options.slidesToShow, e = s.slideCount; e > s.slideCount - o; e -= 1) t = e - 1, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned"); for (e = 0; e < o + s.slideCount; e += 1) t = e, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned"); 1149 s.$slideTrack.find(".slick-cloned").find("[id]").each(function() { i(this).attr("id", "") }) } }, e.prototype.interrupt = function(i) { var e = this; 1150 i || e.autoPlay(), e.interrupted = i }, e.prototype.selectHandler = function(e) { var t = this, 1151 o = i(e.target).is(".slick-slide") ? i(e.target) : i(e.target).parents(".slick-slide"), 1152 s = parseInt(o.attr("data-slick-index")); 1153 s || (s = 0), t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s) }, e.prototype.slideHandler = function(i, e, t) { var o, s, n, r, l, d = null, 1154 a = this; if (e = e || !1, !(!0 === a.animating && !0 === a.options.waitForAnimate || !0 === a.options.fade && a.currentSlide === i)) 1155 if (!1 === e && a.asNavFor(i), o = i, d = a.getLeft(o), r = a.getLeft(a.currentSlide), a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft, !1 === a.options.infinite && !1 === a.options.centerMode && (i < 0 || i > a.getDotCount() * a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function() { a.postSlide(o) }) : a.postSlide(o)); 1156 else if (!1 === a.options.infinite && !0 === a.options.centerMode && (i < 0 || i > a.slideCount - a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function() { a.postSlide(o) }) : a.postSlide(o)); 1157 else { if (a.options.autoplay && clearInterval(a.autoPlayTimer), s = o < 0 ? a.slideCount % a.options.slidesToScroll != 0 ? a.slideCount - a.slideCount % a.options.slidesToScroll : a.slideCount + o : o >= a.slideCount ? a.slideCount % a.options.slidesToScroll != 0 ? 0 : o - a.slideCount : o, a.animating = !0, a.$slider.trigger("beforeChange", [a, a.currentSlide, s]), n = a.currentSlide, a.currentSlide = s, a.setSlideClasses(a.currentSlide), a.options.asNavFor && (l = (l = a.getNavTarget()).slick("getSlick")).slideCount <= l.options.slidesToShow && l.setSlideClasses(a.currentSlide), a.updateDots(), a.updateArrows(), !0 === a.options.fade) return !0 !== t ? (a.fadeSlideOut(n), a.fadeSlide(s, function() { a.postSlide(s) })) : a.postSlide(s), void a.animateHeight();!0 !== t ? a.animateSlide(d, function() { a.postSlide(s) }) : a.postSlide(s) } }, e.prototype.startLoad = function() { var i = this;!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(), i.$nextArrow.hide()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(), i.$slider.addClass("slick-loading") }, e.prototype.swipeDirection = function() { var i, e, t, o, s = this; return i = s.touchObject.startX - s.touchObject.curX, e = s.touchObject.startY - s.touchObject.curY, t = Math.atan2(e, i), (o = Math.round(180 * t / Math.PI)) < 0 && (o = 360 - Math.abs(o)), o <= 45 && o >= 0 ? !1 === s.options.rtl ? "left" : "right" : o <= 360 && o >= 315 ? !1 === s.options.rtl ? "left" : "right" : o >= 135 && o <= 225 ? !1 === s.options.rtl ? "right" : "left" : !0 === s.options.verticalSwiping ? o >= 35 && o <= 135 ? "down" : "up" : "vertical" }, e.prototype.swipeEnd = function(i) { var e, t, o = this; if (o.dragging = !1, o.swiping = !1, o.scrolling) return o.scrolling = !1, !1; if (o.interrupted = !1, o.shouldClick = !(o.touchObject.swipeLength > 10), void 0 === o.touchObject.curX) return !1; if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]), o.touchObject.swipeLength >= o.touchObject.minSwipe) { switch (t = o.swipeDirection()) {
1158 case "left": 1159 case "down": 1160 e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(), o.currentDirection = 0; break; 1161 case "right": 1162 case "up": 1163 e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(), o.currentDirection = 1 } "vertical" != t && (o.slideHandler(e), o.touchObject = {}, o.$slider.trigger("swipe", [o, t])) } else o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide), o.touchObject = {}) }, e.prototype.swipeHandler = function(i) { var e = this; if (!(!1 === e.options.swipe || "ontouchend" in document && !1 === e.options.swipe || !1 === e.options.draggable && -1 !== i.type.indexOf("mouse"))) switch (e.touchObject.fingerCount = i.originalEvent && void 0 !== i.originalEvent.touches ? i.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), i.data.action) { 1164 case "start": 1165 e.swipeStart(i); break; 1166 case "move": 1167 e.swipeMove(i); break; 1168 case "end": 1169 e.swipeEnd(i) } }, e.prototype.swipeMove = function(i) { var e, t, o, s, n, r, l = this; return n = void 0 !== i.originalEvent ? i.originalEvent.touches : null, !(!l.dragging || l.scrolling || n && 1 !== n.length) && (e = l.getLeft(l.currentSlide), l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX, l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY, l.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))), r = Math.round(Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))), !l.options.verticalSwiping && !l.swiping && r > 4 ? (l.scrolling = !0, !1) : (!0 === l.options.verticalSwiping && (l.touchObject.swipeLength = r), t = l.swipeDirection(), void 0 !== i.originalEvent && l.touchObject.swipeLength > 4 && (l.swiping = !0, i.preventDefault()), s = (!1 === l.options.rtl ? 1 : -1) * (l.touchObject.curX > l.touchObject.startX ? 1 : -1), !0 === l.options.verticalSwiping && (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1), o = l.touchObject.swipeLength, l.touchObject.edgeHit = !1, !1 === l.options.infinite && (0 === l.currentSlide && "right" === t || l.currentSlide >= l.getDotCount() && "left" === t) && (o = l.touchObject.swipeLength * l.options.edgeFriction, l.touchObject.edgeHit = !0), !1 === l.options.vertical ? l.swipeLeft = e + o * s : l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s, !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s), !0 !== l.options.fade && !1 !== l.options.touchMove && (!0 === l.animating ? (l.swipeLeft = null, !1) : void l.setCSS(l.swipeLeft)))) }, e.prototype.swipeStart = function(i) { var e, t = this; if (t.interrupted = !0, 1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow) return t.touchObject = {}, !1; 1170 void 0 !== i.originalEvent && void 0 !== i.originalEvent.touches && (e = i.originalEvent.touches[0]), t.touchObject.startX = t.touchObject.curX = void 0 !== e ? e.pageX : i.clientX, t.touchObject.startY = t.touchObject.curY = void 0 !== e ? e.pageY : i.clientY, t.dragging = !0 }, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function() { var i = this; 1171 null !== i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit()) }, e.prototype.unload = function() { var e = this; 1172 i(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "") }, e.prototype.unslick = function(i) { var e = this; 1173 e.$slider.trigger("unslick", [e, i]), e.destroy() }, e.prototype.updateArrows = function() { var i = this; 1174 Math.floor(i.options.slidesToShow / 2), !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && !i.options.infinite && (i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === i.currentSlide ? (i.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - i.options.slidesToShow && !1 === i.options.centerMode ? (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - 1 && !0 === i.options.centerMode && (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"))) }, e.prototype.updateDots = function() { var i = this; 1175 null !== i.$dots && (i.$dots.find("li").removeClass("slick-active").end(), i.$dots.find("li").eq(Math.floor(i.currentSlide / i.options.slidesToScroll)).addClass("slick-active")) }, e.prototype.visibility = function() { var i = this; 1176 i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1) }, i.fn.slick = function() { var i, t, o = this, 1177 s = arguments[0], 1178 n = Array.prototype.slice.call(arguments, 1), 1179 r = o.length; for (i = 0; i < r; i++) 1180 if ("object" == typeof s || void 0 === s ? o[i].slick = new e(o[i], s) : t = o[i].slick[s].apply(o[i].slick, n), void 0 !== t) return t; return o } }); 1181 1182/** 1183 * Sticky sidebar 1184 * 3.3.1 | Ahmed Bouhuolia | MIT | https://github.com/abouolia/sticky-sidebar 1185 **/ 1186 1187! function(t, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.StickySidebar = e() }(this, function() { "use strict"; "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self && self; 1188 1189 function t(t) { return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t } 1190 1191 function e(t, e) { return t(e = { exports: {} }, e.exports), e.exports } var i = e(function(t, e) { 1192 (function(t) { Object.defineProperty(t, "__esModule", { value: !0 }); var l, n, e = function() { 1193 function n(t, e) { for (var i = 0; i < e.length; i++) { var n = e[i]; 1194 n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) } } return function(t, e, i) { return e && n(t.prototype, e), i && n(t, i), t } }(), 1195 i = (l = ".stickySidebar", n = { topSpacing: 0, bottomSpacing: 0, containerSelector: !1, innerWrapperSelector: ".inner-wrapper-sticky", stickyClass: "is-affixed", resizeSensor: !0, minWidth: !1 }, function() { 1196 function c(t) { var e = this, 1197 i = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}; if (function(t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, c), this.options = c.extend(n, i), this.sidebar = "string" == typeof t ? document.querySelector(t) : t, void 0 === this.sidebar) throw new Error("There is no specific sidebar element."); 1198 this.sidebarInner = !1, this.container = this.sidebar.parentElement, this.affixedType = "STATIC", this.direction = "down", this.support = { transform: !1, transform3d: !1 }, this._initialized = !1, this._reStyle = !1, this._breakpoint = !1, this.dimensions = { translateY: 0, maxTranslateY: 0, topSpacing: 0, lastTopSpacing: 0, bottomSpacing: 0, lastBottomSpacing: 0, sidebarHeight: 0, sidebarWidth: 0, containerTop: 0, containerHeight: 0, viewportHe
1198ight: 0, viewportTop: 0, lastViewportTop: 0 }, ["handleEvent"].forEach(function(t) { e[t] = e[t].bind(e) }), this.initialize() } return e(c, [{ key: "initialize", value: function() { var i = this; if (this._setSupportFeatures(), this.options.innerWrapperSelector && (this.sidebarInner = this.sidebar.querySelector(this.options.innerWrapperSelector), null === this.sidebarInner && (this.sidebarInner = !1)), !this.sidebarInner) { var t = document.createElement("div"); for (t.setAttribute("class", "inner-wrapper-sticky"), this.sidebar.appendChild(t); this.sidebar.firstChild != t;) t.appendChild(this.sidebar.firstChild); 1199 this.sidebarInner = this.sidebar.querySelector(".inner-wrapper-sticky") } if (this.options.containerSelector) { var e = document.querySelectorAll(this.options.containerSelector); if ((e = Array.prototype.slice.call(e)).forEach(function(t, e) { t.contains(i.sidebar) && (i.container = t) }), !e.length) throw new Error("The container does not contains on the sidebar.") } "function" != typeof this.options.topSpacing && (this.options.topSpacing = parseInt(this.options.topSpacing) || 0), "function" != typeof this.options.bottomSpacing && (this.options.bottomSpacing = parseInt(this.options.bottomSpacing) || 0), this._widthBreakpoint(), this.calcDimensions(), this.stickyPosition(), this.bindEvents(), this._initialized = !0 } }, { key: "bindEvents", value: function() { window.addEventListener("resize", this, { passive: !0, capture: !1 }), window.addEventListener("scroll", this, { passive: !0, capture: !1 }), this.sidebar.addEventListener("update" + l, this), this.options.resizeSensor && "undefined" != typeof ResizeSensor && (new ResizeSensor(this.sidebarInner, this.handleEvent), new ResizeSensor(this.container, this.handleEvent)) } }, { key: "handleEvent", value: function(t) { this.updateSticky(t) } }, { key: "calcDimensions", value: function() { if (!this._breakpoint) { var t = this.dimensions; 1200 t.containerTop = c.offsetRelative(this.container).top, t.containerHeight = this.container.clientHeight, t.containerBottom = t.containerTop + t.containerHeight, t.sidebarHeight = this.sidebarInner.offsetHeight, t.sidebarWidth = this.sidebarInner.offsetWidth, t.viewportHeight = window.innerHeight, t.maxTranslateY = t.containerHeight - t.sidebarHeight, this._calcDimensionsWithScroll() } } }, { key: "_calcDimensionsWithScroll", value: function() { var t = this.dimensions; 1201 t.sidebarLeft = c.offsetRelative(this.sidebar).left, t.viewportTop = document.documentElement.scrollTop || document.body.scrollTop, t.viewportBottom = t.viewportTop + t.viewportHeight, t.viewportLeft = document.documentElement.scrollLeft || document.body.scrollLeft, t.topSpacing = this.options.topSpacing, t.bottomSpacing = this.options.bottomSpacing, "function" == typeof t.topSpacing && (t.topSpacing = parseInt(t.topSpacing(this.sidebar)) || 0), "function" == typeof t.bottomSpacing && (t.bottomSpacing = parseInt(t.bottomSpacing(this.sidebar)) || 0), "VIEWPORT-TOP" === this.affixedType ? t.topSpacing < t.lastTopSpacing && (t.translateY += t.lastTopSpacing - t.topSpacing, this._reStyle = !0) : "VIEWPORT-BOTTOM" === this.affixedType && t.bottomSpacing < t.lastBottomSpacing && (t.translateY += t.lastBottomSpacing - t.bottomSpacing, this._reStyle = !0), t.lastTopSpacing = t.topSpacing, t.lastBottomSpacing = t.bottomSpacing } }, { key: "isSidebarFitsViewport", value: function() { var t = this.dimensions, 1202 e = "down" === this.scrollDirection ? t.lastBottomSpacing : t.lastTopSpacing; return this.dimensions.sidebarHeight + e < this.dimensions.viewportHeight } }, { key: "observeScrollDir", value: function() { var t = this.dimensions; if (t.lastViewportTop !== t.viewportTop) { var e = "down" === this.direction ? Math.min : Math.max; 1203 t.viewportTop === e(t.viewportTop, t.lastViewportTop) && (this.direction = "down" === this.direction ? "up" : "down") } } }, { key: "getAffixType", value: function() { this._calcDimensionsWithScroll(); var t = this.dimensions, 1204 e = t.viewportTop + t.topSpacing, 1205 i = this.affixedType; return e <= t.containerTop || t.containerHeight <= t.sidebarHeight ? (t.translateY = 0, i = "STATIC") : i = "up" === this.direction ? this._getAffixT
vendor: 4,108 bytes, lines 1205-1230
1205ypeScrollingUp() : this._getAffixTypeScrollingDown(), t.translateY = Math.max(0, t.translateY), t.translateY = Math.min(t.containerHeight, t.translateY), t.translateY = Math.round(t.translateY), t.lastViewportTop = t.viewportTop, i } }, { key: "_getAffixTypeScrollingDown", value: function() { var t = this.dimensions, 1206 e = t.sidebarHeight + t.containerTop, 1207 i = t.viewportTop + t.topSpacing, 1208 n = t.viewportBottom - t.bottomSpacing, 1209 o = this.affixedType; return this.isSidebarFitsViewport() ? t.sidebarHeight + i >= t.containerBottom ? (t.translateY = t.containerBottom - e, o = "CONTAINER-BOTTOM") : i >= t.containerTop && (t.translateY = i - t.containerTop, o = "VIEWPORT-TOP") : t.containerBottom <= n ? (t.translateY = t.containerBottom - e, o = "CONTAINER-BOTTOM") : e + t.translateY <= n ? (t.translateY = n - e, o = "VIEWPORT-BOTTOM") : t.containerTop + t.translateY <= i && 0 !== t.translateY && t.maxTranslateY !== t.translateY && (o = "VIEWPORT-UNBOTTOM"), o } }, { key: "_getAffixTypeScrollingUp", value: function() { var t = this.dimensions, 1210 e = t.sidebarHeight + t.containerTop, 1211 i = t.viewportTop + t.topSpacing, 1212 n = t.viewportBottom - t.bottomSpacing, 1213 o = this.affixedType; return i <= t.translateY + t.containerTop ? (t.translateY = i - t.containerTop, o = "VIEWPORT-TOP") : t.containerBottom <= n ? (t.translateY = t.containerBottom - e, o = "CONTAINER-BOTTOM") : this.isSidebarFitsViewport() || t.containerTop <= i && 0 !== t.translateY && t.maxTranslateY !== t.translateY && (o = "VIEWPORT-UNBOTTOM"), o } }, { key: "_getStyle", value: function(t) { if (void 0 !== t) { var e = { inner: {}, outer: {} }, 1214 i = this.dimensions; switch (t) { 1215 case "VIEWPORT-TOP": 1216 e.inner = { position: "fixed", top: i.topSpacing, left: i.sidebarLeft - i.viewportLeft, width: i.sidebarWidth }; break; 1217 case "VIEWPORT-BOTTOM": 1218 e.inner = { position: "fixed", top: "auto", left: i.sidebarLeft, bottom: i.bottomSpacing, width: i.sidebarWidth }; break; 1219 case "CONTAINER-BOTTOM": 1220 case "VIEWPORT-UNBOTTOM": 1221 var n = this._getTranslate(0, i.translateY + "px"); 1222 e.inner = n ? { transform: n } : { position: "absolute", top: i.translateY, width: i.sidebarWidth } } switch (t) { 1223 case "VIEWPORT-TOP": 1224 case "VIEWPORT-BOTTOM": 1225 case "VIEWPORT-UNBOTTOM": 1226 case "CONTAINER-BOTTOM": 1227 e.outer = { height: i.sidebarHeight, position: "relative" } } return e.outer = c.extend({ height: "", position: "" }, e.outer), e.inner = c.extend({ position: "relative", top: "", left: "", bottom: "", width: "", transform: "" }, e.inner), e } } }, { key: "stickyPosition", value: function(t) { if (!this._breakpoint) { t = this._reStyle || t || !1, this.options.topSpacing, this.options.bottomSpacing; var e = this.getAffixType(), 1228 i = this._getStyle(e); if ((this.affixedType != e || t) && e) { var n = "affix." + e.toLowerCase().replace("viewport-", "") + l; for (var o in c.eventTrigger(this.sidebar, n), "STATIC" === e ? c.removeClass(this.sidebar, this.options.stickyClass) : c.addClass(this.sidebar, this.options.stickyClass), i.outer) { var s = "number" == typeof i.outer[o] ? "px" : ""; 1229 this.sidebar.style[o] = i.outer[o] + s } for (var r in i.inner) { var a = "number" == typeof i.inner[r] ? "px" : ""; 1230 this.sidebarInner.style[r] = i.inner[r] + a }
1230 var p = "affixed." + e.toLowerCase().replace("viewport-", "") + l; 1231 c.eventTrigger(this.sidebar, p) } else this._initialized && (this.sidebarInner.style.left = i.inner.left); 1232 this.affixedType = e } } }, { key: "_widthBreakpoint", value: function() { window.innerWidth <= this.options.minWidth ? (this._breakpoint = !0, this.affixedType = "STATIC", this.sidebar.removeAttribute("style"), c.removeClass(this.sidebar, this.options.stickyClass), this.sidebarInner.removeAttribute("style")) : this._breakpoint = !1 } }, { key: "updateSticky", value: function() { var t, e = this, 1233 i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; 1234 this._running || (this._running = !0, t = i.type, requestAnimationFrame(function() { switch (t) { 1235 case "scroll": 1236 e._calcDimensionsWithScroll(), e.observeScrollDir(), e.stickyPosition(); break; 1237 case "resize": 1238 default: 1239 e._widthBreakpoint(), e.calcDimensions(), e.stickyPosition(!0) } e._running = !1 })) } }, { key: "_setSupportFeatures", value: function() { var t = this.support; 1240 t.transform = c.supportTransform(), t.transform3d = c.supportTransform(!0) } }, { key: "_getTranslate", value: function() { var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0, 1241 e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0, 1242 i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 0; return this.support.transform3d ? "translate3d(" + t + ", " + e + ", " + i + ")" : !!this.support.translate && "translate(" + t + ", " + e + ")" } }
1242, { key: "destroy", value: function() { window.removeEventListener("resize", this, { capture: !1 }), window.removeEventListener("scroll", this, { capture: !1 }), this.sidebar.classList.remove(this.options.stickyClass), this.sidebar.style.minHeight = "", this.sidebar.removeEventListener("update" + l, this); var t = { inner: {}, outer: {} }; for (var e in t.inner = { position: "", top: "", left: "", bottom: "", width: "", transform: "" }, t.outer = { height: "", position: "" }, t.outer) this.sidebar.style[e] = t.outer[e]; for (var i in t.inner) this.sidebarInner.style[i] = t.inner[i]; 1243 this.options.resizeSensor && "undefined" != typeof ResizeSensor && (ResizeSensor.detach(this.sidebarInner, this.handleEvent), ResizeSensor.detach(this.container, this.handleEvent)) } }], [{ key: "supportTransform", value: function(t) { var i = !1, 1244 e = t ? "perspective" : "transform", 1245 n = e.charAt(0).toUpperCase() + e.slice(1), 1246 o = document.createElement("support").style; return (e + " " + ["Webkit", "Moz", "O", "ms"].join(n + " ") + n).split(" ").forEach(function(t, e) { if (void 0 !== o[t]) return i = t, !1 }), i } }, { key: "eventTrigger", value: function(t, e, i) { try { var n = new CustomEvent(e, { detail: i }) } catch (t) { 1247 (n = document.createEvent("CustomEvent")).initCustomEvent(e, !0, !0, i) } t.dispatchEvent(n) } }, { key: "extend", value: function(t, e) { var i = {}; for (var n in t) void 0 !== e[n] ? i[n] = e[n] : i[n] = t[n]; return i } }, { key: "offsetRelative", value: function(t) { var e = { left: 0, top: 0 }; 1248 do { var i = t.offsetTop, 1249 n = t.offsetLeft; 1250 isNaN(i) || (e.top += i), isNaN(n) || (e.left += n), t = "BODY" === t.tagName ? t.parentElement : t.offsetParent } while (t); return e } }, { key: "addClass", value: function(t, e) { c.hasClass(t, e) || (t.classList ? t.classList.add(e) : t.className += " " + e) } }, { key: "removeClass", value: function(t, e) { c.hasClass(t, e) && (t.classList ? t.classList.remove(e) : t.className = t.className.replace(new RegExp("(^|\\b)" + e.split(" ").join("|") + "(\\b|$)", "gi"), " ")) } }, { key: "hasClass", value: function(t, e) { return t.classList ? t.classList.contains(e) : new RegExp("(^| )" + e + "( |$)", "gi").test(t.className) } }, { key: "defaults", get: function() { return n } }]), c }()); 1251 t.default = i, window.StickySidebar = i })(e) }); return t(i), t(e(function(t, e) { 1252 (function(t) { var e, s = (e = t) && e.__esModule ? e : { default: e };! function() { if ("undefined" != typeof window) { var n = window.$ || window.jQuery || window.Zepto, 1253 o = "stickySidebar"; if (n) { n.fn.stickySidebar = function(i) { return this.each(function() { var t = n(this), 1254 e = n(this).data(o); if (e || (e = new s.default(this, "object" == typeof i && i), t.data(o, e)), "string" == typeof i) { if (void 0 === e[i] && -1 === ["destroy", "updateSticky"].indexOf(i)) throw new Error('No method named "' + i + '"'); 1255 e[i]() } }) }, n.fn.stickySidebar.Constructor = s.default; var t = n.fn.stickySidebar; 1256 n.fn.stickySidebar.noConflict = function() { return n.fn.stickySidebar = t, this } } } }() })(i) })) }); 1257 1258/** 1259 * Visible 1260 * required for: One Page Active 1261 * Sam Sehnert, samatdf, TeamDF | https://github.com/teamdf/jquery-visible/ 1262 */ 1263 1264(function(e) { e.fn.visible = function(t, n, r) { var i = e(this).eq(0), 1265 s = i.get(0), 1266 o = e(window), 1267 u = o.scrollTop(), 1268 a = u + o.height(), 1269 f = o.scrollLeft(), 1270 l = f + o.width(), 1271 c = i.offset().top, 1272 h = c + i.height(), 1273 p = i.offset().left, 1274 d = p + i.width(), 1275 v = t === true ? h : c, 1276 m = t === true ? c : h, 1277 g = t === true ? d : p, 1278 y = t === true ? p : d, 1279 b = n === true ? s.offsetWidth * s.offsetHeight : true, 1280 r = r ? r : "both"; if (r === "both") return !!b && m <= a && v >= u && y <= l && g >= f; 1281 else if (r === "vertical") return !!b && m <= a && v >= u; 1282 else if (r === "horizontal") return !!b && y <= l && g >= f } })(jQuery); 1283 1284/** 1285 * Waypoints 1286 * required for: Chart, Progress, Skills 1287 * 4.0.1 | Caleb Troughton | https://github.com/imakewebthings/waypoints | Licensed under the MIT license. 1288 */ 1289 1290! function() { "use strict"; 1291 1292 function t(o) { if (!o) throw new Error("No options passed to Waypoint constructor"); if (!o.element) throw new Error("No element option passed to Waypoint constructor"); if (!o.handler) throw new Error("No handler option passed to Waypoint constructor"); 1293 this.key = "waypoint-" + e, this.options = t.Adapter.extend({}, t.defaults, o), this.element = this.options.element, this.adapter = new t.Adapter(this.element), this.callback = o.handler, this.axis = this.options.horizontal ? "horizontal" : "vertical", this.enabled = this.options.enabled, this.triggerPoint = null, this.group = t.Group.findOrCreate({ name: this.options.group, axis: this.axis }), this.context = t.Context.findOrCreateByElement(this.options.context), t.offsetAliases[this.options.offset] && (this.options.offset = t.offsetAliases[this.options.offset]), this.group.add(this), this.context.add(this), i[this.key] = this, e += 1 } var e = 0, 1294 i = {}; 1295 t.prototype.queueTrigger = function(t) { this.group.queueTrigger(this, t) }, t.prototype.trigger = function(t) { this.enabled && this.callback && this.callback.apply(this, t) }, t.prototype.destroy = function() { this.context.remove(this), this.group.remove(this), delete i[this.key] }, t.prototype.disable = function() { return this.enabled = !1, this }, t.prototype.enable = function() { return this.context.refresh(), this.enabled = !0, this }, t.prototype.next = function() { return this.group.next(this) }, t.prototype.previous = function() { return this.group.previous(this) }, t.invokeAll = function(t) { var e = []; for (var o in i) e.push(i[o]); for (var n = 0, r = e.length; r > n; n++) e[n][t]() }, t.destroyAll = function() { t.invokeAll("destroy") }, t.disableAll = function() { t.invokeAll("disable") }, t.enableAll = function() { t.Context.refreshAll(); for (var e in i) i[e].enabled = !0; return this }, t.refreshAll = function() { t.Context.refreshAll() }
vendor: 8,663 bytes, lines 1295-1355
1295, t.viewportHeight = function() { return window.innerHeight || document.documentElement.clientHeight }, t.viewportWidth = function() { return document.documentElement.clientWidth }, t.adapters = [], t.defaults = { context: window, continuous: !0, enabled: !0, group: "default", horizontal: !1, offset: 0 }, t.offsetAliases = { "bottom-in-view": function() { return this.context.innerHeight() - this.adapter.outerHeight() }, "right-in-view": function() { return this.context.innerWidth() - this.adapter.outerWidth() } }, window.Waypoint = t }(), 1296function() { "use strict"; 1297 1298 function t(t) { window.setTimeout(t, 1e3 / 60) } 1299 1300 function e(t) { this.element = t, this.Adapter = n.Adapter, this.adapter = new this.Adapter(t), this.key = "waypoint-context-" + i, this.didScroll = !1, this.didResize = !1, this.oldScroll = { x: this.adapter.scrollLeft(), y: this.adapter.scrollTop() }, this.waypoints = { vertical: {}, horizontal: {} }, t.waypointContextKey = this.key, o[t.waypointContextKey] = this, i += 1, n.windowContext || (n.windowContext = !0, n.windowContext = new e(window)), this.createThrottledScrollHandler(), this.createThrottledResizeHandler() } var i = 0, 1301 o = {}, 1302 n = window.Waypoint, 1303 r = window.onload; 1304 e.prototype.add = function(t) { var e = t.options.horizontal ? "horizontal" : "vertical"; 1305 this.waypoints[e][t.key] = t, this.refresh() }, e.prototype.checkEmpty = function() { var t = this.Adapter.isEmptyObject(this.waypoints.horizontal), 1306 e = this.Adapter.isEmptyObject(this.waypoints.vertical), 1307 i = this.element == this.element.window; 1308 t && e && !i && (this.adapter.off(".waypoints"), delete o[this.key]) }, e.prototype.createThrottledResizeHandler = function() { 1309 function t() { e.handleResize(), e.didResize = !1 } var e = this; 1310 this.adapter.on("resize.waypoints", function() { e.didResize || (e.didResize = !0, n.requestAnimationFrame(t)) }) }, e.prototype.createThrottledScrollHandler = function() { 1311 function t() { e.handleScroll(), e.didScroll = !1 } var e = this; 1312 this.adapter.on("scroll.waypoints", function() { 1313 (!e.didScroll || n.isTouch) && (e.didScroll = !0, n.requestAnimationFrame(t)) }) }, e.prototype.handleResize = function() { n.Context.refreshAll() }, e.prototype.handleScroll = function() { var t = {}, 1314 e = { horizontal: { newScroll: this.adapter.scrollLeft(), oldScroll: this.oldScroll.x, forward: "right", backward: "left" }, vertical: { newScroll: this.adapter.scrollTop(), oldScroll: this.oldScroll.y, forward: "down", backward: "up" } }; for (var i in e) { var o = e[i], 1315 n = o.newScroll > o.oldScroll, 1316 r = n ? o.forward : o.backward; for (var s in this.waypoints[i]) { var a = this.waypoints[i][s]; if (null !== a.triggerPoint) { var l = o.oldScroll < a.triggerPoint, 1317 h = o.newScroll >= a.triggerPoint, 1318 p = l && h, 1319 u = !l && !h; 1320 (p || u) && (a.queueTrigger(r), t[a.group.id] = a.group) } } } for (var c in t) t[c].flushTriggers(); 1321 this.oldScroll = { x: e.horizontal.newScroll, y: e.vertical.newScroll } }, e.prototype.innerHeight = function() { return this.element == this.element.window ? n.viewportHeight() : this.adapter.innerHeight() }, e.prototype.remove = function(t) { delete this.waypoints[t.axis][t.key], this.checkEmpty() }, e.prototype.innerWidth = function() { return this.element == this.element.window ? n.viewportWidth() : this.adapter.innerWidth() }, e.prototype.destroy = function() { var t = []; for (var e in this.waypoints) 1322 for (var i in this.waypoints[e]) t.push(this.waypoints[e][i]); for (var o = 0, n = t.length; n > o; o++) t[o].destroy() }, e.prototype.refresh = function() { var t, e = this.element == this.element.window, 1323 i = e ? void 0 : this.adapter.offset(), 1324 o = {}; 1325 this.handleScroll(), t = { horizontal: { contextOffset: e ? 0 : i.left, contextScroll: e ? 0 : this.oldScroll.x, contextDimension: this.innerWidth(), oldScroll: this.oldScroll.x, forward: "right", backward: "left", offsetProp: "left" }, vertical: { contextOffset: e ? 0 : i.top, contextScroll: e ? 0 : this.oldScroll.y, contextDimension: this.innerHeight(), oldScroll: this.oldScroll.y, forward: "down", backward: "up", offsetProp: "top" } }; for (var r in t) { var s = t[r]; for (var a in this.waypoints[r]) { var l, h, p, u, c, d = this.waypoints[r][a], 1326 f = d.options.offset, 1327 w = d.triggerPoint, 1328 y = 0, 1329 g = null == w; 1330 d.element !== d.element.window && (y = d.adapter.offset()[s.offsetProp]), "function" == typeof f ? f = f.apply(d) : "string" == typeof f && (f = parseFloat(f), d.options.offset.indexOf("%") > -1 && (f = Math.ceil(s.contextDimension * f / 100))), l = s.contextScroll - s.contextOffset, d.triggerPoint = Math.floor(y + l - f), h = w < s.oldScroll, p = d.triggerPoint >= s.oldScroll, u = h && p, c = !h && !p, !g && u ? (d.queueTrigger(s.backward), o[d.group.id] = d.group) : !g && c ? (d.queueTrigger(s.forward), o[d.group.id] = d.group) : g && s.oldScroll >= d.triggerPoint && (d.queueTrigger(s.forward), o[d.group.id] = d.group) } } return n.requestAnimationFrame(function() { for (var t in o) o[t].flushTriggers() }), this }, e.findOrCreateByElement = function(t) { return e.findByElement(t) || new e(t) }, e.refreshAll = function() { for (var t in o) o[t].refresh() }, e.findByElement = function(t) { return o[t.waypointContextKey] }, window.onload = function() { r && r(), e.refreshAll() }, n.requestAnimationFrame = function(e) { var i = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || t; 1331 i.call(window, e) }, n.Context = e }(), 1332function() { "use strict"; 1333 1334 function t(t, e) { return t.triggerPoint - e.triggerPoint } 1335 1336 function e(t, e) { return e.triggerPoint - t.triggerPoint } 1337 1338 function i(t) { this.name = t.name, this.axis = t.axis, this.id = this.name + "-" + this.axis, this.waypoints = [], this.clearTriggerQueues(), o[this.axis][this.name] = this } var o = { vertical: {}, horizontal: {} }, 1339 n = window.Waypoint; 1340 i.prototype.add = function(t) { this.waypoints.push(t) }, i.prototype.clearTriggerQueues = function() { this.triggerQueues = { up: [], down: [], left: [], right: [] } }, i.prototype.flushTriggers = function() { for (var i in this.triggerQueues) { var o = this.triggerQueues[i], 1341 n = "up" === i || "left" === i; 1342 o.sort(n ? e : t); for (var r = 0, s = o.length; s > r; r += 1) { var a = o[r]; 1343 (a.options.continuous || r === o.length - 1) && a.trigger([i]) } } this.clearTriggerQueues() }, i.prototype.next = function(e) { this.waypoints.sort(t); var i = n.Adapter.inArray(e, this.waypoints), 1344 o = i === this.waypoints.length - 1; return o ? null : this.waypoints[i + 1] }, i.prototype.previous = function(e) { this.waypoints.sort(t); var i = n.Adapter.inArray(e, this.waypoints); return i ? this.waypoints[i - 1] : null }, i.prototype.queueTrigger = function(t, e) { this.triggerQueues[e].push(t) }, i.prototype.remove = function(t) { var e = n.Adapter.inArray(t, this.waypoints); 1345 e > -1 && this.waypoints.splice(e, 1) }, i.prototype.first = function() { return this.waypoints[0] }, i.prototype.last = function() { return this.waypoints[this.waypoints.length - 1] }, i.findOrCreate = function(t) { return o[t.axis][t.name] || new i(t) }, n.Group = i }(), 1346function() { "use strict"; 1347 1348 function t(t) { this.$element = e(t) } var e = window.jQuery, 1349 i = window.Waypoint; 1350 e.each(["innerHeight", "innerWidth", "off", "offset", "on", "outerHeight", "outerWidth", "scrollLeft", "scrollTop"], function(e, i) { t.prototype[i] = function() { var t = Array.prototype.slice.call(arguments); return this.$element[i].apply(this.$element, t) } }), e.each(["extend", "inArray", "isEmptyObject"], function(i, o) { t[o] = e[o] }), i.adapters.push({ name: "jquery", Adapter: t }), i.Adapter = t }(), 1351function() { "use strict"; 1352 1353 function t(t) { return function() { var i = [], 1354 o = arguments[0]; return t.isFunction(arguments[0]) && (o = t.extend({}, arguments[1]), o.handler = arguments[0]), this.each(function() { var n = t.extend({}, o, { element: this }); "string" == typeof n.context && (n.context = t(this).closest(n.context)[0]), i.push(new e(n)) }), i } } var e = window.Waypoint; 1355 window.jQuery && (window.jQuery.fn.waypoint = t(window.jQuery)), window.Zepto && (window.Zepto.fn.waypoint = t(window.Zepto)) }();
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.