vendor: 65,062 bytes, lines 1-1492
1/*! 2 * Fotorama 4.6.4 | http://fotorama.io/license/ 3 */ 4fotoramaVersion = "4.6.4", function (a, b, c, d, e) { 5 "use strict"; 6 7 function f(a) { 8 var b = "bez_" + d.makeArray(arguments).join("_").replace(".", "p"); 9 if ("function" != typeof d.easing[b]) { 10 var c = function (a, b) { 11 var c = [null, null], d = [null, null], e = [null, null], f = function (f, g) { 12 return e[g] = 3 * a[g], d[g] = 3 * (b[g] - a[g]) - e[g], c[g] = 1 - e[g] - d[g], f * (e[g] + f * (d[g] + f * c[g])) 13 }, g = function (a) { 14 return e[0] + a * (2 * d[0] + 3 * c[0] * a) 15 }, h = function (a) { 16 for (var b, c = a, d = 0; ++d < 14 && (b = f(c, 0) - a, !(Math.abs(b) < .001));) c -= b / g(c); 17 return c 18 }; 19 return function (a) { 20 return f(h(a), 1) 21 } 22 }; 23 d.easing[b] = function (b, d, e, f, g) { 24 return f * c([a[0], a[1]], [a[2], a[3]])(d / g) + e 25 } 26 } 27 return b 28 } 29 30 function g() { 31 } 32 33 function h(a, b, c) { 34 return Math.max(isNaN(b) ? -1 / 0 : b, Math.min(isNaN(c) ? 1 / 0 : c, a)) 35 } 36 37 function i(a) { 38 return a.match(/ma/) && a.match(/-?\d+(?!d)/g)[a.match(/3d/) ? 12 : 4] 39 } 40 41 function j(a) { 42 return Ic ? +i(a.css("transform")) : +a.css("left").replace("px", "") 43 } 44 45 function k(a) { 46 var b = {}; 47 return Ic ? b.transform = "translate3d(" + a + "px,0,0)" : b.left = a, b 48 } 49 50 function l(a) { 51 return {"transition-duration": a + "ms"} 52 } 53 54 function m(a, b) { 55 return isNaN(a) ? b : a 56 } 57 58 function n(a, b) { 59 return m(+String(a).replace(b || "px", "")) 60 } 61 62 function o(a) { 63 return /%$/.test(a) ? n(a, "%") : e 64 } 65 66 function p(a, b) { 67 return m(o(a) / 100 * b, n(a)) 68 } 69 70 function q(a) { 71 return (!isNaN(n(a)) || !isNaN(n(a, "%"))) && a 72 } 73 74 function r(a, b, c, d) { 75 return (a - (d || 0)) * (b + (c || 0)) 76 } 77 78 function s(a, b, c, d) { 79 return -Math.round(a / (b + (c || 0)) - (d || 0)) 80 } 81 82 function t(a) { 83 var b = a.data(); 84 if (!b.tEnd) { 85 var c = a[0], d = { 86 WebkitTransition: "webkitTransitionEnd", 87 MozTransition : "transitionend", 88 OTransition : "oTransitionEnd otransitionend", 89 msTransition : "MSTransitionEnd", 90 transition : "transitionend" 91 }; 92 T(c, d[uc.prefixed("transition")], function (a) { 93 b.tProp && a.propertyName.match(b.tProp) && b.onEndFn() 94 }), b.tEnd = !0 95 } 96 } 97 98 function u(a, b, c, d) { 99 var e, f = a.data(); 100 f && (f.onEndFn = function () { 101 e || (e = !0, clearTimeout(f.tT), c()) 102 }, f.tProp = b, clearTimeout(f.tT), f.tT = setTimeout(function () { 103 f.onEndFn() 104 }, 1.5 * d), t(a)) 105 } 106 107 function v(a, b) { 108 if (a.length) { 109 var c = a.data(); 110 Ic ? (a.css(l(0)), c.onEndFn = g, clearTimeout(c.tT)) : a.stop(); 111 var d = w(b, function () { 112 return j(a) 113 }); 114 return a.css(k(d)), d 115 } 116 } 117 118 function w() { 119 for (var a, b = 0, c = arguments.length; c > b && (a = b ? arguments[b]() : arguments[b], "number" != typeof a); b++) ; 120 return a 121 } 122 123 function x(a, b) { 124 return Math.round(a + (b - a) / 1.5) 125 } 126 127 function y() { 128 return y.p = y.p || ("https:" === c.protocol ? "https://" : "http://"), y.p 129 } 130 131 function z(a) { 132 var c = b.createElement("a"); 133 return c.href = a, c 134 } 135 136 function A(a, b) { 137 if ("string" != typeof a) return a; 138 a = z(a); 139 var c, d; 140 if (a.host.match(/youtube\.com/) && a.search) { 141 if (c = a.search.split("v=")[1]) { 142 var e = c.indexOf("&"); 143 -1 !== e && (c = c.substring(0, e)), d = "youtube" 144 } 145 } else a.host.match(/youtube\.com|youtu\.be/) ? (c = a.pathname.replace(/^\/(embed\/|v\/)?/, "").replace(/\/.*/, ""), d = "youtube") : a.host.match(/vimeo\.com/) && (d = "vimeo", c = a.pathname.replace(/^\/(video\/)?/, "").replace(/\/.*/, "")); 146 return c && d || !b || (c = a.href, d = "custom"), c ? { 147 id : c, 148 type: d, 149 s : a.search.replace(/^\?/, ""), 150 p : y() 151 } : !1 152 } 153 154 function B(a, b, c) { 155 var e, f, g = a.video; 156 return "youtube" === g.type ? (f = y() + "img.youtube.com/vi/" + g.id + "/default.jpg", e = f.replace(/\/default.jpg$/, "/hqdefault.jpg"), a.thumbsReady = !0) : "vimeo" === g.type ? d.ajax({ 157 url : y() + "vimeo.com/api/v2/video/" + g.id + ".json", 158 dataType: "jsonp", 159 success : function (d) { 160 a.thumbsReady = !0, C(b, {img: d[0].thumbnail_large, thumb: d[0].thumbnail_small}, a.i, c) 161 } 162 }) : a.thumbsReady = !0, {img: e, thumb: f} 163 } 164 165 function C(a, b, c, e) { 166 for (var f = 0, g = a.length; g > f; f++) { 167 var h = a[f]; 168 if (h.i === c && h.thumbsReady) { 169 var i = {videoReady: !0}; 170 i[Xc] = i[Zc] = i[Yc] = !1, e.splice(f, 1, d.extend({}, h, i, b)); 171 break 172 } 173 } 174 } 175 176 function D(a) { 177 function b(a, b, e) { 178 var f = a.children("img").eq(0), g = a.attr("href"), h = a.attr("src"), i = f.attr("src"), j = b.video, 179 k = e ? A(g, j === !0) : !1; 180 k ? g = !1 : k = j, c(a, f, d.extend(b, { 181 video: k, 182 img : b.img || g || h || i, 183 thumb: b.thumb || i || h || g 184 })) 185 } 186 187 function c(a, b, c) { 188 var e = c.thumb && c.img !== c.thumb, f = n(c.width || a.attr("width")), 189 g = n(c.height || a.attr("height")); 190 d.extend(c, { 191 width : f, 192 height : g, 193 thumbratio: S(c.thumbratio || n(c.thumbwidth || b && b.attr("width") || e || f) / n(c.thumbheight || b && b.attr("height") || e || g)) 194 }) 195 } 196 197 var e = []; 198 return a.children().each(function () { 199 var a = d(this), f = R(d.extend(a.data(), {id: a.attr("id")})); 200 if (a.is("a, img")) b(a, f, !0); else { 201 if (a.is(":empty")) return; 202 c(a, null, d.extend(f, {html: this, _html: a.html()})) 203 } 204 e.push(f) 205 }), e 206 } 207 208 function E(a) { 209 return 0 === a.offsetWidth && 0 === a.offsetHeight 210 } 211 212 function F(a) { 213 return !d.contains(b.documentElement, a) 214 } 215 216 function G(a, b, c, d) { 217 return G.i || (G.i = 1, G.ii = [!0]), d = d || G.i, "undefined" == typeof G.ii[d] && (G.ii[d] = !0), a() ? b() : G.ii[d] && setTimeout(function () { 218 G.ii[d] && G(a, b, c, d) 219 }, c || 100), G.i++ 220 } 221 222 function H(a) { 223 c.replace(c.protocol + "//" + c.host + c.pathname.replace(/^\/?/, "/") + c.search + "#" + a) 224 } 225 226 function I(a, b, c, d) { 227 var e = a.data(), f = e.measures; 228 if (f && (!e.l || e.l.W !== f.width || e.l.H !== f.height || e.l.r !== f.ratio || e.l.w !== b.w || e.l.h !== b.h || e.l.m !== c || e.l.p !== d)) { 229 var g = f.width, i = f.height, j = b.w / b.h, k = f.ratio >= j, l = "scaledown" === c, m = "contain" === c, 230 n = "cover" === c, o = $(d); 231 k && (l || m) || !k && n ? (g = h(b.w, 0, l ? g : 1 / 0), i = g / f.ratio) : (k && n || !k && (l || m)) && (i = h(b.h, 0, l ? i : 1 / 0), g = i * f.ratio), a.css({ 232 width : g, 233 height: i, 234 left : p(o.x, b.w - g), 235 top : p(o.y, b.h - i) 236 }), e.l = {W: f.width, H: f.height, r: f.ratio, w: b.w, h: b.h, m: c, p: d} 237 } 238 return !0 239 } 240 241 function J(a, b) { 242 var c = a[0]; 243 c.styleSheet ? c.styleSheet.cssText = b : a.html(b) 244 } 245 246 function K(a, b, c) { 247 return b === c ? !1 : b >= a ? "left" : a >= c ? "right" : "left right" 248 } 249 250 function L(a, b, c, d) { 251 if (!c) return !1; 252 if (!isNaN(a)) return a - (d ? 0 : 1); 253 for (var e, f = 0, g = b.length; g > f; f++) { 254 var h = b[f]; 255 if (h.id === a) { 256 e = f; 257 break 258 } 259 } 260 return e 261 } 262 263 function M(a, b, c) { 264 c = c || {}, a.each(function () { 265 var a, e = d(this), f = e.data(); 266 f.clickOn || (f.clickOn = !0, d.extend(cb(e, { 267 onStart : function (b) { 268 a = b, (c.onStart || g).call(this, b) 269 }, 270 onMove : c.onMove || g, 271 onTouchEnd: c.onTouchEnd || g, 272 onEnd : function (c) { 273 c.moved || b.call(this, a) 274 } 275 }), {noMove: !0})) 276 }) 277 } 278 279 function N(a, b) { 280 return '<div class="' + a + '">' + (b || "") + "</div>" 281 } 282 283 function O(a) { 284 for (var b = a.length; b;) { 285 var c = Math.floor(Math.random() * b--), d = a[b]; 286 a[b] = a[c], a[c] = d 287 } 288 return a 289 } 290 291 function P(a) { 292 return "[object Array]" == Object.prototype.toString.call(a) && d.map(a, function (a) { 293 return d.extend({}, a) 294 }) 295 } 296 297 function Q(a, b, c) { 298 a.scrollLeft(b || 0).scrollTop(c || 0) 299 } 300 301 function R(a) { 302 if (a) { 303 var b = {}; 304 return d.each(a, function (a, c) { 305 b[a.toLowerCase()] = c 306 }), b 307 } 308 } 309 310 function S(a) { 311 if (a) { 312 var b = +a; 313 return isNaN(b) ? (b = a.split("/"), +b[0] / +b[1] || e) : b 314 } 315 } 316 317 function T(a, b, c, d) { 318 b && (a.addEventListener ? a.addEventListener(b, c, !!d) : a.attachEvent("on" + b, c)) 319 } 320 321 function U(a) { 322 return !!a.getAttribute("disabled") 323 } 324 325 function V(a) { 326 return {tabindex: -1 * a + "", disabled: a} 327 } 328 329 function W(a, b) { 330 T(a, "keyup", function (c) { 331 U(a) || 13 == c.keyCode && b.call(a, c) 332 }) 333 } 334 335 function X(a, b) { 336 T(a, "focus", a.onfocusin = function (c) { 337 b.call(a, c) 338 }, !0) 339 } 340 341 function Y(a, b) { 342 a.preventDefault ? a.preventDefault() : a.returnValue = !1, b && a.stopPropagation && a.stopPropagation() 343 } 344 345 function Z(a) { 346 return a ? ">" : "<" 347 } 348 349 function $(a) { 350 return a = (a + "").split(/\s+/), {x: q(a[0]) || bd, y: q(a[1]) || bd} 351 } 352 353 function _(a, b) { 354 var c = a.data(), e = Math.round(b.pos), f = function () { 355 c.sliding = !1, (b.onEnd || g)() 356 }; 357 "undefined" != typeof b.overPos && b.overPos !== b.pos && (e = b.overPos, f = function () { 358 _(a, d.extend({}, b, {overPos: b.pos, time: Math.max(Qc, b.time / 2)})) 359 }); 360 var h = d.extend(k(e), b.width && {width: b.width}); 361 c.sliding = !0, Ic ? (a.css(d.extend(l(b.time), h)), b.time > 10 ? u(a, "transform", f, b.time) : f()) : a.stop().animate(h, b.time, _c, f) 362 } 363 364 function ab(a, b, c, e, f, h) { 365 var i = "undefined" != typeof h; 366 if (i || (f.push(arguments), Array.prototype.push.call(arguments, f.length), !(f.length > 1))) { 367 a = a || d(a), b = b || d(b); 368 var j = a[0], k = b[0], l = "crossfade" === e.method, m = function () { 369 if (!m.done) { 370 m.done = !0; 371 var a = (i || f.shift()) && f.shift(); 372 a && ab.apply(this, a), (e.onEnd || g)(!!a) 373 } 374 }, n = e.time / (h || 1); 375 c.removeClass(Rb + " " + Qb), a.stop().addClass(Rb), b.stop().addClass(Qb), l && k && a.fadeTo(0, 0), a.fadeTo(l ? n : 0, 1, l && m), b.fadeTo(n, 0, m), j && l || k || m() 376 } 377 } 378 379 function bb(a) { 380 var b = (a.touches || [])[0] || a; 381 a._x = b.pageX, a._y = b.clientY, a._now = d.now() 382 } 383 384 function cb(a, c) { 385 function e(a) { 386 return m = d(a.target), u.checked = p = q = s = !1, k || u.flow || a.touches && a.touches.length > 1 || a.which > 1 || ed && ed.type !== a.type && gd || (p = c.select && m.is(c.select, t)) ? p : (o = "touchstart" === a.type, q = m.is("a, a *", t), n = u.control, r = u.noMove || u.noSwipe || n ? 16 : u.snap ? 0 : 4, bb(a), l = ed = a, fd = a.type.replace(/down|start/, "move").replace(/Down/, "Move"), (c.onStart || g).call(t, a, { 387 control: n, 388 $target: m 389 }), k = u.flow = !0, void((!o || u.go) && Y(a))) 390 } 391 392 function f(a) { 393 if (a.touches && a.touches.length > 1 || Nc && !a.isPrimary || fd !== a.type || !k) return k && h(), void(c.onTouchEnd || g)(); 394 bb(a); 395 var b = Math.abs(a._x - l._x), d = Math.abs(a._y - l._y), e = b - d, 396 f = (u.go || u.x || e >= 0) && !u.noSwipe, i = 0 > e; 397 o && !u.checked ? (k = f) && Y(a) : (Y(a), (c.onMove || g).call(t, a, {touch: o})), !s && Math.sqrt(Math.pow(b, 2) + Math.pow(d, 2)) > r && (s = !0), u.checked = u.checked || f || i 398 } 399 400 function h(a) { 401 (c.onTouchEnd || g)(); 402 var b = k; 403 u.control = k = !1, b && (u.flow = !1), !b || q && !u.checked || (a && Y(a), gd = !0, clearTimeout(hd), hd = setTimeout(function () { 404 gd = !1 405 }, 1e3), (c.onEnd || g).call(t, { 406 moved : s, 407 $target : m, 408 control : n, 409 touch : o, 410 startEvent: l, 411 aborted : !a || "MSPointerCancel" === a.type 412 })) 413 } 414 415 function i() { 416 u.flow || setTimeout(function () { 417 u.flow = !0 418 }, 10) 419 } 420 421 function j() { 422 u.flow && setTimeout(function () { 423 u.flow = !1 424 }, Pc) 425 } 426 427 var k, l, m, n, o, p, q, r, s, t = a[0], u = {}; 428 return Nc ? (T(t, "MSPointerDown", e), T(b, "MSPointerMove", f), T(b, "MSPointerCancel", h), T(b, "MSPointerUp", h)) : (T(t, "touchstart", e), T(t, "touchmove", f), T(t, "touchend", h), T(b, "touchstart", i), T(b, "touchend", j), T(b, "touchcancel", j), Ec.on("scroll", j), a.on("mousedown", e), Fc.on("mousemove", f).on("mouseup", h)), a.on("click", "a", function (a) { 429 u.checked && Y(a) 430 }), u 431 } 432 433 function db(a, b) { 434 function c(c, d) { 435 A = !0, j = l = c._x, q = c._now, p = [[q, j]], m = n = D.noMove || d ? 0 : v(a, (b.getPos || g)()), (b.onStart || g).call(B, c) 436 } 437 438 function e(a, b) { 439 s = D.min, t = D.max, u = D.snap, w = a.altKey, A = z = !1, y = b.control, y || C.sliding || c(a) 440 } 441 442 function f(d, e) { 443 D.noSwipe || (A || c(d), l = d._x, p.push([d._now, l]), n = m - (j - l), o = K(n, s, t), s >= n ? n = x(n, s) : n >= t && (n = x(n, t)), D.noMove || (a.css(k(n)), z || (z = !0, e.touch || Nc || a.addClass(ec)), (b.onMove || g).call(B, d, { 444 pos : n, 445 edge: o 446 }))) 447 } 448 449 function i(e) { 450 if (!D.noSwipe || !e.moved) { 451 A || c(e.startEvent, !0), e.touch || Nc || a.removeClass(ec), r = d.now(); 452 for (var f, i, j, k, o, q, v, x, y, z = r - Pc, C = null, E = Qc, F = b.friction, G = p.length - 1; G >= 0; G--) { 453 if (f = p[G][0], i = Math.abs(f - z), null === C || j > i) C = f, k = p[G][1]; else if (C === z || i > j) break; 454 j = i 455 } 456 v = h(n, s, t); 457 var H = k - l, I = H >= 0, J = r - C, K = J > Pc, L = !K && n !== m && v === n; 458 u && (v = h(Math[L ? I ? "floor" : "ceil" : "round"](n / u) * u, s, t), s = t = v), L && (u || v === n) && (y = -(H / J), E *= h(Math.abs(y), b.timeLow, b.timeHigh), o = Math.round(n + y * E / F), u || (v = o), (!I && o > t || I && s > o) && (q = I ? s : t, x = o - q, u || (v = q), x = h(v + .03 * x, q - 50, q + 50), E = Math.abs((n - x) / (y / F)))), E *= w ? 10 : 1, (b.onEnd || g).call(B, d.extend(e, { 459 moved : e.moved || K && u, 460 pos : n, 461 newPos : v, 462 overPos: x, 463 time : E 464 })) 465 } 466 } 467 468 var j, l, m, n, o, p, q, r, s, t, u, w, y, z, A, B = a[0], C = a.data(), D = {}; 469 return D = d.extend(cb(b.$wrap, d.extend({}, b, {onStart: e, onMove: f, onEnd: i})), D) 470 } 471 472 function eb(a, b) { 473 var c, e, f, h = a[0], i = {prevent: {}}; 474 return T(h, Oc, function (a) { 475 var h = a.wheelDeltaY || -1 * a.deltaY || 0, j = a.wheelDeltaX || -1 * a.deltaX || 0, 476 k = Math.abs(j) && !Math.abs(h), l = Z(0 > j), m = e === l, n = d.now(), o = Pc > n - f; 477 e = l, f = n, k && i.ok && (!i.prevent[l] || c) && (Y(a, !0), c && m && o || (b.shift && (c = !0, clearTimeout(i.t), i.t = setTimeout(function () { 478 c = !1 479 }, Rc)), (b.onEnd || g)(a, b.shift ? l : j))) 480 }), i 481 } 482 483 function fb() { 484 d.each(d.Fotorama.instances, function (a, b) { 485 b.index = a 486 }) 487 } 488 489 function gb(a) { 490 d.Fotorama.instances.push(a), fb() 491 } 492 493 function hb(a) { 494 d.Fotorama.instances.splice(a.index, 1), fb() 495 } 496 497 var ib = "fotorama", jb = "fullscreen", kb = ib + "__wrap", lb = kb + "--css2", mb = kb + "--css3", 498 nb = kb + "--video", ob = kb + "--fade", pb = kb + "--slide", qb = kb + "--no-controls", 499 rb = kb + "--no-shadows", sb = kb + "--pan-y", tb = kb + "--rtl", ub = kb + "--only-active", 500 vb = kb + "--no-captions", wb = kb + "--toggle-arrows", xb = ib + "__stage", yb = xb + "__frame", 501 zb = yb + "--video", Ab = xb + "__shaft", Bb = ib + "__grab", Cb = ib + "__pointer", Db = ib + "__arr", 502 Eb = Db + "--disabled", Fb = Db + "--prev", Gb = Db + "--next", Hb = ib + "__nav", Ib = Hb + "-wrap", 503 Jb = Hb + "__shaft", Kb = Hb + "--dots", Lb = Hb + "--thumbs", Mb = Hb + "__frame", Nb = Mb + "--dot", 504 Ob = Mb + "--thumb", Pb = ib + "__fade", Qb = Pb + "-front", Rb = Pb + "-rear", Sb = ib + "__shadow", 505 Tb = Sb + "s", Ub = Tb + "--left", Vb = Tb + "--right", Wb = ib + "__active", Xb = ib + "__select", 506 Yb = ib + "--hidden", Zb = ib + "--fullscreen", $b = ib + "__fullscreen-icon", _b = ib + "__error", 507 ac = ib + "__loading", bc = ib + "__loaded", cc = bc + "--full", dc = bc + "--img", ec = ib + "__grabbing", 508 fc = ib + "__img", gc = fc + "--full", hc = ib + "__dot", ic = ib + "__thumb", jc = ic + "-border", 509 kc = ib + "__html", lc = ib + "__video", mc = lc + "-play", nc = lc + "-close", oc = ib + "__caption", 510 pc = ib + "__caption__wrap", qc = ib + "__spinner", rc = '" tabindex="0" role="button', 511 sc = d && d.fn.jquery.split("."); 512 if (!sc || sc[0] < 1 || 1 == sc[0] && sc[1] < 8) throw"Fotorama requires jQuery 1.8 or later and will not run without it."; 513 var tc = {}, uc = function (a, b, c) { 514 function d(a) { 515 r.cssText = a 516 } 517 518 function e(a, b) { 519 return typeof a === b 520 } 521 522 function f(a, b) { 523 return !!~("" + a).indexOf(b) 524 } 525 526 function g(a, b) { 527 for (var d in a) { 528 var e = a[d]; 529 if (!f(e, "-") && r[e] !== c) return "pfx" == b ? e : !0 530 } 531 return !1 532 } 533 534 function h(a, b, d) { 535 for (var f in a) { 536 var g = b[a[f]]; 537 if (g !== c) return d === !1 ? a[f] : e(g, "function") ? g.bind(d || b) : g 538 } 539 return !1 540 } 541 542 function i(a, b, c) { 543 var d = a.charAt(0).toUpperCase() + a.slice(1), f = (a + " " + u.join(d + " ") + d).split(" "); 544 return e(b, "string") || e(b, "undefined") ? g(f, b) : (f = (a + " " + v.join(d + " ") + d).split(" "), h(f, b, c)) 545 } 546 547 var j, k, l, m = "2.6.2", n = {}, o = b.documentElement, p = "modernizr", q = b.createElement(p), r = q.style, 548 s = ({}.toString, " -webkit- -moz- -o- -ms- ".split(" ")), t = "Webkit Moz O ms", u = t.split(" "), 549 v = t.toLowerCase().split(" "), w = {}, x = [], y = x.slice, z = function (a, c, d, e) { 550 var f, g, h, i, j = b.createElement("div"), k = b.body, l = k || b.createElement("body"); 551 if (parseInt(d, 10)) for (; d--;) h = b.createElement("div"), h.id = e ? e[d] : p + (d + 1), j.appendChild(h); 552 return f = ["­", '<style id="s', p, '">', a, "</style>"].join(""), j.id = p, (k ? j : l).innerHTML += f, l.appendChild(j), k || (l.style.background = "", l.style.overflow = "hidden", i = o.style.overflow, o.style.overflow = "hidden", o.appendChild(l)), g = c(j, a), k ? j.parentNode.removeChild(j) : (l.parentNode.removeChild(l), o.style.overflow = i), !!g 553 }, A = {}.hasOwnProperty; 554 l = e(A, "undefined") || e(A.call, "undefined") ? function (a, b) { 555 return b in a && e(a.constructor.prototype[b], "undefined") 556 } : function (a, b) { 557 return A.call(a, b) 558 }, Function.prototype.bind || (Function.prototype.bind = function (a) { 559 var b = this; 560 if ("function" != typeof b) throw new TypeError; 561 var c = y.call(arguments, 1), d = function () { 562 if (this instanceof d) { 563 var e = function () { 564 }; 565 e.prototype = b.prototype; 566 var f = new e, g = b.apply(f, c.concat(y.call(arguments))); 567 return Object(g) === g ? g : f 568 } 569 return b.apply(a, c.concat(y.call(arguments))) 570 }; 571 return d 572 }), w.csstransforms3d = function () { 573 var a = !!i("perspective"); 574 return a 575 }; 576 for (var B in w) l(w, B) && (k = B.toLowerCase(), n[k] = w[B](), x.push((n[k] ? "" : "no-") + k)); 577 return n.addTest = function (a, b) { 578 if ("object" == typeof a) for (var d in a) l(a, d) && n.addTest(d, a[d]); else { 579 if (a = a.toLowerCase(), n[a] !== c) return n; 580 b = "function" == typeof b ? b() : b, "undefined" != typeof enableClasses && enableClasses && (o.className += " " + (b ? "" : "no-") + a), n[a] = b 581 } 582 return n 583 }, d(""), q = j = null, n._version = m, n._prefixes = s, n._domPrefixes = v, n._cssomPrefixes = u, n.testProp = function (a) { 584 return g([a]) 585 }, n.testAllProps = i, n.testStyles = z, n.prefixed = function (a, b, c) { 586 return b ? i(a, b, c) : i(a, "pfx") 587 }, n 588 }(a, b), vc = { 589 ok : !1, is: function () { 590 return !1 591 }, request: function () { 592 }, cancel : function () { 593 }, event : "", prefix: "" 594 }, wc = "webkit moz o ms khtml".split(" "); 595 if ("undefined" != typeof b.cancelFullScreen) vc.ok = !0; else for (var xc = 0, yc = wc.length; yc > xc; xc++) if (vc.prefix = wc[xc], "undefined" != typeof b[vc.prefix + "CancelFullScreen"]) { 596 vc.ok = !0; 597 break 598 } 599 vc.ok && (vc.event = vc.prefix + "fullscreenchange", vc.is = function () { 600 switch (this.prefix) { 601 case"": 602 return b.fullScreen; 603 case"webkit": 604 return b.webkitIsFullScreen; 605 default: 606 return b[this.prefix + "FullScreen"] 607 } 608 }, vc.request = function (a) { 609 return "" === this.prefix ? a.requestFullScreen() : a[this.prefix + "RequestFullScreen"]() 610 }, vc.cancel = function () { 611 return "" === this.prefix ? b.cancelFullScreen() : b[this.prefix + "CancelFullScreen"]() 612 }); 613 var zc, Ac = { 614 lines : 12, 615 length : 5, 616 width : 2, 617 radius : 7, 618 corners: 1, 619 rotate : 15, 620 color : "rgba(128, 128, 128, .75)", 621 hwaccel: !0 622 }, Bc = {top: "auto", left: "auto", className: ""}; 623 !function (a, b) { 624 zc = b() 625 }(this, function () { 626 function a(a, c) { 627 var d, e = b.createElement(a || "div"); 628 for (d in c) e[d] = c[d]; 629 return e 630 } 631 632 function c(a) { 633 for (var b = 1, c = arguments.length; c > b; b++) a.appendChild(arguments[b]); 634 return a 635 } 636 637 function d(a, b, c, d) { 638 var e = ["opacity", b, ~~(100 * a), c, d].join("-"), f = .01 + c / d * 100, 639 g = Math.max(1 - (1 - a) / b * (100 - f), a), h = m.substring(0, m.indexOf("Animation")).toLowerCase(), 640 i = h && "-" + h + "-" || ""; 641 return o[e] || (p.insertRule("@" + i + "keyframes " + e + "{0%{opacity:" + g + "}" + f + "%{opacity:" + a + "}" + (f + .01) + "%{opacity:1}" + (f + b) % 100 + "%{opacity:" + a + "}100%{opacity:" + g + "}}", p.cssRules.length), o[e] = 1), e 642 } 643 644 function f(a, b) { 645 var c, d, f = a.style; 646 for (b = b.charAt(0).toUpperCase() + b.slice(1), d = 0; d < n.length; d++) if (c = n[d] + b, f[c] !== e) return c; 647 return f[b] !== e ? b : void 0 648 } 649 650 function g(a, b) { 651 for (var c in b) a.style[f(a, c) || c] = b[c]; 652 return a 653 } 654 655 function h(a) { 656 for (var b = 1; b < arguments.length; b++) { 657 var c = arguments[b]; 658 for (var d in c) a[d] === e && (a[d] = c[d]) 659 } 660 return a 661 } 662 663 function i(a) { 664 for (var b = { 665 x: a.offsetLeft, 666 y: a.offsetTop 667 }; a = a.offsetParent;) b.x += a.offsetLeft, b.y += a.offsetTop; 668 return b 669 } 670 671 function j(a, b) { 672 return "string" == typeof a ? a : a[b % a.length] 673 } 674 675 function k(a) { 676 return "undefined" == typeof this ? new k(a) : void(this.opts = h(a || {}, k.defaults, q)) 677 } 678 679 function l() { 680 function b(b, c) { 681 return a("<" + b + ' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">', c) 682 } 683 684 p.addRule(".spin-vml", "behavior:url(#default#VML)"), k.prototype.lines = function (a, d) { 685 function e() { 686 return g(b("group", {coordsize: k + " " + k, coordorigin: -i + " " + -i}), {width: k, height: k}) 687 } 688 689 function f(a, f, h) { 690 c(m, c(g(e(), { 691 rotation: 360 / d.lines * a + "deg", 692 left : ~~f 693 }), c(g(b("roundrect", {arcsize: d.corners}), { 694 width : i, 695 height: d.width, 696 left : d.radius, 697 top : -d.width >> 1, 698 filter: h 699 }), b("fill", {color: j(d.color, a), opacity: d.opacity}), b("stroke", {opacity: 0})))) 700 } 701 702 var h, i = d.length + d.width, k = 2 * i, l = 2 * -(d.width + d.length) + "px", 703 m = g(e(), {position: "absolute", top: l, left: l}); 704 if (d.shadow) for (h = 1; h <= d.lines; h++) f(h, -2, "progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)"); 705 for (h = 1; h <= d.lines; h++) f(h); 706 return c(a, m) 707 }, k.prototype.opacity = function (a, b, c, d) { 708 var e = a.firstChild; 709 d = d.shadow && d.lines || 0, e && b + d < e.childNodes.length && (e = e.childNodes[b + d], e = e && e.firstChild, e = e && e.firstChild, e && (e.opacity = c)) 710 } 711 } 712 713 var m, n = ["webkit", "Moz", "ms", "O"], o = {}, p = function () { 714 var d = a("style", {type: "text/css"}); 715 return c(b.getElementsByTagName("head")[0], d), d.sheet || d.styleSheet 716 }(), q = { 717 lines : 12, 718 length : 7, 719 width : 5, 720 radius : 10, 721 rotate : 0, 722 corners : 1, 723 color : "#000", 724 direction: 1, 725 speed : 1, 726 trail : 100, 727 opacity : .25, 728 fps : 20, 729 zIndex : 2e9, 730 className: "spinner", 731 top : "auto", 732 left : "auto", 733 position : "relative" 734 }; 735 k.defaults = {}, h(k.prototype, { 736 spin : function (b) { 737 this.stop(); 738 var c, d, e = this, f = e.opts, h = e.el = g(a(0, {className: f.className}), { 739 position: f.position, 740 width : 0, 741 zIndex : f.zIndex 742 }), j = f.radius + f.length + f.width; 743 if (b && (b.insertBefore(h, b.firstChild || null), d = i(b), c = i(h), g(h, { 744 left: ("auto" == f.left ? d.x - c.x + (b.offsetWidth >> 1) : parseInt(f.left, 10) + j) + "px", 745 top : ("auto" == f.top ? d.y - c.y + (b.offsetHeight >> 1) : parseInt(f.top, 10) + j) + "px" 746 })), h.setAttribute("role", "progressbar"), e.lines(h, e.opts), !m) { 747 var k, l = 0, n = (f.lines - 1) * (1 - f.direction) / 2, o = f.fps, p = o / f.speed, 748 q = (1 - f.opacity) / (p * f.trail / 100), r = p / f.lines; 749 !function s() { 750 l++; 751 for (var a = 0; a < f.lines; a++) k = Math.max(1 - (l + (f.lines - a) * r) % p * q, f.opacity), e.opacity(h, a * f.direction + n, k, f); 752 e.timeout = e.el && setTimeout(s, ~~(1e3 / o)) 753 }() 754 } 755 return e 756 }, stop : function () { 757 var a = this.el; 758 return a && (clearTimeout(this.timeout), a.parentNode && a.parentNode.removeChild(a), this.el = e), this 759 }, lines : function (b, e) { 760 function f(b, c) { 761 return g(a(), { 762 position : "absolute", 763 width : e.length + e.width + "px", 764 height : e.width + "px", 765 background : b, 766 boxShadow : c, 767 transformOrigin: "left", 768 transform : "rotate(" + ~~(360 / e.lines * i + e.rotate) + "deg) translate(" + e.radius + "px,0)", 769 borderRadius : (e.corners * e.width >> 1) + "px" 770 }) 771 } 772 773 for (var h, i = 0, k = (e.lines - 1) * (1 - e.direction) / 2; i < e.lines; i++) h = g(a(), { 774 position : "absolute", 775 top : 1 + ~(e.width / 2) + "px", 776 transform: e.hwaccel ? "translate3d(0,0,0)" : "", 777 opacity : e.opacity, 778 animation: m && d(e.opacity, e.trail, k + i * e.direction, e.lines) + " " + 1 / e.speed + "s linear infinite" 779 }), e.shadow && c(h, g(f("#000", "0 0 4px #000"), {top: "2px"})), c(b, c(h, f(j(e.color, i), "0 0 1px rgba(0,0,0,.1)"))); 780 return b 781 }, opacity: function (a, b, c) { 782 b < a.childNodes.length && (a.childNodes[b].style.opacity = c) 783 } 784 }); 785 var r = g(a("group"), {behavior: "url(#default#VML)"}); 786 return !f(r, "transform") && r.adj ? l() : m = f(r, "animation"), k 787 }); 788 var Cc, Dc, Ec = d(a), Fc = d(b), Gc = "quirks" === c.hash.replace("#", ""), Hc = uc.csstransforms3d, 789 Ic = Hc && !Gc, Jc = Hc || "CSS1Compat" === b.compatMode, Kc = vc.ok, 790 Lc = navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i), 791 Mc = !Ic || Lc, Nc = navigator.msPointerEnabled, 792 Oc = "onwheel" in b.createElement("div") ? "wheel" : b.onmousewheel !== e ? "mousewheel" : "DOMMouseScroll", 793 Pc = 250, Qc = 300, Rc = 1400, Sc = 5e3, Tc = 12, Uc = 64, Vc = 500, Wc = 333, Xc = "$stageFrame", 794 Yc = "$navDotFrame", Zc = "$navThumbFrame", $c = "auto", _c = f([.1, 0, .25, 1]), ad = 99999, 795 bd = "50%", cd = { 796 width: null, 797 minwidth: null, 798 maxwidth: "100%", 799 height: null, 800 minheight: null, 801 maxheight: null, 802 ratio: null, 803 margin: Tc, 804 glimpse: 0, 805 fit: "contain", 806 position: bd, 807 thumbposition: bd, 808 nav: "dots", 809 navposition: "bottom", 810 navwidth: null, 811 thumbwidth: Uc, 812 thumbheight: Uc, 813 thumbmargin: Tc, 814 thumbborderwidth: 2, 815 thumbfit: "cover", 816 allowfullscreen: !1, 817 transition: "slide", 818 clicktransition: null, 819 transitionduration: Qc, 820 captions: !0, 821 hash: !1, 822 startindex: 0, 823 loop: !1, 824 autoplay: !1, 825 stopautoplayontouch: !0, 826 keyboard: !1, 827 arrows: !0, 828 click: !0, 829 swipe: !0, 830 trackpad: !1, 831 enableifsingleframe: !1, 832 controlsonstart: !0, 833 shuffle: !1, 834 direction: "ltr", 835 shadows: !0, 836 spinner: null 837 }, dd = {left: !0, right: !0, down: !1, up: !1, space: !1, home: !1, end: !1}; 838 G.stop = function (a) { 839 G.ii[a] = !1 840 }; 841 var ed, fd, gd, hd; 842 jQuery.Fotorama = function (a, e) { 843 function f() { 844 d.each(yd, function (a, b) { 845 if (!b.i) { 846 b.i = me++; 847 var c = A(b.video, !0); 848 if (c) { 849 var d = {}; 850 b.video = c, b.img || b.thumb ? b.thumbsReady = !0 : d = B(b, yd, ie), C(yd, { 851 img : d.img, 852 thumb: d.thumb 853 }, b.i, ie) 854 } 855 } 856 }) 857 } 858 859 function g(a) { 860 return Zd[a] || ie.fullScreen 861 } 862 863 function i(a) { 864 var b = "keydown." + ib, c = ib + je, d = "keydown." + c, f = "resize." + c + " orientationchange." + c; 865 a ? (Fc.on(d, function (a) { 866 var b, c; 867 Cd && 27 === a.keyCode ? (b = !0, md(Cd, !0, !0)) : (ie.fullScreen || e.keyboard && !ie.index) && (27 === a.keyCode ? (b = !0, ie.cancelFullScreen()) : a.shiftKey && 32 === a.keyCode && g("space") || 37 === a.keyCode && g("left") || 38 === a.keyCode && g("up") ? c = "<" : 32 === a.keyCode && g("space") || 39 === a.keyCode && g("right") || 40 === a.keyCode && g("down") ? c = ">" : 36 === a.keyCode && g("home") ? c = "<<" : 35 === a.keyCode && g("end") && (c = ">>")), (b || c) && Y(a), c && ie.show({ 868 index: c, 869 slow : a.altKey, 870 user : !0 871 }) 872 }), ie.index || Fc.off(b).on(b, "textarea, input, select", function (a) { 873 !Dc.hasClass(jb) && a.stopPropagation() 874 }), Ec.on(f, ie.resize)) : (Fc.off(d), Ec.off(f)) 875 } 876 877 function j(b) { 878 b !== j.f && (b ? (a.html("").addClass(ib + " " + ke).append(qe).before(oe).before(pe), gb(ie)) : (qe.detach(), oe.detach(), pe.detach(), a.html(ne.urtext).removeClass(ke), hb(ie)), i(b), j.f = b) 879 } 880 881 function m() { 882 yd = ie.data = yd || P(e.data) || D(a), zd = ie.size = yd.length, !xd.ok && e.shuffle && O(yd), f(), Je = y(Je), zd && j(!0) 883 } 884 885 function o() { 886 var a = 2 > zd && !e.enableifsingleframe || Cd; 887 Me.noMove = a || Sd, Me.noSwipe = a || !e.swipe, !Wd && se.toggleClass(Bb, !e.click && !Me.noMove && !Me.noSwipe), Nc && qe.toggleClass(sb, !Me.noSwipe) 888 } 889 890 function t(a) { 891 a === !0 && (a = ""), e.autoplay = Math.max(+a || Sc, 1.5 * Vd) 892 } 893 894 function u() { 895 function a(a, c) { 896 b[a ? "add" : "remove"].push(c) 897 } 898 899 ie.options = e = R(e), Sd = "crossfade" === e.transition || "dissolve" === e.transition, Md = e.loop && (zd > 2 || Sd && (!Wd || "slide" !== Wd)), Vd = +e.transitionduration || Qc, Yd = "rtl" === e.direction, Zd = d.extend({}, e.keyboard && dd, e.keyboard); 900 var b = {add: [], remove: []}; 901 zd > 1 || e.enableifsingleframe ? (Nd = e.nav, Pd = "top" === e.navposition, b.remove.push(Xb), we.toggle(!!e.arrows)) : (Nd = !1, we.hide()), Rb(), Bd = new zc(d.extend(Ac, e.spinner, Bc, {direction: Yd ? -1 : 1})), Gc(), Hc(), e.autoplay && t(e.autoplay), Td = n(e.thumbwidth) || Uc, Ud = n(e.thumbheight) || Uc, Ne.ok = Pe.ok = e.trackpad && !Mc, o(), ed(e, [Le]), Od = "thumbs" === Nd, Od ? (lc(zd, "navThumb"), Ad = Be, he = Zc, J(oe, d.Fotorama.jst.style({ 902 w: Td, 903 h: Ud, 904 b: e.thumbborderwidth, 905 m: e.thumbmargin, 906 s: je, 907 q: !Jc 908 })), ye.addClass(Lb).removeClass(Kb)) : "dots" === Nd ? (lc(zd, "navDot"), Ad = Ae, he = Yc, ye.addClass(Kb).removeClass(Lb)) : (Nd = !1, ye.removeClass(Lb + " " + Kb)), Nd && (Pd ? xe.insertBefore(re) : xe.insertAfter(re), wc.nav = !1, wc(Ad, ze, "nav")), Qd = e.allowfullscreen, Qd ? (De.prependTo(re), Rd = Kc && "native" === Qd) : (De.detach(), Rd = !1), a(Sd, ob), a(!Sd, pb), a(!e.captions, vb), a(Yd, tb), a("always" !== e.arrows, wb), Xd = e.shadows && !Mc, a(!Xd, rb), qe.addClass(b.add.join(" ")).removeClass(b.remove.join(" ")), Ke = d.extend({}, e) 909 } 910 911 function x(a) { 912 return 0 > a ? (zd + a % zd) % zd : a >= zd ? a % zd : a 913 } 914 915 function y(a) { 916 return h(a, 0, zd - 1) 917 } 918 919 function z(a) { 920 return Md ? x(a) : y(a) 921 } 922 923 function E(a) { 924 return a > 0 || Md ? a - 1 : !1 925 } 926 927 function U(a) { 928 return zd - 1 > a || Md ? a + 1 : !1 929 } 930 931 function $() { 932 Me.min = Md ? -1 / 0 : -r(zd - 1, Le.w, e.margin, Fd), Me.max = Md ? 1 / 0 : -r(0, Le.w, e.margin, Fd), Me.snap = Le.w + e.margin 933 } 934 935 function bb() { 936 Oe.min = Math.min(0, Le.nw - ze.width()), Oe.max = 0, ze.toggleClass(Bb, !(Oe.noMove = Oe.min === Oe.max)) 937 } 938 939 function cb(a, b, c) { 940 if ("number" == typeof a) { 941 a = new Array(a); 942 var e = !0 943 } 944 return d.each(a, function (a, d) { 945 if (e && (d = a), "number" == typeof d) { 946 var f = yd[x(d)]; 947 if (f) { 948 var g = "$" + b + "Frame", h = f[g]; 949 c.call(this, a, d, f, h, g, h && h.data()) 950 } 951 } 952 }) 953 } 954 955 function fb(a, b, c, d) { 956 (!$d || "*" === $d && d === Ld) && (a = q(e.width) || q(a) || Vc, b = q(e.height) || q(b) || Wc, ie.resize({ 957 width: a, 958 ratio: e.ratio || c || a / b 959 }, 0, d !== Ld && "*")) 960 } 961 962 function Pb(a, b, c, f, g, h) { 963 cb(a, b, function (a, i, j, k, l, m) { 964 function n(a) { 965 var b = x(i); 966 fd(a, {index: b, src: w, frame: yd[b]}) 967 } 968 969 function o() { 970 t.remove(), d.Fotorama.cache[w] = "error", j.html && "stage" === b || !y || y === w ? (!w || j.html || r ? "stage" === b && (k.trigger("f:load").removeClass(ac + " " + _b).addClass(bc), n("load"), fb()) : (k.trigger("f:error").removeClass(ac).addClass(_b), n("error")), m.state = "error", !(zd > 1 && yd[i] === j) || j.html || j.deleted || j.video || r || (j.deleted = !0, ie.splice(i, 1))) : (j[v] = w = y, Pb([i], b, c, f, g, !0)) 971 } 972 973 function p() { 974 d.Fotorama.measures[w] = u.measures = d.Fotorama.measures[w] || { 975 width : s.width, 976 height: s.height, 977 ratio : s.width / s.height 978 }, fb(u.measures.width, u.measures.height, u.measures.ratio, i), t.off("load error").addClass(fc + (r ? " " + gc : "")).prependTo(k), I(t, (d.isFunction(c) ? c() : c) || Le, f || j.fit || e.fit, g || j.position || e.position), d.Fotorama.cache[w] = m.state = "loaded", setTimeout(function () { 979 k.trigger("f:load").removeClass(ac + " " + _b).addClass(bc + " " + (r ? cc : dc)), "stage" === b ? n("load") : (j.thumbratio === $c || !j.thumbratio && e.thumbratio === $c) && (j.thumbratio = u.measures.ratio, vd()) 980 }, 0) 981 } 982 983 function q() { 984 var a = 10; 985 G(function () { 986 return !fe || !a-- && !Mc 987 }, function () { 988 p() 989 }) 990 } 991 992 if (k) { 993 var r = ie.fullScreen && j.full && j.full !== j.img && !m.$full && "stage" === b; 994 if (!m.$img || h || r) { 995 var s = new Image, t = d(s), u = t.data(); 996 m[r ? "$full" : "$img"] = t; 997 var v = "stage" === b ? r ? "full" : "img" : "thumb", w = j[v], 998 y = r ? null : j["stage" === b ? "thumb" : "img"]; 999 if ("navThumb" === b && (k = m.$wrap), !w) return void o(); 1000 d.Fotorama.cache[w] ? !function z() { 1001 "error" === d.Fotorama.cache[w] ? o() : "loaded" === d.Fotorama.cache[w] ? setTimeout(q, 0) : setTimeout(z, 100) 1002 }() : (d.Fotorama.cache[w] = "*", t.on("load", q).on("error", o)), m.state = "", s.src = w 1003 } 1004 } 1005 }) 1006 } 1007 1008 function Qb(a) { 1009 Ie.append(Bd.spin().el).appendTo(a) 1010 } 1011 1012 function Rb() { 1013 Ie.detach(), Bd && Bd.stop() 1014 } 1015 1016 function Sb() { 1017 var a = Dd[Xc]; 1018 a && !a.data().state && (Qb(a), a.on("f:load f:error", function () { 1019 a.off("f:load f:error"), Rb() 1020 })) 1021 } 1022 1023 function ec(a) { 1024 W(a, sd), X(a, function () { 1025 setTimeout(function () { 1026 Q(ye) 1027 }, 0), Rc({time: Vd, guessIndex: d(this).data().eq, minMax: Oe}) 1028 }) 1029 } 1030 1031 function lc(a, b) { 1032 cb(a, b, function (a, c, e, f, g, h) { 1033 if (!f) { 1034 f = e[g] = qe[g].clone(), h = f.data(), h.data = e; 1035 var i = f[0]; 1036 "stage" === b ? (e.html && d('<div class="' + kc + '"></div>').append(e._html ? d(e.html).removeAttr("id").html(e._html) : e.html).appendTo(f), e.caption && d(N(oc, N(pc, e.caption))).appendTo(f), e.video && f.addClass(zb).append(Fe.clone()), X(i, function () { 1037 setTimeout(function () { 1038 Q(re) 1039 }, 0), pd({index: h.eq, user: !0}) 1040 }), te = te.add(f)) : "navDot" === b ? (ec(i), Ae = Ae.add(f)) : "navThumb" === b && (ec(i), h.$wrap = f.children(":first"), Be = Be.add(f), e.video && h.$wrap.append(Fe.clone())) 1041 } 1042 }) 1043 } 1044 1045 function sc(a, b, c, d) { 1046 return a && a.length && I(a, b, c, d) 1047 } 1048 1049 function tc(a) { 1050 cb(a, "stage", function (a, b, c, f, g, h) { 1051 if (f) { 1052 var i = x(b), j = c.fit || e.fit, k = c.position || e.position; 1053 h.eq = i, Re[Xc][i] = f.css(d.extend({left: Sd ? 0 : r(b, Le.w, e.margin, Fd)}, Sd && l(0))), F(f[0]) && (f.appendTo(se), md(c.$video)), sc(h.$img, Le, j, k), sc(h.$full, Le, j, k) 1054 } 1055 }) 1056 } 1057 1058 function uc(a, b) { 1059 if ("thumbs" === Nd && !isNaN(a)) { 1060 var c = -a, f = -a + Le.nw; 1061 Be.each(function () { 1062 var a = d(this), g = a.data(), h = g.eq, i = function () { 1063 return {h: Ud, w: g.w} 1064 }, j = i(), k = yd[h] || {}, l = k.thumbfit || e.thumbfit, m = k.thumbposition || e.thumbposition; 1065 j.w = g.w, g.l + g.w < c || g.l > f || sc(g.$img, j, l, m) || b && Pb([h], "navThumb", i, l, m) 1066 }) 1067 } 1068 } 1069 1070 function wc(a, b, c) { 1071 if (!wc[c]) { 1072 var f = "nav" === c && Od, g = 0; 1073 b.append(a.filter(function () { 1074 for (var a, b = d(this), c = b.data(), e = 0, f = yd.length; f > e; e++) if (c.data === yd[e]) { 1075 a = !0, c.eq = e; 1076 break 1077 } 1078 return a || b.remove() && !1 1079 }).sort(function (a, b) { 1080 return d(a).data().eq - d(b).data().eq 1081 }).each(function () { 1082 if (f) { 1083 var a = d(this), b = a.data(), c = Math.round(Ud * b.data.thumbratio) || Td; 1084 b.l = g, b.w = c, a.css({width: c}), g += c + e.thumbmargin 1085 } 1086 })), wc[c] = !0 1087 } 1088 } 1089 1090 function xc(a) { 1091 return a - Se > Le.w / 3 1092 } 1093 1094 function yc(a) { 1095 return !(Md || Je + a && Je - zd + a || Cd) 1096 } 1097 1098 function Gc() { 1099 var a = yc(0), b = yc(1); 1100 ue.toggleClass(Eb, a).attr(V(a)), ve.toggleClass(Eb, b).attr(V(b)) 1101 } 1102 1103 function Hc() { 1104 Ne.ok && (Ne.prevent = {"<": yc(0), ">": yc(1)}) 1105 } 1106 1107 function Lc(a) { 1108 var b, c, d = a.data(); 1109 return Od ? (b = d.l, c = d.w) : (b = a.position().left, c = a.width()), { 1110 c : b + c / 2, 1111 min: -b + 10 * e.thumbmargin, 1112 max: -b + Le.w - c - 10 * e.thumbmargin 1113 } 1114 } 1115 1116 function Oc(a) { 1117 var b = Dd[he].data(); 1118 _(Ce, {time: 1.2 * a, pos: b.l, width: b.w - 2 * e.thumbborderwidth}) 1119 } 1120 1121 function Rc(a) { 1122 var b = yd[a.guessIndex][he]; 1123 if (b) { 1124 var c = Oe.min !== Oe.max, d = a.minMax || c && Lc(Dd[he]), 1125 e = c && (a.keep && Rc.l ? Rc.l : h((a.coo || Le.nw / 2) - Lc(b).c, d.min, d.max)), 1126 f = c && h(e, Oe.min, Oe.max), g = 1.1 * a.time; 1127 _(ze, { 1128 time: g, pos: f || 0, onEnd: function () { 1129 uc(f, !0) 1130 } 1131 }), ld(ye, K(f, Oe.min, Oe.max)), Rc.l = e 1132 } 1133 } 1134 1135 function Tc() { 1136 _c(he), Qe[he].push(Dd[he].addClass(Wb)) 1137 } 1138 1139 function _c(a) { 1140 for (var b = Qe[a]; b.length;) b.shift().removeClass(Wb) 1141 } 1142 1143 function bd(a) { 1144 var b = Re[a]; 1145 d.each(Ed, function (a, c) { 1146 delete b[x(c)] 1147 }), d.each(b, function (a, c) { 1148 delete b[a], c.detach() 1149 }) 1150 } 1151 1152 function cd(a) { 1153 Fd = Gd = Je; 1154 var b = Dd[Xc]; 1155 b && (_c(Xc), Qe[Xc].push(b.addClass(Wb)), a || ie.show.onEnd(!0), v(se, 0, !0), bd(Xc), tc(Ed), $(), bb()) 1156 } 1157 1158 function ed(a, b) { 1159 a && d.each(b, function (b, c) { 1160 c && d.extend(c, { 1161 width : a.width || c.width, 1162 height : a.height, 1163 minwidth : a.minwidth, 1164 maxwidth : a.maxwidth, 1165 minheight: a.minheight, 1166 maxheight: a.maxheight, 1167 ratio : S(a.ratio) 1168 }) 1169 }) 1170 } 1171 1172 function fd(b, c) { 1173 a.trigger(ib + ":" + b, [ie, c]) 1174 } 1175 1176 function gd() { 1177 clearTimeout(hd.t), fe = 1, e.stopautoplayontouch ? ie.stopAutoplay() : ce = !0 1178 } 1179 1180 function hd() { 1181 fe && (e.stopautoplayontouch || (id(), jd()), hd.t = setTimeout(function () { 1182 fe = 0 1183 }, Qc + Pc)) 1184 } 1185 1186 function id() { 1187 ce = !(!Cd && !de) 1188 } 1189 1190 function jd() { 1191 if (clearTimeout(jd.t), G.stop(jd.w), !e.autoplay || ce) return void(ie.autoplay && (ie.autoplay = !1, fd("stopautoplay"))); 1192 ie.autoplay || (ie.autoplay = !0, fd("startautoplay")); 1193 var a = Je, b = Dd[Xc].data(); 1194 jd.w = G(function () { 1195 return b.state || a !== Je 1196 }, function () { 1197 jd.t = setTimeout(function () { 1198 if (!ce && a === Je) { 1199 var b = Kd, c = yd[b][Xc].data(); 1200 jd.w = G(function () { 1201 return c.state || b !== Kd 1202 }, function () { 1203 ce || b !== Kd || ie.show(Md ? Z(!Yd) : Kd) 1204 }) 1205 } 1206 }, e.autoplay) 1207 }) 1208 } 1209 1210 function kd() { 1211 ie.fullScreen && (ie.fullScreen = !1, Kc && vc.cancel(le), Dc.removeClass(jb), Cc.removeClass(jb), a.removeClass(Zb).insertAfter(pe), Le = d.extend({}, ee), md(Cd, !0, !0), rd("x", !1), ie.resize(), Pb(Ed, "stage"), Q(Ec, ae, _d), fd("fullscreenexit")) 1212 } 1213 1214 function ld(a, b) { 1215 Xd && (a.removeClass(Ub + " " + Vb), b && !Cd && a.addClass(b.replace(/^|\s/g, " " + Tb + "--"))) 1216 } 1217 1218 function md(a, b, c) { 1219 b && (qe.removeClass(nb), Cd = !1, o()), a && a !== Cd && (a.remove(), fd("unloadvideo")), c && (id(), jd()) 1220 } 1221 1222 function nd(a) { 1223 qe.toggleClass(qb, a) 1224 } 1225 1226 function od(a) { 1227 if (!Me.flow) { 1228 var b = a ? a.pageX : od.x, c = b && !yc(xc(b)) && e.click; 1229 od.p !== c && re.toggleClass(Cb, c) && (od.p = c, od.x = b) 1230 } 1231 } 1232 1233 function pd(a) { 1234 clearTimeout(pd.t), e.clicktransition && e.clicktransition !== e.transition ? setTimeout(function () { 1235 var b = e.transition; 1236 ie.setOptions({transition: e.clicktransition}), Wd = b, pd.t = setTimeout(function () { 1237 ie.show(a) 1238 }, 10) 1239 }, 0) : ie.show(a) 1240 } 1241 1242 function qd(a, b) { 1243 var c = a.target, f = d(c); 1244 f.hasClass(mc) ? ie.playVideo() : c === Ee ? ie.toggleFullScreen() : Cd ? c === He && md(Cd, !0, !0) : b ? nd() : e.click && pd({ 1245 index: a.shiftKey || Z(xc(a._x)), 1246 slow : a.altKey, 1247 user : !0 1248 }) 1249 } 1250 1251 function rd(a, b) { 1252 Me[a] = Oe[a] = b 1253 } 1254 1255 function sd(a) { 1256 var b = d(this).data().eq; 1257 pd({index: b, slow: a.altKey, user: !0, coo: a._x - ye.offset().left}) 1258 } 1259 1260 function td(a) { 1261 pd({index: we.index(this) ? ">" : "<", slow: a.altKey, user: !0}) 1262 } 1263 1264 function ud(a) { 1265 X(a, function () { 1266 setTimeout(function () { 1267 Q(re) 1268 }, 0), nd(!1) 1269 }) 1270 } 1271 1272 function vd() { 1273 if (m(), u(), !vd.i) { 1274 vd.i = !0; 1275 var a = e.startindex; 1276 (a || e.hash && c.hash) && (Ld = L(a || c.hash.replace(/^#/, ""), yd, 0 === ie.index || a, a)), Je = Fd = Gd = Hd = Ld = z(Ld) || 0 1277 } 1278 if (zd) { 1279 if (wd()) return; 1280 Cd && md(Cd, !0), Ed = [], bd(Xc), vd.ok = !0, ie.show({index: Je, time: 0}), ie.resize() 1281 } else ie.destroy() 1282 } 1283 1284 function wd() { 1285 return !wd.f === Yd ? (wd.f = Yd, Je = zd - 1 - Je, ie.reverse(), !0) : void 0 1286 } 1287 1288 function xd() { 1289 xd.ok || (xd.ok = !0, fd("ready")) 1290 } 1291 1292 Cc = d("html"), Dc = d("body"); 1293 var yd, zd, Ad, Bd, Cd, Dd, Ed, Fd, Gd, Hd, Id, Jd, Kd, Ld, Md, Nd, Od, Pd, Qd, Rd, Sd, Td, Ud, Vd, Wd, Xd, Yd, 1294 Zd, $d, _d, ae, be, ce, de, ee, fe, ge, he, ie = this, je = d.now(), ke = ib + je, le = a[0], me = 1, 1295 ne = a.data(), oe = d("<style></style>"), pe = d(N(Yb)), 1296 qe = d(N(kb)), re = d(N(xb)).appendTo(qe), 1297 se = (re[0], d(N(Ab)).appendTo(re)), te = d(), 1298 ue = d(N(Db + " " + Fb + rc)), ve = d(N(Db + " " + Gb + rc)), 1299 we = ue.add(ve).appendTo(re), xe = d(N(Ib)), 1300 ye = d(N(Hb)).appendTo(xe), ze = d(N(Jb)).appendTo(ye), 1301 Ae = d(), Be = d(), 1302 Ce = (se.data(), ze.data(), d(N(jc)).appendTo(ze)), 1303 De = d(N($b + rc)), Ee = De[0], Fe = d(N(mc)), 1304 Ge = d(N(nc)).appendTo(re), He = Ge[0], Ie = d(N(qc)), Je = !1, 1305 Ke = {}, Le = {}, Me = {}, Ne = {}, Oe = {}, Pe = {}, Qe = {}, 1306 Re = {}, Se = 0, Te = []; 1307 qe[Xc] = d(N(yb)), qe[Zc] = d(N(Mb + " " + Ob + rc, N(ic))), qe[Yc] = d(N(Mb + " " + Nb + rc, N(hc))), Qe[Xc] = [], Qe[Zc] = [], Qe[Yc] = [], Re[Xc] = {}, qe.addClass(Ic ? mb : lb).toggleClass(qb, !e.controlsonstart), ne.fotorama = this, ie.startAutoplay = function (a) { 1308 return ie.autoplay ? this : (ce = de = !1, t(a || e.autoplay), jd(), this) 1309 }, ie.stopAutoplay = function () { 1310 return ie.autoplay && (ce = de = !0, jd()), this 1311 }, ie.show = function (a) { 1312 var b; 1313 "object" != typeof a ? (b = a, a = {}) : b = a.index, b = ">" === b ? Gd + 1 : "<" === b ? Gd - 1 : "<<" === b ? 0 : ">>" === b ? zd - 1 : b, b = isNaN(b) ? L(b, yd, !0) : b, b = "undefined" == typeof b ? Je || 0 : b, ie.activeIndex = Je = z(b), Id = E(Je), Jd = U(Je), Kd = x(Je + (Yd ? -1 : 1)), Ed = [Je, Id, Jd], Gd = Md ? b : Je; 1314 var c = Math.abs(Hd - Gd), d = w(a.time, function () { 1315 return Math.min(Vd * (1 + (c - 1) / 12), 2 * Vd) 1316 }), f = a.overPos; 1317 a.slow && (d *= 10); 1318 var g = Dd; 1319 ie.activeFrame = Dd = yd[Je]; 1320 var i = g === Dd && !a.user; 1321 md(Cd, Dd.i !== yd[x(Fd)].i), lc(Ed, "stage"), tc(Mc ? [Gd] : [Gd, E(Gd), U(Gd)]), rd("go", !0), i || fd("show", { 1322 user: a.user, 1323 time: d 1324 }), ce = !0; 1325 var j = ie.show.onEnd = function (b) { 1326 if (!j.ok) { 1327 if (j.ok = !0, b || cd(!0), i || fd("showend", {user: a.user}), !b && Wd && Wd !== e.transition) return ie.setOptions({transition: Wd}), void(Wd = !1); 1328 Sb(), Pb(Ed, "stage"), rd("go", !1), Hc(), od(), id(), jd() 1329 } 1330 }; 1331 if (Sd) { 1332 var k = Dd[Xc], l = Je !== Hd ? yd[Hd][Xc] : null; 1333 ab(k, l, te, {time: d, method: e.transition, onEnd: j}, Te) 1334 } else _(se, {pos: -r(Gd, Le.w, e.margin, Fd), overPos: f, time: d, onEnd: j}); 1335 if (Gc(), Nd) { 1336 Tc(); 1337 var m = y(Je + h(Gd - Hd, -1, 1)); 1338 Rc({ 1339 time : d, 1340 coo : m !== Je && a.coo, 1341 guessIndex: "undefined" != typeof a.coo ? m : Je, 1342 keep : i 1343 }), Od && Oc(d) 1344 } 1345 return be = "undefined" != typeof Hd && Hd !== Je, Hd = Je, e.hash && be && !ie.eq && H(Dd.id || Je + 1), this 1346 }, ie.requestFullScreen = function () { 1347 return Qd && !ie.fullScreen && (_d = Ec.scrollTop(), ae = Ec.scrollLeft(), Q(Ec), rd("x", !0), ee = d.extend({}, Le), a.addClass(Zb).appendTo(Dc.addClass(jb)), Cc.addClass(jb), md(Cd, !0, !0), ie.fullScreen = !0, Rd && vc.request(le), ie.resize(), Pb(Ed, "stage"), Sb(), fd("fullscreenenter")), this 1348 }, ie.cancelFullScreen = function () { 1349 return Rd && vc.is() ? vc.cancel(b) : kd(), this 1350 }, ie.toggleFullScreen = function () { 1351 return ie[(ie.fullScreen ? "cancel" : "request") + "FullScreen"]() 1352 }, T(b, vc.event, function () { 1353 !yd || vc.is() || Cd || kd() 1354 }), ie.resize = function (a) { 1355 if (!yd) return this; 1356 var b = arguments[1] || 0, c = arguments[2]; 1357 ed(ie.fullScreen ? { 1358 width : "100%", 1359 maxwidth : null, 1360 minwidth : null, 1361 height : "100%", 1362 maxheight: null, 1363 minheight: null 1364 } : R(a), [Le, c || ie.fullScreen || e]); 1365 var d = Le.width, f = Le.height, g = Le.ratio, i = Ec.height() - (Nd ? ye.height() : 0); 1366 return q(d) && (qe.addClass(ub).css({ 1367 width : d, 1368 minWidth: Le.minwidth || 0, 1369 maxWidth: Le.maxwidth || ad 1370 }), d = Le.W = Le.w = qe.width(), Le.nw = Nd && p(e.navwidth, d) || d, e.glimpse && (Le.w -= Math.round(2 * (p(e.glimpse, d) || 0))), se.css({ 1371 width : Le.w, 1372 marginLeft: (Le.W - Le.w) / 2 1373 }), f = p(f, i), f = f || g && d / g, f && (d = Math.round(d), f = Le.h = Math.round(h(f, p(Le.minheight, i), p(Le.maxheight, i))), re.stop().animate({ 1374 width : d, 1375 height: f 1376 }, b, function () { 1377 qe.removeClass(ub) 1378 }), cd(), Nd && (ye.stop().animate({width: Le.nw}, b), Rc({ 1379 guessIndex: Je, 1380 time : b, 1381 keep : !0 1382 }), Od && wc.nav && Oc(b)), $d = c || !0, xd())), Se = re.offset().left, this 1383 }, ie.setOptions = function (a) { 1384 return d.extend(e, a), vd(), this 1385 }, ie.shuffle = function () { 1386 return yd && O(yd) && vd(), this 1387 }, ie.destroy = function () { 1388 return ie.cancelFullScreen(), ie.stopAutoplay(), yd = ie.data = null, j(), Ed = [], bd(Xc), vd.ok = !1, this 1389 }, ie.playVideo = function () { 1390 var a = Dd, b = a.video, c = Je; 1391 return "object" == typeof b && a.videoReady && (Rd && ie.fullScreen && ie.cancelFullScreen(), G(function () { 1392 return !vc.is() || c !== Je 1393 }, function () { 1394 c === Je && (a.$video = a.$video || d(d.Fotorama.jst.video(b)), a.$video.appendTo(a[Xc]), qe.addClass(nb), Cd = a.$video, o(), we.blur(), De.blur(), fd("loadvideo")) 1395 })), this 1396 }, ie.stopVideo = function () { 1397 return md(Cd, !0, !0), this 1398 }, re.on("mousemove", od), Me = db(se, { 1399 onStart : gd, 1400 onMove : function (a, b) { 1401 ld(re, b.edge) 1402 }, 1403 onTouchEnd: hd, 1404 onEnd : function (a) { 1405 ld(re); 1406 var b = (Nc && !ge || a.touch) && e.arrows && "always" !== e.arrows; 1407 if (a.moved || b && a.pos !== a.newPos && !a.control) { 1408 var c = s(a.newPos, Le.w, e.margin, Fd); 1409 ie.show({index: c, time: Sd ? Vd : a.time, overPos: a.overPos, user: !0}) 1410 } else a.aborted || a.control || qd(a.startEvent, b) 1411 }, 1412 timeLow : 1, 1413 timeHigh : 1, 1414 friction : 2, 1415 select : "." + Xb + ", ." + Xb + " *", 1416 $wrap : re 1417 }), Oe = db(ze, { 1418 onStart : gd, onMove: function (a, b) { 1419 ld(ye, b.edge) 1420 }, onTouchEnd: hd, onEnd: function (a) { 1421 function b() { 1422 Rc.l = a.newPos, id(), jd(), uc(a.newPos, !0) 1423 } 1424 1425 if (a.moved) a.pos !== a.newPos ? (ce = !0, _(ze, { 1426 time : a.time, 1427 pos : a.newPos, 1428 overPos: a.overPos, 1429 onEnd : b 1430 }), uc(a.newPos), Xd && ld(ye, K(a.newPos, Oe.min, Oe.max))) : b(); else { 1431 var c = a.$target.closest("." + Mb, ze)[0]; 1432 c && sd.call(c, a.startEvent) 1433 } 1434 }, timeLow : .5, timeHigh: 2, friction: 5, $wrap: ye 1435 }), Ne = eb(re, { 1436 shift: !0, onEnd: function (a, b) { 1437 gd(), hd(), ie.show({index: b, slow: a.altKey}) 1438 } 1439 }), Pe = eb(ye, { 1440 onEnd: function (a, b) { 1441 gd(), hd(); 1442 var c = v(ze) + .25 * b; 1443 ze.css(k(h(c, Oe.min, Oe.max))), Xd && ld(ye, K(c, Oe.min, Oe.max)), Pe.prevent = { 1444 "<": c >= Oe.max, 1445 ">": c <= Oe.min 1446 }, clearTimeout(Pe.t), Pe.t = setTimeout(function () { 1447 Rc.l = c, uc(c, !0) 1448 }, Pc), uc(c) 1449 } 1450 }), qe.hover(function () { 1451 setTimeout(function () { 1452 fe || nd(!(ge = !0)) 1453 }, 0) 1454 }, function () { 1455 ge && nd(!(ge = !1)) 1456 }), M(we, function (a) { 1457 Y(a), td.call(this, a) 1458 }, { 1459 onStart : function () { 1460 gd(), Me.control = !0 1461 }, onTouchEnd: hd 1462 }), we.each(function () { 1463 W(this, function (a) { 1464 td.call(this, a) 1465 }), ud(this) 1466 }), W(Ee, ie.toggleFullScreen), ud(Ee), d.each("load push pop shift unshift reverse sort splice".split(" "), function (a, b) { 1467 ie[b] = function () { 1468 return yd = yd || [], "load" !== b ? Array.prototype[b].apply(yd, arguments) : arguments[0] && "object" == typeof arguments[0] && arguments[0].length && (yd = P(arguments[0])), vd(), ie 1469 } 1470 }), vd() 1471 }, d.fn.fotorama = function (b) { 1472 return this.each(function () { 1473 var c = this, e = d(this), f = e.data(), g = f.fotorama; 1474 g ? g.setOptions(b, !0) : G(function () { 1475 return !E(c) 1476 }, function () { 1477 f.urtext = e.html(), new d.Fotorama(e, d.extend({}, cd, a.fotoramaDefaults, b, f)) 1478 }) 1479 }) 1480 }, d.Fotorama.instances = [], d.Fotorama.cache = {}, d.Fotorama.measures = {}, d = d || {}, d.Fotorama = d.Fotorama || {}, d.Fotorama.jst = d.Fotorama.jst || {}, d.Fotorama.jst.style = function (a) { 1481 { 1482 var b, c = ""; 1483 tc.escape 1484 } 1485 return c += ".fotorama" + (null == (b = a.s) ? "" : b) + " .fotorama__nav--thumbs .fotorama__nav__frame{\npadding:" + (null == (b = a.m) ? "" : b) + "px;\nheight:" + (null == (b = a.h) ? "" : b) + "px}\n.fotorama" + (null == (b = a.s) ? "" : b) + " .fotorama__thumb-border{\nheight:" + (null == (b = a.h - a.b * (a.q ? 0 : 2)) ? "" : b) + "px;\nborder-width:" + (null == (b = a.b) ? "" : b) + "px;\nmargin-top:" + (null == (b = a.m) ? "" : b) + "px}" 1486 }, d.Fotorama.jst.video = function (a) { 1487 function b() { 1488 c += d.call(arguments, "") 1489 } 1490 1491 var c = "", d = (tc.escape, Array.prototype.join); 1492 return c += '<div class="fotorama__video">
1492<iframe src="', b(("youtube" == a.type ? a.p + "youtube.com/embed/" + a.id + "?autoplay=1" : "vimeo" == a.type ? a.p + "player.vimeo.com/video/" + a.id + "?autoplay=1&badge=0" : a.id) + (a.s && "custom" != a.type ? "&" + a.s : "")), c += '" frameborder="0" allowfullscreen></iframe></div>\n' 1493 }, d(function () { 1494 d("." + ib + ':not([data-auto="false"])').fotorama() 1495 }) 1496}(window, document, location, "undefined" != typeof jQuery && jQuery);
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.