1! function (i) { 2 i.fn.appear = function (n, t) { 3 var m = i.extend({ 4 data: void 0, 5 one: !0, 6 accX: 0, 7 accY: 0 8 }, t); 9 return this.each(function () { 10 var d = i(this); 11 if (d.appeared = !1, n) { 12 function e() { 13 if (d.is(":visible")) { 14 var t = p.scrollLeft(), 15 e = p.scrollTop(), 16 n = d.offset(), 17 i = n.left, 18 o = n.top, 19 a = m.accX, 20 r = m.accY, 21 s = d.height(), 22 l = p.height(), 23 u = d.width(), 24 c = p.width(); 25 e <= o + s + r && o <= e + l + r && t <= i + u + a && i <= t + c + a ? d.appeared || d.trigger("appear", m.data) : d.appeared = !1 26 } else d.appeared = !1 27 } 28 29 function t() { 30 if (d.appeared = !0, m.one) { 31 p.unbind("scroll", e); 32 var t = i.inArray(e, i.fn.appear.checks); 33 0 <= t && i.fn.appear.checks.splice(t, 1) 34 } 35 n.apply(this, arguments) 36 } 37 var p = i(window); 38 m.one ? d.one("appear", m.data, t) : d.bind("appear", m.data, t), p.scroll(e), i.fn.appear.checks.push(e), e() 39 } else d.trigger("appear", m.data) 40 }) 41 }, i.extend(i.fn.appear, { 42 checks: [], 43 timeout: null, 44 checkAll: function () { 45 var t = i.fn.appear.checks.length; 46 if (0 < t) 47 for (; t--;) i.fn.appear.checks[t]() 48 }, 49 run: function () { 50 i.fn.appear.timeout && clearTimeout(i.fn.appear.timeout), i.fn.appear.timeout = setTimeout(i.fn.appear.checkAll, 20) 51 } 52 }), i.each(["append", "prepend", "after", "before", "attr", "removeAttr", "addClass", "removeClass", "toggleClass", "remove", "css", "show", "hide"], function (t, e) { 53 var n = i.fn[e]; 54 n && (i.fn[e] = function () { 55 var t = n.apply(this, arguments); 56 return i.fn.appear.run(), t 57 }) 58 }) 59}(jQuery), 60function (s) { 61 s.fn.countTo = function (o) { 62 o = s.extend({}, s.fn.countTo.defaults, o || {}); 63 var a = Math.ceil(o.speed / o.refreshInterval), 64 r = (o.to - o.from) / a; 65 return s(this).each(function () { 66 var t = this, 67 e = 0, 68 n = o.from, 69 i = setInterval(function () { 70 n += r, e++, s(t).html(n.toFixed(o.decimals)), "function" == typeof o.onUpdate && o.onUpdate.call(t, n); 71 a <= e && (clearInterval(i), n = o.to, "function" == typeof o.onComplete && o.onComplete.call(t, n)) 72 }, o.refreshInterval) 73 }) 74 }, s.fn.countTo.defaults = { 75 from: 0, 76 to: 100, 77 speed: 1e3, 78 refreshInterval: 100, 79 decimals: 0, 80 onUpdate: null, 81 onComplete: null 82 } 83}(jQuery), 84function (j, g) { 85 var u, D, n = 0, 86 y = j.isFunction, 87 w = j.isArray; 88 89 function b(t) { 90 return "object" == typeof t 91 } 92 93 function c(t) { 94 return "string" == typeof t 95 } 96 97 function i(t) { 98 return "number" == typeof t 99 } 100 101 function x(t) { 102 return t === g 103 } 104 105 function $(t, e) { 106 return x(t) ? "gmap3_" + (e ? n + 1 : ++n) : t 107 } 108 109 function W(a, t, r, e, s) { 110 var n = t.td || {}, 111 l = { 112 id: e, 113 data: n.data, 114 tag: n.tag 115 }; 116 117 function i(t, o) { 118 t && j.each(t, function (t, e) { 119 var n = a, 120 i = e; 121 w(e) && (n = e[0], i = e[1]), o(r, t, function (t) { 122 i.apply(n, [s || r, t, l]) 123 }) 124 }) 125 } 126 i(n.events, D.event.addListener), i(n.onces, D.event.addListenerOnce) 127 } 128 129 function l(t) { 130 var e, n = []; 131 for (e in t) t.hasOwnProperty(e) && n.push(e); 132 return n 133 } 134 135 function r(t, e) { 136 var n, i = arguments; 137 for (n = 2; n < i.length; n++) 138 if (e in i[n] && i[n].hasOwnProperty(e)) return void(t[e] = i[n][e]) 139 } 140 141 function I(t, e) { 142 var n, i, o = ["data", "tag", "id", "events", "onces"], 143 a = {}; 144 if (t.td) 145 for (n in t.td) t.td.hasOwnProperty(n) && "options" !== n && "values" !== n && (a[n] = t.td[n]); 146 for (i = 0; i < o.length; i++) r(a, o[i], e, t.td); 147 return a.options = j.extend({}, t.opts || {}, e.options || {}), a 148 } 149 150 function C() { 151 if (u.verbose) { 152 var t, e = []; 153 if (window.console && y(console.error)) { 154 for (t = 0; t < arguments.length; t++) e.push(arguments[t]); 155 console.error.apply(console, e) 156 } else { 157 for (e = "", t = 0; t < arguments.length; t++) e += arguments[t].toString() + " "; 158 alert(e) 159 } 160 } 161 } 162 163 function o(t) { 164 return (i(t) || c(t)) && "" !== t && !isNaN(t) 165 } 166 167 function S(t) { 168 var e, n = []; 169 if (!x(t)) 170 if (b(t)) 171 if (i(t.length)) n = t; 172 else
173 for (e in t) n.push(t[e]); 174 else n.push(t); 175 return n 176 } 177 178 function p(n) { 179 if (n) return y(n) ? n : (n = S(n), function (t) { 180 var e; 181 if (x(t)) return !1; 182 if (b(t)) { 183 for (e = 0; e < t.length; e++) 184 if (0 <= j.inArray(t[e], n)) return !0; 185 return !1 186 } 187 return 0 <= j.inArray(t, n) 188 }) 189 } 190 191 function T(t, e, n) { 192 var i = e ? t : null; 193 return !t || c(t) ? i : t.latLng ? T(t.latLng) : t instanceof D.LatLng ? t : o(t.lat) ? new D.LatLng(t.lat, t.lng) : !n && w(t) && o(t[0]) && o(t[1]) ? new D.LatLng(t[0], t[1]) : i 194 } 195 196 function k(t) { 197 var e, n; 198 return !t || t instanceof D.LatLngBounds ? t || null : (w(t) ? 2 === t.length ? (e = T(t[0]), n = T(t[1])) : 4 === t.length && (e = T([t[0], t[1]]), n = T([t[2], t[3]])) : "ne" in t && "sw" in t ? (e = T(t.ne), n = T(t.sw)) : "n" in t && "e" in t && "s" in t && "w" in t && (e = T([t.n, t.e]), n = T([t.s, t.w])), e && n ? new D.LatLngBounds(n, e) : null) 199 } 200 201 function d(n, i, o, a, r) { 202 var t = !!o && T(a.td, !1, !0), 203 s = t ? { 204 latLng: t 205 } : !!a.td.address && (c(a.td.address) ? { 206 address: a.td.address 207 } : a.td.address), 208 e = !!s && h.get(s), 209 l = this; 210 s ? (r = r || 0, e ? (a.latLng = e.results[0].geometry.location, a.results = e.results, a.status = e.status, i.apply(n, [a])) : (s.location && (s.location = T(s.location)), s.bounds && (s.bounds = k(s.bounds)), function () { 211 L.geocoder || (L.geocoder = new D.Geocoder); 212 return L.geocoder 213 }().geocode(s, function (t, e) { 214 e === D.GeocoderStatus.OK ? (h.store(s, { 215 results: t, 216 status: e 217 }), a.latLng = t[0].geometry.location, a.results = t, a.status = e, i.apply(n, [a])) : e === D.GeocoderStatus.OVER_QUERY_LIMIT && r < u.queryLimit.attempt ? setTimeout(function () { 218 d.apply(l, [n, i, o, a, r + 1]) 219 }, u.queryLimit.delay + Math.floor(Math.random() * u.queryLimit.random)) : (C("geocode failed", e, s), a.latLng = a.results = !1, a.status = e, i.apply(n, [a])) 220 }))) : (a.latLng = T(a.td, !1, !0), i.apply(n, [a])) 221 } 222 223 function m(n, t, i, o) { 224 var a = this, 225 r = -1; 226 ! function e() { 227 for (; ++r < n.length && !("address" in n[r]);); 228 r >= n.length ? i.apply(t, [o]) : d(a, function (t) { 229 delete t.td, j.extend(n[r], t), e.apply(a, []) 230 }, !0, { 231 td: n[r] 232 }) 233 }() 234 } 235 236 function f(e, n, i) { 237 var o = !1; 238 navigator && navigator.geolocation ? navigator.geolocation.getCurrentPosition(function (t) { 239 o || (o = !0, i.latLng = new D.LatLng(t.coords.latitude, t.coords.longitude), n.apply(e, [i])) 240 }, function () { 241 o || (o = !0, i.latLng = !1, n.apply(e, [i])) 242 }, i.opts.getCurrentPosition) : (i.latLng = !1, n.apply(e, [i])) 243 } 244 var L = {}, 245 h = new function () { 246 var s = []; 247 this.get = function (t) { 248 if (s.length) { 249 var e, n, i, o, a, r = l(t); 250 for (e = 0; e < s.length; e++) { 251 for (o = s[e], a = r.length === o.keys.length, n = 0; n < r.length && a; n++)(a = (i = r[n]) in o.request) && (a = b(t[i]) && "equals" in t[i] && y(t[i]) ? t[i].equals(o.request[i]) : t[i] === o.request[i]); 252 if (a) return o.results 253 } 254 } 255 }, this.store = function (t, e) { 256 s.push({ 257 request: t, 258 keys: l(t), 259 results: e 260 }) 261 } 262 }; 263 264 function t() { 265 var e = []; 266 this.empty = function () { 267 return !e.length 268 }, this.add = function (t) { 269 e.push(t) 270 }, this.get = function () { 271 return !!e.length && e[0] 272 }, this.ack = function () { 273 e.shift() 274 } 275 } 276 277 function s() { 278 var l = {}, 279 s = {}, 280 u = this; 281 282 function c(t) { 283 return { 284 id: t.id, 285 name: t.name, 286 object: t.obj, 287 tag: t.tag, 288 data: t.data 289 } 290 } 291 292 function o(t) { 293 y(t.setMap) && t.setMap(null), y(t.remove) && t.remove(), y(t.free) && t.free(), t = null 294 } 295 u.add = function (t, e, n, i) { 296 var o = t.td || {}, 297 a = $(o.id); 298 return l[e] || (l[e] = []), a in s && u.clearById(a), s[a] = { 299 obj: n, 300 sub: i, 301 name: e, 302 id: a, 303 tag: o.tag, 304 data: o.data 305 }, l[e].push(a), a 306 }, u.getById = function (t, e, n) { 307 var i = !1; 308 return t in s && (i = e ? s[t].sub : n ? c(s[t]) : s[t].obj), i 309 }, u.get = function (t, e, n, i) { 310 var o, a, r = p(n); 311 if (!l[t] || !l[t].length) return null; 312 for (o = l[t].length; o;) 313 if (o--, (a = l[t][e ? o : l[t].length - o - 1]) && s[a]) { 314 if (r && !r(s[a].tag)) continue; 315 return i ? c(s[a]) : s[a].obj 316 } return null 317 }, u.all = function (t, e, i) { 318 function n(t) { 319 var e, n; 320 for (e = 0; e < l[t].length; e++) 321 if ((n = l[t][e]) && s[n]) { 322 if (a && !a(s[n].tag)) continue; 323 o.push(i ? c(s[n]) : s[n].obj) 324 } 325 } 326 var o = [], 327 a = p(e); 328 if (t in l) n(t); 329 else if (x(t)) 330 for (t in l) n(t); 331 return o 332 }, u.rm = function (t, e, n) { 333 var i, o; 334 if (!l[t]) return !1; 335 if (e) 336 if (n) 337 for (i = l[t].length - 1; 0 <= i && (o = l[t][i], !e(s[o].tag)); i--); 338 else 339 for (i = 0; i < l[t].length && (o = l[t][i], !e(s[o].tag)); i++); 340 else i = n ? l[t].length - 1 : 0; 341 return i in l[t] && u.clearById(l[t][i], i) 342 }, u.clearById = function (t, e) { 343 if (t in s) { 344 var n, i = s[t].name; 345 for (n = 0; x(e) && n < l[i].length; n++) t === l[i][n] && (e = n); 346 return o(s[t].obj), s[t].sub && o(s[t].sub), delete s[t], l[i].splice(e, 1), !0 347 } 348 return !1 349 }, u.objGetById = function (t) { 350 var e, n; 351 if (l.clusterer) 352 for (n in l.clusterer) 353 if (!1 !== (e = s[l.clusterer[n]].obj.getById(t))) return e; 354 return !1 355 }, u.objClearById = function (t) { 356 var e; 357 if (l.clusterer) 358 for (e in l.clusterer) 359 if (s[l.clusterer[e]].obj.clearById(t)) return !0; 360 return null 361 }, u.clear = function (t, e, n, i) { 362 var o, a, r, s = p(i); 363 if (t && t.length) t = S(t); 364 else 365 for (o in t = [], l) t.push(o); 366 for (a = 0; a < t.length; a++)
367 if (r = t[a], e) u.rm(r, s, !0); 368 else if (n) u.rm(r, s, !1); 369 else 370 for (; u.rm(r, s, !1);); 371 }, u.objClear = function (t, e, n, i) { 372 var o; 373 if (l.clusterer && (0 <= j.inArray("marker", t) || !t.length)) 374 for (o in l.clusterer) s[l.clusterer[o]].obj.clear(e, n, i) 375 } 376 } 377 378 function E(n, i, o) { 379 var a, t, r = {}, 380 e = this, 381 s = { 382 latLng: { 383 map: !1, 384 marker: !1, 385 infowindow: !1, 386 circle: !1, 387 overlay: !1, 388 getlatlng: !1, 389 getmaxzoom: !1, 390 getelevation: !1, 391 streetviewpanorama: !1, 392 getaddress: !0 393 }, 394 geoloc: { 395 getgeoloc: !0 396 } 397 }; 398 399 function l() { 400 var t; 401 for (t in o) 402 if (o.hasOwnProperty(t) && !r.hasOwnProperty(t)) return t 403 } 404 c(o) && ((t = {})[o] = {}, o = t), e.run = function () { 405 for (var t, e; t = l();) { 406 if (y(n[t])) return a = t, e = j.extend(!0, {}, u[t] || {}, o[t].options || {}), void(t in s.latLng ? o[t].values ? m(o[t].values, n, n[t], { 407 td: o[t], 408 opts: e, 409 session: r 410 }) : d(n, n[t], s.latLng[t], { 411 td: o[t], 412 opts: e, 413 session: r 414 }) : t in s.geoloc ? f(n, n[t], { 415 td: o[t], 416 opts: e, 417 session: r 418 }) : n[t].apply(n, [{ 419 td: o[t], 420 opts: e, 421 session: r 422 }])); 423 r[t] = null 424 } 425 i.apply(n, [o, r]) 426 }, e.ack = function (t) { 427 r[a] = t, e.run.apply(e, []) 428 } 429 } 430 431 function M() { 432 return L.es || (L.es = new D.ElevationService), L.es 433 } 434 435 function P(n, x, I) { 436 var t, C, S, T, k = !1, 437 L = !1, 438 E = !1, 439 M = !1, 440 P = !0, 441 c = this, 442 e = [], 443 _ = {}, 444 i = {}, 445 d = {}, 446 o = [], 447 A = [], 448 z = [], 449 a = function (t) { 450 function e() { 451 return this.onAdd = function () {}, this.onRemove = function () {}, this.draw = function () {}, u.classes.OverlayView.apply(this, []) 452 } 453 e.prototype = u.classes.OverlayView.prototype; 454 var n = new e; 455 return n.setMap(t), n 456 }(x, I.radius); 457 458 function r(t) { 459 o[t] || (delete A[t].options.map, o[t] = new u.classes.Marker(A[t].options), W(n, { 460 td: A[t] 461 }, o[t], A[t].id)) 462 } 463 464 function O(t) { 465 b(_[t]) ? (y(_[t].obj.setMap) && _[t].obj.setMap(null), y(_[t].obj.remove) && _[t].obj.remove(), y(_[t].shadow.remove) && _[t].obj.remove(), y(_[t].shadow.setMap) && _[t].shadow.setMap(null), delete _[t].obj, delete _[t].shadow) : o[t] && o[t].setMap(null), delete _[t] 466 } 467 468 function N() { 469 var t = function () { 470 var t, e, n, i, o, a, r, s, l = Math.cos, 471 u = Math.sin, 472 c = arguments; 473 return i = c[0] instanceof D.LatLng ? (t = c[0].lat(), n = c[0].lng(), c[1] instanceof D.LatLng ? (e = c[1].lat(), c[1].lng()) : (e = c[1], c[2])) : (t = c[0], n = c[1], c[2] instanceof D.LatLng ? (e = c[2].lat(), c[2].lng()) : (e = c[2], c[3])), o = Math.PI * t / 180, a = Math.PI * n / 180, r = Math.PI * e / 180, s = Math.PI * i / 180, 6371e3 * Math.acos(Math.min(l(o) * l(r) * l(a) * l(s) + l(o) * u(a) * l(r) * u(s) + u(o) * u(r), 1)) 474 }(x.getCenter(), x.getBounds().getNorthEast()); 475 return new D.Circle({ 476 center: x.getCenter(), 477 radius: 1.25 * t 478 }).getBounds() 479 } 480 481 function s() { 482 clearTimeout(t), t = setTimeout(l, 25) 483 } 484 485 function l() { 486 if (!k && !E && M) { 487 var t, e, n, i, o, a, r, s, l, u, c, d, p, m, f, h = !1, 488 v = [], 489 g = {}, 490 y = x.getZoom(), 491 w = "maxZoom" in I && y > I.maxZoom, 492 b = function () { 493 var t, e = {}; 494 for (t in _) e[t] = !0; 495 return e 496 }();
497 for (L = !1, 3 < y && (h = (o = N()).getSouthWest().lng() < o.getNorthEast().lng()), t = 0; t < A.length; t++) !A[t] || h && !o.contains(A[t].options.position) || S && !S(z[t]) || v.push(t); 498 for (;;) { 499 for (t = 0; g[t] && t < v.length;) t++; 500 if (t === v.length) break; 501 if (i = [], P && !w) { 502 c = 10; 503 do { 504 for (s = i, i = [], c--, r = s.length ? o.getCenter() : A[v[t]].options.position, d = r, void 0, p = C.fromLatLngToDivPixel(d), m = C.fromDivPixelToLatLng(new D.Point(p.x + I.radius, p.y - I.radius)), f = C.fromDivPixelToLatLng(new D.Point(p.x - I.radius, p.y + I.radius)), o = new D.LatLngBounds(f, m), e = t; e < v.length; e++) g[e] || o.contains(A[v[e]].options.position) && i.push(e) 505 } while (s.length < i.length && 1 < i.length && c) 506 } else 507 for (e = t; e < v.length; e++) 508 if (!g[e]) { 509 i.push(e); 510 break 511 } for (a = { 512 indexes: [], 513 ref: [] 514 }, l = u = 0, n = 0; n < i.length; n++) g[i[n]] = !0, a.indexes.push(v[i[n]]), a.ref.push(v[i[n]]), l += A[v[i[n]]].options.position.lat(), u += A[v[i[n]]].options.position.lng(); 515 l /= i.length, u /= i.length, a.latLng = new D.LatLng(l, u), a.ref = a.ref.join("-"), a.ref in b ? delete b[a.ref] : (1 === i.length && (_[a.ref] = !0), T(a)) 516 } 517 j.each(b, function (t) { 518 O(t) 519 }), E = !1 520 } 521 }! function t() { 522 C = a.getProjection(); 523 if (!C) return void setTimeout(function () { 524 t.apply(c, []) 525 }, 25); 526 M = !0; 527 e.push(D.event.addListener(x, "zoom_changed", s)); 528 e.push(D.event.addListener(x, "bounds_changed", s)); 529 l() 530 }(), c.getById = function (t) { 531 return t in i && (r(i[t]), o[i[t]]) 532 }, c.rm = function (t) { 533 var e = i[t]; 534 o[e] && o[e].setMap(null), delete o[e], o[e] = !1, delete A[e], A[e] = !1, delete z[e], z[e] = !1, delete i[t], delete d[e], L = !0 535 }, c.clearById = function (t) { 536 if (t in i) return c.rm(t), !0 537 }, c.clear = function (t, e, n) { 538 var i, o, a, r, s, l = [], 539 u = p(n); 540 for (a = t ? (i = A.length - 1, o = -1) : (i = 0, o = A.length, 1), r = i; r !== o && (!A[r] || u && !u(A[r].tag) || (l.push(d[r]), !e && !t)); r += a); 541 for (s = 0; s < l.length; s++) c.rm(l[s]) 542 }, c.add = function (t, e) { 543 t.id = $(t.id), c.clearById(t.id), i[t.id] = o.length, d[o.length] = t.id, o.push(null), A.push(t), z.push(e), L = !0 544 }, c.addMarker = function (t, e) { 545 (e = e || {}).id = $(e.id), c.clearById(e.id), e.options || (e.options = {}), e.options.position = t.getPosition(), W(n, { 546 td: e 547 }, t, e.id), i[e.id] = o.length, d[o.length] = e.id, o.push(t), A.push(e), z.push(e.data || {}), L = !0 548 }, c.td = function (t) { 549 return A[t] 550 }, c.value = function (t) { 551 return z[t] 552 }, c.marker = function (t) { 553 return t in o && (r(t), o[t]) 554 }, c.markerIsSet = function (t) { 555 return Boolean(o[t]) 556 }, c.setMarker = function (t, e) { 557 o[t] = e 558 }, c.store = function (t, e, n) { 559 _[t.ref] = { 560 obj: e, 561 shadow: n 562 } 563 }, c.free = function () { 564 var t; 565 for (t = 0; t < e.length; t++) D.event.removeListener(e[t]); 566 e = [], j.each(_, function (t) { 567 O(t) 568 }), _ = {}, j.each(A, function (t) { 569 A[t] = null 570 }), A = [], j.each(o, function (t) { 571 o[t] && (o[t].setMap(null), delete o[t]) 572 }), o = [], j.each(z, function (t) { 573 delete z[t] 574 }), z = [], i = {}, d = {} 575 }, c.filter = function (t) { 576 S = t, l() 577 }, c.enable = function (t) { 578 P !== t && (P = t, l()) 579 }, c.display = function (t) { 580 T = t 581 }, c.error = function (t) { 582 t 583 }, c.beginUpdate = function () { 584 k = !0 585 }, c.endUpdate = function () { 586 k = !1, L && l() 587 }, c.autofit = function (t) { 588 var e; 589 for (e = 0; e < A.length; e++) A[e] && t.extend(A[e].options.position) 590 } 591 } 592 593 function _(t, o) { 594 var e = this; 595 e.id = function () { 596 return t 597 }, e.filter = function (t) { 598 o.filter(t) 599 }, e.enable = function () { 600 o.enable(!0) 601 }, e.disable = function () { 602 o.enable(!1) 603 }, e.add = function (t, e, n) { 604 n || o.beginUpdate(), o.addMarker(t, e), n || o.endUpdate() 605 }, e.getById = function (t) { 606 return o.getById(t) 607 }, e.clearById = function (t, e) { 608 var n; 609 return e || o.beginUpdate(), n = o.clearById(t), e || o.endUpdate(), n 610 }, e.clear = function (t, e, n, i) { 611 i || o.beginUpdate(), o.clear(t, e, n), i || o.endUpdate() 612 } 613 } 614 615 function A(t, e, n, i) { 616 var o = this, 617 a = []; 618 u.classes.OverlayView.call(o), o.setMap(t), o.onAdd = function () { 619 var t = o.getPanes(); 620 e.pane in t && j(t[e.pane]).append(i), j.each("dblclick click mouseover mousemove mouseout mouseup mousedown".split(" "), function (t, e) { 621 a.push(D.event.addDomListener(i[0], e, function (t) { 622 j.Event(t).stopPropagation(), D.event.trigger(o, e, [t]), o.draw() 623 })) 624 }), a.push(D.event.addDomListener(i[0], "contextmenu", function (t) { 625 j.Event(t).stopPropagation(), D.event.trigger(o, "rightclick", [t]), o.draw() 626 })) 627 }, o.getPosition = function () { 628 return n 629 }, o.setPosition = function (t) { 630 n = t, o.draw() 631 }, o.draw = function () { 632 var t = o.getProjection().fromLatLngToDivPixel(n); 633 i.css("left", t.x + e.offset.x + "px").css("top", t.y + e.offset.y + "px") 634 }, o.onRemove = function () { 635 var t; 636 for (t = 0; t < a.length; t++) D.event.removeListener(a[t]); 637 i.remove() 638 }, o.hide = function () { 639 i.hide() 640 }, o.show = function () { 641 i.show() 642 }, o.toggle = function () { 643 i && (i.is(":visible") ? o.show() : o.hide()) 644 }, o.toggleDOM = function () { 645 o.setMap(o.getMap() ? null : t) 646 }, o.getDOMElement = function () { 647 return i[0] 648 } 649 } 650 651 function a(f) {
652 var o, h = this, 653 n = new t, 654 d = new s, 655 v = null; 656 657 function i() { 658 !o && (o = n.get()) && o.run() 659 } 660 661 function a() { 662 o = null, n.ack(), i.call(h) 663 } 664 665 function r(t) { 666 var e, n = t.td.callback; 667 n && (e = Array.prototype.slice.call(arguments, 1), y(n) ? n.apply(f, e) : w(n) && y(n[1]) && n[1].apply(n[0], e)) 668 } 669 670 function p(t, e, n) { 671 n && W(f, t, e, n), r(t, e), o.ack(e) 672 } 673 674 function m(t, e) { 675 var n = (e = e || {}).td && e.td.options ? e.td.options : 0; 676 v ? n && (n.center && (n.center = T(n.center)), v.setOptions(n)) : ((n = e.opts || j.extend(!0, {}, u.map, n || {})).center = t || T(n.center), v = new u.classes.Map(f.get(0), n)) 677 } 678 679 function e(s, l, u) { 680 var c = [], 681 t = "values" in s.td; 682 t || (s.td.values = [{ 683 options: s.opts 684 }]), s.td.values.length ? (m(), j.each(s.td.values, function (t, e) { 685 var n, i, o, a, r = I(s, e); 686 if (r.options[u]) 687 if (r.options[u][0][0] && w(r.options[u][0][0])) 688 for (i = 0; i < r.options[u].length; i++) 689 for (o = 0; o < r.options[u][i].length; o++) r.options[u][i][o] = T(r.options[u][i][o]); 690 else 691 for (i = 0; i < r.options[u].length; i++) r.options[u][i] = T(r.options[u][i]); 692 r.options.map = v, a = new D[l](r.options), c.push(a), n = d.add({ 693 td: r 694 }, l.toLowerCase(), a), W(f, { 695 td: r 696 }, a, n) 697 }), p(s, t ? c : c[0])) : p(s, !1) 698 } 699 h._plan = function (t) { 700 var e; 701 for (e = 0; e < t.length; e++) n.add(new E(h, a, t[e])); 702 i() 703 }, h.map = function (t) { 704 m(t.latLng, t), W(f, t, v), p(t, v) 705 }, h.destroy = function (t) { 706 d.clear(), f.empty(), v && (v = null), p(t, !0) 707 }, h.overlay = function (r, s) { 708 var l = [], 709 t = "values" in r.td; 710 if (t || (r.td.values = [{ 711 latLng: r.latLng, 712 options: r.opts 713 }]), r.td.values.length) { 714 if (A.__initialised || (A.prototype = new u.classes.OverlayView, A.__initialised = !0), j.each(r.td.values, function (t, e) { 715 var n, i, o = I(r, e), 716 a = j(document.createElement("div")).css({ 717 border: "none", 718 borderWidth: 0, 719 position: "absolute" 720 }); 721 a.append(o.options.content), i = new A(v, o.options, T(o) || T(e), a), l.push(i), a = null, s || (n = d.add(r, "overlay", i), W(f, { 722 td: o 723 }, i, n)) 724 }), s) return l[0]; 725 p(r, t ? l : l[0]) 726 } else p(r, !1) 727 }, h.marker = function (a) { 728 var r, t, i, e = "values" in a.td, 729 s = !v; 730 e || (a.opts.position = a.latLng || T(a.opts.position), a.td.values = [{ 731 options: a.opts 732 }]), a.td.values.length ? (s && m(), !a.td.cluster || v.getBounds() ? a.td.cluster ? (a.td.cluster instanceof _ ? (t = a.td.cluster, i = d.getById(t.id(), !0)) : (i = function (l) { 733 var u, t, c = new P(f, v, l), 734 d = {}, 735 p = {}, 736 m = [], 737 e = /^[0-9]+$/; 738 for (t in l) e.test(t) ? (m.push(1 * t), p[t] = l[t], p[t].width = p[t].width || 0, p[t].height = p[t].height || 0) : d[t] = l[t]; 739 return m.sort(function (t, e) { 740 return e < t 741 }), u = d.calculator ? function (t) { 742 var n = []; 743 return j.each(t, function (t, e) { 744 n.push(c.value(e)) 745 }), d.calculator.apply(f, [n]) 746 } : function (t) { 747 return t.length 748 }, c.error(function () { 749 C.apply(h, arguments) 750 }), c.display(function (t) { 751 var e, n, i, o, a, r, s = u(t.indexes); 752 if (l.force || 1 < s) 753 for (e = 0; e < m.length; e++) m[e] <= s && (n = p[m[e]]); 754 n ? (a = n.offset || [-n.width / 2, -n.height / 2], (i = j.extend({}, d)).options = j.extend({ 755 pane: "overlayLayer", 756 content: n.content ? n.content.replace("CLUSTER_COUNT", s) : "", 757 offset: { 758 x: ("x" in a ? a.x : a[0]) || 0, 759 y: ("y" in a ? a.y : a[1]) || 0 760 } 761 }, d.options || {}), o = h.overlay({ 762 td: i, 763 opts: i.options, 764 latLng: T(t) 765 }, !0), i.options.pane = "floatShadow", i.options.content = j(document.createElement("div")).width(n.width + "px").height(n.height + "px").css({ 766 cursor: "pointer" 767 }), r = h.overlay({ 768 td: i, 769 opts: i.options, 770 latLng: T(t) 771 }, !0), d.data = { 772 latLng: T(t), 773 markers: [] 774 }, j.each(t.indexes, function (t, e) { 775 d.data.markers.push(c.value(e)), c.markerIsSet(e) && c.marker(e).setMap(null) 776 }), W(f, { 777 td: d 778 }, r, g, { 779 main: o, 780 shadow: r 781 }), c.store(t, o, r)) : j.each(t.indexes, function (t, e) { 782 c.marker(e).setMap(v) 783 }) 784 }), c 785 }
785(a.td.cluster), t = new _($(a.td.id, !0), i), d.add(a, "clusterer", t, i)), i.beginUpdate(), j.each(a.td.values, function (t, e) { 786 var n = I(a, e); 787 n.options.position = n.options.position ? T(n.options.position) : T(e), n.options.position && (n.options.map = v, s && (v.setCenter(n.options.position), s = !1), i.add(n, e)) 788 }), i.endUpdate(), p(a, t)) : (r = [], j.each(a.td.values, function (t, e) { 789 var n, i, o = I(a, e); 790 o.options.position = o.options.position ? T(o.options.position) : T(e), o.options.position && (o.options.map = v, s && (v.setCenter(o.options.position), s = !1), i = new u.classes.Marker(o.options), r.push(i), n = d.add({ 791 td: o 792 }, "marker", i), W(f, { 793 td: o 794 }, i, n)) 795 }), p(a, e ? r : r[0])) : D.event.addListenerOnce(v, "bounds_changed", function () { 796 h.marker.apply(h, [a]) 797 })) : p(a, !1) 798 }, h.getroute = function (n) { 799 n.opts.origin = T(n.opts.origin, !0), n.opts.destination = T(n.opts.destination, !0), (L.ds || (L.ds = new D.DirectionsService), L.ds).route(n.opts, function (t, e) { 800 r(n, e === D.DirectionsStatus.OK && t, e), o.ack() 801 }) 802 }, h.getdistance = function (n) { 803 var t; 804 for (n.opts.origins = S(n.opts.origins), t = 0; t < n.opts.origins.length; t++) n.opts.origins[t] = T(n.opts.origins[t], !0); 805 for (n.opts.destinations = S(n.opts.destinations), t = 0; t < n.opts.destinations.length; t++) n.opts.destinations[t] = T(n.opts.destinations[t], !0); 806 (L.dms || (L.dms = new D.DistanceMatrixService), L.dms).getDistanceMatrix(n.opts, function (t, e) { 807 r(n, e === D.DistanceMatrixStatus.OK && t, e), o.ack() 808 }) 809 }, h.infowindow = function (a) { 810 var r = [], 811 s = "values" in a.td; 812 s || (a.latLng && (a.opts.position = a.latLng), a.td.values = [{ 813 options: a.opts 814 }]), j.each(a.td.values, function (t, e) { 815 var n, i, o = I(a, e); 816 o.options.position = o.options.position ? T(o.options.position) : T(e.latLng), v || m(o.options.position), (i = new u.classes.InfoWindow(o.options)) && (x(o.open) || o.open) && (s ? i.open(v, o.anchor || g) : i.open(v, o.anchor || (a.latLng ? g : a.session.marker ? a.session.marker : g))), r.push(i), n = d.add({ 817 td: o 818 }, "infowindow", i), W(f, { 819 td: o 820 }, i, n) 821 }), p(a, s ? r : r[0]) 822 }, h.circle = function (a) { 823 var r = [], 824 t = "values" in a.td; 825 t || (a.opts.center = a.latLng || T(a.opts.center), a.td.values = [{ 826 options: a.opts 827 }]), a.td.values.length ? (j.each(a.td.values, function (t, e) { 828 var n, i, o = I(a, e); 829 o.options.center = o.options.center ? T(o.options.center) : T(e), v || m(o.options.center), o.options.map = v, i = new u.classes.Circle(o.options), r.push(i), n = d.add({ 830 td: o 831 }, "circle", i), W(f, { 832 td: o 833 }, i, n) 834 }), p(a, t ? r : r[0])) : p(a, !1) 835 }, h.getaddress = function (t) { 836 r(t, t.results, t.status), o.ack() 837 }, h.getlatlng = function (t) { 838 r(t, t.results, t.status), o.ack() 839 }, h.getmaxzoom = function (e) { 840 (L.mzs || (L.mzs = new D.MaxZoomService), L.mzs).getMaxZoomAtLatLng(e.latLng, function (t) { 841 r(e, t.status === D.MaxZoomStatus.OK && t.zoom, status), o.ack() 842 }) 843 }, h.getelevation = function (n) { 844 function t(t, e) { 845 r(n, e === D.ElevationStatus.OK && t, e), o.ack() 846 } 847 var e, i = []; 848 if (n.latLng) i.push(n.latLng); 849 else 850 for (i = S(n.td.locations || []), e = 0; e < i.length; e++) i[e] = T(i[e]); 851 if (i.length) M().getElevationForLocations({ 852 locations: i 853 }, t); 854 else { 855 if (n.td.path && n.td.path.length) 856 for (e = 0; e < n.td.path.length; e++) i.push(T(n.td.path[e])); 857 i.length ? M().getElevationAlongPath({ 858 path: i, 859 samples: n.td.samples 860 }, t) : o.ack() 861 } 862 }, h.defaults = function (t) { 863 j.each(t.td, function (t, e) { 864 b(u[t]) ? u[t] = j.extend({}, u[t], e) : u[t] = e 865 }), o.ack(!0) 866 }, h.rectangle = function (a) { 867 var r = [], 868 t = "values" in a.td; 869 t || (a.td.values = [{ 870 options: a.opts 871 }]), a.td.values.length ? (j.each(a.td.values, function (t, e) { 872 var n, i, o = I(a, e); 873 o.options.bounds = o.options.bounds ? k(o.options.bounds) : k(e), v || m(o.options.bounds.getCenter()), o.options.map = v, i = new u.classes.Rectangle(o.options), r.push(i), n = d.add({ 874 td: o 875 }, "rectangle", i), W(f, { 876 td: o 877 }, i, n) 878 }), p(a, t ? r : r[0])) : p(a, !1) 879 }, h.polyline = function (t) { 880 e(t, "Polyline", "path") 881 }, h.polygon = function (t) { 882 e(t, "Polygon", "paths") 883 }, h.trafficlayer = function (t) { 884 m(); 885 var e = d.get("trafficlayer"); 886 e || ((e = new u.classes.TrafficLayer).setMap(v), d.add(t, "trafficlayer", e)), p(t, e) 887 }, h.bicyclinglayer = function (t) { 888 m(); 889 var e = d.get("bicyclinglayer"); 890 e || ((e = new u.classes.BicyclingLayer).setMap(v), d.add(t, "bicyclinglayer", e)), p(t, e) 891 }, h.groundoverlay = function (t) { 892 t.opts.bounds = k(t.opts.bounds), t.opts.bounds && m(t.opts.bounds.getCenter()); 893 var e = new u.classes.GroundOverlay(t.opts.url, t.opts.bounds, t.opts.opts); 894 e.setMap(v), p(t, e, d.add(t, "groundoverlay", e)) 895 }, h.streetviewpanorama = function (t) { 896 t.opts.opts || (t.opts.opts = {}), t.latLng ? t.opts.opts.position = t.latLng : t.opts.opts.position && (t.opts.opts.position = T(t.opts.opts.position)), t.td.divId ? t.opts.c
896ontainer = document.getElementById(t.td.divId) : t.opts.container && (t.opts.container = j(t.opts.container).get(0)); 897 var e = new u.classes.StreetViewPanorama(t.opts.container, t.opts.opts); 898 e && v.setStreetView(e), p(t, e, d.add(t, "streetviewpanorama", e)) 899 }, h.kmllayer = function (r) { 900 var s = [], 901 t = "values" in r.td; 902 t || (r.td.values = [{ 903 options: r.opts 904 }]), r.td.values.length ? (j.each(r.td.values, function (t, e) { 905 var n, i, o, a = I(r, e); 906 v || m(), o = a.options, a.options.opts && (o = a.options.opts, a.options.url && (o.url = a.options.url)), o.map = v, i = function (t) { 907 var e, n = D.version.split("."); 908 for (t = t.split("."), e = 0; e < n.length; e++) n[e] = parseInt(n[e], 10); 909 for (e = 0; e < t.length; e++) { 910 if (t[e] = parseInt(t[e], 10), !n.hasOwnProperty(e)) return !1; 911 if (n[e] < t[e]) return !1 912 } 913 return !0 914 }("3.10") ? new u.classes.KmlLayer(o) : new u.classes.KmlLayer(o.url, o), s.push(i), n = d.add({ 915 td: a 916 }, "kmllayer", i), W(f, { 917 td: a 918 }, i, n) 919 }), p(r, t ? s : s[0])) : p(r, !1) 920 }, h.panel = function (t) { 921 m(); 922 var e, n = 0, 923 i = 0, 924 o = j(document.createElement("div")); 925 o.css({ 926 position: "absolute", 927 zIndex: 1e3, 928 visibility: "hidden" 929 }), t.opts.content && (e = j(t.opts.content), o.append(e), f.first().prepend(o), x(t.opts.left) ? x(t.opts.right) ? t.opts.center && (n = (f.width() - e.width()) / 2) : n = f.width() - e.width() - t.opts.right : n = t.opts.left, x(t.opts.top) ? x(t.opts.bottom) ? t.opts.middle && (i = (f.height() - e.height()) / 2) : i = f.height() - e.height() - t.opts.bottom : i = t.opts.top, o.css({ 930 top: i, 931 left: n, 932 visibility: "visible" 933 })), p(t, o, d.add(t, "panel", o)), o = null 934 }, h.directionsrenderer = function (t) { 935 t.opts.map = v; 936 var e = new D.DirectionsRenderer(t.opts); 937 t.td.divId ? e.setPanel(document.getElementById(t.td.divId)) : t.td.container && e.setPanel(j(t.td.container).get(0)), p(t, e, d.add(t, "directionsrenderer", e)) 938 }, h.getgeoloc = function (t) { 939 p(t, t.latLng) 940 }, h.styledmaptype = function (t) { 941 m(); 942 var e = new u.classes.StyledMapType(t.td.styles, t.opts); 943 v.mapTypes.set(t.td.id, e), p(t, e) 944 }, h.imagemaptype = function (t) { 945 m(); 946 var e = new u.classes.ImageMapType(t.opts); 947 v.mapTypes.set(t.td.id, e), p(t, e) 948 }, h.autofit = function (t) { 949 var n = new D.LatLngBounds; 950 j.each(d.all(), function (t, e) { 951 e.getPosition ? n.extend(e.getPosition()) : e.getBounds ? (n.extend(e.getBounds().getNorthEast()), n.extend(e.getBounds().getSouthWest
951())) : e.getPaths ? e.getPaths().forEach(function (t) { 952 t.forEach(function (t) { 953 n.extend(t) 954 }) 955 }) : e.getPath ? e.getPath().forEach(function (t) { 956 n.extend(t) 957 }) : e.getCenter ? n.extend(e.getCenter()) : e instanceof _ && (e = d.getById(e.id(), !0)) && e.autofit(n) 958 }), n.isEmpty() || v.getBounds() && v.getBounds().equals(n) || ("maxZoom" in t.td && D.event.addListenerOnce(v, "bounds_changed", function () { 959 this.getZoom() > t.td.maxZoom && this.setZoom(t.td.maxZoom) 960 }), v.fitBounds(n)), p(t, !0) 961 }, h.clear = function (t) { 962 if (c(t.td)) { 963 if (d.clearById(t.td) || d.objClearById(t.td)) return void p(t, !0); 964 t.td = { 965 name: t.td 966 } 967 } 968 t.td.id ? j.each(S(t.td.id), function (t, e) { 969 d.clearById(e) || d.objClearById(e) 970 }) : (d.clear(S(t.td.name), t.td.last, t.td.first, t.td.tag), d.objClear(S(t.td.name), t.td.last, t.td.first, t.td.tag)), p(t, !0) 971 }, h.get = function (t, e, i) { 972 var n, o, a = e ? t : t.td; 973 if (e || (i = a.full), c(a) ? !1 === (o = d.getById(a, !1, i) || d.objGetById(a)) && (n = a, a = {}) : n = a.name, "map" === n && (o = v), o || (o = [], a.id ? (j.each(S(a.id), function (t, e) { 974 o.push(d.getById(e, !1, i) || d.objGetById(e)) 975 }), w(a.id) || (o = o[0])) : (j.each(n ? S(n) : [g], function (t, e) { 976 var n; 977 a.first ? (n = d.get(e, !1, a.tag, i)) && o.push(n) : a.all ? j.each(d.all(e, a.tag, i), function (t, e) { 978 o.push(e) 979 }) : (n = d.get(e, !0, a.tag, i)) && o.push(n) 980 }), a.all || w(n) || (o = o[0]))), o = w(o) || !a.all ? o : [o], e) return o; 981 p(t, o) 982 }, h.exec = function (e) { 983 j.each(S(e.td.func), function (t, n) { 984 j.each(h.get(e.td, !0, !e.td.hasOwnProperty("full") || e.td.full), function (t, e) { 985 n.call(f, e) 986 }) 987 }), p(e, !0) 988 }, h.trigger = function (t) { 989 if (c(t.td)) D.event.trigger(v, t.td); 990 else { 991 var n = [v, t.td.eventName]; 992 t.td.var_args && j.each(t.td.var_args, function (t, e) { 993 n.push(e) 994 }), D.event.trigger.apply(D.event, n) 995 } 996 r(t), o.ack() 997 } 998 } 999 j.fn.gmap3 = function () { 1000 var t, n = [], 1001 i = []; 1002 for (function () { 1003 var n; 1004 D = google.maps, u || (u = {
1005 verbose: !1, 1006 queryLimit: { 1007 attempt: 5, 1008 delay: 250, 1009 random: 250 1010 }, 1011 classes: (n = {}, j.each("Map Marker InfoWindow Circle Rectangle OverlayView StreetViewPanorama KmlLayer TrafficLayer BicyclingLayer GroundOverlay StyledMapType ImageMapType".split(" "), function (t, e) { 1012 n[e] = D[e] 1013 }), n), 1014 map: { 1015 mapTypeId: D.MapTypeId.ROADMAP, 1016 center: [46.578498, 2.457275], 1017 zoom: 2 1018 }, 1019 overlay: { 1020 pane: "floatPane", 1021 content: "", 1022 offset: { 1023 x: 0, 1024 y: 0 1025 } 1026 }, 1027 geoloc: { 1028 getCurrentPosition: { 1029 maximumAge: 6e4, 1030 timeout: 5e3 1031 } 1032 } 1033 }) 1034 }(), t = 0; t < arguments.length; t++) arguments[t] && n.push(arguments[t]); 1035 return n.length || n.push("map"), j.each(this, function () { 1036 var t = j(this), 1037 e = t.data("gmap3"); 1038 !1, e || (e = new a(t), t.data("gmap3", e)), 1 !== n.length || "get" !== n[0] && ! function (t) { 1039 var e, n = !1; 1040 if (b(t) && t.hasOwnProperty("get")) { 1041 for (e in t) 1042 if ("get" !== e) return !1; 1043 n = !t.get.hasOwnProperty("callback") 1044 } 1045 return n 1046 }(n[0]) ? e._plan(n) : "get" === n[0] ? i.push(e.get("map", !0)) : i.push(e.get(n[0].get, !0, n[0].get.full)) 1047 }), i.length ? 1 === i.length ? i[0] : i : this 1048 } 1049}(jQuery), 1050function (t) { 1051 "use strict"; 1052 1053 function e() {} 1054 var n = e.prototype, 1055 i = !!Array.prototype.indexOf; 1056 1057 function a(t, e) { 1058 if (i) return e.indexOf(t); 1059 for (var n = e.length; n--;) 1060 if (e[n] === t) return n; 1061 return -1 1062 } 1063 n._getEvents = function () { 1064 return this._events || (this._events = {}) 1065 }, n.getListeners = function (t) { 1066 var e, n, i = this._getEvents(); 1067 if ("object" == typeof t) 1068 for (n in e = {}, i) i.hasOwnProperty(n) && t.test(n) && (e[n] = i[n]); 1069 else e = i[t] || (i[t] = []); 1070 return e 1071 }, n.getListenersAsObject = function (t) { 1072 var e, n = this.getListeners(t); 1073 return n instanceof Array && ((e = {})[t] = n), e || n 1074 }, n.addListener = function (t, e) { 1075 var n, i = this.getListenersAsObject(t); 1076 for (n in i) i.hasOwnProperty(n) && -1 === a(e, i[n]) && i[n].push(e); 1077 return this 1078 }, n.on = n.addListener, n.defineEvent = function (t) { 1079 return this.getListeners(t), this 1080 }, n.defineEvents = function (t) { 1081 for (var e = 0; e < t.length; e += 1) this.defineEvent(t[e]); 1082 return this 1083 }, n.removeListener = function (t, e) { 1084 var n, i, o = this.getListenersAsObject(t); 1085 for (i in o) o.hasOwnProperty(i) && -1 !== (n = a(e, o[i])) && o[i].splice(n, 1); 1086 return this 1087 }, n.off = n.removeListener, n.addListeners = function (t, e) { 1088 return this.manipulateListeners(!1, t, e) 1089 }, n.removeListeners = function (t, e) { 1090 return this.manipulateListeners(!0, t, e) 1091 }, n.manipulateListeners = function (t, e, n) { 1092 var i, o, a = t ? this.removeListener : this.addListener, 1093 r = t ? this.removeListeners : this.addListeners; 1094 if ("object" != typeof e || e instanceof RegExp) 1095 for (i = n.length; i--;) a.call(this, e, n[i]); 1096 else 1097 for (i in e) e.hasOwnProperty(i) && (o = e[i]) && ("function" == typeof o ? a.call(this, i, o) : r.call(this, i, o)); 1098 return this 1099 }, n.removeEvent = function (t) { 1100 var e, n = typeof t, 1101 i = this._getEvents(); 1102 if ("string" == n) delete i[t]; 1103 else if ("object" == n) 1104 for (e in i) i.hasOwnProperty(e) && t.test(e) && delete i[e]; 1105 else delete this._events; 1106 return this 1107 }, n.emitEvent = function (t, e) { 1108 var n, i, o = this.getListenersAsObject(t); 1109 for (i in o) 1110 if (o.hasOwnProperty(i)) 1111 for (n = o[i].length; n--;) !0 === (e ? o[i][n].apply(null, e) : o[i][n]()) && this.removeListener(t, o[i][n]); 1112 return this 1113 }, n.trigger = n.emitEvent, n.emit = function (t) { 1114 var e = Array.prototype.slice.call(arguments, 1); 1115 return this.emitEvent(t, e) 1116 }, "function" == typeof define && define.amd ? define(function () { 1117 return e 1118 }) : t.EventEmitter = e 1119}(this), 1120function (i) { 1121 "use strict"; 1122 var t = document.documentElement, 1123 e = function () {}; 1124 t.addEventListener ? e = function (t, e, n) { 1125 t.addEventListener(e, n, !1) 1126 } : t.attachEvent && (e = function (e, t, n) { 1127 e[t + n] = n.handleEvent ? function () { 1128 var t = i.event; 1129 t.target = t.target || t.srcElement, n.handleEvent.call(n, t) 1130 } : function () { 1131 var t = i.event; 1132 t.target = t.target || t.srcElement, n.call(e, t) 1133 }, e.attachEvent("on" + t, e[t + n]) 1134 }); 1135 var n = function () {}; 1136 t.removeEventListener ? n = function (t, e, n) { 1137 t.removeEventListener(e, n, !1) 1138 } : t.detachEvent && (n = function (e, n, i) { 1139 e.detachEvent("on" + n, e[n + i]); 1140 try { 1141 delete e[n + i] 1142 } catch (t) { 1143 e[n + i] = void 0 1144 } 1145 }); 1146 var o = { 1147 bind: e, 1148 unbind: n 1149 }; 1150 "function" == typeof define && define.amd ? define(o) : i.eventie = o 1151}(this), 1152function (t) { 1153 "use strict"; 1154 var r = t.jQuery, 1155 s = t.console, 1156 l = void 0 !== s; 1157 1158 function u(t, e) { 1159 for (var n in e) t[n] = e[n]; 1160 return t 1161 } 1162 var o = Object.prototype.toString; 1163 1164 function c(t) { 1165 var e = []; 1166 if (function (t) { 1167 return "[object Array]" === o.call(t) 1168 }(t)) e = t; 1169 else if ("number" == typeof t.length) 1170 for (var n = 0, i = t.length; n < i; n++) e.push(t[n]); 1171 else e.push(t); 1172 return e 1173 } 1174 1175 function e(t, n) { 1176 function o(t, e, n) { 1177 if (!(this instanceof o)) return new o(t, e); 1178 "string" == typeof t && (t = document.querySelectorAll(t)), this.elements = c(t), this.options = u({}, this.options), "function" == typeof e ? n = e : u(this.options, e), n && this.on("always", n), this.getImages(), r && (this.jqDeferred = new r.Deferred); 1179 var i = this; 1180 setTimeout(function () { 1181 i.check() 1182 }) 1183 }(o.prototype = new t).options = {}, o.prototype.getImages = function () { 1184 this.images = []; 1185 for (var t = 0, e = this.elements.length; t < e; t++) { 1186 var n = this.elements[t]; 1187 "IMG" === n.nodeName && this.addImage(n); 1188 for (var i = n.querySelectorAll("img"), o = 0, a = i.length; o < a; o++) { 1189 var r = i[o]; 1190 this.addImage(r) 1191 } 1192 } 1193 }, o.prototype.addImage = function (t) { 1194 var e = new a(t); 1195 this.images.push(e) 1196 }
1196, o.prototype.check = function () { 1197 var n = this, 1198 i = 0, 1199 o = this.images.length; 1200 if (this.hasAnyBroken = !1, o) 1201 for (var t = 0; t < o; t++) { 1202 var e = this.images[t]; 1203 e.on("confirm", a), e.check() 1204 } else this.complete(); 1205 1206 function a(t, e) { 1207 return n.options.debug && l && s.log("confirm", t, e), n.progress(t), ++i === o && n.complete(), !0 1208 } 1209 }, o.prototype.progress = function (t) { 1210 this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded, this.emit("progress", this, t), this.jqDeferred && this.jqDeferred.notify(this, t) 1211 }, o.prototype.complete = function () { 1212 var t = this.hasAnyBroken ? "fail" : "done"; 1213 if (this.isComplete = !0, this.emit(t, this), this.emit("always", this), this.jqDeferred) { 1214 var e = this.hasAnyBroken ? "reject" : "resolve"; 1215 this.jqDeferred[e](this) 1216 } 1217 }, r && (r.fn.imagesLoaded = function (t, e) { 1218 return new o(this, t, e).jqDeferred.promise(r(this)) 1219 }); 1220 var i = {}; 1221 1222 function a(t) { 1223 this.img = t 1224 } 1225 return (a.prototype = new t).check = function () { 1226 var t = i[this.img.src]; 1227 if (t) this.useCached(t); 1228 else if ((i[this.img.src] = this).img.complete && void 0 !== this.img.naturalWidth) this.confirm(0 !== this.img.naturalWidth, "naturalWidth"); 1229 else { 1230 var e = this.proxyImage = new Image; 1231 n.bind(e, "load", this), n.bind(e, "error", this), e.src = this.img.src 1232 } 1233 }, a.prototype.useCached = function (t) { 1234 if (t.isConfirmed) this.confirm(t.isLoaded, "cached was confirmed"); 1235 else { 1236 var e = this; 1237 t.on("confirm", function (t) { 1238 return e.confirm(t.isLoaded, "cache emitted confirmed"), !0 1239 }) 1240 } 1241 }, a.prototype.confirm = function (t, e) { 1242 this.isConfirmed = !0, this.isLoaded = t, this.emit("confirm", this, e) 1243 }, a.prototype.handleEvent = function (t) { 1244 var e = "on" + t.type; 1245 this[e] && this[e](t) 1246 }, a.prototype.onload = function () { 1247 this.confirm(!0, "onload"), this.unbindProxyEvents() 1248 }, a.prototype.onerror = function () { 1249 this.confirm(!1, "onerror"), this.unbindProxyEvents() 1250 }, a.prototype.unbindProxyEvents = function () { 1251 n.unbind(this.proxyImage, "load", this), n.unbind(this.proxyImage, "error", this) 1252 }, o 1253 } 1254 "function" == typeof define && define.amd ? define(["eventEmitter", "eventie"], e) : t.imagesLoaded = e(t.EventEmitter, t.eventie) 1255}(window), 1256function (t) { 1257 var d = Array.prototype.slice; 1258 1259 function e() {} 1260 1261 function n(u) { 1262 if (u) { 1263 var c = "undefined" == typeof console ? e : function (t) { 1264 console.error(t) 1265 }; 1266 return u.bridget = function (t, e) { 1267 ! function (t) { 1268 t.prototype.option || (t.prototype.option = function (t) { 1269 u.isPlainObject(t) && (this.options = u.extend(!0, this.options, t)) 1270 }) 1271 }(e), 1272 function (s, l) { 1273 u.fn[s] = function (e) { 1274 if ("string" != typeof e) return this.each(function () { 1275 var t = u.data(this, s); 1276 t ? (t.option(e), t._init()) : (t = new l(this, e), u.data(this, s, t)) 1277 }); 1278 for (var t = d.call(arguments, 1), n = 0, i = this.length; n < i; n++) { 1279 var o = this[n], 1280 a = u.data(o, s); 1281 if (a) 1282 if (u.isFunction(a[e]) && "_" !== e.charAt(0)) { 1283 var r = a[e].apply(a, t); 1284 if (void 0 !== r) return r 1285 } else c("no such method '" + e + "' for " + s + " instance"); 1286 else c("cannot call methods on " + s + " prior to initialization; attempted to call '" + e + "'") 1287 } 1288 return this 1289 } 1290 }(t, e) 1291 }, u.bridget 1292 } 1293 } 1294 "function" == typeof define && define.amd ? define("jquery-bridget/jquery.bridget", ["jquery"], n) : "object" == typeof exports ? n(require("jquery")) : n(t.jQuery) 1295}(window), 1296function (n) { 1297 var t = document.documentElement, 1298 e = function () {}; 1299 1300 function i(t) { 1301 var e = n.event; 1302 return e.target = e.target || e.srcElement || t, e 1303 } 1304 t.addEventListener ? e = function (t, e, n) { 1305 t.addEventListener(e, n, !1) 1306 } : t.attachEvent && (e = function (e, t, n) { 1307 e[t + n] = n.handleEvent ? function () { 1308 var t = i(e); 1309 n.handleEvent.call(n, t) 1310 } : function () { 1311 var t = i(e); 1312 n.call(e, t) 1313 }, e.attachEvent("on" + t, e[t + n]) 1314 }); 1315 var o = function () {}; 1316 t.removeEventListener ? o = function (t, e, n) { 1317 t.removeEventListener(e, n, !1) 1318 } : t.detachEvent && (o = function (e, n, i) { 1319 e.detachEvent("on" + n, e[n + i]); 1320 try { 1321 delete e[n + i] 1322 } catch (t) { 1323 e[n + i] = void 0 1324 } 1325 }); 1326 var a = { 1327 bind: e, 1328 unbind: o 1329 }; 1330 "function" == typeof define && define.amd ? define("eventie/eventie", a) : "object" == typeof exports ? module.exports = a : n.eventie = a 1331}(this), 1332function (e) { 1333 var n = e.document, 1334 i = []; 1335 1336 function o(t) { 1337 "function" == typeof t && (o.isReady ? t() : i.push(t)) 1338 } 1339 1340 function a(t) { 1341 var e = "readystatechange" === t.type && "complete" !== n.readyState; 1342 o.isReady || e || r() 1343 } 1344 1345 function r() { 1346 o.isReady = !0; 1347 for (var t = 0, e = i.length; t < e; t++) { 1348 (0, i[t])() 1349 } 1350 } 1351 1352 function t(t) { 1353 return "complete" === n.readyState ? r() : (t.bind(n, "DOMContentLoaded", a), t.bind(n, "readystatechange", a), t.bind(e, "load", a)), o 1354 } 1355 o.isReady = !1, "function" == typeof define && define.amd ? define("doc-ready/doc-ready", ["eventie/eventie"], t) : "object" == typeof exports ? module.exports = t(require("eventie")) : e.docReady = t(e.eventie) 1356}(window), 1357function () { 1358 function t() {} 1359 var e = t.prototype, 1360 n = this, 1361 i = n.EventEmitter; 1362 1363 function a(t, e) { 1364 for (var n = t.length; n--;) 1365 if (t[n].listener === e) return n; 1366 return -1 1367 } 1368 1369 function o(t) { 1370 return function () { 1371 return this[t].apply(this, arguments) 1372 } 1373 } 1374 e.getListeners = function (t) { 1375 var e, n, i = this._getEvents(); 1376 if (t instanceof RegExp) 1377 for (n in e = {}, i) i.hasOwnProperty(n) && t.test(n) && (e[n] = i[n]); 1378 else e = i[t] || (i[t] = []); 1379 return e 1380 }, e.flattenListeners = function (t) { 1381 var e, n = []; 1382 for (e = 0; e < t.length; e += 1) n.push(t[e].listener); 1383 return n 1384 }, e.getListenersAsObject = function (t) { 1385 var e, n = this.getListeners(t); 1386 return n instanceof Array && ((e = {})[t] = n), e || n 1387 }, e.addListener = function (t, e) { 1388 var n, i = this.getListenersAsObject(t), 1389 o = "object" == typeof e; 1390 for (n in i) i.hasOwnProperty(n) && -1 === a(i[n], e) && i[n].push(o ? e : { 1391 listener: e, 1392 once: !1 1393 }); 1394 return this 1395 }, e.on = o("addListener"), e.addOnceListener = function (t, e) { 1396 return this.addListener(t, { 1397 listener: e, 1398 once: !0 1399 }) 1400 }, e.once = o("addOnceListener"), e.defineEvent = function (t) { 1401 return this.getListeners(t), this 1402 }, e.defineEvents = function (t) { 1403 for (var e = 0; e < t.length; e += 1) this.defineEvent(t[e]); 1404 return this 1405 }, e.removeListener = function (t, e) { 1406 var n, i, o = this.getListenersAsObject(t); 1407 for (i in o) o.hasOwnProperty(i) && -1 !== (n = a(o[i], e)) && o[i].splice(n, 1); 1408 return this 1409 }, e.off = o("removeListener"), e.addListeners = function (t, e) { 1410 return this.manipulateListeners(!1, t, e) 1411 }, e.removeListeners = function (t, e) { 1412 return this.manipulateListeners(!0, t, e) 1413 }, e.manipulateListeners = function (t, e, n) { 1414 var i, o, a = t ? this.removeListener : this.addListener, 1415 r = t ? this.removeListeners : this.addListeners; 1416 if ("object" != typeof e || e instanceof RegExp) 1417 for (i = n.length; i--;) a.call(this, e, n[i]); 1418 else 1419 for (i in e) e.hasOwnProperty(i) && (o = e[i]) && ("function" == typeof o ? a.call(this, i, o) : r.call(this, i, o)); 1420 return this 1421 }, e.removeEvent = function (t) { 1422 var e, n = typeof t, 1423 i = this._getEvents(); 1424 if ("string" == n) delete i[t]; 1425 else if (t instanceof RegExp)
1426 for (e in i) i.hasOwnProperty(e) && t.test(e) && delete i[e]; 1427 else delete this._events; 1428 return this 1429 }, e.removeAllListeners = o("removeEvent"), e.emitEvent = function (t, e) { 1430 var n, i, o, a = this.getListenersAsObject(t); 1431 for (o in a) 1432 if (a.hasOwnProperty(o)) 1433 for (i = a[o].length; i--;) !0 === (n = a[o][i]).once && this.removeListener(t, n.listener), n.listener.apply(this, e || []) === this._getOnceReturnValue() && this.removeListener(t, n.listener); 1434 return this 1435 }, e.trigger = o("emitEvent"), e.emit = function (t) { 1436 var e = Array.prototype.slice.call(arguments, 1); 1437 return this.emitEvent(t, e) 1438 }, e.setOnceReturnValue = function (t) { 1439 return this._onceReturnValue = t, this 1440 }, e._getOnceReturnValue = function () { 1441 return !this.hasOwnProperty("_onceReturnValue") || this._onceReturnValue 1442 }, e._getEvents = function () { 1443 return this._events || (this._events = {}) 1444 }, t.noConflict = function () { 1445 return n.EventEmitter = i, t 1446 }, "function" == typeof define && define.amd ? define("eventEmitter/EventEmitter", [], function () { 1447 return t 1448 }) : "object" == typeof module && module.exports ? module.exports = t : n.EventEmitter = t 1449}.call(this), 1450 function (t) { 1451 var o = "Webkit Moz ms Ms O".split(" "), 1452 a = document.documentElement.style; 1453 1454 function e(t) { 1455 if (t) { 1456 if ("string" == typeof a[t]) return t; 1457 var e; 1458 t = t.charAt(0).toUpperCase() + t.slice(1); 1459 for (var n = 0, i = o.length; n < i; n++) 1460 if (e = o[n] + t, "string" == typeof a[e]) return e 1461 } 1462 } 1463 "function" == typeof define && define.amd ? define("get-style-property/get-style-property", [], function () { 1464 return e 1465 }) : "object" == typeof exports ? module.exports = e : t.getStyleProperty = e 1466 }(window), 1467 function (S) { 1468 function T(t) { 1469 var e = parseFloat(t); 1470 return -1 === t.indexOf("%") && !isNaN(e) && e 1471 } 1472 var k = "undefined" == typeof console ? function () {} : function (t) { 1473 console.error(t) 1474 }, 1475 L = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"]; 1476 1477 function t(y) { 1478 var w, b, x, I = !1; 1479 1480 function C(t, e) { 1481 if (S.getComputedStyle || -1 === e.indexOf("%")) return e; 1482 var n = t.style, 1483 i = n.left, 1484 o = t.runtimeStyle, 1485 a = o && o.left; 1486 return a && (o.left = t.currentStyle.left), n.left = e, e = n.pixelLeft, n.left = i, a && (o.left = a), e 1487 } 1488 return function (t) { 1489 if (function () { 1490 if (!I) { 1491 I = !0; 1492 var n, e = S.getComputedStyle; 1493 if (n = e ? function (t) { 1494 return e(t, null) 1495 } : function (t) { 1496 return t.currentStyle 1497 }, w = function (t) { 1498 var e = n(t); 1499 return e || k("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"), e 1500 }, b = y("boxSizing")) { 1501 var t = document.createElement("div"); 1502 t.style.width = "200px", t.style.padding = "1px 2px 3px 4px", t.style.borderStyle = "solid", t.style.borderWidth = "1px 2px 3px 4px", t.style[b] = "border-box"; 1503 var i = document.body || document.documentElement; 1504 i.appendChild(t); 1505 var o = w(t); 1506 x = 200 === T(o.width), i.removeChild(t) 1507 } 1508 } 1509 }(), "string" == typeof t && (t = document.querySelector(t)), t && "object" == typeof t && t.nodeType) { 1510 var e = w(t); 1511 if ("none" === e.display) return function () { 1512 for (var t = { 1513 width: 0, 1514 height: 0, 1515 innerWidth: 0, 1516 innerHeight: 0, 1517 outerWidth: 0, 1518 outerHeight: 0 1519 }, e = 0, n = L.length; e < n; e++) { 1520 t[L[e]] = 0 1521 } 1522 return t 1523 }(); 1524 var n = {}; 1525 n.width = t.offsetWidth, n.height = t.offsetHeight; 1526 for (var i = n.isBorderBox = !(!b || !e[b] || "border-box" !== e[b]), o = 0, a = L.length; o < a; o++) { 1527 var r = L[o], 1528 s = e[r]; 1529 s = C(t, s); 1530 var l = parseFloat(s); 1531 n[r] = isNaN(l) ? 0 : l 1532 } 1533 var u = n.paddingLeft + n.paddingRight, 1534 c = n.paddingTop + n.paddingBottom, 1535 d = n.marginLeft + n.marginRight, 1536 p = n.marginTop + n.marginBottom, 1537 m = n.borderLeftWidth + n.borderRightWidth, 1538 f = n.borderTopWidth + n.borderBottomWidth, 1539 h = i && x, 1540 v = T(e.width); 1541 !1 !== v && (n.width = v + (h ? 0 : u + m)); 1542 var g = T(e.height); 1543 return !1 !== g && (n.height = g + (h ? 0 : c + f)), n.innerWidth = n.width - (u + m), n.innerHeight = n.height - (c + f), n.outerWidth = n.width + d, n.outerHeight = n.height + p, n 1544 } 1545 } 1546 } 1547 "function" == typeof define && define.amd ? define("get-size/get-size", ["get-style-property/get-style-property"], t) : "object" == typeof exports ? module.exports = t(require("desandro-get-style-property")) : S.getSize = t(S.getStyleProperty) 1548 }(window), 1549 function (o) { 1550 var t, n = function () { 1551 if (o.matchesSelector) return "matchesSelector"; 1552 for (var t = ["webkit", "moz", "ms", "o"], e = 0, n = t.length; e < n; e++) { 1553 var i = t[e] + "MatchesSelector"; 1554 if (o[i]) return i 1555 } 1556 }(); 1557 1558 function i(t, e) { 1559 return t[n](e) 1560 } 1561 1562 function a(t) { 1563 t.parentNode || document.createDocumentFragment().appendChild(t) 1564 } 1565 if (n) { 1566 var e = i(document.createElement("div"), "div"); 1567 t = e ? i : function (t, e) { 1568 return a(t), i(t, e) 1569 } 1570 } else t = function (t, e) { 1571 a(t); 1572 for (var n = t.parentNode.querySelectorAll(e), i = 0, o = n.length; i < o; i++) 1573 if (n[i] === t) return !0; 1574 return !1 1575 }; 1576 "function" == typeof define && define.amd ? define("matches-selector/matches-selector", [], function () { 1577 return t 1578 }) : "object" == typeof exports ? module.exports = t : window.matchesSelector = t 1579 }(Element.prototype), 1580 function (t) { 1581 var e = t.getComputedStyle, 1582 h = e ? function (t) { 1583 return e(t, null) 1584 } : function (t) { 1585 return t.currentStyle 1586 }; 1587 1588 function n(t, e, a) { 1589 var n = a("transition"), 1590 i = a("transform"), 1591 o = n && i, 1592 r = !!a("perspective"), 1593 s = { 1594 WebkitTransition: "webkitTransitionEnd", 1595 MozTransition: "transitionend", 1596 OTransition: "otransitionend", 1597 transition: "transitionend" 1598 } [n], 1599 l = ["transform", "transition", "transitionDuration", "transitionProperty"], 1600 u = function () { 1601 for (var t = {}, e = 0, n = l.length; e < n; e++) { 1602 var i = l[e], 1603 o = a(i); 1604 o && o !== i && (t[i] = o) 1605 } 1606 return t 1607 }(); 1608 1609 function c(t, e) { 1610 t && (this.element = t, this.layout = e, this.position = { 1611 x: 0, 1612 y: 0 1613 }, this._create()) 1614 }! function (t, e) { 1615 for (var n in e) t[n] = e[n] 1616 }(c.prototype, t.prototype), c.prototype._create = function () { 1617 this._transn = { 1618 ingProperties: {}, 1619 clean: {}, 1620 onEnd: {} 1621 }, this.css({ 1622 position: "absolute" 1623 }) 1624 }, c.prototype.handleEvent = function (t) { 1625 var e = "on" + t.type; 1626 this[e] && this[e](t) 1627 }, c.prototype.getSize = function () { 1628 this.size = e(this.element) 1629 }, c.prototype.css = function (t) { 1630 var e = this.element.style; 1631 for (var n in t) { 1632 e[u[n] || n] = t[n] 1633 } 1634 }, c.prototype.getPosition = function () { 1635 var t = h(this.element), 1636 e = this.layout.options, 1637 n = e.isOriginLeft, 1638 i = e.isOriginTop, 1639 o = parseInt(t[n ? "left" : "right"], 10), 1640 a = parseInt(t[i ? "top" : "bottom"], 10); 1641 o = isNaN(o) ? 0 : o, a = isNaN(a) ? 0 : a; 1642 var r = this.layout.size; 1643 o -= n ? r.paddingLeft : r.paddingRight, a -= i ? r.paddingTop : r.paddingBottom, this.position.x = o, this.position.y = a 1644 }, c.prototype.layoutPosition = function () { 1645 var t = this.layout.size, 1646 e = this.layout.options, 1647 n = {}; 1648 e.isOriginLeft ? (n.left = this.position.x + t.paddingLeft + "px", n.right = "") : (n.right = this.position.x + t.paddingRight + "px", n.left = ""), e.
1648isOriginTop ? (n.top = this.position.y + t.paddingTop + "px", n.bottom = "") : (n.bottom = this.position.y + t.paddingBottom + "px", n.top = ""), this.css(n), this.emitEvent("layout", [this]) 1649 }; 1650 var d = r ? function (t, e) { 1651 return "translate3d(" + t + "px, " + e + "px, 0)" 1652 } : function (t, e) { 1653 return "translate(" + t + "px, " + e + "px)" 1654 }; 1655 c.prototype._transitionTo = function (t, e) { 1656 this.getPosition(); 1657 var n = this.position.x, 1658 i = this.position.y, 1659 o = parseInt(t, 10), 1660 a = parseInt(e, 10), 1661 r = o === this.position.x && a === this.position.y; 1662 if (this.setPosition(t, e), !r || this.isTransitioning) { 1663 var s = t - n, 1664 l = e - i, 1665 u = {}, 1666 c = this.layout.options; 1667 s = c.isOriginLeft ? s : -s, l = c.isOriginTop ? l : -l, u.transform = d(s, l), this.transition({ 1668 to: u, 1669 onTransitionEnd: { 1670 transform: this.layoutPosition 1671 }, 1672 isCleaning: !0 1673 }) 1674 } else this.layoutPosition() 1675 }, c.prototype.goTo = function (t, e) { 1676 this.setPosition(t, e), this.layoutPosition() 1677 }, c.prototype.moveTo = o ? c.prototype._transitionTo : c.prototype.goTo, c.prototype.setPosition = function (t, e) { 1678 this.position.x = parseInt(t, 10), this.position.y = parseInt(e, 10) 1679 }, c.prototype._nonTransition = function (t) { 1680 for (var e in this.css(t.to), t.isCleaning && this._removeStyles(t.to), t.onTransitionEnd) t.onTransitionEnd[e].call(this) 1681 }, c.prototype._transition = function (t) { 1682 if (parseFloat(this.layout.options.transitionDuration)) { 1683 var e = this._transn; 1684 for (var n in t.onTransitionEnd) e.onEnd[n] = t.onTransitionEnd[n]; 1685 for (n in t.to) e.ingProperties[n] = !0, t.isCleaning && (e.clean[n] = !0); 1686 if (t.from) { 1687 this.css(t.from); 1688 this.element.offsetHeight; 1689 null 1690 } 1691 this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 1692 } else this._nonTransition(t) 1693 }; 1694 var p = i && function (t) { 1695 return t.replace(/([A-Z])/g, function (t) { 1696 return "-" + t.toLowerCase() 1697 }) 1698 }(i) + ",opacity"; 1699 c.prototype.enableTransition = function () { 1700 this.isTransitioning || (this.css({ 1701 transitionProperty: p, 1702 transitionDuration: this.layout.options.transitionDuration 1703 }), this.element.addEventListener(s, this, !1)) 1704 }, c.prototype.transition = c.prototype[n ? "_transition" : "_nonTransition"], c.prototype.onwebkitTransitionEnd = function (t) { 1705 this.ontransitionend(t) 1706 }, c.prototype.onotransitionend = function (t) { 1707 this.ontransitionend(t) 1708 }; 1709 var m = { 1710 "-webkit-transform": "transform", 1711 "-moz-transform": "transform", 1712 "-o-transform": "transform" 1713 }; 1714 c.prototype.ontransitionend = function (t) { 1715 if (t.target === this.element) { 1716 var e = this._transn, 1717 n = m[t.propertyName] || t.propertyName; 1718 if (delete e.ingProperties[n], function (t) { 1719 for (var e in t) return !1; 1720 return !null 1721 }(e.ingProperties) && this.disableTransition(), n in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[n]), n in e.onEnd) e.onEnd[n].call(this), delete e.onEnd[n]; 1722 this.emitEvent("transitionEnd", [this]) 1723 } 1724 }, c.prototype.disableTransition = function () { 1725 this.removeTransitionStyles(), this.element.removeEventListener(s, this, !1), this.isTransitioning = !1 1726 }, c.prototype._removeStyles = function (t) { 1727 var e = {}; 1728 for (var n in t) e[n] = ""; 1729 this.css(e) 1730 }; 1731 var f = { 1732 transitionProperty: "", 1733 transitionDuration: "" 1734 }; 1735 return c.prototype.removeTransitionStyles = function () { 1736 this.css(f) 1737 }, c.prototype.removeElem = function () { 1738 this.element.parentNode.removeChild(this.element), this.emitEvent("remove", [this]) 1739 }, c.prototype.remove = function () { 1740 if (n && parseFloat(this.layout.options.transitionDuration)) { 1741 var t = this; 1742 this.on("transitionEnd", function () { 1743 return t.removeElem(), !0 1744 }), this.hide() 1745 } else this.removeElem() 1746 }, c.prototype.reveal = function () { 1747 delete this.isHidden, this.css({ 1748 display: "" 1749 }); 1750 var t = this.layout.options; 1751 this.transition({ 1752 from: t.hiddenStyle, 1753 to: t.visibleStyle, 1754 isCleaning: !0 1755 }) 1756 }, c.prototype.hide = function () { 1757 this.isHidden = !0, this.css({ 1758 display: "" 1759 }); 1760 var t = this.layout.options; 1761 this.transition({ 1762 from: t.visibleStyle, 1763 to: t.hiddenStyle, 1764 isCleaning: !0, 1765 onTransitionEnd: { 1766 opacity: function () { 1767 this.isHidden && this.css({ 1768 display: "none" 1769 }) 1770 } 1771 } 1772 }) 1773 }, c.prototype.destroy = function () { 1774 this.css({ 1775 position: "", 1776 left: "", 1777 right: "", 1778 top: "", 1779 bottom: "", 1780 transition: "", 1781 transform: "" 1782 }) 1783 }, c 1784 } 1785 "function" == typeof define && define.amd ? define("outlayer/item", ["eventEmitter/EventEmitter", "get-size/get-size", "get-style-property/get-style-property"], n) : "object" == typeof exports ? module.exports = n(require("wolfy87-eventemitter"), require("get-size"), require("desandro-get-style-property")) : (t.Outlayer = {}, t.Outlayer.Item = n(t.EventEmitter, t.getSize, t.getStyleProperty)) 1786 }(window), 1787 function (l) { 1788 function c() {} 1789 var d = l.document, 1790 p = l.console, 1791 m = l.jQuery; 1792 1793 function f(t, e) { 1794 for (var n in e) t[n] = e[n]; 1795 return t 1796 } 1797 var o = Object.prototype.toString; 1798 1799 function h(t) { 1800 var e = []; 1801 if (function (t) { 1802 return "[object Array]" === o.call(t) 1803 }(t)) e = t; 1804 else if (t && "number" == typeof t.length) 1805 for (var n = 0, i = t.length; n < i; n++) e.push(t[n]); 1806 else e.push(t); 1807 return e 1808 } 1809 var v = "function" == typeof HTMLElement || "object" == typeof HTMLElement ? function (t) { 1810 return t instanceof HTMLElement 1811 } : function (t) { 1812 return t && "object" == typeof t && 1 === t.nodeType && "string" == typeof t.nodeName 1813 }, 1814 i = Array.prototype.indexOf ? function (t, e) { 1815 return t.indexOf(e) 1816 } : function (t, e) { 1817 for (var n = 0, i = t.length; n < i; n++) 1818 if (t[n] === e) return n; 1819 return -1 1820 }; 1821 1822 function g(t, e) { 1823 var n = i(e, t); - 1 !== n && e.splice(n, 1) 1824 } 1825 1826 function t(t, e, n, o, u, i) { 1827 var a = 0, 1828 r = {}; 1829 1830 function s(t, e) { 1831 if ("string" == typeof t && (t = d.querySelector(t)), t && v(t)) { 1832 this.element = t, this.options = f({}, this.constructor.defaults), this.option(e); 1833 var n = ++a; 1834 this.element.outlayerGUID = n, (r[n] = this)._create(), this.options.isInitLayout && this.layout() 1835 } else p && p.error("Bad " + this.constructor.namespace + " element: " + t) 1836 } 1837 return s.namespace = "outlayer", s.Item = i, s.defaults = { 1838 containerStyle: { 1839 position: "relative" 1840 }, 1841 isInitLayout: !0, 1842 isOriginLeft: !0, 1843 isOriginTop: !0, 1844 isResizeBound: !0, 1845 isResizingContainer: !0, 1846 transitionDuration: "0.4s", 1847 hiddenStyle: { 1848 opacity: 0, 1849 transform: "scale(0.001)" 1850 }, 1851 visibleStyle: { 1852 opacity: 1, 1853 transform: "scale(1)" 1854 } 1855 }, f(s.prototype, n.prototype), s.prototype.option = function (t) { 1856 f(this.options, t) 1857 }, s.prototype._create = function () { 1858 this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), f(this.element.style, this.options.containerStyle), this.options.isResizeBound && this.bindResize() 1859 }, s.prototype.reloadItems = function () { 1860 this.items = this._itemize(this.element.children) 1861 }, s.prototype._itemize = function (t) { 1862 for (var e = this._filterFindItemElements(t), n = this.constructor.Item, i = [], o = 0, a = e.length; o < a; o++) { 1863 var r = new n(e[o], this); 1864 i.push(r) 1865 } 1866 return i 1867 }, s.prototype._filterFindItemElements = function (t) { 1868 t = h(t); 1869 for (var e = this.options.itemSelector, n = [], i = 0, o = t.length; i < o; i++) { 1870 var a = t[i]; 1871 if (v(a)) 1872 if (e) { 1873 u(a, e) && n.push(a); 1874 for (var r = a.querySelectorAll(e), s = 0, l = r.length; s < l; s++) n.push(r[s]) 1875 } else n.push(a) 1876 } 1877 return n 1878 }, s.prototype.getItemElements = function () { 1879 for (var t = [], e = 0, n = this.items.length; e < n; e++) t.push(this.items[e].element); 1880 return t 1881 }, s.prototype._init = s.prototype.layout = function () { 1882 this._resetLayout(), this._manageStamps(); 1883 var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited; 1884 this.layoutItems(this.items, t), this._isLayoutInited = !0 1885 }, s.prototype._resetLayout = function () {
1886 this.getSize() 1887 }, s.prototype.getSize = function () { 1888 this.size = o(this.element) 1889 }, s.prototype._getMeasurement = function (t, e) { 1890 var n, i = this.options[t]; 1891 i ? ("string" == typeof i ? n = this.element.querySelector(i) : v(i) && (n = i), this[t] = n ? o(n)[e] : i) : this[t] = 0 1892 }, s.prototype.layoutItems = function (t, e) { 1893 t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() 1894 }, s.prototype._getItemsForLayout = function (t) { 1895 for (var e = [], n = 0, i = t.length; n < i; n++) { 1896 var o = t[n]; 1897 o.isIgnored || e.push(o) 1898 } 1899 return e 1900 }, s.prototype._layoutItems = function (t, e) { 1901 var n = this; 1902 1903 function i() { 1904 n.emitEvent("layoutComplete", [n, t]) 1905 } 1906 if (t && t.length) { 1907 this._itemsOn(t, "layout", i); 1908 for (var o = [], a = 0, r = t.length; a < r; a++) { 1909 var s = t[a], 1910 l = this._getItemLayoutPosition(s); 1911 l.item = s, l.isInstant = e || s.isLayoutInstant, o.push(l) 1912 } 1913 this._processLayoutQueue(o) 1914 } else i() 1915 }, s.prototype._getItemLayoutPosition = function () { 1916 return { 1917 x: 0, 1918 y: 0 1919 } 1920 }, s.prototype._processLayoutQueue = function (t) { 1921 for (var e = 0, n = t.length; e < n; e++) { 1922 var i = t[e]; 1923 this._positionItem(i.item, i.x, i.y, i.isInstant) 1924 } 1925 }, s.prototype._positionItem = function (t, e, n, i) { 1926 i ? t.goTo(e, n) : t.moveTo(e, n) 1927 }, s.prototype._postLayout = function () { 1928 this.resizeContainer() 1929 }, s.prototype.resizeContainer = function () { 1930 if (this.options.isResizingContainer) { 1931 var t = this._getContainerSize(); 1932 t && (this._setContainerMeasure(t.width, !0), this._setContainerMeasure(t.height, !1)) 1933 } 1934 }, s.prototype._getContainerSize = c, s.prototype._setContainerMeasure = function (t, e) { 1935 if (void 0 !== t) { 1936 var n = this.size; 1937 n.isBorderBox && (t += e ? n.paddingLeft + n.paddingRight + n.borderLeftWidth + n.borderRightWidth : n.paddingBottom + n.paddingTop + n.borderTopWidth + n.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" 1938 } 1939 }, s.prototype._itemsOn = function (t, e, n) { 1940 var i = 0, 1941 o = t.length, 1942 a = this; 1943 1944 function r() { 1945 return ++i === o && n.call(a), !0 1946 } 1947 for (var s = 0, l = t.length; s < l; s++) { 1948 t[s].on(e, r) 1949 } 1950 }, s.prototype.ignore = function (t) { 1951 var e = this.getItem(t); 1952 e && (e.isIgnored = !0) 1953 }, s.prototype.unignore = function (t) { 1954 var e = this.getItem(t); 1955 e && delete e.isIgnored 1956 }, s.prototype.stamp = function (t) { 1957 if (t = this._find(t)) { 1958 this.stamps = this.stamps.concat(t); 1959 for (var e = 0, n = t.length; e < n; e++) { 1960 var i = t[e]; 1961 this.ignore(i) 1962 } 1963 } 1964 }, s.prototype.unstamp = function (t) { 1965 if (t = this._find(t)) 1966 for (var e = 0, n = t.length; e < n; e++) { 1967 var i = t[e]; 1968 g(i, this.stamps), this.unignore(i) 1969 } 1970 }, s.prototype._find = function (t) { 1971 if (t) return "string" == typeof t && (t = this.element.querySelectorAll(t)), t = h(t) 1972 }, s.prototype._manageStamps = function () { 1973 if (this.stamps && this.stamps.length) { 1974 this._getBoundingRect(); 1975 for (var t = 0, e = this.stamps.length; t < e; t++) { 1976 var n = this.stamps[t]; 1977 this._manageStamp(n) 1978 } 1979 } 1980 }, s.prototype._getBoundingRect = function () { 1981 var t = this.element.getBoundingClientRect(), 1982 e = this.size; 1983 this._boundingRect = { 1984 left: t.left + e.paddingLeft + e.borderLeftWidth, 1985 top: t.top + e.paddingTop + e.borderTopWidth, 1986 right: t.right - (e.paddingRight + e.borderRightWidth), 1987 bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) 1988 } 1989 }, s.prototype._manageStamp = c, s.prototype._getElementOffset = function (t) { 1990 var e = t.getBoundingClientRect(), 1991 n = this._boundingRect, 1992 i = o(t); 1993 return { 1994 left: e.left - n.left - i.marginLeft, 1995 top: e.top - n.top - i.marginTop, 1996 right: n.right - e.right - i.marginRight, 1997 bottom: n.bottom - e.bottom - i.marginBottom 1998 } 1999 }, s.prototype.handleEvent = function (t) { 2000 var e = "on" + t.type; 2001 this[e] && this[e](t) 2002 }, s.prototype.bindResize = function () { 2003 this.isResizeBound || (t.bind(l, "resize", this), this.isResizeBound = !0) 2004 }, s.prototype.unbindResize = function () { 2005 this.isResizeBound && t.unbind(l, "resize", this), this.isResizeBound = !1 2006 }, s.prototype.onresize = function () { 2007 this.resizeTimeout && clearTimeout(this.resizeTimeout); 2008 var t = this; 2009 this.resizeTimeout = setTimeout(function () { 2010 t.resize(), delete t.resizeTimeout 2011 }, 100) 2012 }, s.prototype.resize = function () { 2013 this.isResizeBound && this.needsResizeLayout() && this.layout() 2014 }, s.prototype.needsResizeLayout = function () { 2015 var t = o(this.element); 2016 return this.size && t && t.innerWidth !== this.size.innerWidth 2017 }, s.prototype.addItems = function (t) { 2018 var e = this._itemize(t); 2019 return e.length && (this.items = this.items.concat(e)), e 2020 }, s.prototype.appended = function (t) { 2021 var e = this.addItems(t); 2022 e.length && (this.layoutItems(e, !0), this.reveal(e)) 2023 }, s.prototype.prepended = function (t) { 2024 var e = this._itemize(t); 2025 if (e.length) { 2026 var n = this.items.slice(0); 2027 this.items = e.concat(n), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(n) 2028 } 2029 }, s.prototype.reveal = function (t) { 2030 var e = t && t.length; 2031 if (e) 2032 for (var n = 0; n < e; n++) { 2033 t[n].reveal() 2034 } 2035 }, s.prototype.hide = function (t) { 2036 var e = t && t.length; 2037 if (e) 2038 for (var n = 0; n < e; n++) { 2039 t[n].hide() 2040 } 2041 }, s.prototype.getItem = function (t) { 2042 for (var e = 0, n = this.items.length; e < n; e++) { 2043 var i = this.items[e]; 2044 if (i.element === t) return i 2045 } 2046 }, s.prototype.getItems = function (t) { 2047 if (t && t.length) { 2048 for (var e = [], n = 0, i = t.length; n < i; n++) { 2049 var o = t[n], 2050 a = this.getItem(o); 2051 a && e.push(a) 2052 } 2053 return e 2054 } 2055 }, s.prototype.remove = function (t) { 2056 t = h(t); 2057 var e = this.getItems(t); 2058 if (e && e.length) { 2059 this._itemsOn(e, "remove", function () { 2060 this.emitEvent("removeComplete", [this, e]) 2061 });
2062 for (var n = 0, i = e.length; n < i; n++) { 2063 var o = e[n]; 2064 o.remove(), g(o, this.items) 2065 } 2066 } 2067 }, s.prototype.destroy = function () { 2068 var t = this.element.style; 2069 t.height = "", t.position = "", t.width = ""; 2070 for (var e = 0, n = this.items.length; e < n; e++) { 2071 this.items[e].destroy() 2072 } 2073 this.unbindResize(); 2074 var i = this.element.outlayerGUID; 2075 delete r[i], delete this.element.outlayerGUID, m && m.removeData(this.element, this.constructor.namespace) 2076 }, s.data = function (t) { 2077 var e = t && t.outlayerGUID; 2078 return e && r[e] 2079 }, s.create = function (u, t) { 2080 function c() { 2081 s.apply(this, arguments) 2082 } 2083 return Object.create ? c.prototype = Object.create(s.prototype) : f(c.prototype, s.prototype), f((c.prototype.constructor = c).defaults = f({}, s.defaults), t), c.prototype.settings = {}, c.namespace = u, c.data = s.data, (c.Item = function () { 2084 i.apply(this, arguments) 2085 }).prototype = new i, e(function () { 2086 for (var t = function (t) { 2087 return t.replace(/(.)([A-Z])/g, function (t, e, n) { 2088 return e + "-" + n 2089 }).toLowerCase() 2090 }(u), e = d.querySelectorAll(".js-" + t), n = "data-" + t + "-options", i = 0, o = e.length; i < o; i++) { 2091 var a, r = e[i], 2092 s = r.getAttribute(n); 2093 try { 2094 a = s && JSON.parse(s) 2095 } catch (t) { 2096 p && p.error("Error parsing " + n + " on " + r.nodeName.toLowerCase() + (r.id ? "#" + r.id : "") + ": " + t); 2097 continue 2098 } 2099 var l = new c(r, a); 2100 m && m.data(r, u, l) 2101 } 2102 }), m && m.bridget && m.bridget(u, c), c 2103 }, s.Item = i, s 2104 } 2105 "function" == typeof define && define.amd ? define("outlayer/outlayer", ["eventie/eventie", "doc-ready/doc-ready", "eventEmitter/EventEmitter", "get-size/get-size", "matches-selector/matches-selector", "./item"], t) : "object" == typeof exports ? module.exports = t(require("eventie"), require("doc-ready"), require("wolfy87-eventemitter"), require("get-size"), require("desandro-matches-selector"), require("./item")) : l.Outlayer = t(l.eventie, l.docReady, l.EventEmitter, l.getSize, l.matchesSelector, l.Outlayer.Item) 2106 }(window), 2107 function (t) { 2108 function e(t) { 2109 function e() { 2110 t.Item.apply(this, arguments) 2111 }(e.prototype = new t.Item)._create = function () { 2112 this.id = this.layout.itemGUID++, t.Item.prototype._create.call(this), this.sortData = {} 2113 }, e.prototype.updateSortData = function () { 2114 if (!this.isIgnored) { 2115 this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random(); 2116 var t = this.layout.options.getSortData, 2117 e = this.layout._sorters; 2118 for (var n in t) { 2119 var i = e[n]; 2120 this.sortData[n] = i(this.element, this) 2121 } 2122 } 2123 }; 2124 var n = e.prototype.destroy; 2125 return e.prototype.destroy = function () { 2126 n.apply(this, arguments), this.css({ 2127 display: "" 2128 }) 2129 }, e 2130 } 2131 "function" == typeof define && define.amd ? define("isotope/js/item", ["outlayer/outlayer"], e) : "object" == typeof exports ? module.exports = e(require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer)) 2132 }(window), 2133 function (t) { 2134 function e(e, a) { 2135 function r(t) { 2136 (this.isotope = t) && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size) 2137 } 2138 return function () { 2139 for (var t = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout"], e = 0, n = t.length; e < n; e++) { 2140 var i = t[e]; 2141 r.prototype[i] = o(i) 2142 } 2143 2144 function o(t) { 2145 return function () { 2146 return a.prototype[t].apply(this.isotope, arguments) 2147 } 2148 } 2149 }(), r.prototype.needsVerticalResizeLayout = function () { 2150 var t = e(this.isotope.element); 2151 return this.isotope.size && t && t.innerHeight !== this.isotope.size.innerHeight 2152 }, r.prototype._getMeasurement = function () { 2153 this.isotope._getMeasurement.apply(this, arguments) 2154 }, r.prototype.getColumnWidth = function () {
2155 this.getSegmentSize("column", "Width") 2156 }, r.prototype.getRowHeight = function () { 2157 this.getSegmentSize("row", "Height") 2158 }, r.prototype.getSegmentSize = function (t, e) { 2159 var n = t + e, 2160 i = "outer" + e; 2161 if (this._getMeasurement(n, i), !this[n]) { 2162 var o = this.getFirstItemSize(); 2163 this[n] = o && o[i] || this.isotope.size["inner" + e] 2164 } 2165 }, r.prototype.getFirstItemSize = function () { 2166 var t = this.isotope.filteredItems[0]; 2167 return t && t.element && e(t.element) 2168 }, r.prototype.layout = function () { 2169 this.isotope.layout.apply(this.isotope, arguments) 2170 }, r.prototype.getSize = function () { 2171 this.isotope.getSize(), this.size = this.isotope.size 2172 }, r.modes = {}, r.create = function (t, e) { 2173 function n() { 2174 r.apply(this, arguments) 2175 } 2176 return n.prototype = new r, e && (n.options = e), r.modes[n.prototype.namespace = t] = n 2177 }, r 2178 } 2179 "function" == typeof define && define.amd ? define("isotope/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : "object" == typeof exports ? module.exports = e(require("get-size"), require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)) 2180 }(window), 2181 function (t) { 2182 var c = Array.prototype.indexOf ? function (t, e) { 2183 return t.indexOf(e) 2184 } : function (t, e) { 2185 for (var n = 0, i = t.length; n < i; n++) { 2186 if (t[n] === e) return n 2187 } 2188 return -1 2189 }; 2190 2191 function e(t, u) { 2192 var e = t.create("masonry"); 2193 return e.prototype._resetLayout = function () {
2194 this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(); 2195 var t = this.cols; 2196 for (this.colYs = []; t--;) this.colYs.push(0); 2197 this.maxY = 0 2198 }, e.prototype.measureColumns = function () { 2199 if (this.getContainerWidth(), !this.columnWidth) { 2200 var t = this.items[0], 2201 e = t && t.element; 2202 this.columnWidth = e && u(e).outerWidth || this.containerWidth 2203 } 2204 this.columnWidth += this.gutter, this.cols = Math.floor((this.containerWidth + this.gutter) / this.columnWidth), this.cols = Math.max(this.cols, 1) 2205 }, e.prototype.getContainerWidth = function () { 2206 var t = this.options.isFitWidth ? this.element.parentNode : this.element, 2207 e = u(t); 2208 this.containerWidth = e && e.innerWidth 2209 }, e.prototype._getItemLayoutPosition = function (t) { 2210 t.getSize(); 2211 var e = t.size.outerWidth % this.columnWidth, 2212 n = Math[e && e < 1 ? "round" : "ceil"](t.size.outerWidth / this.columnWidth); 2213 n = Math.min(n, this.cols); 2214 for (var i = this._getColGroup(n), o = Math.min.apply(Math, i), a = c(i, o), r = { 2215 x: this.columnWidth * a, 2216 y: o 2217 }, s = o + t.size.outerHeight, l = this.cols + 1 - i.length, u = 0; u < l; u++) this.colYs[a + u] = s; 2218 return r 2219 }, e.prototype._getColGroup = function (t) { 2220 if (t < 2) return this.colYs; 2221 for (var e = [], n = this.cols + 1 - t, i = 0; i < n; i++) { 2222 var o = this.colYs.slice(i, i + t); 2223 e[i] = Math.max.apply(Math, o) 2224 } 2225 return e 2226 }, e.prototype._manageStamp = function (t) { 2227 var e = u(t), 2228 n = this._getElementOffset(t), 2229 i = this.options.isOriginLeft ? n.left : n.right, 2230 o = i + e.outerWidth, 2231 a = Math.floor(i / this.columnWidth); 2232 a = Math.max(0, a); 2233 var r = Math.floor(o / this.columnWidth); 2234 r -= o % this.columnWidth ? 0 : 1, r = Math.min(this.cols - 1, r); 2235 for (var s = (this.options.isOriginTop ? n.top : n.bottom) + e.outerHeight, l = a; l <= r; l++) this.colYs[l] = Math.max(s, this.colYs[l]) 2236 }, e.prototype._getContainerSize = function () { 2237 this.maxY = Math.max.apply(Math, this.colYs); 2238 var t = { 2239 height: this.maxY 2240 }; 2241 return this.options.isFitWidth && (t.width = this._getContainerFitWidth()), t 2242 }, e.prototype._getContainerFitWidth = function () { 2243 for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++; 2244 return (this.cols - t) * this.columnWidth - this.gutter 2245 }, e.prototype.needsResizeLayout = function () { 2246 var t = this.containerWidth; 2247 return this.getContainerWidth(), t !== this.containerWidth 2248 }, e 2249 } 2250 "function" == typeof define && define.amd ? define("masonry/masonry", ["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize) 2251 }(window), 2252 function (t) { 2253 function e(t, e) { 2254 var n = t.create("masonry"), 2255 i = n.prototype._getElementOffset, 2256 o = n.prototype.layout, 2257 a = n.prototype._getMeasurement; 2258 ! function (t, e) { 2259 for (var n in e) t[n] = e[n] 2260 }(n.prototype, e.prototype), n.prototype._getElementOffset = i, n.prototype.layout = o, n.prototype._getMeasurement = a; 2261 var r = n.prototype.measureColumns; 2262 n.prototype.measureColumns = function () { 2263 this.items = this.isotope.filteredItems, r.call(this) 2264 }; 2265 var s = n.prototype._manageStamp; 2266 return n.prototype._manageStamp = function () { 2267 this.options.isOriginLeft = this.isotope.options.isOriginLeft, this.options.isOriginTop = this.isotope.options.isOriginTop, s.apply(this, arguments) 2268 }, n 2269 } 2270 "function" == typeof define && define.amd ? define("isotope/js/layout-modes/masonry", ["../layout-mode", "masonry/masonry"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode"), require("masonry-layout")) : e(t.Isotope.LayoutMode, t.Masonry) 2271 }(window), 2272 function (t) { 2273 function e(t) { 2274 var e = t.create("fitRows"); 2275 return e.prototype._resetLayout = function () { 2276 this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth") 2277 }, e.prototype._getItemLayoutPosition = function (t) { 2278 t.getSize(); 2279 var e = t.size.outerWidth + this.gutter, 2280 n = this.isotope.size.innerWidth + this.gutter; 2281 0 !== this.x && e + this.x > n && (this.x = 0, this.y = this.maxY); 2282 var i = { 2283 x: this.x, 2284 y: this.y 2285 }; 2286 return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, i 2287 }, e.prototype._getContainerSize = function () { 2288 return { 2289 height: this.maxY 2290 } 2291 }, e 2292 } 2293 "function" == typeof define && define.amd ? define("isotope/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) 2294 }(window), 2295 function (t) { 2296 function e(t) { 2297 var e = t.create("vertical", { 2298 horizontalAlignment: 0 2299 }); 2300 return e.prototype._resetLayout = function () { 2301 this.y = 0 2302 }, e.prototype._getItemLayoutPosition = function (t) { 2303 t.getSize(); 2304 var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment, 2305 n = this.y; 2306 return this.y += t.size.outerHeight, { 2307 x: e, 2308 y: n 2309 } 2310 }, e.prototype._getContainerSize = function () { 2311 return { 2312 height: this.y 2313 } 2314 }, e 2315 } 2316 "function" == typeof define && define.amd ? define("isotope/js/layout-modes/vertical", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) 2317 }(window), 2318 function (t) { 2319 var s = t.jQuery; 2320 var u = String.prototype.trim ? function (t) { 2321 return t.trim() 2322 } : function (t) { 2323 return t.replace(/^\s+|\s+$/g, "") 2324 }, 2325 c = document.documentElement.textContent ? function (t) { 2326 return t.textContent 2327 } : function (t) { 2328 return t.innerText 2329 }, 2330 o = Object.prototype.toString; 2331 var d = Array.prototype.indexOf ? function (t, e) { 2332 return t.indexOf(e) 2333 } : function (t, e) { 2334 for (var n = 0, i = t.length; n < i; n++) 2335 if (t[n] === e) return n; 2336 return -1 2337 }; 2338 2339 function p(t) { 2340 var e = []; 2341 if (function (t) { 2342 return "[object Array]" === o.call(t) 2343 }(t)) e = t; 2344 else if (t && "number" == typeof t.length) 2345 for (var n = 0, i = t.length; n < i; n++) e.push(t[n]); 2346 else e.push(t); 2347 return e 2348 } 2349 2350 function e(i, t, n, e, o) { 2351 var r = i.create("isotope", { 2352 layoutMode: "masonry", 2353 isJQueryFiltering: !0, 2354 sortAscending: !0 2355 }); 2356 r.Item = e, r.LayoutMode = o, r.prototype._create = function () { 2357 for (var t in this.itemGUID = 0, this._sorters = {}, this._getSorters(), i.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"], o.modes) this._initLayoutMode(t) 2358 }, r.prototype.reloadItems = function () { 2359 this.itemGUID = 0, i.prototype.reloadItems.call(this) 2360 }, r.prototype._itemize = function () { 2361 for (var t = i.prototype._itemize.apply(this, arguments), e = 0, n = t.length; e < n; e++) { 2362 t[e].id = this.itemGUID++ 2363 } 2364 return this._updateItemsSortData(t), t 2365 }, r.prototype._initLayoutMode = function (t) { 2366 var e = o.modes[t], 2367 n = this.options[t] || {}; 2368 this.options[t] = e.options ? function (t, e) { 2369 for (var n in e) t[n] = e[n]; 2370 return t 2371 }(e.options, n) : n, this.modes[t] = new e(this) 2372 }, r.prototype.layout = function () { 2373 this._isLayoutInited || !this.options.isInitLayout ? this._layout() : this.arrange() 2374 }, r.prototype._layout = function () { 2375 var t = this._getIsInstant(); 2376 this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0 2377 }, r.prototype.arrange = function (t) { 2378 this.option(t), this._getIsInstant(), this.filteredItems = this._filter(this.items), this._sort(), this._layout() 2379 }, r.prototype._init = r.prototype.arrange, r.prototype._getIsInstant = function () { 2380 var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited; 2381 return this._isInstant = t 2382 }, r.prototype._filter = function (t) { 2383 var e = this.options.filter; 2384 e = e || "*"; 2385 for (var n = [], i = [], o = [], a = this._getFilterTest(e), r = 0, s = t.length; r < s; r++) { 2386 var l = t[r]; 2387 if (!l.isIgnored) { 2388 var u = a(l); 2389 u && n.push(l), u && l.isHidden ? i.push(l) : u || l.isHidden || o.push(l) 2390 } 2391 } 2392 var c = this; 2393 2394 function d() { 2395 c.reveal(i), c.hide(o) 2396 } 2397 return this._isInstant ? this._noTransition(d) : d(), n 2398 }, r.prototype._getFilterTest = function (e) { 2399 return s && this.options.isJQueryFiltering ? function (t) { 2400 return s(t.element).is(e) 2401 } : "function" == typeof e ? function (t) { 2402 return e(t.element) 2403 } : function (t) { 2404 return n(t.element, e) 2405 } 2406 }, r.prototype.updateSortData = function (t) { 2407 var e; 2408 e = t ? (t = p(t), this.getItems(t)) : this.items, this._getSorters(), this._updateItemsSortData(e) 2409 }, r.prototype._getSorters = function () { 2410 var t = this.options.getSortData; 2411 for (var e in t) { 2412 var n = t[e]; 2413 this._sorters[e] = a(n) 2414 } 2415 }, r.prototype._updateItemsSortData = function (t) { 2416 for (var e = t && t.length, n = 0; e && n < e; n++) { 2417 t[n].updateSortData() 2418 } 2419 }; 2420 var a = function (t) { 2421 if ("string" != typeof t) return t; 2422 var e = u(t).split(" "), 2423 n = e[0], 2424 i = n.match(/^\[(.+)\]$/), 2425 o = function (e, n) { 2426 return e ? function (t) { 2427 return t.getAttribute(e) 2428 } : function (t) { 2429 var e = t.querySelector(n); 2430 return e && c(e) 2431 } 2432 }(i && i[1], n), 2433 a = r.sortDataParsers[e[1]]; 2434 return t = a ? function (t) { 2435 return t && a(o(t)) 2436 } : function (t) { 2437 return t && o(t) 2438 } 2439 }; 2440 r.sortDataParsers = { 2441 parseInt: function (t) { 2442 return parseInt(t, 10) 2443 }, 2444 parseFloat: function (t) { 2445 return parseFloat(t) 2446 } 2447 }, r.prototype._sort = function () { 2448 var t = this.options.sortBy; 2449 if (t) { 2450 var e = function (s, l) { 2451 return function (t, e) { 2452 for (var n = 0, i = s.length; n < i; n++) { 2453 var o = s[n], 2454 a = t.sortData[o], 2455 r = e.sortData[o]; 2456 if (r < a || a < r) return (r < a ? 1 : -1) * ((void 0 !== l[o] ? l[o] : l) ? 1 : -1) 2457 } 2458 return 0 2459 } 2460 }([].concat.apply(t, this.sortHistory), this.options.sortAscending); 2461 this.filteredItems.sort(e), t !== this.sortHistory[0] && this.sortHistory.unshift(t) 2462 } 2463 }, r.prototype._mode = function () { 2464 var t = this.options.layoutMode,
2465 e = this.modes[t]; 2466 if (!e) throw new Error("No layout mode: " + t); 2467 return e.options = this.options[t], e 2468 }, r.prototype._resetLayout = function () { 2469 i.prototype._resetLayout.call(this), this._mode()._resetLayout() 2470 }, r.prototype._getItemLayoutPosition = function (t) { 2471 return this._mode()._getItemLayoutPosition(t) 2472 }, r.prototype._manageStamp = function (t) { 2473 this._mode()._manageStamp(t) 2474 }, r.prototype._getContainerSize = function () { 2475 return this._mode()._getContainerSize() 2476 }, r.prototype.needsResizeLayout = function () { 2477 return this._mode().needsResizeLayout() 2478 }, r.prototype.appended = function (t) { 2479 var e = this.addItems(t); 2480 if (e.length) { 2481 var n = this._filterRevealAdded(e); 2482 this.filteredItems = this.filteredItems.concat(n) 2483 } 2484 }, r.prototype.prepended = function (t) { 2485 var e = this._itemize(t); 2486 if (e.length) { 2487 var n = this.items.slice(0); 2488 this.items = e.concat(n), this._resetLayout(), this._manageStamps(); 2489 var i = this._filterRevealAdded(e); 2490 this.layoutItems(n), this.filteredItems = i.concat(this.filteredItems) 2491 } 2492 }, r.prototype._filterRevealAdded = function (t) { 2493 var e = this._noTransition(function () { 2494 return this._filter(t) 2495 }); 2496 return this.layoutItems(e, !0), this.reveal(e), t 2497 }, r.prototype.insert = function (t) { 2498 var e = this.addItems(t); 2499 if (e.length) { 2500 var n, i, o = e.length; 2501 for (n = 0; n < o; n++) i = e[n], this.element.appendChild(i.element); 2502 var a = this._filter(e); 2503 for (this._noTransition(function () { 2504 this.hide(a) 2505 }), n = 0; n < o; n++) e[n].isLayoutInstant = !0; 2506 for (this.arrange(), n = 0; n < o; n++) delete e[n].isLayoutInstant; 2507 this.reveal(a) 2508 } 2509 }; 2510 var l = r.prototype.remove; 2511 return r.prototype.remove = function (t) { 2512 t = p(t); 2513 var e, n, i, o = this.getItems(t); 2514 if (l.call(this, t), o && o.length) 2515 for (var a = 0, r = o.length; a < r; a++) { 2516 var s = o[a]; 2517 e = s, n = this.filteredItems, void 0, -1 !== (i = d(n, e)) && n.splice(i, 1) 2518 } 2519 }, r.prototype.shuffle = function () { 2520 for (var t = 0, e = this.items.length; t < e; t++) { 2521 this.items[t].sortData.random = Math.random() 2522 } 2523 this.options.sortBy = "random", this._sort(), this._layout() 2524 }, r.prototype._noTransition = function (t) { 2525 var e = this.options.transitionDuration; 2526 this.options.transitionDuration = 0; 2527 var n = t.call(this); 2528 return this.options.transitionDuration = e, n 2529 }, r.prototype.getFilteredItemElements = function () { 2530 for (var t = [], e = 0, n = this.filteredItems.length; e < n; e++) t.push(this.filteredItems[e].element); 2531 return t 2532 }, r 2533 } 2534 "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "matches-selector/matches-selector", "isotope/js/item", "isotope/js/layout-mode", "isotope/js/layout-modes/masonry", "isotope/js/layout-modes/fit-rows", "isotope/js/layout-modes/vertical"], e) : "object" == typeof exports ? module.exports = e(require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("./item"), require("./layout-mode"), require("./layout-modes/masonry"), require("./layout-modes/fit-rows"), require("./layout-modes/vertical")) : t.Isotope = e(t.Outlayer, t.getSize, t.matchesSelector, t.Isotope.Item, t.Isotope.LayoutMode) 2535 }(window), 2536 function (p) { 2537 var m = [], 2538 n = { 2539 options: { 2540 prependExistingHelpBlock: !1, 2541 sniffHtml: !0, 2542 preventSubmit: !0, 2543 submitError: !1, 2544 submitSuccess: !1, 2545 semanticallyStrict: !1, 2546 autoAdd: { 2547 helpBlocks: !0 2548 }, 2549 filter: function () { 2550 return !0 2551 } 2552 }, 2553 methods: { 2554 init: function (t) { 2555 var d = p.extend(!0, {}, n); 2556 d.options = p.extend(!0, d.options, t); 2557 var e = p.unique(this.map(function () { 2558 return p(this).parents("form")[0] 2559 }).toArray()); 2560 return p(e).bind("submit", function (t) { 2561 var e = p(this), 2562 i = 0, 2563 n = e.find("input,textarea,select").not("[type=submit],[type=image]").filter(d.options.filter); 2564 n.trigger("submit.validation").trigger("validationLostFocus.validation"), n.each(function (t, e) { 2565 var n = p(e).parents(".form-group").first(); 2566 n.hasClass("warning") && (n.removeClass("warning").addClass("error"), i++) 2567 }), n.trigger("validationLostFocus.validation"), i ? (d.options.preventSubmit && t.preventDefault(), e.addClass("error"), p.isFunction(d.options.submitError) && d.options.submitError(e, t, n.jqBootstrapValidation("collectErrors", !0))) : (e.removeClass("error"), p.isFunction(d.options.submitSuccess) && d.options.submitSuccess(e, t)) 2568 }), this.each(function () { 2569 var s = p(this), 2570 n = s.parents(".form-group").first(), 2571 i = n.find(".help-block").first(), 2572 r = s.parents("form").first(), 2573 o = []; 2574 if (!i.length && d.options.autoAdd && d.options.autoAdd.helpBlocks && (i = p('<div class="help-block" />'), n.find(".controls").append(i), m.push(i[0])), d.options.sniffHtml) { 2575 var t = ""; 2576 if (void 0 !== s.attr("pattern") && (t = "Not in the expected format\x3c!-- data-validation-pattern-message to override --\x3e", s.data("validationPatternMessage") && (t = s.data("validationPatternMessage")), s.data("validationPatternMessage", t), s.data("validationPatternRegex", s.attr("pattern"))), void 0 !== s.attr("max") || void 0 !== s.attr("aria-valuemax")) { 2577 var e = void 0 !== s.attr("max") ? s.attr("max") : s.attr("aria-valuemax"); 2578 t = "Too high: Maximum of '" + e + "'\x3c!-- data-validation-max-message to override --\x3e", s.data("validationMaxMessage") && (t = s.data("validationMaxMessage")), s.data("validationMaxMessage", t), s.data("validationMaxMax", e) 2579 } 2580 if (void 0 !== s.attr("min") || void 0 !== s.attr("aria-valuemin")) { 2581 var a = void 0 !== s.attr("min") ? s.attr("min") : s.attr("aria-valuemin"); 2582 t = "Too low: Minimum of '" + a + "'\x3c!-- data-validation-min-message to override --\x3e", s.data("validationMinMessage") && (t = s.data("validationMinMessage")), s.data("validationMinMessage", t), s.data("validationMinMin", a) 2583 } 2584 void 0 !== s.attr("maxlength") && (t = "Too long: Maximum of '" + s.attr("maxlength") + "' characters\x3c!-- data-validation-maxlength-message to override --\x3e", s.data("validationMaxlengthMessage") && (t = s.data("validationMaxlengthMessage")), s.data("validationMaxlengthMessage", t), s.data("validationMaxlengthMaxlength", s.attr("maxlength"))), void 0 !== s.attr("minlength") && (t = "Too short: Minimum of '" + s.attr("minlength") + "' characters\x3c!-- data-validation-minlength-message to override --\x3e", s.data("validationMinlengthMessage") && (t = s.data("validationMinlengthMessage")), s.data("validationMinlengthMessage", t), s.data("validationMinlengthMinlength", s.attr("minlength"))), void 0 === s.attr("required") && void 0 === s.attr("aria-required") || (t = d.builtInValidators.required.message, s.data("validationRequiredMessage") && (t = s.data("validationRequiredMessage")), s.data("validationRequiredMessage", t)), void 0 !== s.attr("type") && "number" === s.attr("type").toLowerCase() && (t = d.builtInValidators.number.message, s.data("validationNumberMessage") && (t = s.data("validationNumberMessage")), s.data("validationNumberMessage", t)), void 0 !== s.attr("type") && "email" === s.attr("type").toLowerCase() && (t = "Not a valid email address\x3c!-- data-validator-validemail-message to override --\x3e", s.data("validationValidemailMessage") ? t = s.data("validationValidemailMessage") : s.data("validationEmailMessage") && (t = s.data("validationEmailMessage")), s.data("validationValidemailMessage", t)), void 0 !== s.attr("minchecked") && (t = "Not enough options checked; Minimum of '" + s.attr("minchecked") + "' required\x3c!-- data-validation-minchecked-message to override --\x3e", s.data("validationMincheckedMessage") && (t = s.data("validationMincheckedMessage")), s.data("validationMincheckedMessage", t), s.data("validationMincheckedMinchecked", s.attr("minchecked"))), void 0 !== s.attr("maxchecked") && (t = "Too many options checked; Maximum of '" + s.attr("maxchecked") + "' required\x3c!-- data-validation-maxchecked-message to override --\x3e", s.data("validationMaxc
2584heckedMessage") && (t = s.data("validationMaxcheckedMessage")), s.data("validationMaxcheckedMessage", t), s.data("validationMaxcheckedMaxchecked", s.attr("maxchecked"))) 2585 } 2586 void 0 !== s.data("validation") && (o = s.data("validation").split(",")), p.each(s.data(), function (t, e) { 2587 var n = t.replace(/([A-Z])/g, ",$1").split(","); 2588 "validation" === n[0] && n[1] && o.push(n[1]) 2589 }); 2590 for (var l = o, u = []; p.each(o, function (t, e) { 2591 o[t] = f(e) 2592 }), o = p.unique(o), u = [], p.each(l, function (t, e) { 2593 if (void 0 !== s.data("validation" + e + "Shortcut")) p.each(s.data("validation" + e + "Shortcut").split(","), function (t, e) { 2594 u.push(e) 2595 }); 2596 else if (d.builtInValidators[e.toLowerCase()]) { 2597 var n = d.builtInValidators[e.toLowerCase()]; 2598 "shortcut" === n.type.toLowerCase() && p.each(n.shortcut.split(","), function (t, e) { 2599 e = f(e), u.push(e), o.push(e) 2600 }) 2601 } 2602 }), 0 < (l = u).length;); 2603 var c = {}; 2604 p.each(o, function (t, n) { 2605 var i = s.data("validation" + n + "Message"), 2606 e = void 0 !== i, 2607 o = !1; 2608 if (i = i || "'" + n + "' validation failed \x3c!-- Add attribute 'data-validation-" + n.toLowerCase() + "-message' to input to change this message --\x3e", p.each(d.validatorTypes, function (t, e) { 2609 void 0 === c[t] && (c[t] = []), o || void 0 === s.data("validation" + n + f(e.name)) || (c[t].push(p.extend(!0, { 2610 name: f(e.name), 2611 message: i 2612 }, e.init(s, n))), o = !0) 2613 }), !o && d.builtInValidators[n.toLowerCase()]) { 2614 var a = p.extend(!0, {}, d.builtInValidators[n.toLowerCase()]); 2615 e && (a.message = i); 2616 var r = a.type.toLowerCase(); 2617 "shortcut" === r ? o = !0 : p.each(d.validatorTypes, function (t, e) { 2618 void 0 === c[t] && (c[t] = []), o || r !== t.toLowerCase() || (s.data("validation" + n + f(e.name), a[e.name.toLowerCase()]), c[r].push(p.extend(a, e.init(s, n))), o = !0) 2619 }) 2620 } 2621 o || p.error("Cannot find validation info for '" + n + "'") 2622 }), i.data("original-contents", i.data("original-contents") ? i.data("original-contents") : i.html()), i.data("original-role", i.data("original-role") ? i.data("original-role") : i.attr("role")), n.data("original-classes", n.data("original-clases") ? n.data("original-classes") : n.attr("class")), s.data("original-aria-invalid", s.data("original-aria-invalid") ? s.data("original-aria-invalid") : s.attr("aria-invalid")), s.bind("validation.validation", function (t, e) { 2623 var i = h(s), 2624 o = []; 2625 return p.each(c, function (n, t) { 2626 (i || i.length || e && e.includeEmpty || d.validatorTypes[n].blockSubmit && e && e.submitting) && p.each(t, function (t, e) { 2627 d.validatorTypes[n].validate(s, i, e) && o.push(e.message) 2628 }) 2629 }), o 2630 }), s.bind("getValidators.validation", function () { 2631 return c 2632 }), s.bind("submit.validation", function () { 2633 return s.triggerHandler("change.validation", { 2634 submitting: !0 2635 }) 2636 }), s.bind(["keyup", "focus", "blur", "click", "keydown", "keypress", "change"].join(".validation ") + ".validation", function (t, o) { 2637 var e = h(s), 2638 a = []; 2639 n.find("input,textarea,select").each(function (t, e) { 2640 var n = a.length; 2641 if (p.each(p(e).triggerHandler("validation.validation", o), function (t, e) { 2642 a.push(e) 2643 }), a.length > n) p(e).attr("aria-invalid", "true"); 2644 else { 2645 var i = s.data("original-aria-invalid"); 2646 p(e).attr("aria-invalid", void 0 !== i && i) 2647 } 2648 }), r.find("input,select,textarea").not(s).not('[name="' + s.attr("name") + '"]').trigger("validationLostFocus.validation"), (a = p.unique(a.sort())).length ? (n.removeClass("success error").addClass("warning"), d.options.semanticallyStrict && 1 === a.length ? i.html(a[0] + (d.options.prependExistingHelpBlock ? i.data("original-contents") : "")) : i.html('<ul role="alert"><li>' + a.join("</li><li>") + "</li></ul>" + (d.options.prependExistingHelpBlock ? i.data("original-contents") : ""))) : (n.removeClass("warning error success"), 0 < e.length && n.addClass("success"), i.html(i.data("original-contents"))), "blur" === t.type && n.removeClass("success") 2649 }), s.bind("validationLostFocus.validation", function () { 2650 n.removeClass("success") 2651 }) 2652 }) 2653 }, 2654 destroy: function () { 2655 return this.each(function () { 2656 var t = p(this), 2657 e = t.parents(".form-group").first(), 2658 n = e.find(".help-block").first(); 2659 t.unbind(".validation"), n.html(n.data("original-contents")), e.attr("class", e.data("original-classes")), t.attr("aria-invalid", t.data("original-aria-invalid")), n.attr("role", t.data("original-role")), -1 < m.indexOf(n[0]) && n.remove() 2660 }) 2661 }, 2662 collectErrors: function (t) { 2663 var a = {}; 2664 return this.each(function (t, e) { 2665 var n = p(e), 2666 i = n.attr("name"), 2667 o = n.triggerHandler("validation.validation", { 2668 includeEmpty: !0 2669 });
2670 a[i] = p.extend(!0, o, a[i]) 2671 }), p.each(a, function (t, e) { 2672 0 === e.length && delete a[t] 2673 }), a 2674 }, 2675 hasErrors: function () { 2676 var n = []; 2677 return this.each(function (t, e) { 2678 n = n.concat(p(e).triggerHandler("getValidators.validation") ? p(e).triggerHandler("validation.validation", { 2679 submitting: !0 2680 }) : []) 2681 }), 0 < n.length 2682 }, 2683 override: function (t) { 2684 n = p.extend(!0, n, t) 2685 } 2686 }, 2687 validatorTypes: { 2688 callback: { 2689 name: "callback", 2690 init: function (t, e) { 2691 return { 2692 validatorName: e, 2693 callback: t.data("validation" + e + "Callback"), 2694 lastValue: t.val(), 2695 lastValid: !0, 2696 lastFinished: !0 2697 } 2698 }, 2699 validate: function (t, e, n) { 2700 if (n.lastValue === e && n.lastFinished) return !n.lastValid; 2701 if (!0 === n.lastFinished) { 2702 n.lastValue = e, n.lastValid = !0, n.lastFinished = !1; 2703 var i = n, 2704 o = t; 2705 ! function (t, e) { 2706 for (var n = Array.prototype.slice.call(arguments).splice(2), i = t.split("."), o = i.pop(), a = 0; a < i.length; a++) e = e[i[a]]; 2707 e[o].apply(this, n) 2708 }(n.callback, window, t, e, function (t) { 2709 i.lastValue === t.value && (i.lastValid = t.valid, t.message && (i.message = t.message), i.lastFinished = !0, o.data("validation" + i.validatorName + "Message", i.message), setTimeout(function () { 2710 o.trigger("change.validation") 2711 }, 1)) 2712 }) 2713 } 2714 return !1 2715 } 2716 }, 2717 ajax: { 2718 name: "ajax", 2719 init: function (t, e) { 2720 return { 2721 validatorName: e, 2722 url: t.data("validation" + e + "Ajax"),
2723 lastValue: t.val(), 2724 lastValid: !0, 2725 lastFinished: !0 2726 } 2727 }, 2728 validate: function (e, t, n) { 2729 return "" + n.lastValue == "" + t && !0 === n.lastFinished ? !1 === n.lastValid : (!0 === n.lastFinished && (n.lastValue = t, n.lastValid = !0, n.lastFinished = !1, p.ajax({ 2730 url: n.url, 2731 data: "value=" + t + "&field=" + e.attr("name"), 2732 dataType: "json", 2733 success: function (t) { 2734 "" + n.lastValue == "" + t.value && (n.lastValid = !!t.valid, t.message && (n.message = t.message), n.lastFinished = !0, e.data("validation" + n.validatorName + "Message", n.message), setTimeout(function () { 2735 e.trigger("change.validation") 2736 }, 1)) 2737 }, 2738 failure: function () { 2739 n.lastValid = !0, n.message = "ajax call failed", n.lastFinished = !0, e.data("validation" + n.validatorName + "Message", n.message), setTimeout(function () { 2740 e.trigger("change.validation") 2741 }, 1) 2742 } 2743 })), !1) 2744 } 2745 }, 2746 regex: { 2747 name: "regex", 2748 init: function (t, e) { 2749 return { 2750 regex: function (t) { 2751 return new RegExp("^" + t + "$") 2752 }(t.data("validation" + e + "Regex")) 2753 } 2754 }, 2755 validate: function (t, e, n) { 2756 return !n.regex.test(e) && !n.negative || n.regex.test(e) && n.negative 2757 } 2758 }, 2759 required: { 2760 name: "required", 2761 init: function (t, e) { 2762 return {} 2763 }, 2764 validate: function (t, e, n) { 2765 return !(0 !== e.length || n.negative) || !!(0 < e.length && n.negative) 2766 }, 2767 blockSubmit: !0 2768 }, 2769 match: { 2770 name: "match", 2771 init: function (t, e) { 2772 var n = t.parents("form").first().find('[name="' + t.data("validation" + e + "Match") + '"]').first(); 2773 return n.bind("validation.validation", function () { 2774 t.trigger("change.validation", { 2775 submitting: !0 2776 }) 2777 }), { 2778 element: n 2779 } 2780 }, 2781 validate: function (t, e, n) { 2782 return e !== n.element.val() && !n.negative || e === n.element.val() && n.negative 2783 }, 2784 blockSubmit: !0 2785 }, 2786 max: { 2787 name: "max", 2788 init: function (t, e) { 2789 return { 2790 max: t.data("validation" + e + "Max") 2791 } 2792 }, 2793 validate: function (t, e, n) { 2794 return parseFloat(e, 10) > parseFloat(n.max, 10) && !n.negative || parseFloat(e, 10) <= parseFloat(n.max, 10) && n.negative 2795 } 2796 }, 2797 min: { 2798 name: "min", 2799 init: function (t, e) { 2800 return { 2801 min: t.data("validation" + e + "Min") 2802 } 2803 }, 2804 validate: function (t, e, n) { 2805 return parseFloat(e) < parseFloat(n.min) && !n.negative || parseFloat(e) >= parseFloat(n.min) && n.negative 2806 } 2807 }, 2808 maxlength: { 2809 name: "maxlength", 2810 init: function (t, e) { 2811 return { 2812 maxlength: t.data("validation" + e + "Maxlength") 2813 } 2814 }, 2815 validate: function (t, e, n) { 2816 return e.length > n.maxlength && !n.negative || e.length <= n.maxlength && n.negative 2817 } 2818 }, 2819 minlength: { 2820 name: "minlength", 2821 init: function (t, e) { 2822 return { 2823 minlength: t.data("validation" + e + "Minlength") 2824 } 2825 }, 2826 validate: function (t, e, n) { 2827 return e.length < n.minlength && !n.negative || e.length >= n.minlength && n.negative 2828 } 2829 }, 2830 maxchecked: { 2831 name: "maxchecked", 2832 init: function (t, e) { 2833 var n = t.parents("form").first().find('[name="' + t.attr("name") + '"]'); 2834 return n.bind("click.validation", function () { 2835 t.trigger("change.validation", { 2836 includeEmpty: !0 2837 }) 2838 }), { 2839 maxchecked: t.data("validation" + e + "Maxchecked"), 2840 elements: n 2841 } 2842 }, 2843 validate: function (t, e, n) { 2844 return n.elements.filter(":checked").length > n.maxchecked && !n.negative || n.elements.filter(":checked").length <= n.maxchecked && n.negative 2845 }, 2846 blockSubmit: !0 2847 }, 2848 minchecked: { 2849 name: "minchecked", 2850 init: function (t, e) { 2851 var n = t.parents("form").first().find('[name="' + t.attr("name") + '"]'); 2852 return n.bind("click.validation", function () { 2853 t.trigger("change.validation", { 2854 includeEmpty: !0 2855 }) 2856 }), { 2857 minchecked: t.data("validation" + e + "Minchecked"), 2858 elements: n 2859 } 2860 }, 2861 validate: function (t, e, n) { 2862 return n.elements.filter(":checked").length < n.minchecked && !n.negative || n.elements.filter(":checked").length >= n.minchecked && n.negative 2863 }, 2864 blockSubmit: !0 2865 } 2866 }, 2867 builtInValidators: { 2868 email: { 2869 name: "Email", 2870 type: "shortcut", 2871 shortcut: "validemail" 2872 }, 2873 validemail: { 2874 name: "Validemail", 2875 type: "regex", 2876 regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}", 2877 message: "Not a valid email address\x3c!-- data-validator-validemail-message to override --\x3e" 2878 }, 2879 passwordagain: { 2880 name: "Passwordagain", 2881 type: "match", 2882 match: "password", 2883 message: "Does not match the given password\x3c!-- data-validator-paswordagain-message to override --\x3e" 2884 }, 2885 positive: { 2886 name: "Positive", 2887 type: "shortcut", 2888 shortcut: "number,positivenumber" 2889 }, 2890 negative: { 2891 name: "Negative", 2892 type: "shortcut", 2893 shortcut: "number,negativenumber" 2894 }, 2895 number: { 2896 name: "Number", 2897 type: "regex", 2898 regex: "([+-]?\\d+(\\.\\d*)?([eE][+-]?[0-9]+)?)?", 2899 message: "Must be a number\x3c!-- data-validator-number-message to override --\x3e" 2900 }, 2901 integer: { 2902 name: "Integer", 2903 type: "regex", 2904 regex: "[+-]?\\d+", 2905 message: "No decimal places allowed\x3c!-- data-validator-integer-message to override --\x3e" 2906 }, 2907 positivenumber: { 2908 name: "Positivenumber", 2909 type: "min", 2910 min: 0, 2911 message: "Must be a positive number\x3c!-- data-validator-positivenumber-message to override --\x3e" 2912 }, 2913 negativenumber: { 2914 name: "Negativenumber", 2915 type: "max", 2916 max: 0, 2917 message: "Must be a negative number\x3c!-- data-validator-negativenumber-message to override --\x3e" 2918 }, 2919 required: { 2920 name: "Required", 2921 type: "required", 2922 message: "This is required\x3c!-- data-validator-required-message to override --\x3e" 2923 }, 2924 checkone: { 2925 name: "Checkone", 2926 type: "minchecked", 2927 minchecked: 1, 2928 message: "Check at least one option\x3c!-- data-validation-checkone-message to override --\x3e" 2929 } 2930 } 2931 }, 2932 f = function (t) { 2933 return t.toLowerCase().replace(/(^|\s)([a-z])/g, function (t, e, n) { 2934 return e + n.toUpperCase() 2935 }) 2936 }, 2937 h = function (t) { 2938 var e = t.val(), 2939 n = t.attr("type"); 2940 return "checkbox" === n && (e = t.is(":checked") ? e : ""), "radio" === n && (e = 0 < p('input[name="' + t.attr("name") + '"]:checked').length ? e : ""), e 2941 }; 2942 p.fn.jqBootstrapValidation = function (t) { 2943 return n.methods[t] ? n.methods[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof t && t ? (p.error("Method " + t + " does not exist on jQuery.jqBootstrapValidation"), null) : n.methods.init.apply(this, arguments) 2944 }, p.jqBootstrapValidation = function (t) { 2945 p(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this, arguments) 2946 } 2947 }(jQuery), 2948 function (t) { 2949 "function" == typeof define && define.amd ? define(["jquery"], t) : "object" == typeof exports ? t(require("jquery")) : t(jQuery) 2950 }(function (a) { 2951 var r = function (t, e) { 2952 this.$element = a(t), this.options = a.extend({}, r.DEFAULTS, this.dataOptions(), e), this.init() 2953 }; 2954 r.DEFAULTS = { 2955 from: 0, 2956 to: 0, 2957 speed: 1e3, 2958 refreshInterval: 100, 2959 decimals: 0, 2960 formatter: function (t, e) { 2961 return t.toFixed(e.decimals) 2962 },
2963 onUpdate: null, 2964 onComplete: null 2965 }, r.prototype.init = function () { 2966 this.value = this.options.from, this.loops = Math.ceil(this.options.speed / this.options.refreshInterval), this.loopCount = 0, this.increment = (this.options.to - this.options.from) / this.loops 2967 }, r.prototype.dataOptions = function () { 2968 var t = { 2969 from: this.$element.data("from"), 2970 to: this.$element.data("to"), 2971 speed: this.$element.data("speed"), 2972 refreshInterval: this.$element.data("refresh-interval"), 2973 decimals: this.$element.data("decimals") 2974 }, 2975 e = Object.keys(t); 2976 for (var n in e) { 2977 var i = e[n]; 2978 void 0 === t[i] && delete t[i] 2979 } 2980 return t 2981 }, r.prototype.update = function () { 2982 this.value += this.increment, this.loopCount++, this.render(), "function" == typeof this.options.onUpdate && this.options.onUpdate.call(this.$element, this.value), this.loopCount >= this.loops && (clearInterval(this.interval), this.value = this.options.to, "function" == typeof this.options.onComplete && this.options.onComplete.call(this.$element, this.value)) 2983 }, r.prototype.render = function () { 2984 var t = this.options.formatter.call(this.$element, this.value, this.options); 2985 this.$element.text(t) 2986 }, r.prototype.restart = function () { 2987 this.stop(), this.init(), this.start() 2988 }, r.prototype.start = function () { 2989 this.stop(), this.render(), this.interval = setInterval(this.update.bind(this), this.options.refreshInterval) 2990 }, r.prototype.stop = function () { 2991 this.interval && clearInterval(this.interval) 2992 }, r.prototype.toggle = function () { 2993 this.interval ? this.stop() : this.start() 2994 }, a.fn.countTo = function (o) { 2995 return this.each(function () { 2996 var t = a(this), 2997 e = t.data("countTo"), 2998 n = "object" == typeof o ? o : {}, 2999 i = "string" == typeof o ? o : "start"; 3000 e && "object" != typeof o || (e && e.stop(), t.data("countTo", e = new r(this, n))), e[i].call(e) 3001 }) 3002 } 3003 }), 3004 function (o) { 3005 "use strict"; 3006 o.fn.fitVids = function (t) { 3007 var n = { 3008 customSelector: null, 3009 ignore: null 3010 }; 3011 if (!document.getElementById("fit-vids-style")) { 3012 var e = document.head || document.getElementsByTagName("head")[0], 3013 i = document.createElement("div"); 3014 i.innerHTML = '<p>x</p><style id="fit-vids-style">.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style>', e.appendChild(i.childNodes[1]) 3015 } 3016 return t && o.extend(n, t), this.each(function () { 3017 var t = ["iframe[src*='player.vimeo.com']", "iframe[src*='youtube.com']", "iframe[src*='youtube-nocookie.com']", "iframe[src*='kickstarter.com'][src*='video.html']", "object", "embed"]; 3018 n.customSelector && t.push(n.customSelector); 3019 var i = ".fitvidsignore"; 3020 n.ignore && (i = i + ", " + n.ignore); 3021 var e = o(this).find(t.join(",")); 3022 (e = (e = e.not("object object")).not(i)).each(function () { 3023 var t = o(this); 3024 if (!(0 < t.parents(i).length || "embed" === this.tagName.toLowerCase() && t.parent("object").length || t.parent(".fluid-width-video-wrapper").length)) { 3025 t.css("height") || t.css("width") || !isNaN(t.attr("height")) && !isNaN(t.attr("width")) || (t.attr("height", 9), t.attr("width", 16)); 3026 var e = ("object" === this.tagName.toLowerCase() || t.attr("height") && !isNaN(parseInt(t.attr("height"), 10)) ? parseInt(t.attr("height"), 10) : t.height()) / (isNaN(parseInt(t.attr("width"), 10)) ? t.width() : parseInt(t.attr("width"), 10)); 3027 if (!t.attr("id")) { 3028 var n = "fitvid" + Math.floor(999999 * Math.random()); 3029 t.attr("id", n) 3030 } 3031 t.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top", 100 * e + "%"), t.removeAttr("height").removeAttr("width") 3032 } 3033 }) 3034 }) 3035 } 3036 }(window.jQuery || window.Zepto), 3037 function (t) { 3038 "function" == typeof define && define.amd ? define(["jquery"], t) : "object" == typeof exports ? t(require("jquery")) : t(window.jQuery || window.Zepto) 3039 }(function (c) { 3040 function t() {} 3041 3042 function d(t, e) { 3043 h.ev.on("mfp" + t + b, e) 3044 } 3045 3046 function p(t, e, n, i) { 3047 var o = document.createElement("div"); 3048 return o.className = "mfp-" + t, n && (o.innerHTML = n), i ? e && e.appendChild(o) : (o = c(o), e && o.appendTo(e)), o 3049 } 3050 3051 function m(t, e) { 3052 h.ev.triggerHandler("mfp" + t, e), h.st.callbacks && (t = t.charAt(0).toLowerCase() + t.slice(1), h.st.callbacks[t] && h.st.callbacks[t].apply(h, c.isArray(e) ? e : [e])) 3053 } 3054 3055 function f(t) { 3056 return t === e && h.currTemplate.closeBtn || (h.currTemplate.closeBtn = c(h.st.closeMarkup.replace("%title%", h.st.tClose)), e = t), h.currTemplate.closeBtn 3057 } 3058 3059 function a() { 3060 c.magnificPopup.instance || ((h = new t).init(), c.magnificPopup.instance = h) 3061 } 3062 var h, i, v, o, g, e, l = "Close", 3063 u = "BeforeClose", 3064 y = "MarkupParse", 3065 w = "Open", 3066 b = ".mfp", 3067 x = "mfp-ready", 3068 n = "mfp-removing", 3069 r = "mfp-prevent-close", 3070 s = !!window.jQuery, 3071 I = c(window); 3072 t.prototype = { 3073 constructor: t, 3074 init: function () { 3075 var t = navigator.appVersion; 3076 h.isLowIE = h.isIE8 = document.all && !document.addEventListener, h.isAndroid = /android/gi.test(t), h.isIOS = /iphone|ipad|ipod/gi.test(t), h.supportsTransition = function () { 3077 var t = document.createElement("p").style, 3078 e = ["ms", "O", "Moz", "Webkit"]; 3079 if (void 0 !== t.transition) return !0; 3080 for (; e.length;) 3081 if (e.pop() + "Transition" in t) return !0; 3082 return !1 3083 }(), h.probablyMobile = h.isAndroid || h.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), v = c(document), h.popupsCache = {} 3084 }, 3085 open: function (t) { 3086 var e; 3087 if (!1 === t.isObj) { 3088 h.items = t.items.toArray(), h.index = 0; 3089 var n, i = t.items; 3090 for (e = 0; e < i.length; e++) 3091 if ((n = i[e]).parsed && (n = n.el[0]), n === t.el[0]) { 3092 h.index = e; 3093 break 3094 } 3095 } else h.items = c.isArray(t.items) ? t.items : [t.items], h.index = t.index || 0; 3096 if (!h.isOpen) { 3097 h.types = [], g = "", t.mainEl && t.mainEl.length ? h.ev = t.mainEl.eq(0) : h.ev = v, t.key ? (h.popupsCache[t.key] || (h.popupsCache[t.key] = {}), h.currTemplate = h.popupsCache[t.key]) : h.currTemplate = {}, h.st = c.extend(!0, {}, c.magnificPopup.defaults, t), h.fixedContentPos = "auto" === h.st.fixedContentPos ? !h.probablyMobile : h.st.fixedContentPos, h.st.modal && (h.st.closeOnContentClick = !1, h.st.closeOnBgClick = !1, h.st.showCloseBtn = !1, h.st.enableEscapeKey = !1), h.bgOverlay || (h.bgOverlay = p("bg").on("click" + b, function () { 3098 h.close() 3099 }), h.wrap = p("wrap").attr("tabindex", -1).on("click" + b, function (t) { 3100 h._checkIfClose(t.target) && h.close() 3101 }), h.container = p("container", h.wrap)), h.contentContainer = p("content"), h.st.preloader && (h.preloader = p("preloader", h.container, h.st.tLoading)); 3102 var o = c.magnificPopup.modules; 3103 for (e = 0; e < o.length; e++) { 3104 var a = o[e]; 3105 a = a.charAt(0).toUpperCase() + a.slice(1), h["init" + a].call(h) 3106 } 3107 m("BeforeOpen"), h.st.showCloseBtn && (h.st.closeBtnInside ? (d(y, function (t, e, n, i) { 3108 n.close_replaceWith = f(i.type) 3109 }), g += " mfp-close-btn-in") : h.wrap.append(f())), h.st.alignTop && (g += " mfp-align-top"), h.fixedContentPos ? h.wrap.css({ 3110 overflow: h.st.overflowY, 3111 overflowX: "hidden", 3112 overflowY: h.st.overflowY 3113 }) : h.wrap.css({ 3114 top: I.scrollTop(), 3115 position: "absolute" 3116 }), !1 !== h.st.fixedBgPos && ("auto" !== h.st.fixedBgPos || h.fixedContentPos) || h.bgOverlay.css({ 3117 height: v.height(), 3118 position: "absolute" 3119 }), h.st.enableEscapeKey && v.on("keyup" + b, function (t) { 3120 27 === t.keyCode && h.close() 3121 }), I.on("resize" + b, function () { 3122 h.updateSize() 3123 }), h.st.closeOnContentClick || (g += " mfp-auto-cursor"), g && h.wrap.addClass(g); 3124 var r = h.wH = I.height(), 3125 s = {}; 3126 if (h.fixedContentPos && h._hasScrollBar(r)) { 3127 var l = h._getScrollbarSize(); 3128 l && (s.marginRight = l) 3129 } 3130 h.fixedContentPos && (h.isIE7 ? c("body, html").css("overflow", "hidden") : s.overflow = "hidden"); 3131 var u = h.st.mainClass; 3132 return h.isIE7 && (u += " mfp-ie7"), u && h._addClassToMFP(u), h.updateItemHTML(), m("BuildControls"), c("html").css(s), h.bgOverlay.add(h.wrap).prependTo(h.st.prepe
3132ndTo || c(document.body)), h._lastFocusedEl = document.activeElement, setTimeout(function () { 3133 h.content ? (h._addClassToMFP(x), h._setFocus()) : h.bgOverlay.addClass(x), v.on("focusin" + b, h._onFocusIn) 3134 }, 16), h.isOpen = !0, h.updateSize(r), m(w), t 3135 } 3136 h.updateItemHTML() 3137 }, 3138 close: function () { 3139 h.isOpen && (m(u), h.isOpen = !1, h.st.removalDelay && !h.isLowIE && h.supportsTransition ? (h._addClassToMFP(n), setTimeout(function () { 3140 h._close() 3141 }, h.st.removalDelay)) : h._close()) 3142 }, 3143 _close: function () { 3144 m(l); 3145 var t = n + " " + x + " "; 3146 if (h.bgOverlay.detach(), h.wrap.detach(), h.container.empty(), h.st.mainClass && (t += h.st.mainClass + " "), h._removeClassFromMFP(t), h.fixedContentPos) { 3147 var e = { 3148 marginRight: "" 3149 }; 3150 h.isIE7 ? c("body, html").css("overflow", "") : e.overflow = "", c("html").css(e) 3151 } 3152 v.off("keyup.mfp focusin" + b), h.ev.off(b), h.wrap.attr("class", "mfp-wrap").removeAttr("style"), h.bgOverlay.attr("class", "mfp-bg"), h.container.attr("class", "mfp-container"), !h.st.showCloseBtn || h.st.closeBtnInside && !0 !== h.currTemplate[h.currItem.type] || h.currTemplate.closeBtn && h.currTemplate.closeBtn.detach(), h.st.autoFocusLast && h._lastFocusedEl && c(h._lastFocusedEl).focus(), h.currItem = null, h.content = null, h.currTemplate = null, h.prevHeight = 0, m("AfterClose") 3153 }, 3154 updateSize: function (t) { 3155 if (h.isIOS) { 3156 var e = document.documentElement.clientWidth / window.innerWidth, 3157 n = window.innerHeight * e; 3158 h.wrap.css("height", n), h.wH = n 3159 } else h.wH = t || I.height(); 3160 h.fixedContentPos || h.wrap.css("height", h.wH), m("Resize") 3161 }, 3162 updateItemHTML: function () { 3163 var t = h.items[h.index]; 3164 h.contentContainer.detach(), h.content && h.content.detach(), t.parsed || (t = h.parseEl(h.index)); 3165 var e = t.type; 3166 if (m("BeforeChange", [h.currItem ? h.currItem.type : "", e]), h.currItem = t, !h.currTemplate[e]) { 3167 var n = !!h.st[e] && h.st[e].markup; 3168 m("FirstMarkupParse", n), h.currTemplate[e] = !n || c(n) 3169 } 3170 o && o !== t.type && h.container.removeClass("mfp-" + o + "-holder"); 3171 var i = h["get" + e.charAt(0).toUpperCase() + e.slice(1)](t, h.
3171currTemplate[e]); 3172 h.appendContent(i, e), t.preloaded = !0, m("Change", t), o = t.type, h.container.prepend(h.contentContainer), m("AfterChange") 3173 }, 3174 appendContent: function (t, e) { 3175 (h.content = t) ? h.st.showCloseBtn && h.st.closeBtnInside && !0 === h.currTemplate[e] ? h.content.find(".mfp-close").length || h.content.append(f()) : h.content = t: h.content = "", m("BeforeAppend"), h.container.addClass("mfp-" + e + "-holder"), h.contentContainer.append(h.content) 3176 }, 3177 parseEl: function (t) { 3178 var e, n = h.items[t]; 3179 if ((n = n.tagName ? { 3180 el: c(n) 3181 } : (e = n.type, { 3182 data: n, 3183 src: n.src 3184 })).el) { 3185 for (var i = h.types, o = 0; o < i.length; o++) 3186 if (n.el.hasClass("mfp-" + i[o])) { 3187 e = i[o]; 3188 break 3189 } n.src = n.el.attr("data-mfp-src"), n.src || (n.src = n.el.attr("href")) 3190 } 3191 return n.type = e || h.st.type || "inline", n.index = t, n.parsed = !0, h.items[t] = n, m("ElementParse", n), h.items[t] 3192 }, 3193 addGroup: function (e, n) { 3194 function t(t) { 3195 t.mfpEl = this, h._openClick(t, e, n) 3196 } 3197 n || (n = {}); 3198 var i = "click.magnificPopup"; 3199 n.mainEl = e, n.items ? (n.isObj = !0, e.off(i).on(i, t)) : (n.isObj = !1, n.delegate ? e.off(i).on(i, n.delegate, t) : (n.items = e).off(i).on(i, t)) 3200 }, 3201 _openClick: function (t, e, n) { 3202 if ((void 0 !== n.midClick ? n.midClick : c.magnificPopup.defaults.midClick) || !(2 === t.which || t.ctrlKey || t.metaKey || t.altKey || t.shiftKey)) { 3203 var i = void 0 !== n.disableOn ? n.disableOn : c.magnificPopup.defaults.disableOn; 3204 if (i) 3205 if (c.isFunction(i)) { 3206 if (!i.call(h)) return !0 3207 } else if (I.width() < i) return !0; 3208 t.type && (t.preventDefault(), h.isOpen && t.stopPropagation()), n.el = c(t.mfpEl), n.delegate && (n.items = e.find(n.delegate)), h.open(n) 3209 } 3210 }, 3211 updateStatus: function (t, e) { 3212 if (h.preloader) { 3213 i !== t && h.container.removeClass("mfp-s-" + i), e || "loading" !== t || (e = h.st.tLoading); 3214 var n = { 3215 status: t, 3216 text: e 3217 }; 3218 m("UpdateStatus", n), t = n.status, e = n.text, h.preloader.html(e), h.preloader.find("a").on("click", function (t) { 3219 t.stopImmediatePropagation() 3220 }), h.container.addClass("mfp-s-" + t), i = t 3221 } 3222 }, 3223 _checkIfClose: function (t) { 3224 if (!c(t).hasClass(r)) { 3225 var e = h.st.closeOnContentClick, 3226 n = h.st.closeOnBgClick; 3227 if (e && n) return !0; 3228 if (!h.content || c(t).hasClass("mfp-close") || h.preloader && t === h.preloader[0]) return !0; 3229 if (t === h.content[0] || c.contains(h.content[0], t)) { 3230 if (e) return !0 3231 } else if (n && c.contains(document, t)) return !0; 3232 return !1 3233 } 3234 }, 3235 _addClassToMFP: function (t) { 3236 h.bgOverlay.addClass(t), h.wrap.addClass(t) 3237 }, 3238 _removeClassFromMFP: function (t) { 3239 this.bgOverlay.removeClass(t), h.wrap.removeClass(t) 3240 }, 3241 _hasScrollBar: function (t) { 3242 return (h.isIE7 ? v.height() : document.body.scrollHeight) > (t || I.height()) 3243 }, 3244 _setFocus: function () { 3245 (h.st.focus ? h.content.find(h.st.focus).eq(0) : h.wrap).focus() 3246 }, 3247 _onFocusIn: function (t) { 3248 if (t.target !== h.wrap[0] && !c.contains(h.wrap[0], t.target)) return h._setFocus(), !1 3249 }, 3250 _parseMarkup: function (o, t, e) { 3251 var a; 3252 e.data && (t = c.extend(e.data, t)), m(y, [o, t, e]), c.each(t, function (t, e) { 3253 if (void 0 === e || !1 === e) return !0; 3254 if (1 < (a = t.split("_")).length) { 3255 var n = o.find(b + "-" + a[0]); 3256 if (0 < n.length) { 3257 var i = a[1]; 3258 "replaceWith" === i ? n[0] !== e[0] && n.replaceWith(e) : "img" === i ? n.is("img") ? n.attr("src", e) : n.replaceWith(c("<img>").attr("src", e).attr("class", n.attr("class"))) : n.attr(a[1], e) 3259 } 3260 } else o.find(b + "-" + t).html(e) 3261 }) 3262 }, 3263 _getScrollbarSize: function () { 3264 if (void 0 === h.scrollbarSize) { 3265 var t = document.createElement("div"); 3266 t.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(t), h.scrollbarSize = t.offsetWidth - t.clientWidth, document.body.removeChild(t) 3267 } 3268 return h.scrollbarSize 3269 } 3270 }, c.magnificPopup = { 3271 instance: null, 3272 proto: t.prototype, 3273 modules: [], 3274 open: function (t, e) { 3275 return a(), (t = t ? c.extend(!0, {}, t) : {}).isObj = !0, t.index = e || 0, this.instance.open(t) 3276 }, 3277 close: function () { 3278 return c.magnificPopup.instance && c.magnificPopup.instance.close() 3279 }, 3280 registerModule: function (t, e) { 3281 e.options && (c.magnificPopup.defaults[t] = e.options), c.extend(this.proto, e.proto), this.modules.push(t) 3282 }, 3283 defaults: { 3284 disableOn: 0, 3285 key: null, 3286 midClick: !1, 3287 mainClass: "", 3288 preloader: !0, 3289 focus: "", 3290 closeOnContentClick: !1, 3291 closeOnBgClick: !0, 3292 closeBtnInside: !0, 3293 showCloseBtn: !0, 3294 enableEscapeKey: !0, 3295 modal: !1, 3296 alignTop: !1, 3297 removalDelay: 0, 3298 prependTo: null, 3299 fixedContentPos: "auto", 3300 fixedBgPos: "auto", 3301 overflowY: "auto", 3302 closeMarkup: '<button title="%title%" type="button" class="mfp-close">×</button>', 3303 tClose: "Close (Esc)", 3304 tLoading: "Loading...", 3305 autoFocusLast: !0 3306 } 3307 }, c.fn.magnificPopup = function (t) { 3308 a(); 3309 var e = c(this); 3310 if ("string" == typeof t) 3311 if ("open" === t) { 3312 var n, i = s ? e.data("magnificPopup") : e[0].magnificPopup, 3313 o = parseInt(arguments[1], 10) || 0; 3314 n = i.items ? i.items[o] : (n = e, i.delegate && (n = n.find(i.delegate)), n.eq(o)), h._openClick({ 3315 mfpEl: n 3316 }, e, i) 3317 } else h.isOpen && h[t].apply(h, Array.prototype.slice.call(arguments, 1)); 3318 else t = c.extend(!0, {}, t), s ? e.data("magnificPopup", t) : e[0].magnificPopup = t, h.addGroup(e, t); 3319 return e 3320 }; 3321 3322 function C() { 3323 k && (T.after(k.addClass(S)).detach(), k = null) 3324 } 3325 var S, T, k, L = "inline"; 3326 c.magnificPopup.registerModule(L, { 3327 options: { 3328 hiddenClass: "hide", 3329 markup: "", 3330 tNotFound: "Content not found" 3331 }, 3332 proto: { 3333 initInline: function () { 3334 h.types.push(L), d(l + "." + L, function () { 3335 C() 3336 }) 3337 }, 3338 getInline: function (t, e) { 3339 if (C(), t.src) { 3340 var n = h.st.inline, 3341 i = c(t.src); 3342 if (i.length) { 3343 var o = i[0].parentNode; 3344 o && o.tagName && (T || (S = n.hiddenClass, T = p(S), S = "mfp-" + S),
3344k = i.after(T).detach().removeClass(S)), h.updateStatus("ready") 3345 } else h.updateStatus("error", n.tNotFound), i = c("<div>"); 3346 return t.inlineElement = i 3347 } 3348 return h.updateStatus("ready"), h._parseMarkup(e, {}, t), e 3349 } 3350 } 3351 }); 3352 3353 function E() { 3354 P && c(document.body).removeClass(P) 3355 } 3356 3357 function M() { 3358 E(), h.req && h.req.abort() 3359 } 3360 var P, _ = "ajax"; 3361 c.magnificPopup.registerModule(_, { 3362 options: { 3363 settings: null, 3364 cursor: "mfp-ajax-cur", 3365 tError: '<a href="%url%">The content</a> could not be loaded.' 3366 }, 3367 proto: { 3368 initAjax: function () { 3369 h.types.push(_), P = h.st.ajax.cursor, d(l + "." + _, M), d("BeforeChange." + _, M) 3370 }, 3371 getAjax: function (o) { 3372 P && c(document.body).addClass(P), h.updateStatus("loading"); 3373 var t = c.extend({ 3374 url: o.src, 3375 success: function (t, e, n) { 3376 var i = { 3377 data: t, 3378 xhr: n 3379 }; 3380 m("ParseAjax", i), h.appendContent(c(i.data), _), o.finished = !0, E(), h._setFocus(), setTimeout(function () { 3381 h.wrap.addClass(x) 3382 }, 16), h.updateStatus("ready"), m("AjaxContentAdded") 3383 }, 3384 error: function () { 3385 E(), o.finished = o.loadError = !0, h.updateStatus("error", h.st.ajax.tError.replace("%url%", o.src)) 3386 } 3387 }, h.st.ajax.settings); 3388 return h.req = c.ajax(t), "" 3389 } 3390 } 3391 }); 3392 var A; 3393 c.magnificPopup.registerModule("image", { 3394 options: { 3395 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>', 3396 cursor: "mfp-zoom-out-cur", 3397 titleSrc: "title", 3398 verticalFit: !0, 3399 tError: '<a href="%url%">The image</a> could not be loaded.' 3400 }, 3401 proto: { 3402 initImage: function () { 3403 var t = h.st.image, 3404 e = ".image"; 3405 h.types.push("image"), d(w + e, function () { 3406 "image" === h.currItem.type && t.cursor && c(document.body).addClass(t.cursor) 3407 }), d(l + e, function () { 3408 t.cursor && c(document.body).removeClass(t.cursor), I.off("resize" + b) 3409 }), d("Resize" + e, h.resizeImage), h.isLowIE && d("AfterChange", h.resizeImage) 3410 }, 3411 resizeImage: function () { 3412 var t = h.currItem; 3413 if (t && t.img && h.st.image.verticalFit) { 3414 var e = 0; 3415 h.isLowIE && (e = parseInt(t.img.css("padding-top"), 10) + parseInt(t.img.css("padding-bottom"), 10)), t.img.css("max-height", h.wH - e) 3416 } 3417 }, 3418 _onImageHasSize: function (t) { 3419 t.img && (t.hasSize = !0, A && clearInterval(A), t.isCheckingImgSize = !1, m("ImageHasSize", t), t.imgHidden && (h.content && h.content.removeClass("mfp-loading"), t.imgHidden = !1)) 3420 }, 3421 findImageSize: function (e) { 3422 var n = 0, 3423 i = e.img[0], 3424 o = function (t) { 3425 A && clearInterval(A), A = setInterval(function () { 3426 0 < i.naturalWidth ? h._onImageHasSize(e) : (200 < n && clearInterval(A), 3 === ++n ? o(10) : 40 === n ? o(50) : 100 === n && o(500)) 3427 }, t) 3428 }; 3429 o(1) 3430 }, 3431 getImage: function (t, e) { 3432 var n = 0, 3433 i = function () { 3434 t && (t.img[0].complete ? (t.img.off(".mfploader"), t === h.currItem && (h._onImageHasSize(t), h.updateStatus("ready")), t.hasSize = !0, t.loaded = !0, m("ImageLoadComplete")) : ++n < 200 ? setTimeout(i, 100) : o()) 3435 }, 3436 o = function () { 3437 t && (t.img.off(".mfploader"), t === h.currItem && (h._onImageHasSize(t), h.updateStatus("error", a.tError.replace("%url%", t.src))), t.hasSize = !0, t.loaded = !0, t.loadError = !0) 3438 }, 3439 a = h.st.image, 3440 r = e.find(".mfp-img"); 3441 if (r.length) { 3442 var s = document.createElement("img"); 3443 s.className = "mfp-img", t.el && t.el.find("img").length && (s.alt = t.el.find("img").attr("alt")), t.img = c(s).on("load.mfploader", i).on("error.mfploader", o), s.src = t.src, r.is("img") && (t.img = t.img.clone()), 0 < (s = t.img[0]).naturalWidth ? t.hasSize = !0 : s.width || (t.hasSize = !1) 3444 } 3445 return h._parseMarkup(e, { 3446 title: function (t) { 3447 if (t.data && void 0 !== t.data.title) return t.data.title;
3448 var e = h.st.image.titleSrc; 3449 if (e) { 3450 if (c.isFunction(e)) return e.call(h, t); 3451 if (t.el) return t.el.attr(e) || "" 3452 } 3453 return "" 3454 }(t), 3455 img_replaceWith: t.img 3456 }, t), h.resizeImage(), t.hasSize ? (A && clearInterval(A), t.loadError ? (e.addClass("mfp-loading"), h.updateStatus("error", a.tError.replace("%url%", t.src))) : (e.removeClass("mfp-loading"), h.updateStatus("ready"))) : (h.updateStatus("loading"), t.loading = !0, t.hasSize || (t.imgHidden = !0, e.addClass("mfp-loading"), h.findImageSize(t))), e 3457 } 3458 } 3459 }); 3460 var z; 3461 c.magnificPopup.registerModule("zoom", { 3462 options: { 3463 enabled: !1, 3464 easing: "ease-in-out", 3465 duration: 300, 3466 opener: function (t) { 3467 return t.is("img") ? t : t.find("img") 3468 } 3469 }, 3470 proto: { 3471 initZoom: function () { 3472 var t, a = h.st.zoom, 3473 e = ".zoom"; 3474 if (a.enabled && h.supportsTransition) { 3475 function n(t) { 3476 var e = t.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"), 3477 n = "all " + a.duration / 1e3 + "s " + a.easing, 3478 i = { 3479 position: "fixed", 3480 zIndex: 9999, 3481 left: 0, 3482 top: 0, 3483 "-webkit-backface-visibility": "hidden" 3484 }, 3485 o = "transition"; 3486 return i["-webkit-" + o] = i["-moz-" + o] = i["-o-" + o] = i[o] = n, e.css(i), e 3487 } 3488 3489 function i() { 3490 h.content.css("visibility", "visible") 3491 } 3492 var o, r, s = a.duration; 3493 d("BuildControls" + e, function () { 3494 if (h._allowZoom()) { 3495 if (clearTimeout(o), h.content.css("visibility", "hidden"), !(t = h._getItemToZoom())) return void i(); 3496 (r = n(t)).css(h._getOffset()), h.wrap.append(r), o = setTimeout(function () { 3497 r.css(h._getOffset(!0)), o = setTimeout(function () { 3498 i(), setTimeout(function () { 3499 r.remove(), t = r = null, m("ZoomAnimationEnded") 3500 }, 16) 3501 }, s) 3502 }, 16) 3503 } 3504 }), d(u + e, function () { 3505 if (h._allowZoom()) { 3506 if (clearTimeout(o), h.st.removalDelay = s, !t) { 3507 if (!(t = h._getItemToZoom())) return; 3508 r = n(t) 3509 } 3510 r.css(h._getOffset(!0)), h.wrap.append(r), h.content.css("visibility", "hidden"), setTimeout(function () { 3511 r.css(h._getOffset()) 3512 }, 16) 3513 } 3514 }), d(l + e, function () { 3515 h._allowZoom() && (i(), r && r.remove(), t = null) 3516 }) 3517 } 3518 }, 3519 _allowZoom: function () { 3520 return "image" === h.currItem.type 3521 }, 3522 _getItemToZoom: function () { 3523 return !!h.currItem.hasSize && h.currItem.img 3524 }, 3525 _getOffset: function (t) { 3526 var e, n = (e = t ? h.currItem.img : h.st.zoom.opener(h.currItem.el || h.currItem)).offset(), 3527 i = parseInt(e.css("padding-top"), 10), 3528 o = parseInt(e.css("padding-bottom"), 10); 3529 n.top -= c(window).scrollTop() - i; 3530 var a = { 3531 width: e.width(), 3532 height: (s ? e.innerHeight() : e[0].offsetHeight) - o - i 3533 }; 3534 return void 0 === z && (z = void 0 !== document.createElement("p").style.MozTransform), z ? a["-moz-transform"] = a.transform = "translate(" + n.left + "px," + n.top + "px)" : (a.left = n.left, a.top = n.top), a 3535 } 3536 } 3537 }); 3538 3539 function O(t) { 3540 if (h.currTemplate[N]) { 3541 var e = h.currTemplate[N].find("iframe"); 3542 e.length && (t || (e[0].src = "//about:blank"), h.isIE8 && e.css("display", t ? "block" : "none")) 3543 } 3544 } 3545 var N = "iframe"; 3546 c.magnificPopup.registerModule(N, { 3547 options: { 3548 markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>', 3549 srcAction: "iframe_src", 3550 patterns: { 3551 youtube: { 3552 index: "youtube.com", 3553 id: "v=", 3554 src: "//www.youtube.com/embed/%id%?autoplay=1" 3555 }, 3556 vimeo: { 3557 index: "vimeo.com/", 3558 id: "/", 3559 src: "//player.vimeo.com/video/%id%?autoplay=1" 3560 }, 3561 gmaps: { 3562 index: "//maps.google.", 3563 src: "%id%&output=embed" 3564 } 3565 } 3566 }, 3567 proto: { 3568 initIframe: function () { 3569 h.types.push(N), d("BeforeChange", function (t, e, n) { 3570 e !== n && (e === N ? O() : n === N && O(!0)) 3571 }), d(l + "." + N, function () { 3572 O() 3573 }) 3574 }, 3575 getIframe: function (t, e) { 3576 var n = t.src, 3577 i = h.st.iframe; 3578 c.each(i.patterns, function () { 3579 if (-1 < n.indexOf(this.index)) return this.id && (n = "string" == typeof this.id ? n.substr(n.lastIndexOf(this.id
3579) + this.id.length, n.length) : this.id.call(this, n)), n = this.src.replace("%id%", n), !1 3580 }); 3581 var o = {}; 3582 return i.srcAction && (o[i.srcAction] = n), h._parseMarkup(e, o, t), h.updateStatus("ready"), e 3583 } 3584 } 3585 }); 3586 3587 function j(t) { 3588 var e = h.items.length; 3589 return e - 1 < t ? t - e : t < 0 ? e + t : t 3590 } 3591 3592 function D(t, e, n) { 3593 return t.replace(/%curr%/gi, e + 1).replace(/%total%/gi, n) 3594 } 3595 c.magnificPopup.registerModule("gallery", { 3596 options: { 3597 enabled: !1, 3598 arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', 3599 preload: [0, 2], 3600 navigateByImgClick: !0, 3601 arrows: !0, 3602 tPrev: "Previous (Left arrow key)", 3603 tNext: "Next (Right arrow key)", 3604 tCounter: "%curr% of %total%" 3605 }, 3606 proto: { 3607 initGallery: function () { 3608 var a = h.st.gallery, 3609 t = ".mfp-gallery"; 3610 if (h.direction = !0, !a || !a.enabled) return !1; 3611 g += " mfp-gallery", d(w + t, function () { 3612 a.navigateByImgClick && h.wrap.on("click" + t, ".mfp-img", function () { 3613 if (1 < h.items.length) return h.next(), !1 3614 }), v.on("keydown" + t, function (t) { 3615 37 === t.keyCode ? h.prev() : 39 === t.keyCode && h.next() 3616 }) 3617 }), d("UpdateStatus" + t, function (t, e) { 3618 e.text && (e.text = D(e.text, h.currItem.index, h.items.length)) 3619 }), d(y + t, function (t, e, n, i) { 3620 var o = h.items.length; 3621 n.counter = 1 < o ? D(a.tCounter, i.index, o) : "" 3622 }), d("BuildControls" + t, function () { 3623 if (1 < h.items.length && a.arrows && !h.arrowLeft) { 3624 var t = a.arrowMarkup, 3625 e = h.arrowLeft = c(t.replace(/%title%/gi, a.tPrev).replace(/%dir%/gi, "left")).addClass(r), 3626 n = h.arrowRight = c(t.replace(/%title%/gi, a.tNext).replace(/%dir%/gi, "right")).addClass(r); 3627 e.click(function () { 3628 h.prev() 3629 }), n.click(function () { 3630 h.next() 3631 }), h.container.append(e.add(n)) 3632 } 3633 }), d("Change" + t, function () { 3634 h._preloadTimeout && clearTimeout(h._preloadTimeout), h._preloadTimeout = setTimeout(function () { 3635 h.preloadNearbyImages(), h._preloadTimeout = null 3636 }, 16) 3637 }), d(l + t, function () { 3638 v.off(t), h.wrap.off("click" + t), h.arrowRight = h.arrowLeft = null 3639 }) 3640 }, 3641 next: function () { 3642 h.direction = !0, h.index = j(h.index + 1), h.updateItemHTML() 3643 }, 3644 prev: function () { 3645 h.direction = !1, h.index = j(h.index - 1), h.updateItemHTML() 3646 }, 3647 goTo: function (t) { 3648 h.direction = t >= h.index, h.index = t, h.updateItemHTML() 3649 }, 3650 preloadNearbyImages: function () { 3651 var t, e = h.st.gallery.preload, 3652 n = Math.min(e[0], h.items.length), 3653 i = Math.min(e[1], h.items.length); 3654 for (t = 1; t <= (h.direction ? i : n); t++) h._preloadItem(h.index + t); 3655 for (t = 1; t <= (h.direction ? n : i); t++) h._preloadItem(h.index - t) 3656 }, 3657 _preloadItem: function (t) { 3658 if (t = j(t), !h.items[t].preloaded) { 3659 var e = h.items[t]; 3660 e.parsed || (e = h.parseEl(t)), m("LazyLoad", e), "image" === e.type && (e.img = c('<img class="mfp-img" />').on("load.mfploader", function () { 3661 e.hasSize = !0 3662 }).on("error.mfploader", function () { 3663 e.hasSize = !0, e.loadError = !0, m("LazyLoadError", e) 3664 }).attr("src", e.src)), e.preloaded = !0 3665 } 3666 } 3667 } 3668 }); 3669 var $ = "retina"; 3670 c.magnificPopup.registerModule($, { 3671 options: { 3672 replaceSrc: function (t) { 3673 return t.src.replace(/\.\w+$/, function (t) { 3674 return "@2x" + t 3675 }) 3676 }, 3677 ratio: 1 3678 }, 3679 proto: { 3680 initRetina: function () { 3681 if (1 < window.devicePixelRatio) { 3682 var n = h.st.retina, 3683 i = n.ratio; 3684 1 < (i = isNaN(i) ? i() : i) && (d("ImageHasSize." + $, function (t, e) { 3685 e.img.css({ 3686 "max-width": e.img[0].naturalWidth / i, 3687 width: "100%" 3688 }) 3689 }), d("ElementParse." + $, function (t, e) { 3690 e.src = n.replaceSrc(e, i) 3691 })) 3692 } 3693 } 3694 } 3695 }), a() 3696 }), 3697 function (f) {
3698 var h = { 3699 url: !1, 3700 callback: !1, 3701 target: !1, 3702 duration: 120, 3703 on: "mouseover", 3704 touch: !0, 3705 onZoomIn: !1, 3706 onZoomOut: !1, 3707 magnify: 1 3708 }; 3709 f.zoom = function (t, e, i, n) { 3710 var o, a, r, s, l, u, c, d = f(t), 3711 p = d.css("position"), 3712 m = f(e); 3713 return d.css("position", /(absolute|fixed)/.test(p) ? p : "relative"), d.css("overflow", "hidden"), i.style.width = i.style.height = "", f(i).addClass("zoomImg").css({ 3714 position: "absolute", 3715 top: 0, 3716 left: 0, 3717 opacity: 0, 3718 width: i.width * n, 3719 height: i.height * n, 3720 border: "none", 3721 maxWidth: "none", 3722 maxHeight: "none" 3723 }).appendTo(t), { 3724 init: function () { 3725 a = d.outerWidth(), o = d.outerHeight(), r = e === d[0] ? (s = a, o) : (s = m.outerWidth(), m.outerHeight()), l = (i.width - a) / s, u = (i.height - o) / r, c = m.offset() 3726 }, 3727 move: function (t) { 3728 var e = t.pageX - c.left, 3729 n = t.pageY - c.top; 3730 n = Math.max(Math.min(n, r), 0), e = Math.max(Math.min(e, s), 0), i.style.left = e * -l + "px", i.style.top = n * -u + "px" 3731 } 3732 } 3733 }, f.fn.zoom = function (m) { 3734 return this.each(function () { 3735 var t, e, n, o = f.extend({}, h, m || {}), 3736 a = o.target || this, 3737 r = this, 3738 s = f(r), 3739 i = f(a), 3740 l = document.createElement("img"), 3741 u = f(l), 3742 c = "mousemove.zoom", 3743 d = !1, 3744 p = !1; 3745 (o.url || ((t = s.find("img"))[0] && (o.url = t.data("src") || t.attr("src")), o.url)) && (e = i.css("position"), n = i.css("overflow"), s.one("zoom.destroy", function () { 3746 s.off(".zoom"), i.css("position", e), i.css("overflow", n), u.remove() 3747 }), l.onload = function () { 3748 var e = f.zoom(a, r, l, o.magnify); 3749 3750 function n(t) { 3751 e.init(), e.move(t), u.stop().fadeTo(f.support.opacity ? o.duration : 0, 1, !!f.isFunction(o.onZoomIn) && o.onZoomIn.call(l)) 3752 } 3753 3754 function i() { 3755 u.stop().fadeTo(o.duration, 0, !!f.isFunction(o.onZoomOut) && o.onZoomOut.call(l)) 3756 } 3757 "grab" === o.on ? s.on("mousedown.zoom", function (t) { 3758 1 === t.which && (f(document).one("mouseup.zoom", function () { 3759 i(), f(document).off(c, e.move) 3760 }), n(t), f(document).on(c, e.move), t.preventDefault()) 3761 }) : "click" === o.on ? s.on("click.zoom", function (t) { 3762 return d ? void 0 : (d = !0, n(t), f(document).on(c, e.move), f(document).one("click.zoom", function () { 3763 i(), d = !1, f(document).off(c, e.move) 3764 }), !1) 3765 }) : "toggle" === o.on ? s.on("click.zoom", function (t) { 3766 d ? i() : n(t), d = !d 3767 }) : "mouseover" === o.on && (e.init(), s.on("mouseenter.zoom", n).on("mouseleave.zoom", i).on(c, e.move)), o.touch && s.on("touchstart.zoom", function (t) { 3768 t.preventDefault(), p ? (p = !1, i()) : (p = !0, n(t.originalEvent.touches[0] || t.originalEvent.changedTouches[0])) 3769 }).on("touchmove.zoom", function (t) { 3770 t.preventDefault(), e.move(t.originalEvent.touches[0] || t.originalEvent.changedTouches[0]) 3771 }).on("touchend.zoom", function (t) { 3772 t.preventDefault(), p && (p = !1, i()) 3773 }), f.isFunction(o.callback) && o.callback.call(l) 3774 }, l.src = o.url) 3775 }) 3776 }, f.fn.zoom.defaults = h 3777 }(window.jQuery), 3778 function (x) { 3779 var n = !0; 3780 x.flexslider = function (m, t) { 3781 var f = x(m); 3782 f.vars = x.extend({}, x.flexslider.defaults, t); 3783 var e, c = f.vars.namespace, 3784 h = window.navigator && window.navigator.msPointerEnabled && window.MSGesture, 3785 d = ("ontouchstart" in window || h || window.DocumentTouch && document instanceof DocumentTouch) && f.vars.touch, 3786 r = "click touchend MSPointerUp keyup", 3787 s = "", 3788 v = "vertical" === f.vars.direction, 3789 g = f.vars.reverse, 3790 y = 0 < f.vars.itemWidth, 3791 w = "fade" === f.vars.animation, 3792 p = "" !== f.vars.asNavFor, 3793 b = {}; 3794 x.data(m, "flexslider", f), b = { 3795 init: function () { 3796 f.animating = !1, f.currentSlide = parseInt(f.vars.startAt ? f.vars.startAt : 0, 10), isNaN(f.currentSlide) && (f.currentSlide = 0), f.animatingTo = f.currentSlide, f.atEnd = 0 === f.currentSlide || f.currentSlide === f.last, f.containerSelector = f.vars.selector.substr(0, f.vars.selector.search(" ")), f.slides = x(f.vars.selector, f), f.container = x(f.containerSelector, f), f.count = f.slides.length, f.syncExists = 0 < x(f.vars.sync).length, "slide" === f.vars.animation && (f.vars.animation = "swing"), f.prop = v ? "top" : "marginLeft", f.args = {}, f.manualPause = !1, f.stopped = !1, f.started = !1, f.startTimeout = null, f.transitions = !f.vars.video && !w && f.vars.useCSS && function () { 3797 var t = document.createElement("div"), 3798 e = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"]; 3799 for (var n in e) 3800 if (void 0 !== t.style[e[n]]) return f.pfx = e[n].replace("Perspective", "").toLowerCase(), f.prop = "-" + f.pfx + "-transform", !0; 3801 return !1 3802 }(), (f.ensureAnimationEnd = "") !== f.vars.controlsContainer && (f.controlsContainer = 0 < x(f.vars.controlsContainer).length && x(f.vars.controlsContainer)), "" !== f.vars.manualControls && (f.manualControls = 0 < x(f.vars.manualControls).length && x(f.vars.manualControls)), "" !== f.vars.customDirectionNav && (f.customDirectionNav = 2 === x(f.vars.customDirectionNav).length && x(f.vars.customDirectionNav)), f.vars.randomize && (f.slides.sort(function () { 3803 return Math.round(Math.random()) - .5 3804 }), f.container.empty().append(f.slides)), f.doMath(), f.setup("init"), f.vars.controlNav && b.controlNav.setup(), f.vars.directionNav && b.directionNav.setup(), f.vars.keyboard && (1 === x(f.containerSelector).length || f.vars.multipleKeyboard) && x(document).bind("keyup", function (t) {
3805 var e = t.keyCode; 3806 if (!f.animating && (39 === e || 37 === e)) { 3807 var n = 39 === e ? f.getTarget("next") : 37 === e && f.getTarget("prev"); 3808 f.flexAnimate(n, f.vars.pauseOnAction) 3809 } 3810 }), f.vars.mousewheel && f.bind("mousewheel", function (t, e, n, i) { 3811 t.preventDefault(); 3812 var o = e < 0 ? f.getTarget("next") : f.getTarget("prev"); 3813 f.flexAnimate(o, f.vars.pauseOnAction) 3814 }), f.vars.pausePlay && b.pausePlay.setup(), f.vars.slideshow && f.vars.pauseInvisible && b.pauseInvisible.init(), f.vars.slideshow && (f.vars.pauseOnHover && f.hover(function () { 3815 f.manualPlay || f.manualPause || f.pause() 3816 }, function () { 3817 f.manualPause || f.manualPlay || f.stopped || f.play() 3818 }), f.vars.pauseInvisible && b.pauseInvisible.isHidden() || (0 < f.vars.initDelay ? f.startTimeout = setTimeout(f.play, f.vars.initDelay) : f.play())), p && b.asNav.setup(), d && f.vars.touch && b.touch(), (!w || w && f.vars.smoothHeight) && x(window).bind("resize orientationchange focus", b.resize), f.find("img").attr("draggable", "false"), setTimeout(function () { 3819 f.vars.start(f) 3820 }, 200) 3821 }, 3822 asNav: { 3823 setup: function () { 3824 f.asNav = !0, f.animatingTo = Math.floor(f.currentSlide / f.move), f.currentItem = f.currentSlide, f.slides.removeClass(c + "active-slide").eq(f.currentItem).addClass(c + "active-slide"), h ? (m._slider = f).slides.each(function () { 3825 var t = this; 3826 t._gesture = new MSGesture, (t._gesture.target = t).addEventListener("MSPointerDown", function (t) { 3827 t.preventDefault(), t.currentTarget._gesture && t.currentTarget._gesture.addPointer(t.pointerId) 3828 }, !1), t.addEventListener("MSGestureTap", function (t) { 3829 t.preventDefault(); 3830 var e = x(this), 3831 n = e.index(); 3832 x(f.vars.asNavFor).data("flexslider").animating || e.hasClass("active") || (f.direction = f.currentItem < n ? "next" : "prev", f.flexAnimate(n, f.vars.pauseOnAction, !1, !0, !0)) 3833 }) 3834 }) : f.slides.on(r, function (t) { 3835 t.preventDefault(); 3836 var e = x(this), 3837 n = e.index(); 3838 e.offset().left - x(f).scrollLeft() <= 0 && e.hasClass(c + "active-slide") ? f.flexAnimate(f.getTarget("prev"), !0) : x(f.vars.asNavFor).data("flexslider").animating || e.hasClass(c + "active-slide") || (f.direction = f.currentItem < n ? "next" : "prev", f.flexAnimate(n, f.vars.pauseOnAction, !1, !0, !0)) 3839 }) 3840 } 3841 }, 3842 controlNav: { 3843 setup: function () { 3844 f.manualControls ? b.controlNav.setupManual() : b.controlNav.setupPaging() 3845 }, 3846 setupPaging: function () { 3847 var t, e, n = "thumbnails" === f.vars.controlNav ? "control-thumbs" : "control-paging", 3848 i = 1; 3849 if (f.controlNavScaffold = x('<ol class="' + c + "control-nav " + c + n + '"></ol>'), 1 < f.pagingCount) 3850 for (var o = 0; o < f.pagingCount; o++) { 3851 if (void 0 === (e = f.slides.eq(o)).attr("data-thumb-alt") && e.attr("data-thumb-alt", ""), altText = "" !== e.attr("data-thumb-alt") ? altText = ' alt="' + e.attr("data-thumb-alt") + '"' : "", t = "thumbnails" === f.vars.controlNav ? '<img src="' + e.attr("data-thumb") + '"' + altText + "/>" : '<a href="#">' + i + "</a>", "thumbnails" === f.vars.controlNav && !0 === f.vars.thumbCaptions) { 3852 var a = e.attr("data-thumbcaption"); 3853 "" !== a && void 0 !== a && (t += '<span class="' + c + 'caption">' + a + "</span>") 3854 } 3855 f.controlNavScaffold.append("<li>" + t + "</li>"), i++ 3856 } 3857 f.controlsContainer ? x(f.controlsContainer).append(f.controlNavScaffold) : f.append(f.controlNavScaffold), b.controlNav.set(), b.controlNav.active(), f.controlNavScaffold.delegate("a, img", r, function (t) { 3858 if (t.preventDefault(), "" === s || s === t.type) { 3859 var e = x(this), 3860 n = f.controlNav.index(e); 3861 e.hasClass(c + "active") || (f.direction = n > f.currentSlide ? "next" : "prev", f.flexAnimate(n, f.vars.pauseOnAction)) 3862 } 3863 "" === s && (s = t.type), b.setToClearWatchedEvent() 3864 }) 3865 }, 3866 setupManual: function () { 3867 f.controlNav = f.manualControls, b.controlNav.active(), f.controlNav.bind(r, function (t) { 3868 if (t.preventDefault(), "" === s || s === t.type) { 3869 var e = x(this), 3870 n = f.controlNav.index(e); 3871 e.hasClass(c + "active") || (n > f.currentSlide ? f.direction = "next" : f.direction = "prev", f.flexAnimate(n, f.vars.pauseOnAction)) 3872 } 3873 "" === s && (s = t.type), b.setToClearWatchedEvent() 3874 }) 3875 }, 3876 set: function () { 3877 var t = "thumbnails" === f.vars.controlNav ? "img" : "a"; 3878 f.controlNav = x("." + c + "control-nav li " + t, f.controlsContainer ? f.controlsContainer : f) 3879 }, 3880 active: function () { 3881 f.controlNav.removeClass(c + "active").eq(f.animatingTo).addClass(c + "active") 3882 }, 3883 update: function (t, e) { 3884 1 < f.pagingCount && "add" === t ? f.controlNavScaffold.append(x('<li><a href="#">
3884' + f.count + "</a></li>")) : 1 === f.pagingCount ? f.controlNavScaffold.find("li").remove() : f.controlNav.eq(e).closest("li").remove(), b.controlNav.set(), 1 < f.pagingCount && f.pagingCount !== f.controlNav.length ? f.update(e, t) : b.controlNav.active() 3885 } 3886 }, 3887 directionNav: { 3888 setup: function () { 3889 var t = x('<ul class="' + c + 'direction-nav"><li class="' + c + 'nav-prev"><a class="' + c + 'prev" href="#">' + f.vars.prevText + '</a></li><li class="' + c + 'nav-next"><a class="' + c + 'next" href="#">' + f.vars.nextText + "</a></li></ul>"); 3890 f.customDirectionNav ? f.directionNav = f.customDirectionNav : f.controlsContainer ? (x(f.controlsContainer).append(t), f.directionNav = x("." + c + "direction-nav li a", f.controlsContainer)) : (f.append(t), f.directionNav = x("." + c + "direction-nav li a", f)), b.directionNav.update(), f.directionNav.bind(r, function (t) { 3891 var e; 3892 t.preventDefault(), "" !== s && s !== t.type || (e = x(this).hasClass(c + "next") ? f.getTarget("next") : f.getTarget("prev"), f.flexAnimate(e, f.vars.pauseOnAction)), "" === s && (s = t.type), b.setToClearWatchedEvent() 3893 }) 3894 }, 3895 update: function () { 3896 var t = c + "disabled"; 3897 1 === f.pagingCount ? f.directionNav.addClass(t).attr("tabindex", "-1") : f.vars.animationLoop ? f.directionNav.removeClass(t).removeAttr("tabindex") : 0 === f.animatingTo ? f.directionNav.removeClass(t).filter("." + c + "prev").addClass(t).attr("tabindex", "-1") : f.animatingTo === f.last ? f.directionNav.removeClass(t).filter("." + c + "next").addClass(t).attr("tabindex", "-1") : f.directionNav.removeClass(t).removeAttr("tabindex") 3898 } 3899 }, 3900 pausePlay: { 3901 setup: function () { 3902 var t = x('<div class="' + c + 'pauseplay"><a href="#"></a></div>'); 3903 f.controlsContainer ? (f.controlsContainer.append(t), f.pausePlay = x("." + c + "pauseplay a", f.controlsContainer)) : (f.append(t), f.pausePlay = x("." + c + "pauseplay a", f)), b.pausePlay.update(f.vars.slideshow ? c + "pause" : c + "play"), f.pausePlay.bind(r, function (t) { 3904 t.preventDefault(), "" !== s && s !== t.type || (x(this).hasClass(c + "pause") ? (f.manualPause = !0, f.manualPlay = !1, f.pause()) : (f.manualPause = !1, f.manualPlay = !0, f.play())), "" === s && (s = t.type), b.setToClearWatchedEvent() 3905 }) 3906 }, 3907 update: function (t) { 3908 "play" === t ? f.pausePlay.removeClass(c + "pause").addClass(c + "play").html(f.vars.playText) : f.pausePlay.removeClass(c + "play").addClass(c + "pause").html(f.vars.pauseText) 3909 } 3910 }, 3911 touch: function () { 3912 var o, a, r, s, l, u, t, i, c, d = !1, 3913 e = 0, 3914 n = 0, 3915 p = 0; 3916 if (h) { 3917 m.style.msTouchAction = "none", m._gesture = new MSGesture, (m._gesture.target = m).addEventListener("MSPointerDown", function (t) { 3918 t.stopPropagation(), f.animating ? t.preventDefault() : (f.pause(), m._gesture.addPointer(t.pointerId), p = 0, s = v ? f.h : f.w, u = Number(new Date), r = y && g && f.animatingTo === f.last ? 0 : y && g ? f.limit - (f.itemW + f.vars.itemMargin) * f.move * f.animatingTo : y && f.currentSlide === f.last ? f.limit : y ? (f.itemW + f.vars.itemMargin) * f.move * f.currentSlide : g ? (f.last - f.currentSlide + f.cloneOffset) * s : (f.currentSlide + f.cloneOffset) * s) 3919 }, !1), m._slider = f, m.addEventListener("MSGestureChange", function (t) { 3920 t.stopPropagation(); 3921 var e = t.target._slider; 3922 if (!e) return; 3923 var n = -t.translationX, 3924 i = -t.translationY; 3925 if (l = p += v ? i : n, d = v ? Math.abs(p) < Math.abs(-n) : Math.abs(p) < Math.abs(-i), t.detail === t.MSGESTURE_FLAG_INERTIA) return void setImmediate(function () { 3926 m._gesture.stop() 3927 }); 3928 (!d || 500 < Number(new Date) - u) && (t.preventDefault(), !w && e.transitions && (e.vars.animationLoop || (l = p / (0 === e.currentSlide && p < 0 || e.currentSlide === e.last && 0 < p ? Math.abs(p) / s + 2 : 1)), e.setProps(r + l, "setTouch"))) 3929 }, !1), m.addEventListener("MSGestureEnd", function (t) { 3930 t.stopPropagation(); 3931 var e = t.target._slider; 3932 if (!e) return; 3933 if (e.animatingTo === e.currentSlide && !d && null !== l) { 3934 var n = g ? -l : l, 3935 i = 0 < n ? e.getTarget("next") : e.getTarget("prev"); 3936 e.canAdvance(i) && (Number(new Date) - u < 550 && 50 < Math.abs(n) || Math.abs(n) > s / 2) ? e.flexAnimate(i, e.vars.pauseOnAction) : w || e.flexAnimate(e.currentSlide, e.vars.pauseOnAction, !0) 3937 } 3938 r = l = a = o = null, p = 0 3939 }, !1) 3940 } else t = function (t) { 3941 f.animating ? t.preventDefault() : !window.navigator.msPointerEnabled && 1 !== t.touches.length || (f.pause(), s = v ? f.h : f.w, u = Number(new Date), e = t.touches[0].pageX, n = t.touches[0].pageY, r = y && g && f.animatingTo === f.last ? 0 : y && g ? f.limit - (f.itemW + f.vars.itemMargin) * f.move * f.animatingTo : y && f.currentSlide === f.last ? f.limit : y ? (f.itemW + f.vars.itemMargin) * f.move * f.currentSlide : g ? (f.last - f.currentSlide + f.cloneOffset) * s : (f.currentSlide + f.cloneOffset) * s, o = v ? n : e, a = v ? e : n, m.addEventListener("touchmove", i, !1), m.addEventListener("touchend", c, !1)) 3942 }, i = function (t) { 3943 e = t.touches[0].pageX, n = t.touches[0].pageY, l = v ? o - n : o - e; 3944 (!(d = v ? Math.abs(l) < Math.abs(e - a) : Math.abs(l) < Math.abs(n - a)) || 500 < Number(new Date) - u) && (t.preventDefault(), !w && f.transitions && (f.vars.animationLoop || (l /= 0 === f.currentSlide && l < 0 || f.currentSlide === f.last && 0 < l ? Math.abs(l) / s + 2 : 1), f.setProps(r + l, "setTouch"))) 3945 }, c = function (t) { 3946 if (m.removeEventListener("touchmove", i, !1), f.animatingTo === f.currentSlide && !d && null !== l) { 3947 var e = g ? -l : l, 3948 n = 0 < e ? f.getTarget("next") : f.getTarget("prev"); 3949 f.canAdvance(n) && (Number(new Date) - u < 550 && 50 < Math.abs(e) || Math.abs(e) > s / 2) ? f.flexAnimate(n, f.vars.pauseOnAction) : w || f.flexAnimate(f.currentSlide, f.vars.pauseOnAction, !0) 3950 } 3951 m.removeEventListener("touchend", c, !1), r = l = a = o = null 3952 }, m.addEventListener("touchstart", t, !1) 3953 }, 3954 resize: function () { 3955 !f.animating && f.is(":visible") && (y || f.doMath(), w ? b.smoothHeight() : y ? (f.
vendor: 10,642 bytes, lines 3955-4131
3955slides.width(f.computedW), f.update(f.pagingCount), f.setProps()) : v ? (f.viewport.height(f.h), f.setProps(f.h, "setTotal")) : (f.vars.smoothHeight && b.smoothHeight(), f.newSlides.width(f.computedW), f.setProps(f.computedW, "setTotal"))) 3956 }, 3957 smoothHeight: function (t) { 3958 if (!v || w) { 3959 var e = w ? f : f.viewport; 3960 t ? e.animate({ 3961 height: f.slides.eq(f.animatingTo).height() 3962 }, t) : e.height(f.slides.eq(f.animatingTo).height()) 3963 } 3964 }, 3965 sync: function (t) { 3966 var e = x(f.vars.sync).data("flexslider"), 3967 n = f.animatingTo; 3968 switch (t) { 3969 case "animate": 3970 e.flexAnimate(n, f.vars.pauseOnAction, !1, !0); 3971 break; 3972 case "play": 3973 e.playing || e.asNav || e.play(); 3974 break; 3975 case "pause": 3976 e.pause() 3977 } 3978 }, 3979 uniqueID: function (t) { 3980 return t.filter("[id]").add(t.find("[id]")).each(function () { 3981 var t = x(this); 3982 t.attr("id", t.attr("id") + "_clone") 3983 }), t 3984 }, 3985 pauseInvisible: { 3986 visProp: null, 3987 init: function () { 3988 var t = b.pauseInvisible.getHiddenProp(); 3989 if (t) { 3990 var e = t.replace(/[H|h]idden/, "") + "visibilitychange"; 3991 document.addEventListener(e, function () { 3992 b.pauseInvisible.isHidden() ? f.startTimeout ? clearTimeout(f.startTimeout) : f.pause() : f.started ? f.play() : 0 < f.vars.initDelay ? setTimeout(f.play, f.vars.initDelay) : f.play() 3993 }) 3994 } 3995 }, 3996 isHidden: function () { 3997 var t = b.pauseInvisible.getHiddenProp(); 3998 return !!t && document[t] 3999 }, 4000 getHiddenProp: function () { 4001 var t = ["webkit", "moz", "ms", "o"]; 4002 if ("hidden" in document) return "hidden"; 4003 for (var e = 0; e < t.length; e++) 4004 if (t[e] + "Hidden" in document) return t[e] + "Hidden"; 4005 return null 4006 } 4007 }, 4008 setToClearWatchedEvent: function () { 4009 clearTimeout(e), e = setTimeout(function () { 4010 s = "" 4011 }, 3e3) 4012 } 4013 }, f.flexAnimate = function (t, e, n, i, o) { 4014 if (f.vars.animationLoop || t === f.currentSlide || (f.direction = t > f.currentSlide ? "next" : "prev"), p && 1 === f.pagingCount && (f.direction = f.currentItem < t ? "next" : "prev"), !f.animating && (f.canAdvance(t, o) || n) && f.is(":visible")) { 4015 if (p && i) { 4016 var a = x(f.vars.asNavFor).data("flexslider"); 4017 if (f.atEnd = 0 === t || t === f.count - 1, a.flexAnimate(t, !0, !1, !0, o), f.direction = f.currentItem < t ? "next" : "prev", a.direction = f.direction, Math.ceil((t + 1) / f.visible) - 1 === f.currentSlide || 0 === t) return f.currentItem = t, f.slides.removeClass(c + "active-slide").eq(t).addClass(c + "active-slide"), !1; 4018 f.currentItem = t, f.slides.removeClass(c + "active-slide").eq(t).addClass(c + "active-slide"), t = Math.floor(t / f.visible) 4019 } 4020 if (f.animating = !0, f.animatingTo = t, e && f.pause(), f.vars.before(f), f.syncExists && !o && b.sync("animate"), f.vars.controlNav && b.controlNav.active(), y || f.slides.removeClass(c + "active-slide").eq(t).addClass(c + "active-slide"), f.atEnd = 0 === t || t === f.last, f.vars.directionNav && b.directionNav.update(), t === f.last && (f.vars.end(f), f.vars.animationLoop || f.pause()), w) d ? (f.slides.eq(f.currentSlide).css({ 4021 opacity: 0, 4022 zIndex: 1 4023 }), f.slides.eq(t).css({ 4024 opacity: 1, 4025 zIndex: 2 4026 }), f.wrapup(u)) : (f.slides.eq(f.currentSlide).css({ 4027 zIndex: 1 4028 }).animate({ 4029 opacity: 0 4030 }, f.vars.animationSpeed, f.vars.easing), f.slides.eq(t).css({ 4031 zIndex: 2 4032 }).animate({ 4033 opacity: 1 4034 }, f.vars.animationSpeed, f.vars.easing, f.wrapup)); 4035 else { 4036 var r, s, l, u = v ? f.slides.filter(":first").height() : f.computedW; 4037 s = y ? (r = f.vars.itemMargin, (l = (f.itemW + r) * f.move * f.animatingTo) > f.limit && 1 !== f.visible ? f.limit : l) : 0 === f.currentSlide && t === f.count - 1 && f.vars.animationLoop && "next" !== f.direction ? g ? (f.count + f.cloneOffset) * u : 0 : f.currentSlide === f.last && 0 === t && f.vars.animationLoop && "prev" !== f.direction ? g ? 0 : (f.count + 1) * u : g ? (f.count - 1 - t + f.cloneOffset) * u : (t + f.cloneOffset) * u, f.setProps(s, "", f.vars.animationSpeed), f.transitions ? (f.vars.animationLoop && f.atEnd || (f.animating = !1, f.currentSlide = f.animatingTo), f.container.unbind("webkitTransitionEnd transitionend"), f.container.bind("webkitTransitionEnd transitionend", function () { 4038 clearTimeout(f.ensureAnimationEnd), f.wrapup(u) 4039 }), clearTimeout(f.ensureAnimationEnd), f.ensureAnimationEnd = setTimeout(function () { 4040 f.wrapup(u) 4041 }, f.vars.animationSpeed + 100)) : f.container.animate(f.args, f.vars.animationSpeed, f.vars.easing, function () { 4042 f.wrapup(u) 4043 }) 4044 } 4045 f.vars.smoothHeight && b.smoothHeight(f.vars.animationSpeed) 4046 } 4047 }, f.wrapup = function (t) { 4048 w || y || (0 === f.currentSlide && f.animatingTo === f.last && f.vars.animationLoop ? f.setProps(t, "jumpEnd") : f.currentSlide === f.last && 0 === f.animatingTo && f.vars.animationLoop && f.setProps(t, "jumpStart")), f.animating = !1, f.currentSlide = f.animatingTo, f.vars.after(f) 4049 }, f.animateSlides = function () { 4050 !f.animating && n && f.flexAnimate(f.getTarget("next")) 4051 }, f.pause = function () { 4052 clearInterval(f.animatedSlides), f.animatedSlides = null, f.playing = !1, f.vars.pausePlay && b.pausePlay.update("play"), f.syncExists && b.sync("pause") 4053 }, f.play = function () { 4054 f.playing && clearInterval(f.animatedSlides), f.animatedSlides = f.animatedSlides || setInterval(f.animateSlides, f.vars.slideshowSpeed), f.started = f.playing = !0, f.vars.pausePlay && b.pausePlay.update("pause"), f.syncExists && b.sync("play") 4055 }, f.stop = function () { 4056 f.pause(), f.stopped = !0 4057 }, f.canAdvance = function (t, e) { 4058 var n = p ? f.pagingCount - 1 : f.last; 4059 return !!e || (p && f.currentItem === f.count - 1 && 0 === t && "prev" === f.direction || (!p || 0 !== f.currentItem || t !== f.pagingCount - 1 || "next" === f.direction) && ((t !== f.currentSlide || p) && (!!f.vars.animationLoop || (!f.atEnd || 0 !== f.currentSlide || t !== n || "next" === f.direction) && (!f.atEnd || f.currentSlide !== n || 0 !== t || "next" !== f.direction)))) 4060 }, f.getTarget = function (t) { 4061 return "next" === (f.direction = t) ? f.currentSlide === f.last ? 0 : f.currentSlide + 1 : 0 === f.currentSlide ? f.last : f.currentSlide - 1 4062 }, f.setProps = function (t, e, n) { 4063 var i, o = (i = t || (f.itemW + f.vars.itemMargin) * f.move * f.animatingTo, -1 * function () { 4064 if (y) return "setTouch" === e ? t : g && f.animatingTo === f.last ? 0 : g ? f.limit - (f.itemW + f.vars.itemMargin) * f.move * f.animatingTo : f.animatingTo === f.last ? f.limit : i; 4065 switch (e) { 4066 case "setTotal": 4067 return g ? (f.count - 1 - f.currentSlide + f.cloneOffset) * t : (f.currentSlide + f.cloneOffset) * t; 4068 case "setTouch": 4069 return t; 4070 case "jumpEnd": 4071 return g ? t : f.count * t; 4072 case "jumpStart": 4073 return g ? f.count * t : t; 4074 default: 4075 return t 4076 } 4077 }() + "px"); 4078 f.transitions && (o = v ? "translate3d(0," + o + ",0)" : "translate3d(" + o + ",0,0)", n = void 0 !== n ? n / 1e3 + "s" : "0s", f.container.css("-" + f.pfx + "-transition-duration", n), f.container.css("transition-duration", n)), f.args[f.prop] = o, !f.transitions && void 0 !== n || f.container.css(f.args), f.container.css("transform", o) 4079 }, f.setup = function (t) { 4080 var e, n; 4081 w ? (f.slides.css({ 4082 width: "100%", 4083 float: "left", 4084 marginRight: "-100%", 4085 position: "relative" 4086 }), "init" === t && (d ? f.slides.css({ 4087 opacity: 0, 4088 display: "block", 4089 webkitTransition: "opacity " + f.vars.animationSpeed / 1e3 + "s ease", 4090 zIndex: 1 4091 }).eq(f.currentSlide).css({ 4092 opacity: 1, 4093 zIndex: 2 4094 }) : 0 == f.vars.fadeFirstSlide ? f.slides.css({ 4095 opacity: 0, 4096 display: "block", 4097 zIndex: 1 4098 }).eq(f.currentSlide).css({ 4099 zIndex: 2 4100 }).css({ 4101 opacity: 1 4102 }) : f.slides.css({ 4103 opacity: 0, 4104 display: "block", 4105 zIndex: 1 4106 }).eq(f.currentSlide).css({ 4107 zIndex: 2 4108 }).animate({ 4109 opacity: 1 4110 }, f.vars.animationSpeed, f.vars.easing)), f.vars.smoothHeight && b.smoothHeight()) : ("init" === t && (f.viewport = x('<div class="' + c + 'viewport"></div>').css({ 4111 overflow: "hidden", 4112 position: "relative" 4113 }).appendTo(f).append(f.container), f.cloneCount = 0, f.cloneOffset = 0, g && (n = x.makeArray(f.slides).reverse(), f.slides = x(n), f.container.empty().append(f.slides))), f.vars.animationLoop && !y && (f.cloneCount = 2, f.cloneOffset = 1, "init" !== t && f.container.find(".clone").remove(), f.container.append(b.uniqueID(f.slides.first().clone().addClass("clone")).attr("aria-hidden", "true")).prepend(b.uniqueID(f.slides.last().clone().addClass("clone")).attr("aria-hidden", "true"))), f.newSlides = x(f.vars.selector, f), e = g ? f.count - 1 - f.currentSlide + f.cloneOffset : f.currentSlide + f.cloneOffset, v && !y ? (f.container.height(200 * (f.count + f.cloneCount) + "%").css("position", "absolute").width("100%"), setTimeout(function () { 4114 f.newSlides.css({ 4115 display: "block" 4116 }), f.doMath(), f.viewport.height(f.h), f.setProps(e * f.h, "init") 4117 }, "init" === t ? 100 : 0)) : (f.container.width(200 * (f.count + f.cloneCount) + "%"), f.setProps(e * f.computedW, "init"), setTimeout(function () { 4118 f.doMath(), f.newSlides.css({ 4119 width: f.computedW, 4120 marginRight: f.computedM, 4121 float: "left", 4122 display: "block" 4123 }), f.vars.smoothHeight && b.smoothHeight() 4124 }, "init" === t ? 100 : 0))); 4125 y || f.slides.removeClass(c + "active-slide").eq(f.currentSlide).addClass(c + "active-slide"), f.vars.init(f) 4126 }, f.doMath = function () { 4127 var t = f.slides.first(), 4128 e = f.vars.itemMargin, 4129 n = f.vars.minItems, 4130 i = f.vars.maxItems; 4131 f.w = void 0 === f.viewport ? f.width() : f.viewport.width(), f.h = t.height(), f.boxPadding = t.outerWidth() - t.width(), y ? (f.itemT = f.vars.itemWidth + e, f.itemM = e, f.minW = n ? n * f.itemT : f.w, f.maxW = i ? i * f.itemT - e : f.w, f.itemW = f.minW > f.w ? (f.w - e * (n - 1)) / n : f.maxW < f.w ? (f.w - e * (i - 1)) / i : f.vars.itemWidth > f.w ? f.w : f.vars.itemWidth, f.visible = Math.floor(f.w / f.itemW), f.move = 0 < f.vars.move && f.vars.move < f.visible ? f.vars.move : f.visible, f.pagingCount = Math.
4131ceil((f.count - f.visible) / f.move + 1), f.last = f.pagingCount - 1, f.limit = 1 === f.pagingCount ? 0 : f.vars.itemWidth > f.w ? f.itemW * (f.count - 1) + e * (f.count - 1) : (f.itemW + e) * f.count - f.w - e) : (f.itemW = f.w, f.itemM = e, f.pagingCount = f.count, f.last = f.count - 1), f.computedW = f.itemW - f.boxPadding, f.computedM = f.itemM 4132 }, f.update = function (t, e) { 4133 f.doMath(), y || (t < f.currentSlide ? f.currentSlide += 1 : t <= f.currentSlide && 0 !== t && (f.currentSlide -= 1), f.animatingTo = f.currentSlide), f.vars.controlNav && !f.manualControls && ("add" === e && !y || f.pagingCount > f.controlNav.length ? b.controlNav.update("add") : ("remove" === e && !y || f.pagingCount < f.controlNav.length) && (y && f.currentSlide > f.last && (f.currentSlide -= 1, f.animatingTo -= 1), b.controlNav.update("remove", f.last))), f.vars.directionNav && b.directionNav.update() 4134 }, f.addSlide = function (t, e) { 4135 var n = x(t); 4136 f.count += 1, f.last = f.count - 1, v && g ? void 0 !== e ? f.slides.eq(f.count - e).after(n) : f.container.prepend(n) : void 0 !== e ? f.slides.eq(e).before(n) : f.container.append(n), f.update(e, "add"), f.slides = x(f.vars.selector + ":not(.clone)", f), f.setup(), f.vars.added(f) 4137 }, f.removeSlide = function (t) { 4138 var e = isNaN(t) ? f.slides.index(x(t)) : t; 4139 f.count -= 1, f.last = f.count - 1, isNaN(t) ? x(t, f.slides).remove() : v && g ? f.slides.eq(f.last).remove() : f.slides.eq(t).remove(), f.doMath(), f.update(e, "remove"), f.slides = x(f.vars.selector + ":not(.clone)", f), f.setup(), f.vars.removed(f) 4140 }, b.init() 4141 }, x(window).blur(function (t) { 4142 n = !1 4143 }).focus(function (t) { 4144 n = !0 4145 }), x.flexslider.defaults = { 4146 namespace: "flex-", 4147 selector: ".slides > li", 4148 animation: "fade", 4149 easing: "swing", 4150 direction: "horizontal", 4151 reverse: !1, 4152 animationLoop: !0, 4153 smoothHeight: !1, 4154 startAt: 0, 4155 slideshow: !0, 4156 slideshowSpeed: 7e3, 4157 animationSpeed: 600, 4158 initDelay: 0, 4159 randomize: !1, 4160 fadeFirstSlide: !0, 4161 thumbCaptions: !1, 4162 pauseOnAction: !0, 4163 pauseOnHover: !1, 4164 pauseInvisible: !0, 4165 useCSS: !0, 4166 touch: !0, 4167 video: !1, 4168 controlNav: !0, 4169 directionNav: !0, 4170 prevText: "Previous", 4171 nextText: "Next", 4172 keyboard: !0, 4173 multipleKeyboard: !1, 4174 mousewheel: !1, 4175 pausePlay: !1, 4176 pauseText: "Pause", 4177 playText: "Play", 4178 controlsContainer: "", 4179 manualControls: "", 4180 customDirectionNav: "", 4181 sync: "", 4182 asNavFor: "", 4183 itemWidth: 0, 4184 itemMargin: 0, 4185 minItems: 1, 4186 maxItems: 0, 4187 move: 0, 4188 allowOneSlide: !0, 4189 start: function () {}, 4190 before: function () {}, 4191 after: function () {}, 4192 end: function () {}, 4193 added: function () {}, 4194 removed: function () {}, 4195 init: function () {} 4196 }, x.fn.flexslider = function (i) { 4197 if (void 0 === i && (i = {}), "object" == typeof i) return this.each(function () { 4198 var t = x(this), 4199 e = i.selector ? i.selector : ".slides > li", 4200 n = t.find(e); 4201 1 === n.length && !0 === i.allowOneSlide || 0 === n.length ? (n.fadeIn(400), i.start && i.start(t)) : void 0 === t.data("flexslider") && new x.flexslider(this, i) 4202 }); 4203 var t = x(this).data("flexslider"); 4204 switch (i) { 4205 case "play": 4206 t.play(); 4207 break; 4208 case "pause": 4209 t.pause(); 4210 break; 4211 case "stop": 4212 t.stop(); 4213 break; 4214 case "next": 4215 t.flexAnimate(t.getTarget("next"), !0); 4216 break; 4217 case "prev": 4218 case "previous": 4219 t.flexAnimate(t.getTarget("prev"), !0); 4220 break; 4221 default: 4222 "number" == typeof i && t.flexAnimate(i, !0) 4223 } 4224 } 4225 }(jQuery), "function" != typeof Object.create && (Object.create = function (t) { 4226 function e() {} 4227 return e.prototype = t, new e 4228 }), 4229 function (l, u, c) { 4230 var n = { 4231 init: function (t, e) { 4232 var n = this; 4233 n.$elem = l(e), n.options = l.extend({}, l.fn.owlCarousel.options, n.$elem.data(), t), n.userOptions = t, n.loadContent() 4234 }, 4235 loadContent: function () { 4236 var t, i = this; 4237 "function" == typeof i.options.beforeInit && i.options.beforeInit.apply(this, [i.$elem]), "string" == typeof i.options.jsonPath ? (t = i.options.jsonPath, l.getJSON(t, function (t) { 4238 var e, n = ""; 4239 if ("function" == typeof i.options.jsonSuccess) i.options.jsonSuccess.apply(this, [t]); 4240 else { 4241 for (e in t.owl) t.owl.hasOwnProperty(e) && (n += t.owl[e].item); 4242 i.$elem.html(n) 4243 } 4244 i.logIn() 4245 })) : i.logIn() 4246 }, 4247 logIn: function () { 4248 var t = this; 4249 t.$elem.data("owl-originalStyles", t.$elem.attr("style")), t.$elem.data("owl-originalClasses", t.$elem.attr("class")), t.$elem.css({ 4250 opacity: 0 4251 }), t.orignalItems = t.options.items, t.checkBrowser(), t.wrapperW
4251idth = 0, t.checkVisible = null, t.setVars() 4252 }, 4253 setVars: function () { 4254 var t = this; 4255 if (0 === t.$elem.children().length) return !1; 4256 t.baseClass(), t.eventTypes(), t.$userItems = t.$elem.children(), t.itemsAmount = t.$userItems.length, t.wrapItems(), t.$owlItems = t.$elem.find(".owl-item"), t.$owlWrapper = t.$elem.find(".owl-wrapper"), t.playDirection = "next", t.prevItem = 0, t.prevArr = [0], t.currentItem = 0, t.customEvents(), t.onStartup() 4257 }, 4258 onStartup: function () { 4259 var t = this; 4260 t.updateItems(), t.calculateAll(), t.buildControls(), t.updateControls(), t.response(), t.moveEvents(), t.stopOnHover(), t.owlStatus(), !1 !== t.options.transitionStyle && t.transitionTypes(t.options.transitionStyle), !0 === t.options.autoPlay && (t.options.autoPlay = 5e3), t.play(), t.$elem.find(".owl-wrapper").css("display", "block"), t.$elem.is(":visible") ? t.$elem.css("opacity", 1) : t.watchVisibility(), t.onstartup = !1, t.eachMoveUpdate(), "function" == typeof t.options.afterInit && t.options.afterInit.apply(this, [t.$elem]) 4261 }, 4262 eachMoveUpdate: function () { 4263 var t = this; 4264 !0 === t.options.lazyLoad && t.lazyLoad(), !0 === t.options.autoHeight && t.autoHeight(), t.onVisibleItems(), "function" == typeof t.options.afterAction && t.options.afterAction.apply(this, [t.$elem]) 4265 }, 4266 updateVars: function () { 4267 var t = this; 4268 "function" == typeof t.options.beforeUpdate && t.options.beforeUpdate.apply(this, [t.$elem]), t.watchVisibility(), t.updateItems(), t.calculateAll(), t.updatePosition(), t.updateControls(), t.eachMoveUpdate(), "function" == typeof t.options.afterUpdate && t.options.afterUpdate.apply(this, [t.$elem]) 4269 }, 4270 reload: function () { 4271 var t = this; 4272 u.setTimeout(function () { 4273 t.updateVars() 4274 }, 0) 4275 }, 4276 watchVisibility: function () { 4277 var t = this; 4278 if (!1 !== t.$elem.is(":visible")) return !1; 4279 t.$elem.css({ 4280 opacity: 0 4281 }), u.clearInterval(t.autoPlayInterval), u.clearInterval(t.checkVisible), t.checkVisible = u.setInterval(function () { 4282 t.$elem.is(":visible") && (t.reload(), t.$elem.animate({ 4283 opacity: 1 4284 }, 200), u.clearInterval(t.checkVisible)) 4285 }, 500) 4286 }, 4287 wrapItems: function () { 4288 var t = this; 4289 t.$userItems.wrapAll('<div class="owl-wrapper">').wrap('<div class="owl-item"></div>'), t.$elem.find(".owl-wrapper").wrap('<div class="owl-wrapper-outer">'), t.wrapperOuter = t.$elem.find(".owl-wrapper-outer"), t.$elem.css("display", "block") 4290 }, 4291 baseClass: function () { 4292 var t = this, 4293 e = t.$elem.hasClass(t.options.baseClass), 4294 n = t.$elem.hasClass(t.options.theme); 4295 e || t.$elem.addClass(t.options.baseClass), n || t.$elem.addClass(t.options.theme) 4296 }, 4297 updateItems: function () { 4298 var t, e, n = this; 4299 if (!1 === n.options.responsive) return !1; 4300 if (!0 === n.options.singleItem) return n.options.items = n.orignalItems = 1, n.options.itemsCustom = !1, n.options.itemsDesktop = !1, n.options.itemsDesktopSmall = !1, n.options.itemsTablet = !1, n.options.itemsTabletSmall = !1, n.options.itemsMobile = !1; 4301 if ((t = l(n.options.responsiveBaseWidth).width()) > (n.options.itemsDesktop[0] || n.orignalItems) && (n.options.items = n.orignalItems), !1 !== n.options.itemsCustom) 4302 for (n.options.itemsCustom.sort(function (t, e) { 4303 return t[0] - e[0] 4304 }), e = 0; e < n.options.itemsCustom.length; e += 1) n.options.itemsCustom[e][0] <= t && (n.options.items = n.options.itemsCustom[e][1]); 4305 else t <= n.options.itemsDesktop[0] && !1 !== n.options.itemsDesktop && (n.options.items = n.options.itemsDesktop[1]), t <= n.options.itemsDesktopSmall[0] && !1 !== n.options.itemsDesktopSmall && (n.options.items = n.options.itemsDesktopSmall[1]), t <= n.options.itemsTablet[0] && !1 !== n.options.itemsTablet && (n.options.items = n.options.itemsTablet[1]), t <= n.options.itemsTabletSmall[0] && !1 !== n.options.itemsTabletSmall && (n.options.items = n.options.itemsTabletSmall[1]), t <= n.options.itemsMobile[0] && !1 !== n.options.itemsMobile && (n.options.items = n.options.itemsMobile[1]); 4306 n.options.items > n.itemsAmount && !0 === n.options.itemsScaleUp && (n.options.items = n.itemsAmount) 4307 }, 4308 response: function () { 4309 var t, e, n = this; 4310 if (!0 !== n.options.responsive) return !1; 4311 e = l(u).width(), n.resizer = function () { 4312 l(u).width() !== e && (!1 !== n.options.autoPlay && u.clearInterval(n.autoPlayInterval), u.clearTimeout(t), t = u.setTimeout(function () {
4313 e = l(u).width(), n.updateVars() 4314 }, n.options.responsiveRefreshRate)) 4315 }, l(u).resize(n.resizer) 4316 }, 4317 updatePosition: function () { 4318 this.jumpTo(this.currentItem), !1 !== this.options.autoPlay && this.checkAp() 4319 }, 4320 appendItemsSizes: function () { 4321 var n = this, 4322 i = 0, 4323 o = n.itemsAmount - n.options.items; 4324 n.$owlItems.each(function (t) { 4325 var e = l(this); 4326 e.css({ 4327 width: n.itemWidth 4328 }).data("owl-item", Number(t)), t % n.options.items != 0 && t !== o || o < t || (i += 1), e.data("owl-roundPages", i) 4329 }) 4330 }, 4331 appendWrapperSizes: function () { 4332 var t = this.$owlItems.length * this.itemWidth; 4333 this.$owlWrapper.css({ 4334 width: 2 * t, 4335 left: 0 4336 }), this.appendItemsSizes() 4337 }, 4338 calculateAll: function () { 4339 this.calculateWidth(), this.appendWrapperSizes(), this.loops(), this.max() 4340 }, 4341 calculateWidth: function () { 4342 this.itemWidth = Math.round(this.$elem.width() / this.options.items) 4343 }, 4344 max: function () { 4345 var t = this, 4346 e = -1 * (t.itemsAmount * t.itemWidth - t.options.items * t.itemWidth); 4347 return t.options.items > t.itemsAmount ? (e = t.maximumItem = 0, t.maximumPixels = 0) : (t.maximumItem = t.itemsAmount - t.options.items, t.maximumPixels = e), e 4348 }, 4349 min: function () { 4350 return 0 4351 }, 4352 loops: function () { 4353 var t, e, n = this, 4354 i = 0, 4355 o = 0; 4356 for (n.positionsInArray = [0], n.pagesInArray = [], t = 0; t < n.itemsAmount; t += 1) o += n.itemWidth, n.positionsInArray.push(-o), !0 === n.options.scrollPerPage && (e = l(n.$owlItems[t]).data("owl-roundPages")) !== i && (n.pages
4356InArray[i] = n.positionsInArray[t], i = e) 4357 }, 4358 buildControls: function () { 4359 var t = this; 4360 !0 !== t.options.navigation && !0 !== t.options.pagination || (t.owlControls = l('<div class="owl-controls"/>').toggleClass("clickable", !t.browser.isTouch).appendTo(t.$elem)), !0 === t.options.pagination && t.buildPagination(), !0 === t.options.navigation && t.buildButtons() 4361 }, 4362 buildButtons: function () { 4363 var e = this, 4364 t = l('<div class="owl-buttons"/>'); 4365 e.owlControls.append(t), e.buttonPrev = l("<div/>", { 4366 class: "owl-prev", 4367 html: e.options.navigationText[0] || "" 4368 }), e.buttonNext = l("<div/>", { 4369 class: "owl-next", 4370 html: e.options.navigationText[1] || "" 4371 }), t.append(e.buttonPrev).append(e.buttonNext), t.on("touchstart.owlControls mousedown.owlControls", 'div[class^="owl"]', function (t) { 4372 t.preventDefault() 4373 }), t.on("touchend.owlControls mouseup.owlControls", 'div[class^="owl"]', function (t) { 4374 t.preventDefault(), l(this).hasClass("owl-next") ? e.next() : e.prev() 4375 }) 4376 }, 4377 buildPagination: function () { 4378 var e = this; 4379 e.paginationWrapper = l('<div class="owl-pagination"/>'), e.owlControls.append(e.paginationWrapper), e.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", function (t) { 4380 t.preventDefault(), Number(l(this).data("owl-page")) !== e.currentItem && e.goTo(Number(l(this).data("owl-page")), !0) 4381 }) 4382 }, 4383 updatePagination: function () { 4384 var t, e, n, i, o, a, r = this; 4385 if (!1 === r.options.pagination) return !1; 4386 for (r.paginationWrapper.html(""), t = 0, e = r.itemsAmount - r.itemsAmount % r.options.items, i = 0; i < r.itemsAmount; i += 1) i % r.options.items == 0 && (t += 1, e === i && (n = r.itemsAmount - r.options.items), o = l("<div/>", { 4387 class: "owl-page" 4388 }), a = l("<span></span>", { 4389 text: !0 === r.options.paginationNumbers ? t : "", 4390 class: !0 === r.options.paginationNumbers ? "owl-numbers" : "" 4391 }), o.append(a), o.data("owl-page", e === i ? n : i), o.data("owl-roundPages", t), r.paginationWrapper.append(o)); 4392 r.checkPagination() 4393 }, 4394 checkPagination: function () { 4395 var t = this; 4396 if (!1 === t.options.pagination) return !1; 4397 t.paginationWrapper.find(".owl-page").each(function () { 4398 l(this).data("owl-roundPages") === l(t.$owlItems[t.currentItem]).data("owl-roundPages") && (t.paginationWrapper.find(".owl-page").removeClass("active"), l(this).addClass("active")) 4399 }) 4400 }, 4401 checkNavigation: function () { 4402 var t = this; 4403 if (!1 === t.options.navigation) return !1; 4404 !1 === t.options.rewindNav && (0 === t.currentItem && 0 === t.maximumItem ? (t.buttonPrev.addClass("disabled"), t.buttonNext.addClass("disabled")) : 0 === t.currentItem && 0 !== t.maximumItem ? (t.buttonPrev.addClass("disabled"), t.buttonNext.removeClass("disabled")) : t.currentItem === t.maximumItem ? (t.buttonPrev.removeClass("disabled"), t.buttonNext.addClass("disabled")) : 0 !== t.currentItem && t.currentItem !== t.maximumItem && (t.buttonPrev.removeClass("disabled"), t.buttonNext.removeClass("disabled"))) 4405 }, 4406 updateControls: function () { 4407 var t = this; 4408 t.updatePagination(), t.checkNavigation(), t.owlControls && (t.options.items >= t.itemsAmount ? t.owlControls.hide() : t.owlControls.show()) 4409 }, 4410 destroyControls: function () { 4411 this.owlControls && this.owlControls.remove() 4412 }, 4413 next: function (t) { 4414 var e = this; 4415 if (e.isTransition) return !1; 4416 if (e.currentItem += !0 === e.options.scrollPerPage ? e.options.items : 1, e.currentItem > e.maximumItem + (!0 === e.options.scrollPerPage ? e.options.items - 1 : 0)) { 4417 if (!0 !== e.options.rewindNav) return e.currentItem = e.maximumItem, !1; 4418 e.currentItem = 0, t = "rewind" 4419 } 4420 e.goTo(e.currentItem, t) 4421 }, 4422 prev: function (t) { 4423 var e = this; 4424 if (e.isTransition) return !1; 4425 if (!0 === e.options.scrollPerPage && 0 < e.currentItem && e.currentItem < e.options.items ? e.currentItem = 0 : e.currentItem -= !0 === e.options.scrollPerPage ? e.options.items : 1, e.currentItem < 0) { 4426 if (!0 !== e.options.rewindNav) return e.currentItem = 0, !1; 4427 e.currentItem = e.maximumItem, t = "rewind" 4428 } 4429 e.goTo(e.currentItem, t) 4430 }, 4431 goTo: function (t, e, n) { 4432 var i, o = this; 4433 return !o.isTransition && ("function" == typeof o.options.beforeMove && o.options.beforeMove.apply(this, [o.$elem]), t >= o.maximumItem ? t = o.maximumItem : t <= 0 && (t = 0), o.currentItem = o.owl.currentItem = t, !1 !== o.options.transitionStyle && "drag" !== n && 1 === o.options.items && !0 === o.browser.support3d ? (o.swapSpeed(0), !0 === o.browser.support3d ? o.transition3d(o.positionsInArray[t]) : o.css2slide(o.positionsInArray[t], 1), o.afterGo(), o.singleItemTransition(), !1) : (i = o.positionsInArray[t], !0 === o.browser.support3d ? (!(o.isCss3Finish = !1) === e ? (o.swapSpeed("paginationSpeed"), u.setTimeout(function () { 4434 o.isCss3Finish = !0 4435 }, o.options.paginationSpeed)) : "rewind" === e ? (o.swapSpeed(o.options.rewindSpeed), u.setTimeout(function () { 4436 o.isCss3Finish = !0 4437 }, o.options.rewindSpeed)) : (o.swapSpeed("slideSpeed"), u.setTimeout(function () { 4438 o.isCss3Finish = !0 4439 }, o.options.slideSpeed)), o.transition3d(i)) : !0 === e ? o.css2slide(i, o.options.paginationSpeed) : "rewind" === e ? o.css2slide(i, o.options.rewindSpeed) : o.css2slide(i, o.options.slideSpeed), void o.afterGo())) 4440 }, 4441 jumpTo: function (t) { 4442 var e = this;
4443 "function" == typeof e.options.beforeMove && e.options.beforeMove.apply(this, [e.$elem]), t >= e.maximumItem || -1 === t ? t = e.maximumItem : t <= 0 && (t = 0), e.swapSpeed(0), !0 === e.browser.support3d ? e.transition3d(e.positionsInArray[t]) : e.css2slide(e.positionsInArray[t], 1), e.currentItem = e.owl.currentItem = t, e.afterGo() 4444 }, 4445 afterGo: function () { 4446 var t = this; 4447 t.prevArr.push(t.currentItem), t.prevItem = t.owl.prevItem = t.prevArr[t.prevArr.length - 2], t.prevArr.shift(0), t.prevItem !== t.currentItem && (t.checkPagination(), t.checkNavigation(), t.eachMoveUpdate(), !1 !== t.options.autoPlay && t.checkAp()), "function" == typeof t.options.afterMove && t.prevItem !== t.currentItem && t.options.afterMove.apply(this, [t.$elem]) 4448 }, 4449 stop: function () { 4450 this.apStatus = "stop", u.clearInterval(this.autoPlayInterval) 4451 }, 4452 checkAp: function () { 4453 "stop" !== this.apStatus && this.play() 4454 }, 4455 play: function () { 4456 var t = this; 4457 if (!(t.apStatus = "play") === t.options.autoPlay) return !1; 4458 u.clearInterval(t.autoPlayInterval), t.autoPlayInterval = u.setInterval(function () { 4459 t.next(!0) 4460 }, t.options.autoPlay) 4461 }, 4462 swapSpeed: function (t) { 4463 var e = this; 4464 "slideSpeed" === t ? e.$owlWrapper.css(e.addCssSpeed(e.options.slideSpeed)) : "paginationSpeed" === t ? e.$owlWrapper.css(e.addCssSpeed(e.options.paginationSpeed)) : "string" != typeof t && e.$owlWrapper.css(e.addCssSpeed(t)) 4465 }, 4466 addCssSpeed: function (t) { 4467 return { 4468 "-webkit-transition": "all " + t + "ms ease", 4469 "-moz-transition": "all " + t + "ms ease", 4470 "-o-transition": "all " + t + "ms ease", 4471 transition: "all " + t + "ms ease" 4472 } 4473 }, 4474 removeTransition: function () { 4475 return { 4476 "-webkit-transition": "", 4477 "-moz-transition": "", 4478 "-o-transition": "", 4479 transition: "" 4480 } 4481 }, 4482 doTranslate: function (t) { 4483 return { 4484 "-webkit-transform": "translate3d(" + t + "px, 0px, 0px)", 4485 "-moz-transform": "translate3d(" + t + "px, 0px, 0px)", 4486 "-o-transform": "translate3d(" + t + "px, 0px, 0px)", 4487 "-ms-transform": "translate3d(" + t + "px, 0px, 0px)", 4488 transform: "translate3d(" + t + "px, 0px,0px)" 4489 } 4490 }, 4491 transition3d: function (t) { 4492 this.$owlWrapper.css(this.doTranslate(t)) 4493 }, 4494 css2move: function (t) { 4495 this.$owlWrapper.css({ 4496 left: t 4497 }) 4498 }, 4499 css2slide: function (t, e) { 4500 var n = this; 4501 n.isCssFinish = !1, n.$owlWrapper.stop(!0, !0).animate({ 4502 left: t 4503 }, { 4504 duration: e || n.options.slideSpeed, 4505 complete: function () { 4506 n.isCssFinish = !0 4507 } 4508 }) 4509 }, 4510 checkBrowser: function () { 4511 var t, e, n, i, o = "translate3d(0px, 0px, 0px)", 4512 a = c.createElement("div"); 4513 a.style.cssText = " -moz-transform:" + o + "; -ms-transform:" + o + "; -o-transform:" + o + "; -webkit-transform:" + o + "; transform:" + o, t = /translate3d\(0px, 0px, 0px\)/g, n = null !== (e = a.style.cssText.match(t)) && 1 === e.length, i = "ontouchstart" in u || u.navigator.msMaxTouchPoints, this.browser = { 4514 support3d: n, 4515 isTouch: i 4516 } 4517 }, 4518 moveEvents: function () { 4519 !1 === this.options.mouseDrag && !1 === this.options.touchDrag || (this.gestures(), this.disabledEvents()) 4520 }, 4521 eventTypes: function () { 4522 var t = this, 4523 e = ["s", "e", "x"]; 4524 t.ev_types = {}, !0 === t.options.mouseDrag && !0 === t.options.touchDrag ? e = ["touchstart.owl mousedown.owl", "touchmove.owl mousemove.owl", "touchend.owl touchcancel.owl mouseup.owl"] : !1 === t.options.mouseDrag && !0 === t.options.touchDrag ? e = ["touchstart.owl", "touchmove.owl", "touchend.owl touchcancel.owl"] : !0 === t.options.mouseDrag && !1 === t.options.touchDrag && (e = ["mousedown.owl", "mousemove.owl", "mouseup.owl"]), t.ev_types.start = e[0], t.ev_types.move = e[1], t.ev_types.end = e[2] 4525 }, 4526 disabledEvents: function () { 4527 this.$elem.on("dragstart.owl", function (t) { 4528 t.preventDefault() 4529 }), this.$elem.on("mousedown.disableTextSelect", function (t) { 4530 return l(t.target).is("input, textarea, select, option") 4531 }) 4532 }, 4533 gestures: function () { 4534 var a = this, 4535 r = { 4536 offsetX: 0, 4537 offsetY: 0, 4538 baseElWidth: 0, 4539 relativePos: 0, 4540 position: null, 4541 minSwipe: null, 4542 maxSwipe: null, 4543 sliding: null, 4544 dargging: null, 4545 targetElement: null 4546 }; 4547 4548 function o(t) { 4549 if (void 0 !== t.touches) return { 4550 x: t.touches[0].pageX, 4551 y: t.touches[0].pageY 4552 }; 4553 if (void 0 === t.touches) { 4554 if (void 0 !== t.pageX) return { 4555 x: t.pageX, 4556 y: t.pageY 4557 }; 4558 if (void 0 === t.pageX) return { 4559 x: t.clientX, 4560 y: t.clientY 4561 } 4562 } 4563 } 4564 4565 function s(t) { 4566 "on" === t ? (l(c).on(a.ev_types.move, e), l(c).on(a.ev_types.end, n)) : "off" === t && (l(c).off(a.ev_types.move), l(c).off(a.ev_types.end)) 4567 } 4568 4569 function e(t) { 4570 var e, n, i = t.originalEvent || t || u.event; 4571 a.newPosX = o(i).x - r.offsetX, a.newPosY = o(i).y - r.offsetY, a.newRelativeX = a.newPosX - r.relativePos, "function" == typeof a.options.startDragging && !0 !== r.dragging && 0 !== a.newRelativeX && (r.dragging = !0, a.options.startDragging.apply(a, [a.$elem])), (8 < a.newRelativeX || a.newRelativeX < -8) && !0 === a.browser.isTouch && (void 0 !== i.preventDefault ? i.preventDefault() : i.returnValue = !1, r.sliding = !0), (10 < a.newPosY || a.newPosY < -10) && !1 === r.sliding && l(c).off("touchmove.owl"), e = function () { 4572 return a.newRelativeX / 5 4573 }, n = function () { 4574 return a.maximumPixels + a.newRelativeX / 5 4575 }, a.newPosX = Math.max(Math.min(a.newPosX, e()), n()), !0 === a.browser.support3d ? a.transition3d(a.newPosX) : a.css2move(a.newPosX) 4576 } 4577 4578 function n(t) { 4579 var e, n, i, o = t.originalEvent || t || u.event; 4580 o.target = o.target || o.srcElement, !(r.dragging = !1) !== a.browser.isTouch && a.$owlWrapper.removeClass("grabbing"), a.newRelativeX < 0 ? a.dragDirection = a.owl.dragDirection = "left" : a.dragDirection = a.owl.dragDirection = "right", 0 !== a.newRelativeX && (e = a.getNewPosition(), a.goTo(e, !1, "drag"), r.targetElement === o.target && !0 !== a.browser.isTouch && (l(o.target).on("click.disable", function (t) { 4581 t.stopImmediatePropagation(), t.stopPropagation(), t.preventDefault(), l(t.target).off("click.disable") 4582 }), i = (n = l._data(o.target, "events").click).pop(), n.splice(0, 0, i))), s("off") 4583 } 4584 a.isCssFinish = !0, a.$elem.on(a.ev_types.start, ".owl-wrapper", function (t) { 4585 var e, n = t.originalEvent || t || u.event; 4586 if (3 === n.which) return !1; 4587 if (!(a.itemsAmount <= a.options.items)) { 4588 if (!1 === a.isCssFinish && !a.options.dragBeforeAnimFinish) return !1; 4589 if (!1 === a.isCss3Finish && !a.options.dragBeforeAnimFinish) return !1; 4590 !1 !== a.options.autoPlay && u.clearInterval(a.autoPlayInterval), !0 === a.browser.isTouch || a.$owlWrapper.hasClass("grabbing") || a.$owlWrapper.addClass("grabbing"), a.newPosX = 0, a.newRelativeX = 0, l(this).css(a.removeTransition()), e = l(this).position(), r.relativePos = e.left, r.offsetX = o(n).x - e.left, r.offsetY = o(n).y - e.top, s("on"), r.sliding = !1, r.targetElement = n.target || n.srcElement 4591 } 4592 }) 4593 }, 4594 getNewPosition: function () { 4595 var t = this, 4596 e = t.closestItem(); 4597 return e > t.maximumItem ? (t.currentItem = t.maximumItem, e = t.maximumItem) : 0 <= t.newPosX && (e = 0, t.currentItem = 0), e 4598 }, 4599 closestItem: function () { 4600 var n = this, 4601 i = !0 === n.options.scrollPerPage ? n.pagesInArray : n.positionsInArray, 4602 o = n.newPosX, 4603 a = null; 4604 return l.each(i, function (t, e) { 4605 o - n.itemWidth / 20 > i[t + 1] && o - n.itemWidth / 20 < e && "left" === n.moveDirection() ? (
4605a = e, !0 === n.options.scrollPerPage ? n.currentItem = l.inArray(a, n.positionsInArray) : n.currentItem = t) : o + n.itemWidth / 20 < e && o + n.itemWidth / 20 > (i[t + 1] || i[t] - n.itemWidth) && "right" === n.moveDirection() && (!0 === n.options.scrollPerPage ? (a = i[t + 1] || i[i.length - 1], n.currentItem = l.inArray(a, n.positionsInArray)) : (a = i[t + 1], n.currentItem = t + 1)) 4606 }), n.currentItem 4607 }, 4608 moveDirection: function () { 4609 var t; 4610 return this.newRelativeX < 0 ? (t = "right", this.playDirection = "next") : (t = "left", this.playDirection = "prev"), t 4611 }, 4612 customEvents: function () { 4613 var n = this; 4614 n.$elem.on("owl.next", function () { 4615 n.next() 4616 }), n.$elem.on("owl.prev", function () { 4617 n.prev() 4618 }), n.$elem.on("owl.play", function (t, e) { 4619 n.options.autoPlay = e, n.play(), n.hoverStatus = "play" 4620 }), n.$elem.on("owl.stop", function () { 4621 n.stop(), n.hoverStatus = "stop" 4622 }), n.$elem.on("owl.goTo", function (t, e) { 4623 n.goTo(e) 4624 }), n.$elem.on("owl.jumpTo", function (t, e) { 4625 n.jumpTo(e) 4626 }) 4627 }, 4628 stopOnHover: function () { 4629 var t = this; 4630 !0 === t.options.stopOnHover && !0 !== t.browser.isTouch && !1 !== t.options.autoPlay && (t.$elem.on("mouseover", function () { 4631 t.stop() 4632 }), t.$elem.on("mouseout", function () { 4633 "stop" !== t.hoverStatus && t.play() 4634 })) 4635 }, 4636 lazyLoad: function () { 4637 var t, e, n, i, o = this; 4638 if (!1 === o.options.lazyLoad) return !1; 4639 for (t = 0; t < o.itemsAmount; t += 1) "loaded" !== (e = l(o.$owlItems[t])).data("owl-loaded") && (n = e.data("owl-item"), "string" == typeof (i = e.find(".lazyOwl")).data("src") ? (void 0 === e.data("owl-loaded") && (i.hide(), e.addClass("loading").data("owl-loaded", "checked")), (!0 !== o.options.lazyFollow || n >= o.currentItem) && n < o.currentItem + o.options.items && i.length && o.lazyPreload(e, i)) : e.data("owl-loaded", "loaded")) 4640 }, 4641 lazyPreload: function (t, e) { 4642 var n, i = this, 4643 o = 0; 4644 4645 function a() { 4646 t.data("owl-loaded", "loaded").removeClass("loading"), e.removeAttr("data-src"), "fade" === i.options.lazyEffect ? e.fadeIn(400) : e.show(), "function" == typeof i.options.afterLazyLoad && i.options.afterLazyLoad.apply(this, [i.$elem]) 4647 } 4648 "DIV" === e.prop("tagName") ? (e.css("background-image", "url(" + e.data("src") + ")"), n = !0) : e[0].src = e.data("src"), 4649 function t() { 4650 o += 1, i.completeImg(e.get(0)) || !0 === n ? a() : o <= 100 ? u.setTimeout(t, 100) : a() 4651 }() 4652 }, 4653 autoHeight: function () { 4654 var e, n = this, 4655 i = l(n.$owlItems[n.currentItem]).find("img"); 4656 4657 function o() { 4658 var t = l(n.$owlItems[n.currentItem]).height(); 4659 n.wrapperOuter.css("height", t + "px"), n.wrapperOuter.hasClass("autoHeight") || u.setTimeout(function () { 4660 n.wrapperOuter.addClass("autoHeight") 4661 }, 0) 4662 } 4663 void 0 !== i.get(0) ? (e = 0, function t() { 4664 e += 1, n.completeImg(i.get(0)) ? o() : e <= 100 ? u.setTimeout(t, 100) : n.wrapperOuter.css("height", "") 4665 }()) : o() 4666 }, 4667 completeImg: function (t) { 4668 return !!t.complete && ("undefined" == typeof t.naturalWidth || 0 !== t.naturalWidth) 4669 }, 4670 onVisibleItems: function () { 4671 var t, e = this; 4672 for (!0 === e.options.addClassActive && e.$owlItems.removeClass("active"), e.visibleItems = [], t = e.currentItem; t < e.currentItem + e.options.items; t += 1) e.visibleItems.push(t), !0 === e.options.addClassActive && l(e.$owlItems[t]).addClass("active"); 4673 e.owl.visibleItems = e.visibleItems 4674 }, 4675 transitionTypes: function (t) { 4676 this.outClass = "owl-" + t + "-out", this.inClass = "owl-" + t + "-in" 4677 }, 4678 singleItemTransition: function () { 4679 var t = this, 4680 e = t.outClass, 4681 n = t.inClass, 4682 i = t.$owlItems.eq(t.currentItem), 4683 o = t.$owlItems.eq(t.prevItem), 4684 a = Math.abs(t.positionsInArray[t.currentItem]) + t.positionsInArray[t.prevItem], 4685 r = Math.abs(t.positionsInArray[t.currentItem]) + t.itemWidth / 2, 4686 s = "webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend";
4687 t.isTransition = !0, t.$owlWrapper.addClass("owl-origin").css({ 4688 "-webkit-transform-origin": r + "px", 4689 "-moz-perspective-origin": r + "px", 4690 "perspective-origin": r + "px" 4691 }), o.css({ 4692 position: "relative", 4693 left: a + "px" 4694 }).addClass(e).on(s, function () { 4695 t.endPrev = !0, o.off(s), t.clearTransStyle(o, e) 4696 }), i.addClass(n).on(s, function () { 4697 t.endCurrent = !0, i.off(s), t.clearTransStyle(i, n) 4698 }) 4699 }, 4700 clearTransStyle: function (t, e) { 4701 var n = this; 4702 t.css({ 4703 position: "", 4704 left: "" 4705 }).removeClass(e), n.endPrev && n.endCurrent && (n.$owlWrapper.removeClass("owl-origin"), n.endPrev = !1, n.endCurrent = !1, n.isTransition = !1) 4706 }, 4707 owlStatus: function () { 4708 var t = this; 4709 t.owl = { 4710 userOptions: t.userOptions, 4711 baseElement: t.$elem, 4712 userItems: t.$userItems, 4713 owlItems: t.$owlItems, 4714 currentItem: t.currentItem, 4715 prevItem: t.prevItem, 4716 visibleItems: t.visibleItems, 4717 isTouch: t.browser.isTouch, 4718 browser: t.browser, 4719 dragDirection: t.dragDirection 4720 } 4721 }, 4722 clearEvents: function () { 4723 this.$elem.off(".owl owl mousedown.disableTextSelect"), l(c).off(".owl owl"), l(u).off("resize", this.resizer) 4724 }, 4725 unWrap: function () { 4726 var t = this; 4727 0 !== t.$elem.children().length && (t.$owlWrapper.unwrap(), t.$userItems.unwrap().unwrap(), t.owlControls && t.owlControls.remove()), t.clearEvents(), t.$elem.attr("style", t.$elem.data("owl-originalStyles") || "").attr("class", t.$elem.data("owl-originalClasses")) 4728 }, 4729 destroy: function () { 4730 this.stop(), u.clearInterval(this.checkVisible), this.unWrap(), this.$elem.removeData() 4731 }, 4732 reinit: function (t) { 4733 var e = l.extend({}, this.userOptions, t); 4734 this.unWrap(), this.init(e, this.$elem) 4735 }, 4736 addItem: function (t, e) { 4737 var n, i = this; 4738 return !!t && (0 === i.$elem.children().length ? (i.$elem.append(t), i.setVars(), !1) : (i.unWrap(), (n = void 0 === e || -1 === e ? -1 : e) >= i.$userItems.length || -1 === n ? i.$userItems.eq(-1).after(t) : i.$userItems.eq(n).before(t), void i.setVars())) 4739 }, 4740 removeItem: function (t) { 4741 var e; 4742 if (0 === this.$elem.children().length) return !1; 4743 e = void 0 === t || -1 === t ? -1 : t, this.unWrap(), this.$userItems.eq(e).remove(), this.setVars() 4744 } 4745 }; 4746 l.fn.owlCarousel = function (e) { 4747 return this.each(function () { 4748 if (!0 === l(this).data("owl-init")) return !1; 4749 l(this).data("owl-init", !0); 4750 var t = Object.create(n); 4751 t.init(e, this), l.data(this, "owlCarousel", t) 4752 }) 4753 }, l.fn.owlCarousel.options = { 4754 items: 5, 4755 itemsCustom: !1, 4756 itemsDesktop: [1199, 4], 4757 itemsDesktopSmall: [979, 3], 4758 itemsTablet: [768, 2], 4759 itemsTabletSmall: !1, 4760 itemsMobile: [479, 1], 4761 singleItem: !1, 4762 itemsScaleUp: !1, 4763 slideSpeed: 200, 4764 paginationSpeed: 800, 4765 rewindSpeed: 1e3, 4766 autoPlay: !1, 4767 stopOnHover: !1, 4768 navigation: !1, 4769 navigationText: ["prev", "next"], 4770 rewindNav: !0, 4771 scrollPerPage: !1, 4772 pagination: !0, 4773 paginationNumbers: !1, 4774 responsive: !0, 4775 responsiveRefreshRate: 200, 4776 responsiveBaseWidth: u, 4777 baseClass: "owl-carousel", 4778 theme: "owl-theme", 4779 lazyLoad: !1, 4780 lazyFollow: !0, 4781 lazyEffect: "fade", 4782 autoHeight: !1, 4783 jsonPath: !1, 4784 jsonSuccess: !1, 4785 dragBeforeAnimFinish: !0, 4786 mouseDrag: !0, 4787 touchDrag: !0, 4788 addClassActive: !1, 4789 transitionStyle: !1, 4790 beforeUpdate: !1, 4791 afterUpdate: !1, 4792 beforeInit: !1, 4793 afterInit: !1, 4794 beforeMove: !1, 4795 afterMove: !1, 4796 afterAction: !1, 4797 startDragging: !1, 4798 afterLazyLoad: !1 4799 } 4800 }(jQuery, window, document), 4801 function () { 4802 function e(t, e) { 4803 return function () { 4804 return t.apply(e, arguments) 4805 } 4806 } 4807 var t, n; 4808 4809 function i() {} 4810 4811 function o() { 4812 this.keys = [], this.values = [] 4813 } 4814 4815 function a(t) { 4816 null == t && (t = {}), this.scrollCallback = e(this.scrollCallback, this), this.scrollHandler = e(this.scrollHandler, this), this.start = e(this.start, this), this.scrolled = !0, this.config = this.util().extend(t, this.defaults), this.animationNameCache = new n 4817 } 4818 i.prototype.extend = function (t, e) { 4819 var n, i; 4820 for (n in t) null != (i = t[n]) && (e[n] = i); 4821 return e 4822 }, i.prototype.isMobile = function (t) { 4823 return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t) 4824 }, t = i, n = this.WeakMap || (o.prototype.get = function (t) { 4825 var e, n, i, o; 4826 for (e = n = 0, i = (o = this.keys).length; n < i; e = ++n) 4827 if (o[e] === t) return this.values[e] 4828 }, o.prototype.set = function (t, e) { 4829 var n, i, o, a; 4830 for (n = i = 0, o = (a = this.keys).length; i < o; n = ++i) 4831 if (a[n] === t) return void(this.values[n] = e); 4832 return this.keys.push(t), this.values.push(e) 4833 }, n = o), this.WOW = (a.prototype.defaults = { 4834 boxClass: "wow", 4835 animateClass: "animated", 4836 offset: 0, 4837 mobile: !0 4838 }, a.prototype.init = function () { 4839 var t; 4840 return this.element = window.document.documentElement, "interactive" === (t = document.readyState) || "complete" === t ? this.start() : document.addEventListener("DOMContentLoaded", this.start) 4841 }, a.prototype.start = function () { 4842 var t, e, n, i; 4843 if (this.boxes = this.element.getElementsByClassName(this.config.boxClass), this.boxes.length) { 4844 if (this.disabled()) return this.resetStyle(); 4845 for (e = 0, n = (i = this.boxes).length; e < n; e++) t = i[e], this.applyStyle(t, !0); 4846 return window.addEventListener("scroll", this.scrollHandler, !1), window.addEventListener("resize", this.scrollHandler, !1), this.interval = setInterval(this.scrollCallback, 50) 4847 } 4848 }, a.prototype.stop = function () { 4849 if (window.removeEventListener("scroll", this.scrollHandler, !1), window.removeEventListener("resize", this.scrollHandler, !1), null != this.interval) return clearInterval(this.interval) 4850 }, a.prototype.show = function (t) { 4851 return this.applyStyle(t), t.className = t.className + " " + this.config.animateClass 4852 }, a.prototype.applyStyle = function (t, e) { 4853 var n, i, o, a; 4854 return i = t.getAttribute("data-wow-duration"), n = t.getAttribute("data-wow-delay"), o = t.getAttribute("data-wow-iteration"), this.animate((a = this, function () { 4855 return a.customStyle(t, e, i, n, o) 4856 })) 4857 }, a.prototype.animate = "requestAnimationFrame" in window ? function (t) { 4858 return window.requestAnimationFrame(t) 4859 } : function (t) { 4860 return t() 4861 }, a.prototype.resetStyle = function () { 4862 var t, e, n, i, o; 4863 for (o = [], e = 0, n = (i = this.boxes).length; e < n; e++) t = i[e], o.push(t.setAttribute("style", "visibility: visible;")); 4864 return o 4865 }, a.prototype.customStyle = function (t, e, n, i, o) { 4866 return e && this.cacheAnimationName(t), t.style.visibility = e ? "hidden" : "visible", n && this.vendorSet(t.style, { 4867 animationDuration: n 4868 }), i && this.vendorSet(t.style, { 4869 animationDelay: i 4870 }), o && this.vendorSet(t.style, { 4871 animationIterationCount: o 4872 }), this.vendorSet(t.style, { 4873 animationName: e ? "none" : this.cachedAnimationName(t) 4874 }), t 4875 }
4875, a.prototype.vendors = ["moz", "webkit"], a.prototype.vendorSet = function (o, t) { 4876 var a, r, s, e; 4877 for (a in e = [], t) r = t[a], o["" + a] = r, e.push(function () { 4878 var t, e, n, i; 4879 for (i = [], t = 0, e = (n = this.vendors).length; t < e; t++) s = n[t], i.push(o["" + s + a.charAt(0).toUpperCase() + a.substr(1)] = r); 4880 return i 4881 }.call(this)); 4882 return e 4883 }, a.prototype.vendorCSS = function (t, e) { 4884 var n, i, o, a, r, s; 4885 for (n = (i = window.getComputedStyle(t)).getPropertyCSSValue(e), a = 0, r = (s = this.vendors).length; a < r; a++) o = s[a], n = n || i.getPropertyCSSValue("-" + o + "-" + e); 4886 return n 4887 }, a.prototype.animationName = function (e) { 4888 var n; 4889 try { 4890 n = this.vendorCSS(e, "animation-name").cssText 4891 } catch (t) { 4892 n = window.getComputedStyle(e).getPropertyValue("animation-name") 4893 } 4894 return "none" === n ? "" : n 4895 }, a.prototype.cacheAnimationName = function (t) { 4896 return this.animationNameCache.set(t, this.animationName(t)) 4897 }, a.prototype.cachedAnimationName = function (t) { 4898 return this.animationNameCache.get(t) 4899 }, a.prototype.scrollHandler = function () { 4900 return this.scrolled = !0 4901 }, a.prototype.scrollCallback = function () { 4902 var o; 4903 if (this.scrolled && (this.scrolled = !1, this.boxes = function () { 4904 var t, e, n, i; 4905 for (i = [], t = 0, e = (n = this.boxes).length; t < e; t++)(o = n[t]) && (this.isVisible(o) ? this.show(o) : i.push(o)); 4906 return i 4907 }.call(this), !this.boxes.length)) return this.stop() 4908 }, a.prototype.offsetTop = function (t) { 4909 for (var e; void 0 === t.offsetTop;) t = t.parentNode; 4910 for (e = t.offsetTop; t = t.offsetParent;) e += t.offsetTop; 4911 return e 4912 }, a.prototype.isVisible = function (t) { 4913 var e, n, i, o, a; 4914 return n = t.getAttribute("data-wow-offset") || this.config.offset, o = (a = window.pageYOffset) + this.element.clientHeight - n, e = (i = this.offsetTop(t)) + t.clientHeight, i <= o && a <= e 4915 }, a.prototype.util = function () { 4916 return this._util || (this._util = new t) 4917 }, a.prototype.disabled = function () { 4918 return !this.config.mobile && this.util().isMobile(navigator.userAgent) 4919 }, a) 4920 }.call(this), 4921 function (t, e) { 4922 "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? module.exports = e() : e() 4923 }(0, function () { 4924 var b = "", 4925 x = 20, 4926 I = !0, 4927 C = [], 4928 S = !1, 4929 T = !0, 4930 k = !0, 4931 L = null, 4932 E = !0, 4933 M = !0, 4934 P = null, 4935 _ = !0, 4936 A = !1, 4937 z = !0, 4938 O = !0, 4939 N = !1, 4940 n = null; 4941 4942 function j(t) { 4943 return t.replace(/<b[^>]*>(.*?)<\/b>/gi, function (t, e) { 4944 return e 4945 }).replace(/class="(?!(tco-hidden|tco-display|tco-ellipsis))+.*?"|data-query-source=".*?"|dir=".*?"|rel=".*?"/gi, "") 4946 } 4947 4948 function D(t) { 4949 for (var e = t.getElementsByTagName("a"), n = e.length - 1; 0 <= n; n--) e[n].setAttribute("target", "_blank") 4950 } 4951 4952 function $(t, e) { 4953 for (var n = [], i = new RegExp("(^| )" + e + "( |$)"), o = t.getElementsByTagName("*"), a = 0, r = o.length; a < r; a++) i.test(o[a].className) && n.push(o[a]); 4954 return n 4955 } 4956 4957 function W(t) { 4958 if (void 0 !== t && 0 <= t.innerHTML.indexOf("data-srcset")) { 4959 var e = t.innerHTML.match(/data-srcset="([A-z0-9%_\.-]+)/i)[0]; 4960 return decodeURIComponent(e).split('"')[1] 4961 } 4962 } 4963 var B = { 4964 fetch: function (t) { 4965 if (void 0 === t.maxTweets && (t.maxTweets = 20), void 0 === t.enableLinks && (t.enableLinks = !0), void 0 === t.showUser && (t.showUser = !0), void 0 === t.showTime && (t.showTime = !0), void 0 === t.dateFunction && (t.dateFunction = "default"), void 0 === t.showRetweet && (t.showRetweet = !0), void 0 === t.customCallback && (t.customCallback = null), void 0 === t.showInteraction && (t.showInteraction = !0), void 0 === t.showImages && (t.showImages = !1), void 0 === t.linksInNewWindow && (t.linksInNewWindow = !0), void 0 === t.showPermalinks && (t.showPermalinks = !0), void 0 === t.dataOnly && (t.dataOnly = !1), S) C.push(t); 4966 else { 4967 S = !0, b = t.domId, x = t.maxTweets, I = t.enableLinks, k = t.showUser, T = t.showTime, M = t.showRetweet, L = t.dateFunction, P = t.customCallback, _ = t.showInteraction, A = t.showImages, z = t.linksInNewWindow, O = t.showPermalinks, N = t.dataOnly; 4968 var e = document.getElementsByTagName("head")[0]; 4969 null !== n && e.removeChild(n), (n = document.createElement("script")).type = "text/javascript", void 0 !== t.list ? n.src = "https://syndication.twitter.com/timeline/list?callback=__twttrf.callback&dnt=false&list_slug=" + t.list.listSlug + "&screen_name=" + t.list.screenName + "&suppress_response_codes=true&lang=" + (t.lang || "en") + "&rnd=" + Math.random() : void 0 !== t.profile ? n.src = "https://syndication.twitter.com/timeline/profile?callback=__twttrf.callback&dnt=false&screen_name=" + t.profile.screenName + "&suppress_response_codes=true&lang=" + (t.lang || "en") + "&rnd=" + Math.random() : void 0 !== t.likes ? n.src = "https://syndication.twitter.com/timeline/likes?callback=__twttrf.callback&dnt=false&screen_name=" + t.likes.screenName + "&suppress_response_codes=true&lang=" + (t.lang || "en") + "&rnd=" + Math.random() : n.src = "https://cdn.syndication.twimg.com/widgets/timelines/" + t.id + "?&lang=" + (t.lang || "en") + "&callback=__twttrf.callback&suppress_response_codes=true&rnd=" + Math.random(), e.appendChild(n) 4970 } 4971 }, 4972 callback: function (t) { 4973 if (void 0 === t || void 0 === t.body) return S = !1, void(0 < C.length && (B.fetch(C[0]), C.splice(0, 1))); 4974 t.body = t.body.replace(/(<img[^c]*class="Emoji[^>]*>)|(<img[^c]*class="u-block[^>
4974]*>)/g, ""), A || (t.body = t.body.replace(/(<img[^c]*class="NaturalImage-image[^>]*>|(<img[^c]*class="CroppedImage-image[^>]*>))/g, "")), k || (t.body = t.body.replace(/(<img[^c]*class="Avatar"[^>]*>)/g, "")); 4975 var e = document.createElement("div"); 4976 4977 function n(t) { 4978 var e = t.getElementsByTagName("img")[0]; 4979 return e.src = e.getAttribute("data-src-2x"), t 4980 } 4981 e.innerHTML = t.body, void 0 === e.getElementsByClassName && (E = !1); 4982 var i = [], 4983 o = [], 4984 a = [], 4985 r = [], 4986 s = [], 4987 l = [], 4988 u = [], 4989 c = 0; 4990 if (E) 4991 for (var d = e.getElementsByClassName("timeline-Tweet"); c < d.length;) 0 < d[c].getElementsByClassName("timeline-Tweet-retweetCredit").length ? s.push(!0) : s.push(!1), (!s[c] || s[c] && M) && (i.push(d[c].getElementsByClassName("timeline-Tweet-text")[0]), l.push(d[c].getAttribute("data-tweet-id")), k && o.push(n(d[c].getElementsByClassName("timeline-Tweet-author")[0])), a.push(d[c].getElementsByClassName("dt-updated")[0]), u.push(d[c].getElementsByClassName("timeline-Tweet-timestamp")[0]), void 0 !== d[c].getElementsByClassName("timeline-Tweet-media")[0] ? r.push(d[c].getElementsByClassName("timeline-Tweet-media")[0]) : r.push(void 0)), c++; 4992 else 4993 for (d = $(e, "timeline-Tweet"); c < d.length;) 0 < $(d[c], "timeline-Tweet-retweetCredit").length ? s.push(!0) : s.push(!1), (!s[c] || s[c] && M) && (i.push($(d[c], "timeline-Tweet-text")[0]), l.push(d[c].getAttribute("data-tweet-id")), k && o.push(n($(d[c], "timeline-Tweet-author")[0])), a.push($(d[c], "dt-updated")[0]), u.push($(d[c], "timeline-Tweet-timestamp")[0]), void 0 !== $(d[c], "timeline-Tweet-media")[0] ? r.push($(d[c], "timeline-Tweet-media")[0]) : r.push(void 0)), c++; 4994 i.length > x && (i.splice(x, i.length - x), o.splice(x, o.length - x), a.splice(x, a.length - x), s.splice(x, s.length - x), r.splice(x, r.length - x), u.splice(x, u.length - x)); 4995 var p = [], 4996 m = (c = i.length, 0); 4997 if (N) 4998 for (; m < c;) p.push({ 4999 tweet: i[m].innerHTML, 5000 author: o[m] ? o[m].innerHTML : "Unknown Author", 5001 time: a[m].textContent, 5002 timestamp: a[m].getAttribute("datetime").replace("+0000", "Z").replace(/([\+\-])(\d\d)(\d\d)/, "$1$2:$3"), 5003 image: W(r[m]), 5004 rt: s[m], 5005 tid: l[m], 5006 permalinkURL: void 0 === u[m] ? "" : u[m].href 5007 }), m++; 5008 else 5009 for (; m < c;) { 5010 if ("string" != typeof L) { 5011 var f = a[m].getAttribute("datetime"), 5012 h = new Date(a[m].getAttribute("datetime").replace(/-/g, "/").replace("T", " ").split("+")[0]), 5013 v = L(h, f); 5014 if (a[m].setAttribute("aria-label", v), i[m].textContent) 5015 if (E) a[m].textContent = v; 5016 else { 5017 var g = document.createElement("p"), 5018 y = document.createTextNode(v); 5019 g.appendChild(y), g.setAttribute("aria-label", v), a[m] = g 5020 } 5021 else a[m].textContent = v 5022 } 5023 var w = ""; 5024 I ? (z && (D(i[m]), k && D(o[m])), k && (w += '<div class="user">' + j(o[m].innerHTML) + "</div>"), w += '<p class="tweet">' + j(i[m].innerHTML) + "</p>", T && (w += O ? '<p class="timePosted"><a href="' + u[m] + '">' + a[m].getAttribute("aria-label") + "</a></p>" : '<p class="timePosted">' + a[m].getAttribute("aria-label") + "</p>")) : (i[m].textContent, k && (w += '<p class="user">' + o[m].textContent + "</p>"), w += '<p class="tweet">' + i[m].textContent + "</p>", T && (w += '<p class="timePosted">' + a[m].textContent + "</p>")), _ && (w += '<p class="interact"><a href="https://twitter.com/intent/tweet?in_reply_to=' + l[m] + '" class="twitter_reply_icon"' + (z ? ' target="_blank">' : ">") + 'Reply</a><a href="https://twitter.com/intent/retweet?tweet_id=' + l[m] + '" class="twitter_retweet_icon"' + (z ? ' target="_blank">' : ">") + 'Retweet</a><a href="https://twitter.com/intent/favorite?tweet_id=' + l[m] + '" class="twitter_fav_icon"' + (z ? ' target="_blank">' : ">") + "Favorite</a></p>"), A && void 0 !== r[m] && void 0 !== W(r[m]) && (w += '<div class="media"><img src="' + W(r[m]) + '" alt="Image from tweet" /></div>'), A ? p.push(w) : !A && i[m].textContent.length && p.push(w), m++ 5025 }! function (t) { 5026 if (null === P) { 5027 for (var e = t.length, n = 0, i = document.getElementById(b), o = "<ul>"; n < e;) o += "<li>" + t[n] + "</li>", n++; 5028 o += "</ul>", i.innerHTML = o 5029 } else P(t) 5030 }(p), S = !1, 0 < C.length && (B.fetch(C[0]), C.splice(0, 1)) 5031 } 5032 }; 5033 return window.__twttrf = B, window.twitterFetcher = B 5034 }), 5035 function () { 5036 var l, t = { 5037 frameRate: 150, 5038 animationTime: 500, 5039 stepSize: 150, 5040 pulseAlgorithm: !0, 5041 pulseScale: 6, 5042 pulseNormalize: 1, 5043 accelerationDelta: 20, 5044 accelerationMax: 1, 5045 keyboardSupport: !0, 5046 arrowScroll: 50, 5047 touchpadSupport: !0,
5048 fixedBackground: !0, 5049 excluded: "" 5050 }, 5051 g = t, 5052 a = !1, 5053 r = !1, 5054 n = { 5055 x: 0, 5056 y: 0 5057 }, 5058 s = !1, 5059 u = document.documentElement, 5060 c = [120, 120, 120], 5061 d = { 5062 left: 37, 5063 up: 38, 5064 right: 39, 5065 down: 40, 5066 spacebar: 32, 5067 pageup: 33, 5068 pagedown: 34, 5069 end: 35, 5070 home: 36 5071 }; 5072 g = t; 5073 5074 function p() { 5075 g.keyboardSupport && C("keydown", e) 5076 } 5077 5078 function m() { 5079 if (document.body) { 5080 var t = document.body, 5081 e = document.documentElement, 5082 n = window.innerHeight, 5083 i = t.scrollHeight; 5084 if (u = 0 <= document.compatMode.indexOf("CSS") ? e : t, l = t, p(), s = !0, top != self) r = !0; 5085 else if (n < i && (t.offsetHeight <= n || e.offsetHeight <= n) && (e.style.height = "auto", u.offsetHeight <= n)) { 5086 var o = document.createElement("div"); 5087 o.style.clear = "both", t.appendChild(o) 5088 } 5089 g.fixedBackground || a || (t.style.backgroundAttachment = "scroll", e.style.backgroundAttachment = "scroll") 5090 } 5091 } 5092 var y = [], 5093 w = !1, 5094 i = +new Date; 5095/* 5096 function f(d, p, m, f) { 5097 if (f || (f = 1e3), function (t, e) { 5098 t = 0 < t ? 1 : -1, e = 0 < e ? 1 : -1, n.x === t && n.y === e || (n.x = t, n.y = e, y = [], i = 0) 5099 }(p, m), 1 != g.accelerationMax) { 5100 var t = +new Date - i; 5101 if (t < g.accelerationDelta) { 5102 var e = (1 + 30 / t) / 2; 5103 1 < e && (e = Math.min(e, g.accelerationMax), p *= e, m *= e) 5104 } 5105 i = +new Date 5106 } 5107 if (y.push({ 5108 x: p, 5109 y: m, 5110 lastX: p < 0 ? .99 : -.99, 5111 lastY: m < 0 ? .99 : -.99, 5112 start: +new Date 5113 }), !w) { 5114 var h = d === document.body, 5115 v = function (t) { 5116 for (var e = +new Date, n = 0, i = 0, o = 0; o < y.length; o++) { 5117 var a = y[o], 5118 r = e - a.start, 5119 s = r >= g.animationTime, 5120 l = s ? 1 : r / g.animationTime; 5121 g.pulseAlgorithm && (l = E(l)); 5122 var u = a.x * l - a.lastX >> 0, 5123 c = a.y * l - a.lastY >> 0; 5124 n += u, i += c, a.lastX += u, a.lastY += c, s && (y.splice(o, 1), o--) 5125 } 5126 h ? window.scrollBy(n, i) : (n && (d.scrollLeft += n), i && (d.scrollTop += i)), p || m || (y = []), y.length ? k(v, d, f / g.frameRate + 1) : w = !1 5127 }; 5128 k(v, d, 0), w = !0 5129 } 5130 } 5131*/ 5132 function e(t) { 5133 var e = t.target, 5134 n = t.ctrlKey || t.altKey || t.metaKey || t.shiftKey && t.keyCode !== d.spacebar; 5135 if (/input|textarea|select|embed/i.test(e.nodeName) || e.isContentEditable || t.defaultPrevented || n) return !0; 5136 if (S(e, "button") && t.keyCode === d.spacebar) return !0; 5137 var i = 0, 5138 o = 0, 5139 a = I(l), 5140 r = a.clientHeight; 5141 switch (a == document.body && (r = window.innerHeight), t.keyCode) { 5142 case d.up: 5143 o = -g.arrowScroll; 5144 break; 5145 case d.down: 5146 o = g.arrowScroll; 5147 break; 5148 case d.spacebar: 5149 o = -(t.shiftKey ? 1 : -1) * r * .9; 5150 break; 5151 case d.pageup: 5152 o = .9 * -r; 5153 break; 5154 case d.pagedown: 5155 o = .9 * r; 5156 break; 5157 case d.home: 5158 o = -a.scrollTop; 5159 break; 5160 case d.end: 5161 var s = a.scrollHeight - a.scrollTop - r; 5162 o = 0 < s ? 10 + s : 0; 5163 break; 5164 case d.left: 5165 i = -g.arrowScroll; 5166 break; 5167 case d.right: 5168 i = g.arrowScroll; 5169 break; 5170 default: 5171 return !0 5172 } 5173 f(a, i, o), t.preventDefault() 5174 } 5175 var o = {}; 5176 setInterval(function () { 5177 o = {} 5178 }, 1e4); 5179 var h, v, b = (h = 0, function (t) { 5180 return t.uniqueID || (t.uniqueID = h++) 5181 }); 5182 5183 function x(t, e) { 5184 for (var n = t.length; n--;) o[b(t[n])] = e; 5185 return e 5186 } 5187 5188 function I(t) { 5189 var e = [], 5190 n = u.scrollHeight; 5191 do { 5192 var i = o[b(t)]; 5193 if (i) return x(e, i); 5194 if (e.push(t), n === t.scrollHeight) { 5195 if (!r || u.clientHeight + 10 < n) return x(e, document.body) 5196 } else if (t.clientHeight + 10 < t.scrollHeight && (overflow = getComputedStyle(t, "").getPropertyValue("overflow-y"), "scroll" === overflow || "auto" === overflow)) return x(e, t) 5197 } while (t = t.parentNode) 5198 } 5199 5200 function C(t, e, n) { 5201 window.addEventListener(t, e, n || !1) 5202 } 5203 5204 function S(t, e) { 5205 return (t.nodeName || "").toLowerCase() === e.toLowerCase() 5206 } 5207 5208 function T(t, e) { 5209 return Math.floor(t / e) == t / e 5210 } 5211 var k = window.requestAnimationFrame || window.webkitRequestAnimationFrame || function (t, e, n) { 5212 window.setTimeout(t, n || 1e3 / 60) 5213 }; 5214 5215 function L(t) { 5216 var e; 5217 return ((t *= g.pulseScale) < 1 ? t - (1 - Math.exp(-t)) : (t -= 1, (e = Math.exp(-1)) + (1 - Math.exp(-t)) * (1 - e))) * g.pulseNormalize 5218 } 5219 5220 function E(t) { 5221 return 1 <= t ? 1 : t <= 0 ? 0 : (1 == g.pulseNormalize && (g.pulseNormalize /= L(1)), L(t)) 5222 } 5223 var M = /chrome/i.test(window.navigator.userAgent); 5224 "onmousewheel" in document && M && (C("mousedown", function (t) { 5225 l = t.target 5226 }), C("mousewheel", function (t) { 5227 s || m(); 5228 var e = t.target, 5229 n = I(e); 5230 if (!n || t.defaultPrevented || S(l, "embed") || S(e, "embed") && /\.pdf/i.test(e.src)) return !0; 5231 var i = t.wheelDeltaX || 0, 5232 o = t.wheelDeltaY || 0; 5233 if (i || o || (o = t.wheelDelta || 0), !g.touchpadSupport && function (t) { 5234 if (!t) return; 5235 t = Math.abs(t), c.push(t), c.shift(), clearTimeout(v); 5236 var e = c[0] == c[1] && c[1] == c[2], 5237 n = T(c[0], 120) && T(c[1], 120) && T(c[2], 120); 5238 return !(e || n) 5239 }(o)) return !0; 5240 1.2 < Math.abs(i) && (i *= g.stepSize / 120), 1.2 < Math.abs(o) && (o *= g.stepSize / 120), 0/*f(n, -i, -o)*/, t.preventDefault() 5241 }), C("load", m)) 5242 }(), 5243 function () { 5244 var _, A; 5245 _ = window.jQuery, A = _(window), _.fn.stick_in_parent = function (t) { 5246 var C, e, S, n, i, T, o, k, L, a, E, M, P; 5247 for (null == t && (t = {}), P = t.sticky_class, T = t.inner_scrolling, M = t.recalc_every, E = t.parent, L = t.offset_top,
5247k = t.spacer, S = t.bottoming, null == L && (L = 0), null == E && (E = void 0), null == T && (T = !0), null == P && (P = "is_stuck"), C = _(document), null == S && (S = !0), a = function (t) { 5248 var e, n; 5249 return window.getComputedStyle ? (t[0], e = window.getComputedStyle(t[0]), n = parseFloat(e.getPropertyValue("width")) + parseFloat(e.getPropertyValue("margin-left")) + parseFloat(e.getPropertyValue("margin-right")), "border-box" !== e.getPropertyValue("box-sizing") && (n += parseFloat(e.getPropertyValue("border-left-width")) + parseFloat(e.getPropertyValue("border-right-width")) + parseFloat(e.getPropertyValue("padding-left")) + parseFloat(e.getPropertyValue("padding-right"))), n) : t.outerWidth(!0) 5250 }, n = function (r, s, l, u, c, d, p, m) { 5251 var f, t, h, v, g, y, w, b, e, x, I, i; 5252 if (!r.data("sticky_kit")) { 5253 if (r.data("sticky_kit", !0), g = C.height(), w = r.parent(), null != E && (w = w.closest(E)), !w.length) throw "failed to find stick parent"; 5254 if (f = h = !1, (I = null != k ? k && r.closest(k) : _("<div />")) && I.css("position", r.css("position")), (b = function () { 5255 var t, e, n; 5256 if (!m) return g = C.height(), t = parseInt(w.css("border-top-width"), 10), e = parseInt(w.css("padding-top"), 10), s = parseInt(w.css("padding-bottom"), 10), l = w.offset().top + t + e, u = w.height(), h && (f = h = !1, null == k && (r.insertAfter(I), I.detach()), r.css({ 5257 position: "", 5258 top: "", 5259 width: "", 5260 bottom: "" 5261 }).removeClass(P), n = !0), c = r.offset().top - (parseInt(r.css("margin-top"), 10) || 0) - L, d = r.outerHeight(!0), p = r.css("float"), I && I.css({ 5262 width: a(r), 5263 height: d, 5264 display: r.css("display"), 5265 "vertical-align": r.css("vertical-align"), 5266 float: p 5267 }), n ? i() : void 0 5268 })(), d !== u) return v = void 0, y = L, x = M, i = function () { 5269 var t, e, n, i, o, a; 5270 if (!m) return n = !1, null != x && (x -= 1) <= 0 && (x = M, b(), n = !0), n || C.height() === g || (b(), n = !0), i = A.scrollTop(), null != v && (e = i - v), v = i, h ? (S && (o = u + l < i + d + y, f && !o && (f = !1, r.css({ 5271 position: "fixed", 5272 bottom: "", 5273 top: y 5274 }).trigger("sticky_kit:unbottom"))), i < c && (h = !1, y = L, null == k && ("left" !== p && "right" !== p || r.insertAfter(I), I.detach()), t = { 5275 position: "", 5276 width: "", 5277 top: "" 5278 }, r.css(t).removeClass(P).trigger("sticky_kit:unstick")), T && (a = A.height()) < d + L && (f || (y -= e, y = Math.max(a - d, y), y = Math.min(L, y), h && r.css({ 5279 top: y + "px" 5280 })))) : c < i && (h = !0, (t = { 5281 position: "fixed", 5282 top: y 5283 }).width = "border-box" === r.css("box-sizing") ? r.outerWidth() + "px" : r.width() + "px", r.css(t).addClass(P), null == k && (r.after(I), "left" !== p && "right" !== p || I.append(r)), r.trigger("sticky_kit:stick")), h && S && (null == o && (o = u + l < i + d + y), !f && o) ? (f = !0, "static" === w.css("position") && w.css({ 5284 position: "relative" 5285 }), r.css({ 5286 position: "absolute", 5287 bottom: s, 5288 top: "auto" 5289 }).trigger("sticky_kit:bottom")) : void 0 5290 }, e = function () { 5291 return b(), i() 5292 }, t = function () { 5293 if (m = !0, A.off("touchmove", i), A.off("scroll", i), A.off("resize", e), _(document.body).off("sticky_kit:recalc", e), r.off("sticky_kit:detach", t), r.removeData("sticky_kit"), r.css({ 5294 position: "", 5295 bottom: "", 5296 top: "", 5297 width: "" 5298 }), w.position("position", ""), h) return null == k && ("left" !== p && "right" !== p || r.insertAfter(I), I.remove()), r.removeClass(P) 5299 }, A.on("touchmove", i), A.on("scroll", i), A.on("resize", e), _(document.body).on("sticky_kit:recalc", e), r.on("sticky_kit:detach", t), setTimeout(i, 0) 5300 } 5301 }, i = 0, o = this.length; i < o; i++) e = this[i], n(_(e)); 5302 return this 5303 } 5304 }.call(this), "function" != typeof Object.create && (Object.create = function (t) { 5305 function e() {} 5306 return e.prototype = t, new e 5307 }), 5308 function (o, n) { 5309 "use strict"; 5310 var e = { 5311 init: function (t, e) { 5312 this.options = o.extend({}, o.fn.singlePageNav.defaults, t), this.container = e, this.$container = o(e), this.$links = this.$container.find("a"), ""
5312!== this.options.filter && (this.$links = this.$links.filter(this.options.filter)), this.$window = o(n), this.$htmlbody = o("html, body"), this.$links.on("click.singlePageNav", o.proxy(this.handleClick, this)), this.didScroll = !1, this.checkPosition(), this.setTimer() 5313 }, 5314 handleClick: function (t) { 5315 var e = this, 5316 n = t.currentTarget, 5317 i = o(n.hash); 5318 t.preventDefault(), i.length && (e.clearTimer(), "function" == typeof e.options.beforeStart && e.options.beforeStart(), e.setActiveLink(n.hash), e.scrollTo(i, function () { 5319 e.options.updateHash && history.pushState && history.pushState(null, null, n.hash), e.setTimer(), "function" == typeof e.options.onComplete && e.options.onComplete() 5320 })) 5321 }, 5322 scrollTo: function (t, e) { 5323 var n = this.getCoords(t).top, 5324 i = !1; 5325 this.$htmlbody.stop().animate({ 5326 scrollTop: n 5327 }, { 5328 duration: this.options.speed, 5329 easing: this.options.easing, 5330 complete: function () { 5331 "function" != typeof e || i || e(), i = !0 5332 } 5333 }) 5334 }, 5335 setTimer: function () { 5336 var t = this; 5337 t.$window.on("scroll.singlePageNav", function () { 5338 t.didScroll = !0 5339 }), t.timer = setInterval(function () { 5340 t.didScroll && (t.didScroll = !1, t.checkPosition()) 5341 }, 250) 5342 }, 5343 clearTimer: function () { 5344 clearInterval(this.timer), this.$window.off("scroll.singlePageNav"), this.didScroll = !1 5345 }, 5346 checkPosition: function () { 5347 var t = this.$window.scrollTop(), 5348 e = this.getCurrentSection(t); 5349 null !== e && this.setActiveLink(e) 5350 }, 5351 getCoords: function (t) { 5352 return { 5353 top: Math.round(t.offset().top) - this.options.offset 5354 } 5355 }, 5356 setActiveLink: function (t) { 5357 var e = this.$container.find("a[href$='" + t + "']"); 5358 e.hasClass(this.options.currentClass) || (this.$links.removeClass(this.options.currentClass), e.addClass(this.options.currentClass)) 5359 }, 5360 getCurrentSection: function (t) { 5361 var e, n, i; 5362 for (e = 0; e < this.$links.length; e++) n = this.$links[e].hash, o(n).length && t >= this.getCoords(o(n)).top - this.options.threshold && (i = n); 5363 return i || (0 === this.$links.length ? null : this.$links[0].hash) 5364 } 5365 }; 5366 o.fn.singlePageNav = function (t) { 5367 return this.each(function () { 5368 Object.create(e).init(t, this) 5369 }) 5370 }, o.fn.singlePageNav.defaults = { 5371 offset: 0, 5372 threshold: 120, 5373 speed: 400, 5374 currentClass: "current", 5375 easing: "swing", 5376 updateHash: !1, 5377 filter: "", 5378 onComplete: !1, 5379 beforeStart: !1 5380 } 5381 }(jQuery, window, document), 5382 function (t, e) { 5383 "function" == typeof define && define.amd ? define(["jquery"], function (t) { 5384 return e(t) 5385 }) : "object" == typeof exports ? module.exports = e(require("jquery")) : e(jQuery) 5386 }(0, function (n) { 5387 function r(t, r) { 5388 var n, e = document.createElement("canvas"); 5389 t.appendChild(e), "object" == typeof G_vmlCanvasManager && G_vmlCanvasManager.initElement(e); 5390 var o = e.getContext("2d"); 5391 e.width = e.height = r.size; 5392 var i = 1; 5393 1 < window.devicePixelRatio && (i = window.devicePixelRatio, e.style.width = e.style.height = [r.size, "px"].join(""), e.width = e.height = r.size * i, o.scale(i, i)), o.translate(r.size / 2, r.size / 2), o.rotate((r.rotate / 180 - .5) * Math.PI); 5394 var a = (r.size - r.lineWidth) / 2; 5395 5396 function s(t, e, n) { 5397 var i = (n = Math.min(Math.max(-1, n || 0), 1)) <= 0; 5398 o.beginPath(), o.arc(0, 0, a, 0, 2 * Math.PI * n, i), o.strokeStyle = t, o.lineWidth = e, o.stroke() 5399 } 5400 5401 function l() { 5402 r.scaleColor && function () { 5403 var t, e; 5404 o.lineWidth = 1, o.fillStyle = r.scaleColor, o.save(); 5405 for (var n = 24; 0 < n; --n) t = n % 6 == 0 ? (e = r.scaleLength, 0) : (e = .6 * r.scaleLength, r.scaleLength - e), o.fillRect(-r.size / 2 + t, 0, e, 1), o.rotate(Math.PI / 12); 5406 o.restore() 5407 }(), r.trackColor && s(r.trackColor, r.trackWidth || r.lineWidth, 1) 5408 } 5409 r.scaleColor && r.scaleLength && (a -= r.scaleLength + 2), Date.now = Date.now || function () { 5410 return +new Date 5411 }; 5412 var u = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (t) { 5413 window.setTimeout(t, 1e3 / 60) 5414 }; 5415 this.getCanvas = function () { 5416 return e 5417 }, this.getCtx = function () { 5418 return o 5419 }, this.clear = function () { 5420 o.clearRect(r.size / -2, r.size / -2, r.size, r.size) 5421 }, this.draw = function (t) { 5422 var e; 5423 r.scaleColor || r.trackColor ? o.getImageData && o.putImageData ? n ? o.putImageData(n, 0, 0) : (l(), n = o.getImageData(0, 0, r.size * i, r.size * i)) : (this.clear(), l()) : this.clear(), o.lineCap = r.lineCap, e = "function" == typeof r.barColor ? r.barColor(t) : r.barC
5423olor, s(e, r.lineWidth, t / 100) 5424 }.bind(this), this.animate = function (n, i) { 5425 var o = Date.now(); 5426 r.onStart(n, i); 5427 var a = function () { 5428 var t = Math.min(Date.now() - o, r.animate.duration), 5429 e = r.easing(this, t, n, i - n, r.animate.duration); 5430 this.draw(e), r.onStep(n, i, e), t >= r.animate.duration ? r.onStop(n, i) : u(a) 5431 }.bind(this); 5432 u(a) 5433 }.bind(this) 5434 } 5435 5436 function i(e, n) { 5437 var i = { 5438 barColor: "#ef1e25", 5439 trackColor: "#f9f9f9", 5440 scaleColor: "#dfe0e0", 5441 scaleLength: 5, 5442 lineCap: "round", 5443 lineWidth: 3, 5444 trackWidth: void 0, 5445 size: 110, 5446 rotate: 0, 5447 animate: { 5448 duration: 1e3, 5449 enabled: !0 5450 }, 5451 easing: function (t, e, n, i, o) { 5452 return (e /= o / 2) < 1 ? i / 2 * e * e + n : -i / 2 * (--e * (e - 2) - 1) + n 5453 }, 5454 onStart: function (t, e) {}, 5455 onStep: function (t, e, n) {}, 5456 onStop: function (t, e) {} 5457 }; 5458 if (void 0 !== r) i.renderer = r; 5459 else { 5460 if ("undefined" == typeof SVGRenderer) throw new Error("Please load either the SVG- or the CanvasRenderer"); 5461 i.renderer = SVGRenderer 5462 } 5463 var o = {}, 5464 a = 0, 5465 t = function () { 5466 for (var t in this.el = e, this.options = o, i) i.hasOwnProperty(t) && (o[t] = n && void 0 !== n[t] ? n[t] : i[t], "function" == typeof o[t] && (o[t] = o[t].bind(this))); 5467 "string" == typeof o.easing && "undefined" != typeof jQuery && jQuery.isFunction(jQuery.easing[o.easing]) ? o.easing = jQuery.easing[o.easing] : o.easing = i.easing, "number" == typeof o.animate && (o.animate = { 5468 duration: o.animate, 5469 enabled: !0 5470 }), "boolean" != typeof o.animate || o.animate || (o.animate = { 5471 duration: 1e3, 5472 enabled: o.animate 5473 }), this.renderer = new o.renderer(e, o), this.renderer.draw(a), e.dataset && e.dataset.percent ? this.update(parseFloat(e.dataset.percent)) : e.getAttribute && e.getAttribute("data-percent") && this.update(parseFloat(e.getAttribute("data-percent"))) 5474 }.bind(this); 5475 this.update = function (t) { 5476 return t = parseFloat(t), o.animate.enabled ? this.renderer.animate(a, t) : this.renderer.draw(t), a = t, this 5477 }.bind(this), this.disableAnimation = function () { 5478 return o.animate.enabled = !1, this 5479 }, this.enableAnimation = function () { 5480 return o.animate.enabled = !0, this 5481 }, t() 5482 } 5483 n.fn.easyPieChart = function (e) { 5484 return this.each(function () { 5485 var t; 5486 n.data(this, "easyPieChart") || (t = n.extend({}, e, n(this).data()), n.data(this, "easyPieChart", new i(this, t))) 5487 }) 5488 } 5489 }), 5490 function (o) { 5491 "use strict"; 5492 Date.now || (Date.now = function () { 5493 return (new Date).getTime() 5494 }), o.requestAnimationFrame || function () { 5495 for (var t = ["webkit", "moz"], e = 0; e < t.length && !o.requestAnimationFrame; ++e) { 5496 var n = t[e]; 5497 o.requestAnimationFrame = o[n + "RequestAnimationFrame"], o.cancelAnimationFrame = o[n + "CancelAnimationFrame"] || o[n + "CancelRequestAnimationFrame"] 5498 } 5499 if (/iP(ad|hone|od).*OS 6/.test(o.navigator.userAgent) || !o.requestAnimationFrame || !o.cancelAnimationFrame) { 5500 var i = 0; 5501 o.requestAnimationFrame = function (t) { 5502 var e = Date.now(), 5503 n = Math.max(i + 16, e); 5504 return setTimeout(function () { 5505 t(i = n) 5506 }, n - e) 5507 }, o.cancelAnimationFrame = clearTimeout 5508 } 5509 }(); 5510 var v, g, y = function () { 5511 if (!o.getComputedStyle) return !1; 5512 var t, e = document.createElement("p"), 5513 n = { 5514 webkitTransform: "-webkit-transform", 5515 OTransform: "-o-transform", 5516 msTransform: "-ms-transform", 5517 MozTransform: "-moz-transform", 5518 transform: "transform" 5519 }; 5520 for (var i in (document.body || document.documentElement).insertBefore(e, null), n) void 0 !== e.style[i] && (e.style[i] = "translate3d(1px,1px,1px)", t = o.getComputedStyle(e).getPropertyValue(n[i])); 5521 return (document.body || document.documentElement).removeChild(e), void 0 !== t && 0 < t.length && "none" !== t 5522 }(), 5523 a = -1 < navigator.userAgent.toLowerCase().indexOf("android"), 5524 r = /iPad|iPhone|iPod/.test(navigator.userAgent) && !o.MSStream, 5525 s = !!o.opera, 5526 l = /Edge\/\d+/.test(navigator.userAgent), 5527 u = /Trident.*rv[ :]*11\./.test(navigator.userAgent), 5528 c = !!Function("/*@cc_on return document.documentMode===10@*/")(), 5529 w = document.all && !o.atob; 5530 5531 function i() { 5532 v = o.innerWidth || document.documentElement.clientWidth, g = o.innerHeight || document.documentElement.clientHeight 5533 } 5534 i(); 5535 var d, p = [], 5536 m = (d = 0, function (t, e) { 5537 var n, i = this; 5538 i.$item = t, i.defaults = { 5539 type: "scroll", 5540 speed: .5, 5541 imgSrc: null, 5542 imgWidth: null, 5543 imgHeight: null, 5544 enableTransform: !0, 5545 zIndex: -100, 5546 noAdnroid: !1, 5547 noIos: !0, 5548 onScroll: null, 5549 onInit: null, 5550 onDestroy: null, 5551 onCoverImage: null 5552 }, n = JSON.parse(i.$item.getAttribute("data-jarallax") || "{}"), i.options = i.extend({}, i.defaults, n, e), a && i.options.noAdnroid || r && i.options.noIos || (i.options.speed = Math.min(2, Math.max(-1, parseFloat(i.options.speed))), i.instanceID = d++, i.image = { 5553 src: i.options.imgSrc || null, 5554 $container: null, 5555 $item: null, 5556 width: i.options.imgWidth || null, 5557 height: i.options.imgHeight || null, 5558 useImgTag: r || a || s || u || c || l 5559 }, i.initImg() && i.init()) 5560 }); 5561 5562 function t(t, e, n) { 5563 t.addEventListener ? t.addEventListener(e, n) : t.attachEvent("on" + e, function () { 5564 n.call(t) 5565 }) 5566 } 5567 5568 function e(n) { 5569 o.requestAnimationFrame(function () { 5570 "scroll" !== n.type && i();
5571 for (var t = 0, e = p.length; t < e; t++) "scroll" !== n.type && (p[t].coverImage(), p[t].clipContainer()), p[t].onScroll() 5572 }) 5573 } 5574 m.prototype.css = function (t, e) { 5575 if ("string" == typeof e) return o.getComputedStyle ? o.getComputedStyle(t).getPropertyValue(e) : t.style[e]; 5576 for (var n in e.transform && (e.WebkitTransform = e.MozTransform = e.transform), e) t.style[n] = e[n]; 5577 return t 5578 }, m.prototype.extend = function (t) { 5579 t = t || {}; 5580 for (var e = 1; e < arguments.length; e++) 5581 if (arguments[e]) 5582 for (var n in arguments[e]) arguments[e].hasOwnProperty(n) && (t[n] = arguments[e][n]); 5583 return t 5584 }, m.prototype.initImg = function () { 5585 var t = this; 5586 return null === t.image.src && (t.image.src = t.css(t.$item, "background-image").replace(/^url\(['"]?/g, "").replace(/['"]?\)$/g, "")), !(!t.image.src || "none" === t.image.src) 5587 }, m.prototype.init = function () { 5588 var n = this, 5589 t = { 5590 position: "absolute", 5591 top: 0, 5592 left: 0, 5593 width: "100%", 5594 height: "100%", 5595 overflow: "hidden", 5596 pointerEvents: "none" 5597 }, 5598 e = { 5599 position: "fixed" 5600 }; 5601 n.image.$container = document.createElement("div"), n.css(n.image.$container, t), n.css(n.image.$container, { 5602 visibility: "hidden", 5603 "z-index": n.options.zIndex 5604 }), n.image.$container.setAttribute("id", "jarallax-container-" + n.instanceID), n.$item.appendChild(n.image.$container), e = n.image.useImgTag && y && n.options.enableTransform ? (n.image.$item = document.createElement("img"), n.image.$item.setAttribute("src", n.image.src), n.extend({ 5605 "max-width": "none" 5606 }, t, e)) : (n.image.$item = document.createElement("div"), n.extend({ 5607 "background-position": "50% 50%", 5608 "background-size": "100% auto", 5609 "background-repeat": "no-repeat no-repeat", 5610 "background-image": 'url("' + n.image.src + '")' 5611 }, t, e)), w && (e.backgroundAttachment = "fixed"), n.parentWithTransform = 0; 5612 for (var i = n.$item; null !== i && i !== document && 0 === n.parentWithTransform;)(n.css(i, "-webkit-transform") || n.css(i, "-moz-transform") || n.css(i, "transform")) && (n.parentWithTransform = 1, n.css(n.image.$container, { 5613 transform: "translateX(0) translateY(0)" 5614 })), i = i.parentNode; 5615 5616 function o() { 5617 n.coverImage(), n.clipContainer(), n.onScroll(!0), n.$item.setAttribute("data-jarallax-original-styles", n.$item.getAttribute("style")), n.options.onInit && n.options.onInit.call(n), setTimeout(function () { 5618 n.$item && n.css(n.$item, { 5619 "background-image": "none", 5620 "background-attachment": "scroll", 5621 "background-size": "auto" 5622 }) 5623 }, 0) 5624 } 5625 n.css(n.image.$item, e), n.image.$container.appendChild(n.image.$item), n.image.width && n.image.height ? o() : n.getImageSize(n.image.src, function (t, e) { 5626 n.image.width = t, n.image.height = e, o() 5627 }), p.push(n) 5628 }, m.prototype.destroy = function () { 5629 for (var t = this, e = 0, n = p.length; e < n; e++) 5630 if (p[e].instanceID === t.instanceID) { 5631 p.splice(e, 1); 5632 break 5633 } for (var i in t.$item.setAttribute("style", t.$item.getAttribute("data-jarallax-original-styles")), t.$item.removeAttribute("data-jarallax-original-styles"), t.$clipStyles && t.$clipStyles.parentNode.removeChild(t.$clipStyles), t.image.$container.parentNode.removeChild(t.image.$container), t.options.onDestroy && t.options.onDestroy.call(t), delete t.$item.jarallax, t) delete t[i] 5634 }, m.prototype.getImageSize = function (t, e) { 5635 if (t && e) { 5636 var n = new Image; 5637 n.onload = function () { 5638 e(n.width, n.height) 5639 }, n.src = t 5640 } 5641 }, m.prototype.clipContainer = function () { 5642 if (!w) { 5643 var t = this, 5644 e = t.image.$container.getBoundingClientRect(), 5645 n = e.width, 5646 i = e.height; 5647 if (!t.$clipStyles) t.$clipStyles = document.createElement("style"), t.$clipStyles.setAttribute("type", "text/css"), t.$clipStyles.setAttribute("id", "#jarallax-clip-" + t.instanceID), (document.head || document.getElementsByTagName("head")[0]).appendChild(t.$clipStyles); 5648 var o = ["#jarallax-container-" + t.instanceID + " {", " clip: rect(0 " + n + "px " + i + "px 0);", " clip: rect(0, " + n + "px, " + i + "px, 0);", "}"].join("\n"); 5649 t.$clipStyles.styleSheet ? t.$clipStyles.styleSheet.cssText = o : t.$clipStyles.innerHTML = o 5650 } 5651 }, m.prototype.coverImage = function () { 5652 var t = this; 5653 if (t.image.width && t.image.height) { 5654 var e = t.image.$container.getBoundingClientRect(), 5655 n = e.width, 5656 i = e.height, 5657 o = e.left, 5658 a = t.image.width, 5659 r = t.image.height, 5660 s = t.options.speed, 5661 l = "scroll" === t.options.type || "scroll-opacity" === t.options.type, 5662 u = 0, 5663 c = 0, 5664 d = i, 5665 p = 0, 5666 m = 0; 5667 l && (u = s * (i + g) / 2, (s < 0 || 1 < s) && (u = s * Math.max(i, g) / 2), s < 0 || 1 < s ? d = Math.max(i, g) + 2 * Math.abs(u) : d += Math.abs(g - i) * (1 - s)), (c = d * a / r) < n && (d = (c = n) * r / a), t.bgPosVerticalCenter = 0, !(l && d < g) || y && t.options.enableTransform || (t.bgPosVerticalCenter = (g - d) / 2, d = g), m = l ? (p = o + (n - c) / 2, (g - d) / 2) : (p = (n - c) / 2, (i - d) / 2), t.parentWithTransform && (p -= o), t.parallaxScrollDistance = u, t.css(t.image.$item, { 5668 width: c + "px", 5669 height: d + "px", 5670 marginLeft: p + "px", 5671 marginTop: m + "px" 5672 }), t.options.onCoverImage && t.options.onCoverImage.call(t) 5673 } 5674 }, m.prototype.isVisible = function () { 5675 return this.isElementInViewport || !1 5676 }, m.prototype.onScroll = function (t) { 5677 var e = this; 5678 if (e.image.width && e.image.height) { 5679 var n = e.$item.getBoundingClientRect(), 5680 i = n.top, 5681 o = n.height, 5682 a = { 5683 position: "absolute",
5684 visibility: "visible", 5685 backgroundPosition: "50% 50%" 5686 }; 5687 if (e.isElementInViewport = 0 <= n.bottom && 0 <= n.right && i <= g && n.left <= v, !(!t && !e.isElementInViewport)) { 5688 var r = Math.max(0, i), 5689 s = Math.max(0, o + i), 5690 l = Math.max(0, -i), 5691 u = Math.max(0, i + o - g), 5692 c = Math.max(0, o - (i + o - g)), 5693 d = Math.max(0, -i + g - o), 5694 p = 1 - 2 * (g - i) / (g + o), 5695 m = 1; 5696 if (o < g ? m = 1 - (l || u) / o : s <= g ? m = s / g : c <= g && (m = c / g), "opacity" !== e.options.type && "scale-opacity" !== e.options.type && "scroll-opacity" !== e.options.type || (a.transform = "translate3d(0, 0, 0)", a.opacity = m), "scale" === e.options.type || "scale-opacity" === e.options.type) { 5697 var f = 1; 5698 e.options.speed < 0 ? f -= e.options.speed * m : f += e.options.speed * (1 - m), a.transform = "scale(" + f + ") translate3d(0, 0, 0)" 5699 } 5700 if ("scroll" === e.options.type || "scroll-opacity" === e.options.type) { 5701 var h = e.parallaxScrollDistance * p; 5702 y && e.options.enableTransform ? (e.parentWithTransform && (h -= i), a.transform = "translate3d(0, " + h + "px, 0)") : (e.bgPosVerticalCenter && (h += e.bgPosVerticalCenter), a.backgroundPosition = "50% " + h + "px"), a.position = w ? "absolute" : "fixed" 5703 } 5704 e.css(e.image.$item, a), e.options.onScroll && e.options.onScroll.call(e, { 5705 section: n, 5706 beforeTop: r, 5707 beforeTopEnd: s, 5708 afterTop: l, 5709 beforeBottom: u, 5710 beforeBottomEnd: c, 5711 afterBottom: d, 5712 visiblePercent: m, 5713 fromViewportCenter: p 5714 }) 5715 } 5716 } 5717 }, t(o, "scroll", e), t(o, "resize", e), t(o, "orientationchange", e), t(o, "load", e); 5718 5719 function n(t) { 5720 ("object" == typeof HTMLElement ? t instanceof HTMLElement : t && "object" == typeof t && null !== t && 1 === t.nodeType && "string" == typeof t.nodeName) && (t = [t]); 5721 for (var e, n = arguments[1], i = Array.prototype.slice.call(arguments, 2), o = t.length, a = 0; a < o; a++) 5722 if ("object" == typeof n || void 0 === n ? t[a].jarallax || (t[a].jarallax = new m(t[a], n)) : t[a].jarallax && (e = t[a].jarallax[n].apply(t[a].jarallax, i)), void 0 !== e) return e; 5723 return t 5724 } 5725 n.constructor = m; 5726 var f = o.jarallax; 5727 if (o.jarallax = n, o.jarallax.noConflict = function () { 5728 return o.jarallax = f, this 5729 }, "undefined" != typeof jQuery) { 5730 var h = function () { 5731 var t = arguments || []; 5732 Array.prototype.unshift.call(t, this); 5733 var e = n.apply(o, t); 5734 return "object" != typeof e ? e : this 5735 }; 5736 h.constructor = m; 5737 var b = jQuery.fn.jarallax; 5738 jQuery.fn.jarallax = h, jQuery.fn.jarallax.noConflict = function () { 5739 return jQuery.fn.jarallax = b, this 5740 } 5741 } 5742 t(o, "DOMContentLoaded", function () { 5743 n(document.querySelectorAll("[data-jarallax]")) 5744 }) 5745 }(window), 5746 function (r) { 5747 "use strict"; 5748 5749 function t() { 5750 this._done = [], this._fail = [] 5751 } 5752 t.prototype = { 5753 execute: function (t, e) { 5754 var n = t.length; 5755 for (e = Array.prototype.slice.call(e); n--;) t[n].apply(null, e) 5756 }, 5757 resolve: function () { 5758 this.execute(this._done, arguments) 5759 }, 5760 reject: function () { 5761 this.execute(this._fail, arguments) 5762 }, 5763 done: function (t) { 5764 this._done.push(t) 5765 }, 5766 fail: function (t) { 5767 this._fail.push(t) 5768 } 5769 }; 5770 var i, e = (i = 0, function (t, e) { 5771 var n = this; 5772 n.url = t, n.options_default = { 5773 autoplay: 1, 5774 loop: 1, 5775 mute: 1, 5776 controls: 0 5777 }, n.options = function (t) { 5778 t = t || {}; 5779 for (var e = 1; e < arguments.length; e++) 5780 if (arguments[e]) 5781 for (var n in arguments[e]) arguments[e].hasOwnProperty(n) && (t[n] = arguments[e][n]); 5782 return t 5783 }({}, n.options_default, e), n.videoID = n.parseURL(t), n.videoID && (n.ID = i++, n.loadAPI(), n.init()) 5784 }); 5785 e.prototype.parseURL = function (t) { 5786 var e, n, i = !(!(e = t.match(/.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/)) || 11 !== e[1].length) && e[1], 5787 o = !(!(n = t.match(/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/)) || !n[3]) && n[3];
5788 return i ? (this.type = "youtube", i) : !!o && (this.type = "vimeo", o) 5789 }, e.prototype.isValid = function () { 5790 return !!this.videoID 5791 }, e.prototype.on = function (t, e) { 5792 this.userEventsList = this.userEventsList || [], (this.userEventsList[t] || (this.userEventsList[t] = [])).push(e) 5793 }, e.prototype.off = function (t, e) { 5794 if (this.userEventsList && this.userEventsList[t]) 5795 if (e) 5796 for (var n = 0; n < this.userEventsList[t].length; n++) this.userEventsList[t][n] === e && (this.userEventsList[t][n] = !1); 5797 else delete this.userEventsList[t] 5798 }, e.prototype.fire = function (t) { 5799 var e = [].slice.call(arguments, 1); 5800 if (this.userEventsList && void 0 !== this.userEventsList[t]) 5801 for (var n in this.userEventsList[t]) this.userEventsList[t][n] && this.userEventsList[t][n].apply(this, e) 5802 }, e.prototype.play = function () { 5803 this.player && ("youtube" === this.type && this.player.playVideo && this.player.playVideo(), "vimeo" === this.type && this.player.api("play")) 5804 }, e.prototype.pause = function () { 5805 this.player && ("youtube" === this.type && this.player.pauseVideo && this.player.pauseVideo(), "vimeo" === this.type && this.player.api("pause")) 5806 }, e.prototype.getImageURL = function (e) { 5807 var n = this; 5808 if (n.videoImage) e(n.videoImage); 5809 else if ("youtube" === n.type && (n.videoImage = "https://img.youtube.com/vi/" + n.videoID + "/maxresdefault.jpg", e(n.videoImage)), "vimeo" === n.type) { 5810 var t = new XMLHttpRequest; 5811 t.open("GET", "https://vimeo.com/api/v2/video/" + n.videoID + ".json", !0), t.onreadystatechange = function () { 5812 if (4 === this.readyState && 200 <= this.status && this.status < 400) { 5813 var t = JSON.parse(this.responseText); 5814 n.videoImage = t[0].thumbnail_large, e(n.videoImage) 5815 } 5816 }, t.send(), t = null 5817 } 5818 }, e.prototype.getIframe = function (o) { 5819 var a = this; 5820 a.$iframe ? o(a.$iframe) : a.onAPIready(function () { 5821 var t; 5822 if (a.$iframe || ((t = document.createElement("div")).style.display = "none"), "youtube" === a.type) { 5823 var e; 5824 a.playerOptions = {}, a.playerOptions.videoId = a.videoID, a.playerOptions.width = r.innerWidth || document.documentElement.clientWidth, a.playerOptions.playerVars = { 5825 autohide: 1, 5826 rel: 0, 5827 autoplay: 0 5828 }, a.options.controls || (a.playerOptions.playerVars.iv_load_policy = 3, a.playerOptions.playerVars.modestbranding = 1, a.playerOptions.playerVars.controls = 0, a.playerOptions.playerVars.showinfo = 0, a.playerOptions.playerVars.disablekb = 1), a.playerOptions.events = { 5829 onReady: function (t) { 5830 a.options.mute && t.target.mute(), a.options.autoplay && a.play(), a.fire("ready", t) 5831 }, 5832 onStateChange: function (t) { 5833 a.options.loop && t.data === YT.PlayerState.ENDED && t.target.playVideo(), e || t.data !== YT.PlayerState.PLAYING || (e = 1, a.fire("started", t)), t.data === YT.PlayerState.PLAYING && a.fire("play", t), t.data === YT.PlayerState.PAUSED && a.fire("pause", t), t.data === YT.PlayerState.ENDED && a.fire("end", t) 5834 } 5835 }; 5836 var n = !a.$iframe; 5837 if (n) { 5838 var i = document.createElement("div"); 5839 i.setAttribute("id", a.playerID), t.appendChild(i), document.body.appendChild(t) 5840 } 5841 a.player = a.player || new r.YT.Player(a.playerID, a.playerOptions), n && (a.$iframe = document.getElementById(a.playerID)) 5842 } 5843 "vimeo" === a.type && (a.playerOptions = "", a.playerOptions += "player_id=" + a.playerID, a.playerOptions += "&autopause=0", a.options.controls || (a.playerOptions += "&badge=0&byline=0&portrait=0&title=0"), a.playerOptions += "&autoplay=0", a.playerOptions += "&loop=" + (a.options.loop ? 1 : 0), a.$iframe || (a.$iframe = document.createElement("iframe"), a.$iframe.setAttribute("id", a.playerID), a.$iframe.setAttribute("src", "https://player.vimeo.com/video/" + a.videoID + "?" + a.playerOptions), a.$iframe.setAttribute("frameborder", "0"), t.appendChild(a.$iframe), document.body.appendChild(t)), a.player = a.player || $f(a.$iframe), a.player.addEvent("ready", function (t) { 5844 var e; 5845 a.player.api("setVolume", a.options.mute ? 0 : 100), a.options.autoplay && a.play(), a.player.addEvent("playProgress", function (t) { 5846 e || a.fire("started", t), e = 1 5847 }), a.player.addEvent("play", function (t) { 5848 a.fire("play", t) 5849 }), a.player.addEvent("pause", function (t) { 5850 a.fire("pause", t) 5851 }), a.player.addEvent("finish", function (t) { 5852 a.fire("end", t) 5853 }), a.fire("ready", t) 5854 })), o(a.$iframe) 5855 }) 5856 }, e.prototype.init = function () { 5857 this.playerID = "VideoWorker-" + this.ID 5858 }; 5859 var o = 0, 5860 a = 0; 5861 e.prototype.loadAPI = function () { 5862 if (!o || !a) { 5863 var t = ""; 5864 "youtube" !== this.type || o || (o = 1, t = "//www.youtube.com/iframe_api"), "vimeo" !== this.type || a || (a = 1, t = "//f.vimeocdn.com/js/froogaloop2.min.js"), "f
5864ile://" === r.location.origin && (t = "http:" + t); 5865 var e = document.createElement("script"), 5866 n = document.getElementsByTagName("head")[0]; 5867 e.src = t, n.appendChild(e), e = n = null 5868 } 5869 }; 5870 var n = 0, 5871 s = 0, 5872 l = new t, 5873 u = new t; 5874 e.prototype.onAPIready = function (t) { 5875 if ("youtube" === this.type && ("undefined" != typeof YT && 0 !== YT.loaded || n ? "object" == typeof YT && 1 === YT.loaded ? t() : l.done(function () { 5876 t() 5877 }) : (n = 1, r.onYouTubeIframeAPIReady = function () { 5878 r.onYouTubeIframeAPIReady = null, l.resolve("done"), t() 5879 })), "vimeo" === this.type) 5880 if ("undefined" != typeof $f || s) "undefined" != typeof $f ? t() : u.done(function () { 5881 t() 5882 }); 5883 else { 5884 s = 1; 5885 var e = setInterval(function () { 5886 "undefined" != typeof $f && (clearInterval(e), u.resolve("done"), t()) 5887 }, 20) 5888 } 5889 }, r.VideoWorker = e 5890 }(window), 5891 function () { 5892 "use strict"; 5893 if ("undefined" != typeof jarallax) { 5894 var t = jarallax.constructor, 5895 n = t.prototype.init; 5896 t.prototype.init = function () { 5897 var e = this; 5898 n.apply(e), e.video && e.video.getIframe(function (t) { 5899 e.css(t, { 5900 position: "fixed", 5901 top: "0px", 5902 left: "0px", 5903 right: "0px", 5904 bottom: "0px", 5905 width: "100%", 5906 height: "100%", 5907 visibility: "visible", 5908 zIndex: -1 5909 }), e.$video = t, e.image.$container.appendChild(t) 5910 }) 5911 }; 5912 var e = t.prototype.coverImage; 5913 t.prototype.coverImage = function () { 5914 var t = this; 5915 e.apply(t), t.video && "IFRAME" === t.image.$item.nodeName && t.css(t.image.$item, { 5916 height: t.image.$item.getBoundingClientRect().height + 400 + "px", 5917 top: "-200px", 5918 left: "45px" 5919 }) 5920 }; 5921 var i = t.prototype.initImg; 5922 t.prototype.initImg = function () { 5923 var e = this; 5924 if (e.options.videoSrc || (e.options.videoSrc = e.$item.getAttribute("data-jarallax-video") || !1), e.options.videoSrc) { 5925 var n = new VideoWorker(e.options.videoSrc); 5926 return n.isValid() && (e.image.useImgTag = !0, n.on("ready", function () { 5927 var t = e.onScroll; 5928 e.onScroll = function () { 5929 t.apply(e), e.isVisible() ? n.play() : n.pause() 5930 } 5931 }), n.on("started", function () { 5932 e.image.$default_item = e.image.$item, e.image.$item = e.$video, e.image.width = e.imgWidth = 1280, e.image.height = e.imgHeight = 720, e.coverImage(), e.clipContainer(), e.onScroll(), e.image.$default_item && (e.image.$default_item.style.display = "none") 5933 }), (e.video = n).getImageURL(function (t) { 5934 e.image.src = t, e.init() 5935 })), !1 5936 } 5937 return i.apply(e) 5938 }; 5939 var o = t.prototype.destroy; 5940 t.prototype.destroy = function () { 5941 o.apply(this) 5942 } 5943 } 5944 }(), 5945 function (i) { 5946 i(document).ready(function () { 5947 var n; 5948 n = !!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), i(window).on("resize", function () { 5949 var e = Math.max(i(window).width(), window.innerWidth), 5950 t = i(".has-submenu"); 5951 991 < e && t.removeClass("submenu-open"), 991 < e && !0 !== n ? (t.children("a").unbind("click"), t.unbind("mouseenter mouseleave"), t.on({ 5952 mouseenter: function () { 5953 i(this).addClass("submenu-open") 5954 }, 5955 mouseleave: function () { 5956 i(this).removeClass("submenu-open") 5957 } 5958 })) : (t.unbind("mouseenter mouseleave"), t.children("a").unbind("click").click(function (t) { 5959 t.preventDefault(), i(this).parent().toggleClass("submenu-open"), 991 < e && 1 == n && (i(this).parent().siblings().removeClass("submenu-open"), i(this).parent().siblings().find(".submenu-open").removeClass("submenu-open")) 5960 })) 5961 }) 5962 }) 5963 }(jQuery), 5964 function (l) { 5965 l(document).ready(function () { 5966 l("#contact-form").find("input,textarea").jqBootstrapValidation({ 5967 preventSubmit: !0, 5968 submitError: function (t, e, n) {}, 5969 submitSuccess: function (e, t) { 5970 t.preventDefault(); 5971 var n = l("#contact-form submit"), 5972 i = l("#contact-response"), 5973 o = l('#contact-form [name="name"]').val(), 5974 a = l('#contact-form [name="lastname"]').val(), 5975 r = l('#contact-form [name="email"]').val(), 5976 s = l('#contact-form [name="message"]').val(); 5977 l.ajax({
5978 type: "POST", 5979 url: "assets/php/contact.php", 5980 dataType: "json", 5981 data: { 5982 name: o, 5983 lastname: a, 5984 email: r, 5985 message: s 5986 }, 5987 cache: !1, 5988 beforeSend: function (t) { 5989 n.empty(), n.append('<i class="fa fa-cog fa-spin"></i> Wait...') 5990 }, 5991 success: function (t) { 5992 1 == t.sendstatus ? (i.html(t.message), e.fadeOut(500)) : i.html(t.message) 5993 } 5994 }) 5995 } 5996 }) 5997 }) 5998 }(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.