PageSourceSearch

https://loyolapress.com/static/global.js

js loyolapress.com collected 2026-10-01 10:30:00 UTC 300,374 bytes, 1,373 lines download raw bytes

vendor: 11,131 bytes, lines 1-127
1function getBreakpoint() { var e = window.innerWidth; return e < 768 ? "xs" : e < 992 ? "sm" : e < 1200 ? "md" : "lg" }
2
3function isPageEditor() { return "undefined" != typeof Sitecore && (void 0 !== Sitecore.PageModes && null != Sitecore.PageModes && null != Sitecore.PageModes.PageEditor) }
4
5function setHash(e) { if (isPageEditor()) { var t = $(e).find("a[href^=#]");
6        t.length > 0 && t.attr("href").length > 0 && (window.location.hash = t.attr("href")) } }
7var $navSection, $doubleNavSection, i;
8if (function(e, t) { "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return t(e) } : t(e) }("undefined" != typeof window ? window : this, function(e, t) {
9        function n(e) { var t = "length" in e && e.length,
10                n = ve.type(e); return "function" !== n && !ve.isWindow(e) && (!(1 !== e.nodeType || !t) || ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)) }
11
12        function i(e, t, n) { if (ve.isFunction(t)) return ve.grep(e, function(e, i) { return !!t.call(e, i, e) !== n }); if (t.nodeType) return ve.grep(e, function(e) { return e === t !== n }); if ("string" == typeof t) { if (Pe.test(t)) return ve.filter(t, e, n);
13                t = ve.filter(t, e) } return ve.grep(e, function(e) { return pe.call(t, e) >= 0 !== n }) }
14
15        function o(e, t) { for (;
16                (e = e[t]) && 1 !== e.nodeType;); return e }
17
18        function r(e) { var t = j[e] = {}; return ve.each(e.match(W) || [], function(e, n) { t[n] = !0 }), t }
19
20        function a() { be.removeEventListener("DOMContentLoaded", a, !1), e.removeEventListener("load", a, !1), ve.ready() }
21
22        function s() { Object.defineProperty(this.cache = {}, 0, { get: function() { return {} } }), this.expando = ve.expando + s.uid++ }
23
24        function l(e, t, n) { var i; if (void 0 === n && 1 === e.nodeType)
25                if (i = "data-" + t.replace(Ee, "-$1").toLowerCase(), "string" == typeof(n = e.getAttribute(i))) { try { n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : Ge.test(n) ? ve.parseJSON(n) : n) } catch (e) {} xe.set(e, t, n) } else n = void 0; return n }
26
27        function c() { return !0 }
28
29        function d() { return !1 }
30
31        function u() { try { return be.activeElement } catch (e) {} }
32
33        function f(e, t) { return ve.nodeName(e, "table") && ve.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e }
34
35        function p(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e }
36
37        function h(e) { var t = Ue.exec(e.type); return t ? e.type = t[1] : e.removeAttribute("type"), e }
38
39        function m(e, t) { for (var n = 0, i = e.length; i > n; n++) De.set(e[n], "globalEval", !t || De.get(t[n], "globalEval")) }
40
41        function g(e, t) { var n, i, o, r, a, s, l, c; if (1 === t.nodeType) { if (De.hasData(e) && (r = De.access(e), a = De.set(t, r), c = r.events))
42                    for (o in delete a.handle, a.events = {}, c)
43                        for (n = 0, i = c[o].length; i > n; n++) ve.event.add(t, o, c[o][n]);
44                xe.hasData(e) && (s = xe.access(e), l = ve.extend({}, s), xe.set(t, l)) } }
45
46        function T(e, t) { var n = e.getElementsByTagName ? e.getElementsByTagName(t || "*") : e.querySelectorAll ? e.querySelectorAll(t || "*") : []; return void 0 === t || t && ve.nodeName(e, t) ? ve.merge([e], n) : n }
47
48        function b(e, t) { var n = t.nodeName.toLowerCase(); "input" === n && Be.test(e.type) ? t.checked = e.checked : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue) }
49
50        function v(t, n) { var i, o = ve(n.createElement(t)).appendTo(n.body),
51                r = e.getDefaultComputedStyle && (i = e.getDefaultComputedStyle(o[0])) ? i.display : ve.css(o[0], "display"); return o.detach(), r }
52
53        function y(e) { var t = be,
54                n = K[e]; return n || ("none" !== (n = v(e, t)) && n || ((t = (q = (q || ve("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement))[0].contentDocument).write(), t.close(), n = v(e, t), q.detach()), K[e] = n), n }
55
56        function S(e, t, n) { var i, o, r, a, s = e.style; return (n = n || ze(e)) && (a = n.getPropertyValue(t) || n[t]), n && ("" !== a || ve.contains(e.ownerDocument, e) || (a = ve.style(e, t)), Ke.test(a) && qe.test(t) && (i = s.width, o = s.minWidth, r = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = i, s.minWidth = o, s.maxWidth = r)), void 0 !== a ? a + "" : a }
57
58        function w(e, t) { return { get: function() { return e() ? void delete this.get : (this.get = t).apply(this, arguments) } } }
59
60        function C(e, t) { if (t in e) return t; for (var n = t[0].toUpperCase() + t.slice(1), i = t, o = nt.length; o--;)
61                if ((t = nt[o] + n) in e) return t; return i }
62
63        function M(e, t, n) { var i = Ze.exec(t); return i ? Math.max(0, i[1] - (n || 0)) + (i[2] || "px") : t }
64
65        function A(e, t, n, i, o) { for (var r = n === (i ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; 4 > r; r += 2) "margin" === n && (a += ve.css(e, n + He[r], !0, o)), i ? ("content" === n && (a -= ve.css(e, "padding" + He[r], !0, o)), "margin" !== n && (a -= ve.css(e, "border" + He[r] + "Width", !0, o))) : (a += ve.css(e, "padding" + He[r], !0, o), "padding" !== n && (a += ve.css(e, "border" + He[r] + "Width", !0, o))); return a }
66
67        function P(e, t, n) { var i = !0,
68                o = "width" === t ? e.offsetWidth : e.offsetHeight,
69                r = ze(e),
70                a = "border-box" === ve.css(e, "boxSizing", !1, r); if (0 >= o || null == o) { if ((0 > (o = S(e, t, r)) || null == o) && (o = e.style[t]), Ke.test(o)) return o;
71                i = a && (Te.boxSizingReliable() || o === e.style[t]), o = parseFloat(o) || 0 } return o + A(e, t, n || (a ? "border" : "content"), i, r) + "px" }
72
73        function D(e, t) { for (var n, i, o, r = [], a = 0, s = e.length; s > a; a++)(i = e[a]).style && (r[a] = De.get(i, "olddisplay"), n = i.style.display, t ? (r[a] || "none" !== n || (i.style.display = ""), "" === i.style.display && Ie(i) && (r[a] = De.access(i, "olddisplay", y(i.nodeName)))) : (o = Ie(i), "none" === n && o || De.set(i, "olddisplay", o ? n : ve.css(i, "display")))); for (a = 0; s > a; a++)(i = e[a]).style && (t && "none" !== i.style.display && "" !== i.style.display || (i.style.display = t ? r[a] || "" : "none")); return e }
74
75        function x(e, t, n, i, o) { return new x.prototype.init(e, t, n, i, o) }
76
77        function G() { return setTimeout(function() { it = void 0 }), it = ve.now() }
78
79        function E(e, t) { var n, i = 0,
80                o = { height: e }; for (t = t ? 1 : 0; 4 > i; i += 2 - t) o["margin" + (n = He[i])] = o["padding" + n] = e; return t && (o.opacity = o.width = e), o }
81
82        function k(e, t, n) { for (var i, o = (ct[t] || []).concat(ct["*"]), r = 0, a = o.length; a > r; r++)
83                if (i = o[r].call(n, t, e)) return i }
84
85        function H(e, t, n) { var i, o, r = 0,
86                a = lt.length,
87                s = ve.Deferred().always(function() { delete l.elem }),
88                l = function() { if (o) return !1; for (var t = it || G(), n = Math.max(0, c.startTime + c.duration - t), i = 1 - (n / c.duration || 0), r = 0, a = c.tweens.length; a > r; r++) c.tweens[r].run(i); return s.notifyWith(e, [c, i, n]), 1 > i && a ? n : (s.resolveWith(e, [c]), !1) },
89                c = s.promise({ elem: e, props: ve.extend({}, t), opts: ve.extend(!0, { specialEasing: {} }, n), originalProperties: t, originalOptions: n, startTime: it || G(), duration: n.duration, tweens: [], createTween: function(t, n) { var i = ve.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing); return c.tweens.push(i), i }, stop: function(t) { var n = 0,
90                            i = t ? c.tweens.length : 0; if (o) return this; for (o = !0; i > n; n++) c.tweens[n].run(1); return t ? s.resolveWith(e, [c, t]) : s.rejectWith(e, [c, t]), this } }),
91                d = c.props; for (function(e, t) { var n, i, o, r, a; for (n in e)
92                        if (o = t[i = ve.camelCase(n)], r = e[n], ve.isArray(r) && (o = r[1], r = e[n] = r[0]), n !== i && (e[i] = r, delete e[n]), (a = ve.cssHooks[i]) && "expand" in a)
93                            for (n in r = a.expand(r), delete e[i], r) n in e || (e[n] = r[n], t[n] = o);
94                        else t[i] = o }(d, c.opts.specialEasing); a > r; r++)
95                if (i = lt[r].call(c, e, d, c.opts)) return i; return ve.map(d, k, c), ve.isFunction(c.opts.start) && c.opts.start.call(e, c), ve.fx.timer(ve.extend(l, { elem: e, anim: c, queue: c.opts.queue })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always) }
96
97        function I(e) { return function(t, n) { "string" != typeof t && (n = t, t = "*"); var i, o = 0,
98                    r = t.toLowerCase().match(W) || []; if (ve.isFunction(n))
99                    for (; i = r[o++];) "+" === i[0] ? (i = i.slice(1) || "*", (e[i] = e[i] || []).unshift(n)) : (e[i] = e[i] || []).push(n) } }
100
101        function B(e, t, n, i) {
102            function o(s) { var l; return r[s] = !0, ve.each(e[s] || [], function(e, s) { var c = s(t, n, i); return "string" != typeof c || a || r[c] ? a ? !(l = c) : void 0 : (t.dataTypes.unshift(c), o(c), !1) }), l } var r = {},
103                a = e === Tt; return o(t.dataTypes[0]) || !r["*"] && o("*") }
104
105        function N(e, t) { var n, i, o = ve.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((o[n] ? e : i || (i = {}))[n] = t[n]); return i && ve.extend(!0, e, i), e }
106
107        function O(e, t, n, i) { var o; if (ve.isArray(t)) ve.each(t, function(t, o) { n || wt.test(e) ? i(e, o) : O(e + "[" + ("object" == typeof o ? t : "") + "]", o, n, i) });
108            else if (n || "object" !== ve.type(t)) i(e, t);
109            else
110                for (o in t) O(e + "[" + o + "]", t[o], n, i) }
111
112        function _(e) { return ve.isWindow(e) ? e : 9 === e.nodeType && e.defaultView } var L, $, R, V, F, W, j, U, Y, X, q, K, z, Q, Z, J, ee, te, ne, ie, oe, re, ae, se, le, ce = [],
113            de = ce.slice,
114            ue = ce.concat,
115            fe = ce.push,
116            pe = ce.indexOf,
117            he = {},
118            me = he.toString,
119            ge = he.hasOwnProperty,
120            Te = {},
121            be = e.document,
122            ve = function(e, t) { return new ve.fn.init(e, t) },
123            ye = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
124            Se = /^-ms-/,
125            we = /-([\da-z])/gi,
126            Ce = function(e, t) { return t.toUpperCase() };
127        ve.fn = ve.prototype = { jquery: "3.4.1", constructor: ve, selector: "", length: 0, toArray: function() { return de.call(this) }, get: function(e) { return null != e ? 0 > e ? this[e + this.length] : this[e] : de.call(this) }, pushStack: function(e) { var t = ve.merge(this.constructor(), e);
vendor: 17,247 bytes, lines 127-262
127 return t.prevObject = this, t.context = this.context, t }, each: function(e, t) { return ve.each(this, e, t) }, map: function(e) { return this.pushStack(ve.map(this, function(t, n) { return e.call(t, n, t) })) }, slice: function() { return this.pushStack(de.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(e) { var t = this.length,
128                    n = +e + (0 > e ? t : 0); return this.pushStack(n >= 0 && t > n ? [this[n]] : []) }, end: function() { return this.prevObject || this.constructor(null) }, push: fe, sort: ce.sort, splice: ce.splice }, ve.extend = ve.fn.extend = function() { var e, t, n, i, o, r, a = arguments[0] || {},
129                s = 1,
130                l = arguments.length,
131                c = !1; for ("boolean" == typeof a && (c = a, a = arguments[s] || {}, s++), "object" == typeof a || ve.isFunction(a) || (a = {}), s === l && (a = this, s--); l > s; s++)
132                if (null != (e = arguments[s]))
133                    for (t in e) n = a[t], a !== (i = e[t]) && (c && i && (ve.isPlainObject(i) || (o = ve.isArray(i))) ? (o ? (o = !1, r = n && ve.isArray(n) ? n : []) : r = n && ve.isPlainObject(n) ? n : {}, a[t] = ve.extend(c, r, i)) : void 0 !== i && (a[t] = i)); return a }, ve.extend({ expando: "jQuery" + ("3.4.1" + Math.random()).replace(/\D/g, ""), isReady: !0, error: function(e) { throw new Error(e) }, noop: function() {}, isFunction: function(e) { return "function" === ve.type(e) }, isArray: Array.isArray, isWindow: function(e) { return null != e && e === e.window }, isNumeric: function(e) { return !ve.isArray(e) && e - parseFloat(e) + 1 >= 0 }, isPlainObject: function(e) { return "object" === ve.type(e) && !e.nodeType && !ve.isWindow(e) && !(e.constructor && !ge.call(e.constructor.prototype, "isPrototypeOf")) }, isEmptyObject: function(e) { var t; for (t in e) return !1; return !0 }, type: function(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? he[me.call(e)] || "object" : typeof e }, globalEval: function(e) { var t, n = eval;
134                (e = ve.trim(e)) && (1 === e.indexOf("use strict") ? ((t = be.createElement("script")).text = e, be.head.appendChild(t).parentNode.removeChild(t)) : n(e)) }, camelCase: function(e) { return e.replace(Se, "ms-").replace(we, Ce) }, nodeName: function(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() }, each: function(e, t, i) { var o = 0,
135                    r = e.length,
136                    a = n(e); if (i) { if (a)
137                        for (; r > o && !1 !== t.apply(e[o], i); o++);
138                    else
139                        for (o in e)
140                            if (!1 === t.apply(e[o], i)) break } else if (a)
141                    for (; r > o && !1 !== t.call(e[o], o, e[o]); o++);
142                else
143                    for (o in e)
144                        if (!1 === t.call(e[o], o, e[o])) break; return e }, trim: function(e) { return null == e ? "" : (e + "").replace(ye, "") }, makeArray: function(e, t) { var i = t || []; return null != e && (n(Object(e)) ? ve.merge(i, "string" == typeof e ? [e] : e) : fe.call(i, e)), i }, inArray: function(e, t, n) { return null == t ? -1 : pe.call(t, e, n) }, merge: function(e, t) { for (var n = +t.length, i = 0, o = e.length; n > i; i++) e[o++] = t[i]; return e.length = o, e }, grep: function(e, t, n) { for (var i = [], o = 0, r = e.length, a = !n; r > o; o++) !t(e[o], o) !== a && i.push(e[o]); return i }, map: function(e, t, i) { var o, r = 0,
145                    a = e.length,
146                    s = []; if (n(e))
147                    for (; a > r; r++) null != (o = t(e[r], r, i)) && s.push(o);
148                else
149                    for (r in e) null != (o = t(e[r], r, i)) && s.push(o); return ue.apply([], s) }, guid: 1, proxy: function(e, t) { var n, i, o; return "string" == typeof t && (n = e[t], t = e, e = n), ve.isFunction(e) ? (i = de.call(arguments, 2), (o = function() { return e.apply(t || this, i.concat(de.call(arguments))) }).guid = e.guid = e.guid || ve.guid++, o) : void 0 }, now: Date.now, support: Te }), ve.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(e, t) { he["[object " + t + "]"] = t.toLowerCase() }), L = function(e) {
150            function t(e, t, n, i) { var o, r, a, s, l, c, u, p, h, m; if ((t ? t.ownerDocument || t : R) !== H && k(t), n = n || [], s = (t = t || H).nodeType, "string" != typeof e || !e || 1 !== s && 9 !== s && 11 !== s) return n; if (!i && B) { if (11 !== s && (o = be.exec(e)))
151                        if (a = o[1]) { if (9 === s) { if (!(r = t.getElementById(a)) || !r.parentNode) return n; if (r.id === a) return n.push(r), n } else if (t.ownerDocument && (r = t.ownerDocument.getElementById(a)) && L(t, r) && r.id === a) return n.push(r), n } else { if (o[2]) return Z.apply(n, t.getElementsByTagName(e)), n; if ((a = o[3]) && S.getElementsByClassName) return Z.apply(n, t.getElementsByClassName(a)), n } if (S.qsa && (!N || !N.test(e))) { if (p = u = $, h = t, m = 1 !== s && e, 1 === s && "object" !== t.nodeName.toLowerCase()) { for (c = A(e), (u = t.getAttribute("id")) ? p = u.replace(ye, "\\$&") : t.setAttribute("id", p), p = "[id='" + p + "'] ", l = c.length; l--;) c[l] = p + f(c[l]);
152                            h = ve.test(e) && d(t.parentNode) || t, m = c.join(",") } if (m) try { return Z.apply(n, h.querySelectorAll(m)), n } catch (e) {} finally { u || t.removeAttribute("id") } } } return D(e.replace(le, "$1"), t, n, i) }
153
154            function n() { var e = []; return function t(n, i) { return e.push(n + " ") > w.cacheLength && delete t[e.shift()], t[n + " "] = i } }
155
156            function i(e) { return e[$] = !0, e }
157
158            function o(e) { var t = H.createElement("div"); try { return !!e(t) } catch (e) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } }
159
160            function r(e, t) { for (var n = e.split("|"), i = e.length; i--;) w.attrHandle[n[i]] = t }
161
162            function a(e, t) { var n = t && e,
163                    i = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || X) - (~e.sourceIndex || X); if (i) return i; if (n)
164                    for (; n = n.nextSibling;)
165                        if (n === t) return -1; return e ? 1 : -1 }
166
167            function s(e) { return function(t) { return "input" === t.nodeName.toLowerCase() && t.type === e } }
168
169            function l(e) { return function(t) { var n = t.nodeName.toLowerCase(); return ("input" === n || "button" === n) && t.type === e } }
170
171            function c(e) { return i(function(t) { return t = +t, i(function(n, i) { for (var o, r = e([], n.length, t), a = r.length; a--;) n[o = r[a]] && (n[o] = !(i[o] = n[o])) }) }) }
172
173            function d(e) { return e && void 0 !== e.getElementsByTagName && e }
174
175            function u() {}
176
177            function f(e) { for (var t = 0, n = e.length, i = ""; n > t; t++) i += e[t].value; return i }
178
179            function p(e, t, n) { var i = t.dir,
180                    o = n && "parentNode" === i,
181                    r = F++; return t.first ? function(t, n, r) { for (; t = t[i];)
182                        if (1 === t.nodeType || o) return e(t, n, r) } : function(t, n, a) { var s, l, c = [V, r]; if (a) { for (; t = t[i];)
183                            if ((1 === t.nodeType || o) && e(t, n, a)) return !0 } else
184                        for (; t = t[i];)
185                            if (1 === t.nodeType || o) { if ((s = (l = t[$] || (t[$] = {}))[i]) && s[0] === V && s[1] === r) return c[2] = s[2]; if (l[i] = c, c[2] = e(t, n, a)) return !0 } } }
186
187            function h(e) { return e.length > 1 ? function(t, n, i) { for (var o = e.length; o--;)
188                        if (!e[o](t, n, i)) return !1; return !0 } : e[0] }
189
190            function m(e, n, i) { for (var o = 0, r = n.length; r > o; o++) t(e, n[o], i); return i }
191
192            function g(e, t, n, i, o) { for (var r, a = [], s = 0, l = e.length, c = null != t; l > s; s++)(r = e[s]) && (!n || n(r, i, o)) && (a.push(r), c && t.push(s)); return a }
193
194            function T(e, t, n, o, r, a) { return o && !o[$] && (o = T(o)), r && !r[$] && (r = T(r, a)), i(function(i, a, s, l) { var c, d, u, f = [],
195                        p = [],
196                        h = a.length,
197                        T = i || m(t || "*", s.nodeType ? [s] : s, []),
198                        b = !e || !i && t ? T : g(T, f, e, s, l),
199                        v = n ? r || (i ? e : h || o) ? [] : a : b; if (n && n(b, v, s, l), o)
200                        for (c = g(v, p), o(c, [], s, l), d = c.length; d--;)(u = c[d]) && (v[p[d]] = !(b[p[d]] = u)); if (i) { if (r || e) { if (r) { for (c = [], d = v.length; d--;)(u = v[d]) && c.push(b[d] = u);
201                                r(null, v = [], c, l) } for (d = v.length; d--;)(u = v[d]) && (c = r ? ee(i, u) : f[d]) > -1 && (i[c] = !(a[c] = u)) } } else v = g(v === a ? v.splice(h, v.length) : v), r ? r(null, a, v, l) : Z.apply(a, v) }) }
202
203            function b(e) { for (var t, n, i, o = e.length, r = w.relative[e[0].type], a = r || w.relative[" "], s = r ? 1 : 0, l = p(function(e) { return e === t }, a, !0), c = p(function(e) { return ee(t, e) > -1 }, a, !0), d = [function(e, n, i) { var o = !r && (i || n !== x) || ((t = n).nodeType ? l(e, n, i) : c(e, n, i)); return t = null, o }]; o > s; s++)
204                    if (n = w.relative[e[s].type]) d = [p(h(d), n)];
205                    else { if ((n = w.filter[e[s].type].apply(null, e[s].matches))[$]) { for (i = ++s; o > i && !w.relative[e[i].type]; i++); return T(s > 1 && h(d), s > 1 && f(e.slice(0, s - 1).concat({ value: " " === e[s - 2].type ? "*" : "" })).replace(le, "$1"), n, i > s && b(e.slice(s, i)), o > i && b(e = e.slice(i)), o > i && f(e)) } d.push(n) } return h(d) }
206
207            function v(e, n) { var o = n.length > 0,
208                    r = e.length > 0,
209                    a = function(i, a, s, l, c) { var d, u, f, p = 0,
210                            h = "0",
211                            m = i && [],
212                            T = [],
213                            b = x,
214                            v = i || r && w.find.TAG("*", c),
215                            y = V += null == b ? 1 : Math.random() || .1,
216                            S = v.length; for (c && (x = a !== H && a); h !== S && null != (d = v[h]); h++) { if (r && d) { for (u = 0; f = e[u++];)
217                                    if (f(d, a, s)) { l.push(d); break } c && (V = y) } o && ((d = !f && d) && p--, i && m.push(d)) } if (p += h, o && h !== p) { for (u = 0; f = n[u++];) f(m, T, a, s); if (i) { if (p > 0)
218                                    for (; h--;) m[h] || T[h] || (T[h] = z.call(l));
219                                T = g(T) } Z.apply(l, T), c && !i && T.length > 0 && p + n.length > 1 && t.uniqueSort(l) } return c && (V = y, x = b), m }; return o ? i(a) : a } var y, S, w, C, M, A, P, D, x, G, E, k, H, I, B, N, O, _, L, $ = "sizzle" + 1 * new Date,
220                R = e.document,
221                V = 0,
222                F = 0,
223                W = n(),
224                j = n(),
225                U = n(),
226                Y = function(e, t) { return e === t && (E = !0), 0 },
227                X = -2147483648,
228                q = {}.hasOwnProperty,
229                K = [],
230                z = K.pop,
231                Q = K.push,
232                Z = K.push,
233                J = K.slice,
234                ee = function(e, t) { for (var n = 0, i = e.length; i > n; n++)
235                        if (e[n] === t) return n; return -1 },
236                te = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
237                ne = "[\\x20\\t\\r\\n\\f]",
238                ie = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
239                oe = ie.replace("w", "w#"),
240                re = "\\[" + ne + "*(" + ie + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + oe + "))|)" + ne + "*\\]",
241                ae = ":(" + ie + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + re + ")*)|.*)\\)|)",
242                se = new RegExp(ne + "+", "g"),
243                le = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne + "+$", "g"),
244                ce = new RegExp("^" + ne + "*," + ne + "*"),
245                de = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"),
246                ue = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]", "g"),
247                fe = new RegExp(ae),
248                pe = new RegExp("^" + oe + "$"),
249                he = { ID: new RegExp("^#(" + ie + ")"), CLASS: new RegExp("^\\.(" + ie + ")"), TAG: new RegExp("^(" + ie.replace("w", "w*") + ")"), ATTR: new RegExp("^" + re), PSEUDO: new RegExp("^" + ae), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne + "*\\)|)", "i"), bool: new RegExp("^(?:" + te + ")$", "i"), needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne + "*\\)|)(?=[^-]|$)", "i") },
250                me = /^(?:input|select|textarea|button)$/i,
251                ge = /^h\d$/i,
252                Te = /^[^{]+\{\s*\[native \w/,
253                be = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
254                ve = /[+~]/,
255                ye = /'|\\/g,
256                Se = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne + ")|.)", "ig"),
257                we = function(e, t, n) { var i = "0x" + t - 65536; return i != i || n ? t : 0 > i ? String.fromCharCode(i + 65536) : String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320) },
258                Ce = function() { k() }; try { Z.apply(K = J.call(R.childNodes), R.childNodes), K[R.childNodes.length].nodeType } catch (e) { Z = { apply: K.length ? function(e, t) { Q.apply(e, J.call(t)) } : function(e, t) { for (var n = e.length, i = 0; e[n++] = t[i++];);
259                        e.length = n - 1 } } } for (y in S = t.support = {}, M = t.isXML = function(e) { var t = e && (e.ownerDocument || e).documentElement; return !!t && "HTML" !== t.nodeName }, k = t.setDocument = function(e) { var t, n, i = e ? e.ownerDocument || e : R; return i !== H && 9 === i.nodeType && i.documentElement ? (H = i, I = i.documentElement, (n = i.defaultView) && n !== n.top && (n.addEventListener ? n.addEventListener("unload", Ce, !1) : n.attachEvent && n.attachEvent("onunload", Ce)), B = !M(i), S.attributes = o(function(e) { return e.className = "i", !e.getAttribute("className") }), S.getElementsByTagName = o(function(e) { return e.appendChild(i.createComment("")), !e.getElementsByTagName("*").length }), S.getElementsByClassName = Te.test(i.getElementsByClassName), S.getById = o(function(e) { return I.appendChild(e).id = $, !i.getElementsByName || !i.getElementsByName($).length }), S.getById ? (w.find.ID = function(e, t) { if (void 0 !== t.getElementById && B) { var n = t.getElementById(e); return n && n.parentNode ? [n] : [] } }, w.filter.ID = function(e) { var t = e.replace(Se, we); return function(e) { return e.getAttribute("id") === t } }) : (delete w.find.ID, w.filter.ID = function(e) { var t = e.replace(Se, we); return function(e) { var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id"); return n && n.value === t } }), w.find.TAG = S.getElementsByTagName ? function(e, t) { return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : S.qsa ? t.querySelectorAll(e) : void 0 } : function(e, t) { var n, i = [],
260                            o = 0,
261                            r = t.getElementsByTagName(e); if ("*" === e) { for (; n = r[o++];) 1 === n.nodeType && i.push(n); return i } return r }, w.find.CLASS = S.getElementsByClassName && function(e, t) { if (B) return t.getElementsByClassName(e) }, O = [], N = [], (S.qsa = Te.test(i.querySelectorAll)) && (o(function(e) { I.appendChild(e).innerHTML = "<a id='" + $ + "'></a><select id='" + $ + "-\f]' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && N.push("[*^$]=" + ne + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || N.push("\\[" + ne + "*(?:value|" + te + ")"), e.querySelectorAll("[id~=" + $ + "-]").length || N.push("~="), e.querySelectorAll(":checked").length || N.push(":checked"), e.querySelectorAll("a#" + $ + "+*").length || N.push(".#.+[+~]") }), o(function(e) { var t = i.createElement("input");
262                        t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && N.push("name" + ne + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || N.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), N.push(",.*:") })), (S.matchesSelector = Te.test(_ = I.matches || I.webkitMatchesSelector || I.mozMatchesSelector || I.oMatchesSelector || I.msMatchesSelector)) && o(function(e) { S.disconnectedMatch = _.call(e, "div"), _.call(e, "[s!='']:x"), O.push("!=", ae) }), N = N.length && new RegExp(N.join("|")), O = O.length && new RegExp(O.join("|")), t = Te.test(I.compareDocumentPosition), L = t || Te.test(I.contains) ? function(e, t) { var n = 9 === e.
vendor: 8,609 bytes, lines 262-294
262nodeType ? e.documentElement : e,
263                            i = t && t.parentNode; return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(i))) } : function(e, t) { if (t)
264                            for (; t = t.parentNode;)
265                                if (t === e) return !0; return !1 }, Y = t ? function(e, t) { if (e === t) return E = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n || (1 & (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !S.sortDetached && t.compareDocumentPosition(e) === n ? e === i || e.ownerDocument === R && L(R, e) ? -1 : t === i || t.ownerDocument === R && L(R, t) ? 1 : G ? ee(G, e) - ee(G, t) : 0 : 4 & n ? -1 : 1) } : function(e, t) { if (e === t) return E = !0, 0; var n, o = 0,
266                            r = e.parentNode,
267                            s = t.parentNode,
268                            l = [e],
269                            c = [t]; if (!r || !s) return e === i ? -1 : t === i ? 1 : r ? -1 : s ? 1 : G ? ee(G, e) - ee(G, t) : 0; if (r === s) return a(e, t); for (n = e; n = n.parentNode;) l.unshift(n); for (n = t; n = n.parentNode;) c.unshift(n); for (; l[o] === c[o];) o++; return o ? a(l[o], c[o]) : l[o] === R ? -1 : c[o] === R ? 1 : 0 }, i) : H }, t.matches = function(e, n) { return t(e, null, null, n) }, t.matchesSelector = function(e, n) { if ((e.ownerDocument || e) !== H && k(e), n = n.replace(ue, "='$1']"), !(!S.matchesSelector || !B || O && O.test(n) || N && N.test(n))) try { var i = _.call(e, n); if (i || S.disconnectedMatch || e.document && 11 !== e.document.nodeType) return i } catch (e) {}
270                    return t(n, H, null, [e]).length > 0 }, t.contains = function(e, t) { return (e.ownerDocument || e) !== H && k(e), L(e, t) }, t.attr = function(e, t) {
271                    (e.ownerDocument || e) !== H && k(e); var n = w.attrHandle[t.toLowerCase()],
272                        i = n && q.call(w.attrHandle, t.toLowerCase()) ? n(e, t, !B) : void 0; return void 0 !== i ? i : S.attributes || !B ? e.getAttribute(t) : (i = e.getAttributeNode(t)) && i.specified ? i.value : null }, t.error = function(e) { throw new Error("Syntax error, unrecognized expression: " + e) }, t.uniqueSort = function(e) { var t, n = [],
273                        i = 0,
274                        o = 0; if (E = !S.detectDuplicates, G = !S.sortStable && e.slice(0), e.sort(Y), E) { for (; t = e[o++];) t === e[o] && (i = n.push(o)); for (; i--;) e.splice(n[i], 1) } return G = null, e }, C = t.getText = function(e) { var t, n = "",
275                        i = 0,
276                        o = e.nodeType; if (o) { if (1 === o || 9 === o || 11 === o) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling) n += C(e) } else if (3 === o || 4 === o) return e.nodeValue } else
277                        for (; t = e[i++];) n += C(t); return n }, (w = t.selectors = { cacheLength: 50, createPseudo: i, match: he, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(e) { return e[1] = e[1].replace(Se, we), e[3] = (e[3] || e[4] || e[5] || "").replace(Se, we), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function(e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), e }, PSEUDO: function(e) { var t, n = !e[6] && e[2]; return he.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && fe.test(n) && (t = A(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function(e) { var t = e.replace(Se, we).toLowerCase(); return "*" === e ? function() { return !0 } : function(e) { return e.nodeName && e.nodeName.toLowerCase() === t } }, CLASS: function(e) { var t = W[e + " "]; return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne + "|$)")) && W(e, function(e) { return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "") }) }, ATTR: function(e, n, i) { return function(o) { var r = t.attr(o, e); return null == r ? "!=" === n : !n || (r += "", "=" === n ? r === i : "!=" === n ? r !== i : "^=" === n ? i && 0 === r.indexOf(i) : "*=" === n ? i && r.indexOf(i) > -1 : "$=" === n ? i && r.slice(-i.length) === i : "~=" === n ? (" " + r.replace(se, " ") + " ").indexOf(i) > -1 : "|=" === n && (r === i || r.slice(0, i.length + 1) === i + "-")) } }, CHILD: function(e, t, n, i, o) { var r = "nth" !== e.slice(0, 3),
278                                a = "last" !== e.slice(-4),
279                                s = "of-type" === t; return 1 === i && 0 === o ? function(e) { return !!e.parentNode } : function(t, n, o) { var l, c, d, u, f, p, h = r !== a ? "nextSibling" : "previousSibling",
280                                    m = t.parentNode,
281                                    g = s && t.nodeName.toLowerCase(),
282                                    T = !o && !s; if (m) { if (r) { for (; h;) { for (d = t; d = d[h];)
283                                                if (s ? d.nodeName.toLowerCase() === g : 1 === d.nodeType) return !1;
284                                            p = h = "only" === e && !p && "nextSibling" } return !0 } if (p = [a ? m.firstChild : m.lastChild], a && T) { for (f = (l = (c = m[$] || (m[$] = {}))[e] || [])[0] === V && l[1], u = l[0] === V && l[2], d = f && m.childNodes[f]; d = ++f && d && d[h] || (u = f = 0) || p.pop();)
285                                            if (1 === d.nodeType && ++u && d === t) { c[e] = [V, f, u]; break } } else if (T && (l = (t[$] || (t[$] = {}))[e]) && l[0] === V) u = l[1];
286                                    else
287                                        for (;
288                                            (d = ++f && d && d[h] || (u = f = 0) || p.pop()) && ((s ? d.nodeName.toLowerCase() !== g : 1 !== d.nodeType) || !++u || (T && ((d[$] || (d[$] = {}))[e] = [V, u]), d !== t));); return u === i || u % i == 0 && u / i >= 0 } } }, PSEUDO: function(e, n) { var o, r = w.pseudos[e] || w.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e); return r[$] ? r(n) : r.length > 1 ? (o = [e, e, "", n], w.setFilters.hasOwnProperty(e.toLowerCase()) ? i(function(e, t) { for (var i, o = r(e, n), a = o.length; a--;) e[i = ee(e, o[a])] = !(t[i] = o[a]) }) : function(e) { return r(e, 0, o) }) : r } }, pseudos: { not: i(function(e) { var t = [],
289                                n = [],
290                                o = P(e.replace(le, "$1")); return o[$] ? i(function(e, t, n, i) { for (var r, a = o(e, null, i, []), s = e.length; s--;)(r = a[s]) && (e[s] = !(t[s] = r)) }) : function(e, i, r) { return t[0] = e, o(t, null, r, n), t[0] = null, !n.pop() } }), has: i(function(e) { return function(n) { return t(e, n).length > 0 } }), contains: i(function(e) { return e = e.replace(Se, we),
291                                function(t) { return (t.textContent || t.innerText || C(t)).indexOf(e) > -1 } }), lang: i(function(e) { return pe.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(Se, we).toLowerCase(),
292                                function(t) { var n;
293                                    do { if (n = B ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-") } while ((t = t.parentNode) && 1 === t.nodeType); return !1 } }), target: function(t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id }, root: function(e) { return e === I }, focus: function(e) { return e === H.activeElement && (!H.hasFocus || H.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, enabled: function(e) { return !1 === e.disabled }, disabled: function(e) { return !0 === e.disabled }, checked: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function(e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected }, empty: function(e) { for (e = e.firstChild; e; e = e.nextSibling)
294                                if (e.nodeType < 6) return !1; return !0 }, parent: function(e) { return !w.pseudos.empty(e) }, header: function(e) { return ge.test(e.nodeName) }
294, input: function(e) { return me.test(e.nodeName) }, button: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, text: function(e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: c(function() { return [0] }), last: c(function(e, t) { return [t - 1] }), eq: c(function(e, t, n) { return [0 > n ? n + t : n] }), even: c(function(e, t) { for (var n = 0; t > n; n += 2) e.push(n); return e }), odd: c(function(e, t) { for (var n = 1; t > n; n += 2) e.push(n); return e }), lt: c(function(e, t, n) { for (var i = 0 > n ? n + t : n; --i >= 0;) e.push(i); return e }), gt: c(function(e, t, n) { for (var i = 0 > n ? n + t : n; ++i < t;) e.push(i); return e }) } }).pseudos.nth = w.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) w.pseudos[y] = s(y); for (y in { submit: !0, reset: !0 }) w.pseudos[y] = l(y); return u.prototype = w.filters = w.pseudos, w.setFilters = new u, A = t.tokenize = function(e, n) { var i, o, r, a, s, l, c, d = j[e + " "]; if (d) return n ? 0 : d.slice(0); for (s = e, l = [], c = w.preFilter; s;) { for (a in (!i || (o = ce.exec(s))) && (o && (s = s.slice(o[0].length) || s), l.push(r = [])), i = !1, (o = de.exec(s)) && (i = o.shift(), r.push({ value: i, type: o[0].replace(le, " ") }), s = s.slice(i.length)), w.filter)(o = he[a].exec(s)) && (!c[a] || (o = c[a](o))) && (i = o.shift(), r.push({ value: i, type: a, matches: o }), s = s.slice(i.length)); if (!i) break } return n ? s.length : s ? t.error(e) : j(e, l).slice(0) }, P = t.compile = function(e, t) { var n, i = [],
295                    o = [],
296                    r = U[e + " "]; if (!r) { for (t || (t = A(e)), n = t.length; n--;)(r = b(t[n]))[$] ? i.push(r) : o.push(r);
297                    (r = U(e, v(o, i))).selector = e } return r }, D = t.select = function(e, t, n, i) { var o, r, a, s, l, c = "function" == typeof e && e,
298                    u = !i && A(e = c.selector || e); if (n = n || [], 1 === u.length) { if ((r = u[0] = u[0].slice(0)).length > 2 && "ID" === (a = r[0]).type && S.getById && 9 === t.nodeType && B && w.relative[r[1].type]) { if (!(t = (w.find.ID(a.matches[0].replace(Se, we), t) || [])[0])) return n;
299                        c && (t = t.parentNode), e = e.slice(r.shift().value.length) } for (o = he.needsContext.test(e) ? 0 : r.length; o-- && (a = r[o], !w.relative[s = a.type]);)
300                        if ((l = w.find[s]) && (i = l(a.matches[0].replace(Se, we), ve.test(r[0].type) && d(t.parentNode) || t))) { if (r.splice(o, 1), !(e = i.length && f(r))) return Z.apply(n, i), n; break } } return (c || P(e, u))(i, t, !B, n, ve.test(e) && d(t.parentNode) || t), n }, S.sortStable = $.split("").sort(Y).join("") === $, S.detectDuplicates = !!E, k(), S.sortDetached = o(function(e) { return 1 & e.compareDocumentPosition(H.createElement("div")) }), o(function(e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") }) || r("type|href|height|width", function(e, t, n) { if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) }), S.attributes && o(function(e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") }) || r("value", function(e, t, n) { if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue }), o(function(e) { return null == e.getAttribute("disabled") }) || r(te, function(e, t, n) { var i; if (!n) return !0 === e[t] ? t.toLowerCase() : (i = e.getAttributeNode(t)) && i.specified ? i.value : null }), t }(e), ve.find = L, ve.expr = L.selectors, ve.expr[":"] = ve.expr.pseudos, ve.unique = L.uniqueSort, ve.text = L.getText, ve.isXMLDoc = L.isXML, ve.contains = L.contains; var Me = ve.expr.match.needsContext,
301            Ae = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
302            Pe = /^.[^:#\[\.,]*$/;
303        ve.filter = function(e, t, n) { var i = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? ve.find.matchesSelector(i, e) ? [i] : [] : ve.find.matches(e, ve.grep(t, function(e) { return 1 === e.nodeType })) }, ve.fn.extend({ find: function(e) { var t, n = this.length,
304                    i = [],
305                    o = this; if ("string" != typeof e) return this.pushStack(ve(e).filter(function() { for (t = 0; n > t; t++)
306                        if (ve.contains(o[t], this)) return !0 })); for (t = 0; n > t; t++) ve.find(e, o[t], i); return (i = this.pushStack(n > 1 ? ve.unique(i) : i)).selector = this.selector ? this.selector + " " + e : e, i }, filter: function(e) { return this.pushStack(i(this, e || [], !1)) }, not: function(e) { return this.pushStack(i(this, e || [], !0)) }, is: function(e) { return !!i(this, "string" == typeof e && Me.test(e) ? ve(e) : e || [], !1).length } }), R = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, (ve.fn.init = function(e, t) { var n, i; if (!e) return this; if ("string" == typeof e) { if (!(n = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : R.exec(e)) || !n[1] && t) return !t || t.jquery ? (t || $).find(e) : this.constructor(t).find(e); if (n[1]) { if (t = t instanceof ve ? t[0] : t, ve.merge(this, ve.parseHTML(n[1], t && t.nodeType ? t.ownerDocument || t : be, !0)), Ae.test(n[1]) && ve.isPlainObject(t))
307                        for (n in t) ve.isFunction(this[n]) ? this[n](t[n]) : this.attr(n, t[n]); return this } return (i = be.getElementById(n[2])) && i.parentNode && (this.length = 1, this[0] = i), this.context = be, this.selector = e, this }
vendor: 43,323 bytes, lines 307-493
307 return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : ve.isFunction(e) ? void 0 !== $.ready ? $.ready(e) : e(ve) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), ve.makeArray(e, this)) }).prototype = ve.fn, $ = ve(be), V = /^(?:parents|prev(?:Until|All))/, F = { children: !0, contents: !0, next: !0, prev: !0 }, ve.extend({ dir: function(e, t, n) { for (var i = [], o = void 0 !== n;
308                    (e = e[t]) && 9 !== e.nodeType;)
309                    if (1 === e.nodeType) { if (o && ve(e).is(n)) break;
310                        i.push(e) } return i }, sibling: function(e, t) { for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); return n } }), ve.fn.extend({ has: function(e) { var t = ve(e, this),
311                    n = t.length; return this.filter(function() { for (var e = 0; n > e; e++)
312                        if (ve.contains(this, t[e])) return !0 }) }, closest: function(e, t) { for (var n, i = 0, o = this.length, r = [], a = Me.test(e) || "string" != typeof e ? ve(e, t || this.context) : 0; o > i; i++)
313                    for (n = this[i]; n && n !== t; n = n.parentNode)
314                        if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && ve.find.matchesSelector(n, e))) { r.push(n); break } return this.pushStack(r.length > 1 ? ve.unique(r) : r) }, index: function(e) { return e ? "string" == typeof e ? pe.call(ve(e), this[0]) : pe.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function(e, t) { return this.pushStack(ve.unique(ve.merge(this.get(), ve(e, t)))) }, addBack: function(e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), ve.each({ parent: function(e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function(e) { return ve.dir(e, "parentNode") }, parentsUntil: function(e, t, n) { return ve.dir(e, "parentNode", n) }, next: function(e) { return o(e, "nextSibling") }, prev: function(e) { return o(e, "previousSibling") }, nextAll: function(e) { return ve.dir(e, "nextSibling") }, prevAll: function(e) { return ve.dir(e, "previousSibling") }, nextUntil: function(e, t, n) { return ve.dir(e, "nextSibling", n) }, prevUntil: function(e, t, n) { return ve.dir(e, "previousSibling", n) }, siblings: function(e) { return ve.sibling((e.parentNode || {}).firstChild, e) }, children: function(e) { return ve.sibling(e.firstChild) }, contents: function(e) { return e.contentDocument || ve.merge([], e.childNodes) } }, function(e, t) { ve.fn[e] = function(n, i) { var o = ve.map(this, t, n); return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (o = ve.filter(i, o)), this.length > 1 && (F[e] || ve.unique(o), V.test(e) && o.reverse()), this.pushStack(o) } }), W = /\S+/g, j = {}, ve.Callbacks = function(e) { e = "string" == typeof e ? j[e] || r(e) : ve.extend({}, e); var t, n, i, o, a, s, l = [],
315                c = !e.once && [],
316                d = function(r) { for (t = e.memory && r, n = !0, s = o || 0, o = 0, a = l.length, i = !0; l && a > s; s++)
317                        if (!1 === l[s].apply(r[0], r[1]) && e.stopOnFalse) { t = !1; break } i = !1, l && (c ? c.length && d(c.shift()) : t ? l = [] : u.disable()) },
318                u = { add: function() { if (l) { var n = l.length;! function t(n) { ve.each(n, function(n, i) { var o = ve.type(i); "function" === o ? e.unique && u.has(i) || l.push(i) : i && i.length && "string" !== o && t(i) }) }(arguments), i ? a = l.length : t && (o = n, d(t)) } return this }, remove: function() { return l && ve.each(arguments, function(e, t) { for (var n;
319                                (n = ve.inArray(t, l, n)) > -1;) l.splice(n, 1), i && (a >= n && a--, s >= n && s--) }), this }, has: function(e) { return e ? ve.inArray(e, l) > -1 : !(!l || !l.length) }, empty: function() { return l = [], a = 0, this }, disable: function() { return l = c = t = void 0, this }, disabled: function() { return !l }, lock: function() { return c = void 0, t || u.disable(), this }, locked: function() { return !c }, fireWith: function(e, t) { return !l || n && !c || (t = [e, (t = t || []).slice ? t.slice() : t], i ? c.push(t) : d(t)), this }, fire: function() { return u.fireWith(this, arguments), this }, fired: function() { return !!n } }; return u }, ve.extend({ Deferred: function(e) { var t = [
320                        ["resolve", "done", ve.Callbacks("once memory"), "resolved"],
321                        ["reject", "fail", ve.Callbacks("once memory"), "rejected"],
322                        ["notify", "progress", ve.Callbacks("memory")]
323                    ],
324                    n = "pending",
325                    i = { state: function() { return n }, always: function() { return o.done(arguments).fail(arguments), this }, then: function() { var e = arguments; return ve.Deferred(function(n) { ve.each(t, function(t, r) { var a = ve.isFunction(e[t]) && e[t];
326                                    o[r[1]](function() { var e = a && a.apply(this, arguments);
327                                        e && ve.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[r[0] + "With"](this === i ? n.promise() : this, a ? [e] : arguments) }) }), e = null }).promise() }, promise: function(e) { return null != e ? ve.extend(e, i) : i } },
328                    o = {}; return i.pipe = i.then, ve.each(t, function(e, r) { var a = r[2],
329                        s = r[3];
330                    i[r[1]] = a.add, s && a.add(function() { n = s }, t[1 ^ e][2].disable, t[2][2].lock), o[r[0]] = function() { return o[r[0] + "With"](this === o ? i : this, arguments), this }, o[r[0] + "With"] = a.fireWith }), i.promise(o), e && e.call(o, o), o }, when: function(e) { var t, n, i, o = 0,
331                    r = de.call(arguments),
332                    a = r.length,
333                    s = 1 !== a || e && ve.isFunction(e.promise) ? a : 0,
334                    l = 1 === s ? e : ve.Deferred(),
335                    c = function(e, n, i) { return function(o) { n[e] = this, i[e] = arguments.length > 1 ? de.call(arguments) : o, i === t ? l.notifyWith(n, i) : --s || l.resolveWith(n, i) } }; if (a > 1)
336                    for (t = new Array(a), n = new Array(a), i = new Array(a); a > o; o++) r[o] && ve.isFunction(r[o].promise) ? r[o].promise().done(c(o, i, r)).fail(l.reject).progress(c(o, n, t)) : --s; return s || l.resolveWith(i, r), l.promise() } }), ve.fn.ready = function(e) { return ve.ready.promise().done(e), this }, ve.extend({ isReady: !1, readyWait: 1, holdReady: function(e) { e ? ve.readyWait++ : ve.ready(!0) }, ready: function(e) {
337                (!0 === e ? --ve.readyWait : ve.isReady) || (ve.isReady = !0, !0 !== e && --ve.readyWait > 0 || (U.resolveWith(be, [ve]), ve.fn.triggerHandler && (ve(be).triggerHandler("ready"), ve(be).off("ready")))) } }), ve.ready.promise = function(t) { return U || (U = ve.Deferred(), "complete" === be.readyState ? setTimeout(ve.ready) : (be.addEventListener("DOMContentLoaded", a, !1), e.addEventListener("load", a, !1))), U.promise(t) }, ve.ready.promise(), Y = ve.access = function(e, t, n, i, o, r, a) { var s = 0,
338                l = e.length,
339                c = null == n; if ("object" === ve.type(n))
340                for (s in o = !0, n) ve.access(e, t, s, n[s], !0, r, a);
341            else if (void 0 !== i && (o = !0, ve.isFunction(i) || (a = !0), c && (a ? (t.call(e, i), t = null) : (c = t, t = function(e, t, n) { return c.call(ve(e), n) })), t))
342                for (; l > s; s++) t(e[s], n, a ? i : i.call(e[s], s, t(e[s], n))); return o ? e : c ? t.call(e) : l ? t(e[0], n) : r }, ve.acceptData = function(e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }, s.uid = 1, s.accepts = ve.acceptData, s.prototype = { key: function(e) { if (!s.accepts(e)) return 0; var t = {},
343                    n = e[this.expando]; if (!n) { n = s.uid++; try { t[this.expando] = { value: n }, Object.defineProperties(e, t) } catch (i) { t[this.expando] = n, ve.extend(e, t) } } return this.cache[n] || (this.cache[n] = {}), n }, set: function(e, t, n) { var i, o = this.key(e),
344                    r = this.cache[o]; if ("string" == typeof t) r[t] = n;
345                else if (ve.isEmptyObject(r)) ve.extend(this.cache[o], t);
346                else
347                    for (i in t) r[i] = t[i]; return r }, get: function(e, t) { var n = this.cache[this.key(e)]; return void 0 === t ? n : n[t] }, access: function(e, t, n) { var i; return void 0 === t || t && "string" == typeof t && void 0 === n ? void 0 !== (i = this.get(e, t)) ? i : this.get(e, ve.camelCase(t)) : (this.set(e, t, n), void 0 !== n ? n : t) }, remove: function(e, t) { var n, i, o, r = this.key(e),
348                    a = this.cache[r]; if (void 0 === t) this.cache[r] = {};
349                else
350                    for ((ve.isArray(t) ? i = t.concat(t.map(ve.camelCase)) : (o = ve.camelCase(t), t in a ? i = [t, o] : i = (i = o) in a ? [i] : i.match(W) || []), n = i.length); n--;) delete a[i[n]] }, hasData: function(e) { return !ve.isEmptyObject(this.cache[e[this.expando]] || {}) }, discard: function(e) { e[this.expando] && delete this.cache[e[this.expando]] } }; var De = new s,
351            xe = new s,
352            Ge = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
353            Ee = /([A-Z])/g;
354        ve.extend({ hasData: function(e) { return xe.hasData(e) || De.hasData(e) }, data: function(e, t, n) { return xe.access(e, t, n) }, removeData: function(e, t) { xe.remove(e, t) }, _data: function(e, t, n) { return De.access(e, t, n) }, _removeData: function(e, t) { De.remove(e, t) } }), ve.fn.extend({ data: function(e, t) { var n, i, o, r = this[0],
355                    a = r && r.attributes; if (void 0 === e) { if (this.length && (o = xe.get(r), 1 === r.nodeType && !De.get(r, "hasDataAttrs"))) { for (n = a.length; n--;) a[n] && (0 === (i = a[n].name).indexOf("data-") && (i = ve.camelCase(i.slice(5)), l(r, i, o[i])));
356                        De.set(r, "hasDataAttrs", !0) } return o } return "object" == typeof e ? this.each(function() { xe.set(this, e) }) : Y(this, function(t) { var n, i = ve.camelCase(e); if (r && void 0 === t) { if (void 0 !== (n = xe.get(r, e)) || void 0 !== (n = xe.get(r, i)) || void 0 !== (n = l(r, i, void 0))) return n } else this.each(function() { var n = xe.get(this, i);
357                        xe.set(this, i, t), -1 !== e.indexOf("-") && void 0 !== n && xe.set(this, e, t) }) }, null, t, arguments.length > 1, null, !0) }, removeData: function(e) { return this.each(function() { xe.remove(this, e) }) } }), ve.extend({ queue: function(e, t, n) { var i; if (e) return t = (t || "fx") + "queue", i = De.get(e, t), n && (!i || ve.isArray(n) ? i = De.access(e, t, ve.makeArray(n)) : i.push(n)), i || [] }, dequeue: function(e, t) { t = t || "fx"; var n = ve.queue(e, t),
358                    i = n.length,
359                    o = n.shift(),
360                    r = ve._queueHooks(e, t); "inprogress" === o && (o = n.shift(), i--), o && ("fx" === t && n.unshift("inprogress"), delete r.stop, o.call(e, function() { ve.dequeue(e, t) }, r)), !i && r && r.empty.fire() }, _queueHooks: function(e, t) { var n = t + "queueHooks"; return De.get(e, n) || De.access(e, n, { empty: ve.Callbacks("once memory").add(function() { De.remove(e, [t + "queue", n]) }) }) } }), ve.fn.extend({ queue: function(e, t) { var n = 2; return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? ve.queue(this[0], e) : void 0 === t ? this : this.each(function() { var n = ve.queue(this, e, t);
361                    ve._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && ve.dequeue(this, e) }) }, dequeue: function(e) { return this.each(function() { ve.dequeue(this, e) }) }, clearQueue: function(e) { return this.queue(e || "fx", []) }, promise: function(e, t) { var n, i = 1,
362                    o = ve.Deferred(),
363                    r = this,
364                    a = this.length,
365                    s = function() {--i || o.resolveWith(r, [r]) }; for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(n = De.get(r[a], e + "queueHooks")) && n.empty && (i++, n.empty.add(s)); return s(), o.promise(t) } }); var ke = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
366            He = ["Top", "Right", "Bottom", "Left"],
367            Ie = function(e, t) { return e = t || e, "none" === ve.css(e, "display") || !ve.contains(e.ownerDocument, e) },
368            Be = /^(?:checkbox|radio)$/i;! function() { var e = be.createDocumentFragment().appendChild(be.createElement("div")),
369                t = be.createElement("input");
370            t.setAttribute("type", "radio"), t.setAttribute("checked", "checked"), t.setAttribute("name", "t"), e.appendChild(t), Te.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked, e.innerHTML = "<textarea>x</textarea>", Te.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue }(), X = "undefined", Te.focusinBubbles = "onfocusin" in e; var Ne = /^key/,
371            Oe = /^(?:mouse|pointer|contextmenu)|click/,
372            _e = /^(?:focusinfocus|focusoutblur)$/,
373            Le = /^([^.]*)(?:\.(.+)|)$/;
374        ve.event = { global: {}, add: function(e, t, n, i, o) { var r, a, s, l, c, d, u, f, p, h, m, g = De.get(e); if (g)
375                    for (n.handler && (n = (r = n).handler, o = r.selector), n.guid || (n.guid = ve.guid++), (l = g.events) || (l = g.events = {}), (a = g.handle) || (a = g.handle = function(t) { if (typeof ve !== X && ve.event.triggered !== t.type) return ve.event.dispatch.apply(e, arguments) }), c = (t = (t || "").match(W) || [""]).length; c--;) p = m = (s = Le.exec(t[c]) || [])[1], h = (s[2] || "").split(".").sort(), p && (u = ve.event.special[p] || {}, p = (o ? u.delegateType : u.bindType) || p, u = ve.event.special[p] || {}, d = ve.extend({ type: p, origType: m, data: i, handler: n, guid: n.guid, selector: o, needsContext: o && ve.expr.match.needsContext.test(o), namespace: h.join(".") }, r), (f = l[p]) || ((f = l[p] = []).delegateCount = 0, u.setup && !1 !== u.setup.call(e, i, h, a) || e.addEventListener && e.addEventListener(p, a, !1)), u.add && (u.add.call(e, d), d.handler.guid || (d.handler.guid = n.guid)), o ? f.splice(f.delegateCount++, 0, d) : f.push(d), ve.event.global[p] = !0) }, remove: function(e, t, n, i, o) { var r, a, s, l, c, d, u, f, p, h, m, g = De.hasData(e) && De.get(e); if (g && (l = g.events)) { for (c = (t = (t || "").match(W) || [""]).length; c--;)
376                        if (p = m = (s = Le.exec(t[c]) || [])[1], h = (s[2] || "").split(".").sort(), p) { for (u = ve.event.special[p] || {}, f = l[p = (i ? u.delegateType : u.bindType) || p] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = r = f.length; r--;) d = f[r], !o && m !== d.origType || n && n.guid !== d.guid || s && !s.test(d.namespace) || i && i !== d.selector && ("**" !== i || !d.selector) || (f.splice(r, 1), d.selector && f.delegateCount--, u.remove && u.remove.call(e, d));
377                            a && !f.length && (u.teardown && !1 !== u.teardown.call(e, h, g.handle) || ve.removeEvent(e, p, g.handle), delete l[p]) } else
378                            for (p in l) ve.event.remove(e, p + t[c], n, i, !0);
379                    ve.isEmptyObject(l) && (delete g.handle, De.remove(e, "events")) } }, trigger: function(t, n, i, o) { var r, a, s, l, c, d, u, f = [i || be],
380                    p = ge.call(t, "type") ? t.type : t,
381                    h = ge.call(t, "namespace") ? t.namespace.split(".") : []; if (a = s = i = i || be, 3 !== i.nodeType && 8 !== i.nodeType && !_e.test(p + ve.event.triggered) && (p.indexOf(".") >= 0 && (h = p.split("."), p = h.shift(), h.sort()), c = p.indexOf(":") < 0 && "on" + p, (t = t[ve.expando] ? t : new ve.Event(p, "object" == typeof t && t)).isTrigger = o ? 2 : 3, t.namespace = h.join("."), t.namespace_re = t.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = i), n = null == n ? [t] : ve.makeArray(n, [t]), u = ve.event.special[p] || {}, o || !u.trigger || !1 !== u.trigger.apply(i, n))) { if (!o && !u.noBubble && !ve.isWindow(i)) { for (l = u.delegateType || p, _e.test(l + p) || (a = a.parentNode); a; a = a.parentNode) f.push(a), s = a;
382                        s === (i.ownerDocument || be) && f.push(s.defaultView || s.parentWindow || e) } for (r = 0;
383                        (a = f[r++]) && !t.isPropagationStopped();) t.type = r > 1 ? l : u.bindType || p, (d = (De.get(a, "events") || {})[t.type] && De.get(a, "handle")) && d.apply(a, n), (d = c && a[c]) && d.apply && ve.acceptData(a) && (t.result = d.apply(a, n), !1 === t.result && t.preventDefault()); return t.type = p, o || t.isDefaultPrevented() || u._default && !1 !== u._default.apply(f.pop(), n) || !ve.acceptData(i) || c && ve.isFunction(i[p]) && !ve.isWindow(i) && ((s = i[c]) && (i[c] = null), ve.event.triggered = p, i[p](), ve.event.triggered = void 0, s && (i[c] = s)), t.result } }, dispatch: function(e) { e = ve.event.fix(e); var t, n, i, o, r, a = [],
384                    s = de.call(arguments),
385                    l = (De.get(this, "events") || {})[e.type] || [],
386                    c = ve.event.special[e.type] || {}; if (s[0] = e, e.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, e)) { for (a = ve.event.handlers.call(this, e, l), t = 0;
387                        (o = a[t++]) && !e.isPropagationStopped();)
388                        for (e.currentTarget = o.elem, n = 0;
389                            (r = o.handlers[n++]) && !e.isImmediatePropagationStopped();)(!e.namespace_re || e.namespace_re.test(r.namespace)) && (e.handleObj = r, e.data = r.data, void 0 !== (i = ((ve.event.special[r.origType] || {}).handle || r.handler).apply(o.elem, s)) && !1 === (e.result = i) && (e.preventDefault(), e.stopPropagation())); return c.postDispatch && c.postDispatch.call(this, e), e.result } }, handlers: function(e, t) { var n, i, o, r, a = [],
390                    s = t.delegateCount,
391                    l = e.target; if (s && l.nodeType && (!e.button || "click" !== e.type))
392                    for (; l !== this; l = l.parentNode || this)
393                        if (!0 !== l.disabled || "click" !== e.type) { for (i = [], n = 0; s > n; n++) void 0 === i[o = (r = t[n]).selector + " "] && (i[o] = r.needsContext ? ve(o, this).index(l) >= 0 : ve.find(o, this, null, [l]).length), i[o] && i.push(r);
394                            i.length && a.push({ elem: l, handlers: i }) } return s < t.length && a.push({ elem: this, handlers: t.slice(s) }), a }, props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function(e, t) { return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e } }, mouseHooks: { props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function(e, t) { var n, i, o, r = t.button; return null == e.pageX && null != t.clientX && (i = (n = e.target.ownerDocument || be).documentElement, o = n.body, e.pageX = t.clientX + (i && i.scrollLeft || o && o.scrollLeft || 0) - (i && i.clientLeft || o && o.clientLeft || 0), e.pageY = t.clientY + (i && i.scrollTop || o && o.scrollTop || 0) - (i && i.clientTop || o && o.clientTop || 0)), e.which || void 0 === r || (e.which = 1 & r ? 1 : 2 & r ? 3 : 4 & r ? 2 : 0), e } }, fix: function(e) { if (e[ve.expando]) return e; var t, n, i, o = e.type,
395                    r = e,
396                    a = this.fixHooks[o]; for (a || (this.fixHooks[o] = a = Oe.test(o) ? this.mouseHooks : Ne.test(o) ? this.keyHooks : {}), i = a.props ? this.props.concat(a.props) : this.props, e = new ve.Event(r), t = i.length; t--;) e[n = i[t]] = r[n]; return e.target || (e.target = be), 3 === e.target.nodeType && (e.target = e.target.parentNode), a.filter ? a.filter(e, r) : e }, special: { load: { noBubble: !0 }, focus: { trigger: function() { if (this !== u() && this.focus) return this.focus(), !1 }, delegateType: "focusin" }, blur: { trigger: function() { if (this === u() && this.blur) return this.blur(), !1 }, delegateType: "focusout" }, click: { trigger: function() { if ("checkbox" === this.type && this.click && ve.nodeName(this, "input")) return this.click(), !1 }, _default: function(e) { return ve.nodeName(e.target, "a") } }, beforeunload: { postDispatch: function(e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } }, simulate: function(e, t, n, i) { var o = ve.extend(new ve.Event, n, { type: e, isSimulated: !0, originalEvent: {} });
397                i ? ve.event.trigger(o, null, t) : ve.event.dispatch.call(t, o), o.isDefaultPrevented() && n.preventDefault() } }, ve.removeEvent = function(e, t, n) { e.removeEventListener && e.removeEventListener(t, n, !1) }, ve.Event = function(e, t) { return this instanceof ve.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? c : d) : this.type = e, t && ve.extend(this, t), this.timeStamp = e && e.timeStamp || ve.now(), void(this[ve.expando] = !0)) : new ve.Event(e, t) }, ve.Event.prototype = { isDefaultPrevented: d, isPropagationStopped: d, isImmediatePropagationStopped: d, preventDefault: function() { var e = this.originalEvent;
398                this.isDefaultPrevented = c, e && e.preventDefault && e.preventDefault() }, stopPropagation: function() { var e = this.originalEvent;
399                this.isPropagationStopped = c, e && e.stopPropagation && e.stopPropagation() }, stopImmediatePropagation: function() { var e = this.originalEvent;
400                this.isImmediatePropagationStopped = c, e && e.stopImmediatePropagation && e.stopImmediatePropagation(), this.stopPropagation() } }, ve.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function(e, t) { ve.event.special[e] = { delegateType: t, bindType: t, handle: function(e) { var n, i = e.relatedTarget,
401                        o = e.handleObj; return (!i || i !== this && !ve.contains(this, i)) && (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n } } }), Te.focusinBubbles || ve.each({ focus: "focusin", blur: "focusout" }, function(e, t) { var n = function(e) { ve.event.simulate(t, e.target, ve.event.fix(e), !0) };
402            ve.event.special[t] = { setup: function() { var i = this.ownerDocument || this,
403                        o = De.access(i, t);
404                    o || i.addEventListener(e, n, !0), De.access(i, t, (o || 0) + 1) }, teardown: function() { var i = this.ownerDocument || this,
405                        o = De.access(i, t) - 1;
406                    o ? De.access(i, t, o) : (i.removeEventListener(e, n, !0), De.remove(i, t)) } } }), ve.fn.extend({ on: function(e, t, n, i, o) { var r, a; if ("object" == typeof e) { for (a in "string" != typeof t && (n = n || t, t = void 0), e) this.on(a, t, n, e[a], o); return this } if (null == n && null == i ? (i = t, n = t = void 0) : null == i && ("string" == typeof t ? (i = n, n = void 0) : (i = n, n = t, t = void 0)), !1 === i) i = d;
407                else if (!i) return this; return 1 === o && (r = i, (i = function(e) { return ve().off(e), r.apply(this, arguments) }).guid = r.guid || (r.guid = ve.guid++)), this.each(function() { ve.event.add(this, e, i, n, t) }) }, one: function(e, t, n, i) { return this.on(e, t, n, i, 1) }, off: function(e, t, n) { var i, o; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, ve(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this; if ("object" == typeof e) { for (o in e) this.off(o, t, e[o]); return this } return (!1 === t || "function" == typeof t) && (n = t, t = void 0), !1 === n && (n = d), this.each(function() { ve.event.remove(this, e, n, t) }) }, trigger: function(e, t) { return this.each(function() { ve.event.trigger(e, t, this) }) }, triggerHandler: function(e, t) { var n = this[0]; if (n) return ve.event.trigger(e, t, n, !0) } }); var $e = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
408            Re = /<([\w:]+)/,
409            Ve = /<|&#?\w+;/,
410            Fe = /<(?:script|style|link)/i,
411            We = /checked\s*(?:[^=]|=\s*.checked.)/i,
412            je = /^$|\/(?:java|ecma)script/i,
413            Ue = /^true\/(.*)/,
414            Ye = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
415            Xe = { option: [1, "<select multiple='multiple'>", "</select>"], thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] };
416        Xe.optgroup = Xe.option, Xe.tbody = Xe.tfoot = Xe.colgroup = Xe.caption = Xe.thead, Xe.th = Xe.td, ve.extend({ clone: function(e, t, n) { var i, o, r, a, s = e.cloneNode(!0),
417                    l = ve.contains(e.ownerDocument, e); if (!(Te.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || ve.isXMLDoc(e)))
418                    for (a = T(s), i = 0, o = (r = T(e)).length; o > i; i++) b(r[i], a[i]); if (t)
419                    if (n)
420                        for (r = r || T(e), a = a || T(s), i = 0, o = r.length; o > i; i++) g(r[i], a[i]);
421                    else g(e, s); return (a = T(s, "script")).length > 0 && m(a, !l && T(e, "script")), s }, buildFragment: function(e, t, n, i) { for (var o, r, a, s, l, c, d = t.createDocumentFragment(), u = [], f = 0, p = e.length; p > f; f++)
422                    if ((o = e[f]) || 0 === o)
423                        if ("object" === ve.type(o)) ve.merge(u, o.nodeType ? [o] : o);
424                        else if (Ve.test(o)) { for (r = r || d.appendChild(t.createElement("div")), a = (Re.exec(o) || ["", ""])[1].toLowerCase(), s = Xe[a] || Xe._default, r.innerHTML = s[1] + o.replace($e, "<$1></$2>") + s[2], c = s[0]; c--;) r = r.lastChild;
425                    ve.merge(u, r.childNodes), (r = d.firstChild).textContent = "" } else u.push(t.createTextNode(o)); for (d.textContent = "", f = 0; o = u[f++];)
426                    if ((!i || -1 === ve.inArray(o, i)) && (l = ve.contains(o.ownerDocument, o), r = T(d.appendChild(o), "script"), l && m(r), n))
427                        for (c = 0; o = r[c++];) je.test(o.type || "") && n.push(o); return d }, cleanData: function(e) { for (var t, n, i, o, r = ve.event.special, a = 0; void 0 !== (n = e[a]); a++) { if (ve.acceptData(n) && ((o = n[De.expando]) && (t = De.cache[o]))) { if (t.events)
428                            for (i in t.events) r[i] ? ve.event.remove(n, i) : ve.removeEvent(n, i, t.handle);
429                        De.cache[o] && delete De.cache[o] } delete xe.cache[n[xe.expando]] } } }), ve.fn.extend({ text: function(e) { return Y(this, function(e) { return void 0 === e ? ve.text(this) : this.empty().each(function() {
430                        (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && (this.textContent = e) }) }, null, e, arguments.length) }, append: function() { return this.domManip(arguments, function(e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || f(this, e).appendChild(e) }) }, prepend: function() { return this.domManip(arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = f(this, e);
431                        t.insertBefore(e, t.firstChild) } }) }, before: function() { return this.domManip(arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this) }) }, after: function() { return this.domManip(arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) }) }, remove: function(e, t) { for (var n, i = e ? ve.filter(e, this) : this, o = 0; null != (n = i[o]); o++) t || 1 !== n.nodeType || ve.cleanData(T(n)), n.parentNode && (t && ve.contains(n.ownerDocument, n) && m(T(n, "script")), n.parentNode.removeChild(n)); return this }, empty: function() { for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (ve.cleanData(T(e, !1)), e.textContent = ""); return this }, clone: function(e, t) { return e = null != e && e, t = null == t ? e : t, this.map(function() { return ve.clone(this, e, t) }) }, html: function(e) { return Y(this, function(e) { var t = this[0] || {},
432                        n = 0,
433                        i = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !Fe.test(e) && !Xe[(Re.exec(e) || ["", ""])[1].toLowerCase()]) { e = e.replace($e, "<$1></$2>"); try { for (; i > n; n++) 1 === (t = this[n] || {}).nodeType && (ve.cleanData(T(t, !1)), t.innerHTML = e);
434                            t = 0 } catch (e) {} } t && this.empty().append(e) }, null, e, arguments.length) }, replaceWith: function() { var e = arguments[0]; return this.domManip(arguments, function(t) { e = this.parentNode, ve.cleanData(T(this)), e && e.replaceChild(t, this) }), e && (e.length || e.nodeType) ? this : this.remove() }, detach: function(e) { return this.remove(e, !0) }, domManip: function(e, t) { e = ue.apply([], e); var n, i, o, r, a, s, l = 0,
435                    c = this.length,
436                    d = this,
437                    u = c - 1,
438                    f = e[0],
439                    m = ve.isFunction(f); if (m || c > 1 && "string" == typeof f && !Te.checkClone && We.test(f)) return this.each(function(n) { var i = d.eq(n);
440                    m && (e[0] = f.call(this, n, i.html())), i.domManip(e, t) }); if (c && (i = (n = ve.buildFragment(e, this[0].ownerDocument, !1, this)).firstChild, 1 === n.childNodes.length && (n = i), i)) { for (r = (o = ve.map(T(n, "script"), p)).length; c > l; l++) a = n, l !== u && (a = ve.clone(a, !0, !0), r && ve.merge(o, T(a, "script"))), t.call(this[l], a, l); if (r)
441                        for (s = o[o.length - 1].ownerDocument, ve.map(o, h), l = 0; r > l; l++) a = o[l], je.test(a.type || "") && !De.access(a, "globalEval") && ve.contains(s, a) && (a.src ? ve._evalUrl && ve._evalUrl(a.src) : ve.globalEval(a.textContent.replace(Ye, ""))) } return this } }), ve.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(e, t) { ve.fn[e] = function(e) { for (var n, i = [], o = ve(e), r = o.length - 1, a = 0; r >= a; a++) n = a === r ? this : this.clone(!0), ve(o[a])[t](n), fe.apply(i, n.get()); return this.pushStack(i) } }), K = {}; var qe = /^margin/,
442            Ke = new RegExp("^(" + ke + ")(?!px)[a-z%]+$", "i"),
443            ze = function(t) { return t.ownerDocument.defaultView.opener ? t.ownerDocument.defaultView.getComputedStyle(t, null) : e.getComputedStyle(t, null) };! function() { var t, n, i = be.documentElement,
444                o = be.createElement("div"),
445                r = be.createElement("div"); if (r.style) {
446                function a() { r.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", r.innerHTML = "", i.appendChild(o); var a = e.getComputedStyle(r, null);
447                    t = "1%" !== a.top, n = "4px" === a.width, i.removeChild(o) } r.style.backgroundClip = "content-box", r.cloneNode(!0).style.backgroundClip = "", Te.clearCloneStyle = "content-box" === r.style.backgroundClip, o.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute", o.appendChild(r), e.getComputedStyle && ve.extend(Te, { pixelPosition: function() { return a(), t }, boxSizingReliable: function() { return null == n && a(), n }, reliableMarginRight: function() { var t, n = r.appendChild(be.createElement("div")); return n.style.cssText = r.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", n.style.marginRight = n.style.width = "0", r.style.width = "1px", i.appendChild(o), t = !parseFloat(e.getComputedStyle(n, null).marginRight), i.removeChild(o), r.removeChild(n), t } }) } }(), ve.swap = function(e, t, n, i) { var o, r, a = {}; for (r in t) a[r] = e.style[r], e.style[r] = t[r]; for (r in o = n.apply(e, i || []), t) e.style[r] = a[r]; return o }; var Qe = /^(none|table(?!-c[ea]).+)/,
448            Ze = new RegExp("^(" + ke + ")(.*)$", "i"),
449            Je = new RegExp("^([+-])=(" + ke + ")", "i"),
450            et = { position: "absolute", visibility: "hidden", display: "block" },
451            tt = { letterSpacing: "0", fontWeight: "400" },
452            nt = ["Webkit", "O", "Moz", "ms"];
453        ve.extend({ cssHooks: { opacity: { get: function(e, t) { if (t) { var n = S(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { float: "cssFloat" }, style: function(e, t, n, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var o, r, a, s = ve.camelCase(t),
454                        l = e.style; return t = ve.cssProps[s] || (ve.cssProps[s] = C(l, s)), a = ve.cssHooks[t] || ve.cssHooks[s], void 0 === n ? a && "get" in a && void 0 !== (o = a.get(e, !1, i)) ? o : l[t] : ("string" === (r = typeof n) && (o = Je.exec(n)) && (n = (o[1] + 1) * o[2] + parseFloat(ve.css(e, t)), r = "number"), void(null != n && n == n && ("number" !== r || ve.cssNumber[s] || (n += "px"), Te.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, i)) || (l[t] = n)))) } }, css: function(e, t, n, i) { var o, r, a, s = ve.camelCase(t); return t = ve.cssProps[s] || (ve.cssProps[s] = C(e.style, s)), (a = ve.cssHooks[t] || ve.cssHooks[s]) && "get" in a && (o = a.get(e, !0, n)), void 0 === o && (o = S(e, t, i)), "normal" === o && t in tt && (o = tt[t]), "" === n || n ? (r = parseFloat(o), !0 === n || ve.isNumeric(r) ? r || 0 : o) : o } }), ve.each(["height", "width"], function(e, t) { ve.cssHooks[t] = { get: function(e, n, i) { if (n) return Qe.test(ve.css(e, "display")) && 0 === e.offsetWidth ? ve.swap(e, et, function() { return P(e, t, i) }) : P(e, t, i) }, set: function(e, n, i) { var o = i && ze(e); return M(0, n, i ? A(e, t, i, "border-box" === ve.css(e, "boxSizing", !1, o), o) : 0) } } }), ve.cssHooks.marginRight = w(Te.reliableMarginRight, function(e, t) { if (t) return ve.swap(e, { display: "inline-block" }, S, [e, "marginRight"]) }), ve.each({ margin: "", padding: "", border: "Width" }, function(e, t) { ve.cssHooks[e + t] = { expand: function(n) { for (var i = 0, o = {}, r = "string" == typeof n ? n.split(" ") : [n]; 4 > i; i++) o[e + He[i] + t] = r[i] || r[i - 2] || r[0]; return o } }, qe.test(e) || (ve.cssHooks[e + t].set = M) }), ve.fn.extend({ css: function(e, t) { return Y(this, function(e, t, n) { var i, o, r = {},
455                        a = 0; if (ve.isArray(t)) { for (i = ze(e), o = t.length; o > a; a++) r[t[a]] = ve.css(e, t[a], !1, i); return r } return void 0 !== n ? ve.style(e, t, n) : ve.css(e, t) }, e, t, arguments.length > 1) }, show: function() { return D(this, !0) }, hide: function() { return D(this) }, toggle: function(e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() { Ie(this) ? ve(this).show() : ve(this).hide() }) } }), ve.Tween = x, x.prototype = { constructor: x, init: function(e, t, n, i, o, r) { this.elem = e, this.prop = n, this.easing = o || "swing", this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = r || (ve.cssNumber[n] ? "" : "px") }, cur: function() { var e = x.propHooks[this.prop]; return e && e.get ? e.get(this) : x.propHooks._default.get(this) }, run: function(e) { var t, n = x.propHooks[this.prop]; return this.pos = t = this.options.duration ? ve.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : x.propHooks._default.set(this), this } }, x.prototype.init.prototype = x.prototype, x.propHooks = { _default: { get: function(e) { var t; return null == e.elem[e.prop] || e.elem.style && null != e.elem.style[e.prop] ? (t = ve.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 : e.elem[e.prop] }, set: function(e) { ve.fx.step[e.prop] ? ve.fx.step[e.prop](e) : e.elem.style && (null != e.elem.style[ve.cssProps[e.prop]] || ve.cssHooks[e.prop]) ? ve.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now } } }, x.propHooks.scrollTop = x.propHooks.scrollLeft = { set: function(e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, ve.easing = { linear: function(e) { return e }, swing: function(e) { return .5 - Math.cos(e * Math.PI) / 2 } }, ve.fx = x.prototype.init, ve.fx.step = {}; var it, ot, rt = /^(?:toggle|show|hide)$/,
456            at = new RegExp("^(?:([+-])=|)(" + ke + ")([a-z%]*)$", "i"),
457            st = /queueHooks$/,
458            lt = [function(e, t, n) { var i, o, r, a, s, l, c, d = this,
459                    u = {},
460                    f = e.style,
461                    p = e.nodeType && Ie(e),
462                    h = De.get(e, "fxshow"); for (i in n.queue || (null == (s = ve._queueHooks(e, "fx")).unqueued && (s.unqueued = 0, l = s.empty.fire, s.empty.fire = function() { s.unqueued || l() }), s.unqueued++, d.always(function() { d.always(function() { s.unqueued--, ve.queue(e, "fx").length || s.empty.fire() }) })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [f.overflow, f.overflowX, f.overflowY], "inline" === ("none" === (c = ve.css(e, "display")) ? De.get(e, "olddisplay") || y(e.nodeName) : c) && "none" === ve.css(e, "float") && (f.display = "inline-block")), n.overflow && (f.overflow = "hidden", d.always(function() { f.overflow = n.overflow[0], f.overflowX = n.overflow[1], f.overflowY = n.overflow[2] })), t)
463                    if (o = t[i], rt.exec(o)) { if (delete t[i], r = r || "toggle" === o, o === (p ? "hide" : "show")) { if ("show" !== o || !h || void 0 === h[i]) continue;
464                            p = !0 } u[i] = h && h[i] || ve.style(e, i) } else c = void 0; if (ve.isEmptyObject(u)) "inline" === ("none" === c ? y(e.nodeName) : c) && (f.display = c);
465                else
466                    for (i in h ? "hidden" in h && (p = h.hidden) : h = De.access(e, "fxshow", {}), r && (h.hidden = !p), p ? ve(e).show() : d.done(function() { ve(e).hide() }), d.done(function() { var t; for (t in De.remove(e, "fxshow"), u) ve.style(e, t, u[t]) }), u) a = k(p ? h[i] : 0, i, d), i in h || (h[i] = a.start, p && (a.end = a.start, a.start = "width" === i || "height" === i ? 1 : 0)) }],
467            ct = { "*": [function(e, t) { var n = this.createTween(e, t),
468                        i = n.cur(),
469                        o = at.exec(t),
470                        r = o && o[3] || (ve.cssNumber[e] ? "" : "px"),
471                        a = (ve.cssNumber[e] || "px" !== r && +i) && at.exec(ve.css(n.elem, e)),
472                        s = 1,
473                        l = 20; if (a && a[3] !== r) { r = r || a[3], o = o || [], a = +i || 1;
474                        do { a /= s = s || ".5", ve.style(n.elem, e, a + r) } while (s !== (s = n.cur() / i) && 1 !== s && --l) } return o && (a = n.start = +a || +i || 0, n.unit = r, n.end = o[1] ? a + (o[1] + 1) * o[2] : +o[2]), n }] };
475        ve.Animation = ve.extend(H, { tweener: function(e, t) { ve.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" "); for (var n, i = 0, o = e.length; o > i; i++) n = e[i], ct[n] = ct[n] || [], ct[n].unshift(t) }, prefilter: function(e, t) { t ? lt.unshift(e) : lt.push(e) } }), ve.speed = function(e, t, n) { var i = e && "object" == typeof e ? ve.extend({}, e) : { complete: n || !n && t || ve.isFunction(e) && e, duration: e, easing: n && t || t && !ve.isFunction(t) && t }; return i.duration = ve.fx.off ? 0 : "number" == typeof i.duration ? i.duration : i.duration in ve.fx.speeds ? ve.fx.speeds[i.duration] : ve.fx.speeds._default, (null == i.queue || !0 === i.queue) && (i.queue = "fx"), i.old = i.complete, i.complete = function() { ve.isFunction(i.old) && i.old.call(this), i.queue && ve.dequeue(this, i.queue) }, i }, ve.fn.extend({ fadeTo: function(e, t, n, i) { return this.filter(Ie).css("opacity", 0).show().end().animate({ opacity: t }, e, n, i) }, animate: function(e, t, n, i) { var o = ve.isEmptyObject(e),
476                        r = ve.speed(t, n, i),
477                        a = function() { var t = H(this, ve.extend({}, e), r);
478                            (o || De.get(this, "finish")) && t.stop(!0) }; return a.finish = a, o || !1 === r.queue ? this.each(a) : this.queue(r.queue, a) }, stop: function(e, t, n) { var i = function(e) { var t = e.stop;
479                        delete e.stop, t(n) }; return "string" != typeof e && (n = t, t = e, e = void 0), t && !1 !== e && this.queue(e || "fx", []), this.each(function() { var t = !0,
480                            o = null != e && e + "queueHooks",
481                            r = ve.timers,
482                            a = De.get(this); if (o) a[o] && a[o].stop && i(a[o]);
483                        else
484                            for (o in a) a[o] && a[o].stop && st.test(o) && i(a[o]); for (o = r.length; o--;) r[o].elem !== this || null != e && r[o].queue !== e || (r[o].anim.stop(n), t = !1, r.splice(o, 1));
485                        (t || !n) && ve.dequeue(this, e) }) }, finish: function(e) { return !1 !== e && (e = e || "fx"), this.each(function() { var t, n = De.get(this),
486                            i = n[e + "queue"],
487                            o = n[e + "queueHooks"],
488                            r = ve.timers,
489                            a = i ? i.length : 0; for (n.finish = !0, ve.queue(this, e, []), o && o.stop && o.stop.call(this, !0), t = r.length; t--;) r[t].elem === this && r[t].queue === e && (r[t].anim.stop(!0), r.splice(t, 1)); for (t = 0; a > t; t++) i[t] && i[t].finish && i[t].finish.call(this);
490                        delete n.finish }) } }), ve.each(["toggle", "show", "hide"], function(e, t) { var n = ve.fn[t];
491                ve.fn[t] = function(e, i, o) { return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(E(t, !0), e, i, o) } }), ve.each({ slideDown: E("show"), slideUp: E("hide"), slideToggle: E("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function(e, t) { ve.fn[e] = function(e, n, i) { return this.animate(t, e, n, i) } }), ve.timers = [], ve.fx.tick = function() { var e, t = 0,
492                    n = ve.timers; for (it = ve.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1);
493                n.length || ve.fx.stop(), it = void 0 }, ve.fx.timer = function(e) { ve.timers.push(e), e() ? ve.fx.start() : ve.timers.pop() }, ve.fx.interval = 13, ve.fx.start = function() { ot || (ot = setInterval(ve.fx.tick, ve.fx.interval)) }, ve.fx.stop = function() { clearInterval(ot), ot = null }, ve.fx.speeds = { slow: 600, fast: 200, _default: 400 }
vendor: 4,853 bytes, lines 493-512
493, ve.fn.delay = function(e, t) { return e = ve.fx && ve.fx.speeds[e] || e, t = t || "fx", this.queue(t, function(t, n) { var i = setTimeout(t, e);
494                    n.stop = function() { clearTimeout(i) } }) },
495            function() { var e = be.createElement("input"),
496                    t = be.createElement("select"),
497                    n = t.appendChild(be.createElement("option"));
498                e.type = "checkbox", Te.checkOn = "" !== e.value, Te.optSelected = n.selected, t.disabled = !0, Te.optDisabled = !n.disabled, (e = be.createElement("input")).value = "t", e.type = "radio", Te.radioValue = "t" === e.value }(), Q = ve.expr.attrHandle, ve.fn.extend({ attr: function(e, t) { return Y(this, ve.attr, e, t, arguments.length > 1) }, removeAttr: function(e) { return this.each(function() { ve.removeAttr(this, e) }) } }), ve.extend({ attr: function(e, t, n) { var i, o, r = e.nodeType; if (e && 3 !== r && 8 !== r && 2 !== r) return typeof e.getAttribute === X ? ve.prop(e, t, n) : (1 === r && ve.isXMLDoc(e) || (t = t.toLowerCase(), i = ve.attrHooks[t] || (ve.expr.match.bool.test(t) ? z : void 0)), void 0 === n ? i && "get" in i && null !== (o = i.get(e, t)) ? o : null == (o = ve.find.attr(e, t)) ? void 0 : o : null !== n ? i && "set" in i && void 0 !== (o = i.set(e, n, t)) ? o : (e.setAttribute(t, n + ""), n) : void ve.removeAttr(e, t)) }, removeAttr: function(e, t) { var n, i, o = 0,
499                        r = t && t.match(W); if (r && 1 === e.nodeType)
500                        for (; n = r[o++];) i = ve.propFix[n] || n, ve.expr.match.bool.test(n) && (e[i] = !1), e.removeAttribute(n) }, attrHooks: { type: { set: function(e, t) { if (!Te.radioValue && "radio" === t && ve.nodeName(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } } }), z = { set: function(e, t, n) { return !1 === t ? ve.removeAttr(e, n) : e.setAttribute(n, n), n } }, ve.each(ve.expr.match.bool.source.match(/\w+/g), function(e, t) { var n = Q[t] || ve.find.attr;
501                Q[t] = function(e, t, i) { var o, r; return i || (r = Q[t], Q[t] = o, o = null != n(e, t, i) ? t.toLowerCase() : null, Q[t] = r), o } }), Z = /^(?:input|select|textarea|button)$/i, ve.fn.extend({ prop: function(e, t) { return Y(this, ve.prop, e, t, arguments.length > 1) }, removeProp: function(e) { return this.each(function() { delete this[ve.propFix[e] || e] }) } }), ve.extend({ propFix: { for: "htmlFor", class: "className" }, prop: function(e, t, n) { var i, o, r = e.nodeType; if (e && 3 !== r && 8 !== r && 2 !== r) return (1 !== r || !ve.isXMLDoc(e)) && (t = ve.propFix[t] || t, o = ve.propHooks[t]), void 0 !== n ? o && "set" in o && void 0 !== (i = o.set(e, n, t)) ? i : e[t] = n : o && "get" in o && null !== (i = o.get(e, t)) ? i : e[t] }, propHooks: { tabIndex: { get: function(e) { return e.hasAttribute("tabindex") || Z.test(e.nodeName) || e.href ? e.tabIndex : -1 } } } }), Te.optSelected || (ve.propHooks.selected = { get: function(e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null } }), ve.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { ve.propFix[this.toLowerCase()] = this }), J = /[\t\r\n\f]/g, ve.fn.extend({ addClass: function(e) { var t, n, i, o, r, a, s = "string" == typeof e && e,
502                        l = 0,
503                        c = this.length; if (ve.isFunction(e)) return this.each(function(t) { ve(this).addClass(e.call(this, t, this.className)) }); if (s)
504                        for (t = (e || "").match(W) || []; c > l; l++)
505                            if (i = 1 === (n = this[l]).nodeType && (n.className ? (" " + n.className + " ").replace(J, " ") : " ")) { for (r = 0; o = t[r++];) i.indexOf(" " + o + " ") < 0 && (i += o + " ");
506                                a = ve.trim(i), n.className !== a && (n.className = a) } return this }, removeClass: function(e) { var t, n, i, o, r, a, s = 0 === arguments.length || "string" == typeof e && e,
507                        l = 0,
508                        c = this.length; if (ve.isFunction(e)) return this.each(function(t) { ve(this).removeClass(e.call(this, t, this.className)) }); if (s)
509                        for (t = (e || "").match(W) || []; c > l; l++)
510                            if (i = 1 === (n = this[l]).nodeType && (n.className ? (" " + n.className + " ").replace(J, " ") : "")) { for (r = 0; o = t[r++];)
511                                    for (; i.indexOf(" " + o + " ") >= 0;) i = i.replace(" " + o + " ", " ");
512                                a = e ? ve.trim(i) : "", n.className !== a && (n.className = a) } return this }, toggleClass: function(e, t) { var n = typeof e; return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : this.each(ve.is
vendor: 9,269 bytes, lines 512-559
512Function(e) ? function(n) { ve(this).toggleClass(e.call(this, n, this.className, t), t) } : function() { if ("string" === n)
513                            for (var t, i = 0, o = ve(this), r = e.match(W) || []; t = r[i++];) o.hasClass(t) ? o.removeClass(t) : o.addClass(t);
514                        else(n === X || "boolean" === n) && (this.className && De.set(this, "__className__", this.className), this.className = this.className || !1 === e ? "" : De.get(this, "__className__") || "") }) }, hasClass: function(e) { for (var t = " " + e + " ", n = 0, i = this.length; i > n; n++)
515                        if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(J, " ").indexOf(t) >= 0) return !0; return !1 } }), ee = /\r/g, ve.fn.extend({ val: function(e) { var t, n, i, o = this[0]; return arguments.length ? (i = ve.isFunction(e), this.each(function(n) { var o;
516                        1 === this.nodeType && (null == (o = i ? e.call(this, n, ve(this).val()) : e) ? o = "" : "number" == typeof o ? o += "" : ve.isArray(o) && (o = ve.map(o, function(e) { return null == e ? "" : e + "" })), (t = ve.valHooks[this.type] || ve.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, o, "value") || (this.value = o)) })) : o ? (t = ve.valHooks[o.type] || ve.valHooks[o.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(o, "value")) ? n : "string" == typeof(n = o.value) ? n.replace(ee, "") : null == n ? "" : n : void 0 } }), ve.extend({ valHooks: { option: { get: function(e) { var t = ve.find.attr(e, "value"); return null != t ? t : ve.trim(ve.text(e)) } }, select: { get: function(e) { for (var t, n, i = e.options, o = e.selectedIndex, r = "select-one" === e.type || 0 > o, a = r ? null : [], s = r ? o + 1 : i.length, l = 0 > o ? s : r ? o : 0; s > l; l++)
517                                if (!(!(n = i[l]).selected && l !== o || (Te.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && ve.nodeName(n.parentNode, "optgroup"))) { if (t = ve(n).val(), r) return t;
518                                    a.push(t) } return a }, set: function(e, t) { for (var n, i, o = e.options, r = ve.makeArray(t), a = o.length; a--;)((i = o[a]).selected = ve.inArray(i.value, r) >= 0) && (n = !0); return n || (e.selectedIndex = -1), r } } } }), ve.each(["radio", "checkbox"], function() { ve.valHooks[this] = { set: function(e, t) { if (ve.isArray(t)) return e.checked = ve.inArray(ve(e).val(), t) >= 0 } }, Te.checkOn || (ve.valHooks[this].get = function(e) { return null === e.getAttribute("value") ? "on" : e.value }) }), ve.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) { ve.fn[t] = function(e, n) { return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t) } }), ve.fn.extend({ hover: function(e, t) { return this.mouseenter(e).mouseleave(t || e) }, bind: function(e, t, n) { return this.on(e, null, t, n) }, unbind: function(e, t) { return this.off(e, null, t) }, delegate: function(e, t, n, i) { return this.on(t, e, n, i) }, undelegate: function(e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) } }), te = ve.now(), ne = /\?/, ve.parseJSON = function(e) { return JSON.parse(e + "") }, ve.parseXML = function(e) { var t; if (!e || "string" != typeof e) return null; try { t = (new DOMParser).parseFromString(e, "text/xml") } catch (e) { t = void 0 } return (!t || t.getElementsByTagName("parsererror").length) && ve.error("Invalid XML: " + e), t }; var dt = /#.*$/,
519            ut = /([?&])_=[^&]*/,
520            ft = /^(.*?):[ \t]*([^\r\n]*)$/gm,
521            pt = /^(?:GET|HEAD)$/,
522            ht = /^\/\//,
523            mt = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
524            gt = {},
525            Tt = {},
526            bt = "*/".concat("*"),
527            vt = e.location.href,
528            yt = mt.exec(vt.toLowerCase()) || [];
529        ve.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: vt, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(yt[1]), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": bt, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": ve.parseJSON, "text xml": ve.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function(e, t) { return t ? N(N(e, ve.ajaxSettings), t) : N(ve.ajaxSettings, e) }, ajaxPrefilter: I(gt), ajaxTransport: I(Tt), ajax: function(e, t) {
530                function n(e, t, n, a) { var l, d, T, b, y, w = t;
531                    2 !== v && (v = 2, s && clearTimeout(s), i = void 0, r = a || "", S.readyState = e > 0 ? 4 : 0, l = e >= 200 && 300 > e || 304 === e, n && (b = function(e, t, n) { for (var i, o, r, a, s = e.contents, l = e.dataTypes;
532                            "*" === l[0];) l.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type")); if (i)
533                            for (o in s)
534                                if (s[o] && s[o].test(i)) { l.unshift(o); break } if (l[0] in n) r = l[0];
535                        else { for (o in n) { if (!l[0] || e.converters[o + " " + l[0]]) { r = o; break } a || (a = o) } r = r || a } if (r) return r !== l[0] && l.unshift(r), n[r] }(u, S, n)), b = function(e, t, n, i) { var o, r, a, s, l, c = {},
536                            d = e.dataTypes.slice(); if (d[1])
537                            for (a in e.converters) c[a.toLowerCase()] = e.converters[a]; for (r = d.shift(); r;)
538                            if (e.responseFields[r] && (n[e.responseFields[r]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = r, r = d.shift())
539                                if ("*" === r) r = l;
540                                else if ("*" !== l && l !== r) { if (!(a = c[l + " " + r] || c["* " + r]))
541                                for (o in c)
542                                    if ((s = o.split(" "))[1] === r && (a = c[l + " " + s[0]] || c["* " + s[0]])) {!0 === a ? a = c[o] : !0 !== c[o] && (r = s[0], d.unshift(s[1])); break } if (!0 !== a)
543                                if (a && e.throws) t = a(t);
544                                else try { t = a(t) } catch (e) { return { state: "parsererror", error: a ? e : "No conversion from " + l + " to " + r } } } return { state: "success", data: t } }(u, b, S, l), l ? (u.ifModified && ((y = S.getResponseHeader("Last-Modified")) && (ve.lastModified[o] = y), (y = S.getResponseHeader("etag")) && (ve.etag[o] = y)), 204 === e || "HEAD" === u.type ? w = "nocontent" : 304 === e ? w = "notmodified" : (w = b.state, d = b.data, l = !(T = b.error))) : (T = w, (e || !w) && (w = "error", 0 > e && (e = 0))), S.status = e, S.statusText = (t || w) + "", l ? h.resolveWith(f, [d, w, S]) : h.rejectWith(f, [S, w, T]), S.statusCode(g), g = void 0, c && p.trigger(l ? "ajaxSuccess" : "ajaxError", [S, u, l ? d : T]), m.fireWith(f, [S, w]), c && (p.trigger("ajaxComplete", [S, u]), --ve.active || ve.event.trigger("ajaxStop"))) } "object" == typeof e && (t = e, e = void 0), t = t || {}; var i, o, r, a, s, l, c, d, u = ve.ajaxSetup({}, t),
545                    f = u.context || u,
546                    p = u.context && (f.nodeType || f.jquery) ? ve(f) : ve.event,
547                    h = ve.Deferred(),
548                    m = ve.Callbacks("once memory"),
549                    g = u.statusCode || {},
550                    T = {},
551                    b = {},
552                    v = 0,
553                    y = "canceled",
554                    S = { readyState: 0, getResponseHeader: function(e) { var t; if (2 === v) { if (!a)
555                                    for (a = {}; t = ft.exec(r);) a[t[1].toLowerCase()] = t[2];
556                                t = a[e.toLowerCase()] } return null == t ? null : t }, getAllResponseHeaders: function() { return 2 === v ? r : null }, setRequestHeader: function(e, t) { var n = e.toLowerCase(); return v || (e = b[n] = b[n] || e, T[e] = t), this }, overrideMimeType: function(e) { return v || (u.mimeType = e), this }, statusCode: function(e) { var t; if (e)
557                                if (2 > v)
558                                    for (t in e) g[t] = [g[t], e[t]];
559                                else S.always(e[S.status]); return this }, abort: function(e) { var t = e || y; return i && i.abort(t), n(0, t), this } }; if (h.promise(S).complete = m.add, S.success = S.done, S.error = S.fail, u.url = ((e || u.url || vt) + "").replace(dt, "").replace(ht, yt[1] + "//"), u.type = t.method || t.type || u.method || u.type, u.dataTypes = ve.trim(u.dataType || "*").toLowerCase().match(W) || [""], null == u.crossDomain && (l = mt.exec(u.url.toLowerCase()), u.crossDomain = !(!l || l[1] === yt[1] && l[2] === yt[2] && (l[3] || ("http:" === l[1] ? "80" : "443")) === (yt[3] || ("http:" === yt[1] ? "80" : "443")))
vendor: 10,944 bytes, lines 559-584
559), u.data && u.processData && "string" != typeof u.data && (u.data = ve.param(u.data, u.traditional)), B(gt, u, t, S), 2 === v) return S; for (d in (c = ve.event && u.global) && 0 == ve.active++ && ve.event.trigger("ajaxStart"), u.type = u.type.toUpperCase(), u.hasContent = !pt.test(u.type), o = u.url, u.hasContent || (u.data && (o = u.url += (ne.test(o) ? "&" : "?") + u.data, delete u.data), !1 === u.cache && (u.url = ut.test(o) ? o.replace(ut, "$1_=" + te++) : o + (ne.test(o) ? "&" : "?") + "_=" + te++)), u.ifModified && (ve.lastModified[o] && S.setRequestHeader("If-Modified-Since", ve.lastModified[o]), ve.etag[o] && S.setRequestHeader("If-None-Match", ve.etag[o])), (u.data && u.hasContent && !1 !== u.contentType || t.contentType) && S.setRequestHeader("Content-Type", u.contentType), S.setRequestHeader("Accept", u.dataTypes[0] && u.accepts[u.dataTypes[0]] ? u.accepts[u.dataTypes[0]] + ("*" !== u.dataTypes[0] ? ", " + bt + "; q=0.01" : "") : u.accepts["*"]), u.headers) S.setRequestHeader(d, u.headers[d]); if (u.beforeSend && (!1 === u.beforeSend.call(f, S, u) || 2 === v)) return S.abort(); for (d in y = "abort", { success: 1, error: 1, complete: 1 }) S[d](u[d]); if (i = B(Tt, u, t, S)) { S.readyState = 1, c && p.trigger("ajaxSend", [S, u]), u.async && u.timeout > 0 && (s = setTimeout(function() { S.abort("timeout") }, u.timeout)); try { v = 1, i.send(T, n) } catch (e) { if (!(2 > v)) throw e;
560                        n(-1, e) } } else n(-1, "No Transport"); return S }, getJSON: function(e, t, n) { return ve.get(e, t, n, "json") }, getScript: function(e, t) { return ve.get(e, void 0, t, "script") } }), ve.each(["get", "post"], function(e, t) { ve[t] = function(e, n, i, o) { return ve.isFunction(n) && (o = o || i, i = n, n = void 0), ve.ajax({ url: e, type: t, dataType: o, data: n, success: i }) } }), ve._evalUrl = function(e) { return ve.ajax({ url: e, type: "GET", dataType: "script", async: !1, global: !1, throws: !0 }) }, ve.fn.extend({ wrapAll: function(e) { var t; return ve.isFunction(e) ? this.each(function(t) { ve(this).wrapAll(e.call(this, t)) }) : (this[0] && (t = ve(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() { for (var e = this; e.firstElementChild;) e = e.firstElementChild; return e }).append(this)), this) }, wrapInner: function(e) { return this.each(ve.isFunction(e) ? function(t) { ve(this).wrapInner(e.call(this, t)) } : function() { var t = ve(this),
561                        n = t.contents();
562                    n.length ? n.wrapAll(e) : t.append(e) }) }, wrap: function(e) { var t = ve.isFunction(e); return this.each(function(n) { ve(this).wrapAll(t ? e.call(this, n) : e) }) }, unwrap: function() { return this.parent().each(function() { ve.nodeName(this, "body") || ve(this).replaceWith(this.childNodes) }).end() } }), ve.expr.filters.hidden = function(e) { return e.offsetWidth <= 0 && e.offsetHeight <= 0 }, ve.expr.filters.visible = function(e) { return !ve.expr.filters.hidden(e) }; var St = /%20/g,
563            wt = /\[\]$/,
564            Ct = /\r?\n/g,
565            Mt = /^(?:submit|button|image|reset|file)$/i,
566            At = /^(?:input|select|textarea|keygen)/i;
567        ve.param = function(e, t) { var n, i = [],
568                o = function(e, t) { t = ve.isFunction(t) ? t() : null == t ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t) }; if (void 0 === t && (t = ve.ajaxSettings && ve.ajaxSettings.traditional), ve.isArray(e) || e.jquery && !ve.isPlainObject(e)) ve.each(e, function() { o(this.name, this.value) });
569            else
570                for (n in e) O(n, e[n], t, o); return i.join("&").replace(St, "+") }, ve.fn.extend({ serialize: function() { return ve.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { var e = ve.prop(this, "elements"); return e ? ve.makeArray(e) : this }).filter(function() { var e = this.type; return this.name && !ve(this).is(":disabled") && At.test(this.nodeName) && !Mt.test(e) && (this.checked || !Be.test(e)) }).map(function(e, t) { var n = ve(this).val(); return null == n ? null : ve.isArray(n) ? ve.map(n, function(e) { return { name: t.name, value: e.replace(Ct, "\r\n") } }) : { name: t.name, value: n.replace(Ct, "\r\n") } }).get() } }), ve.ajaxSettings.xhr = function() { try { return new XMLHttpRequest } catch (e) {} }; var Pt = 0,
571            Dt = {},
572            xt = { 0: 200, 1223: 204 },
573            Gt = ve.ajaxSettings.xhr(); return e.attachEvent && e.attachEvent("onunload", function() { for (var e in Dt) Dt[e]() }), Te.cors = !!Gt && "withCredentials" in Gt, Te.ajax = Gt = !!Gt, ve.ajaxTransport(function(e) { var t; if (Te.cors || Gt && !e.crossDomain) return { send: function(n, i) { var o, r = e.xhr(),
574                        a = ++Pt; if (r.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields)
575                        for (o in e.xhrFields) r[o] = e.xhrFields[o]; for (o in e.mimeType && r.overrideMimeType && r.overrideMimeType(e.mimeType), e.crossDomain || n["X-Requested-With"] || (n["X-Requested-With"] = "XMLHttpRequest"), n) r.setRequestHeader(o, n[o]);
576                    t = function(e) { return function() { t && (delete Dt[a], t = r.onload = r.onerror = null, "abort" === e ? r.abort() : "error" === e ? i(r.status, r.statusText) : i(xt[r.status] || r.status, r.statusText, "string" == typeof r.responseText ? { text: r.responseText } : void 0, r.getAllResponseHeaders())) } }, r.onload = t(), r.onerror = t("error"), t = Dt[a] = t("abort"); try { r.send(e.hasContent && e.data || null) } catch (e) { if (t) throw e } }, abort: function() { t && t() } } }), ve.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /(?:java|ecma)script/ }, converters: { "text script": function(e) { return ve.globalEval(e), e } } }), ve.ajaxPrefilter("script", function(e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") }), ve.ajaxTransport("script", function(e) { var t, n; if (e.crossDomain) return { send: function(i, o) { t = ve("<script>").prop({ async: !0, charset: e.scriptCharset, src: e.url }).on("load error", n = function(e) { t.remove(), n = null, e && o("error" === e.type ? 404 : 200, e.type) }), be.head.appendChild(t[0]) }, abort: function() { n && n() } } }), ie = [], oe = /(=)\?(?=&|$)|\?\?/, ve.ajaxSetup({ jsonp: "callback", jsonpCallback: function() { var e = ie.pop() || ve.expando + "_" + te++; return this[e] = !0, e } }), ve.ajaxPrefilter("json jsonp", function(t, n, i) { var o, r, a, s = !1 !== t.jsonp && (oe.test(t.url) ? "url" : "string" == typeof t.data && !(t.contentType || "").indexOf("application/x-www-form-urlencoded") && oe.test(t.data) && "data"); if (s || "jsonp" === t.dataTypes[0]) return o = t.jsonpCallback = ve.isFunction(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s ? t[s] = t[s].replace(oe, "$1" + o) : !1 !== t.jsonp && (t.url += (ne.test(t.url) ? "&" : "?") + t.jsonp + "=" + o), t.converters["script json"] = function() { return a || ve.error(o + " was not called"), a[0] }, t.dataTypes[0] = "json", r = e[o], e[o] = function() { a = arguments }, i.always(function() { e[o] = r, t[o] && (t.jsonpCallback = n.jsonpCallback, ie.push(o)), a && ve.isFunction(r) && r(a[0]), a = r = void 0 }), "script" }), ve.parseHTML = function(e, t, n) { if (!e || "string" != typeof e) return null; "boolean" == typeof t && (n = t, t = !1), t = t || be; var i = Ae.exec(e),
577                o = !n && []; return i ? [t.createElement(i[1])] : (i = ve.buildFragment([e], t, o), o && o.length && ve(o).remove(), ve.merge([], i.childNodes)) }, re = ve.fn.load, ve.fn.load = function(e, t, n) { if ("string" != typeof e && re) return re.apply(this, arguments); var i, o, r, a = this,
578                s = e.indexOf(" "); return s >= 0 && (i = ve.trim(e.slice(s)), e = e.slice(0, s)), ve.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (o = "POST"), a.length > 0 && ve.ajax({ url: e, type: o, dataType: "html", data: t }).done(function(e) { r = arguments, a.html(i ? ve("<div>").append(ve.parseHTML(e)).find(i) : e) }).complete(n && function(e, t) { a.each(n, r || [e.responseText, t, e]) }), this }, ve.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) { ve.fn[t] = function(e) { return this.on(t, e) } }), ve.expr.filters.animated = function(e) { return ve.grep(ve.timers, function(t) { return e === t.elem }).length }, ae = e.document.documentElement, ve.offset = { setOffset: function(e, t, n) { var i, o, r, a, s, l, c = ve.css(e, "position"),
579                    d = ve(e),
580                    u = {}; "static" === c && (e.style.position = "relative"), s = d.offset(), r = ve.css(e, "top"), l = ve.css(e, "left"), ("absolute" === c || "fixed" === c) && (r + l).indexOf("auto") > -1 ? (a = (i = d.position()).top, o = i.left) : (a = parseFloat(r) || 0, o = parseFloat(l) || 0), ve.isFunction(t) && (t = t.call(e, n, s)), null != t.top && (u.top = t.top - s.top + a), null != t.left && (u.left = t.left - s.left + o), "using" in t ? t.using.call(e, u) : d.css(u) } }, ve.fn.extend({ offset: function(e) { if (arguments.length) return void 0 === e ? this : this.each(function(t) { ve.offset.setOffset(this, e, t) }); var t, n, i = this[0],
581                    o = { top: 0, left: 0 },
582                    r = i && i.ownerDocument; return r ? (t = r.documentElement, ve.contains(t, i) ? (typeof i.getBoundingClientRect !== X && (o = i.getBoundingClientRect()), n = _(r), { top: o.top + n.pageYOffset - t.clientTop, left: o.left + n.pageXOffset - t.clientLeft }) : o) : void 0 }, position: function() { if (this[0]) { var e, t, n = this[0],
583                        i = { top: 0, left: 0 }; return "fixed" === ve.css(n, "position") ? t = n.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), ve.nodeName(e[0], "html") || (i = e.offset()), i.top += ve.css(e[0], "borderTopWidth", !0), i.left += ve.css(e[0], "borderLeftWidth", !0)), { top: t.top - i.top - ve.css(n, "marginTop", !0), left: t.left - i.left - ve.css(n, "marginLeft", !0) } } }, offsetParent: function() { return this.map(function() { for (var e = this.offsetParent || ae; e && !ve.nodeName(e, "html") && "static" === ve.css(e, "position");) e = e.offsetParent; return e || ae }) } }), ve.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(t, n) { var i = "pageYOffset" === n;
584            ve.fn[t] = function(o) { return Y(this, function(t, o, r) { var a = _(t); return void 0 === r ? a ? a[n] : t[o] : void(a ? a.scrollTo(i ? e.pageXOffset : r, i ? r : e.pageYOffset) : t[o] = r) }, t, o, arguments.length, null) } }), ve.each(["top", "left"], function(e, t) { ve.cssHooks[t] = w(Te.pixelPosition, function(e, n) { if (n) return n = S(e, t), Ke.test(n) ? ve(e).position()[t] + "px" : n }) }), ve.each({ Height: "height", Width: "width" }
584, function(e, t) { ve.each({ padding: "inner" + e, content: t, "": "outer" + e }, function(n, i) { ve.fn[i] = function(i, o) { var r = arguments.length && (n || "boolean" != typeof i),
585                        a = n || (!0 === i || !0 === o ? "margin" : "border"); return Y(this, function(t, n, i) { var o; return ve.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (o = t.documentElement, Math.max(t.body["scroll" + e], o["scroll" + e], t.body["offset" + e], o["offset" + e], o["client" + e])) : void 0 === i ? ve.css(t, n, a) : ve.style(t, n, i, a) }, t, r ? i : void 0, r, null) } }) }), ve.fn.size = function() { return this.length }, ve.fn.andSelf = ve.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() { return ve }), se = e.jQuery, le = e.$, ve.noConflict = function(t) { return e.$ === ve && (e.$ = le), t && e.jQuery === ve && (e.jQuery = se), ve }, typeof t === X && (e.jQuery = e.$ = ve), ve }), function(e, t, n) {
586        function i(n) { var i = t.console;
587            l[n] || (l[n] = !0, e.migrateWarnings.push(n), i && i.warn && !e.migrateMute && (i.warn("JQMIGRATE: " + n), e.migrateTrace && i.trace && i.trace())) }
588
589        function o(t, n, o, r) { if (Object.defineProperty) try { return void Object.defineProperty(t, n, { configurable: !0, enumerable: !0, get: function() { return i(r), o }, set: function(e) { i(r), o = e } }) } catch (e) {} e._definePropertyBroken = !0, t[n] = o } var r, a, s, l = {};
590        e.migrateWarnings = [], !e.migrateMute && t.console && t.console.log && t.console.log("JQMIGRATE: Logging is active"), e.migrateTrace === n && (e.migrateTrace = !0), e.migrateReset = function() { l = {}, e.migrateWarnings.length = 0 }, "BackCompat" === document.compatMode && i("jQuery is not compatible with Quirks Mode"); var c = e("<input/>", { size: 1 }).attr("size") && e.attrFn,
591            d = e.attr,
592            u = e.attrHooks.value && e.attrHooks.value.get || function() { return null },
593            f = e.attrHooks.value && e.attrHooks.value.set || function() { return n },
594            p = /^(?:input|button)$/i,
595            h = /^[238]$/,
596            m = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
597            g = /^(?:checked|selected)$/i;
598        o(e, "attrFn", c || {}, "jQuery.attrFn is deprecated"), e.attr = function(t, o, r, a) { var s = o.toLowerCase(),
599                l = t && t.nodeType; return a && (d.length < 4 && i("jQuery.fn.attr( props, pass ) is deprecated"), t && !h.test(l) && (c ? o in c : e.isFunction(e.fn[o]))) ? e(t)[o](r) : ("type" === o && r !== n && p.test(t.nodeName) && t.parentNode && i("Can't change the 'type' of an input or button in IE 6/7/8"), !e.attrHooks[s] && m.test(s) && (e.attrHooks[s] = { get: function(t, i) { var o, r = e.prop(t, i); return !0 === r || "boolean" != typeof r && (o = t.getAttributeNode(i)) && !1 !== o.nodeValue ? i.toLowerCase() : n }, set: function(t, n, i) { var o; return !1 === n ? e.removeAttr(t, i) : ((o = e.propFix[i] || i) in t && (t[o] = !0), t.setAttribute(i, i.toLowerCase())), i } }, g.test(s) && i("jQuery.fn.attr('" + s + "') may use property instead of attribute")), d.call(e, t, o, r)) }, e.attrHooks.value = { get: function(e, t) { var n = (e.nodeName || "").toLowerCase(); return "button" === n ? u.apply(this, arguments) : ("input" !== n && "option" !== n && i("jQuery.fn.attr('value') no longer gets properties"), t in e ? e.value : null) }, set: function(e, t) { var n = (e.nodeName || "").toLowerCase(); if ("button" === n) return f.apply(this, arguments); "input" !== n && "option" !== n && i("jQuery.fn.attr('value', val) no longer sets properties"), e.value = t } }; var T, b, v = e.fn.init,
600            y = e.parseJSON,
601            S = /^([^<]*)(<[\w\W]+>)([^>]*)$/;
602        e.fn.init = function(t, n, o) { var r; return t && "string" == typeof t && !e.isPlainObject(n) && (r = S.exec(e.trim(t))) && r[0] && ("<" !== t.charAt(0) && i("$(html) HTML strings must start with '<' character"), r[3] && i("$(html) HTML text after last tag is ignored"), "#" === r[0].charAt(0) && (i("HTML string cannot start with a '#' character"), e.error("JQMIGRATE: Invalid selector string (XSS)")), n && n.context && (n = n.context), e.parseHTML) ? v.call(this, e.parseHTML(r[2], n, !0), n, o) : v.apply(this, arguments) }, e.fn.init.prototype = e.fn, e.parseJSON = function(e) { return e || null === e ? y.apply(this, arguments) : (i("jQuery.parseJSON requires a valid JSON string"), null) }, e.uaMatch = function(e) { e = e.toLowerCase(); var t = /(chrome)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e) || []; return { browser: t[1] || "", version: t[2] || "0" } }, e.browser || (b = {}, (T = e.uaMatch(navigator.userAgent)).browser && (b[T.browser] = !0, b.version = T.version), b.chrome ? b.webkit = !0 : b.webkit && (b.safari = !0), e.browser = b), o(e, "browser", e.browser, "jQuery.browser is deprecated"), e.sub = function() {
603            function t(e, n) { return new t.fn.init(e, n) } e.extend(!0, t, this), t.superclass = this, t.fn = t.prototype = this(), t.fn.constructor = t, t.sub = this.sub, t.fn.init = function(i, o) { return o && o instanceof e && !(o instanceof t) && (o = t(o)), e.fn.init.call(this, i, o, n) }, t.fn.init.prototype = t.fn; var n = t(document); return i("jQuery.sub() is deprecated"), t }, e.ajaxSetup({ converters: { "text json": e.parseJSON } }), r = e.fn.data, e.fn.data = function(t) { var o, a, s = this[0]; return !s || "events" !== t || 1 !== arguments.length || (o = e.data(s, t), a = e._data(s, t), o !== n && o !== a || a === n) ? r.apply(this, arguments) : (i("Use of jQuery.fn.data('events') is deprecated"), a) }, a = /\/(java|ecma)script/i, s = e.fn.andSelf || e.fn.addBack, e.fn.andSelf = function() { return i("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"), s.apply(this, arguments) }, e.clean || (e.clean = function(t, n, o, r) { n = (n = !(n = n || document).nodeType && n[0] || n).ownerDocument || n, i("jQuery.clean() is deprecated"); var s, l, c, d, u = []; if (e.merge(u, e.buildFragment(t, n).childNodes), o)
604                for (c = function(e) { if (!e.type || a.test(e.type)) return r ? r.push(e.parentNode ? e.parentNode.removeChild(e) : e) : o.appendChild(e) }, s = 0; null != (l = u[s]); s++) e.nodeName(l, "script") && c(l) || (o.appendChild(l), void 0 !== l.getElementsByTagName && (d = e.grep(e.merge([], l.getElementsByTagName("script")), c), u.splice.apply(u, [s + 1, 0].concat(d)), s += d.length)); return u }); var w = e.event.add,
605            C = e.event.remove,
606            M = e.event.trigger,
607            A = e.fn.toggle,
608            P = e.fn.live,
609            D = e.fn.die,
610            x = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",
611            G = new RegExp("\\b(?:" + x + ")\\b"),
612            E = /(?:^|\s)hover(\.\S+|)\b/,
613            k = function(t) { return "string" != typeof t || e.event.special.hover ? t : (E.test(t) && i("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"), t && t.replace(E, "mouseenter$1 mouseleave$1")) };
614        e.event.props && "attrChange" !== e.event.props[0] && e.event.props.unshift("attrChange", "attrName", "relatedNode", "srcElement"), e.event.dispatch && o(e.event, "handle", e.event.dispatch, "jQuery.event.handle is undocumented and deprecated"), e.event.add = function(e, t, n, o, r) { e !== document && G.test(t) && i("AJAX events should be attached to document: " + t), w.call(this, e, k(t || ""), n, o, r) }, e.event.remove = function(e, t, n, i, o) { C.call(this, e, k(t) || "", n, i, o) }, e.fn.error = function() { var e = Array.prototype.slice.call(arguments, 0); return i("jQuery.fn.error() is deprecated"), e.splice(0, 0, "error"), arguments.length ? this.bind.apply(this, e) : (this.triggerHandler.apply(this, e), this) }, e.fn.toggle = function(t, n) { if (!e.isFunction(t) || !e.isFunction(n)) return A.apply(this, arguments);
615            i("jQuery.fn.toggle(handler, handler...) is deprecated"); var o = arguments,
616                r = t.guid || e.guid++,
617                a = 0,
618                s = function(n) { var i = (e._data(this, "lastToggle" + t.guid
618) || 0) % a; return e._data(this, "lastToggle" + t.guid, i + 1), n.preventDefault(), o[i].apply(this, arguments) || !1 }; for (s.guid = r; a < o.length;) o[a++].guid = r; return this.click(s) }, e.fn.live = function(t, n, o) { return i("jQuery.fn.live() is deprecated"), P ? P.apply(this, arguments) : (e(this.context).on(t, this.selector, n, o), this) }, e.fn.die = function(t, n) { return i("jQuery.fn.die() is deprecated"), D ? D.apply(this, arguments) : (e(this.context).off(t, this.selector || "**", n), this) }, e.event.trigger = function(e, t, n, o) { return n || G.test(e) || i("Global events are undocumented and deprecated"), M.call(this, e, t, n || document, o) }, e.each(x.split("|"), function(t, n) { e.event.special[n] = { setup: function() { var t = this; return t !== document && (e.event.add(document, n + "." + e.guid, function() { e.event.trigger(n, null, t, !0) }), e._data(this, n, e.guid++)), !1 }, teardown: function() { return this !== document && e.event.remove(document, n + "." + e._data(this, n)), !1 } } }) }(jQuery, window), "undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery");
619for (function(e) { "use strict"; var t = jQuery.fn.jquery.split(" ")[0].split("."); if (t[0] < 2 && t[1] < 9 || 1 == t[0] && 9 == t[1] && t[2] < 1) throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher") }(), function(e) { "use strict";
620        e.fn.emulateTransitionEnd = function(t) { var n = !1,
621                i = this; return e(this).one("bsTransitionEnd", function() { n = !0 }), setTimeout(function() { n || e(i).trigger(e.support.transition.end) }, t), this }, e(function() { e.support.transition = function() { var e, t = document.createElement("bootstrap"),
622                    n = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend" }; for (e in n)
623                    if (void 0 !== t.style[e]) return { end: n[e] }; return !1 }(), e.support.transition && (e.event.special.bsTransitionEnd = { bindType: e.support.transition.end, delegateType: e.support.transition.end, handle: function(t) { if (e(t.target).is(this)) return t.handleObj.handler.apply(this, arguments) } }) }) }(jQuery), function(e) { "use strict"; var t, n = '[data-dismiss="alert"]',
624            i = function(t) { e(t).on("click", n, this.close) };
625        i.VERSION = "3.3.5", i.TRANSITION_DURATION = 150, i.prototype.close = function(t) {
626            function n() { o.detach().trigger("closed.bs.alert").remove() } var o, r = e(this),
627                a = r.attr("data-target");
628            a || (a = (a = r.attr("href")) && a.replace(/.*(?=#[^\s]*$)/, "")), o = e(a), t && t.preventDefault(), o.length || (o = r.closest(".alert")), o.trigger(t = e.Event("close.bs.alert")), t.isDefaultPrevented() || (o.removeClass("in"), e.support.transition && o.hasClass("fade") ? o.one("bsTransitionEnd", n).emulateTransitionEnd(i.TRANSITION_DURATION) : n()) }, t = e.fn.alert, e.fn.alert = function(t) { return this.each(function() { var n = e(this),
629                    o = n.data("bs.alert");
630                o || n.data("bs.alert", o = new i(this)), "string" == typeof t && o[t].call(n) }) }, e.fn.alert.Constructor = i, e.fn.alert.noConflict = function() { return e.fn.alert = t, this }, e(document).on("click.bs.alert.data-api", n, i.prototype.close) }(jQuery), function(e) { "use strict";
631
632        function t(t) { return this.each(function() { var n = e(this),
633                    o = n.data("bs.button"),
634                    r = "object" == typeof t && t;
635                o || n.data("bs.button", o = new i(this, r)), "toggle" == t ? o.toggle() : t && o.setState(t) }) } var n, i = function(t, n) { this.$element = e(t), this.options = e.extend({}, i.DEFAULTS, n), this.isLoading = !1 };
636        i.VERSION = "3.3.5", i.DEFAULTS = { loadingText: "loading..." }, i.prototype.setState = function(t) { var n = "disabled",
637                i = this.$element,
638                o = i.is("input") ? "val" : "html",
639                r = i.data();
640            t += "Text", null == r.resetText && i.data("resetText", i[o]()), setTimeout(e.proxy(function() { i[o](null == r[t] ? this.options[t] : r[t]), "loadingText" == t ? (this.isLoading = !0, i.addClass(n).attr(n, n)) : this.isLoading && (this.isLoading = !1, i.removeClass(n).removeAttr(n)) }, this), 0) }, i.prototype.toggle = function() { var e, t = !0,
641                n = this.$element.closest('[data-toggle="buttons"]');
642            n.length ? ("radio" == (e = this.$element.find("input")).prop("type") ? (e.prop("checked") && (t = !1), n.find(".active").removeClass("active"), this.$element.addClass("active")) : "checkbox" == e.prop("type") && (e.prop("checked") !== this.$element.hasClass("active") && (t = !1), this.$element.toggleClass("active")), e.prop("checked", this.$element.hasClass("active")), t && e.trigger("change")) : (this.$element.attr("aria-pressed", !this.$element.hasClass("active")), this.$element.toggleClass("active")) }, n = e.fn.button, e.fn.button = t, e.fn.button.Constructor = i, e.fn.button.noConflict = function() { return e.fn.button = n, this }, e(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function(n) { var i = e(n.target);
643            i.hasClass("btn") || (i = i.closest(".btn")), t.call(i, "toggle"), e(n.target).is('input[type="radio"]') || e(n.target).is('input[type="checkbox"]') || n.preventDefault() }).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function(t) { e(t.target).closest(".btn").toggleClass("focus", /^focus(in)?$/.test(t.type)) }) }(jQuery), function(e) { "use strict";
644
645        function t(t) { return this.each(function() { var n = e(this),
646                    i = n.data("bs.carousel"),
647                    r = e.extend({}, o.DEFAULTS, n.data(), "object" == typeof t && t),
648                    a = "string" == typeof t ? t : r.slide;
649                i || n.data("bs.carousel", i = new o(this, r)), "number" == typeof t ? i.to(t) : a ? i[a]() : r.interval && i.pause().cycle() }) } var n, i, o = function(t, n) { this.$element = e(t), this.$indicators = this.$element.find(".carousel-indicators"), this.options = n, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("key
649down.bs.carousel", e.proxy(this.keydown, this)), "hover" == this.options.pause && !("ontouchstart" in document.documentElement) && this.$element.on("mouseenter.bs.carousel", e.proxy(this.pause, this)).on("mouseleave.bs.carousel", e.proxy(this.cycle, this)) };
650        o.VERSION = "3.3.5", o.TRANSITION_DURATION = 600, o.DEFAULTS = { interval: 5e3, pause: "hover", wrap: !0, keyboard: !0 }, o.prototype.keydown = function(e) { if (!/input|textarea/i.test(e.target.tagName)) { switch (e.which) {
651                    case 37:
652                        this.prev(); break;
653                    case 39:
654                        this.next(); break;
655                    default:
656                        return } e.preventDefault() } }, o.prototype.cycle = function(t) { return t || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(e.proxy(this.next, this), this.options.interval)), this }, o.prototype.getItemIndex = function(e) { return this.$items = e.parent().children(".item"), this.$items.index(e || this.$active) }, o.prototype.getItemForDirection = function(e, t) { var n, i = this.getItemIndex(t); return ("prev" == e && 0 === i || "next" == e && i == this.$items.length - 1) && !this.options.wrap ? t : (n = (i + ("prev" == e ? -1 : 1)) % this.$items.length, this.$items.eq(n)) }, o.prototype.to = function(e) { var t = this,
657                n = this.getItemIndex(this.$active = this.$element.find(".item.active")); if (!(e > this.$items.length - 1 || 0 > e)) return this.sliding ? this.$element.one("slid.bs.carousel", function() { t.to(e) }) : n == e ? this.pause().cycle() : this.slide(e > n ? "next" : "prev", this.$items.eq(e)) }, o.prototype.pause = function(t) { return t || (this.paused = !0), this.$element.find(".next, .prev").length && e.support.transition && (this.$element.trigger(e.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this }, o.prototype.next = function() { if (!this.sliding) return this.slide("next") }, o.prototype.prev = function() { if (!this.sliding) return this.slide("prev") }, o.prototype.slide = function(t, n) { var i, r, a, s, l = this.$element.find(".item.active"),
658                c = n || this.getItemForDirection(t, l),
659                d = this.interval,
660                u = "next" == t ? "left" : "right",
661                f = this; return c.hasClass("active") ? this.sliding = !1 : (i = c[0], r = e.Event("slide.bs.carousel", { relatedTarget: i, direction: u }), this.$element.trigger(r), r.isDefaultPrevented() ? void 0 : (this.sliding = !0, d && this.pause(), this.$indicators.length && (this.$indicators.find(".active").removeClass("active"), (a = e(this.$indicators.children()[this.getItemIndex(c)])) && a.addClass("active")), s = e.Event("slid.bs.carousel", { relatedTarget: i, direction: u }), e.support.transition && this.$element.hasClass("slide") ? (c.addClass(t), c[0].offsetWidth, l.addClass(u), c.addClass(u), l.one("bsTransitionEnd", function() { c.removeClass([t, u].join(" ")).addClass("active"), l.removeClass(["active", u].join(" ")), f.sliding = !1, setTimeout(function() { f.$element.trigger(s) }, 0) }).emulateTransitionEnd(o.TRANSITION_DURATION)) : (l.removeClass("active"), c.addClass("active"), this.sliding = !1, this.$element.trigger(s)), d && this.cycle(), this)) }, n = e.fn.carousel, e.fn.carousel = t, e.fn.carousel.Constructor = o, e.fn.carousel.noConflict = function() { return e.fn.carousel = n, this }, i = function(n) { var i, o, r, a = e(this),
662                s = e(a.attr("data-target") || (i = a.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, ""));
663            s.hasClass("carousel") && (o = e.extend({}, s.data(), a.data()), (r = a.attr("data-slide-to")) && (o.interval = !1), t.call(s, o), r && s.data("bs.carousel").to(r), n.preventDefault()) }, e(document).on("click.bs.carousel.data-api", "[data-slide]", i).on("click.bs.carousel.data-api", "[data-slide-to]", i), e(window).on("load", function() { e('[data-ride="carousel"]').each(function() { var n = e(this);
664                t.call(n, n.data()) }) }) }(jQuery), function(e) { "use strict";
665
666        function t(t) { var n, i = t.attr("data-target") || (n = t.attr("href")) && n.replace(/.*(?=#[^\s]+$)/, ""); return e(i) }
667
668        function n(t) { return this.each(function() { var n = e(this),
669                    i = n.data("bs.collapse"),
670                    r = e.extend({}, o.DEFAULTS, n.data(), "object" == typeof t && t);!i && r.toggle && /show|hide/.test(t) && (r.toggle = !1), i || n.data("bs.collapse", i = new o(this, r)), "string" == typeof t && i[t]() }) } var i, o = function(t, n) { this.$element = e(t), this.options = e.extend({}, o.DEFAULTS, n), this.$trigger = e('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle() };
671        o.VERSION = "3.3.5", o.TRANSITION_DURATION = 350, o.DEFAULTS = { toggle: !0 }, o.prototype.dimension = function() { return this.$element.hasClass("width") ? "width" : "height" }, o.prototype.show = function() { var t, i, r, a, s, l; if (!(this.transitioning || this.$element.hasClass("in") || (i = this.$parent && this.$parent.children(".panel").children(".in, .collapsing"), i && i.length && (t = i.data("bs.collapse"), t && t.transitioning) || (r = e.Event("show.bs.collapse"), this.$element.trigger(r), r.isDefaultPrevented())))) { if (i && i.length && (n.call(i, "hide"), t || i.data("bs.collapse", null)), a = this.dimension(), this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1, s = function() { this.$element.removeClass("collapsing").addClass("collapse in")[a](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") }, !e.support.transition) return s.call(this);
672                l = e.camelCase(["scroll", a].join("-")), this.$element.one("bsTransitionEnd", e.proxy(s, this)).emulateTransitionEnd(o.TRANSITION_DURATION)[a](this.$element[0][l]) } }, o.prototype.hide = function() { var t, n, i; if (!this.transitioning && this.$element.hasClass("in") && (t = e.Event("hide.bs.collapse"), this.$element.trigger(t), !t.isDefaultPrevented())) return n = this.dimension(), this.$element[n](this.$element[n]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1, i = function() { this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse") }, e.support.transition ? void this.$element[n](0).one("bsTransitionEnd", e.proxy(i, this)).emulateTransitionEnd(o.TRANSITION_DURATION) : i.call(this) }, o.prototype.toggle = function() { this[this.$element.hasClass("in") ? "hide" : "show"]() }, o.prototype.getParent = function() { return e(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(e.proxy(function(n, i) { var o = e(i);
673                this.addAriaAndCollapsedClass(t(o), o) }, this)).end() }, o.prototype.addAriaAndCollapsedClass = function(e, t) { var n = e.hasClass("in");
674            e.attr("aria-expanded", n), t.toggleClass("collapsed", !n).attr("aria-expanded", n) }, i = e.fn.collapse, e.fn.collapse = n, e.fn.collapse.Constructor = o, e.fn.collapse.noConflict = function() { return e.fn.collapse = i, this }, e(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function(i) { var o = e(this);
675            o.attr("data-target") || i.preventDefault(); var r = t(o),
676                a = r.data("bs.collapse") ? "toggle" : o.data();
677            n.call(r, a) }) }(jQuery), function(e) { "use strict";
678
679        function t(t) { var n, i = t.attr("data-target"); return i || (i = (i = t.attr("href")) && /#[A-Za-z]/.test(i) && i.replace(/.*(?=#[^\s]*$)/, "")), (n = i && e(i)) && n.length ? n : t.parent() }
680
681        function n(n) { n && 3 === n.which || (e(o).remove(), e(r).each(function() { var i = e(this),
682                    o = t(i),
683                    r = { relatedTarget: this };
684                o.hasClass("open") && (n && "click" == n.type && /input|textarea/i.test(n.target.tagName) && e.contains(o[0], n.target) || (
684o.trigger(n = e.Event("hide.bs.dropdown", r)), n.isDefaultPrevented() || (i.attr("aria-expanded", "false"), o.removeClass("open").trigger("hidden.bs.dropdown", r)))) })) } var i, o = ".dropdown-backdrop",
685            r = '[data-toggle="dropdown"]',
686            a = function(t) { e(t).on("click.bs.dropdown", this.toggle) };
687        a.VERSION = "3.3.5", a.prototype.toggle = function(i) { var o, r, a, s = e(this); if (!s.is(".disabled, :disabled")) { if (r = (o = t(s)).hasClass("open"), n(), !r) { if ("ontouchstart" in document.documentElement && !o.closest(".navbar-nav").length && e(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(e(this)).on("click", n), a = { relatedTarget: this }, o.trigger(i = e.Event("show.bs.dropdown", a)), i.isDefaultPrevented()) return;
688                    s.trigger("focus").attr("aria-expanded", "true"), o.toggleClass("open").trigger("shown.bs.dropdown", a) } return !1 } }, a.prototype.keydown = function(n) { var i, o, a, s, l; if (/(38|40|27|32)/.test(n.which) && !/input|textarea/i.test(n.target.tagName) && (i = e(this), n.preventDefault(), n.stopPropagation(), !i.is(".disabled, :disabled"))) { if (!(a = (o = t(i)).hasClass("open")) && 27 != n.which || a && 27 == n.which) return 27 == n.which && o.find(r).trigger("focus"), i.trigger("click"); " li:not(.disabled):visible a", (s = o.find(".dropdown-menu li:not(.disabled):visible a")).length && (l = s.index(n.target), 38 == n.which && l > 0 && l--, 40 == n.which && l < s.length - 1 && l++, ~l || (l = 0), s.eq(l).trigger("focus")) } }, i = e.fn.dropdown, e.fn.dropdown = function(t) { return this.each(function() { var n = e(this),
689                    i = n.data("bs.dropdown");
690                i || n.data("bs.dropdown", i = new a(this)), "string" == typeof t && i[t].call(n) }) }, e.fn.dropdown.Constructor = a, e.fn.dropdown.noConflict = function() { return e.fn.dropdown = i, this }, e(document).on("click.bs.dropdown.data-api", n).on("click.bs.dropdown.data-api", ".dropdown form", function(e) { e.stopPropagation() }).on("click.bs.dropdown.data-api", r, a.prototype.toggle).on("keydown.bs.dropdown.data-api", r, a.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", a.prototype.keydown) }(jQuery), function(e) { "use strict";
691
692        function t(t, n) { return this.each(function() { var o = e(this),
693                    r = o.data("bs.modal"),
694                    a = e.extend({}, i.DEFAULTS, o.data(), "object" == typeof t && t);
695                r || o.data("bs.modal", r = new i(this, a)), "string" == typeof t ? r[t](n) : a.show && r.show(n) }) } var n, i = function(t, n) { this.options = n, this.$body = e(document.body), this.$element = e(t), this.$dialog = this.$element.find(".modal-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, e.proxy(function() { this.$element.trigger("loaded.bs.modal") }, this)) };
696        i.VERSION = "3.3.5", i.TRANSITION_DURATION = 300, i.BACKDROP_TRANSITION_DURATION = 150, i.DEFAULTS = { backdrop: !0, keyboard: !0, show: !0 }, i.prototype.toggle = function(e) { return this.isShown ? this.hide() : this.show(e) }, i.prototype.show = function(t) { var n = this,
697                o = e.Event("show.bs.modal", { relatedTarget: t });
698            this.$element.trigger(o), this.isShown || o.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.setScrollbar(), this.$body.addClass("modal-open"), this.escape(), this.resize(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', e.proxy(this.hide, this)), this.$dialog.on("mousedown.dismiss.bs.modal", function() { n.$element.one("mouseup.dismiss.bs.modal", function(t) { e(t.target).is(n.$element) && (n.ignoreBackdropClick = !0) }) }), this.backdrop(function() { var o, r = e.support.transition && n.$element.hasClass("fade");
699                n.$element.parent().length || n.$element.appendTo(n.$body), n.$element.show().scrollTop(0), n.adjustDialog(), r && n.$element[0].offsetWidth, n.$element.addClass("in"), n.enforceFocus(), o = e.Event("shown.bs.modal", { relatedTarget: t }), r ? n.$dialog.one("bsTransitionEnd", function() { n.$element.trigger("focus").trigger(o) }).emulateTransitionEnd(i.TRANSITION_DURATION) : n.$element.trigger("focus").trigger(o) })) }, i.prototype.hide = function(t) { t && t.preventDefault(), t = e.Event("hide.bs.modal"), this.$element.trigger(t), this.isShown && !t.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), e(document).off("focusin.bs.modal"), this.$element.removeClass("in").off("
vendor: 8,945 bytes, lines 699-719
699click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"), this.$dialog.off("mousedown.dismiss.bs.modal"), e.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", e.proxy(this.hideModal, this)).emulateTransitionEnd(i.TRANSITION_DURATION) : this.hideModal()) }, i.prototype.enforceFocus = function() { e(document).off("focusin.bs.modal").on("focusin.bs.modal", e.proxy(function(e) { this.$element[0] === e.target || this.$element.has(e.target).length || this.$element.trigger("focus") }, this)) }, i.prototype.escape = function() { this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", e.proxy(function(e) { 27 == e.which && this.hide() }, this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal") }, i.prototype.resize = function() { this.isShown ? e(window).on("resize.bs.modal", e.proxy(this.handleUpdate, this)) : e(window).off("resize.bs.modal") }, i.prototype.hideModal = function() { var e = this;
700            this.$element.hide(), this.backdrop(function() { e.$body.removeClass("modal-open"), e.resetAdjustments(), e.resetScrollbar(), e.$element.trigger("hidden.bs.modal") }) }, i.prototype.removeBackdrop = function() { this.$backdrop && this.$backdrop.remove(), this.$backdrop = null }, i.prototype.backdrop = function(t) { var n, o, r = this,
701                a = this.$element.hasClass("fade") ? "fade" : ""; if (this.isShown && this.options.backdrop) { if (n = e.support.transition && a, this.$backdrop = e(document.createElement("div")).addClass("modal-backdrop " + a).appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", e.proxy(function(e) { return this.ignoreBackdropClick ? void(this.ignoreBackdropClick = !1) : void(e.target === e.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide())) }, this)), n && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !t) return;
702                n ? this.$backdrop.one("bsTransitionEnd", t).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION) : t() } else !this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), o = function() { r.removeBackdrop(), t && t() }, e.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", o).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION) : o()) : t && t() }, i.prototype.handleUpdate = function() { this.adjustDialog() }, i.prototype.adjustDialog = function() { var e = this.$element[0].scrollHeight > document.documentElement.clientHeight;
703            this.$element.css({ paddingLeft: !this.bodyIsOverflowing && e ? this.scrollbarWidth : "", paddingRight: this.bodyIsOverflowing && !e ? this.scrollbarWidth : "" }) }, i.prototype.resetAdjustments = function() { this.$element.css({ paddingLeft: "", paddingRight: "" }) }, i.prototype.checkScrollbar = function() { var e, t = window.innerWidth;
704            t || (t = (e = document.documentElement.getBoundingClientRect()).right - Math.abs(e.left)), this.bodyIsOverflowing = document.body.clientWidth < t, this.scrollbarWidth = this.measureScrollbar() }, i.prototype.setScrollbar = function() { var e = parseInt(this.$body.css("padding-right") || 0, 10);
705            this.originalBodyPad = document.body.style.paddingRight || "", this.bodyIsOverflowing && this.$body.css("padding-right", e + this.scrollbarWidth) }, i.prototype.resetScrollbar = function() { this.$body.css("padding-right", this.originalBodyPad) }, i.prototype.measureScrollbar = function() { var e, t = document.createElement("div"); return t.className = "modal-scrollbar-measure", this.$body.append(t), e = t.offsetWidth - t.clientWidth, this.$body[0].removeChild(t), e }, n = e.fn.modal, e.fn.modal = t, e.fn.modal.Constructor = i, e.fn.modal.noConflict = function() { return e.fn.modal = n, this }, e(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function(n) { var i = e(this),
706                o = i.attr("href"),
707                r = e(i.attr("data-target") || o && o.replace(/.*(?=#[^\s]+$)/, "")),
708                a = r.data("bs.modal") ? "toggle" : e.extend({ remote: !/#/.test(o) && o }, r.data(), i.data());
709            i.is("a") && n.preventDefault(), r.one("show.bs.modal", function(e) { e.isDefaultPrevented() || r.one("hidden.bs.modal", function() { i.is(":visible") && i.trigger("focus") }) }), t.call(r, a, this) }) }(jQuery), function(e) { "use strict"; var t, n = function(e, t) { this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", e, t) };
710        n.VERSION = "3.3.5", n.TRANSITION_DURATION = 150, n.DEFAULTS = { animation: !0, placement: "top", selector: !1, template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1, viewport: { selector: "body", padding: 0 } }, n.prototype.init = function(t, n, i) { var o, r, a, s, l; if (this.enabled = !0, this.type = t, this.$element = e(n), this.options = this.getOptions(i), this.$viewport = this.options.viewport && e(e.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = { click: !1, hover: !1, focus: !1 }, this.$element[0] instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!"); for (r = (o = this.options.trigger.split(" ")).length; r--;) "click" == (a = o[r]) ? this.$element.on("click." + this.type, this.options.selector, e.proxy(this.toggle, this)) : "manual" != a && (s = "hover" == a ? "mouseenter" : "focusin", l = "hover" == a ? "mouseleave" : "focusout", this.$element.on(s + "." + this.type, this.options.selector, e.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, e.proxy(this.leave, this)));
711            this.options.selector ? this._options = e.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle() }, n.prototype.getDefaults = function() { return n.DEFAULTS }, n.prototype.getOptions = function(t) { return (t = e.extend({}, this.getDefaults(), this.$element.data(), t)).delay && "number" == typeof t.delay && (t.delay = { show: t.delay, hide: t.delay }), t }, n.prototype.getDelegateOptions = function() { var t = {},
712                n = this.getDefaults(); return this._options && e.each(this._options, function(e, i) { n[e] != i && (t[e] = i) }), t }, n.prototype.enter = function(t) { var n = t instanceof this.constructor ? t : e(t.currentTarget).data("bs." + this.type); return n || (n = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, n)), t instanceof e.Event && (n.inState["focusin" == t.type ? "focus" : "hover"] = !0), n.tip().hasClass("in") || "in" == n.hoverState ? void(n.hoverState = "in") : (clearTimeout(n.timeout), n.hoverState = "in", n.options.delay && n.options.delay.show ? void(n.timeout = setTimeout(function() { "in" == n.hoverState && n.show() }, n.options.delay.show)) : n.show()) }, n.prototype.isInStateTrue = function() { for (var e in this.inState)
713                if (this.inState[e]) return !0; return !1 }, n.prototype.leave = function(t) { var n = t instanceof this.constructor ? t : e(t.currentTarget).data("bs." + this.type); return n || (n = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, n)), t instanceof e.Event && (n.inState["focusout" == t.type ? "focus" : "hover"] = !1), n.isInStateTrue() ? void 0 : (clearTimeout(n.timeout), n.hoverState = "out", n.options.delay && n.options.delay.hide ? void(n.timeout = setTimeout(function() { "out" == n.hoverState && n.hide() }, n.options.delay.hide)) : n.hide()) }, n.prototype.show = function() { var t, i, o, r, a, s = e.Event("show.bs." + this.type); if (this.hasContent() && this.enabled) { if (this.$element.trigger(s), t = e.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]), s.isDefaultPrevented() || !t) return; var l = this,
714                    c = this.tip(),
715                    d = this.getUID(this.type);
716                this.setContent(), c.attr("id", d), this.$element.attr("aria-describedby", d), this.options.animation && c.addClass("fade"); var u = "function" == typeof this.options.placement ? this.options.placement.call(this, c[0], this.$element[0]) : this.options.placement,
717                    f = /\s?auto?\s?/i,
718                    p = f.test(u);
719                p && (u = u.replace(f, "") || "top"), c.detach().css({ top: 0, left: 0, display: "block" }).addClass(u).data("bs." + this.type, this), this.options.container ? c.appendTo(this.options.container) : c.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type);
719 var h = this.getPosition(),
720                    m = c[0].offsetWidth,
721                    g = c[0].offsetHeight;
722                p && (i = u, o = this.getPosition(this.$viewport), u = "bottom" == u && h.bottom + g > o.bottom ? "top" : "top" == u && h.top - g < o.top ? "bottom" : "right" == u && h.right + m > o.width ? "left" : "left" == u && h.left - m < o.left ? "right" : u, c.removeClass(i).addClass(u)), r = this.getCalculatedOffset(u, h, m, g), this.applyPlacement(r, u), a = function() { var e = l.hoverState;
723                    l.$element.trigger("shown.bs." + l.type), l.hoverState = null, "out" == e && l.leave(l) }, e.support.transition && this.$tip.hasClass("fade") ? c.one("bsTransitionEnd", a).emulateTransitionEnd(n.TRANSITION_DURATION) : a() } }, n.prototype.applyPlacement = function(t, n) { var i, o, r, a = this.tip(),
724                s = a[0].offsetWidth,
725                l = a[0].offsetHeight,
726                c = parseInt(a.css("margin-top"), 10),
727                d = parseInt(a.css("margin-left"), 10);
728            isNaN(c) && (c = 0), isNaN(d) && (d = 0), t.top += c, t.left += d, e.offset.setOffset(a[0], e.extend({ using: function(e) { a.css({ top: Math.round(e.top), left: Math.round(e.left) }) } }, t), 0), a.addClass("in"), i = a[0].offsetWidth, o = a[0].offsetHeight, "top" == n && o != l && (t.top = t.top + l - o), (r = this.getViewportAdjustedDelta(n, t, i, o)).left ? t.left += r.left : t.top += r.top; var u = /top|bottom/.test(n),
729                f = u ? 2 * r.left - s + i : 2 * r.top - l + o,
730                p = u ? "offsetWidth" : "offsetHeight";
731            a.offset(t), this.replaceArrow(f, a[0][p], u) }, n.prototype.replaceArrow = function(e, t, n) { this.arrow().css(n ? "left" : "top", 50 * (1 - e / t) + "%").css(n ? "top" : "left", "") }, n.prototype.setContent = function() { var e = this.tip(),
732                t = this.getTitle();
733            e.find(".tooltip-inner")[this.options.html ? "html" : "text"](t), e.removeClass("fade in top bottom left right") }, n.prototype.hide = function(t) {
734            function i() { "in" != o.hoverState && r.detach(), o.$element.removeAttr("aria-describedby").trigger("hidden.bs." + o.type), t && t() } var o = this,
735                r = e(this.$tip),
736                a = e.Event("hide.bs." + this.type); return this.$element.trigger(a), a.isDefaultPrevented() ? void 0 : (r.removeClass("in"), e.support.transition && r.hasClass("fade") ? r.one("bsTransitionEnd", i).emulateTransitionEnd(n.TRANSITION_DURATION) : i(), this.hoverState = null, this) }, n.prototype.fixTitle = function() { var e = this.$element;
737            (e.attr("title") || "string" != typeof e.attr("data-original-title")) && e.attr("data-original-title", e.attr("title") || "").attr("title", "") }, n.prototype.hasContent = function() { return this.getTitle() }, n.prototype.getPosition = function(t) { var n = (t = t || this.$element)[0],
738                i = "BODY" == n.tagName,
739                o = n.getBoundingClientRect();
740            null == o.width && (o = e.extend({}, o, { width: o.right - o.left, height: o.bottom - o.top })); var r = i ? { top: 0, left: 0 } : t.offset(),
741                a = { scroll: i ? document.documentElement.scrollTop || document.body.scrollTop : t.scrollTop() },
742                s = i ? { width: e(window).width(), height: e(window).height() } : null; return e.extend({}, o, a, s, r) }, n.prototype.getCalculatedOffset = function(e, t, n, i) { return "bottom" == e ? { top: t.top + t.height, left: t.left + t.width / 2 - n / 2 } : "top" == e ? { top: t.top - i, left: t.left + t.width / 2 - n / 2 } : "left" == e ? { top: t.top + t.height / 2 - i / 2, left: t.left - n } : { top: t.top + t.height / 2 - i / 2, left: t.left + t.width } }, n.prototype.getViewportAdjustedDelta = function(e, t, n, i) { var o, r, a, s, l, c, d = { top: 0, left: 0 }; return this.$viewport ? (o = this.options.viewport && this.options.viewport.padding || 0, r = this.getPosition(this.$viewport), /right|left/.test(e) ? (a = t.top - o - r.scroll, s = t.top + o - r.scroll + i, a < r.top ? d.top = r.top - a : s > r.top + r.height && (d.top = r.top + r.height - s)) : (l = t.left - o, c = t.left + o + n, l < r.left ? d.left = r.left - l : c > r.right && (d.left = r.left + r.width - c)), d) : d }, n.prototype.getTitle = function() { var e = this.$element,
743                t = this.options; return e.attr("data-original-title") || ("function" == typeof t.title ? t.title.call(e[0]) : t.title) }, n.prototype.getUID = function(e) { do { e += ~~(1e6 * Math.random()) } while (document.getElementById(e)); return e }, n.prototype.tip = function() { if (!this.$tip && (this.$tip = e(this.options.template), 1 != this.$tip.length)) throw new Error(this.t
vendor: 4,454 bytes, lines 743-766
743ype + " `template` option must consist of exactly 1 top-level element!"); return this.$tip }, n.prototype.arrow = function() { return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") }, n.prototype.enable = function() { this.enabled = !0 }, n.prototype.disable = function() { this.enabled = !1 }, n.prototype.toggleEnabled = function() { this.enabled = !this.enabled }, n.prototype.toggle = function(t) { var n = this;
744            t && ((n = e(t.currentTarget).data("bs." + this.type)) || (n = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, n))), t ? (n.inState.click = !n.inState.click, n.isInStateTrue() ? n.enter(n) : n.leave(n)) : n.tip().hasClass("in") ? n.leave(n) : n.enter(n) }, n.prototype.destroy = function() { var e = this;
745            clearTimeout(this.timeout), this.hide(function() { e.$element.off("." + e.type).removeData("bs." + e.type), e.$tip && e.$tip.detach(), e.$tip = null, e.$arrow = null, e.$viewport = null }) }, t = e.fn.tooltip, e.fn.tooltip = function(t) { return this.each(function() { var i = e(this),
746                    o = i.data("bs.tooltip"),
747                    r = "object" == typeof t && t;
748                (o || !/destroy|hide/.test(t)) && (o || i.data("bs.tooltip", o = new n(this, r)), "string" == typeof t && o[t]()) }) }, e.fn.tooltip.Constructor = n, e.fn.tooltip.noConflict = function() { return e.fn.tooltip = t, this } }(jQuery), function(e) { "use strict"; var t, n = function(e, t) { this.init("popover", e, t) }; if (!e.fn.tooltip) throw new Error("Popover requires tooltip.js");
749        n.VERSION = "3.3.5", n.DEFAULTS = e.extend({}, e.fn.tooltip.Constructor.DEFAULTS, { placement: "right", trigger: "click", content: "", template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' }), n.prototype = e.extend({}, e.fn.tooltip.Constructor.prototype), n.prototype.constructor = n, n.prototype.getDefaults = function() { return n.DEFAULTS }, n.prototype.setContent = function() { var e = this.tip(),
750                t = this.getTitle(),
751                n = this.getContent();
752            e.find(".popover-title")[this.options.html ? "html" : "text"](t), e.find(".popover-content").children().detach().end()[this.options.html ? "string" == typeof n ? "html" : "append" : "text"](n), e.removeClass("fade top bottom left right in"), e.find(".popover-title").html() || e.find(".popover-title").hide() }, n.prototype.hasContent = function() { return this.getTitle() || this.getContent() }, n.prototype.getContent = function() { var e = this.$element,
753                t = this.options; return e.attr("data-content") || ("function" == typeof t.content ? t.content.call(e[0]) : t.content) }, n.prototype.arrow = function() { return this.$arrow = this.$arrow || this.tip().find(".arrow") }, t = e.fn.popover, e.fn.popover = function(t) { return this.each(function() { var i = e(this),
754                    o = i.data("bs.popover"),
755                    r = "object" == typeof t && t;
756                (o || !/destroy|hide/.test(t)) && (o || i.data("bs.popover", o = new n(this, r)), "string" == typeof t && o[t]()) }) }, e.fn.popover.Constructor = n, e.fn.popover.noConflict = function() { return e.fn.popover = t, this } }(jQuery), function(e) { "use strict";
757
758        function t(n, i) { this.$body = e(document.body), this.$scrollElement = e(e(n).is(document.body) ? window : n), this.options = e.extend({}, t.DEFAULTS, i), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", e.proxy(this.process, this)), this.refresh(), this.process() }
759
760        function n(n) { return this.each(function() { var i = e(this),
761                    o = i.data("bs.scrollspy"),
762                    r = "object" == typeof n && n;
763                o || i.data("bs.scrollspy", o = new t(this, r)), "string" == typeof n && o[n]() }) } t.VERSION = "3.3.5", t.DEFAULTS = { offset: 10 }, t.prototype.getScrollHeight = function() { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) }, t.prototype.refresh = function() { var t = this,
764                n = "offset",
765                i = 0;
766            this.offsets = [], this.targets = [], this.scrollHeight = this.get
vendor: 5,345 bytes, lines 766-801
766ScrollHeight(), e.isWindow(this.$scrollElement[0]) || (n = "position", i = this.$scrollElement.scrollTop()), this.$body.find(this.selector).map(function() { var t = e(this),
767                    o = t.data("target") || t.attr("href"),
768                    r = /^#./.test(o) && e(o); return r && r.length && r.is(":visible") && [
769                    [r[n]().top + i, o]
770                ] || null }).sort(function(e, t) { return e[0] - t[0] }).each(function() { t.offsets.push(this[0]), t.targets.push(this[1]) }) }, t.prototype.process = function() { var e, t = this.$scrollElement.scrollTop() + this.options.offset,
771                n = this.getScrollHeight(),
772                i = this.options.offset + n - this.$scrollElement.height(),
773                o = this.offsets,
774                r = this.targets,
775                a = this.activeTarget; if (this.scrollHeight != n && this.refresh(), t >= i) return a != (e = r[r.length - 1]) && this.activate(e); if (a && t < o[0]) return this.activeTarget = null, this.clear(); for (e = o.length; e--;) a != r[e] && t >= o[e] && (void 0 === o[e + 1] || t < o[e + 1]) && this.activate(r[e]) }, t.prototype.activate = function(t) { this.activeTarget = t, this.clear(); var n = this.selector + '[data-target="' + t + '"],' + this.selector + '[href="' + t + '"]',
776                i = e(n).parents("li").addClass("active");
777            i.parent(".dropdown-menu").length && (i = i.closest("li.dropdown").addClass("active")), i.trigger("activate.bs.scrollspy") }, t.prototype.clear = function() { e(this.selector).parentsUntil(this.options.target, ".active").removeClass("active") }; var i = e.fn.scrollspy;
778        e.fn.scrollspy = n, e.fn.scrollspy.Constructor = t, e.fn.scrollspy.noConflict = function() { return e.fn.scrollspy = i, this }, e(window).on("load.bs.scrollspy.data-api", function() { e('[data-spy="scroll"]').each(function() { var t = e(this);
779                n.call(t, t.data()) }) }) }(jQuery), function(e) { "use strict";
780
781        function t(t) { return this.each(function() { var n = e(this),
782                    i = n.data("bs.tab");
783                i || n.data("bs.tab", i = new o(this)), "string" == typeof t && i[t]() }) } var n, i, o = function(t) { this.element = e(t) };
784        o.VERSION = "3.3.5", o.TRANSITION_DURATION = 150, o.prototype.show = function() { var t, n = this.element,
785                i = n.closest("ul:not(.dropdown-menu)"),
786                o = n.data("target"); if (o || (o = (o = n.attr("href")) && o.replace(/.*(?=#[^\s]*$)/, "")), !n.parent("li").hasClass("active")) { var r = i.find(".active:last a"),
787                    a = e.Event("hide.bs.tab", { relatedTarget: n[0] }),
788                    s = e.Event("show.bs.tab", { relatedTarget: r[0] });
789                r.trigger(a), n.trigger(s), s.isDefaultPrevented() || a.isDefaultPrevented() || (t = e(o), this.activate(n.closest("li"), i), this.activate(t, t.parent(), function() { r.trigger({ type: "hidden.bs.tab", relatedTarget: n[0] }), n.trigger({ type: "shown.bs.tab", relatedTarget: r[0] }) })) } }, o.prototype.activate = function(t, n, i) {
790            function r() { a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1), t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0), s ? (t[0].offsetWidth, t.addClass("in")) : t.removeClass("fade"), t.parent(".dropdown-menu").length && t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0), i && i() } var a = n.find("> .active"),
791                s = i && e.support.transition && (a.length && a.hasClass("fade") || !!n.find("> .fade").length);
792            a.length && s ? a.one("bsTransitionEnd", r).emulateTransitionEnd(o.TRANSITION_DURATION) : r(), a.removeClass("in") }, n = e.fn.tab, e.fn.tab = t, e.fn.tab.Constructor = o, e.fn.tab.noConflict = function() { return e.fn.tab = n, this }, i = function(n) { n.preventDefault(), t.call(e(this), "show") }, e(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', i).on("click.bs.tab.data-api", '[data-toggle="pill"]', i) }(jQuery), function(e) { "use strict";
793
794        function t(t) { return this.each(function() { var n = e(this),
795                    o = n.data("bs.affix"),
796                    r = "object" == typeof t && t;
797                o || n.data("bs.affix", o = new i(this, r)), "string" == typeof t && o[t]() }) } var n, i = function(t, n) { this.options = e.extend({}, i.DEFAULTS, n), this.$target = e(this.options.target).on("scroll.bs.affix.data-api", e.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", e.proxy(this.checkPositionWithEventLoop, this)), this.$element = e(t), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition() };
798        i.VERSION = "3.3.5", i.RESET = "affix affix-top affix-bottom", i.DEFAULTS = { offset: 0, target: window }, i.prototype.getState = function(e, t, n, i) { var o = this.$target.scrollTop(),
799                r = this.$element.offset(),
800                a = this.$target.height(); if (null != n && "top" == this.affixed) return n > o && "top"; if ("bottom" == this.affixed) return null != n ? !(o + this.unpin <= r.top) && "bottom" : !(e - i >= o + a) && "bottom"; var s = null == this.affixed,
801                l = s ? o : r.top; return null != n && n >
801= o ? "top" : null != i && l + (s ? a : t) >= e - i && "bottom" }, i.prototype.getPinnedOffset = function() { if (this.pinnedOffset) return this.pinnedOffset;
802            this.$element.removeClass(i.RESET).addClass("affix"); var e = this.$target.scrollTop(),
803                t = this.$element.offset(); return this.pinnedOffset = t.top - e }, i.prototype.checkPositionWithEventLoop = function() { setTimeout(e.proxy(this.checkPosition, this), 1) }, i.prototype.checkPosition = function() { var t, n, o; if (this.$element.is(":visible")) { var r = this.$element.height(),
804                    a = this.options.offset,
805                    s = a.top,
806                    l = a.bottom,
807                    c = Math.max(e(document).height(), e(document.body).height()); if ("object" != typeof a && (l = s = a), "function" == typeof s && (s = a.top(this.$element)), "function" == typeof l && (l = a.bottom(this.$element)), t = this.getState(c, r, s, l), this.affixed != t) { if (null != this.unpin && this.$element.css("top", ""), n = "affix" + (t ? "-" + t : ""), o = e.Event(n + ".bs.affix"), this.$element.trigger(o), o.isDefaultPrevented()) return;
808                    this.affixed = t, this.unpin = "bottom" == t ? this.getPinnedOffset() : null, this.$element.removeClass(i.RESET).addClass(n).trigger(n.replace("affix", "affixed") + ".bs.affix") } "bottom" == t && this.$element.offset({ top: c - r - l }) } }, n = e.fn.affix, e.fn.affix = t, e.fn.affix.Constructor = i, e.fn.affix.noConflict = function() { return e.fn.affix = n, this }, e(window).on("load", function() { e('[data-spy="affix"]').each(function() { var n = e(this),
809                    i = n.data();
810                i.offset = i.offset || {}, null != i.offsetBottom && (i.offset.bottom = i.offsetBottom), null != i.offsetTop && (i.offset.top = i.offsetTop), t.call(n, i) }) }) }(jQuery), function(e, t) { e(function() { "use strict";
811
812            function e(e, t) { return null != e && null != t && e.toLowerCase() === t.toLowerCase() }
813
814            function n(e, t) { var n, i, o = e.length; if (!o || !t) return !1; for (n = t.toLowerCase(), i = 0; o > i; ++i)
815                    if (n === e[i].toLowerCase()) return !0; return !1 }
816
817            function i(e) { for (var t in e) a.call(e, t) && (e[t] = new RegExp(e[t], "i")) }
818
819            function o(e, t) { this.ua = e || "", this._cache = {}, this.maxPhoneWidth = t || 600 } var r, a, s = {}; return s.mobileDetectRules = { phones: { iPhone: "\\biPhone\\b|\\biPod\\b", BlackBerry: "BlackBerry|\\bBB10\\b|rim[0-9]+", HTC: "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", Nexus: "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", Dell: "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", Motorola: "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", Samsung: "Samsung
vendor: 5,289 bytes, line 819
819|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205
819", LG: "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802)", Sony: "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", Asus: "Asus.*Galaxy|PadFone.*Mobile", Micromax: "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", Palm: "PalmSource|Palm", Vertu: "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", Pantech: "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", Fly: "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", Wiko: "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLI
819M|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", iMobile: "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", SimValley: "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", Wolfgang: "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", Alcatel: "Alcatel", Nintendo: "Nintendo 3DS", Amoi: "Amoi", INQ: "INQ", GenericPhone: "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" }, tablets: { iPad: "iPad|iPad.*Mobile", NexusTablet: "Android.*Nexus[\\s]+(7|9|10)", SamsungTablet: "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T360|SM-T533", Kindle: "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI)\\b", SurfaceTablet: "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", HPTablet: "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", AsusTablet: "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C", BlackBerryTablet: "PlayBook|RIM Tablet", HTCtablet: "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", MotorolaTablet: "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", NookTablet: "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", AcerTablet: "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b", ToshibaTablet: "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", LGTablet: "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", FujitsuTablet: "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", PrestigioTablet: "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", LenovoTablet: "Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", DellTablet: "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", YarvikTablet: "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", MedionTablet: "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", ArnovaTablet: "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", IntensoTablet: "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", IRUTablet: "M702pro", MegafonTablet: "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", EbodaTablet: "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", AllViewTablet: "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", ArchosTablet: "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", AinolTablet: "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", SonyTablet: "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", PhilipsTablet: "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", CubeTablet: "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", CobyTablet: "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", MIDTablet: "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MI
819D810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733", MSITablet: "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", SMiTTablet: "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", RockChipTablet: "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", FlyTablet: "IQ310|Fly Vision", bqTablet: "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", HuaweiTablet: "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", NecTablet: "\\bN-06D|\\bN-08D", PantechTablet: "Pantech.*P4100", BronchoTablet: "Broncho.*(N701|N708|N802|a710)", VersusTablet: "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", ZyncTablet: "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", PositivoTablet: "TB07STA|TB10STA|TB07FTA|TB10FTA", NabiTablet: "Android.*\\bNabi", KoboTablet: "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", DanewTablet: "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", TexetTablet: "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", PlaystationTablet: "Playstation.*(Portable|Vita)", TrekstorTablet: "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", PyleAudioTablet: "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", AdvanTablet: "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", DanyTechTablet: "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", GalapadTablet: "Android.*\\bG1\\b", MicromaxTablet: "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", KarbonnTablet: "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", AllFineTablet: "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", PROSCANTablet: "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", YONESTablet: "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", ChangJiaTablet: "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", GUTablet: "TX-A1301|TX-M9002|Q702|kf026", PointOfViewTablet: "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", OvermaxTablet: "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", HCLTablet: "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", DPSTablet: "DPS Dream 9|DPS Dual 7", VistureTablet: "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", CrestaTablet: "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", MediatekTablet: "\\bMT8125|MT8389|MT8135|MT8377\\b", ConcordeTablet: "Concorde([ ]+)?Tab|ConCorde ReadMan", GoCleverTablet: "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", ModecomTablet: "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", VoninoTablet: "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", ECSTablet: "V07OT2|TM105A|S10OT1|TR10CS1", StorexTablet: "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", VodafoneTablet: "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7", EssentielBTablet: "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", RossMoorTablet: "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", iMobileTablet: "i-mobile i-note", Tol
819inoTablet: "tolino tab [0-9.]+|tolino shine", AudioSonicTablet: "\\bC-22Q|T7-QC|T-17B|T-17P\\b", AMPETablet: "Android.* A78 ", SkkTablet: "Android.* (SKYPAD|PHOENIX|CYCLOPS)", TecnoTablet: "TECNO P9", JXDTablet: "Android.*\\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", iJoyTablet: "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", FX2Tablet: "FX2 PAD7|FX2 PAD10", XoroTablet: "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", ViewsonicTablet: "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", OdysTablet: "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", CaptivaTablet: "CAPTIVA PAD", IconbitTablet: "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", TeclastTablet: "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", OndaTablet: "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", JaytechTablet: "TPC-PA762", BlaupunktTablet: "Endeavour 800NG|Endeavour 1010", DigmaTablet: "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", EvolioTablet: "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", LavaTablet: "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", CelkonTablet: "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", WolderTablet: "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", MiTablet: "\\bMI PAD\\b|\\bHM NOTE 1W\\b", NibiruTablet: "Nibiru M1|Nibiru Jupiter One", NexoTablet: "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", LeaderTablet: "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", UbislateTablet: "UbiSlate[\\s]?7C", PocketBookTablet: "Pocketbook", Hudl: "Hudl HT7S3", TelstraTablet: "T-Hub2", GenericTablet: "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" }, oss: { AndroidOS: "Android", BlackBerryOS: "blackberry|\\bBB10\\b|rim tablet os", PalmOS: "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", SymbianOS: "Symbian|SymbOS|Series60|Series40|
819SYB-[0-9]+|\\bS60\\b", WindowsMobileOS: "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", WindowsPhoneOS: "Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", iOS: "\\biPhone.*Mobile|\\biPod|\\biPad", MeeGoOS: "MeeGo", MaemoOS: "Maemo", JavaOS: "J2ME/|\\bMIDP\\b|\\bCLDC\\b", webOS: "webOS|hpwOS", badaOS: "\\bBada\\b", BREWOS: "BREW" }, uas: { Chrome: "\\bCrMo\\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?", Dolfin: "\\bDolfin\\b", Opera: "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+|Coast/[0-9.]+", Skyfire: "Skyfire", IE: "IEMobile|MSIEMobile", Firefox: "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", Bolt: "bolt", TeaShark: "teashark", Blazer: "Blazer", Safari: "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", Tizen: "Tizen", UCBrowser: "UC.*Browser|UCWEB", baiduboxapp: "baiduboxapp", baidubrowser: "baidubrowser", DiigoBrowser: "DiigoBrowser", Puffin: "Puffin", Mercury: "\\bMercury\\b", ObigoBrowser: "Obigo", NetFront: "NF-Browser", GenericBrowser: "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger" }, props: { Mobile: "Mobile/[VER]", Build: "Build/[VER]", Version: "Version/[VER]", VendorID: "VendorID/[VER]", iPad: "iPad.*CPU[a-z ]+[VER]", iPhone: "iPhone.*CPU[a-z ]+[VER]", iPod: "iPod.*CPU[a-z ]+[VER]", Kindle: "Kindle/[VER]", Chrome: ["Chrome/[VER]", "CriOS/[VER]", "CrMo/[VER]"], Coast: ["Coast/[VER]"], Dolfin: "Dolfin/[VER]", Firefox: "Firefox/[VER]", Fennec: "Fennec/[VER]", IE: ["IEMobile/[VER];", "IEMobile [VER]", "MSIE [VER];", "Trident/[0-9.]+;.*rv:[VER]"], NetFront: "NetFront/[VER]", NokiaBrowser: "NokiaBrowser/[VER]", Opera: [" OPR/[VER]", "Opera Mini/[VER]", "Version/[VER]"], "Opera Mini": "Opera Mini/[VER]", "Opera Mobi": "Version/[VER]", "UC Browser": "UC Browser[VER]", MQQBrowser: "MQQBrowser/[VER]", MicroMessenger: "MicroMessenger/[VER]", baiduboxapp: "baiduboxapp/[VER]", baidubrowser: "baidubrowser/[VER]", Iron: "Iron/[VER]", Safari: ["Version/[VER]", "Safari/[VER]"], Skyfire: "Skyfire/[VER]", Tizen: "Tizen/[VER]", Webkit: "webkit[ /][VER]", Gecko: "Gecko/[VER]", Trident: "Trident/[VER]", Presto: "Presto/[VER]", iOS: " \\bi?OS\\b [VER][ ;]{1}", Android: "Android [VER]", BlackBerry: ["BlackBerry[\\w]+/[VER]", "BlackBerry.*Version/[VER]", "Version/[VER]"], BREW: "BREW [VER]", Java: "Java/[VER]", "Windows Phone OS": ["Windows Phone OS [VER]", "Windows Phone [VER]"], "Windows Phone": "Windows Phone [VER]", "Windows CE": "Windows CE/[VER]", "Windows NT": "Windows NT [VER]", Symbian: ["SymbianOS/[VER]", "Symbian/[VER]"], webOS: ["webOS/[VER]", "hpwOS/[VER];"] }, utils: { Bot: "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", MobileBot: "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2", DesktopMode: "WPDesktop", TV: "SonyDTV|HbbTV", WebKit: "(webkit)[ /]([\\w.]+)", Console: "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", Watch: "SM-V700" } }, s.detectMobileBrowsers = { fullPattern: /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, shortPattern: /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
819sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, tabletPattern: /android|ipad|playbook|silk/i }, a = Object.prototype.hasOwnProperty, s.FALLBACK_PHONE = "UnknownPhone", s.FALLBACK_TABLET = "UnknownTablet", s.FALLBACK_MOBILE = "UnknownMobile", r = "isArray" in Array ? Array.isArray : function(e) { return "[object Array]" === Object.prototype.toString.call(e) },
820                function() { var e, t, n, o, l, c, d = s.mobileDetectRules; for (e in d.props)
821                        if (a.call(d.props, e)) { for (t = d.props[e], r(t) || (t = [t]), l = t.length, o = 0; l > o; ++o)(c = (n = t[o]).indexOf("[VER]")) >= 0 && (n = n.substring(0, c) + "([\\w._\\+]+)" + n.substring(c + 5)), t[o] = new RegExp(n, "i");
822                            d.props[e] = t } i(d.oss), i(d.phones), i(d.tablets), i(d.uas), i(d.utils), d.oss0 = { WindowsPhoneOS: d.oss.WindowsPhoneOS, WindowsMobileOS: d.oss.WindowsMobileOS } }(), s.findMatch = function(e, t) { for (var n in e)
823                        if (a.call(e, n) && e[n].test(t)) return n; return null }, s.findMatches = function(e, t) { var n, i = []; for (n in e) a.call(e, n) && e[n].test(t) && i.push(n); return i }, s.getVersionStr = function(e, t) { var n, i, o, r, l = s.mobileDetectRules.props; if (a.call(l, e))
824                        for (o = (n = l[e]).length, i = 0; o > i; ++i)
825                            if (null !== (r = n[i].exec(t))) return r[1]; return null }, s.getVersion = function(e, t) { var n = s.getVersionStr(e, t); return n ? s.prepareVersionNo(n) : NaN }, s.prepareVersionNo = function(e) { var t; return 1 === (t = e.split(/[a-z._ \/\-]/i)).length && (e = t[0]), t.length > 1 && (e = t[0] + ".", t.shift(), e += t.join("")), Number(e) }, s.isMobileFallback = function(e) { return s.detectMobileBrowsers.fullPattern.test(e) || s.detectMobileBrowsers.shortPattern.test(e.substr(0, 4)) }, s.isTabletFallback = function(e) { return s.detectMobileBrowsers.tabletPattern.test(e) }, s.prepareDetectionCache = function(e, n, i) { var r, a, l; if (e.mobile === t) return (a = s.findMatch(s.mobileDetectRules.tablets, n)) ? (e.mobile = e.tablet = a, void(e.phone = null)) : (r = s.findMatch(s.mobileDetectRules.phones, n)) ? (e.mobile = e.phone = r, void(e.tablet = null)) : void(s.isMobileFallback(n) ? (l = o.isPhoneSized(i), l === t ? (e.mobile = s.FALLBACK_MOBILE, e.tablet = e.phone = null) : l ? (e.mobile = e.phone = s.FALLBACK_PHONE, e.tablet = null) : (e.mobile = e.tablet = s.FALLBACK_TABLET, e.phone = null)) : s.isTabletFallback(n) ? (e.mobile = e.tablet = s.FALLBACK_TABLET, e.phone = null) : e.mobile = e.tablet = e.phone = null) }, s.mobileGrade = function(e) { var t = null !== e.mobile(); return e.os("iOS") && e.version("iPad") >= 4.3 || e.os("iOS") && e.version("iPhone") >= 3.1 || e.os("iOS") && e.version("iPod") >
825= 3.1 || e.version("Android") > 2.1 && e.is("Webkit") || e.version("Windows Phone OS") >= 7 || e.is("BlackBerry") && e.version("BlackBerry") >= 6 || e.match("Playbook.*Tablet") || e.version("webOS") >= 1.4 && e.match("Palm|Pre|Pixi") || e.match("hp.*TouchPad") || e.is("Firefox") && e.version("Firefox") >= 12 || e.is("Chrome") && e.is("AndroidOS") && e.version("Android") >= 4 || e.is("Skyfire") && e.version("Skyfire") >= 4.1 && e.is("AndroidOS") && e.version("Android") >= 2.3 || e.is("Opera") && e.version("Opera Mobi") > 11 && e.is("AndroidOS") || e.is("MeeGoOS") || e.is("Tizen") || e.is("Dolfin") && e.version("Bada") >= 2 || (e.is("UC Browser") || e.is("Dolfin")) && e.version("Android") >= 2.3 || e.match("Kindle Fire") || e.is("Kindle") && e.version("Kindle") >= 3 || e.is("AndroidOS") && e.is("NookTablet") || e.version("Chrome") >= 11 && !t || e.version("Safari") >= 5 && !t || e.version("Firefox") >= 4 && !t || e.version("MSIE") >= 7 && !t || e.version("Opera") >= 10 && !t ? "A" : e.os("iOS") && e.version("iPad") < 4.3 || e.os("iOS") && e.version("iPhone") < 3.1 || e.os("iOS") && e.version("iPod") < 3.1 || e.is("Blackberry") && e.version("BlackBerry") >= 5 && e.version("BlackBerry") < 6 || e.version("Opera Mini") >= 5 && e.version("Opera Mini") <= 6.5 && (e.version("Android") >= 2.3 || e.is("iOS")) || e.match("NokiaN8|NokiaC7|N97.*Series60|Symbian/3") || e.version("Opera Mobi") >= 11 && e.is("SymbianOS") ? "B" : (e.version("BlackBerry") < 5 || e.match("MSIEMobile|Windows CE.*Mobile") || e.version("Windows Mobile"), "C") }, s.detectOS = function(e) { return s.findMatch(s.mobileDetectRules.oss0, e) || s.findMatch(s.mobileDetectRules.oss, e) }, s.getDeviceSmallerSide = function() { return window.screen.width < window.screen.height ? window.screen.width : window.screen.height }, o.prototype = { constructor: o, mobile: function() { return s.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth), this._cache.mobile }, phone: function() { return s.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth), this._cache.phone }, tablet: function() { return s.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth), this._cache.tablet }, userAgent: function() { return this._cache.userAgent === t && (this._cache.userAgent = s.findMatch(s.mobileDetectRules.uas, this.ua)), this._cache.userAgent }, userAgents: function() { return this._cache.userAgents === t && (this._cache.userAgents = s.findMatches(s.mobileDetectRules.uas, this.ua)), this._cache.userAgents }, os: function() { return this._cache.os === t && (this._cache.os = s.detectOS(this.ua)), this._cache.os }, version: function(e) { return s.getVersion(e, this.ua) }, versionStr: function(e) { return s.getVersionStr(e, this.ua) }, is: function(t) { return n(this.userAgents(), t) || e(t, this.os()) || e(t, this.phone()) || e(t, this.tablet()) || n(s.findMatches(s.mobileDetectRules.utils, this.ua), t) }, match: function(e) { return e instanceof RegExp || (e = new RegExp(e, "i")), e.test(this.ua) }, isPhoneSized: function(e) { return o.isPhoneSized(e || this.maxPhoneWidth) }, mobileGrade: function() { return this._cache.grade === t && (this._cache.grade = s.mobileGrade(this)), this._cache.grade } }, o.isPhoneSized = "undefined" != typeof window && window.screen ? function(e) { return 0 > e ? t : s.getDeviceSmallerSide() <= e } : function() {}, o._impl = s, o }) }(function() { if ("undefined" != typeof module && module.exports) return function(e) { module.exports = e() }; if ("function" == typeof define && define.amd) return define; if ("undefined" != typeof window) return function(e) { window.MobileDetect = e() }; throw new Error("unknown environment") }()), function(e) { "function" == typeof define && define.amd ? define(["jquery"], e) : "object" == typeof exports ? module.exports = e(require("jquery")) : e(jQuery || Zepto) }(function(e) { var t, n, i, o = function(t, n, i) { var o, r, a, s;
826            t = e(t), o = this, r = t.val(), n = "function" == typeof n ? n(t.val(), void 0, t, i) : n, s = { invalid: [], getCaret: function() { try { var e, n = 0,
827                            i = t.get(0),
828                            o = document.selection,
829                            r = i.selectionStart; return o && -1 === navigator.appVersion.indexOf("MSIE 10") ? ((e = o.createRange()).moveStart("character", t.is("input") ? -t.val().length : -t.text().length), n = e.text.length) : (r || "0" === r) && (n = r), n } catch (e) {} }, setCaret: function(e) { try { if (t.is(":focus")) { var n, i = t.get(0);
830                            i.setSelectionRange ? i.setSelectionRange(e, e) : i.createTextRange && ((n = i.createTextRange()).collapse(!0), n.moveEnd("character", e), n.moveStart("character", e), n.select()) } } catch (e) {} }, events: function() { t.on("input.mask keyup.mask", s.behaviour).on("paste.mask drop.mask", function() { setTimeout(function() { t.keydown().keyup() }, 100) }).on("change.mask", function() { t.data("changed", !0) }).on("blur.mask", function() { r === t.val() || t.data("changed") || t.triggerHandler("change"), t.data("changed", !1) }).on("blur.mask", function() { r = t.val() }).on("focus.mask", function(t) {!0 === i.selectOnFocus && e(t.target).select() }).on("focusout.mask", function() { i.clearIfNotMatch && !a.test(s.val()) && s.val("") }) }, getRegexMask: function() { for (var e, t, i, r, a = [], s = 0; s < n.length; s++)(e = o.translation[n.charAt(s)]) ? (t = e.pattern.toString().replace(/.{1}$|^.{1}
830/g, ""), i = e.optional, (e = e.recursive) ? (a.push(n.charAt(s)), r = { digit: n.charAt(s), pattern: t }) : a.push(i || e ? t + "?" : t)) : a.push(n.charAt(s).replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&")); return a = a.join(""), r && (a = a.replace(new RegExp("(" + r.digit + "(.*" + r.digit + ")?)"), "($1)?").replace(new RegExp(r.digit, "g"), r.pattern)), new RegExp(a) }, destroyEvents: function() { t.off("input keydown keyup paste drop blur focusout ".split(" ").join(".mask ")) }, val: function(e) { var n = t.is("input") ? "val" : "text"; return 0 < arguments.length ? (t[n]() !== e && t[n](e), n = t) : n = t[n](), n }, getMCharsBeforeCount: function(e, t) { for (var i = 0, r = 0, a = n.length; r < a && r < e; r++) o.translation[n.charAt(r)] || (e = t ? e + 1 : e, i++); return i }, caretPos: function(e, t, i, r) { return o.translation[n.charAt(Math.min(e - 1, n.length - 1))] ? Math.min(e + i - t - r, i) : s.caretPos(e + 1, t, i, r) }, behaviour: function(t) { var n; if (t = t || window.event, s.invalid = [], n = t.keyCode || t.which, -1 === e.inArray(n, o.byPassKeys)) { var i = s.getCaret(),
831                            r = s.val().length,
832                            a = i < r,
833                            l = s.getMasked(),
834                            c = l.length,
835                            d = s.getMCharsBeforeCount(c - 1) - s.getMCharsBeforeCount(r - 1); return s.val(l), !a || 65 === n && t.ctrlKey || (8 !== n && 46 !== n && (i = s.caretPos(i, r, c, d)), s.setCaret(i)), s.callbacks(t) } }, getMasked: function(e) { var t, r, a = [],
836                        l = s.val(),
837                        c = 0,
838                        d = n.length,
839                        u = 0,
840                        f = l.length,
841                        p = 1,
842                        h = "push",
843                        m = -1; for (i.reverse ? (h = "unshift", p = -1, t = 0, c = d - 1, u = f - 1, r = function() { return -1 < c && -1 < u }) : (t = d - 1, r = function() { return c < d && u < f }); r();) { var g = n.charAt(c),
844                            T = l.charAt(u),
845                            b = o.translation[g];
846                        b ? (T.match(b.pattern) ? (a[h](T), b.recursive && (-1 === m ? m = c : c === t && (c = m - p), t === m && (c -= p)), c += p) : b.optional ? (c += p, u -= p) : b.fallback ? (a[h](b.fallback), c += p, u -= p) : s.invalid.push({ p: u, v: T, e: b.pattern }), u += p) : (e || a[h](g), T === g && (u += p), c += p) } return e = n.charAt(t), d !== f + 1 || o.translation[e] || a.push(e), a.join("") }, callbacks: function(e) { var o = s.val(),
847                        a = o !== r,
848                        l = [o, e, t, i],
849                        c = function(e, t, n) { "function" == typeof i[e] && t && i[e].apply(this, n) };
850                    c("onChange", !0 === a, l), c("onKeyPress", !0 === a, l), c("onComplete", o.length === n.length, l), c("onInvalid", 0 < s.invalid.length, [o, e, t, s.invalid, i]) } }, o.mask = n, o.options = i, o.remove = function() { var e = s.getCaret(); return s.destroyEvents(), s.val(o.getCleanVal()), s.setCaret(e - s.getMCharsBeforeCount(e)), t }, o.getCleanVal = function() { return s.getMasked(!0) }, o.init = function(n) { n = n || !1, i = i || {}, o.byPassKeys = e.jMaskGlobals.byPassKeys, o.translation = e.jMaskGlobals.translation, o.translation = e.extend({}, o.translation, i.translation), o = e.extend(!0, {}, o, i), a = s.getRegexMask(), !1 === n ? (i.placeholder && t.attr("placeholder", i.placeholder), e("input").length && 0 == "oninput" in e("input")[0] && "on" === t.attr("autocomplete") && t.attr("autocomplete", "off"), s.destroyEvents(), s.events(), n = s.getCaret(), s.val(s.getMasked()), s.setCaret(n + s.getMCharsBeforeCount(n, !0))) : (s.events(), s.val(s.getMasked())) }, o.init(!t.is("input")) };
851        e.maskWatchers = {}, t = function() { var t = e(this),
852                i = {},
853                r = t.attr("data-mask"); return t.attr("data-mask-reverse") && (i.reverse = !0), t.attr("data-mask-clearifnotmatch") && (i.clearIfNotMatch = !0), "true" === t.attr("data-mask-selectonfocus") && (i.selectOnFocus = !0), n(t, r, i) ? t.data("mask", new o(this, r, i)) : void 0 }, n = function(t, n, i) { i = i || {}; var o = e(t).data("mask"),
854                r = JSON.stringify;
855            t = e(t).val() || e(t).text(); try { return "function" == typeof n && (n = n(t)), "object" != typeof o || r(o.options) !== r(i) || o.mask !== n } catch (e) {} }, e.fn.mask = function(t, i) { i = i || {}; var r = this.selector,
856                a = e.jMaskGlobals,
857                s = e.jMaskGlobals.watchInterval,
858                l = function() { if (n(this, t, i)) return e(this).data("mask", new o(this, t, i)) }; return e(this).each(l), r && "" !== r && a.watchInputs && (clearInterval(e.maskWatchers[r]), e.maskWatchers[r] = setInterval(function() { e(document).find(r).each(l) }, s)), this }, e.fn.unmask = function() { return clearInterval(e.maskWatchers[this.selector]), delete e.maskWatchers[this.selector], this.each(function() { var t = e(this).data("mask");
859                t && t.remove().removeData("mask") }) }, e.fn.cleanVal = function() { return this.data("mask").getCleanVal() }, e.applyDataMask = function(n) {
860            ((n = n || e.jMaskGlobals.maskElements) instanceof e ? n : e(n)).filter(e.jMaskGlobals.dataMaskAttr).each(t) }, i = { maskElements: "input,td,span,div", dataMaskAttr: "*[data-mask]", dataMask: !0, watchInterval: 300, watchInputs: !0, watchDataMask: !1, byPassKeys: [9, 16, 17, 18, 36, 37, 38, 39, 40, 91], translation: { 0: { pattern: /\d/ }, 9: { pattern: /\d/, optional: !0 }, "#": { pattern: /\d/, recursive: !0 }, A: { pattern: /[a-zA-Z0-9]/ }, S: { pattern: /[a-zA-Z]/ } } }, e.jMaskGlobals = e.jMaskGlobals || {}, (i = e.jMaskGlobals = e.extend(!0, {}, i, e.jMaskGlobals)).dataMask && e.applyDataMask(), setInterval(function() { e.jMaskGlobals.watchDataMask && e.applyDataMask() }, i.watchInterval) }), function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.moment = t() }(this, function() { "use strict";
861
862        function e() { return He.apply(null, arguments) }
863
864        function t(e) { return "[object Array]" === Object.prototype.toString.call(e) }
865
866        function n(e) { return e instanceof Date || "[object Date]" === Object.prototype.toString.call(e) }
867
868        function i(e, t) { return Object.prototype.hasOwnProperty.call(e, t) }
869
870        function o(e, t) { for (var n in t) i(t, n) && (e[n] = t[n]); return i(t, "toString") && (e.toString = t.toString), i(t, "valueOf") && (e.valueOf = t.valueOf), e }
871
872        function r(e, t, n, i) { return J(e, t, n, i, !0).utc() }
873
874        function a(e) { return null == e._pf && (e._pf = { empty: !1, unusedTokens: [], unusedInput: [], overflow: -2, charsLeftOver: 0, nullInput: !1, invalidMonth: null, invalidFormat: !1, userInvalidated: !1, iso: !1 }), e._pf }
875
876        function s(e) { if (null == e._isValid) { var t = a(e);
877                e._isValid = !isNaN(e._d.getTime()) && t.overflow < 0 && !t.empty && !t.invali
877dMonth && !t.nullInput && !t.invalidFormat && !t.userInvalidated, e._strict && (e._isValid = e._isValid && 0 === t.charsLeftOver && 0 === t.unusedTokens.length && void 0 === t.bigHour) } return e._isValid }
878
879        function l(e) { var t = r(NaN); return null != e ? o(a(t), e) : a(t).userInvalidated = !0, t }
880
881        function c(e, t) { var n, i, o; if (void 0 !== t._isAMomentObject && (e._isAMomentObject = t._isAMomentObject), void 0 !== t._i && (e._i = t._i), void 0 !== t._f && (e._f = t._f), void 0 !== t._l && (e._l = t._l), void 0 !== t._strict && (e._strict = t._strict), void 0 !== t._tzm && (e._tzm = t._tzm), void 0 !== t._isUTC && (e._isUTC = t._isUTC), void 0 !== t._offset && (e._offset = t._offset), void 0 !== t._pf && (e._pf = a(t)), void 0 !== t._locale && (e._locale = t._locale), Qe.length > 0)
882                for (n in Qe) void 0 !== (o = t[i = Qe[n]]) && (e[i] = o); return e }
883
884        function d(t) { c(this, t), this._d = new Date(+t._d), !1 === Ze && (Ze = !0, e.updateOffset(this), Ze = !1) }
885
886        function u(e) { return e instanceof d || null != e && null != e._isAMomentObject }
887
888        function f(e) { var t = +e,
889                n = 0; return 0 !== t && isFinite(t) && (n = t >= 0 ? Math.floor(t) : Math.ceil(t)), n }
890
891        function p(e, t, n) { for (var i = Math.min(e.length, t.length), o = Math.abs(e.length - t.length), r = 0, a = 0; i > a; a++)(n && e[a] !== t[a] || !n && f(e[a]) !== f(t[a])) && r++; return r + o }
892
893        function h() {}
894
895        function m(e) { return e ? e.toLowerCase().replace("_", "-") : e }
896
897        function g(e) { var t = null; if (!Je[e] && "undefined" != typeof module && module && module.exports) try { t = Ie._abbr, require("./locale/" + e), T(t) } catch (e) {}
898            return Je[e] }
899
900        function T(e, t) { var n; return e && ((n = void 0 === t ? v(e) : b(e, t)) && (Ie = n)), Ie._abbr }
901
902        function b(e, t) { return null !== t ? (t.abbr = e, Je[e] || (Je[e] = new h), Je[e].set(t), T(e), Je[e]) : (delete Je[e], null) }
903
904        function v(e) { var n; if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e) return Ie; if (!t(e)) { if (n = g(e)) return n;
905                e = [e] } return function(e) { for (var t, n, i, o, r = 0; r < e.length;) { for (t = (o = m(e[r]).split("-")).length, n = (n = m(e[r + 1])) ? n.split("-") : null; t > 0;) { if (i = g(o.slice(0, t).join("-"))) return i; if (n && n.length >= t && p(o, n, !0) >= t - 1) break;
906                        t-- } r++ } return null }(e) }
907
908        function y(e, t) { var n = e.toLowerCase();
909            et[n] = et[n + "s"] = et[t] = e }
910
911        function S(e) { if ("string" == typeof e) return et[e] || et[e.toLowerCase()] }
912
913        function w(e) { var t, n, o = {}; for (n in e) i(e, n) && ((t = S(n)) && (o[t] = e[n])); return o }
914
915        function C(t, n) { return function(i) { return null != i ? (A(this, t, i), e.updateOffset(this, n), this) : M(this, t) } }
916
917        function M(e, t) { return e._d["get" + (e._isUTC ? "UTC" : "") + t]() }
918
919        function A(e, t, n) { return e._d["set" + (e._isUTC ? "UTC" : "") + t](n) }
920
921        function P(e, t) { var n; if ("object" == typeof e)
922                for (n in e) this.set(n, e[n]);
923            else if ("function" == typeof this[e = S(e)]) return this[e](t); return this }
924
925        function D(e, t, n) { for (var i = "" + Math.abs(e), o = e >= 0; i.length < t;) i = "0" + i; return (o ? n ? "+" : "" : "-") + i }
926
927        function x(e, t, n, i) { var o = i; "string" == typeof i && (o = function() { return this[i]() }), e && (ot[e] = o), t && (ot[t[0]] = function() { return D(o.apply(this, arguments), t[1], t[2]) }), n && (ot[n] = function() { return this.localeData().ordinal(o.apply(this, arguments), e) }) }
928
929        function G(e) { return e.match(/\[[\s\S]/) ? e.replace(/^\[|\]$/g, "") : e.replace(/\\/g, "") }
930
931        function E(e, t) { return e.isValid() ? (t = k(t, e.localeData()), it[t] || (it[t] = function(e) { for (var t = e.match(tt), n = 0, i = t.length; i > n; n++) t[n] = ot[t[n]] ? ot[t[n]] : G(t[n]); return function(o) { var r = ""; for (n = 0; i > n;
931 n++) r += t[n] instanceof Function ? t[n].call(o, e) : t[n]; return r } }(t)), it[t](e)) : e.localeData().invalidDate() }
932
933        function k(e, t) {
934            function n(e) { return t.longDateFormat(e) || e } var i = 5; for (nt.lastIndex = 0; i >= 0 && nt.test(e);) e = e.replace(nt, n), nt.lastIndex = 0, i -= 1; return e }
935
936        function H(e, t, n) { Tt[e] = "function" == typeof t ? t : function(e) { return e && n ? n : t } }
937
938        function I(e, t) { return i(Tt, e) ? Tt[e](t._strict, t._locale) : new RegExp(function(e) { return e.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(e, t, n, i, o) { return t || n || i || o }).replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") }(e)) }
939
940        function B(e, t) { var n, i = t; for ("string" == typeof e && (e = [e]), "number" == typeof t && (i = function(e, n) { n[t] = f(e) }), n = 0; n < e.length; n++) bt[e[n]] = i }
941
942        function N(e, t) { B(e, function(e, n, i, o) { i._w = i._w || {}, t(e, i._w, i, o) }) }
943
944        function O(e, t, n) { null != t && i(bt, e) && bt[e](t, n._a, n, e) }
945
946        function _(e, t) { return new Date(Date.UTC(e, t + 1, 0)).getUTCDate() }
947
948        function L(e, t) { var n; return "string" == typeof t && "number" != typeof(t = e.localeData().monthsParse(t)) ? e : (n = Math.min(e.date(), _(e.year(), t)), e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n), e) }
949
950        function $(t) { return null != t ? (L(this, t), e.updateOffset(this, !0), this) : M(this, "Month") }
951
952        function R(e) { var t, n = e._a; return n && -2 === a(e).overflow && (t = n[yt] < 0 || n[yt] > 11 ? yt : n[St] < 1 || n[St] > _(n[vt], n[yt]) ? St : n[wt] < 0 || n[wt] > 24 || 24 === n[wt] && (0 !== n[Ct] || 0 !== n[Mt] || 0 !== n[At]) ? wt : n[Ct] < 0 || n[Ct] > 59 ? Ct : n[Mt] < 0 || n[Mt] > 59 ? Mt : n[At] < 0 || n[At] > 999 ? At : -1, a(e)._overflowDayOfYear && (vt > t || t > St) && (t = St), a(e).overflow = t), e }
953
954        function V(t) {!1 === e.suppressDeprecationWarnings && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + t) }
955
956        function F(e, t) { var n = !0,
957                i = e + "\n" + (new Error).stack; return o(function() { return n && (V(i), n = !1), t.apply(this, arguments) }, t) }
958
959        function W(e) { var t, n, i = e._i,
960                o = Gt.exec(i); if (o) { for (a(e).iso = !0, t = 0, n = Et.length; n > t; t++)
961                    if (Et[t][1].exec(i)) { e._f = Et[t][0] + (o[6] || " "); break } for (t = 0, n = kt.length; n > t; t++)
962                    if (kt[t][1].exec(i)) { e._f += kt[t][0]; break } i.match(mt) && (e._f += "Z"), z(e) } else e._isValid = !1 }
963
964        function j(e) { var t = new Date(Date.UTC.apply(null, arguments)); return 1970 > e && t.setUTCFullYear(e), t }
965
966        function U(e) { return Y(e) ? 366 : 365 }
967
968        function Y(e) { return e % 4 == 0 && e % 100 != 0 || e % 400 == 0 }
969
970        function X(e, t, n) { var i, o = n - t,
971                r = n - e.day(); return r > o && (r -= 7), o - 7 > r && (r += 7), i = ee(e).add(r, "d"), { week: Math.ceil(i.dayOfYear() / 7), year: i.year() } }
972
973        function q(e, t, n) { return null != e ? e : null != t ? t : n }
974
975        function K(e) { var t, n, i, o, r = []; if (!e._d) { for (i = function(e) { var t = new Date; return e._useUTC ? [t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()] : [t.getFullYear(), t.getMonth(), t.getDate()] }(e), e._w && null == e._a[St] && null == e._a[yt] && function(e) { var t, n, i, o, r, a, s;
976                        null != (t = e._w).GG || null != t.W || null != t.E ? (r = 1, a = 4, n = q(t.GG, e._a[vt], X(ee(), 1, 4).year), i = q(t.W, 1), o = q(t.E, 1)) : (r = e._locale._week.dow, a = e._locale._week.doy, n = q(t.gg, e._a[vt], X(ee(), r, a).year), i = q(t.w, 1), null != t.d ? (o = t.d, r > o && ++i) : o = null != t.e ? t.e + r : r), s = function(e, t, n, i, o) { var r, a = j(e, 0, 1).getUTCDay(); return { year: (r = 7 * (t - 1) + ((n = null != n ? n : o) - o) + (o - (a = 0 === a ? 7 : a) + (a > i ? 7 : 0) - (o >
976 a ? 7 : 0)) + 1) > 0 ? e : e - 1, dayOfYear: r > 0 ? r : U(e - 1) + r } }(n, i, o, a, r), e._a[vt] = s.year, e._dayOfYear = s.dayOfYear }(e), e._dayOfYear && (o = q(e._a[vt], i[vt]), e._dayOfYear > U(o) && (a(e)._overflowDayOfYear = !0), n = j(o, 0, e._dayOfYear), e._a[yt] = n.getUTCMonth(), e._a[St] = n.getUTCDate()), t = 0; 3 > t && null == e._a[t]; ++t) e._a[t] = r[t] = i[t]; for (; 7 > t; t++) e._a[t] = r[t] = null == e._a[t] ? 2 === t ? 1 : 0 : e._a[t];
977                24 === e._a[wt] && 0 === e._a[Ct] && 0 === e._a[Mt] && 0 === e._a[At] && (e._nextDay = !0, e._a[wt] = 0), e._d = (e._useUTC ? j : function(e, t, n, i, o, r, a) { var s = new Date(e, t, n, i, o, r, a); return 1970 > e && s.setFullYear(e), s }).apply(null, r), null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[wt] = 24) } }
978
979        function z(t) { if (t._f !== e.ISO_8601) { t._a = [], a(t).empty = !0; for (var n, i, o, r = "" + t._i, s = r.length, l = 0, c = k(t._f, t._locale).match(tt) || [], d = 0; d < c.length; d++) i = c[d], (n = (r.match(I(i, t)) || [])[0]) && ((o = r.substr(0, r.indexOf(n))).length > 0 && a(t).unusedInput.push(o), r = r.slice(r.indexOf(n) + n.length), l += n.length), ot[i] ? (n ? a(t).empty = !1 : a(t).unusedTokens.push(i), O(i, n, t)) : t._strict && !n && a(t).unusedTokens.push(i);
980                a(t).charsLeftOver = s - l, r.length > 0 && a(t).unusedInput.push(r), !0 === a(t).bigHour && t._a[wt] <= 12 && t._a[wt] > 0 && (a(t).bigHour = void 0), t._a[wt] = function(e, t, n) { var i; return null == n ? t : null != e.meridiemHour ? e.meridiemHour(t, n) : null != e.isPM ? ((i = e.isPM(n)) && 12 > t && (t += 12), i || 12 !== t || (t = 0), t) : t }(t._locale, t._a[wt], t._meridiem), K(t), R(t) } else W(t) }
981
982        function Q(e) { var i, r = e._i,
983                f = e._f; return e._locale = e._locale || v(e._l), null === r || void 0 === f && "" === r ? l({ nullInput: !0 }) : ("string" == typeof r && (e._i = r = e._locale.preparse(r)), u(r) ? new d(R(r)) : (t(f) ? function(e) { var t, n, i, r, l; if (0 === e._f.length) return a(e).invalidFormat = !0, void(e._d = new Date(NaN)); for (r = 0; r < e._f.length; r++) l = 0, t = c({}, e), null != e._useUTC && (t._useUTC = e._useUTC), t._f = e._f[r], z(t), s(t) && (l += a(t).charsLeftOver, l += 10 * a(t).unusedTokens.length, a(t).score = l, (null == i || i > l) && (i = l, n = t));
984                o(e, n || t) }(e) : f ? z(e) : n(r) ? e._d = r : Z(e), (i = new d(R(e)))._nextDay && (i.add(1, "d"), i._nextDay = void 0), i)) }
985
986        function Z(i) { var o = i._i;
987            void 0 === o ? i._d = new Date : n(o) ? i._d = new Date(+o) : "string" == typeof o ? function(t) { var n = Ht.exec(t._i);
988                null !== n ? t._d = new Date(+n[1]) : (W(t), !1 === t._isValid && (delete t._isValid, e.createFromInputFallback(t))) }(i) : t(o) ? (i._a = function(e, t) { for (var n = [], i = 0; i < e.length; ++i) n.push(t(e[i], i)); return n }(o.slice(0), function(e) { return parseInt(e, 10) }), K(i)) : "object" == typeof o ? function(e) { if (!e._d) { var t = w(e._i);
989                    e._a = [t.year, t.month, t.day || t.date, t.hour, t.minute, t.second, t.millisecond], K(e) } }(i) : "number" == typeof o ? i._d = new Date(o) : e.createFromInputFallback(i) }
990
991        function J(e, t, n, i, o) { var r = {}; return "boolean" == typeof n && (i = n, n = void 0), r._isAMomentObject = !0, r._useUTC = r._isUTC = o, r._l = n, r._i = e, r._f = t, r._strict = i, Q(r) }
992
993        function ee(e, t, n, i) { return J(e, t, n, i, !1) }
994
995        function te(e, n) { var i, o; if (1 === n.length && t(n[0]) && (n = n[0]), !n.length) return ee(); for (i = n[0], o = 1; o < n.length; ++o) n[o][e](i) && (i = n[o]); return i }
996
997        function ne(e) { var t = w(e),
998                n = t.year || 0,
999                i = t.quarter || 0,
1000                o = t.month || 0,
1001                r = t.week || 0,
1002                a = t.day || 0,
1003                s = t.hour || 0,
1004                l = t.minute || 0,
1005                c = t.second || 0,
1006                d = t.millisecond || 0;
1007            this._milliseconds = +d + 1e3 * c + 6e4 * l + 36e5 * s, this._days = +a + 7 * r, this._months = +o + 3 * i + 12 * n, this._data = {}, this._locale = v(), this._bubble() }
1008
1009        function ie(e) { return e instanceof ne }
1010
1011        function oe(e, t) { x(e, 0, 0, function() { var e = this.utcOffset(),
1012                    n = "+"; return 0 > e && (e = -e, n = "-"), n + D(~~(e / 60), 2) + t + D(~~e % 60, 2) }) }
1013
1014        function re(e) { var t = (e || "").match(mt) || [],
1015                n = ((t[t.length - 1] || []) + "").match(Le) || ["-", 0, 0],
1016                i = 60 * n[1] + f(n[2]);
1016 return "+" === n[0] ? i : -i }
1017
1018        function ae(t, i) { var o, r; return i._isUTC ? (o = i.clone(), r = (u(t) || n(t) ? +t : +ee(t)) - +o, o._d.setTime(+o._d + r), e.updateOffset(o, !1), o) : ee(t).local() }
1019
1020        function se(e) { return 15 * -Math.round(e._d.getTimezoneOffset() / 15) }
1021
1022        function le() { return this._isUTC && 0 === this._offset }
1023
1024        function ce(e, t) { var n, o, r, a = e,
1025                s = null; return ie(e) ? a = { ms: e._milliseconds, d: e._days, M: e._months } : "number" == typeof e ? (a = {}, t ? a[t] = e : a.milliseconds = e) : (s = $e.exec(e)) ? (n = "-" === s[1] ? -1 : 1, a = { y: 0, d: f(s[St]) * n, h: f(s[wt]) * n, m: f(s[Ct]) * n, s: f(s[Mt]) * n, ms: f(s[At]) * n }) : (s = Re.exec(e)) ? (n = "-" === s[1] ? -1 : 1, a = { y: de(s[2], n), M: de(s[3], n), d: de(s[4], n), h: de(s[5], n), m: de(s[6], n), s: de(s[7], n), w: de(s[8], n) }) : null == a ? a = {} : "object" == typeof a && ("from" in a || "to" in a) && (r = function(e, t) { var n; return t = ae(t, e), e.isBefore(t) ? n = ue(e, t) : ((n = ue(t, e)).milliseconds = -n.milliseconds, n.months = -n.months), n }(ee(a.from), ee(a.to)), (a = {}).ms = r.milliseconds, a.M = r.months), o = new ne(a), ie(e) && i(e, "_locale") && (o._locale = e._locale), o }
1026
1027        function de(e, t) { var n = e && parseFloat(e.replace(",", ".")); return (isNaN(n) ? 0 : n) * t }
1028
1029        function ue(e, t) { var n = { milliseconds: 0, months: 0 }; return n.months = t.month() - e.month() + 12 * (t.year() - e.year()), e.clone().add(n.months, "M").isAfter(t) && --n.months, n.milliseconds = +t - +e.clone().add(n.months, "M"), n }
1030
1031        function fe(e, t) { return function(n, i) { var o; return null === i || isNaN(+i) || (function(e, t) { xt[e] || (V(t), xt[e] = !0) }(t, "moment()." + t + "(period, number) is deprecated. Please use moment()." + t + "(number, period)."), o = n, n = i, i = o), pe(this, ce(n = "string" == typeof n ? +n : n, i), e), this } }
1032
1033        function pe(t, n, i, o) { var r = n._milliseconds,
1034                a = n._days,
1035                s = n._months;
1036            o = null == o || o, r && t._d.setTime(+t._d + r * i), a && A(t, "Date", M(t, "Date") + a * i), s && L(t, M(t, "Month") + s * i), o && e.updateOffset(t, a || s) }
1037
1038        function he(e) { return 0 > e ? Math.ceil(e) : Math.floor(e) }
1039
1040        function me() { var e = this.clone().utc(); return 0 < e.year() && e.year() <= 9999 ? "function" == typeof Date.prototype.toISOString ? this.toDate().toISOString() : E(e, "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]") : E(e, "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]") }
1041
1042        function ge(e) { var t; return void 0 === e ? this._locale._abbr : (null != (t = v(e)) && (this._locale = t), this) }
1043
1044        function Te() { return this._locale }
1045
1046        function be(e, t) { x(0, [e, e.length], 0, t) }
1047
1048        function ve(e, t, n) { return X(ee([e, 11, 31 + t - n]), t, n).week }
1049
1050        function ye(e, t) { x(e, 0, 0, function() { return this.localeData().meridiem(this.hours(), this.minutes(), t) }) }
1051
1052        function Se(e, t) { return t._meridiemParse }
1053
1054        function we(e) { x(0, [e, 3], 0, "millisecond") }
1055
1056        function Ce(e) { return e }
1057
1058        function Me(e, t, n, i) { var o = v(),
1059                a = r().set(i, t); return o[n](a, e) }
1060
1061        function Ae(e, t, n, i, o) { if ("number" == typeof e && (t = e, e = void 0), e = e || "", null != t) return Me(e, t, n, o); for (var r = [], a = 0; i > a; a++) r[a] = Me(e, a, n, o); return r }
1062
1063        function Pe(e, t, n, i) { var o = ce(t, n); return e._milliseconds += i * o._milliseconds, e._days += i * o._days, e._months += i * o._months, e._bubble() }
1064
1065        function De(e) { return 400 * e / 146097 }
1066
1067        function xe(e) { return 146097 * e / 400 }
1068
1069        function Ge(e) { return function() { return this.as(e) } }
1070
1071        function Ee(e) { return function() { return this._data[e] } }
1072
1073        function ke() { var e = nn(this.years()),
1074                t = nn(this.months()),
1075                n = nn(this.days()),
1076                i = nn(this.hours()),
1077                o = nn(this.minutes()),
1078                r = nn(this.seconds() + this.milliseconds() / 1e3),
1079                a = this.asSeconds(); return a ? (0 > a ? "-" : "") + "P" + (e ? e + "Y" : "") + (t ? t + "M" : "") + (n ? n + "D" : "") + (i || o || r ? "T" : "") + (i ? i + "H" : "") + (o ? o + "M" : "") + (r ? r + "S" : "") : "P0D" } var He, Ie, Be, Ne, Oe, _e, Le, $e, Re, Ve, Fe, We, je, Ue, Ye, Xe, qe, Ke, ze, Qe = e.momentProperties = [],
1080            Ze = !1,
1081            Je = {},
1082            et = {},
1083            tt = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}
1083|x|X|zz?|ZZ?|.)/g,
1084            nt = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
1085            it = {},
1086            ot = {},
1087            rt = /\d/,
1088            at = /\d\d/,
1089            st = /\d{3}/,
1090            lt = /\d{4}/,
1091            ct = /[+-]?\d{6}/,
1092            dt = /\d\d?/,
1093            ut = /\d{1,3}/,
1094            ft = /\d{1,4}/,
1095            pt = /[+-]?\d{1,6}/,
1096            ht = /[+-]?\d+/,
1097            mt = /Z|[+-]\d\d:?\d\d/gi,
1098            gt = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
1099            Tt = {},
1100            bt = {},
1101            vt = 0,
1102            yt = 1,
1103            St = 2,
1104            wt = 3,
1105            Ct = 4,
1106            Mt = 5,
1107            At = 6;
1108        x("M", ["MM", 2], "Mo", function() { return this.month() + 1 }), x("MMM", 0, 0, function(e) { return this.localeData().monthsShort(this, e) }), x("MMMM", 0, 0, function(e) { return this.localeData().months(this, e) }), y("month", "M"), H("M", dt), H("MM", dt, at), H("MMM", gt), H("MMMM", gt), B(["M", "MM"], function(e, t) { t[yt] = f(e) - 1 }), B(["MMM", "MMMM"], function(e, t, n, i) { var o = n._locale.monthsParse(e, i, n._strict);
1109            null != o ? t[yt] = o : a(n).invalidMonth = e }); var Pt = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
1110            Dt = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
1111            xt = {};
1112        e.suppressDeprecationWarnings = !1; var Gt = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
1113            Et = [
1114                ["YYYYYY-MM-DD", /[+-]\d{6}-\d{2}-\d{2}/],
1115                ["YYYY-MM-DD", /\d{4}-\d{2}-\d{2}/],
1116                ["GGGG-[W]WW-E", /\d{4}-W\d{2}-\d/],
1117                ["GGGG-[W]WW", /\d{4}-W\d{2}/],
1118                ["YYYY-DDD", /\d{4}-\d{3}/]
1119            ],
1120            kt = [
1121                ["HH:mm:ss.SSSS", /(T| )\d\d:\d\d:\d\d\.\d+/],
1122                ["HH:mm:ss", /(T| )\d\d:\d\d:\d\d/],
1123                ["HH:mm", /(T| )\d\d:\d\d/],
1124                ["HH", /(T| )\d\d/]
1125            ],
1126            Ht = /^\/?Date\((\-?\d+)/i;
1127        e.createFromInputFallback = F("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.", function(e) { e._d = new Date(e._i + (e._useUTC ? " UTC" : "")) }), x(0, ["YY", 2], 0, function() { return this.year() % 100 }), x(0, ["YYYY", 4], 0, "year"), x(0, ["YYYYY", 5], 0, "year"), x(0, ["YYYYYY", 6, !0], 0, "year"), y("year", "y"), H("Y", ht), H("YY", dt, at), H("YYYY", ft, lt), H("YYYYY", pt, ct), H("YYYYYY", pt, ct), B(["YYYY", "YYYYY", "YYYYYY"], vt), B("YY", function(t, n) { n[vt] = e.parseTwoDigitYear(t) }), e.parseTwoDigitYear = function(e) { return f(e) + (f(e) > 68 ? 1900 : 2e3) }, Be = C("FullYear", !1), x("w", ["ww", 2], "wo", "week"), x("W", ["WW", 2], "Wo", "isoWeek"), y("week", "w"), y("isoWeek", "W"), H("w", dt), H("ww", dt, at), H("W", dt), H("WW", dt, at), N(["w", "ww", "W", "WW"], function(e, t, n, i) { t[i.substr(0, 1)] = f(e) }), Ne = { dow: 0, doy: 6 }, x("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), y("dayOfYear", "DDD"), H("DDD", ut), H("DDDD", st), B(["DDD", "DDDD"], function(e, t, n) { n._dayOfYear = f(e) }), e.ISO_8601 = function() {}, Oe = F("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548", function() { var e = ee.apply(null, arguments); return this > e ? this : e }), _e = F("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548", function() { var e = ee.apply(null, arguments); return e > this ? this : e }), oe("Z", ":"), oe("ZZ", ""), H("Z", mt), H("ZZ", mt), B(["Z", "ZZ"], function(e, t, n) { n._useUTC = !0, n._tzm = re(e) }), Le = /([\+\-]|\d\d)/gi, e.updateOffset = function() {}, $e = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, Re = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, ce.fn = ne.prototype, Ve = fe(1, "add"), Fe = fe(-1, "subtract"), e.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", We = F("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(e) { return void 0 === e ? this.localeData() : this.locale(e) }), x(0, ["gg", 2], 0, function() { return this.weekYear() % 100 }), x(0, ["GG", 2], 0, function() { return this.isoWeekYear() % 100 }), be("gggg", "weekYear"), be("ggggg", "weekYear"), be("GGGG", "isoWeekYear"), be("GGGGG", "isoWeekYear"), y("weekYear", "gg"), y("isoWeekYear", "GG"), H("G", ht), H("g", ht), H("GG", dt, at), H("gg", dt, at), H("GGGG", ft, lt), H("gggg", ft, lt), H("GGGGG", pt, ct), H("ggggg", pt, ct), N(["gggg", "ggggg", "GGGG", "GGGGG"], function(e, t, n, i) { t[i.substr(0, 2)] = f(e) }), N(["gg", "GG"], function(t, n, i, o) { n[o] = e.parseTwoDigitYear(t) }), x("Q", 0, 0, "quarter"), y("quarter", "Q"), H("Q", rt), B("Q", function(e, t) { t[yt] = 3 * (f(e) - 1) }), x("D", ["DD", 2], "Do", "date"), y("date", "D"), H("D", dt), H("DD", dt, at), H("Do", function(e, t) { return e ? t._ordinalParse : t._ordinalParseLenient }), B(["D", "DD"], St), B("Do", function(e, t) { t[St] = f(e.match(dt)[0]) }), je = C("Date", !0), x("d", 0, "do", "day"), x("dd", 0, 0, function(e) { return this.localeData().weekdaysMin(this, e) }), x("ddd", 0, 0, function(e) { return this.localeData().weekdaysShort(this, e) }), x("dddd", 0, 0, function(e) { return this.localeData().weekdays(this, e) }), x("e", 0, 0, "weekday"), x("E", 0, 0, "isoWeekday"), y("day", "d"), y("weekday", "e"), y("isoWeekday", "E"), H("d", dt), H("e", dt), H("E", dt), H("dd", gt), H("ddd", gt), H("dddd", gt), N(["dd", "ddd", "dddd"], function(e, t, n) { var i = n._locale.weekdaysParse(e);
1128            null != i ? t.d = i : a(n).invalidWeekday = e }), N(["d", "e", "E"], function(e, t, n, i) { t[i] = f(e) }); var It = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
1129            Bt = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
1130            Nt = "Su_Mo_Tu_We_Th_Fr_Sa".split("_");
1131        x("H", ["HH", 2], 0, "hour"), x("h", ["hh", 2], 0, function() { return this.hours() % 12 || 12 }), ye("a", !0), ye("A", !1), y("hour", "h"), H("a", Se), H("A", Se), H("H", dt), H("h", dt), H("HH", dt, at), H("hh", dt, at), B(["H", "HH"], wt), B(["a", "A"], function(e, t, n) { n._isPm = n._locale.isPM(e), n._meridiem = e }), B(["h", "hh"], function(e, t, n) { t[wt] = f(e), a(n).bigHour = !0 }), Ue = /[ap]\.?m?\.?/i, Ye = C("Hours", !0), x("m", ["mm", 2], 0, "minute"), y("minute", "m"), H("m", dt), H("mm", dt, at), B(["m", "mm"], Ct), Xe = C("Minutes", !1), x("s", ["ss", 2], 0, "second"), y("second", "s"), H("s", dt), H("ss", dt, at), B(["s", "ss"], Mt), qe = C("Seconds", !1), x("S", 0, 0, function() { return ~~(this.millisecond() / 100) }), x(0, ["SS", 2], 0, function() { return ~~(this.millisecond() / 10) }), we("SSS"), we("SSSS"), y("millisecond", "ms"), H("S", ut, rt), H("SS", ut, at), H("SSS", ut, st), H("SSSS", /\d+/), B(["S", "SS", "SSS", "SSSS"], function(e, t) { t[At] = f(1e3 * ("0." + e)) }), Ke = C("Milliseconds", !1), x("z", 0, 0, "zoneAbbr"), x("zz", 0, 0, "zoneName"), (ze = d.prototype).add = Ve, ze.calendar = function(e) { var t = e || ee(),
1132                n = ae(t, this).startOf("day"),
1133                i = this.diff(n, "days", !0),
1134                o = -6 > i ? "sameElse" : -1 > i ? "lastWeek" : 0 > i ? "lastDay" : 1 > i ? "sameDay" : 2 > i ? "nextDay" : 7 > i ? "nextWeek" : "sameElse"; return this.format(this.localeData().calendar(o, this, ee(t))) }, ze.clone = function() { return new d(this) }, ze.diff = function(e, t, n) { var i, o, r = ae(e, this),
1135                a = 6e4 * (r.utcOffset() - this.utcOffset()); return "year" === (t = S(t)) || "month" === t || "quarter" === t ? (o = function(e, t) { var n, i, o = 12 * (t.year() - e.year()) + (t.month() - e.month()),
1136                    r = e.clone().add(o, "months"); return 0 > t - r ? (n = e.clone().add(o - 1, "months"), i = (t - r) / (r - n)) : (n = e.clone().add(o + 1, "months"), i = (t - r) / (n - r)), -(o + i) }(this, r), "quarter" === t ? o /= 3 : "year" === t && (o /= 12)) : (i = this - r, o = "second" === t ? i / 1e3 : "minute" === t ? i / 6e4 : "hour" === t ? i / 36e5 : "day" === t ? (i - a) / 864e5 : "week" === t ? (i - a) / 6048e5 : i), n ? o : he(o) }, ze.endOf = function(e) { return void 0 === (e = S(e)) || "millisecond" === e ? this : this.startOf(e).add(1, "isoWeek" === e ? "week" : e).subtract(1, "ms") }, ze.format = function(t) { var n = E(this, t || e.defaultFormat); return this.localeData().postformat(n) }, ze.from = function(e, t) { return this.isValid() ? ce({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate() }, ze.fromNow = function(e) { return this.from(ee(), e) }, ze.to = function(e, t) { return this.isValid() ? ce({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate() }, ze.toNow = function(e) { return this.to(ee(), e) }
1136, ze.get = P, ze.invalidAt = function() { return a(this).overflow }, ze.isAfter = function(e, t) { return "millisecond" === (t = S(void 0 !== t ? t : "millisecond")) ? +this > +(e = u(e) ? e : ee(e)) : (u(e) ? +e : +ee(e)) < +this.clone().startOf(t) }, ze.isBefore = function(e, t) { var n; return "millisecond" === (t = S(void 0 !== t ? t : "millisecond")) ? +(e = u(e) ? e : ee(e)) > +this : (n = u(e) ? +e : +ee(e), +this.clone().endOf(t) < n) }, ze.isBetween = function(e, t, n) { return this.isAfter(e, n) && this.isBefore(t, n) }, ze.isSame = function(e, t) { var n; return "millisecond" === (t = S(t || "millisecond")) ? +this == +(e = u(e) ? e : ee(e)) : (n = +ee(e), +this.clone().startOf(t) <= n && n <= +this.clone().endOf(t)) }, ze.isValid = function() { return s(this) }, ze.lang = We, ze.locale = ge, ze.localeData = Te, ze.max = _e, ze.min = Oe, ze.parsingFlags = function() { return o({}, a(this)) }, ze.set = P, ze.startOf = function(e) { switch (e = S(e)) {
1137                case "year":
1138                    this.month(0);
1139                case "quarter":
1140                case "month":
1141                    this.date(1);
1142                case "week":
1143                case "isoWeek":
1144                case "day":
1145                    this.hours(0);
1146                case "hour":
1147                    this.minutes(0);
1148                case "minute":
1149                    this.seconds(0);
1150                case "second":
1151                    this.milliseconds(0) } return "week" === e && this.weekday(0), "isoWeek" === e && this.isoWeekday(1), "quarter" === e && this.month(3 * Math.floor(this.month() / 3)), this }, ze.subtract = Fe, ze.toArray = function() { var e = this; return [e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()] }, ze.toDate = function() { return this._offset ? new Date(+this) : this._d }, ze.toISOString = me, ze.toJSON = me, ze.toString = function() { return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ") }, ze.unix = function() { return Math.floor(+this / 1e3) }, ze.valueOf = function() { return +this._d - 6e4 * (this._offset || 0) }, ze.year = Be, ze.isLeapYear = function() { return Y(this.year()) }, ze.weekYear = function(e) { var t = X(this, this.localeData()._week.dow, this.localeData()._week.doy).year; return null == e ? t : this.add(e - t, "y") }, ze.isoWeekYear = function(e) { var t = X(this, 1, 4).year; return null == e ? t : this.add(e - t, "y") }, ze.quarter = ze.quarters = function(e) { return null == e ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (e - 1) + this.month() % 3) }, ze.month = $, ze.daysInMonth = function() { return _(this.year(), this.month()) }, ze.week = ze.weeks = function(e) { var t = this.localeData().week(this); return null == e ? t : this.add(7 * (e - t), "d") }, ze.isoWeek = ze.isoWeeks = function(e) { var t = X(this, 1, 4).week; return null == e ? t : this.add(7 * (e - t), "d") }, ze.weeksInYear = function() { var e = this.localeData()._week; return ve(this.year(), e.dow, e.doy) }, ze.isoWeeksInYear = function() { return ve(this.year(), 1, 4) }, ze.date = je, ze.day = ze.days = function(e) { var t = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); return null != e ? (e = function(e, t) { if ("string" == typeof e)
1152                    if (isNaN(e)) { if ("number" != typeof(e = t.weekdaysParse(e))) return null } else e = parseInt(e, 10); return e }(e, this.localeData()), this.add(e - t, "d")) : t }, ze.weekday = function(e) { var t = (this.day() + 7 - this.localeData()._week.dow) % 7; return null == e ? t : this.add(e - t, "d") }, ze.isoWeekday = function(e) { return null == e ? this.day() || 7 : this.day(this.day() % 7 ? e : e - 7) }, ze.dayOfYear = function(e) { var t = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1; return null == e ? t : this.add(e - t, "d") }, ze.hour = ze.hours = Ye, ze.minute = ze.minutes = Xe, ze.second = ze.seconds = qe, ze.millisecond = ze.milliseconds = Ke, ze.utcOffset = function(t, n) { var i, o = this._offset || 0; return null != t ? ("string" == typeof t && (t = re(t)), Math.abs(t) < 16 && (t *= 60), !this._isUTC && n && (i = se(this)), this._offset = t, this._isUTC = !0, null != i && this.add(i, "m"), o !== t && (!n || this._changeInProgress ? pe(this, ce(t - o, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, e.updateOffset(this, !0), this._changeInProgress = null)), this) : this._isUTC ? o : se(this) }, ze.utc = function(e) { return this.utcOffset(0, e) }, ze.local = function(e) { return this._isUTC && (this.utcOffset(0, e), this._isUTC = !1, e && this.subtract(se(this), "m")), this }, ze.parseZone = function() { return this._tzm ? this.utcOffset(this._tzm) : "string" == typeof this._i && this.utcOffset(re(this._i)), this }, ze.hasAlignedHourOffset = function(e) { return e = e ? ee(e).utcOffset() : 0, (this.utcOffset() - e) % 60 == 0 }, ze.isDST = function() { return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset() }, ze.isDSTShifted = function() { if (this._a) { var e = this._isUTC ? r(this._a) : ee(this._a); return this.isValid() && p(this._a, e.toArray()) > 0 } return !1 }, ze.isLocal = function() { return !this._isUTC }, ze.isUtcOffset = function() { return this._isUTC }, ze.isUtc = le, ze.isUTC = le, ze.zoneAbbr = function() { return this._isUTC ? "UTC" : "" }, ze.zoneName = function() { return this._isUTC ? "Coordinated Universal Time" : "" }, ze.dates = F("dates accessor is deprecated. Use date instead.", je), ze.months = F("months accessor is deprecated. Use month instead", $), ze.years = F("years accessor is deprecated. Use year instead", Be), ze.zone = F("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779", function(e, t) { return null != e ? ("string" != typeof e && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset() }); var Ot = ze,
1153            _t = h.prototype;
1154        _t._calendar = { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" }, _t.calendar = function(e, t, n) { var i = this._calendar[e]; return "function" == typeof i ? i.call(t, n) : i }, _t._longDateFormat = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY LT", LLLL: "dddd, MMMM D, YYYY LT" }, _t.longDateFormat = function(e) { var t = this._longDateFormat[e]; return !t && this._longDateFormat[e.toUpperCase()] && (t = this._longDateFormat[e.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function(e) { return e.slice(1) }), this._longDateFormat[e] = t), t }, _t._invalidDate = "Invalid date", _t.invalidDate = function() { return this._invalidDate }, _t._ordinal = "%d", _t.ordinal = function(e) { return this._ordinal.replace("%d", e) }, _t._ordinalParse = /\d{1,2}/, _t.preparse = Ce, _t.postformat = Ce, _t._relativeTime = { future: "in %s", past: "%s ago", s: "a few seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", M: "a month", MM: "%d months", y: "a year", yy: "%d years" }, _t.relativeTime = function(e, t, n, i) { var o = this._relativeTime[n]; return "function" == typeof o ? o(e, t, n, i) : o.replace(/%d/i, e) }, _t.pastFuture = function(e, t) { var n = this._relativeTime[e > 0 ? "future" : "past"]; return "function" == typeof n ? n(t) : n.replace(/%s/i, t) }, _t.set = function(e) { var t, n; for (n in e) "function" == typeof(t = e[n]) ? this[n] = t : this["_" + n] = t;
1155            this._ordinalParseLenient = new RegExp(this._ordinalParse.source + "|" + /\d{1,2}/.source) }, _t.months = function(e) { return this._months[e.month()] }, _t._months = Pt, _t.monthsShort = function(e) { return this._monthsShort[e.month()] }, _t._monthsShort = Dt, _t.monthsParse = function(e, t, n) { var i, o, a; for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), i = 0; 12 > i; i++)
1156                if (o = r([2e3, i]), n && !this._longMonthsParse[i] && (this._longMonthsParse[i] = new RegExp("^" + this.months(o, "").replace(".", "") + "$", "i"), this._shortMonthsParse[i] = new RegExp("^" + this.monthsShort(o, "").replace(".", "") + "$", "i")), n || this._monthsParse[i] || (a = "^" + this.months(o, "") + "|^" + this.monthsShort(o, ""), this._monthsParse[i] = new RegExp(a.replace(".", ""), "i")), n && "MMMM" === t && this._longMonthsParse[i].test(e) || n && "MMM" === t && this._shortMonthsParse[i].test(e) || !n && this._monthsParse[i].test(e)) return i }, _t.week = function(e) { return X(e, this._week.dow, this._week.doy).week }, _t._week = Ne, _t.firstDayOfYear = function() { return this._week.doy }, _t.firstDayOfWeek = function() { return this._week.dow }, _t.weekdays = function(e) { return this._weekdays[e.day()] }, _t._weekdays = It, _t.weekdaysMin = function(e) { return this._weekdaysMin[e.day()] }, _t._weekdaysMin = Nt, _t.weekdaysShort = function(e) { return this._weekdaysShort[e.day()] }, _t._weekdaysShort = Bt, _t.weekdaysParse = function(e) { var t, n, i; for (this._weekdaysParse || (this._weekdaysParse = []), t = 0; 7 > t; t++)
1157                if (this._weekdaysParse[t] || (n = ee([2e3, 1]).day(t), i = "^" + this.weekdays(n, "") + "|^" + this.weekdaysShort(n, "") + "|^" + this.weekdaysMin(n, ""), this._weekdaysParse[t] = new RegExp(i.replace(".", ""), "i")), this._weekdaysParse[t].test(e)) return t }, _t.isPM = function(e) { return "p" === (e + "").toLowerCase().charAt(0) }, _t._meridiemParse = Ue, _t.meridiem = function(e, t, n) { return e > 11 ? n ? "pm" : "PM" : n ? "am" : "AM" }, T("en", { ordinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function(e) { var t = e % 10; return e + (1 === f(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th") } }), e.lang = F("moment.lang is deprecated. Use moment.locale instead.", T), e.langData = F("moment.langData is deprecated. Use moment.localeData instead.", v); var Lt = Math.abs,
1158            $t = Ge("ms"),
1159            Rt = Ge("s"),
1160            Vt = Ge("m"),
1161            Ft = Ge("h"),
1162            Wt = Ge("d"),
1163            jt = Ge("w"),
1164            Ut = Ge("M"),
1165            Yt = Ge("y"),
1166            Xt = Ee("milliseconds"),
1167            qt = Ee("seconds"),
1168            Kt = Ee("minutes"),
1169            zt = Ee("hours"),
1170            Qt = Ee("days"),
1171            Zt = Ee("months"),
1172            Jt = Ee("years"),
1173            en = Math.round,
1174            tn = { s: 45, m: 45, h: 22, d: 26, M: 11 },
1175            nn = Math.abs,
1176            on = ne.prototype; return on.abs = function() { var e = this._data; return this._milliseconds = Lt(this._milliseconds), this._days = Lt(this._days), this._months = Lt(this._months), e.milliseconds = Lt(e.milliseconds), e.seconds = Lt(e.seconds), e.minutes = Lt(e.minutes), e.hours = Lt(e.hours), e.months = Lt(e.months), e.years = Lt(e.years), this }, on.add = function(e, t) { return Pe(this, e, t, 1) }, on.subtract = function(e, t) { return Pe(this, e, t, -1) }, on.as = function(e) { var t, n, i = this._milliseconds; if ("month" === (e = S(e)) || "year" === e) return t = this._days + i / 864e5, n = this._months + 12 * De(t), "month" === e ? n : n / 12; switch (t = this._days + Math.round(xe(this._months / 12)), e) {
1177                    case "week":
1178                        return t / 7 + i / 6048e5;
1179                    case "day":
1180                        return t + i / 864e5;
1181                    case "hour":
1182                        return 24 * t + i / 36e5;
1183                    case "minute":
1184                        return 1440 * t + i / 6e4;
1185                    case "second":
1186                        return 86400 * t + i / 1e3;
1187                    case "millisecond":
1188                        return Math.floor(864e5 * t) + i;
1189                    default:
1190                        throw new Error("Unknown unit " + e) } }, on.asMilliseconds = $t, on.asSeconds = Rt, on.asMinutes = Vt, on.asHours = Ft, on.asDays = Wt, on.asWeeks = jt, on.asMonths = Ut, on.asYears = Yt, on.valueOf = function() { return this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * f(this._months / 12) }, on._bubble = function() { var e, t, n, i = this._milliseconds,
1191                    o = this._days,
1192                    r = this._months,
1193                    a = this._data,
1194                    s = 0; return a.milliseconds = i % 1e3, e = he(i / 1e3), a.seconds = e % 60, t = he(e / 60), a.minutes = t % 60, n = he(t / 60), a.hours = n % 24, o += he(n / 24), s = he(De(o)), o -= he(xe(s)), r += he(o / 30), o %= 30, s += he(r / 12), r %= 12, a.days = o, a.months = r, a.years = s, this }, on.get = function(e) { return this[(e = S(e)) + "s"]() }, on.milliseconds = Xt, on.seconds = qt, on.minutes = Kt, on.hours = zt, on.days = Qt, on.weeks = function() { return he(this.days() / 7) }, on.months = Zt, on.years = Jt, on.humanize = function(e) { var t = this.localeData(),
1195                    n = function(e, t, n) { var i = ce(e).abs(),
1196                            o = en(i.as("s")),
1197                            r = en(i.as("m")),
1198                            a = en(i.as("h")),
1199                            s = en(i.as("d")),
1200                            l = en(i.as("M")),
1201                            c = en(i.as("y")),
1202                            d = o < tn.s && ["s", o] || 1 === r && ["m"] || r < tn.m && ["mm", r] || 1 === a && ["h"] || a < tn.h && ["hh", a] || 1 === s && ["d"] || s < tn.d && ["dd", s] || 1 === l && ["M"] || l < tn.M && ["MM", l] || 1 === c && ["y"] || ["yy", c]; return d[2] = t, d[3] = +e > 0, d[4] = n,
1203                            function(e, t, n, i, o) { return o.relativeTime(t || 1, !!n, e, i) }.apply(null, d) }(this, !e, t); return e && (n = t.pastFuture(+this, n)), t.postformat(n) }, on.toISOString = ke, on.toString = ke, on.toJSON = ke, on.locale = ge, on.localeData = Te, on.toIsoString = F("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", ke), on.lang = We, x("X", 0, 0, "unix"), x("x", 0, 0, "valueOf"), H("x", ht), H("X", /[+-]?\d+(\.\d{1,3})?/), B("X", function(e, t, n) { n._d = new Date(1e3 * parseFloat(e, 10)) }), B("x", function(e, t, n) { n._d = new Date(f(e)) }), e.version = "2.10.3",
1204            function(e) { He = e }(ee), e.fn = Ot, e.min = function() { return te("isBefore", [].slice.call(arguments, 0)) }, e.max = function() { return te("isAfter", [].slice.call(arguments, 0)) }, e.utc = r, e.unix = function(e) { return ee(1e3 * e) }, e.months = function(e, t) { return Ae(e, t, "months", 12, "month") }
1204, e.isDate = n, e.locale = T, e.invalid = l, e.duration = ce, e.isMoment = u, e.weekdays = function(e, t) { return Ae(e, t, "weekdays", 7, "day") }, e.parseZone = function() { return ee.apply(null, arguments).parseZone() }, e.localeData = v, e.isDuration = ie, e.monthsShort = function(e, t) { return Ae(e, t, "monthsShort", 12, "month") }, e.weekdaysMin = function(e, t) { return Ae(e, t, "weekdaysMin", 7, "day") }, e.defineLocale = b, e.weekdaysShort = function(e, t) { return Ae(e, t, "weekdaysShort", 7, "day") }, e.normalizeUnits = S, e.relativeTimeThreshold = function(e, t) { return void 0 !== tn[e] && (void 0 === t ? tn[e] : (tn[e] = t, !0)) }, e }), function(e) { "use strict"; if ("function" == typeof define && define.amd) define(["jquery", "moment"], e);
1205        else if ("object" == typeof exports) e(require("jquery"), require("moment"));
1206        else { if ("undefined" == typeof jQuery) throw "bootstrap-datetimepicker requires jQuery to be loaded first"; if ("undefined" == typeof moment) throw "bootstrap-datetimepicker requires Moment.js to be loaded first";
1207            e(jQuery, moment) } }(function(e, t) { "use strict"; if (!t) throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first"); var n = function(n, i) { var o, r, a, s, l, c = {},
1208                d = t().startOf("d"),
1209                u = d.clone(),
1210                f = !0,
1211                p = !1,
1212                h = !1,
1213                m = 0,
1214                g = [{ clsName: "days", navFnc: "M", navStep: 1 }, { clsName: "months", navFnc: "y", navStep: 1 }, { clsName: "years", navFnc: "y", navStep: 10 }, { clsName: "decades", navFnc: "y", navStep: 100 }],
1215                T = ["days", "months", "years", "decades"],
1216                b = ["top", "bottom", "auto"],
1217                v = ["left", "right", "auto"],
1218                y = ["default", "top", "bottom"],
1219                S = { up: 38, 38: "up", down: 40, 40: "down", left: 37, 37: "left", right: 39, 39: "right", tab: 9, 9: "tab", escape: 27, 27: "escape", enter: 13, 13: "enter", pageUp: 33, 33: "pageUp", pageDown: 34, 34: "pageDown", shift: 16, 16: "shift", control: 17, 17: "control", space: 32, 32: "space", t: 84, 84: "t", delete: 46, 46: "delete" },
1220                w = {},
1221                C = function(e) { if ("string" != typeof e || e.length > 1) throw new TypeError("isEnabled expects a single character string parameter"); switch (e) {
1222                        case "y":
1223                            return -1 !== a.indexOf("Y");
1224                        case "M":
1225                            return -1 !== a.indexOf("M");
1226                        case "d":
1227                            return -1 !== a.toLowerCase().indexOf("d");
1228                        case "h":
1229                        case "H":
1230                            return -1 !== a.toLowerCase().indexOf("h");
1231                        case "m":
1232                            return -1 !== a.indexOf("m");
1233                        case "s":
1234                            return -1 !== a.indexOf("s");
1235                        default:
1236                            return !1 } },
1237                M = function() { return C("h") || C("m") || C("s") },
1238                A = function() { return C("y") || C("M") || C("d") },
1239                P = function() { var t = e("<tr>"),
1240                        n = e("<tr>"),
1241                        o = e("<tr>"); return C("h") && (t.append(e("<td>").append(e("<a>").attr({ href: "#", tabindex: "-1", title: "Increment Hour" }).addClass("btn").attr("data-action", "incrementHours").append(e("<span>").addClass(i.icons.up)))), n.append(e("<td>").append(e("<span>").addClass("timepicker-hour").attr({ "data-time-component": "hours", title: "Pick Hour" }).attr("data-action", "showHours"))), o.append(e("<td>").append(e("<a>").attr({ href: "#", tabindex: "-1", title: "Decrement Hour" }).addClass("btn").attr("data-action", "decrementHours").append(e("<span>").addClass(i.icons.down))))), C("m") && (C("h") && (t.append(e("<td>").addClass("separator")), n.append(e("<td>").addClass("separator").html(":")), o.append(e("<td>").addClass("separator"))), t.append(e("<td>").append(e("<a>").attr({ href: "#", tabindex: "-1", title: "Increment Minute" }).addClass("btn").attr("data-action", "incrementMinutes").append(e("<span>").addClass(i.icons.up)))), n.append(e("<td>").append(e("<span>").addClass("timepicker-minute").attr({ "data-time-component": "minutes", title: "Pick Minute" }).attr("data-action", "showMinutes"))), o.append(e("<td>").append(e("<a>").attr({ href: "#", tabindex: "-1", title: "Decrement Minute" }).addClass("btn").attr("data-action", "decrementMinutes").append(e("<span>").addClass(i.icons.down))))), C("s") && (C("m") && (t.append(e("<td>").addClass("separator")), n.append(e("<td>").addClass("separator").html(":")), o.append(e("<td>").addClass("separator"))), t.append(e("<td>").append(e("<a>").attr({ href: "#", tabindex: "-1", title: "Increment Second" }).addClass("btn").attr("data-action", "incrementSeconds").append(e("<span>").addClass(i.icons.up)))), n.append(e("<td>").append(e("<span>").addClass("timepicker-second").attr({ "data-time-component": "seconds", title: "Pick Second" }).attr("data-action", "showSeconds"))), o.append(e("<td>").append(e("<a>").attr({ href: "#", tabindex: "-1", title: "Decrement Second" }).addClass("btn").attr("data-action", "decrementSeconds").append(e("<span>").addClass(i.icons.down))))), r || (t.append(e("<td>").addClass("separator")), n.append(e("<td>").append(e("<button>").addClass("btn btn-primary").attr({ "data-action": "togglePeriod", tabindex: "-1", title: "Toggle Perio
1241d" }))), o.append(e("<td>").addClass("separator"))), e("<div>").addClass("timepicker-picker").append(e("<table>").addClass("table-condensed").append([t, n, o])) },
1242                D = function() { var t = e("<div>").addClass("bootstrap-datetimepicker-widget dropdown-menu"),
1243                        n = e("<div>").addClass("datepicker").append(function() { var t = e("<thead>").append(e("<tr>").append(e("<th>").addClass("prev").attr("data-action", "previous").append(e("<span>").addClass(i.icons.previous))).append(e("<th>").addClass("picker-switch").attr("data-action", "pickerSwitch").attr("colspan", i.calendarWeeks ? "6" : "5")).append(e("<th>").addClass("next").attr("data-action", "next").append(e("<span>").addClass(i.icons.next)))),
1244                                n = e("<tbody>").append(e("<tr>").append(e("<td>").attr("colspan", i.calendarWeeks ? "8" : "7"))); return [e("<div>").addClass("datepicker-days").append(e("<table>").addClass("table-condensed").append(t).append(e("<tbody>"))), e("<div>").addClass("datepicker-months").append(e("<table>").addClass("table-condensed").append(t.clone()).append(n.clone())), e("<div>").addClass("datepicker-years").append(e("<table>").addClass("table-condensed").append(t.clone()).append(n.clone())), e("<div>").addClass("datepicker-decades").append(e("<table>").addClass("table-condensed").append(t.clone()).append(n.clone()))] }()),
1245                        o = e("<div>").addClass("timepicker").append(function() { var t = e("<div>").addClass("timepicker-hours").append(e("<table>").addClass("table-condensed")),
1246                                n = e("<div>").addClass("timepicker-minutes").append(e("<table>").addClass("table-condensed")),
1247                                i = e("<div>").addClass("timepicker-seconds").append(e("<table>").addClass("table-condensed")),
1248                                o = [P()]; return C("h") && o.push(t), C("m") && o.push(n), C("s") && o.push(i), o }()),
1249                        a = e("<ul>").addClass("list-unstyled"),
1250                        s = e("<li>").addClass("picker-switch" + (i.collapse ? " accordion-toggle" : "")).append(function() { var t = []; return i.showTodayButton && t.push(e("<td>").append(e("<a>").attr({ "data-action": "today", title: "Go to today" }).append(e("<span>").addClass(i.icons.today)))), !i.sideBySide && A() && M() && t.push(e("<td>").append(e("<a>").attr({ "data-action": "togglePicker", title: "Select Time" }).append(e("<span>").addClass(i.icons.time)))), i.showClear && t.push(e("<td>").append(e("<a>").attr({ "data-action": "clear", title: "Clear selection" }).append(e("<span>").addClass(i.icons.clear)))), i.showClose && t.push(e("<td>").append(e("<a>").attr({ "data-action": "close", title: "Close the picker" }).append(e("<span>").addClass(i.icons.close)))), e("<table>").addClass("table-condensed").append(e("<tbody>").append(e("<tr>").append(t))) }()); return i.inline && t.removeClass("dropdown-menu"), r && t.addClass("usetwentyfour"), C("s") && !r && t.addClass("wider"), i.sideBySide && A() && M() ? (t.addClass("timepicker-sbs"), t.append(e("<div>").addClass("row").append(n.addClass("col-sm-6")).append(o.addClass("col-sm-6"))), t.append(s), t) : ("top" === i.toolbarPlacement && a.append(s), A() && a.append(e("<li>").addClass(i.collapse && M() ? "collapse in" : "").append(n)), "default" === i.toolbarPlacement && a.append(s), M() && a.append(e("<li>").addClass(i.collapse && A() ? "collapse" : "").append(o)), "bottom" === i.toolbarPlacement && a.append(s), t.append(a)) },
1251                x = function() { var t, o = (p || n).position(),
1252                        r = (p || n).offset(),
1253                        a = i.widgetPositioning.vertical,
1254                        s = i.widgetPositioning.horizontal; if (i.widgetParent) t = i.widgetParent.append(h);
1255                    else if (n.is("input")) t = n.after(h).parent();
1256                    else { if (i.inline) return void(t = n.append(h));
1257                        t = n, n.children().first().after(h) } if ("auto" === a && (a = r.top + 1.5 * h.height() >= e(window).height() + e(window).scrollTop() && h.height() + n.outerHeight() < r.top ? "top" : "bottom"), "auto" === s && (s = t.width() < r.left + h.outerWidth() / 2 && r.left + h.outerWidth() > e(window).width() ? "right" : "left"), "top" === a ? h.addClass("top").removeClass("bottom") : h.addClass("bottom").removeClass("top"), "right" === s ? h.addClass("pull-right") : h.removeClass("pull-right"), "relative" !== t.css("position") && (t = t.parents().filter(function() { return "relative" === e(this).css("position") }).first()), 0 === t.length) throw new Error("datetimepicker component should be placed within a relative positioned container");
1258                    h.css({ top: "top" === a ? "auto" : o.top + n.outerHeight(), bottom: "top" === a ? o.top + n.outerHeight() : "auto", left: "left" === s ? t === n ? 0 : o.left : "auto", r
1258ight: "left" === s ? "auto" : t.outerWidth() - n.outerWidth() - (t === n ? 0 : o.left) }) },
1259                G = function(e) { "dp.change" === e.type && (e.date && e.date.isSame(e.oldDate) || !e.date && !e.oldDate) || n.trigger(e) },
1260                E = function(e) { "y" === e && (e = "YYYY"), G({ type: "dp.update", change: e, viewDate: u.clone() }) },
1261                k = function(e) { h && (e && (l = Math.max(m, Math.min(3, l + e))), h.find(".datepicker > div").hide().filter(".datepicker-" + g[l].clsName).show()) },
1262                H = function(t, n) { if (!t.isValid() || i.disabledDates && "d" === n && function(e) { return !0 === i.disabledDates[e.format("YYYY-MM-DD")] }(t) || i.enabledDates && "d" === n && ! function(e) { return !0 === i.enabledDates[e.format("YYYY-MM-DD")] }(t) || i.minDate && t.isBefore(i.minDate, n) || i.maxDate && t.isAfter(i.maxDate, n) || i.daysOfWeekDisabled && "d" === n && -1 !== i.daysOfWeekDisabled.indexOf(t.day()) || i.disabledHours && ("h" === n || "m" === n || "s" === n) && function(e) { return !0 === i.disabledHours[e.format("H")] }(t) || i.enabledHours && ("h" === n || "m" === n || "s" === n) && ! function(e) { return !0 === i.enabledHours[e.format("H")] }(t)) return !1; if (i.disabledTimeIntervals && ("h" === n || "m" === n || "s" === n)) { var o = !1; if (e.each(i.disabledTimeIntervals, function() { if (t.isBetween(this[0], this[1])) return o = !0, !1 }), o) return !1 } return !0 },
1263                I = function() { var n, o, r, a, s = h.find(".datepicker-days"),
1264                        l = s.find("th"),
1265                        c = []; if (A()) { for (l.eq(0).find("span").attr("title", "Previous Month"), l.eq(1).attr("title", "Select Month"), l.eq(2).find("span").attr("title", "Next Month"), s.find(".disabled").removeClass("disabled"), l.eq(1).text(u.format(i.dayViewHeaderFormat)), H(u.clone().subtract(1, "M"), "M") || l.eq(0).addClass("disabled"), H(u.clone().add(1, "M"), "M") || l.eq(2).addClass("disabled"), n = u.clone().startOf("M").startOf("w").startOf("d"), a = 0; 42 > a; a++) 0 === n.weekday() && (o = e("<tr>"), i.calendarWeeks && o.append('<td class="cw">' + n.week() + "</td>"), c.push(o)), r = "", n.isBefore(u, "M") && (r += " old"), n.isAfter(u, "M") && (r += " new"), n.isSame(d, "d") && !f && (r += " active"), H(n, "d") || (r += " disabled"), n.isSame(t(), "d") && (r += " today"), (0 === n.day() || 6 === n.day()) && (r += " weekend"), o.append('<td data-action="selectDay" data-day="' + n.format("L") + '" class="day' + r + '">' + n.date() + "</td>"), n.add(1, "d");
1266                        s.find("tbody").empty().append(c),
1267                            function() { var t = h.find(".datepicker-months"),
1268                                    n = t.find("th"),
1269                                    i = t.find("tbody").find("span");
1270                                n.eq(0).find("span").attr("title", "Previous Year"), n.eq(1).attr("title", "Select Year"), n.eq(2).find("span").attr("title", "Next Year"), t.find(".disabled").removeClass("disabled"), H(u.clone().subtract(1, "y"), "y") || n.eq(0).addClass("disabled"), n.eq(1).text(u.year()), H(u.clone().add(1, "y"), "y") || n.eq(2).addClass("disabled"), i.removeClass("active"), d.isSame(u, "y") && !f && i.eq(d.month()).addClass("active"), i.each(function(t) { H(u.clone().month(t), "M") || e(this).addClass("disabled") }) }(),
1271                            function() { var e = h.find(".datepicker-years"),
1272                                    t = e.find("th"),
1273                                    n = u.clone().subtract(5, "y"),
1274                                    o = u.clone().add(6, "y"),
1275                                    r = ""; for (t.eq(0).find("span").attr("title", "Previous Decade"), t.eq(1).attr("title", "Select Decade"), t.eq(2).find("span").attr("title", "Next Decade"), e.find(".disabled").removeClass("disabled"), i.minDate && i.minDate.isAfter(n, "y") && t.eq(0).addClass("disabled"), t.eq(1).text(n.year() + "-" + o.year()), i.maxDate && i.maxDate.isBefore(o, "y") && t.eq(2).addClass("disabled"); !n.isAfter(o, "y");) r += '<span data-action="selectYear" class="year' + (n.isSame(d, "y") && !f ? " active" : "") + (H(n, "y") ? "" : " disabled") + '">
1275' + n.year() + "</span>", n.add(1, "y");
1276                                e.find("td").html(r) }(),
1277                            function() { var e = h.find(".datepicker-decades"),
1278                                    n = e.find("th"),
1279                                    o = t(u.isBefore(t({ y: 1999 })) ? { y: 1899 } : { y: 1999 }),
1280                                    r = o.clone().add(100, "y"),
1281                                    a = ""; for (n.eq(0).find("span").attr("title", "Previous Century"), n.eq(2).find("span").attr("title", "Next Century"), e.find(".disabled").removeClass("disabled"), (o.isSame(t({ y: 1900 })) || i.minDate && i.minDate.isAfter(o, "y")) && n.eq(0).addClass("disabled"), n.eq(1).text(o.year() + "-" + r.year()), (o.isSame(t({ y: 2e3 })) || i.maxDate && i.maxDate.isBefore(r, "y")) && n.eq(2).addClass("disabled"); !o.isAfter(r, "y");) a += '<span data-action="selectDecade" class="decade' + (o.isSame(d, "y") ? " active" : "") + (H(o, "y") ? "" : " disabled") + '" data-selection="' + (o.year() + 6) + '">' + (o.year() + 1) + " - " + (o.year() + 12) + "</span>", o.add(12, "y");
1282                                a += "<span></span><span></span><span></span>", e.find("td").html(a) }() } },
1283                B = function() { var t = h.find(".timepicker-hours table"),
1284                        n = u.clone().startOf("d"),
1285                        i = [],
1286                        o = e("<tr>"); for (u.hour() > 11 && !r && n.hour(12); n.isSame(u, "d") && (r || u.hour() < 12 && n.hour() < 12 || u.hour() > 11);) n.hour() % 4 == 0 && (o = e("<tr>"), i.push(o)), o.append('<td data-action="selectHour" class="hour' + (H(n, "h") ? "" : " disabled") + '">' + n.format(r ? "HH" : "hh") + "</td>"), n.add(1, "h");
1287                    t.empty().append(i) },
1288                N = function() { for (var t = h.find(".timepicker-minutes table"), n = u.clone().startOf("h"), o = [], r = e("<tr>"), a = 1 === i.stepping ? 5 : i.stepping; u.isSame(n, "h");) n.minute() % (4 * a) == 0 && (r = e("<tr>"), o.push(r)), r.append('<td data-action="selectMinute" class="minute' + (H(n, "m") ? "" : " disabled") + '">' + n.format("mm") + "</td>"), n.add(a, "m");
1289                    t.empty().append(o) },
1290                O = function() { for (var t = h.find(".timepicker-seconds table"), n = u.clone().startOf("m"), i = [], o = e("<tr>"); u.isSame(n, "m");) n.second() % 20 == 0 && (o = e("<tr>"), i.push(o)), o.append('<td data-action="selectSecond" class="second' + (H(n, "s") ? "" : " disabled") + '">' + n.format("ss") + "</td>"), n.add(5, "s");
1291                    t.empty().append(i) },
1292                _ = function() { var e, t, n;
1293                    h && (I(), n = h.find(".timepicker span[data-time-component]"), r || (e = h.find(".timepicker [data-action=togglePeriod]"), t = d.clone().add(d.hours() >= 12 ? -12 : 12, "h"), e.text(d.format("A")), H(t, "h") ? e.removeClass("disabled") : e.addClass("disabled")), n.filter("[data-time-component=hours]").text(d.format(r ? "HH" : "hh")), n.filter("[data-time-component=minutes]").text(d.format("mm")), n.filter("[data-time-component=seconds]").text(d.format("ss")), B(), N(), O()) },
1294                L = function(e) { var t = f ? null : d; return e ? (e = e.clone().locale(i.locale), 1 !== i.stepping && e.minutes(Math.round(e.minutes() / i.stepping) * i.stepping % 60).seconds(0), void(H(e) ? (d = e, u = d.clone(), o.val(d.format(a)), n.data("date", d.format(a)), f = !1, _(), G({ type: "dp.change", date: d.clone(), oldDate: t })) : (i.keepInvalid || o.val(f ? "" : d.format(a)), G({ type: "dp.error", date: e })))) : (f = !0, o.val(""), n.data("date", ""), G({ type: "dp.change", date: !1, oldDate: t }), void _()) },
1295                $ = function() { var t = !1; return h ? (h.find(".collapse").each(function() { var n = e(this).data("collapse"); return !n || !n.transitioning || (t = !0, !1) }), t ? c : (p && p.hasClass("btn") && p.toggleClass("active"), h.hide(), e(window).off("resize", x), h.off("click", "[data-action]"), h.off("mousedown", !1), h.remove(), h = !1, G({ type: "dp.hide", date: d.clone() }), c)) : c },
1296                R = function() { L(null) },
1297                V = { next: function() { var e = g[l].navFnc;
1298                        u.add(g[l].navStep, e), I(), E(e) }, previous: function() { var e = g[l].navFnc;
1299                        u.subtract(g[l].navStep, e), I(), E(e) }, pickerSwitch: function() { k(1) }, selectMonth: function(t) { var n = e(t.target).closest("tbody").find("span").index(e(t.target));
vendor: 22,053 bytes, lines 1300-1346
1300                        u.month(n), l === m ? (L(d.clone().year(u.year()).month(u.month())), i.inline || $()) : (k(-1), I()), E("M") }, selectYear: function(t) { var n = parseInt(e(t.target).text(), 10) || 0;
1301                        u.year(n), l === m ? (L(d.clone().year(u.year())), i.inline || $()) : (k(-1), I()), E("YYYY") }, selectDecade: function(t) { var n = parseInt(e(t.target).data("selection"), 10) || 0;
1302                        u.year(n), l === m ? (L(d.clone().year(u.year())), i.inline || $()) : (k(-1), I()), E("YYYY") }, selectDay: function(t) { var n = u.clone();
1303                        e(t.target).is(".old") && n.subtract(1, "M"), e(t.target).is(".new") && n.add(1, "M"), L(n.date(parseInt(e(t.target).text(), 10))), M() || i.keepOpen || i.inline || $() }, incrementHours: function() { var e = d.clone().add(1, "h");
1304                        H(e, "h") && L(e) }, incrementMinutes: function() { var e = d.clone().add(i.stepping, "m");
1305                        H(e, "m") && L(e) }, incrementSeconds: function() { var e = d.clone().add(1, "s");
1306                        H(e, "s") && L(e) }, decrementHours: function() { var e = d.clone().subtract(1, "h");
1307                        H(e, "h") && L(e) }, decrementMinutes: function() { var e = d.clone().subtract(i.stepping, "m");
1308                        H(e, "m") && L(e) }, decrementSeconds: function() { var e = d.clone().subtract(1, "s");
1309                        H(e, "s") && L(e) }, togglePeriod: function() { L(d.clone().add(d.hours() >= 12 ? -12 : 12, "h")) }, togglePicker: function(t) { var n, o = e(t.target),
1310                            r = o.closest("ul"),
1311                            a = r.find(".in"),
1312                            s = r.find(".collapse:not(.in)"); if (a && a.length) { if ((n = a.data("collapse")) && n.transitioning) return;
1313                            a.collapse ? (a.collapse("hide"), s.collapse("show")) : (a.removeClass("in"), s.addClass("in")), o.is("span") ? o.toggleClass(i.icons.time + " " + i.icons.date) : o.find("span").toggleClass(i.icons.time + " " + i.icons.date) } }, showPicker: function() { h.find(".timepicker > div:not(.timepicker-picker)").hide(), h.find(".timepicker .timepicker-picker").show() }, showHours: function() { h.find(".timepicker .timepicker-picker").hide(), h.find(".timepicker .timepicker-hours").show() }, showMinutes: function() { h.find(".timepicker .timepicker-picker").hide(), h.find(".timepicker .timepicker-minutes").show() }, showSeconds: function() { h.find(".timepicker .timepicker-picker").hide(), h.find(".timepicker .timepicker-seconds").show() }, selectHour: function(t) { var n = parseInt(e(t.target).text(), 10);
1314                        r || (d.hours() >= 12 ? 12 !== n && (n += 12) : 12 === n && (n = 0)), L(d.clone().hours(n)), V.showPicker.call(c) }, selectMinute: function(t) { L(d.clone().minutes(parseInt(e(t.target).text(), 10))), V.showPicker.call(c) }, selectSecond: function(t) { L(d.clone().seconds(parseInt(e(t.target).text(), 10))), V.showPicker.call(c) }, clear: R, today: function() { H(t(), "d") && L(t()) }, close: $ },
1315                F = function(t) { return !e(t.currentTarget).is(".disabled") && (V[e(t.currentTarget).data("action")].apply(c, arguments), !1) },
1316                W = function() { var n; return o.prop("disabled") || !i.ignoreReadonly && o.prop("readonly") || h ? c : (void 0 !== o.val() && 0 !== o.val().trim().length ? L(U(o.val().trim())) : i.useCurrent && f && (o.is("input") && 0 === o.val().trim().length || i.inline) && (n = t(), "string" == typeof i.useCurrent && (n = { year: function(e) { return e.month(0).date(1).hours(0).seconds(0).minutes(0) }, month: function(e) { return e.date(1).hours(0).seconds(0).minutes(0) }, day: function(e) { return e.hours(0).seconds(0).minutes(0) }, hour: function(e) { return e.seconds(0).minutes(0) }, minute: function(e) { return e.seconds(0) } } [i.useCurrent](n)), L(n)), h = D(), function() { var t = e("<tr>"),
1317                            n = u.clone().startOf("w").startOf("d"); for (!0 === i.calendarWeeks && t.append(e("<th>").addClass("cw").text("#")); n.isBefore(u.clone().endOf("w"));) t.append(e("<th>").addClass("dow").text(n.format("dd"))), n.add(1, "d");
1318                        h.find(".datepicker-days thead").append(t) }(), function() { for (var t = [], n = u.clone().startOf("y").startOf("d"); n.isSame(u, "y");) t.push(e("<span>").attr("data-action", "selectMonth").addClass("month").text(n.format("MMM"))), n.add(1, "M");
1319                        h.find(".datepicker-months td").empty().append(t) }(), h.find(".timepicker-hours").hide(), h.find(".timepicker-minutes").hide(), h.find(".timepicker-seconds").hide(), _(), k(), e(window).on("resize", x), h.on("click", "[data-action]", F), h.on("mousedown", !1), p && p.hasClass("btn") && p.toggleClass("active"), h.show(), x(), i.focusOnShow && !o.is(":focus") && o.focus(), G({ type: "dp.show" }), c) },
1320                j = function() { return h ? $() : W() },
1321                U = function(e) { return (e = t.isMoment(e) || e instanceof Date ? t(e) : t(e, s, i.useStrict)).locale(i.locale), e },
1322                Y = function(e) { var t, n, o, r, a = null,
1323                        s = [],
1324                        l = {},
1325                        d = e.which; for (t in w[d] = "p", w) w.hasOwnProperty(t) && "p" === w[t] && (s.push(t), parseInt(t, 10) !== d && (l[t] = !0)); for (t in i.keyBinds)
1326                        if (i.keyBinds.hasOwnProperty(t) && "function" == typeof i.keyBinds[t] && ((o = t.split(" ")).length === s.length && S[d] === o[o.length - 1])) { for (r = !0, n = o.length - 2; n >= 0; n--)
1327                                if (!(S[o[n]] in l)) { r = !1; break } if (r) { a = i.keyBinds[t]; break } } a && (a.call(c, h), e.stopPropagation(), e.preventDefault()) },
1328                X = function(e) { w[e.which] = "r", e.stopPropagation(), e.preventDefault() },
1329                q = function(t) { var n = e(t.target).val().trim(),
1330                        i = n ? U(n) : null; return L(i), t.stopImmediatePropagation(), !1 },
1331                K = function(t) { var n = {}; return e.each(t, function() { var e = U(this);
1332                        e.isValid() && (n[e.format("YYYY-MM-DD")] = !0) }), !!Object.keys(n).length && n },
1333                z = function(t) { var n = {}; return e.each(t, function() { n[this] = !0 }), !!Object.keys(n).length && n },
1334                Q = function() { var e = i.format || "L LT";
1335                    a = e.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function(e) { return (d.localeData().longDateFormat(e) || e).replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function(e) { return d.localeData().longDateFormat(e) || e }) }), (s = i.extraFormats ? i.extraFormats.slice() : []).indexOf(e) < 0 && s.indexOf(a) < 0 && s.push(a), r = a.toLowerCase().indexOf("a") < 1 && a.replace(/\[.*?\]/g, "").indexOf("h") < 1, C("y") && (m = 2), C("M") && (m = 1), C("d") && (m = 0), l = Math.max(m, l), f || L(d) }; if (c.destroy = function() { $(), o.off({ change: q, blur: $, keydown: Y, keyup: X, focus: i.allowInputToggle ? $ : "" }), n.is("input") ? o.off({ focus: W }) : p && (p.off("click", j), p.off("mousedown", !1)), n.removeData("DateTimePicker"), n.removeData("date") }, c.toggle = j, c.show = W, c.hide = $, c.disable = function() { return $(), p && p.hasClass("btn") && p.addClass("disabled"), o.prop("disabled", !0), c }, c.enable = function() { return p && p.hasClass("btn") && p.removeClass("disabled"), o.prop("disabled", !1), c }, c.ignoreReadonly = function(e) { if (0 === arguments.length) return i.ignoreReadonly; if ("boolean" != typeof e) throw new TypeError("ignoreReadonly () expects a boolean parameter"); return i.ignoreReadonly = e, c }, c.options = function(t) { if (0 === arguments.length) return e.extend(!0, {}, i); if (!(t instanceof Object)) throw new TypeError("options() options parameter should be an object"); return e.extend(!0, i, t), e.each(i, function(e, t) { if (void 0 === c[e]) throw new TypeError("option " + e + " is not recognized!");
1336                        c[e](t) }), c }, c.date = function(e) { if (0 === arguments.length) return f ? null : d.clone(); if (!(null === e || "string" == typeof e || t.isMoment(e) || e instanceof Date)) throw new TypeError("date() parameter must be one of [null, string, moment or Date]"); return L(null === e ? null : U(e)), c }, c.format = function(e) { if (0 === arguments.length) return i.format; if ("string" != typeof e && ("boolean" != typeof e || !1 !== e)) throw new TypeError("format() expects a sting or boolean:false parameter " + e); return i.format = e, a && Q(), c }, c.dayViewHeaderFormat = function(e) { if (0 === arguments.length) return i.dayViewHeaderFormat; if ("string" != typeof e) throw new TypeError("dayViewHeaderFormat() expects a string parameter"); return i.dayViewHeaderFormat = e, c }, c.extraFormats = function(e) { if (0 === arguments.length) return i.extraFormats; if (!1 !== e && !(e instanceof Array)) throw new TypeError("extraFormats() expects an array or false parameter"); return i.extraFormats = e, s && Q(), c }, c.disabledDates = function(t) { if (0 === arguments.length) return i.disabledDates ? e.extend({}, i.disabledDates) : i.disabledDates; if (!t) return i.disabledDates = !1, _(), c; if (!(t instanceof Array)) throw new TypeError("disabledDates() expects an array parameter"); return i.disabledDates = K(t), i.enabledDates = !1, _(), c }, c.enabledDates = function(t) { if (0 === arguments.length) return i.enabledDates ? e.extend({}, i.enabledDates) : i.enabledDates; if (!t) return i.enabledDates = !1, _(), c; if (!(t instanceof Array)) throw new TypeError("enabledDates() expects an array parameter"); return i.enabledDates = K(t), i.disabledDates = !1, _(), c }, c.daysOfWeekDisabled = function(e) { if (0 === arguments.length) return i.daysOfWeekDisabled.splice(0); if ("boolean" == typeof e && !e) return i.daysOfWeekDisabled = !1, _(), c; if (!(e instanceof Array)) throw new TypeError("daysOfWeekDisabled() expects an array parameter"); if (i.daysOfWeekDisabled = e.reduce(function(e, t) { return (t = parseInt(t, 10)) > 6 || 0 > t || isNaN(t) ? e : (-1 === e.indexOf(t) && e.push(t), e) }, []).sort(), i.useCurrent && !i.keepInvalid) { for (var t = 0; !H(d, "d");) { if (d.add(1, "d"), 7 === t) throw "Tried 7 times to find a valid date";
1337                            t++ } L(d) } return _(), c }, c.maxDate = function(e) { if (0 === arguments.length) return i.maxDate ? i.maxDate.clone() : i.maxDate; if ("boolean" == typeof e && !1 === e) return i.maxDate = !1, _(), c; "string" == typeof e && ("now" === e || "moment" === e) && (e = t()); var n = U(e); if (!n.isValid()) throw new TypeError("maxDate() Could not parse date parameter: " + e); if (i.minDate && n.isBefore(i.minDate)) throw new TypeError("maxDate() date parameter is before options.minDate: " + n.format(a)); return i.maxDate = n, i.useCurrent && !i.keepInvalid && d.isAfter(e) && L(i.maxDate), u.isAfter(n) && (u = n.clone()), _(), c }, c.minDate = function(e) { if (0 === arguments.length) return i.minDate ? i.minDate.clone() : i.minDate; if ("boolean" == typeof e && !1 === e) return i.minDate = !1, _(), c; "string" == typeof e && ("now" === e || "moment" === e) && (e = t()); var n = U(e); if (!n.isValid()) throw new TypeError("minDate() Could not parse date parameter: " + e); if (i.maxDate && n.isAfter(i.maxDate)) throw new TypeError("minDate() date parameter is after options.maxDate: " + n.format(a)); return i.minDate = n, i.useCurrent && !i.keepInvalid && d.isBefore(e) && L(i.minDate), u.isBefore(n) && (u = n.clone()), _(), c }, c.defaultDate = function(e) { if (0 === arguments.length) return i.defaultDate ? i.defaultDate.clone() : i.defaultDate; if (!e) return i.defaultDate = !1, c; "string" == typeof e && ("now" === e || "moment" === e) && (e = t()); var n = U(e); if (!n.isValid()) throw new TypeError("defaultDate() Could not parse date parameter: " + e); if (!H(n)) throw new TypeError("defaultDate() date passed is invalid according to component setup validations"); return i.defaultDate = n, (i.defaultDate && i.inline || "" === o.val().trim() && void 0 === o.attr("placeholder")) && L(i.defaultDate), c }, c.locale = function(e) { if (0 === arguments.length) return i.locale; if (!t.localeData(e)) throw new TypeError("locale() locale " + e + " is not loaded from moment locales!"); return i.locale = e, d.locale(i.locale), u.locale(i.locale), a && Q(), h && ($(), W()), c }, c.stepping = function(e) { return 0 === arguments.length ? i.stepping : (e = parseInt(e, 10), (isNaN(e) || 1 > e) && (e = 1), i.stepping = e, c) }, c.useCurrent = function(e) { var t = ["year", "month", "day", "hour", "minute"]; if (0 === arguments.length) return i.useCurrent; if ("boolean" != typeof e && "string" != typeof e) throw new TypeError("useCurrent() expects a boolean or string parameter"); if ("string" == typeof e && -1 === t.indexOf(e.toLowerCase())) throw new TypeError("useCurrent() expects a string parameter of " + t.join(", ")); return i.useCurrent = e, c }, c.collapse = function(e) { if (0 === arguments.length) return i.collapse; if ("boolean" != typeof e) throw new TypeError("collapse() expects a boolean parameter"); return i.collapse === e ? c : (i.collapse = e, h && ($(), W()), c) }, c.icons = function(t) { if (0 === arguments.length) return e.extend({}, i.icons); if (!(t instanceof Object)) throw new TypeError("icons() expects parameter to be an Object"); return e.extend(i.icons, t), h && ($(), W()), c }, c.useStrict = function(e) { if (0 === arguments.length) return i.useStrict; if ("boolean" != typeof e) throw new TypeError("useStrict() expects a boolean parameter"); return i.useStrict = e, c }, c.sideBySide = function(e) { if (0 === arguments.length) return i.sideBySide; if ("boolean" != typeof e) throw new TypeError("sideBySide() expects a boolean parameter"); return i.sideBySide = e, h && ($(), W()), c }, c.viewMode = function(e) { if (0 === arguments.length) return i.viewMode; if ("string" != typeof e) throw new TypeError("viewMode() expects a string parameter"); if (-1 === T.indexOf(e)) throw new TypeError("viewMode() parameter must be one of (" + T.join(", ") + ") value"); return i.viewMode = e, l = Math.max(T.indexOf(e), m), k(), c }, c.toolbarPlacement = function(e) { if (0 === arguments.length) return i.toolbarPlacement; if ("string" != typeof e) throw new TypeError("toolbarPlacement() expects a string parameter"); if (-1 === y.indexOf(e)) throw new TypeError("toolbarPlacement() parameter must be one of (" + y.join(", ") + ") value"); return i.toolbarPlacement = e, h && ($(), W()), c }, c.widgetPositioning = function(t) { if (0 === arguments.length) return e.extend({}, i.widgetPositioning); if ("[object Object]" !== {}.toString.call(t)) throw new TypeError("widgetPositioning() expects an object variable"); if (t.horizontal) { if ("string" != typeof t.horizontal) throw new TypeError("widgetPositioning() horizontal variable must be a string"); if (t.horizontal = t.horizontal.toLowerCase(), -1 === v.indexOf(t.horizontal)) throw new TypeError("widgetPositioning() expects horizontal parameter to be one of (" + v.join(", ") + ")");
1338                        i.widgetPositioning.horizontal = t.horizontal } if (t.vertical) { if ("string" != typeof t.vertical) throw new TypeError("widgetPositioning() vertical variable must be a string"); if (t.vertical = t.vertical.toLowerCase(), -1 === b.indexOf(t.vertical)) throw new TypeError("widgetPositioning() expects vertical parameter to be one of (" + b.join(", ") + ")");
1339                        i.widgetPositioning.vertical = t.vertical } return _(), c }, c.calendarWeeks = function(e) { if (0 === arguments.length) return i.calendarWeeks; if ("boolean" != typeof e) throw new TypeError("calendarWeeks() expects parameter to be a boolean value"); return i.calendarWeeks = e, _(), c }, c.showTodayButton = function(e) { if (0 === arguments.length) return i.showTodayButton; if ("boolean" != typeof e) throw new TypeError("showTodayButton() expects a boolean parameter"); return i.showTodayButton = e, h && ($(), W()), c }, c.showClear = function(e) { if (0 === arguments.length) return i.showClear; if ("boolean" != typeof e) throw new TypeError("showClear() expects a boolean parameter"); return i.showClear = e, h && ($(), W()), c }, c.widgetParent = function(t) { if (0 === arguments.length) return i.widgetParent; if ("string" == typeof t && (t = e(t)), null !== t && "string" != typeof t && !(t instanceof e)) throw new TypeError("widgetParent() expects a string or a jQuery object parameter"); return i.widgetParent = t, h && ($(), W()), c }, c.keepOpen = function(e) { if (0 === arguments.length) return i.keepOpen; if ("boolean" != typeof e) throw new TypeError("keepOpen() expects a boolean parameter"); return i.keepOpen = e, c }, c.focusOnShow = function(e) { if (0 === arguments.length) return i.focusOnShow; if ("boolean" != typeof e) throw new TypeError("focusOnShow() expects a boolean parameter"); return i.focusOnShow = e, c }, c.inline = function(e) { if (0 === arguments.length) return i.inline; if ("boolean" != typeof e) throw new TypeError("inline() expects a boolean parameter"); return i.inline = e, c }, c.clear = function() { return R(), c }, c.keyBinds = function(e) { return i.keyBinds = e, c }, c.debug = function(e) { if ("boolean" != typeof e) throw new TypeError("debug() expects a boolean parameter"); return i.debug = e, c }, c.allowInputToggle = function(e) { if (0 === arguments.length) return i.allowInputToggle; if ("boolean" != typeof e) throw new TypeError("allowInputToggle() expects a boolean parameter"); return i.allowInputToggle = e, c }, c.showClose = function(e) { if (0 === arguments.length) return i.showClose; if ("boolean" != typeof e) throw new TypeError("showClose() expects a boolean parameter"); return i.showClose = e, c }, c.keepInvalid = function(e) { if (0 === arguments.length) return i.keepInvalid; if ("boolean" != typeof e) throw new TypeError("keepInvalid() expects a boolean parameter"); return i.keepInvalid = e, c }, c.datepickerInput = function(e) { if (0 === arguments.length) return i.datepickerInput; if ("string" != typeof e) throw new TypeError("datepickerInput() expects a string parameter"); return i.datepickerInput = e, c }, c.disabledTimeIntervals = function(t) { if (0 === arguments.length) return i.disabledTimeIntervals ? e.extend({}, i.disabledTimeIntervals) : i.disabledTimeIntervals; if (!t) return i.disabledTimeIntervals = !1, _(), c; if (!(t instanceof Array)) throw new TypeError("disabledTimeIntervals() expects an array parameter"); return i.disabledTimeIntervals = t, _(), c }, c.disabledHours = function(t) { if (0 === arguments.length) return i.disabledHours ? e.extend({}, i.disabledHours) : i.disabledHours; if (!t) return i.disabledHours = !1, _(), c; if (!(t instanceof Array)) throw new TypeError("disabledHours() expects an array parameter"); if (i.disabledHours = z(t), i.enabledHours = !1, i.useCurrent && !i.keepInvalid) { for (var n = 0; !H(d, "h");) { if (d.add(1, "h"), 24 === n) throw "Tried 24 times to find a valid date";
1340                            n++ } L(d) } return _(), c }, c.enabledHours = function(t) { if (0 === arguments.length) return i.enabledHours ? e.extend({}, i.enabledHours) : i.enabledHours; if (!t) return i.enabledHours = !1, _(), c; if (!(t instanceof Array)) throw new TypeError("enabledHours() expects an array parameter"); if (i.enabledHours = z(t), i.disabledHours = !1, i.useCurrent && !i.keepInvalid) { for (var n = 0; !H(d, "h");) { if (d.add(1, "h"), 24 === n) throw "Tried 24 times to find a valid date";
1341                            n++ } L(d) } return _(), c }, c.viewDate = function(e) { if (0 === arguments.length) return u.clone(); if (!e) return u = d.clone(), c; if (!("string" == typeof e || t.isMoment(e) || e instanceof Date)) throw new TypeError("viewDate() parameter must be one of [string, moment or Date]"); return u = U(e), E(), c }, n.is("input")) o = n;
1342            else if (0 === (o = n.find(i.datepickerInput)).size()) o = n.find("input");
1343            else if (!o.is("input")) throw new Error('CSS class "' + i.datepickerInput + '" cannot be applied to non input element'); if (n.hasClass("input-group") && (p = 0 === n.find(".datepickerbutton").size() ? n.find('[class^="input-group-"]') : n.find(".datepickerbutton")), !i.inline && !o.is("input")) throw new Error("Could not initialize DateTimePicker without an input element"); return e.extend(!0, i, function() { var t, o = {}; return (t = n.is("input") || i.inline ? n.data() : n.find("input").data()).dateOptions && t.dateOptions instanceof Object && (o = e.extend(!0, o, t.dateOptions)), e.each(i, function(e) { var n = "date" + e.charAt(0).toUpperCase() + e.slice(1);
1344                    void 0 !== t[n] && (o[e] = t[n]) }), o }()), c.options(i), Q(), o.on({ change: q, blur: i.debug ? "" : $, keydown: Y, keyup: X, focus: i.allowInputToggle ? W : "" }), n.is("input") ? o.on({ focus: W }) : p && (p.on("click", j), p.on("mousedown", !1)), o.prop("disabled") && c.disable(), o.is("input") && 0 !== o.val().trim().length ? L(U(o.val().trim())) : i.defaultDate && void 0 === o.attr("placeholder") && L(i.defaultDate), i.inline && W(), c };
1345        e.fn.datetimepicker = function(t) { return this.each(function() { var i = e(this);
1346                i.data("DateTimePicker") || (t = e.extend(!0, {}, e.fn.datetimepicker.defaults, t), i.data("DateTimePicker", n(i, t))) }) }, e.fn.datetimepicker.defaults = { format: !1, dayViewHeaderFormat: "MMMM YYYY", extraFormats: !1, stepping: 1, minDate: !1, maxDate: !1, useCurrent: !0, collapse: !0, locale: t.locale(), defaultDate: !1, disabledDates: !1, enabledDates: !1, icons: { time: "glyphicon glyphicon-time", date: "glyphicon glyphicon-calendar", up: "glyphicon glyphicon-chevron-up", down: "glyphicon glyphicon-chevron-down", previous: "glyphicon glyphicon-chevron-left", next: "glyphicon glyphicon-chevron-right", today: "glyphicon glyphicon-screenshot", clear: "glyphicon glyphicon-trash", close: "glyphicon glyphicon-remove" }
1346, useStrict: !1, sideBySide: !1, daysOfWeekDisabled: !1, calendarWeeks: !1, viewMode: "days", toolbarPlacement: "default", showTodayButton: !1, showClear: !1, showClose: !1, widgetPositioning: { horizontal: "auto", vertical: "auto" }, widgetParent: null, ignoreReadonly: !1, keepOpen: !1, focusOnShow: !0, inline: !1, keepInvalid: !1, datepickerInput: ".datepickerinput", keyBinds: { up: function(e) { if (e) { var n = this.date() || t();
1347                        e.find(".datepicker").is(":visible") ? this.date(n.clone().subtract(7, "d")) : this.date(n.clone().add(1, "m")) } }, down: function(e) { if (e) { var n = this.date() || t();
1348                        e.find(".datepicker").is(":visible") ? this.date(n.clone().add(7, "d")) : this.date(n.clone().subtract(1, "m")) } else this.show() }, "control up": function(e) { if (e) { var n = this.date() || t();
1349                        e.find(".datepicker").is(":visible") ? this.date(n.clone().subtract(1, "y")) : this.date(n.clone().add(1, "h")) } }, "control down": function(e) { if (e) { var n = this.date() || t();
1350                        e.find(".datepicker").is(":visible") ? this.date(n.clone().add(1, "y")) : this.date(n.clone().subtract(1, "h")) } }, left: function(e) { if (e) { var n = this.date() || t();
1351                        e.find(".datepicker").is(":visible") && this.date(n.clone().subtract(1, "d")) } }, right: function(e) { if (e) { var n = this.date() || t();
1352                        e.find(".datepicker").is(":visible") && this.date(n.clone().add(1, "d")) } }, pageUp: function(e) { if (e) { var n = this.date() || t();
1353                        e.find(".datepicker").is(":visible") && this.date(n.clone().subtract(1, "M")) } }, pageDown: function(e) { if (e) { var n = this.date() || t();
1354                        e.find(".datepicker").is(":visible") && this.date(n.clone().add(1, "M")) } }, enter: function() { this.hide() }, escape: function() { this.hide() }, "control space": function(e) { e.find(".timepicker").is(":visible") && e.find('.btn[data-action="togglePeriod"]').click() }, t: function() { this.date(t()) }, delete: function() { this.clear() } }, debug: !1, allowInputToggle: !1, disabledTimeIntervals: !1, disabledHours: !1, enabledHours: !1, viewDate: !1 } }), $(document).ready(function() { var e, t, n, i, o, r = window.location.hash,
1355            a = $('a[href^="' + r + '"]').first();
1356        (isPageEditor() || "" != a && a.length > 0) && (r.length > 2 ? ((i = a.closest("li")).closest(".dropdown-menu").find(".active").toggleClass("active"), i.toggleClass("active"), t = i.index(), (e = i.closest(".dropdown")).toggleClass("open"), o = i.closest(".row").find(".right-content>li"), $(o[t]).toggleClass("active")) : ((e = a.parent(".dropdown")).siblings(".dropdown").find(".open").toggleClass("open"), e.toggleClass("open"), t = e.children(".dropdown-menu"), e.find(".active").toggleClass("active"), t.toggleClass("active"), n = t.find("ul>li").first(), (i = $(n[0])).toggleClass("active"), o = i.closest(".row").find(".right-content>li"), $(o[0]).toggleClass("active"))), $('a[href^="#"].dropdown-toggle').on("click", function() { setHash($(this).parent(".dropdown").find(".left-nav ul>li.active").first()) }) }), $(document).on("click", ".main-nav .dropdown-menu", function(e) { e.stopPropagation() }), $navSection = $("[context='nav-link-section']"), $doubleNavSection = $("[context='secondary-nav-structure']"), function() { $(window).resize(function() { var e = getBreakpoint();
1357            ("xs" == e || "sm" == e) && $("#navbar-collapse-grid .nav.navbar-nav.main-nav .dropdown.main-nav-fw.open").length > 0 && ($("#navbar-collapse-grid").attr("aria-expanded", "true"), $("#navbar-collapse-grid").addClass("in")) }) }(), i = $navSection.length - 1; i >= 0; i--) { var $activeMenu, $leftNavItem = $($navSection[i]).find(".left-nav li"),
1358        $navContent = $($navSection[i]).find(".nav-content .right-content>li"),
1359        $currentTabContent = $navSection[i];
1360    $leftNavItem.on("click", function(e) { var t = getBreakpoint(); "xs" !== t && "sm" !== t && (e.preventDefault(), $(this).parent().find(".active").removeClass("active"), $(this).addClass("active"), $activeMenu = $(this).index(), $activeContent = $(this).closest(".row").find(".right-content>li"), $($activeContent).removeClass("active"), $($activeContent[$activeMenu]).addClass("active")), setHash(this) }) }
1361for (i = $doubleNavSection.length - 1; i >= 0; i--) { var $self = $doubleNavSection[i],
1362        $navItems = $($self).find(".secondary-nav-items li"),
1363        $contentItems = $($self).find(".secondary-nav-content>li"); for (i = $navItems.length - 1; i >= 0; i--) $($navItems[i]).attr("menu-item", [i]); for (i = $contentItems.length - 1; i >= 0; i--) $($contentItems[i]).attr("content-item", [i]);
1364    $navItems.on("click", function(e) { var t, n = getBreakpoint(); "xs" !== n && "sm" !== n && (e.preventDefault(), t = $(this).attr("menu-item"), $navItems.removeClass("active"), $(this).addClass("active"), $contentItems.removeClass("active"), $($contentItems[t]).addClass("active")), setHash(this) }) } $(".nav.nav-tabs").children().first().addClass("active"), setTimeout(function() { var e = $("#productCarousel, #itemCarousel");
1365        e.children().length > 1 ? e.owlCarousel({ items: 6, slideBy: 6, nav: !0, navRewind: !1, dots: !1, navSpeed: 200, navText: ['<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>', '<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>'], responsive: { 1192: { items: 6, slideBy: 6, navSpeed: 150 }, 992: { items: 4, slideBy: 4 }, 568: { items: 3, slideBy: 3 }, 479: { items: 2, slideBy: 2 }, 0: { items: 1, slideBy: 1 } } }) : e.owlCarousel({ items: 1, dots: !1 }) }, 500), $(".signup-form button").click(function() { var e = $(this).parents(".signup-form"),
1366            t = e.context.form.id;
1367        console.log(), isEmpty = "" === e.children(".email").val(), isEmail = document.getElementById(t).checkValidity(), !1 === isEmpty && !0 === isEmail && e.children(".message").show() }), $(".quantity").mask("0000"), piAId = "40532", piCId = "2212",
1368    function() {
1369        function e() { var e = $("#productAd .ad-block-vertical").parent().parent(); if (e) { $("#productContainer .row"); var t = $(".product-details .row"),
1370                    n = $(".product-content .row"),
1371                    i = getBreakpoint(); "xs" === i || "sm" === i || "md" === i ? $($(e).detach()).appendTo($(n)[0]) : $($(e).detach()).appendTo($(t)[0]) } } e(), $(window).resize(e) }(),
1372    function() {
1373        function e() { "none" === $(".ad-full").css("display") ? $(".ad-full").parent().hide() : $(".ad-full").parent().show() } e(), $(window).resize(e) }();

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.