Last active
March 29, 2023 09:58
-
-
Save nicholasnadel/a4eb299149a76ecad4737d45f46eed2f to your computer and use it in GitHub Desktop.
Unshackle Your Twitter Bookmarks - http://recordit.co/OcBSU8eFz0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// demo: http://recordit.co/OcBSU8eFz0 | |
// 1) open https://twitter.com/i/bookmarks | |
// 2) open browser JavaScript console | |
// 3) paste & run this code. try running twice if there's an issue starting. | |
// 4) right click console output > copy to clipboard > paste Bookmarks into text editor/notes app of choice | |
function getBookmarkedTweets() { | |
$("article").each(function (e) { | |
var t = $(this), | |
n = $(t).text() + "\n", | |
r = "https://www.twitter.com" + ($(t).find('a[href*="/status"]').attr("href") + "\n") + "\n\n"; | |
console.log(n + "\n" + r) | |
}) | |
}! function (e, t) { | |
"use strict"; | |
"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) { | |
"use strict"; | |
var n = [], | |
r = e.document, | |
i = Object.getPrototypeOf, | |
o = n.slice, | |
a = n.concat, | |
s = n.push, | |
u = n.indexOf, | |
l = {}, | |
c = l.toString, | |
f = l.hasOwnProperty, | |
p = f.toString, | |
d = p.call(Object), | |
h = {}, | |
g = function (e) { | |
return "function" == typeof e && "number" != typeof e.nodeType | |
}, | |
v = function (e) { | |
return null != e && e === e.window | |
}, | |
m = { | |
type: !0, | |
src: !0, | |
nonce: !0, | |
noModule: !0 | |
}; | |
function y(e, t, n) { | |
var i, o, a = (n = n || r).createElement("script"); | |
if (a.text = e, t) | |
for (i in m)(o = t[i] || t.getAttribute && t.getAttribute(i)) && a.setAttribute(i, o); | |
n.head.appendChild(a).parentNode.removeChild(a) | |
} | |
function x(e) { | |
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? l[c.call(e)] || "object" : typeof e | |
} | |
var b = "3.4.1", | |
w = function (e, t) { | |
return new w.fn.init(e, t) | |
}, | |
T = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; | |
function C(e) { | |
var t = !!e && "length" in e && e.length, | |
n = x(e); | |
return !g(e) && !v(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e) | |
} | |
w.fn = w.prototype = { | |
jquery: b, | |
constructor: w, | |
length: 0, | |
toArray: function () { | |
return o.call(this) | |
}, | |
get: function (e) { | |
return null == e ? o.call(this) : e < 0 ? this[e + this.length] : this[e] | |
}, | |
pushStack: function (e) { | |
var t = w.merge(this.constructor(), e); | |
return t.prevObject = this, t | |
}, | |
each: function (e) { | |
return w.each(this, e) | |
}, | |
map: function (e) { | |
return this.pushStack(w.map(this, function (t, n) { | |
return e.call(t, n, t) | |
})) | |
}, | |
slice: function () { | |
return this.pushStack(o.apply(this, arguments)) | |
}, | |
first: function () { | |
return this.eq(0) | |
}, | |
last: function () { | |
return this.eq(-1) | |
}, | |
eq: function (e) { | |
var t = this.length, | |
n = +e + (e < 0 ? t : 0); | |
return this.pushStack(0 <= n && n < t ? [this[n]] : []) | |
}, | |
end: function () { | |
return this.prevObject || this.constructor() | |
}, | |
push: s, | |
sort: n.sort, | |
splice: n.splice | |
}, w.extend = w.fn.extend = function () { | |
var e, t, n, r, i, o, a = arguments[0] || {}, | |
s = 1, | |
u = arguments.length, | |
l = !1; | |
for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || g(a) || (a = {}), s === u && (a = this, s--); s < u; s++) | |
if (null != (e = arguments[s])) | |
for (t in e) r = e[t], "__proto__" !== t && a !== r && (l && r && (w.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || w.isPlainObject(n) ? n : {}, i = !1, a[t] = w.extend(l, o, r)) : void 0 !== r && (a[t] = r)); | |
return a | |
}, w.extend({ | |
expando: "jQuery" + (b + Math.random()).replace(/\D/g, ""), | |
isReady: !0, | |
error: function (e) { | |
throw new Error(e) | |
}, | |
noop: function () {}, | |
isPlainObject: function (e) { | |
var t, n; | |
return !(!e || "[object Object]" !== c.call(e) || (t = i(e)) && ("function" != typeof (n = f.call(t, "constructor") && t.constructor) || p.call(n) !== d)) | |
}, | |
isEmptyObject: function (e) { | |
var t; | |
for (t in e) return !1; | |
return !0 | |
}, | |
globalEval: function (e, t) { | |
y(e, { | |
nonce: t && t.nonce | |
}) | |
}, | |
each: function (e, t) { | |
var n, r = 0; | |
if (C(e)) | |
for (n = e.length; r < n && !1 !== t.call(e[r], r, e[r]); r++); | |
else | |
for (r in e) | |
if (!1 === t.call(e[r], r, e[r])) break; | |
return e | |
}, | |
trim: function (e) { | |
return null == e ? "" : (e + "").replace(T, "") | |
}, | |
makeArray: function (e, t) { | |
var n = t || []; | |
return null != e && (C(Object(e)) ? w.merge(n, "string" == typeof e ? [e] : e) : s.call(n, e)), n | |
}, | |
inArray: function (e, t, n) { | |
return null == t ? -1 : u.call(t, e, n) | |
}, | |
merge: function (e, t) { | |
for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r]; | |
return e.length = i, e | |
}, | |
grep: function (e, t, n) { | |
for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) !t(e[i], i) !== a && r.push(e[i]); | |
return r | |
}, | |
map: function (e, t, n) { | |
var r, i, o = 0, | |
s = []; | |
if (C(e)) | |
for (r = e.length; o < r; o++) null != (i = t(e[o], o, n)) && s.push(i); | |
else | |
for (o in e) null != (i = t(e[o], o, n)) && s.push(i); | |
return a.apply([], s) | |
}, | |
guid: 1, | |
support: h | |
}), "function" == typeof Symbol && (w.fn[Symbol.iterator] = n[Symbol.iterator]), w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) { | |
l["[object " + t + "]"] = t.toLowerCase() | |
}); | |
var E = function (e) { | |
var t, n, r, i, o, a, s, u, l, c, f, p, d, h, g, v, m, y, x, b = "sizzle" + 1 * new Date, | |
w = e.document, | |
T = 0, | |
C = 0, | |
E = ue(), | |
k = ue(), | |
S = ue(), | |
N = ue(), | |
A = function (e, t) { | |
return e === t && (f = !0), 0 | |
}, | |
D = {}.hasOwnProperty, | |
j = [], | |
q = j.pop, | |
L = j.push, | |
H = j.push, | |
O = j.slice, | |
P = function (e, t) { | |
for (var n = 0, r = e.length; n < r; n++) | |
if (e[n] === t) return n; | |
return -1 | |
}, | |
R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", | |
M = "[\\x20\\t\\r\\n\\f]", | |
I = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", | |
$ = "\\[" + M + "*(" + I + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + I + "))|)" + M + "*\\]", | |
W = ":(" + I + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + $ + ")*)|.*)\\)|)", | |
F = new RegExp(M + "+", "g"), | |
B = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), | |
_ = new RegExp("^" + M + "*," + M + "*"), | |
z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), | |
U = new RegExp(M + "|>"), | |
X = new RegExp(W), | |
V = new RegExp("^" + I + "$"), | |
G = { | |
ID: new RegExp("^#(" + I + ")"), | |
CLASS: new RegExp("^\\.(" + I + ")"), | |
TAG: new RegExp("^(" + I + "|[*])"), | |
ATTR: new RegExp("^" + $), | |
PSEUDO: new RegExp("^" + W), | |
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"), | |
bool: new RegExp("^(?:" + R + ")$", "i"), | |
needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i") | |
}, | |
Y = /HTML$/i, | |
Q = /^(?:input|select|textarea|button)$/i, | |
J = /^h\d$/i, | |
K = /^[^{]+\{\s*\[native \w/, | |
Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, | |
ee = /[+~]/, | |
te = new RegExp("\\\\([\\da-f]{1,6}" + M + "?|(" + M + ")|.)", "ig"), | |
ne = function (e, t, n) { | |
var r = "0x" + t - 65536; | |
return r != r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320) | |
}, | |
re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, | |
ie = function (e, t) { | |
return t ? "\0" === e ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e | |
}, | |
oe = function () { | |
p() | |
}, | |
ae = be(function (e) { | |
return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase() | |
}, { | |
dir: "parentNode", | |
next: "legend" | |
}); | |
try { | |
H.apply(j = O.call(w.childNodes), w.childNodes), j[w.childNodes.length].nodeType | |
} catch (t) { | |
H = { | |
apply: j.length ? function (e, t) { | |
L.apply(e, O.call(t)) | |
} : function (e, t) { | |
for (var n = e.length, r = 0; e[n++] = t[r++];); | |
e.length = n - 1 | |
} | |
} | |
} | |
function se(e, t, r, i) { | |
var o, s, l, c, f, h, m, y = t && t.ownerDocument, | |
T = t ? t.nodeType : 9; | |
if (r = r || [], "string" != typeof e || !e || 1 !== T && 9 !== T && 11 !== T) return r; | |
if (!i && ((t ? t.ownerDocument || t : w) !== d && p(t), t = t || d, g)) { | |
if (11 !== T && (f = Z.exec(e))) | |
if (o = f[1]) { | |
if (9 === T) { | |
if (!(l = t.getElementById(o))) return r; | |
if (l.id === o) return r.push(l), r | |
} else if (y && (l = y.getElementById(o)) && x(t, l) && l.id === o) return r.push(l), r | |
} else { | |
if (f[2]) return H.apply(r, t.getElementsByTagName(e)), r; | |
if ((o = f[3]) && n.getElementsByClassName && t.getElementsByClassName) return H.apply(r, t.getElementsByClassName(o)), r | |
} if (n.qsa && !N[e + " "] && (!v || !v.test(e)) && (1 !== T || "object" !== t.nodeName.toLowerCase())) { | |
if (m = e, y = t, 1 === T && U.test(e)) { | |
for ((c = t.getAttribute("id")) ? c = c.replace(re, ie) : t.setAttribute("id", c = b), s = (h = a(e)).length; s--;) h[s] = "#" + c + " " + xe(h[s]); | |
m = h.join(","), y = ee.test(e) && me(t.parentNode) || t | |
} | |
try { | |
return H.apply(r, y.querySelectorAll(m)), r | |
} catch (t) { | |
N(e, !0) | |
} finally { | |
c === b && t.removeAttribute("id") | |
} | |
} | |
} | |
return u(e.replace(B, "$1"), t, r, i) | |
} | |
function ue() { | |
var e = []; | |
return function t(n, i) { | |
return e.push(n + " ") > r.cacheLength && delete t[e.shift()], t[n + " "] = i | |
} | |
} | |
function le(e) { | |
return e[b] = !0, e | |
} | |
function ce(e) { | |
var t = d.createElement("fieldset"); | |
try { | |
return !!e(t) | |
} catch (e) { | |
return !1 | |
} finally { | |
t.parentNode && t.parentNode.removeChild(t), t = null | |
} | |
} | |
function fe(e, t) { | |
for (var n = e.split("|"), i = n.length; i--;) r.attrHandle[n[i]] = t | |
} | |
function pe(e, t) { | |
var n = t && e, | |
r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; | |
if (r) return r; | |
if (n) | |
for (; n = n.nextSibling;) | |
if (n === t) return -1; | |
return e ? 1 : -1 | |
} | |
function de(e) { | |
return function (t) { | |
return "input" === t.nodeName.toLowerCase() && t.type === e | |
} | |
} | |
function he(e) { | |
return function (t) { | |
var n = t.nodeName.toLowerCase(); | |
return ("input" === n || "button" === n) && t.type === e | |
} | |
} | |
function ge(e) { | |
return function (t) { | |
return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && ae(t) === e : t.disabled === e : "label" in t && t.disabled === e | |
} | |
} | |
function ve(e) { | |
return le(function (t) { | |
return t = +t, le(function (n, r) { | |
for (var i, o = e([], n.length, t), a = o.length; a--;) n[i = o[a]] && (n[i] = !(r[i] = n[i])) | |
}) | |
}) | |
} | |
function me(e) { | |
return e && void 0 !== e.getElementsByTagName && e | |
} | |
for (t in n = se.support = {}, o = se.isXML = function (e) { | |
var t = e.namespaceURI, | |
n = (e.ownerDocument || e).documentElement; | |
return !Y.test(t || n && n.nodeName || "HTML") | |
}, p = se.setDocument = function (e) { | |
var t, i, a = e ? e.ownerDocument || e : w; | |
return a !== d && 9 === a.nodeType && a.documentElement && (h = (d = a).documentElement, g = !o(d), w !== d && (i = d.defaultView) && i.top !== i && (i.addEventListener ? i.addEventListener("unload", oe, !1) : i.attachEvent && i.attachEvent("onunload", oe)), n.attributes = ce(function (e) { | |
return e.className = "i", !e.getAttribute("className") | |
}), n.getElementsByTagName = ce(function (e) { | |
return e.appendChild(d.createComment("")), !e.getElementsByTagName("*").length | |
}), n.getElementsByClassName = K.test(d.getElementsByClassName), n.getById = ce(function (e) { | |
return h.appendChild(e).id = b, !d.getElementsByName || !d.getElementsByName(b).length | |
}), n.getById ? (r.filter.ID = function (e) { | |
var t = e.replace(te, ne); | |
return function (e) { | |
return e.getAttribute("id") === t | |
} | |
}, r.find.ID = function (e, t) { | |
if (void 0 !== t.getElementById && g) { | |
var n = t.getElementById(e); | |
return n ? [n] : [] | |
} | |
}) : (r.filter.ID = function (e) { | |
var t = e.replace(te, ne); | |
return function (e) { | |
var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id"); | |
return n && n.value === t | |
} | |
}, r.find.ID = function (e, t) { | |
if (void 0 !== t.getElementById && g) { | |
var n, r, i, o = t.getElementById(e); | |
if (o) { | |
if ((n = o.getAttributeNode("id")) && n.value === e) return [o]; | |
for (i = t.getElementsByName(e), r = 0; o = i[r++];) | |
if ((n = o.getAttributeNode("id")) && n.value === e) return [o] | |
} | |
return [] | |
} | |
}), r.find.TAG = n.getElementsByTagName ? function (e, t) { | |
return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : n.qsa ? t.querySelectorAll(e) : void 0 | |
} : function (e, t) { | |
var n, r = [], | |
i = 0, | |
o = t.getElementsByTagName(e); | |
if ("*" === e) { | |
for (; n = o[i++];) 1 === n.nodeType && r.push(n); | |
return r | |
} | |
return o | |
}, r.find.CLASS = n.getElementsByClassName && function (e, t) { | |
if (void 0 !== t.getElementsByClassName && g) return t.getElementsByClassName(e) | |
}, m = [], v = [], (n.qsa = K.test(d.querySelectorAll)) && (ce(function (e) { | |
h.appendChild(e).innerHTML = "<a id='" + b + "'></a><select id='" + b + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || v.push("\\[" + M + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + b + "-]").length || v.push("~="), e.querySelectorAll(":checked").length || v.push(":checked"), e.querySelectorAll("a#" + b + "+*").length || v.push(".#.+[+~]") | |
}), ce(function (e) { | |
e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; | |
var t = d.createElement("input"); | |
t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && v.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && v.push(":enabled", ":disabled"), h.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && v.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), v.push(",.*:") | |
})), (n.matchesSelector = K.test(y = h.matches || h.webkitMatchesSelector || h.mozMatchesSelector || h.oMatchesSelector || h.msMatchesSelector)) && ce(function (e) { | |
n.disconnectedMatch = y.call(e, "*"), y.call(e, "[s!='']:x"), m.push("!=", W) | |
}), v = v.length && new RegExp(v.join("|")), m = m.length && new RegExp(m.join("|")), t = K.test(h.compareDocumentPosition), x = t || K.test(h.contains) ? function (e, t) { | |
var n = 9 === e.nodeType ? e.documentElement : e, | |
r = t && t.parentNode; | |
return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) | |
} : function (e, t) { | |
if (t) | |
for (; t = t.parentNode;) | |
if (t === e) return !0; | |
return !1 | |
}, A = t ? function (e, t) { | |
if (e === t) return f = !0, 0; | |
var r = !e.compareDocumentPosition - !t.compareDocumentPosition; | |
return r || (1 & (r = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !n.sortDetached && t.compareDocumentPosition(e) === r ? e === d || e.ownerDocument === w && x(w, e) ? -1 : t === d || t.ownerDocument === w && x(w, t) ? 1 : c ? P(c, e) - P(c, t) : 0 : 4 & r ? -1 : 1) | |
} : function (e, t) { | |
if (e === t) return f = !0, 0; | |
var n, r = 0, | |
i = e.parentNode, | |
o = t.parentNode, | |
a = [e], | |
s = [t]; | |
if (!i || !o) return e === d ? -1 : t === d ? 1 : i ? -1 : o ? 1 : c ? P(c, e) - P(c, t) : 0; | |
if (i === o) return pe(e, t); | |
for (n = e; n = n.parentNode;) a.unshift(n); | |
for (n = t; n = n.parentNode;) s.unshift(n); | |
for (; a[r] === s[r];) r++; | |
return r ? pe(a[r], s[r]) : a[r] === w ? -1 : s[r] === w ? 1 : 0 | |
}), d | |
}, se.matches = function (e, t) { | |
return se(e, null, null, t) | |
}, se.matchesSelector = function (e, t) { | |
if ((e.ownerDocument || e) !== d && p(e), n.matchesSelector && g && !N[t + " "] && (!m || !m.test(t)) && (!v || !v.test(t))) try { | |
var r = y.call(e, t); | |
if (r || n.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r | |
} catch (e) { | |
N(t, !0) | |
} | |
return 0 < se(t, d, null, [e]).length | |
}, se.contains = function (e, t) { | |
return (e.ownerDocument || e) !== d && p(e), x(e, t) | |
}, se.attr = function (e, t) { | |
(e.ownerDocument || e) !== d && p(e); | |
var i = r.attrHandle[t.toLowerCase()], | |
o = i && D.call(r.attrHandle, t.toLowerCase()) ? i(e, t, !g) : void 0; | |
return void 0 !== o ? o : n.attributes || !g ? e.getAttribute(t) : (o = e.getAttributeNode(t)) && o.specified ? o.value : null | |
}, se.escape = function (e) { | |
return (e + "").replace(re, ie) | |
}, se.error = function (e) { | |
throw new Error("Syntax error, unrecognized expression: " + e) | |
}, se.uniqueSort = function (e) { | |
var t, r = [], | |
i = 0, | |
o = 0; | |
if (f = !n.detectDuplicates, c = !n.sortStable && e.slice(0), e.sort(A), f) { | |
for (; t = e[o++];) t === e[o] && (i = r.push(o)); | |
for (; i--;) e.splice(r[i], 1) | |
} | |
return c = null, e | |
}, i = se.getText = function (e) { | |
var t, n = "", | |
r = 0, | |
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 += i(e) | |
} else if (3 === o || 4 === o) return e.nodeValue | |
} else | |
for (; t = e[r++];) n += i(t); | |
return n | |
}, (r = se.selectors = { | |
cacheLength: 50, | |
createPseudo: le, | |
match: G, | |
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(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === 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] || se.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] && se.error(e[0]), e | |
}, | |
PSEUDO: function (e) { | |
var t, n = !e[6] && e[2]; | |
return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.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(te, ne).toLowerCase(); | |
return "*" === e ? function () { | |
return !0 | |
} : function (e) { | |
return e.nodeName && e.nodeName.toLowerCase() === t | |
} | |
}, | |
CLASS: function (e) { | |
var t = E[e + " "]; | |
return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && E(e, function (e) { | |
return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "") | |
}) | |
}, | |
ATTR: function (e, t, n) { | |
return function (r) { | |
var i = se.attr(r, e); | |
return null == i ? "!=" === t : !t || (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && -1 < i.indexOf(n) : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? -1 < (" " + i.replace(F, " ") + " ").indexOf(n) : "|=" === t && (i === n || i.slice(0, n.length + 1) === n + "-")) | |
} | |
}, | |
CHILD: function (e, t, n, r, i) { | |
var o = "nth" !== e.slice(0, 3), | |
a = "last" !== e.slice(-4), | |
s = "of-type" === t; | |
return 1 === r && 0 === i ? function (e) { | |
return !!e.parentNode | |
} : function (t, n, u) { | |
var l, c, f, p, d, h, g = o !== a ? "nextSibling" : "previousSibling", | |
v = t.parentNode, | |
m = s && t.nodeName.toLowerCase(), | |
y = !u && !s, | |
x = !1; | |
if (v) { | |
if (o) { | |
for (; g;) { | |
for (p = t; p = p[g];) | |
if (s ? p.nodeName.toLowerCase() === m : 1 === p.nodeType) return !1; | |
h = g = "only" === e && !h && "nextSibling" | |
} | |
return !0 | |
} | |
if (h = [a ? v.firstChild : v.lastChild], a && y) { | |
for (x = (d = (l = (c = (f = (p = v)[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] || [])[0] === T && l[1]) && l[2], p = d && v.childNodes[d]; p = ++d && p && p[g] || (x = d = 0) || h.pop();) | |
if (1 === p.nodeType && ++x && p === t) { | |
c[e] = [T, d, x]; | |
break | |
} | |
} else if (y && (x = d = (l = (c = (f = (p = t)[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] || [])[0] === T && l[1]), !1 === x) | |
for (; | |
(p = ++d && p && p[g] || (x = d = 0) || h.pop()) && ((s ? p.nodeName.toLowerCase() !== m : 1 !== p.nodeType) || !++x || (y && ((c = (f = p[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] = [T, x]), p !== t));); | |
return (x -= i) === r || x % r == 0 && 0 <= x / r | |
} | |
} | |
}, | |
PSEUDO: function (e, t) { | |
var n, i = r.pseudos[e] || r.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); | |
return i[b] ? i(t) : 1 < i.length ? (n = [e, e, "", t], r.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function (e, n) { | |
for (var r, o = i(e, t), a = o.length; a--;) e[r = P(e, o[a])] = !(n[r] = o[a]) | |
}) : function (e) { | |
return i(e, 0, n) | |
}) : i | |
} | |
}, | |
pseudos: { | |
not: le(function (e) { | |
var t = [], | |
n = [], | |
r = s(e.replace(B, "$1")); | |
return r[b] ? le(function (e, t, n, i) { | |
for (var o, a = r(e, null, i, []), s = e.length; s--;)(o = a[s]) && (e[s] = !(t[s] = o)) | |
}) : function (e, i, o) { | |
return t[0] = e, r(t, null, o, n), t[0] = null, !n.pop() | |
} | |
}), | |
has: le(function (e) { | |
return function (t) { | |
return 0 < se(e, t).length | |
} | |
}), | |
contains: le(function (e) { | |
return e = e.replace(te, ne), | |
function (t) { | |
return -1 < (t.textContent || i(t)).indexOf(e) | |
} | |
}), | |
lang: le(function (e) { | |
return V.test(e || "") || se.error("unsupported lang: " + e), e = e.replace(te, ne).toLowerCase(), | |
function (t) { | |
var n; | |
do { | |
if (n = g ? 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 === h | |
}, | |
focus: function (e) { | |
return e === d.activeElement && (!d.hasFocus || d.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) | |
}, | |
enabled: ge(!1), | |
disabled: ge(!0), | |
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) | |
if (e.nodeType < 6) return !1; | |
return !0 | |
}, | |
parent: function (e) { | |
return !r.pseudos.empty(e) | |
}, | |
header: function (e) { | |
return J.test(e.nodeName) | |
}, | |
input: function (e) { | |
return Q.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: ve(function () { | |
return [0] | |
}), | |
last: ve(function (e, t) { | |
return [t - 1] | |
}), | |
eq: ve(function (e, t, n) { | |
return [n < 0 ? n + t : n] | |
}), | |
even: ve(function (e, t) { | |
for (var n = 0; n < t; n += 2) e.push(n); | |
return e | |
}), | |
odd: ve(function (e, t) { | |
for (var n = 1; n < t; n += 2) e.push(n); | |
return e | |
}), | |
lt: ve(function (e, t, n) { | |
for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;) e.push(r); | |
return e | |
}), | |
gt: ve(function (e, t, n) { | |
for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r); | |
return e | |
}) | |
} | |
}).pseudos.nth = r.pseudos.eq, { | |
radio: !0, | |
checkbox: !0, | |
file: !0, | |
password: !0, | |
image: !0 | |
}) r.pseudos[t] = de(t); | |
for (t in { | |
submit: !0, | |
reset: !0 | |
}) r.pseudos[t] = he(t); | |
function ye() {} | |
function xe(e) { | |
for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; | |
return r | |
} | |
function be(e, t, n) { | |
var r = t.dir, | |
i = t.next, | |
o = i || r, | |
a = n && "parentNode" === o, | |
s = C++; | |
return t.first ? function (t, n, i) { | |
for (; t = t[r];) | |
if (1 === t.nodeType || a) return e(t, n, i); | |
return !1 | |
} : function (t, n, u) { | |
var l, c, f, p = [T, s]; | |
if (u) { | |
for (; t = t[r];) | |
if ((1 === t.nodeType || a) && e(t, n, u)) return !0 | |
} else | |
for (; t = t[r];) | |
if (1 === t.nodeType || a) | |
if (c = (f = t[b] || (t[b] = {}))[t.uniqueID] || (f[t.uniqueID] = {}), i && i === t.nodeName.toLowerCase()) t = t[r] || t; | |
else { | |
if ((l = c[o]) && l[0] === T && l[1] === s) return p[2] = l[2]; | |
if ((c[o] = p)[2] = e(t, n, u)) return !0 | |
} return !1 | |
} | |
} | |
function we(e) { | |
return 1 < e.length ? function (t, n, r) { | |
for (var i = e.length; i--;) | |
if (!e[i](t, n, r)) return !1; | |
return !0 | |
} : e[0] | |
} | |
function Te(e, t, n, r, i) { | |
for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s))); | |
return a | |
} | |
function Ce(e, t, n, r, i, o) { | |
return r && !r[b] && (r = Ce(r)), i && !i[b] && (i = Ce(i, o)), le(function (o, a, s, u) { | |
var l, c, f, p = [], | |
d = [], | |
h = a.length, | |
g = o || function (e, t, n) { | |
for (var r = 0, i = t.length; r < i; r++) se(e, t[r], n); | |
return n | |
}(t || "*", s.nodeType ? [s] : s, []), | |
v = !e || !o && t ? g : Te(g, p, e, s, u), | |
m = n ? i || (o ? e : h || r) ? [] : a : v; | |
if (n && n(v, m, s, u), r) | |
for (l = Te(m, d), r(l, [], s, u), c = l.length; c--;)(f = l[c]) && (m[d[c]] = !(v[d[c]] = f)); | |
if (o) { | |
if (i || e) { | |
if (i) { | |
for (l = [], c = m.length; c--;)(f = m[c]) && l.push(v[c] = f); | |
i(null, m = [], l, u) | |
} | |
for (c = m.length; c--;)(f = m[c]) && -1 < (l = i ? P(o, f) : p[c]) && (o[l] = !(a[l] = f)) | |
} | |
} else m = Te(m === a ? m.splice(h, m.length) : m), i ? i(null, a, m, u) : H.apply(a, m) | |
}) | |
} | |
function Ee(e) { | |
for (var t, n, i, o = e.length, a = r.relative[e[0].type], s = a || r.relative[" "], u = a ? 1 : 0, c = be(function (e) { | |
return e === t | |
}, s, !0), f = be(function (e) { | |
return -1 < P(t, e) | |
}, s, !0), p = [function (e, n, r) { | |
var i = !a && (r || n !== l) || ((t = n).nodeType ? c(e, n, r) : f(e, n, r)); | |
return t = null, i | |
}]; u < o; u++) | |
if (n = r.relative[e[u].type]) p = [be(we(p), n)]; | |
else { | |
if ((n = r.filter[e[u].type].apply(null, e[u].matches))[b]) { | |
for (i = ++u; i < o && !r.relative[e[i].type]; i++); | |
return Ce(1 < u && we(p), 1 < u && xe(e.slice(0, u - 1).concat({ | |
value: " " === e[u - 2].type ? "*" : "" | |
})).replace(B, "$1"), n, u < i && Ee(e.slice(u, i)), i < o && Ee(e = e.slice(i)), i < o && xe(e)) | |
} | |
p.push(n) | |
} return we(p) | |
} | |
return ye.prototype = r.filters = r.pseudos, r.setFilters = new ye, a = se.tokenize = function (e, t) { | |
var n, i, o, a, s, u, l, c = k[e + " "]; | |
if (c) return t ? 0 : c.slice(0); | |
for (s = e, u = [], l = r.preFilter; s;) { | |
for (a in n && !(i = _.exec(s)) || (i && (s = s.slice(i[0].length) || s), u.push(o = [])), n = !1, (i = z.exec(s)) && (n = i.shift(), o.push({ | |
value: n, | |
type: i[0].replace(B, " ") | |
}), s = s.slice(n.length)), r.filter) !(i = G[a].exec(s)) || l[a] && !(i = l[a](i)) || (n = i.shift(), o.push({ | |
value: n, | |
type: a, | |
matches: i | |
}), s = s.slice(n.length)); | |
if (!n) break | |
} | |
return t ? s.length : s ? se.error(e) : k(e, u).slice(0) | |
}, s = se.compile = function (e, t) { | |
var n, i, o, s, u, c, f = [], | |
h = [], | |
v = S[e + " "]; | |
if (!v) { | |
for (t || (t = a(e)), n = t.length; n--;)(v = Ee(t[n]))[b] ? f.push(v) : h.push(v); | |
(v = S(e, (i = h, s = 0 < (o = f).length, u = 0 < i.length, c = function (e, t, n, a, c) { | |
var f, h, v, m = 0, | |
y = "0", | |
x = e && [], | |
b = [], | |
w = l, | |
C = e || u && r.find.TAG("*", c), | |
E = T += null == w ? 1 : Math.random() || .1, | |
k = C.length; | |
for (c && (l = t === d || t || c); y !== k && null != (f = C[y]); y++) { | |
if (u && f) { | |
for (h = 0, t || f.ownerDocument === d || (p(f), n = !g); v = i[h++];) | |
if (v(f, t || d, n)) { | |
a.push(f); | |
break | |
} c && (T = E) | |
} | |
s && ((f = !v && f) && m--, e && x.push(f)) | |
} | |
if (m += y, s && y !== m) { | |
for (h = 0; v = o[h++];) v(x, b, t, n); | |
if (e) { | |
if (0 < m) | |
for (; y--;) x[y] || b[y] || (b[y] = q.call(a)); | |
b = Te(b) | |
} | |
H.apply(a, b), c && !e && 0 < b.length && 1 < m + o.length && se.uniqueSort(a) | |
} | |
return c && (T = E, l = w), x | |
}, s ? le(c) : c))).selector = e | |
} | |
return v | |
}, u = se.select = function (e, t, n, i) { | |
var o, u, l, c, f, p = "function" == typeof e && e, | |
d = !i && a(e = p.selector || e); | |
if (n = n || [], 1 === d.length) { | |
if (2 < (u = d[0] = d[0].slice(0)).length && "ID" === (l = u[0]).type && 9 === t.nodeType && g && r.relative[u[1].type]) { | |
if (!(t = (r.find.ID(l.matches[0].replace(te, ne), t) || [])[0])) return n; | |
p && (t = t.parentNode), e = e.slice(u.shift().value.length) | |
} | |
for (o = G.needsContext.test(e) ? 0 : u.length; o-- && (l = u[o], !r.relative[c = l.type]);) | |
if ((f = r.find[c]) && (i = f(l.matches[0].replace(te, ne), ee.test(u[0].type) && me(t.parentNode) || t))) { | |
if (u.splice(o, 1), !(e = i.length && xe(u))) return H.apply(n, i), n; | |
break | |
} | |
} | |
return (p || s(e, d))(i, t, !g, n, !t || ee.test(e) && me(t.parentNode) || t), n | |
}, n.sortStable = b.split("").sort(A).join("") === b, n.detectDuplicates = !!f, p(), n.sortDetached = ce(function (e) { | |
return 1 & e.compareDocumentPosition(d.createElement("fieldset")) | |
}), ce(function (e) { | |
return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") | |
}) || fe("type|href|height|width", function (e, t, n) { | |
if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) | |
}), n.attributes && ce(function (e) { | |
return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") | |
}) || fe("value", function (e, t, n) { | |
if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue | |
}), ce(function (e) { | |
return null == e.getAttribute("disabled") | |
}) || fe(R, function (e, t, n) { | |
var r; | |
if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null | |
}), se | |
}(e); | |
w.find = E, w.expr = E.selectors, w.expr[":"] = w.expr.pseudos, w.uniqueSort = w.unique = E.uniqueSort, w.text = E.getText, w.isXMLDoc = E.isXML, w.contains = E.contains, w.escapeSelector = E.escape; | |
var k = function (e, t, n) { | |
for (var r = [], i = void 0 !== n; | |
(e = e[t]) && 9 !== e.nodeType;) | |
if (1 === e.nodeType) { | |
if (i && w(e).is(n)) break; | |
r.push(e) | |
} return r | |
}, | |
S = function (e, t) { | |
for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); | |
return n | |
}, | |
N = w.expr.match.needsContext; | |
function A(e, t) { | |
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() | |
} | |
var D = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; | |
function j(e, t, n) { | |
return g(t) ? w.grep(e, function (e, r) { | |
return !!t.call(e, r, e) !== n | |
}) : t.nodeType ? w.grep(e, function (e) { | |
return e === t !== n | |
}) : "string" != typeof t ? w.grep(e, function (e) { | |
return -1 < u.call(t, e) !== n | |
}) : w.filter(t, e, n) | |
} | |
w.filter = function (e, t, n) { | |
var r = t[0]; | |
return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? w.find.matchesSelector(r, e) ? [r] : [] : w.find.matches(e, w.grep(t, function (e) { | |
return 1 === e.nodeType | |
})) | |
}, w.fn.extend({ | |
find: function (e) { | |
var t, n, r = this.length, | |
i = this; | |
if ("string" != typeof e) return this.pushStack(w(e).filter(function () { | |
for (t = 0; t < r; t++) | |
if (w.contains(i[t], this)) return !0 | |
})); | |
for (n = this.pushStack([]), t = 0; t < r; t++) w.find(e, i[t], n); | |
return 1 < r ? w.uniqueSort(n) : n | |
}, | |
filter: function (e) { | |
return this.pushStack(j(this, e || [], !1)) | |
}, | |
not: function (e) { | |
return this.pushStack(j(this, e || [], !0)) | |
}, | |
is: function (e) { | |
return !!j(this, "string" == typeof e && N.test(e) ? w(e) : e || [], !1).length | |
} | |
}); | |
var q, L = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; | |
(w.fn.init = function (e, t, n) { | |
var i, o; | |
if (!e) return this; | |
if (n = n || q, "string" == typeof e) { | |
if (!(i = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : L.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); | |
if (i[1]) { | |
if (t = t instanceof w ? t[0] : t, w.merge(this, w.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : r, !0)), D.test(i[1]) && w.isPlainObject(t)) | |
for (i in t) g(this[i]) ? this[i](t[i]) : this.attr(i, t[i]); | |
return this | |
} | |
return (o = r.getElementById(i[2])) && (this[0] = o, this.length = 1), this | |
} | |
return e.nodeType ? (this[0] = e, this.length = 1, this) : g(e) ? void 0 !== n.ready ? n.ready(e) : e(w) : w.makeArray(e, this) | |
}).prototype = w.fn, q = w(r); | |
var H = /^(?:parents|prev(?:Until|All))/, | |
O = { | |
children: !0, | |
contents: !0, | |
next: !0, | |
prev: !0 | |
}; | |
function P(e, t) { | |
for (; | |
(e = e[t]) && 1 !== e.nodeType;); | |
return e | |
} | |
w.fn.extend({ | |
has: function (e) { | |
var t = w(e, this), | |
n = t.length; | |
return this.filter(function () { | |
for (var e = 0; e < n; e++) | |
if (w.contains(this, t[e])) return !0 | |
}) | |
}, | |
closest: function (e, t) { | |
var n, r = 0, | |
i = this.length, | |
o = [], | |
a = "string" != typeof e && w(e); | |
if (!N.test(e)) | |
for (; r < i; r++) | |
for (n = this[r]; n && n !== t; n = n.parentNode) | |
if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && w.find.matchesSelector(n, e))) { | |
o.push(n); | |
break | |
} return this.pushStack(1 < o.length ? w.uniqueSort(o) : o) | |
}, | |
index: function (e) { | |
return e ? "string" == typeof e ? u.call(w(e), this[0]) : u.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 | |
}, | |
add: function (e, t) { | |
return this.pushStack(w.uniqueSort(w.merge(this.get(), w(e, t)))) | |
}, | |
addBack: function (e) { | |
return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) | |
} | |
}), w.each({ | |
parent: function (e) { | |
var t = e.parentNode; | |
return t && 11 !== t.nodeType ? t : null | |
}, | |
parents: function (e) { | |
return k(e, "parentNode") | |
}, | |
parentsUntil: function (e, t, n) { | |
return k(e, "parentNode", n) | |
}, | |
next: function (e) { | |
return P(e, "nextSibling") | |
}, | |
prev: function (e) { | |
return P(e, "previousSibling") | |
}, | |
nextAll: function (e) { | |
return k(e, "nextSibling") | |
}, | |
prevAll: function (e) { | |
return k(e, "previousSibling") | |
}, | |
nextUntil: function (e, t, n) { | |
return k(e, "nextSibling", n) | |
}, | |
prevUntil: function (e, t, n) { | |
return k(e, "previousSibling", n) | |
}, | |
siblings: function (e) { | |
return S((e.parentNode || {}).firstChild, e) | |
}, | |
children: function (e) { | |
return S(e.firstChild) | |
}, | |
contents: function (e) { | |
return void 0 !== e.contentDocument ? e.contentDocument : (A(e, "template") && (e = e.content || e), w.merge([], e.childNodes)) | |
} | |
}, function (e, t) { | |
w.fn[e] = function (n, r) { | |
var i = w.map(this, t, n); | |
return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = w.filter(r, i)), 1 < this.length && (O[e] || w.uniqueSort(i), H.test(e) && i.reverse()), this.pushStack(i) | |
} | |
}); | |
var R = /[^\x20\t\r\n\f]+/g; | |
function M(e) { | |
return e | |
} | |
function I(e) { | |
throw e | |
} | |
function $(e, t, n, r) { | |
var i; | |
try { | |
e && g(i = e.promise) ? i.call(e).done(t).fail(n) : e && g(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r)) | |
} catch (e) { | |
n.apply(void 0, [e]) | |
} | |
} | |
w.Callbacks = function (e) { | |
var t, n; | |
e = "string" == typeof e ? (t = e, n = {}, w.each(t.match(R) || [], function (e, t) { | |
n[t] = !0 | |
}), n) : w.extend({}, e); | |
var r, i, o, a, s = [], | |
u = [], | |
l = -1, | |
c = function () { | |
for (a = a || e.once, o = r = !0; u.length; l = -1) | |
for (i = u.shift(); ++l < s.length;) !1 === s[l].apply(i[0], i[1]) && e.stopOnFalse && (l = s.length, i = !1); | |
e.memory || (i = !1), r = !1, a && (s = i ? [] : "") | |
}, | |
f = { | |
add: function () { | |
return s && (i && !r && (l = s.length - 1, u.push(i)), function t(n) { | |
w.each(n, function (n, r) { | |
g(r) ? e.unique && f.has(r) || s.push(r) : r && r.length && "string" !== x(r) && t(r) | |
}) | |
}(arguments), i && !r && c()), this | |
}, | |
remove: function () { | |
return w.each(arguments, function (e, t) { | |
for (var n; - 1 < (n = w.inArray(t, s, n));) s.splice(n, 1), n <= l && l-- | |
}), this | |
}, | |
has: function (e) { | |
return e ? -1 < w.inArray(e, s) : 0 < s.length | |
}, | |
empty: function () { | |
return s && (s = []), this | |
}, | |
disable: function () { | |
return a = u = [], s = i = "", this | |
}, | |
disabled: function () { | |
return !s | |
}, | |
lock: function () { | |
return a = u = [], i || r || (s = i = ""), this | |
}, | |
locked: function () { | |
return !!a | |
}, | |
fireWith: function (e, t) { | |
return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), r || c()), this | |
}, | |
fire: function () { | |
return f.fireWith(this, arguments), this | |
}, | |
fired: function () { | |
return !!o | |
} | |
}; | |
return f | |
}, w.extend({ | |
Deferred: function (t) { | |
var n = [ | |
["notify", "progress", w.Callbacks("memory"), w.Callbacks("memory"), 2], | |
["resolve", "done", w.Callbacks("once memory"), w.Callbacks("once memory"), 0, "resolved"], | |
["reject", "fail", w.Callbacks("once memory"), w.Callbacks("once memory"), 1, "rejected"] | |
], | |
r = "pending", | |
i = { | |
state: function () { | |
return r | |
}, | |
always: function () { | |
return o.done(arguments).fail(arguments), this | |
}, | |
catch: function (e) { | |
return i.then(null, e) | |
}, | |
pipe: function () { | |
var e = arguments; | |
return w.Deferred(function (t) { | |
w.each(n, function (n, r) { | |
var i = g(e[r[4]]) && e[r[4]]; | |
o[r[1]](function () { | |
var e = i && i.apply(this, arguments); | |
e && g(e.promise) ? e.promise().progress(t.notify).done(t.resolve).fail(t.reject) : t[r[0] + "With"](this, i ? [e] : arguments) | |
}) | |
}), e = null | |
}).promise() | |
}, | |
then: function (t, r, i) { | |
var o = 0; | |
function a(t, n, r, i) { | |
return function () { | |
var s = this, | |
u = arguments, | |
l = function () { | |
var e, l; | |
if (!(t < o)) { | |
if ((e = r.apply(s, u)) === n.promise()) throw new TypeError("Thenable self-resolution"); | |
l = e && ("object" == typeof e || "function" == typeof e) && e.then, g(l) ? i ? l.call(e, a(o, n, M, i), a(o, n, I, i)) : (o++, l.call(e, a(o, n, M, i), a(o, n, I, i), a(o, n, M, n.notifyWith))) : (r !== M && (s = void 0, u = [e]), (i || n.resolveWith)(s, u)) | |
} | |
}, | |
c = i ? l : function () { | |
try { | |
l() | |
} catch (e) { | |
w.Deferred.exceptionHook && w.Deferred.exceptionHook(e, c.stackTrace), o <= t + 1 && (r !== I && (s = void 0, u = [e]), n.rejectWith(s, u)) | |
} | |
}; | |
t ? c() : (w.Deferred.getStackHook && (c.stackTrace = w.Deferred.getStackHook()), e.setTimeout(c)) | |
} | |
} | |
return w.Deferred(function (e) { | |
n[0][3].add(a(0, e, g(i) ? i : M, e.notifyWith)), n[1][3].add(a(0, e, g(t) ? t : M)), n[2][3].add(a(0, e, g(r) ? r : I)) | |
}).promise() | |
}, | |
promise: function (e) { | |
return null != e ? w.extend(e, i) : i | |
} | |
}, | |
o = {}; | |
return w.each(n, function (e, t) { | |
var a = t[2], | |
s = t[5]; | |
i[t[1]] = a.add, s && a.add(function () { | |
r = s | |
}, n[3 - e][2].disable, n[3 - e][3].disable, n[0][2].lock, n[0][3].lock), a.add(t[3].fire), o[t[0]] = function () { | |
return o[t[0] + "With"](this === o ? void 0 : this, arguments), this | |
}, o[t[0] + "With"] = a.fireWith | |
}), i.promise(o), t && t.call(o, o), o | |
}, | |
when: function (e) { | |
var t = arguments.length, | |
n = t, | |
r = Array(n), | |
i = o.call(arguments), | |
a = w.Deferred(), | |
s = function (e) { | |
return function (n) { | |
r[e] = this, i[e] = 1 < arguments.length ? o.call(arguments) : n, --t || a.resolveWith(r, i) | |
} | |
}; | |
if (t <= 1 && ($(e, a.done(s(n)).resolve, a.reject, !t), "pending" === a.state() || g(i[n] && i[n].then))) return a.then(); | |
for (; n--;) $(i[n], s(n), a.reject); | |
return a.promise() | |
} | |
}); | |
var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; | |
w.Deferred.exceptionHook = function (t, n) { | |
e.console && e.console.warn && t && W.test(t.name) && e.console.warn("jQuery.Deferred exception: " + t.message, t.stack, n) | |
}, w.readyException = function (t) { | |
e.setTimeout(function () { | |
throw t | |
}) | |
}; | |
var F = w.Deferred(); | |
function B() { | |
r.removeEventListener("DOMContentLoaded", B), e.removeEventListener("load", B), w.ready() | |
} | |
w.fn.ready = function (e) { | |
return F.then(e).catch(function (e) { | |
w.readyException(e) | |
}), this | |
}, w.extend({ | |
isReady: !1, | |
readyWait: 1, | |
ready: function (e) { | |
(!0 === e ? --w.readyWait : w.isReady) || (w.isReady = !0) !== e && 0 < --w.readyWait || F.resolveWith(r, [w]) | |
} | |
}), w.ready.then = F.then, "complete" === r.readyState || "loading" !== r.readyState && !r.documentElement.doScroll ? e.setTimeout(w.ready) : (r.addEventListener("DOMContentLoaded", B), e.addEventListener("load", B)); | |
var _ = function (e, t, n, r, i, o, a) { | |
var s = 0, | |
u = e.length, | |
l = null == n; | |
if ("object" === x(n)) | |
for (s in i = !0, n) _(e, t, s, n[s], !0, o, a); | |
else if (void 0 !== r && (i = !0, g(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) { | |
return l.call(w(e), n) | |
})), t)) | |
for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); | |
return i ? e : l ? t.call(e) : u ? t(e[0], n) : o | |
}, | |
z = /^-ms-/, | |
U = /-([a-z])/g; | |
function X(e, t) { | |
return t.toUpperCase() | |
} | |
function V(e) { | |
return e.replace(z, "ms-").replace(U, X) | |
} | |
var G = function (e) { | |
return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType | |
}; | |
function Y() { | |
this.expando = w.expando + Y.uid++ | |
} | |
Y.uid = 1, Y.prototype = { | |
cache: function (e) { | |
var t = e[this.expando]; | |
return t || (t = {}, G(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { | |
value: t, | |
configurable: !0 | |
}))), t | |
}, | |
set: function (e, t, n) { | |
var r, i = this.cache(e); | |
if ("string" == typeof t) i[V(t)] = n; | |
else | |
for (r in t) i[V(r)] = t[r]; | |
return i | |
}, | |
get: function (e, t) { | |
return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][V(t)] | |
}, | |
access: function (e, t, n) { | |
return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) | |
}, | |
remove: function (e, t) { | |
var n, r = e[this.expando]; | |
if (void 0 !== r) { | |
if (void 0 !== t) { | |
n = (t = Array.isArray(t) ? t.map(V) : (t = V(t)) in r ? [t] : t.match(R) || []).length; | |
for (; n--;) delete r[t[n]] | |
}(void 0 === t || w.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) | |
} | |
}, | |
hasData: function (e) { | |
var t = e[this.expando]; | |
return void 0 !== t && !w.isEmptyObject(t) | |
} | |
}; | |
var Q = new Y, | |
J = new Y, | |
K = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, | |
Z = /[A-Z]/g; | |
function ee(e, t, n) { | |
var r, i; | |
if (void 0 === n && 1 === e.nodeType) | |
if (r = "data-" + t.replace(Z, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) { | |
try { | |
n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : K.test(i) ? JSON.parse(i) : i) | |
} catch (e) {} | |
J.set(e, t, n) | |
} else n = void 0; | |
return n | |
} | |
w.extend({ | |
hasData: function (e) { | |
return J.hasData(e) || Q.hasData(e) | |
}, | |
data: function (e, t, n) { | |
return J.access(e, t, n) | |
}, | |
removeData: function (e, t) { | |
J.remove(e, t) | |
}, | |
_data: function (e, t, n) { | |
return Q.access(e, t, n) | |
}, | |
_removeData: function (e, t) { | |
Q.remove(e, t) | |
} | |
}), w.fn.extend({ | |
data: function (e, t) { | |
var n, r, i, o = this[0], | |
a = o && o.attributes; | |
if (void 0 === e) { | |
if (this.length && (i = J.get(o), 1 === o.nodeType && !Q.get(o, "hasDataAttrs"))) { | |
for (n = a.length; n--;) a[n] && 0 === (r = a[n].name).indexOf("data-") && (r = V(r.slice(5)), ee(o, r, i[r])); | |
Q.set(o, "hasDataAttrs", !0) | |
} | |
return i | |
} | |
return "object" == typeof e ? this.each(function () { | |
J.set(this, e) | |
}) : _(this, function (t) { | |
var n; | |
if (o && void 0 === t) return void 0 !== (n = J.get(o, e)) ? n : void 0 !== (n = ee(o, e)) ? n : void 0; | |
this.each(function () { | |
J.set(this, e, t) | |
}) | |
}, null, t, 1 < arguments.length, null, !0) | |
}, | |
removeData: function (e) { | |
return this.each(function () { | |
J.remove(this, e) | |
}) | |
} | |
}), w.extend({ | |
queue: function (e, t, n) { | |
var r; | |
if (e) return t = (t || "fx") + "queue", r = Q.get(e, t), n && (!r || Array.isArray(n) ? r = Q.access(e, t, w.makeArray(n)) : r.push(n)), r || [] | |
}, | |
dequeue: function (e, t) { | |
t = t || "fx"; | |
var n = w.queue(e, t), | |
r = n.length, | |
i = n.shift(), | |
o = w._queueHooks(e, t); | |
"inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () { | |
w.dequeue(e, t) | |
}, o)), !r && o && o.empty.fire() | |
}, | |
_queueHooks: function (e, t) { | |
var n = t + "queueHooks"; | |
return Q.get(e, n) || Q.access(e, n, { | |
empty: w.Callbacks("once memory").add(function () { | |
Q.remove(e, [t + "queue", n]) | |
}) | |
}) | |
} | |
}), w.fn.extend({ | |
queue: function (e, t) { | |
var n = 2; | |
return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? w.queue(this[0], e) : void 0 === t ? this : this.each(function () { | |
var n = w.queue(this, e, t); | |
w._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && w.dequeue(this, e) | |
}) | |
}, | |
dequeue: function (e) { | |
return this.each(function () { | |
w.dequeue(this, e) | |
}) | |
}, | |
clearQueue: function (e) { | |
return this.queue(e || "fx", []) | |
}, | |
promise: function (e, t) { | |
var n, r = 1, | |
i = w.Deferred(), | |
o = this, | |
a = this.length, | |
s = function () { | |
--r || i.resolveWith(o, [o]) | |
}; | |
for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(n = Q.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); | |
return s(), i.promise(t) | |
} | |
}); | |
var te = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, | |
ne = new RegExp("^(?:([+-])=|)(" + te + ")([a-z%]*)$", "i"), | |
re = ["Top", "Right", "Bottom", "Left"], | |
ie = r.documentElement, | |
oe = function (e) { | |
return w.contains(e.ownerDocument, e) | |
}, | |
ae = { | |
composed: !0 | |
}; | |
ie.getRootNode && (oe = function (e) { | |
return w.contains(e.ownerDocument, e) || e.getRootNode(ae) === e.ownerDocument | |
}); | |
var se = function (e, t) { | |
return "none" === (e = t || e).style.display || "" === e.style.display && oe(e) && "none" === w.css(e, "display") | |
}, | |
ue = function (e, t, n, r) { | |
var i, o, a = {}; | |
for (o in t) a[o] = e.style[o], e.style[o] = t[o]; | |
for (o in i = n.apply(e, r || []), t) e.style[o] = a[o]; | |
return i | |
}; | |
function le(e, t, n, r) { | |
var i, o, a = 20, | |
s = r ? function () { | |
return r.cur() | |
} : function () { | |
return w.css(e, t, "") | |
}, | |
u = s(), | |
l = n && n[3] || (w.cssNumber[t] ? "" : "px"), | |
c = e.nodeType && (w.cssNumber[t] || "px" !== l && +u) && ne.exec(w.css(e, t)); | |
if (c && c[3] !== l) { | |
for (u /= 2, l = l || c[3], c = +u || 1; a--;) w.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o; | |
c *= 2, w.style(e, t, c + l), n = n || [] | |
} | |
return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i | |
} | |
var ce = {}; | |
function fe(e, t) { | |
for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)(r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = Q.get(r, "display") || null, l[c] || (r.style.display = "")), "" === r.style.display && se(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ce[s]) || (o = a.body.appendChild(a.createElement(s)), u = w.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ce[s] = u)))) : "none" !== n && (l[c] = "none", Q.set(r, "display", n))); | |
for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]); | |
return e | |
} | |
w.fn.extend({ | |
show: function () { | |
return fe(this, !0) | |
}, | |
hide: function () { | |
return fe(this) | |
}, | |
toggle: function (e) { | |
return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () { | |
se(this) ? w(this).show() : w(this).hide() | |
}) | |
} | |
}); | |
var pe = /^(?:checkbox|radio)$/i, | |
de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, | |
he = /^$|^module$|\/(?:java|ecma)script/i, | |
ge = { | |
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, "", ""] | |
}; | |
function ve(e, t) { | |
var n; | |
return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? w.merge([e], n) : n | |
} | |
function me(e, t) { | |
for (var n = 0, r = e.length; n < r; n++) Q.set(e[n], "globalEval", !t || Q.get(t[n], "globalEval")) | |
} | |
ge.optgroup = ge.option, ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td; | |
var ye, xe, be = /<|&#?\w+;/; | |
function we(e, t, n, r, i) { | |
for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++) | |
if ((o = e[d]) || 0 === o) | |
if ("object" === x(o)) w.merge(p, o.nodeType ? [o] : o); | |
else if (be.test(o)) { | |
for (a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + w.htmlPrefilter(o) + u[2], c = u[0]; c--;) a = a.lastChild; | |
w.merge(p, a.childNodes), (a = f.firstChild).textContent = "" | |
} else p.push(t.createTextNode(o)); | |
for (f.textContent = "", d = 0; o = p[d++];) | |
if (r && -1 < w.inArray(o, r)) i && i.push(o); | |
else if (l = oe(o), a = ve(f.appendChild(o), "script"), l && me(a), n) | |
for (c = 0; o = a[c++];) he.test(o.type || "") && n.push(o); | |
return f | |
} | |
ye = r.createDocumentFragment().appendChild(r.createElement("div")), (xe = r.createElement("input")).setAttribute("type", "radio"), xe.setAttribute("checked", "checked"), xe.setAttribute("name", "t"), ye.appendChild(xe), h.checkClone = ye.cloneNode(!0).cloneNode(!0).lastChild.checked, ye.innerHTML = "<textarea>x</textarea>", h.noCloneChecked = !!ye.cloneNode(!0).lastChild.defaultValue; | |
var Te = /^key/, | |
Ce = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, | |
Ee = /^([^.]*)(?:\.(.+)|)/; | |
function ke() { | |
return !0 | |
} | |
function Se() { | |
return !1 | |
} | |
function Ne(e, t) { | |
return e === function () { | |
try { | |
return r.activeElement | |
} catch (e) {} | |
}() == ("focus" === t) | |
} | |
function Ae(e, t, n, r, i, o) { | |
var a, s; | |
if ("object" == typeof t) { | |
for (s in "string" != typeof n && (r = r || n, n = void 0), t) Ae(e, s, n, r, t[s], o); | |
return e | |
} | |
if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = Se; | |
else if (!i) return e; | |
return 1 === o && (a = i, (i = function (e) { | |
return w().off(e), a.apply(this, arguments) | |
}).guid = a.guid || (a.guid = w.guid++)), e.each(function () { | |
w.event.add(this, t, i, r, n) | |
}) | |
} | |
function De(e, t, n) { | |
n ? (Q.set(e, t, !1), w.event.add(e, t, { | |
namespace: !1, | |
handler: function (e) { | |
var r, i, a = Q.get(this, t); | |
if (1 & e.isTrigger && this[t]) { | |
if (a.length)(w.event.special[t] || {}).delegateType && e.stopPropagation(); | |
else if (a = o.call(arguments), Q.set(this, t, a), r = n(this, t), this[t](), a !== (i = Q.get(this, t)) || r ? Q.set(this, t, !1) : i = {}, a !== i) return e.stopImmediatePropagation(), e.preventDefault(), i.value | |
} else a.length && (Q.set(this, t, { | |
value: w.event.trigger(w.extend(a[0], w.Event.prototype), a.slice(1), this) | |
}), e.stopImmediatePropagation()) | |
} | |
})) : void 0 === Q.get(e, t) && w.event.add(e, t, ke) | |
} | |
w.event = { | |
global: {}, | |
add: function (e, t, n, r, i) { | |
var o, a, s, u, l, c, f, p, d, h, g, v = Q.get(e); | |
if (v) | |
for (n.handler && (n = (o = n).handler, i = o.selector), i && w.find.matchesSelector(ie, i), n.guid || (n.guid = w.guid++), (u = v.events) || (u = v.events = {}), (a = v.handle) || (a = v.handle = function (t) { | |
return void 0 !== w && w.event.triggered !== t.type ? w.event.dispatch.apply(e, arguments) : void 0 | |
}), l = (t = (t || "").match(R) || [""]).length; l--;) d = g = (s = Ee.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = w.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = w.event.special[d] || {}, c = w.extend({ | |
type: d, | |
origType: g, | |
data: r, | |
handler: n, | |
guid: n.guid, | |
selector: i, | |
needsContext: i && w.expr.match.needsContext.test(i), | |
namespace: h.join(".") | |
}, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(e, r, h, a) || e.addEventListener && e.addEventListener(d, a)), f.add && (f.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), w.event.global[d] = !0) | |
}, | |
remove: function (e, t, n, r, i) { | |
var o, a, s, u, l, c, f, p, d, h, g, v = Q.hasData(e) && Q.get(e); | |
if (v && (u = v.events)) { | |
for (l = (t = (t || "").match(R) || [""]).length; l--;) | |
if (d = g = (s = Ee.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) { | |
for (f = w.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length; o--;) c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c)); | |
a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || w.removeEvent(e, d, v.handle), delete u[d]) | |
} else | |
for (d in u) w.event.remove(e, d + t[l], n, r, !0); | |
w.isEmptyObject(u) && Q.remove(e, "handle events") | |
} | |
}, | |
dispatch: function (e) { | |
var t, n, r, i, o, a, s = w.event.fix(e), | |
u = new Array(arguments.length), | |
l = (Q.get(this, "events") || {})[s.type] || [], | |
c = w.event.special[s.type] || {}; | |
for (u[0] = s, t = 1; t < arguments.length; t++) u[t] = arguments[t]; | |
if (s.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, s)) { | |
for (a = w.event.handlers.call(this, s, l), t = 0; | |
(i = a[t++]) && !s.isPropagationStopped();) | |
for (s.currentTarget = i.elem, n = 0; | |
(o = i.handlers[n++]) && !s.isImmediatePropagationStopped();) s.rnamespace && !1 !== o.namespace && !s.rnamespace.test(o.namespace) || (s.handleObj = o, s.data = o.data, void 0 !== (r = ((w.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, u)) && !1 === (s.result = r) && (s.preventDefault(), s.stopPropagation())); | |
return c.postDispatch && c.postDispatch.call(this, s), s.result | |
} | |
}, | |
handlers: function (e, t) { | |
var n, r, i, o, a, s = [], | |
u = t.delegateCount, | |
l = e.target; | |
if (u && l.nodeType && !("click" === e.type && 1 <= e.button)) | |
for (; l !== this; l = l.parentNode || this) | |
if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) { | |
for (o = [], a = {}, n = 0; n < u; n++) void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < w(i, this).index(l) : w.find(i, this, null, [l]).length), a[i] && o.push(r); | |
o.length && s.push({ | |
elem: l, | |
handlers: o | |
}) | |
} return l = this, u < t.length && s.push({ | |
elem: l, | |
handlers: t.slice(u) | |
}), s | |
}, | |
addProp: function (e, t) { | |
Object.defineProperty(w.Event.prototype, e, { | |
enumerable: !0, | |
configurable: !0, | |
get: g(t) ? function () { | |
if (this.originalEvent) return t(this.originalEvent) | |
} : function () { | |
if (this.originalEvent) return this.originalEvent[e] | |
}, | |
set: function (t) { | |
Object.defineProperty(this, e, { | |
enumerable: !0, | |
configurable: !0, | |
writable: !0, | |
value: t | |
}) | |
} | |
}) | |
}, | |
fix: function (e) { | |
return e[w.expando] ? e : new w.Event(e) | |
}, | |
special: { | |
load: { | |
noBubble: !0 | |
}, | |
click: { | |
setup: function (e) { | |
var t = this || e; | |
return pe.test(t.type) && t.click && A(t, "input") && De(t, "click", ke), !1 | |
}, | |
trigger: function (e) { | |
var t = this || e; | |
return pe.test(t.type) && t.click && A(t, "input") && De(t, "click"), !0 | |
}, | |
_default: function (e) { | |
var t = e.target; | |
return pe.test(t.type) && t.click && A(t, "input") && Q.get(t, "click") || A(t, "a") | |
} | |
}, | |
beforeunload: { | |
postDispatch: function (e) { | |
void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) | |
} | |
} | |
} | |
}, w.removeEvent = function (e, t, n) { | |
e.removeEventListener && e.removeEventListener(t, n) | |
}, w.Event = function (e, t) { | |
if (!(this instanceof w.Event)) return new w.Event(e, t); | |
e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? ke : Se, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && w.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[w.expando] = !0 | |
}, w.Event.prototype = { | |
constructor: w.Event, | |
isDefaultPrevented: Se, | |
isPropagationStopped: Se, | |
isImmediatePropagationStopped: Se, | |
isSimulated: !1, | |
preventDefault: function () { | |
var e = this.originalEvent; | |
this.isDefaultPrevented = ke, e && !this.isSimulated && e.preventDefault() | |
}, | |
stopPropagation: function () { | |
var e = this.originalEvent; | |
this.isPropagationStopped = ke, e && !this.isSimulated && e.stopPropagation() | |
}, | |
stopImmediatePropagation: function () { | |
var e = this.originalEvent; | |
this.isImmediatePropagationStopped = ke, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() | |
} | |
}, w.each({ | |
altKey: !0, | |
bubbles: !0, | |
cancelable: !0, | |
changedTouches: !0, | |
ctrlKey: !0, | |
detail: !0, | |
eventPhase: !0, | |
metaKey: !0, | |
pageX: !0, | |
pageY: !0, | |
shiftKey: !0, | |
view: !0, | |
char: !0, | |
code: !0, | |
charCode: !0, | |
key: !0, | |
keyCode: !0, | |
button: !0, | |
buttons: !0, | |
clientX: !0, | |
clientY: !0, | |
offsetX: !0, | |
offsetY: !0, | |
pointerId: !0, | |
pointerType: !0, | |
screenX: !0, | |
screenY: !0, | |
targetTouches: !0, | |
toElement: !0, | |
touches: !0, | |
which: function (e) { | |
var t = e.button; | |
return null == e.which && Te.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && Ce.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which | |
} | |
}, w.event.addProp), w.each({ | |
focus: "focusin", | |
blur: "focusout" | |
}, function (e, t) { | |
w.event.special[e] = { | |
setup: function () { | |
return De(this, e, Ne), !1 | |
}, | |
trigger: function () { | |
return De(this, e), !0 | |
}, | |
delegateType: t | |
} | |
}), w.each({ | |
mouseenter: "mouseover", | |
mouseleave: "mouseout", | |
pointerenter: "pointerover", | |
pointerleave: "pointerout" | |
}, function (e, t) { | |
w.event.special[e] = { | |
delegateType: t, | |
bindType: t, | |
handle: function (e) { | |
var n, r = e.relatedTarget, | |
i = e.handleObj; | |
return r && (r === this || w.contains(this, r)) || (e.type = i.origType, n = i.handler.apply(this, arguments), e.type = t), n | |
} | |
} | |
}), w.fn.extend({ | |
on: function (e, t, n, r) { | |
return Ae(this, e, t, n, r) | |
}, | |
one: function (e, t, n, r) { | |
return Ae(this, e, t, n, r, 1) | |
}, | |
off: function (e, t, n) { | |
var r, i; | |
if (e && e.preventDefault && e.handleObj) return r = e.handleObj, w(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; | |
if ("object" == typeof e) { | |
for (i in e) this.off(i, t, e[i]); | |
return this | |
} | |
return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Se), this.each(function () { | |
w.event.remove(this, e, n, t) | |
}) | |
} | |
}); | |
var je = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, | |
qe = /<script|<style|<link/i, | |
Le = /checked\s*(?:[^=]|=\s*.checked.)/i, | |
He = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; | |
function Oe(e, t) { | |
return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && w(e).children("tbody")[0] || e | |
} | |
function Pe(e) { | |
return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e | |
} | |
function Re(e) { | |
return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e | |
} | |
function Me(e, t) { | |
var n, r, i, o, a, s, u, l; | |
if (1 === t.nodeType) { | |
if (Q.hasData(e) && (o = Q.access(e), a = Q.set(t, o), l = o.events)) | |
for (i in delete a.handle, a.events = {}, l) | |
for (n = 0, r = l[i].length; n < r; n++) w.event.add(t, i, l[i][n]); | |
J.hasData(e) && (s = J.access(e), u = w.extend({}, s), J.set(t, u)) | |
} | |
} | |
function Ie(e, t, n, r) { | |
t = a.apply([], t); | |
var i, o, s, u, l, c, f = 0, | |
p = e.length, | |
d = p - 1, | |
v = t[0], | |
m = g(v); | |
if (m || 1 < p && "string" == typeof v && !h.checkClone && Le.test(v)) return e.each(function (i) { | |
var o = e.eq(i); | |
m && (t[0] = v.call(this, i, o.html())), Ie(o, t, n, r) | |
}); | |
if (p && (o = (i = we(t, e[0].ownerDocument, !1, e, r)).firstChild, 1 === i.childNodes.length && (i = o), o || r)) { | |
for (u = (s = w.map(ve(i, "script"), Pe)).length; f < p; f++) l = i, f !== d && (l = w.clone(l, !0, !0), u && w.merge(s, ve(l, "script"))), n.call(e[f], l, f); | |
if (u) | |
for (c = s[s.length - 1].ownerDocument, w.map(s, Re), f = 0; f < u; f++) l = s[f], he.test(l.type || "") && !Q.access(l, "globalEval") && w.contains(c, l) && (l.src && "module" !== (l.type || "").toLowerCase() ? w._evalUrl && !l.noModule && w._evalUrl(l.src, { | |
nonce: l.nonce || l.getAttribute("nonce") | |
}) : y(l.textContent.replace(He, ""), l, c)) | |
} | |
return e | |
} | |
function $e(e, t, n) { | |
for (var r, i = t ? w.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || w.cleanData(ve(r)), r.parentNode && (n && oe(r) && me(ve(r, "script")), r.parentNode.removeChild(r)); | |
return e | |
} | |
w.extend({ | |
htmlPrefilter: function (e) { | |
return e.replace(je, "<$1></$2>") | |
}, | |
clone: function (e, t, n) { | |
var r, i, o, a, s, u, l, c = e.cloneNode(!0), | |
f = oe(e); | |
if (!(h.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || w.isXMLDoc(e))) | |
for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++) s = o[r], "input" === (l = (u = a[r]).nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue); | |
if (t) | |
if (n) | |
for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++) Me(o[r], a[r]); | |
else Me(e, c); | |
return 0 < (a = ve(c, "script")).length && me(a, !f && ve(e, "script")), c | |
}, | |
cleanData: function (e) { | |
for (var t, n, r, i = w.event.special, o = 0; void 0 !== (n = e[o]); o++) | |
if (G(n)) { | |
if (t = n[Q.expando]) { | |
if (t.events) | |
for (r in t.events) i[r] ? w.event.remove(n, r) : w.removeEvent(n, r, t.handle); | |
n[Q.expando] = void 0 | |
} | |
n[J.expando] && (n[J.expando] = void 0) | |
} | |
} | |
}), w.fn.extend({ | |
detach: function (e) { | |
return $e(this, e, !0) | |
}, | |
remove: function (e) { | |
return $e(this, e) | |
}, | |
text: function (e) { | |
return _(this, function (e) { | |
return void 0 === e ? w.text(this) : this.empty().each(function () { | |
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) | |
}) | |
}, null, e, arguments.length) | |
}, | |
append: function () { | |
return Ie(this, arguments, function (e) { | |
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Oe(this, e).appendChild(e) | |
}) | |
}, | |
prepend: function () { | |
return Ie(this, arguments, function (e) { | |
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { | |
var t = Oe(this, e); | |
t.insertBefore(e, t.firstChild) | |
} | |
}) | |
}, | |
before: function () { | |
return Ie(this, arguments, function (e) { | |
this.parentNode && this.parentNode.insertBefore(e, this) | |
}) | |
}, | |
after: function () { | |
return Ie(this, arguments, function (e) { | |
this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) | |
}) | |
}, | |
empty: function () { | |
for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (w.cleanData(ve(e, !1)), e.textContent = ""); | |
return this | |
}, | |
clone: function (e, t) { | |
return e = null != e && e, t = null == t ? e : t, this.map(function () { | |
return w.clone(this, e, t) | |
}) | |
}, | |
html: function (e) { | |
return _(this, function (e) { | |
var t = this[0] || {}, | |
n = 0, | |
r = this.length; | |
if (void 0 === e && 1 === t.nodeType) return t.innerHTML; | |
if ("string" == typeof e && !qe.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) { | |
e = w.htmlPrefilter(e); | |
try { | |
for (; n < r; n++) 1 === (t = this[n] || {}).nodeType && (w.cleanData(ve(t, !1)), t.innerHTML = e); | |
t = 0 | |
} catch (e) {} | |
} | |
t && this.empty().append(e) | |
}, null, e, arguments.length) | |
}, | |
replaceWith: function () { | |
var e = []; | |
return Ie(this, arguments, function (t) { | |
var n = this.parentNode; | |
w.inArray(this, e) < 0 && (w.cleanData(ve(this)), n && n.replaceChild(t, this)) | |
}, e) | |
} | |
}), w.each({ | |
appendTo: "append", | |
prependTo: "prepend", | |
insertBefore: "before", | |
insertAfter: "after", | |
replaceAll: "replaceWith" | |
}, function (e, t) { | |
w.fn[e] = function (e) { | |
for (var n, r = [], i = w(e), o = i.length - 1, a = 0; a <= o; a++) n = a === o ? this : this.clone(!0), w(i[a])[t](n), s.apply(r, n.get()); | |
return this.pushStack(r) | |
} | |
}); | |
var We = new RegExp("^(" + te + ")(?!px)[a-z%]+$", "i"), | |
Fe = function (t) { | |
var n = t.ownerDocument.defaultView; | |
return n && n.opener || (n = e), n.getComputedStyle(t) | |
}, | |
Be = new RegExp(re.join("|"), "i"); | |
function _e(e, t, n) { | |
var r, i, o, a, s = e.style; | |
return (n = n || Fe(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || oe(e) || (a = w.style(e, t)), !h.pixelBoxStyles() && We.test(a) && Be.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a | |
} | |
function ze(e, t) { | |
return { | |
get: function () { | |
if (!e()) return (this.get = t).apply(this, arguments); | |
delete this.get | |
} | |
} | |
}! function () { | |
function t() { | |
if (c) { | |
l.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", c.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", ie.appendChild(l).appendChild(c); | |
var t = e.getComputedStyle(c); | |
i = "1%" !== t.top, u = 12 === n(t.marginLeft), c.style.right = "60%", s = 36 === n(t.right), o = 36 === n(t.width), c.style.position = "absolute", a = 12 === n(c.offsetWidth / 3), ie.removeChild(l), c = null | |
} | |
} | |
function n(e) { | |
return Math.round(parseFloat(e)) | |
} | |
var i, o, a, s, u, l = r.createElement("div"), | |
c = r.createElement("div"); | |
c.style && (c.style.backgroundClip = "content-box", c.cloneNode(!0).style.backgroundClip = "", h.clearCloneStyle = "content-box" === c.style.backgroundClip, w.extend(h, { | |
boxSizingReliable: function () { | |
return t(), o | |
}, | |
pixelBoxStyles: function () { | |
return t(), s | |
}, | |
pixelPosition: function () { | |
return t(), i | |
}, | |
reliableMarginLeft: function () { | |
return t(), u | |
}, | |
scrollboxSize: function () { | |
return t(), a | |
} | |
})) | |
}(); | |
var Ue = ["Webkit", "Moz", "ms"], | |
Xe = r.createElement("div").style, | |
Ve = {}; | |
function Ge(e) { | |
return w.cssProps[e] || Ve[e] || (e in Xe ? e : Ve[e] = function (e) { | |
for (var t = e[0].toUpperCase() + e.slice(1), n = Ue.length; n--;) | |
if ((e = Ue[n] + t) in Xe) return e | |
}(e) || e) | |
} | |
var Ye = /^(none|table(?!-c[ea]).+)/, | |
Qe = /^--/, | |
Je = { | |
position: "absolute", | |
visibility: "hidden", | |
display: "block" | |
}, | |
Ke = { | |
letterSpacing: "0", | |
fontWeight: "400" | |
}; | |
function Ze(e, t, n) { | |
var r = ne.exec(t); | |
return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t | |
} | |
function et(e, t, n, r, i, o) { | |
var a = "width" === t ? 1 : 0, | |
s = 0, | |
u = 0; | |
if (n === (r ? "border" : "content")) return 0; | |
for (; a < 4; a += 2) "margin" === n && (u += w.css(e, n + re[a], !0, i)), r ? ("content" === n && (u -= w.css(e, "padding" + re[a], !0, i)), "margin" !== n && (u -= w.css(e, "border" + re[a] + "Width", !0, i))) : (u += w.css(e, "padding" + re[a], !0, i), "padding" !== n ? u += w.css(e, "border" + re[a] + "Width", !0, i) : s += w.css(e, "border" + re[a] + "Width", !0, i)); | |
return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u | |
} | |
function tt(e, t, n) { | |
var r = Fe(e), | |
i = (!h.boxSizingReliable() || n) && "border-box" === w.css(e, "boxSizing", !1, r), | |
o = i, | |
a = _e(e, t, r), | |
s = "offset" + t[0].toUpperCase() + t.slice(1); | |
if (We.test(a)) { | |
if (!n) return a; | |
a = "auto" | |
} | |
return (!h.boxSizingReliable() && i || "auto" === a || !parseFloat(a) && "inline" === w.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === w.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + et(e, t, n || (i ? "border" : "content"), o, r, a) + "px" | |
} | |
function nt(e, t, n, r, i) { | |
return new nt.prototype.init(e, t, n, r, i) | |
} | |
w.extend({ | |
cssHooks: { | |
opacity: { | |
get: function (e, t) { | |
if (t) { | |
var n = _e(e, "opacity"); | |
return "" === n ? "1" : n | |
} | |
} | |
} | |
}, | |
cssNumber: { | |
animationIterationCount: !0, | |
columnCount: !0, | |
fillOpacity: !0, | |
flexGrow: !0, | |
flexShrink: !0, | |
fontWeight: !0, | |
gridArea: !0, | |
gridColumn: !0, | |
gridColumnEnd: !0, | |
gridColumnStart: !0, | |
gridRow: !0, | |
gridRowEnd: !0, | |
gridRowStart: !0, | |
lineHeight: !0, | |
opacity: !0, | |
order: !0, | |
orphans: !0, | |
widows: !0, | |
zIndex: !0, | |
zoom: !0 | |
}, | |
cssProps: {}, | |
style: function (e, t, n, r) { | |
if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { | |
var i, o, a, s = V(t), | |
u = Qe.test(t), | |
l = e.style; | |
if (u || (t = Ge(s)), a = w.cssHooks[t] || w.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t]; | |
"string" == (o = typeof n) && (i = ne.exec(n)) && i[1] && (n = le(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (w.cssNumber[s] ? "" : "px")), h.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n)) | |
} | |
}, | |
css: function (e, t, n, r) { | |
var i, o, a, s = V(t); | |
return Qe.test(t) || (t = Ge(s)), (a = w.cssHooks[t] || w.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = _e(e, t, r)), "normal" === i && t in Ke && (i = Ke[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i | |
} | |
}), w.each(["height", "width"], function (e, t) { | |
w.cssHooks[t] = { | |
get: function (e, n, r) { | |
if (n) return !Ye.test(w.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? tt(e, t, r) : ue(e, Je, function () { | |
return tt(e, t, r) | |
}) | |
}, | |
set: function (e, n, r) { | |
var i, o = Fe(e), | |
a = !h.scrollboxSize() && "absolute" === o.position, | |
s = (a || r) && "border-box" === w.css(e, "boxSizing", !1, o), | |
u = r ? et(e, t, r, s, o) : 0; | |
return s && a && (u -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(o[t]) - et(e, t, "border", !1, o) - .5)), u && (i = ne.exec(n)) && "px" !== (i[3] || "px") && (e.style[t] = n, n = w.css(e, t)), Ze(0, n, u) | |
} | |
} | |
}), w.cssHooks.marginLeft = ze(h.reliableMarginLeft, function (e, t) { | |
if (t) return (parseFloat(_e(e, "marginLeft")) || e.getBoundingClientRect().left - ue(e, { | |
marginLeft: 0 | |
}, function () { | |
return e.getBoundingClientRect().left | |
})) + "px" | |
}), w.each({ | |
margin: "", | |
padding: "", | |
border: "Width" | |
}, function (e, t) { | |
w.cssHooks[e + t] = { | |
expand: function (n) { | |
for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++) i[e + re[r] + t] = o[r] || o[r - 2] || o[0]; | |
return i | |
} | |
}, "margin" !== e && (w.cssHooks[e + t].set = Ze) | |
}), w.fn.extend({ | |
css: function (e, t) { | |
return _(this, function (e, t, n) { | |
var r, i, o = {}, | |
a = 0; | |
if (Array.isArray(t)) { | |
for (r = Fe(e), i = t.length; a < i; a++) o[t[a]] = w.css(e, t[a], !1, r); | |
return o | |
} | |
return void 0 !== n ? w.style(e, t, n) : w.css(e, t) | |
}, e, t, 1 < arguments.length) | |
} | |
}), ((w.Tween = nt).prototype = { | |
constructor: nt, | |
init: function (e, t, n, r, i, o) { | |
this.elem = e, this.prop = n, this.easing = i || w.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (w.cssNumber[n] ? "" : "px") | |
}, | |
cur: function () { | |
var e = nt.propHooks[this.prop]; | |
return e && e.get ? e.get(this) : nt.propHooks._default.get(this) | |
}, | |
run: function (e) { | |
var t, n = nt.propHooks[this.prop]; | |
return this.options.duration ? this.pos = t = w.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = 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) : nt.propHooks._default.set(this), this | |
} | |
}).init.prototype = nt.prototype, (nt.propHooks = { | |
_default: { | |
get: function (e) { | |
var t; | |
return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = w.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 | |
}, | |
set: function (e) { | |
w.fx.step[e.prop] ? w.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !w.cssHooks[e.prop] && null == e.elem.style[Ge(e.prop)] ? e.elem[e.prop] = e.now : w.style(e.elem, e.prop, e.now + e.unit) | |
} | |
} | |
}).scrollTop = nt.propHooks.scrollLeft = { | |
set: function (e) { | |
e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) | |
} | |
}, w.easing = { | |
linear: function (e) { | |
return e | |
}, | |
swing: function (e) { | |
return .5 - Math.cos(e * Math.PI) / 2 | |
}, | |
_default: "swing" | |
}, w.fx = nt.prototype.init, w.fx.step = {}; | |
var rt, it, ot, at, st = /^(?:toggle|show|hide)$/, | |
ut = /queueHooks$/; | |
function lt() { | |
it && (!1 === r.hidden && e.requestAnimationFrame ? e.requestAnimationFrame(lt) : e.setTimeout(lt, w.fx.interval), w.fx.tick()) | |
} | |
function ct() { | |
return e.setTimeout(function () { | |
rt = void 0 | |
}), rt = Date.now() | |
} | |
function ft(e, t) { | |
var n, r = 0, | |
i = { | |
height: e | |
}; | |
for (t = t ? 1 : 0; r < 4; r += 2 - t) i["margin" + (n = re[r])] = i["padding" + n] = e; | |
return t && (i.opacity = i.width = e), i | |
} | |
function pt(e, t, n) { | |
for (var r, i = (dt.tweeners[t] || []).concat(dt.tweeners["*"]), o = 0, a = i.length; o < a; o++) | |
if (r = i[o].call(n, t, e)) return r | |
} | |
function dt(e, t, n) { | |
var r, i, o = 0, | |
a = dt.prefilters.length, | |
s = w.Deferred().always(function () { | |
delete u.elem | |
}), | |
u = function () { | |
if (i) return !1; | |
for (var t = rt || ct(), n = Math.max(0, l.startTime + l.duration - t), r = 1 - (n / l.duration || 0), o = 0, a = l.tweens.length; o < a; o++) l.tweens[o].run(r); | |
return s.notifyWith(e, [l, r, n]), r < 1 && a ? n : (a || s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l]), !1) | |
}, | |
l = s.promise({ | |
elem: e, | |
props: w.extend({}, t), | |
opts: w.extend(!0, { | |
specialEasing: {}, | |
easing: w.easing._default | |
}, n), | |
originalProperties: t, | |
originalOptions: n, | |
startTime: rt || ct(), | |
duration: n.duration, | |
tweens: [], | |
createTween: function (t, n) { | |
var r = w.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing); | |
return l.tweens.push(r), r | |
}, | |
stop: function (t) { | |
var n = 0, | |
r = t ? l.tweens.length : 0; | |
if (i) return this; | |
for (i = !0; n < r; n++) l.tweens[n].run(1); | |
return t ? (s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l, t])) : s.rejectWith(e, [l, t]), this | |
} | |
}), | |
c = l.props; | |
for (function (e, t) { | |
var n, r, i, o, a; | |
for (n in e) | |
if (i = t[r = V(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = w.cssHooks[r]) && "expand" in a) | |
for (n in o = a.expand(o), delete e[r], o) n in e || (e[n] = o[n], t[n] = i); | |
else t[r] = i | |
}(c, l.opts.specialEasing); o < a; o++) | |
if (r = dt.prefilters[o].call(l, e, c, l.opts)) return g(r.stop) && (w._queueHooks(l.elem, l.opts.queue).stop = r.stop.bind(r)), r; | |
return w.map(c, pt, l), g(l.opts.start) && l.opts.start.call(e, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), w.fx.timer(w.extend(u, { | |
elem: e, | |
anim: l, | |
queue: l.opts.queue | |
})), l | |
} | |
w.Animation = w.extend(dt, { | |
tweeners: { | |
"*": [function (e, t) { | |
var n = this.createTween(e, t); | |
return le(n.elem, e, ne.exec(t), n), n | |
}] | |
}, | |
tweener: function (e, t) { | |
g(e) ? (t = e, e = ["*"]) : e = e.match(R); | |
for (var n, r = 0, i = e.length; r < i; r++) n = e[r], dt.tweeners[n] = dt.tweeners[n] || [], dt.tweeners[n].unshift(t) | |
}, | |
prefilters: [function (e, t, n) { | |
var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t, | |
p = this, | |
d = {}, | |
h = e.style, | |
g = e.nodeType && se(e), | |
v = Q.get(e, "fxshow"); | |
for (r in n.queue || (null == (a = w._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () { | |
a.unqueued || s() | |
}), a.unqueued++, p.always(function () { | |
p.always(function () { | |
a.unqueued--, w.queue(e, "fx").length || a.empty.fire() | |
}) | |
})), t) | |
if (i = t[r], st.test(i)) { | |
if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) { | |
if ("show" !== i || !v || void 0 === v[r]) continue; | |
g = !0 | |
} | |
d[r] = v && v[r] || w.style(e, r) | |
} if ((u = !w.isEmptyObject(t)) || !w.isEmptyObject(d)) | |
for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = Q.get(e, "display")), "none" === (c = w.css(e, "display")) && (l ? c = l : (fe([e], !0), l = e.style.display || l, c = w.css(e, "display"), fe([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === w.css(e, "float") && (u || (p.done(function () { | |
h.display = l | |
}), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () { | |
h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2] | |
})), u = !1, d) u || (v ? "hidden" in v && (g = v.hidden) : v = Q.access(e, "fxshow", { | |
display: l | |
}), o && (v.hidden = !g), g && fe([e], !0), p.done(function () { | |
for (r in g || fe([e]), Q.remove(e, "fxshow"), d) w.style(e, r, d[r]) | |
})), u = pt(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0)) | |
}], | |
prefilter: function (e, t) { | |
t ? dt.prefilters.unshift(e) : dt.prefilters.push(e) | |
} | |
}), w.speed = function (e, t, n) { | |
var r = e && "object" == typeof e ? w.extend({}, e) : { | |
complete: n || !n && t || g(e) && e, | |
duration: e, | |
easing: n && t || t && !g(t) && t | |
}; | |
return w.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in w.fx.speeds ? r.duration = w.fx.speeds[r.duration] : r.duration = w.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () { | |
g(r.old) && r.old.call(this), r.queue && w.dequeue(this, r.queue) | |
}, r | |
}, w.fn.extend({ | |
fadeTo: function (e, t, n, r) { | |
return this.filter(se).css("opacity", 0).show().end().animate({ | |
opacity: t | |
}, e, n, r) | |
}, | |
animate: function (e, t, n, r) { | |
var i = w.isEmptyObject(e), | |
o = w.speed(t, n, r), | |
a = function () { | |
var t = dt(this, w.extend({}, e), o); | |
(i || Q.get(this, "finish")) && t.stop(!0) | |
}; | |
return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) | |
}, | |
stop: function (e, t, n) { | |
var r = function (e) { | |
var t = e.stop; | |
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, | |
i = null != e && e + "queueHooks", | |
o = w.timers, | |
a = Q.get(this); | |
if (i) a[i] && a[i].stop && r(a[i]); | |
else | |
for (i in a) a[i] && a[i].stop && ut.test(i) && r(a[i]); | |
for (i = o.length; i--;) o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1)); | |
!t && n || w.dequeue(this, e) | |
}) | |
}, | |
finish: function (e) { | |
return !1 !== e && (e = e || "fx"), this.each(function () { | |
var t, n = Q.get(this), | |
r = n[e + "queue"], | |
i = n[e + "queueHooks"], | |
o = w.timers, | |
a = r ? r.length : 0; | |
for (n.finish = !0, w.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;) o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1)); | |
for (t = 0; t < a; t++) r[t] && r[t].finish && r[t].finish.call(this); | |
delete n.finish | |
}) | |
} | |
}), w.each(["toggle", "show", "hide"], function (e, t) { | |
var n = w.fn[t]; | |
w.fn[t] = function (e, r, i) { | |
return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(ft(t, !0), e, r, i) | |
} | |
}), w.each({ | |
slideDown: ft("show"), | |
slideUp: ft("hide"), | |
slideToggle: ft("toggle"), | |
fadeIn: { | |
opacity: "show" | |
}, | |
fadeOut: { | |
opacity: "hide" | |
}, | |
fadeToggle: { | |
opacity: "toggle" | |
} | |
}, function (e, t) { | |
w.fn[e] = function (e, n, r) { | |
return this.animate(t, e, n, r) | |
} | |
}), w.timers = [], w.fx.tick = function () { | |
var e, t = 0, | |
n = w.timers; | |
for (rt = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1); | |
n.length || w.fx.stop(), rt = void 0 | |
}, w.fx.timer = function (e) { | |
w.timers.push(e), w.fx.start() | |
}, w.fx.interval = 13, w.fx.start = function () { | |
it || (it = !0, lt()) | |
}, w.fx.stop = function () { | |
it = null | |
}, w.fx.speeds = { | |
slow: 600, | |
fast: 200, | |
_default: 400 | |
}, w.fn.delay = function (t, n) { | |
return t = w.fx && w.fx.speeds[t] || t, n = n || "fx", this.queue(n, function (n, r) { | |
var i = e.setTimeout(n, t); | |
r.stop = function () { | |
e.clearTimeout(i) | |
} | |
}) | |
}, ot = r.createElement("input"), at = r.createElement("select").appendChild(r.createElement("option")), ot.type = "checkbox", h.checkOn = "" !== ot.value, h.optSelected = at.selected, (ot = r.createElement("input")).value = "t", ot.type = "radio", h.radioValue = "t" === ot.value; | |
var ht, gt = w.expr.attrHandle; | |
w.fn.extend({ | |
attr: function (e, t) { | |
return _(this, w.attr, e, t, 1 < arguments.length) | |
}, | |
removeAttr: function (e) { | |
return this.each(function () { | |
w.removeAttr(this, e) | |
}) | |
} | |
}), w.extend({ | |
attr: function (e, t, n) { | |
var r, i, o = e.nodeType; | |
if (3 !== o && 8 !== o && 2 !== o) return void 0 === e.getAttribute ? w.prop(e, t, n) : (1 === o && w.isXMLDoc(e) || (i = w.attrHooks[t.toLowerCase()] || (w.expr.match.bool.test(t) ? ht : void 0)), void 0 !== n ? null === n ? void w.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = w.find.attr(e, t)) ? void 0 : r) | |
}, | |
attrHooks: { | |
type: { | |
set: function (e, t) { | |
if (!h.radioValue && "radio" === t && A(e, "input")) { | |
var n = e.value; | |
return e.setAttribute("type", t), n && (e.value = n), t | |
} | |
} | |
} | |
}, | |
removeAttr: function (e, t) { | |
var n, r = 0, | |
i = t && t.match(R); | |
if (i && 1 === e.nodeType) | |
for (; n = i[r++];) e.removeAttribute(n) | |
} | |
}), ht = { | |
set: function (e, t, n) { | |
return !1 === t ? w.removeAttr(e, n) : e.setAttribute(n, n), n | |
} | |
}, w.each(w.expr.match.bool.source.match(/\w+/g), function (e, t) { | |
var n = gt[t] || w.find.attr; | |
gt[t] = function (e, t, r) { | |
var i, o, a = t.toLowerCase(); | |
return r || (o = gt[a], gt[a] = i, i = null != n(e, t, r) ? a : null, gt[a] = o), i | |
} | |
}); | |
var vt = /^(?:input|select|textarea|button)$/i, | |
mt = /^(?:a|area)$/i; | |
function yt(e) { | |
return (e.match(R) || []).join(" ") | |
} | |
function xt(e) { | |
return e.getAttribute && e.getAttribute("class") || "" | |
} | |
function bt(e) { | |
return Array.isArray(e) ? e : "string" == typeof e && e.match(R) || [] | |
} | |
w.fn.extend({ | |
prop: function (e, t) { | |
return _(this, w.prop, e, t, 1 < arguments.length) | |
}, | |
removeProp: function (e) { | |
return this.each(function () { | |
delete this[w.propFix[e] || e] | |
}) | |
} | |
}), w.extend({ | |
prop: function (e, t, n) { | |
var r, i, o = e.nodeType; | |
if (3 !== o && 8 !== o && 2 !== o) return 1 === o && w.isXMLDoc(e) || (t = w.propFix[t] || t, i = w.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t] | |
}, | |
propHooks: { | |
tabIndex: { | |
get: function (e) { | |
var t = w.find.attr(e, "tabindex"); | |
return t ? parseInt(t, 10) : vt.test(e.nodeName) || mt.test(e.nodeName) && e.href ? 0 : -1 | |
} | |
} | |
}, | |
propFix: { | |
for: "htmlFor", | |
class: "className" | |
} | |
}), h.optSelected || (w.propHooks.selected = { | |
get: function (e) { | |
var t = e.parentNode; | |
return t && t.parentNode && t.parentNode.selectedIndex, null | |
}, | |
set: function (e) { | |
var t = e.parentNode; | |
t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) | |
} | |
}), w.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { | |
w.propFix[this.toLowerCase()] = this | |
}), w.fn.extend({ | |
addClass: function (e) { | |
var t, n, r, i, o, a, s, u = 0; | |
if (g(e)) return this.each(function (t) { | |
w(this).addClass(e.call(this, t, xt(this))) | |
}); | |
if ((t = bt(e)).length) | |
for (; n = this[u++];) | |
if (i = xt(n), r = 1 === n.nodeType && " " + yt(i) + " ") { | |
for (a = 0; o = t[a++];) r.indexOf(" " + o + " ") < 0 && (r += o + " "); | |
i !== (s = yt(r)) && n.setAttribute("class", s) | |
} return this | |
}, | |
removeClass: function (e) { | |
var t, n, r, i, o, a, s, u = 0; | |
if (g(e)) return this.each(function (t) { | |
w(this).removeClass(e.call(this, t, xt(this))) | |
}); | |
if (!arguments.length) return this.attr("class", ""); | |
if ((t = bt(e)).length) | |
for (; n = this[u++];) | |
if (i = xt(n), r = 1 === n.nodeType && " " + yt(i) + " ") { | |
for (a = 0; o = t[a++];) | |
for (; - 1 < r.indexOf(" " + o + " ");) r = r.replace(" " + o + " ", " "); | |
i !== (s = yt(r)) && n.setAttribute("class", s) | |
} return this | |
}, | |
toggleClass: function (e, t) { | |
var n = typeof e, | |
r = "string" === n || Array.isArray(e); | |
return "boolean" == typeof t && r ? t ? this.addClass(e) : this.removeClass(e) : g(e) ? this.each(function (n) { | |
w(this).toggleClass(e.call(this, n, xt(this), t), t) | |
}) : this.each(function () { | |
var t, i, o, a; | |
if (r) | |
for (i = 0, o = w(this), a = bt(e); t = a[i++];) o.hasClass(t) ? o.removeClass(t) : o.addClass(t); | |
else void 0 !== e && "boolean" !== n || ((t = xt(this)) && Q.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || !1 === e ? "" : Q.get(this, "__className__") || "")) | |
}) | |
}, | |
hasClass: function (e) { | |
var t, n, r = 0; | |
for (t = " " + e + " "; n = this[r++];) | |
if (1 === n.nodeType && -1 < (" " + yt(xt(n)) + " ").indexOf(t)) return !0; | |
return !1 | |
} | |
}); | |
var wt = /\r/g; | |
w.fn.extend({ | |
val: function (e) { | |
var t, n, r, i = this[0]; | |
return arguments.length ? (r = g(e), this.each(function (n) { | |
var i; | |
1 === this.nodeType && (null == (i = r ? e.call(this, n, w(this).val()) : e) ? i = "" : "number" == typeof i ? i += "" : Array.isArray(i) && (i = w.map(i, function (e) { | |
return null == e ? "" : e + "" | |
})), (t = w.valHooks[this.type] || w.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i)) | |
})) : i ? (t = w.valHooks[i.type] || w.valHooks[i.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : "string" == typeof (n = i.value) ? n.replace(wt, "") : null == n ? "" : n : void 0 | |
} | |
}), w.extend({ | |
valHooks: { | |
option: { | |
get: function (e) { | |
var t = w.find.attr(e, "value"); | |
return null != t ? t : yt(w.text(e)) | |
} | |
}, | |
select: { | |
get: function (e) { | |
var t, n, r, i = e.options, | |
o = e.selectedIndex, | |
a = "select-one" === e.type, | |
s = a ? null : [], | |
u = a ? o + 1 : i.length; | |
for (r = o < 0 ? u : a ? o : 0; r < u; r++) | |
if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) { | |
if (t = w(n).val(), a) return t; | |
s.push(t) | |
} return s | |
}, | |
set: function (e, t) { | |
for (var n, r, i = e.options, o = w.makeArray(t), a = i.length; a--;)((r = i[a]).selected = -1 < w.inArray(w.valHooks.option.get(r), o)) && (n = !0); | |
return n || (e.selectedIndex = -1), o | |
} | |
} | |
} | |
}), w.each(["radio", "checkbox"], function () { | |
w.valHooks[this] = { | |
set: function (e, t) { | |
if (Array.isArray(t)) return e.checked = -1 < w.inArray(w(e).val(), t) | |
} | |
}, h.checkOn || (w.valHooks[this].get = function (e) { | |
return null === e.getAttribute("value") ? "on" : e.value | |
}) | |
}), h.focusin = "onfocusin" in e; | |
var Tt = /^(?:focusinfocus|focusoutblur)$/, | |
Ct = function (e) { | |
e.stopPropagation() | |
}; | |
w.extend(w.event, { | |
trigger: function (t, n, i, o) { | |
var a, s, u, l, c, p, d, h, m = [i || r], | |
y = f.call(t, "type") ? t.type : t, | |
x = f.call(t, "namespace") ? t.namespace.split(".") : []; | |
if (s = h = u = i = i || r, 3 !== i.nodeType && 8 !== i.nodeType && !Tt.test(y + w.event.triggered) && (-1 < y.indexOf(".") && (y = (x = y.split(".")).shift(), x.sort()), c = y.indexOf(":") < 0 && "on" + y, (t = t[w.expando] ? t : new w.Event(y, "object" == typeof t && t)).isTrigger = o ? 2 : 3, t.namespace = x.join("."), t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + x.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = i), n = null == n ? [t] : w.makeArray(n, [t]), d = w.event.special[y] || {}, o || !d.trigger || !1 !== d.trigger.apply(i, n))) { | |
if (!o && !d.noBubble && !v(i)) { | |
for (l = d.delegateType || y, Tt.test(l + y) || (s = s.parentNode); s; s = s.parentNode) m.push(s), u = s; | |
u === (i.ownerDocument || r) && m.push(u.defaultView || u.parentWindow || e) | |
} | |
for (a = 0; | |
(s = m[a++]) && !t.isPropagationStopped();) h = s, t.type = 1 < a ? l : d.bindType || y, (p = (Q.get(s, "events") || {})[t.type] && Q.get(s, "handle")) && p.apply(s, n), (p = c && s[c]) && p.apply && G(s) && (t.result = p.apply(s, n), !1 === t.result && t.preventDefault()); | |
return t.type = y, o || t.isDefaultPrevented() || d._default && !1 !== d._default.apply(m.pop(), n) || !G(i) || c && g(i[y]) && !v(i) && ((u = i[c]) && (i[c] = null), w.event.triggered = y, t.isPropagationStopped() && h.addEventListener(y, Ct), i[y](), t.isPropagationStopped() && h.removeEventListener(y, Ct), w.event.triggered = void 0, u && (i[c] = u)), t.result | |
} | |
}, | |
simulate: function (e, t, n) { | |
var r = w.extend(new w.Event, n, { | |
type: e, | |
isSimulated: !0 | |
}); | |
w.event.trigger(r, null, t) | |
} | |
}), w.fn.extend({ | |
trigger: function (e, t) { | |
return this.each(function () { | |
w.event.trigger(e, t, this) | |
}) | |
}, | |
triggerHandler: function (e, t) { | |
var n = this[0]; | |
if (n) return w.event.trigger(e, t, n, !0) | |
} | |
}), h.focusin || w.each({ | |
focus: "focusin", | |
blur: "focusout" | |
}, function (e, t) { | |
var n = function (e) { | |
w.event.simulate(t, e.target, w.event.fix(e)) | |
}; | |
w.event.special[t] = { | |
setup: function () { | |
var r = this.ownerDocument || this, | |
i = Q.access(r, t); | |
i || r.addEventListener(e, n, !0), Q.access(r, t, (i || 0) + 1) | |
}, | |
teardown: function () { | |
var r = this.ownerDocument || this, | |
i = Q.access(r, t) - 1; | |
i ? Q.access(r, t, i) : (r.removeEventListener(e, n, !0), Q.remove(r, t)) | |
} | |
} | |
}); | |
var Et = e.location, | |
kt = Date.now(), | |
St = /\?/; | |
w.parseXML = function (t) { | |
var n; | |
if (!t || "string" != typeof t) return null; | |
try { | |
n = (new e.DOMParser).parseFromString(t, "text/xml") | |
} catch (t) { | |
n = void 0 | |
} | |
return n && !n.getElementsByTagName("parsererror").length || w.error("Invalid XML: " + t), n | |
}; | |
var Nt = /\[\]$/, | |
At = /\r?\n/g, | |
Dt = /^(?:submit|button|image|reset|file)$/i, | |
jt = /^(?:input|select|textarea|keygen)/i; | |
function qt(e, t, n, r) { | |
var i; | |
if (Array.isArray(t)) w.each(t, function (t, i) { | |
n || Nt.test(e) ? r(e, i) : qt(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r) | |
}); | |
else if (n || "object" !== x(t)) r(e, t); | |
else | |
for (i in t) qt(e + "[" + i + "]", t[i], n, r) | |
} | |
w.param = function (e, t) { | |
var n, r = [], | |
i = function (e, t) { | |
var n = g(t) ? t() : t; | |
r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) | |
}; | |
if (null == e) return ""; | |
if (Array.isArray(e) || e.jquery && !w.isPlainObject(e)) w.each(e, function () { | |
i(this.name, this.value) | |
}); | |
else | |
for (n in e) qt(n, e[n], t, i); | |
return r.join("&") | |
}, w.fn.extend({ | |
serialize: function () { | |
return w.param(this.serializeArray()) | |
}, | |
serializeArray: function () { | |
return this.map(function () { | |
var e = w.prop(this, "elements"); | |
return e ? w.makeArray(e) : this | |
}).filter(function () { | |
var e = this.type; | |
return this.name && !w(this).is(":disabled") && jt.test(this.nodeName) && !Dt.test(e) && (this.checked || !pe.test(e)) | |
}).map(function (e, t) { | |
var n = w(this).val(); | |
return null == n ? null : Array.isArray(n) ? w.map(n, function (e) { | |
return { | |
name: t.name, | |
value: e.replace(At, "\r\n") | |
} | |
}) : { | |
name: t.name, | |
value: n.replace(At, "\r\n") | |
} | |
}).get() | |
} | |
}); | |
var Lt = /%20/g, | |
Ht = /#.*$/, | |
Ot = /([?&])_=[^&]*/, | |
Pt = /^(.*?):[ \t]*([^\r\n]*)$/gm, | |
Rt = /^(?:GET|HEAD)$/, | |
Mt = /^\/\//, | |
It = {}, | |
$t = {}, | |
Wt = "*/".concat("*"), | |
Ft = r.createElement("a"); | |
function Bt(e) { | |
return function (t, n) { | |
"string" != typeof t && (n = t, t = "*"); | |
var r, i = 0, | |
o = t.toLowerCase().match(R) || []; | |
if (g(n)) | |
for (; r = o[i++];) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n) | |
} | |
} | |
function _t(e, t, n, r) { | |
var i = {}, | |
o = e === $t; | |
function a(s) { | |
var u; | |
return i[s] = !0, w.each(e[s] || [], function (e, s) { | |
var l = s(t, n, r); | |
return "string" != typeof l || o || i[l] ? o ? !(u = l) : void 0 : (t.dataTypes.unshift(l), a(l), !1) | |
}), u | |
} | |
return a(t.dataTypes[0]) || !i["*"] && a("*") | |
} | |
function zt(e, t) { | |
var n, r, i = w.ajaxSettings.flatOptions || {}; | |
for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); | |
return r && w.extend(!0, e, r), e | |
} | |
Ft.href = Et.href, w.extend({ | |
active: 0, | |
lastModified: {}, | |
etag: {}, | |
ajaxSettings: { | |
url: Et.href, | |
type: "GET", | |
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol), | |
global: !0, | |
processData: !0, | |
async: !0, | |
contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
accepts: { | |
"*": Wt, | |
text: "text/plain", | |
html: "text/html", | |
xml: "application/xml, text/xml", | |
json: "application/json, text/javascript" | |
}, | |
contents: { | |
xml: /\bxml\b/, | |
html: /\bhtml/, | |
json: /\bjson\b/ | |
}, | |
responseFields: { | |
xml: "responseXML", | |
text: "responseText", | |
json: "responseJSON" | |
}, | |
converters: { | |
"* text": String, | |
"text html": !0, | |
"text json": JSON.parse, | |
"text xml": w.parseXML | |
}, | |
flatOptions: { | |
url: !0, | |
context: !0 | |
} | |
}, | |
ajaxSetup: function (e, t) { | |
return t ? zt(zt(e, w.ajaxSettings), t) : zt(w.ajaxSettings, e) | |
}, | |
ajaxPrefilter: Bt(It), | |
ajaxTransport: Bt($t), | |
ajax: function (t, n) { | |
"object" == typeof t && (n = t, t = void 0), n = n || {}; | |
var i, o, a, s, u, l, c, f, p, d, h = w.ajaxSetup({}, n), | |
g = h.context || h, | |
v = h.context && (g.nodeType || g.jquery) ? w(g) : w.event, | |
m = w.Deferred(), | |
y = w.Callbacks("once memory"), | |
x = h.statusCode || {}, | |
b = {}, | |
T = {}, | |
C = "canceled", | |
E = { | |
readyState: 0, | |
getResponseHeader: function (e) { | |
var t; | |
if (c) { | |
if (!s) | |
for (s = {}; t = Pt.exec(a);) s[t[1].toLowerCase() + " "] = (s[t[1].toLowerCase() + " "] || []).concat(t[2]); | |
t = s[e.toLowerCase() + " "] | |
} | |
return null == t ? null : t.join(", ") | |
}, | |
getAllResponseHeaders: function () { | |
return c ? a : null | |
}, | |
setRequestHeader: function (e, t) { | |
return null == c && (e = T[e.toLowerCase()] = T[e.toLowerCase()] || e, b[e] = t), this | |
}, | |
overrideMimeType: function (e) { | |
return null == c && (h.mimeType = e), this | |
}, | |
statusCode: function (e) { | |
var t; | |
if (e) | |
if (c) E.always(e[E.status]); | |
else | |
for (t in e) x[t] = [x[t], e[t]]; | |
return this | |
}, | |
abort: function (e) { | |
var t = e || C; | |
return i && i.abort(t), k(0, t), this | |
} | |
}; | |
if (m.promise(E), h.url = ((t || h.url || Et.href) + "").replace(Mt, Et.protocol + "//"), h.type = n.method || n.type || h.method || h.type, h.dataTypes = (h.dataType || "*").toLowerCase().match(R) || [""], null == h.crossDomain) { | |
l = r.createElement("a"); | |
try { | |
l.href = h.url, l.href = l.href, h.crossDomain = Ft.protocol + "//" + Ft.host != l.protocol + "//" + l.host | |
} catch (t) { | |
h.crossDomain = !0 | |
} | |
} | |
if (h.data && h.processData && "string" != typeof h.data && (h.data = w.param(h.data, h.traditional)), _t(It, h, n, E), c) return E; | |
for (p in (f = w.event && h.global) && 0 == w.active++ && w.event.trigger("ajaxStart"), h.type = h.type.toUpperCase(), h.hasContent = !Rt.test(h.type), o = h.url.replace(Ht, ""), h.hasContent ? h.data && h.processData && 0 === (h.contentType || "").indexOf("application/x-www-form-urlencoded") && (h.data = h.data.replace(Lt, "+")) : (d = h.url.slice(o.length), h.data && (h.processData || "string" == typeof h.data) && (o += (St.test(o) ? "&" : "?") + h.data, delete h.data), !1 === h.cache && (o = o.replace(Ot, "$1"), d = (St.test(o) ? "&" : "?") + "_=" + kt++ + d), h.url = o + d), h.ifModified && (w.lastModified[o] && E.setRequestHeader("If-Modified-Since", w.lastModified[o]), w.etag[o] && E.setRequestHeader("If-None-Match", w.etag[o])), (h.data && h.hasContent && !1 !== h.contentType || n.contentType) && E.setRequestHeader("Content-Type", h.contentType), E.setRequestHeader("Accept", h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + ("*" !== h.dataTypes[0] ? ", " + Wt + "; q=0.01" : "") : h.accepts["*"]), h.headers) E.setRequestHeader(p, h.headers[p]); | |
if (h.beforeSend && (!1 === h.beforeSend.call(g, E, h) || c)) return E.abort(); | |
if (C = "abort", y.add(h.complete), E.done(h.success), E.fail(h.error), i = _t($t, h, n, E)) { | |
if (E.readyState = 1, f && v.trigger("ajaxSend", [E, h]), c) return E; | |
h.async && 0 < h.timeout && (u = e.setTimeout(function () { | |
E.abort("timeout") | |
}, h.timeout)); | |
try { | |
c = !1, i.send(b, k) | |
} catch (t) { | |
if (c) throw t; | |
k(-1, t) | |
} | |
} else k(-1, "No Transport"); | |
function k(t, n, r, s) { | |
var l, p, d, b, T, C = n; | |
c || (c = !0, u && e.clearTimeout(u), i = void 0, a = s || "", E.readyState = 0 < t ? 4 : 0, l = 200 <= t && t < 300 || 304 === t, r && (b = function (e, t, n) { | |
for (var r, i, o, a, s = e.contents, u = e.dataTypes; | |
"*" === u[0];) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); | |
if (r) | |
for (i in s) | |
if (s[i] && s[i].test(r)) { | |
u.unshift(i); | |
break | |
} if (u[0] in n) o = u[0]; | |
else { | |
for (i in n) { | |
if (!u[0] || e.converters[i + " " + u[0]]) { | |
o = i; | |
break | |
} | |
a || (a = i) | |
} | |
o = o || a | |
} | |
if (o) return o !== u[0] && u.unshift(o), n[o] | |
}(h, E, r)), b = function (e, t, n, r) { | |
var i, o, a, s, u, l = {}, | |
c = e.dataTypes.slice(); | |
if (c[1]) | |
for (a in e.converters) l[a.toLowerCase()] = e.converters[a]; | |
for (o = c.shift(); o;) | |
if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) | |
if ("*" === o) o = u; | |
else if ("*" !== u && u !== o) { | |
if (!(a = l[u + " " + o] || l["* " + o])) | |
for (i in l) | |
if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) { | |
!0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1])); | |
break | |
} if (!0 !== a) | |
if (a && e.throws) t = a(t); | |
else try { | |
t = a(t) | |
} catch (e) { | |
return { | |
state: "parsererror", | |
error: a ? e : "No conversion from " + u + " to " + o | |
} | |
} | |
} | |
return { | |
state: "success", | |
data: t | |
} | |
}(h, b, E, l), l ? (h.ifModified && ((T = E.getResponseHeader("Last-Modified")) && (w.lastModified[o] = T), (T = E.getResponseHeader("etag")) && (w.etag[o] = T)), 204 === t || "HEAD" === h.type ? C = "nocontent" : 304 === t ? C = "notmodified" : (C = b.state, p = b.data, l = !(d = b.error))) : (d = C, !t && C || (C = "error", t < 0 && (t = 0))), E.status = t, E.statusText = (n || C) + "", l ? m.resolveWith(g, [p, C, E]) : m.rejectWith(g, [E, C, d]), E.statusCode(x), x = void 0, f && v.trigger(l ? "ajaxSuccess" : "ajaxError", [E, h, l ? p : d]), y.fireWith(g, [E, C]), f && (v.trigger("ajaxComplete", [E, h]), --w.active || w.event.trigger("ajaxStop"))) | |
} | |
return E | |
}, | |
getJSON: function (e, t, n) { | |
return w.get(e, t, n, "json") | |
}, | |
getScript: function (e, t) { | |
return w.get(e, void 0, t, "script") | |
} | |
}), w.each(["get", "post"], function (e, t) { | |
w[t] = function (e, n, r, i) { | |
return g(n) && (i = i || r, r = n, n = void 0), w.ajax(w.extend({ | |
url: e, | |
type: t, | |
dataType: i, | |
data: n, | |
success: r | |
}, w.isPlainObject(e) && e)) | |
} | |
}), w._evalUrl = function (e, t) { | |
return w.ajax({ | |
url: e, | |
type: "GET", | |
dataType: "script", | |
cache: !0, | |
async: !1, | |
global: !1, | |
converters: { | |
"text script": function () {} | |
}, | |
dataFilter: function (e) { | |
w.globalEval(e, t) | |
} | |
}) | |
}, w.fn.extend({ | |
wrapAll: function (e) { | |
var t; | |
return this[0] && (g(e) && (e = e.call(this[0])), t = w(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 g(e) ? this.each(function (t) { | |
w(this).wrapInner(e.call(this, t)) | |
}) : this.each(function () { | |
var t = w(this), | |
n = t.contents(); | |
n.length ? n.wrapAll(e) : t.append(e) | |
}) | |
}, | |
wrap: function (e) { | |
var t = g(e); | |
return this.each(function (n) { | |
w(this).wrapAll(t ? e.call(this, n) : e) | |
}) | |
}, | |
unwrap: function (e) { | |
return this.parent(e).not("body").each(function () { | |
w(this).replaceWith(this.childNodes) | |
}), this | |
} | |
}), w.expr.pseudos.hidden = function (e) { | |
return !w.expr.pseudos.visible(e) | |
}, w.expr.pseudos.visible = function (e) { | |
return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) | |
}, w.ajaxSettings.xhr = function () { | |
try { | |
return new e.XMLHttpRequest | |
} catch (e) {} | |
}; | |
var Ut = { | |
0: 200, | |
1223: 204 | |
}, | |
Xt = w.ajaxSettings.xhr(); | |
h.cors = !!Xt && "withCredentials" in Xt, h.ajax = Xt = !!Xt, w.ajaxTransport(function (t) { | |
var n, r; | |
if (h.cors || Xt && !t.crossDomain) return { | |
send: function (i, o) { | |
var a, s = t.xhr(); | |
if (s.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields) | |
for (a in t.xhrFields) s[a] = t.xhrFields[a]; | |
for (a in t.mimeType && s.overrideMimeType && s.overrideMimeType(t.mimeType), t.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest"), i) s.setRequestHeader(a, i[a]); | |
n = function (e) { | |
return function () { | |
n && (n = r = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? o(0, "error") : o(s.status, s.statusText) : o(Ut[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? { | |
binary: s.response | |
} : { | |
text: s.responseText | |
}, s.getAllResponseHeaders())) | |
} | |
}, s.onload = n(), r = s.onerror = s.ontimeout = n("error"), void 0 !== s.onabort ? s.onabort = r : s.onreadystatechange = function () { | |
4 === s.readyState && e.setTimeout(function () { | |
n && r() | |
}) | |
}, n = n("abort"); | |
try { | |
s.send(t.hasContent && t.data || null) | |
} catch (i) { | |
if (n) throw i | |
} | |
}, | |
abort: function () { | |
n && n() | |
} | |
} | |
}), w.ajaxPrefilter(function (e) { | |
e.crossDomain && (e.contents.script = !1) | |
}), w.ajaxSetup({ | |
accepts: { | |
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" | |
}, | |
contents: { | |
script: /\b(?:java|ecma)script\b/ | |
}, | |
converters: { | |
"text script": function (e) { | |
return w.globalEval(e), e | |
} | |
} | |
}), w.ajaxPrefilter("script", function (e) { | |
void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") | |
}), w.ajaxTransport("script", function (e) { | |
var t, n; | |
if (e.crossDomain || e.scriptAttrs) return { | |
send: function (i, o) { | |
t = w("<script>").attr(e.scriptAttrs || {}).prop({ | |
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) | |
}), r.head.appendChild(t[0]) | |
}, | |
abort: function () { | |
n && n() | |
} | |
} | |
}); | |
var Vt, Gt = [], | |
Yt = /(=)\?(?=&|$)|\?\?/; | |
w.ajaxSetup({ | |
jsonp: "callback", | |
jsonpCallback: function () { | |
var e = Gt.pop() || w.expando + "_" + kt++; | |
return this[e] = !0, e | |
} | |
}), w.ajaxPrefilter("json jsonp", function (t, n, r) { | |
var i, o, a, s = !1 !== t.jsonp && (Yt.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && Yt.test(t.data) && "data"); | |
if (s || "jsonp" === t.dataTypes[0]) return i = t.jsonpCallback = g(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s ? t[s] = t[s].replace(Yt, "$1" + i) : !1 !== t.jsonp && (t.url += (St.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function () { | |
return a || w.error(i + " was not called"), a[0] | |
}, t.dataTypes[0] = "json", o = e[i], e[i] = function () { | |
a = arguments | |
}, r.always(function () { | |
void 0 === o ? w(e).removeProp(i) : e[i] = o, t[i] && (t.jsonpCallback = n.jsonpCallback, Gt.push(i)), a && g(o) && o(a[0]), a = o = void 0 | |
}), "script" | |
}), h.createHTMLDocument = ((Vt = r.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Vt.childNodes.length), w.parseHTML = function (e, t, n) { | |
return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (h.createHTMLDocument ? ((i = (t = r.implementation.createHTMLDocument("")).createElement("base")).href = r.location.href, t.head.appendChild(i)) : t = r), a = !n && [], (o = D.exec(e)) ? [t.createElement(o[1])] : (o = we([e], t, a), a && a.length && w(a).remove(), w.merge([], o.childNodes))); | |
var i, o, a | |
}, w.fn.load = function (e, t, n) { | |
var r, i, o, a = this, | |
s = e.indexOf(" "); | |
return -1 < s && (r = yt(e.slice(s)), e = e.slice(0, s)), g(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), 0 < a.length && w.ajax({ | |
url: e, | |
type: i || "GET", | |
dataType: "html", | |
data: t | |
}).done(function (e) { | |
o = arguments, a.html(r ? w("<div>").append(w.parseHTML(e)).find(r) : e) | |
}).always(n && function (e, t) { | |
a.each(function () { | |
n.apply(this, o || [e.responseText, t, e]) | |
}) | |
}), this | |
}, w.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) { | |
w.fn[t] = function (e) { | |
return this.on(t, e) | |
} | |
}), w.expr.pseudos.animated = function (e) { | |
return w.grep(w.timers, function (t) { | |
return e === t.elem | |
}).length | |
}, w.offset = { | |
setOffset: function (e, t, n) { | |
var r, i, o, a, s, u, l = w.css(e, "position"), | |
c = w(e), | |
f = {}; | |
"static" === l && (e.style.position = "relative"), s = c.offset(), o = w.css(e, "top"), u = w.css(e, "left"), ("absolute" === l || "fixed" === l) && -1 < (o + u).indexOf("auto") ? (a = (r = c.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), g(t) && (t = t.call(e, n, w.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + i), "using" in t ? t.using.call(e, f) : c.css(f) | |
} | |
}, w.fn.extend({ | |
offset: function (e) { | |
if (arguments.length) return void 0 === e ? this : this.each(function (t) { | |
w.offset.setOffset(this, e, t) | |
}); | |
var t, n, r = this[0]; | |
return r ? r.getClientRects().length ? (t = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { | |
top: t.top + n.pageYOffset, | |
left: t.left + n.pageXOffset | |
}) : { | |
top: 0, | |
left: 0 | |
} : void 0 | |
}, | |
position: function () { | |
if (this[0]) { | |
var e, t, n, r = this[0], | |
i = { | |
top: 0, | |
left: 0 | |
}; | |
if ("fixed" === w.css(r, "position")) t = r.getBoundingClientRect(); | |
else { | |
for (t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === w.css(e, "position");) e = e.parentNode; | |
e && e !== r && 1 === e.nodeType && ((i = w(e).offset()).top += w.css(e, "borderTopWidth", !0), i.left += w.css(e, "borderLeftWidth", !0)) | |
} | |
return { | |
top: t.top - i.top - w.css(r, "marginTop", !0), | |
left: t.left - i.left - w.css(r, "marginLeft", !0) | |
} | |
} | |
}, | |
offsetParent: function () { | |
return this.map(function () { | |
for (var e = this.offsetParent; e && "static" === w.css(e, "position");) e = e.offsetParent; | |
return e || ie | |
}) | |
} | |
}), w.each({ | |
scrollLeft: "pageXOffset", | |
scrollTop: "pageYOffset" | |
}, function (e, t) { | |
var n = "pageYOffset" === t; | |
w.fn[e] = function (r) { | |
return _(this, function (e, r, i) { | |
var o; | |
if (v(e) ? o = e : 9 === e.nodeType && (o = e.defaultView), void 0 === i) return o ? o[t] : e[r]; | |
o ? o.scrollTo(n ? o.pageXOffset : i, n ? i : o.pageYOffset) : e[r] = i | |
}, e, r, arguments.length) | |
} | |
}), w.each(["top", "left"], function (e, t) { | |
w.cssHooks[t] = ze(h.pixelPosition, function (e, n) { | |
if (n) return n = _e(e, t), We.test(n) ? w(e).position()[t] + "px" : n | |
}) | |
}), w.each({ | |
Height: "height", | |
Width: "width" | |
}, function (e, t) { | |
w.each({ | |
padding: "inner" + e, | |
content: t, | |
"": "outer" + e | |
}, function (n, r) { | |
w.fn[r] = function (i, o) { | |
var a = arguments.length && (n || "boolean" != typeof i), | |
s = n || (!0 === i || !0 === o ? "margin" : "border"); | |
return _(this, function (t, n, i) { | |
var o; | |
return v(t) ? 0 === r.indexOf("outer") ? t["inner" + e] : 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 ? w.css(t, n, s) : w.style(t, n, i, s) | |
}, t, a ? i : void 0, a) | |
} | |
}) | |
}), w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, t) { | |
w.fn[t] = function (e, n) { | |
return 0 < arguments.length ? this.on(t, null, e, n) : this.trigger(t) | |
} | |
}), w.fn.extend({ | |
hover: function (e, t) { | |
return this.mouseenter(e).mouseleave(t || e) | |
} | |
}), w.fn.extend({ | |
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, r) { | |
return this.on(t, e, n, r) | |
}, | |
undelegate: function (e, t, n) { | |
return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) | |
} | |
}), w.proxy = function (e, t) { | |
var n, r, i; | |
if ("string" == typeof t && (n = e[t], t = e, e = n), g(e)) return r = o.call(arguments, 2), (i = function () { | |
return e.apply(t || this, r.concat(o.call(arguments))) | |
}).guid = e.guid = e.guid || w.guid++, i | |
}, w.holdReady = function (e) { | |
e ? w.readyWait++ : w.ready(!0) | |
}, w.isArray = Array.isArray, w.parseJSON = JSON.parse, w.nodeName = A, w.isFunction = g, w.isWindow = v, w.camelCase = V, w.type = x, w.now = Date.now, w.isNumeric = function (e) { | |
var t = w.type(e); | |
return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)) | |
}, "function" == typeof define && define.amd && define("jquery", [], function () { | |
return w | |
}); | |
var Qt = e.jQuery, | |
Jt = e.$; | |
return w.noConflict = function (t) { | |
return e.$ === w && (e.$ = Jt), t && e.jQuery === w && (e.jQuery = Qt), w | |
}, t || (e.jQuery = e.$ = w), w | |
}), setTimeout(function () { | |
startTimer() | |
}, 3e3); | |
var minNumber = 1e4, | |
maxNumber = 1e4, | |
randomNumber = randomNumberFromRange(minNumber, maxNumber); | |
function randomNumberFromRange(e, t) { | |
return Math.floor(Math.random() * (t - e + 1) + e) | |
} | |
var startTimer = function () { | |
var e = 1; | |
! function t() { | |
$("html, body").animate({ | |
scrollTop: $(document).height() - $(window).height() | |
}), getBookmarkedTweets(), e > -1 && (e++, setTimeout(t, 1e3), $("div.r-urgr8i:nth-child(2)").length >= 0 && $("div.r-urgr8i:nth-child(2)").click()) | |
}() | |
}; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment