PageSourceSearch

https://www.ohioshrm.org/assets/js/plugins.junk.js

js ohioshrm.org collected 2026-10-03 21:22:24 UTC 258,932 bytes, 5,998 lines download raw bytes

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">&#215;</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.