vue-h5p
Version:
Vue.js Component for displaying h5p content, based on h5p-standalone
1,026 lines • 2.27 MB
JavaScript
import Toposort from "toposort-class";
class FetchError extends Error {
constructor(resp, body) {
super(resp.statusText);
this.name = "FetchError";
this.resp = resp;
this.status = resp.status;
Object.assign(this, body);
}
}
const l10n = {
H5P: {
advancedHelp: "Include this script on your website if you want dynamic sizing of the embedded content:",
author: "Author",
by: "by",
cancelLabel: "Cancel",
changes: "Changelog",
close: "Close",
confirmDialogBody: "Please confirm that you wish to proceed. This action is not reversible.",
confirmDialogHeader: "Confirm action",
confirmLabel: "Confirm",
connectionLost: "Connection lost. Results will be stored and sent when you regain connection.",
connectionReestablished: "Connection reestablished.",
contentChanged: "This content has changed since you last used it.",
contentCopied: "Content is copied to the clipboard",
contentType: "Content Type",
copyrightInformation: "Rights of use",
copyrights: "Rights of use",
copyrightsDescription: "View copyright information for this content.",
disableFullscreen: "Disable fullscreen",
download: "Download",
downloadDescription: "Download this content as a H5P file.",
embed: "Embed",
embedDescription: "View the embed code for this content.",
fullscreen: "Fullscreen",
h5pDescription: "Visit H5P.org to check out more cool content.",
hideAdvanced: "Hide advanced",
license: "License",
licenseC: "Copyright",
licenseCC010: "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication",
licenseCC10: "1.0 Generic",
licenseCC20: "2.0 Generic",
licenseCC25: "2.5 Generic",
licenseCC30: "3.0 Unported",
licenseCC40: "4.0 International",
licenseCCBY: "Attribution",
licenseCCBYNC: "Attribution-NonCommercial",
licenseCCBYNCND: "Attribution-NonCommercial-NoDerivs",
licenseCCBYNCSA: "Attribution-NonCommercial-ShareAlike",
licenseCCBYND: "Attribution-NoDerivs",
licenseCCBYSA: "Attribution-ShareAlike",
licenseExtras: "License Extras",
licenseGPL: "General Public License",
licensePD: "Public Domain",
licensePDM: "Public Domain Mark",
licenseU: "Undisclosed",
licenseV1: "Version 1",
licenseV2: "Version 2",
licenseV3: "Version 3",
noCopyrights: "No copyright information available for this content.",
offlineDialogBody: "We were unable to send information about your completion of this task. Please check your internet connection.",
offlineDialogHeader: "Your connection to the server was lost",
offlineDialogRetryButtonLabel: "Retry now",
offlineDialogRetryMessage: "Retrying in :num....",
offlineSuccessfulSubmit: "Successfully submitted results.",
resubmitScores: "Attempting to submit stored results.",
reuse: "Reuse",
reuseContent: "Reuse Content",
reuseDescription: "Reuse this content.",
showAdvanced: "Show advanced",
showLess: "Show less",
showMore: "Show more",
size: "Size",
source: "Source",
startingOver: "You'll be starting over.",
subLevel: "Sublevel",
thumbnail: "Thumbnail",
title: "Title",
year: "Year"
}
};
const frameScript = `"use strict";
/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(e, t) {
"object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, true) : function(e2) {
if (!e2.document)
throw new Error("jQuery requires a window with a document");
return t(e2);
} : t(e);
}("undefined" != typeof window ? window : void 0, function(C, e) {
var t = [], r = Object.getPrototypeOf, s = t.slice, g = t.flat ? function(e2) {
return t.flat.call(e2);
} : function(e2) {
return t.concat.apply([], e2);
}, u = t.push, i = t.indexOf, n = {}, o = n.toString, v = n.hasOwnProperty, a = v.toString, l = a.call(Object), y = {}, m = function(e2) {
return "function" == typeof e2 && "number" != typeof e2.nodeType;
}, x = function(e2) {
return null != e2 && e2 === e2.window;
}, E = C.document, c = { type: true, src: true, nonce: true, noModule: true };
function b(e2, t2, n2) {
var r2, i2, o2 = (n2 = n2 || E).createElement("script");
if (o2.text = e2, t2)
for (r2 in c)
(i2 = t2[r2] || t2.getAttribute && t2.getAttribute(r2)) && o2.setAttribute(r2, i2);
n2.head.appendChild(o2).parentNode.removeChild(o2);
}
function w(e2) {
return null == e2 ? e2 + "" : "object" == typeof e2 || "function" == typeof e2 ? n[o.call(e2)] || "object" : typeof e2;
}
var f = "3.5.1", S = function(e2, t2) {
return new S.fn.init(e2, t2);
};
function p(e2) {
var t2 = !!e2 && "length" in e2 && e2.length, n2 = w(e2);
return !m(e2) && !x(e2) && ("array" === n2 || 0 === t2 || "number" == typeof t2 && 0 < t2 && t2 - 1 in e2);
}
S.fn = S.prototype = { jquery: f, constructor: S, length: 0, toArray: function() {
return s.call(this);
}, get: function(e2) {
return null == e2 ? s.call(this) : e2 < 0 ? this[e2 + this.length] : this[e2];
}, pushStack: function(e2) {
var t2 = S.merge(this.constructor(), e2);
return t2.prevObject = this, t2;
}, each: function(e2) {
return S.each(this, e2);
}, map: function(n2) {
return this.pushStack(S.map(this, function(e2, t2) {
return n2.call(e2, t2, e2);
}));
}, slice: function() {
return this.pushStack(s.apply(this, arguments));
}, first: function() {
return this.eq(0);
}, last: function() {
return this.eq(-1);
}, even: function() {
return this.pushStack(S.grep(this, function(e2, t2) {
return (t2 + 1) % 2;
}));
}, odd: function() {
return this.pushStack(S.grep(this, function(e2, t2) {
return t2 % 2;
}));
}, eq: function(e2) {
var t2 = this.length, n2 = +e2 + (e2 < 0 ? t2 : 0);
return this.pushStack(0 <= n2 && n2 < t2 ? [this[n2]] : []);
}, end: function() {
return this.prevObject || this.constructor();
}, push: u, sort: t.sort, splice: t.splice }, S.extend = S.fn.extend = function() {
var e2, t2, n2, r2, i2, o2, a2 = arguments[0] || {}, s2 = 1, u2 = arguments.length, l2 = false;
for ("boolean" == typeof a2 && (l2 = a2, a2 = arguments[s2] || {}, s2++), "object" == typeof a2 || m(a2) || (a2 = {}), s2 === u2 && (a2 = this, s2--); s2 < u2; s2++)
if (null != (e2 = arguments[s2]))
for (t2 in e2)
r2 = e2[t2], "__proto__" !== t2 && a2 !== r2 && (l2 && r2 && (S.isPlainObject(r2) || (i2 = Array.isArray(r2))) ? (n2 = a2[t2], o2 = i2 && !Array.isArray(n2) ? [] : i2 || S.isPlainObject(n2) ? n2 : {}, i2 = false, a2[t2] = S.extend(l2, o2, r2)) : void 0 !== r2 && (a2[t2] = r2));
return a2;
}, S.extend({ expando: "jQuery" + (f + Math.random()).replace(/\\D/g, ""), isReady: true, error: function(e2) {
throw new Error(e2);
}, noop: function() {
}, isPlainObject: function(e2) {
var t2, n2;
return !(!e2 || "[object Object]" !== o.call(e2)) && (!(t2 = r(e2)) || "function" == typeof (n2 = v.call(t2, "constructor") && t2.constructor) && a.call(n2) === l);
}, isEmptyObject: function(e2) {
var t2;
for (t2 in e2)
return false;
return true;
}, globalEval: function(e2, t2, n2) {
b(e2, { nonce: t2 && t2.nonce }, n2);
}, each: function(e2, t2) {
var n2, r2 = 0;
if (p(e2)) {
for (n2 = e2.length; r2 < n2; r2++)
if (false === t2.call(e2[r2], r2, e2[r2]))
break;
} else
for (r2 in e2)
if (false === t2.call(e2[r2], r2, e2[r2]))
break;
return e2;
}, makeArray: function(e2, t2) {
var n2 = t2 || [];
return null != e2 && (p(Object(e2)) ? S.merge(n2, "string" == typeof e2 ? [e2] : e2) : u.call(n2, e2)), n2;
}, inArray: function(e2, t2, n2) {
return null == t2 ? -1 : i.call(t2, e2, n2);
}, merge: function(e2, t2) {
for (var n2 = +t2.length, r2 = 0, i2 = e2.length; r2 < n2; r2++)
e2[i2++] = t2[r2];
return e2.length = i2, e2;
}, grep: function(e2, t2, n2) {
for (var r2 = [], i2 = 0, o2 = e2.length, a2 = !n2; i2 < o2; i2++)
!t2(e2[i2], i2) !== a2 && r2.push(e2[i2]);
return r2;
}, map: function(e2, t2, n2) {
var r2, i2, o2 = 0, a2 = [];
if (p(e2))
for (r2 = e2.length; o2 < r2; o2++)
null != (i2 = t2(e2[o2], o2, n2)) && a2.push(i2);
else
for (o2 in e2)
null != (i2 = t2(e2[o2], o2, n2)) && a2.push(i2);
return g(a2);
}, guid: 1, support: y }), "function" == typeof Symbol && (S.fn[Symbol.iterator] = t[Symbol.iterator]), S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e2, t2) {
n["[object " + t2 + "]"] = t2.toLowerCase();
});
var d = function(n2) {
var e2, d2, b2, o2, i2, h2, f2, g2, w2, u2, l2, T2, C2, a2, E2, v2, s2, c2, y2, S2 = "sizzle" + 1 * /* @__PURE__ */ new Date(), p2 = n2.document, k2 = 0, r2 = 0, m2 = ue2(), x2 = ue2(), A2 = ue2(), N2 = ue2(), D2 = function(e3, t3) {
return e3 === t3 && (l2 = true), 0;
}, j2 = {}.hasOwnProperty, t2 = [], q2 = t2.pop, L2 = t2.push, H2 = t2.push, O2 = t2.slice, P2 = function(e3, t3) {
for (var n3 = 0, r3 = e3.length; n3 < r3; n3++)
if (e3[n3] === t3)
return n3;
return -1;
}, R2 = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", M2 = "[\\\\x20\\\\t\\\\r\\\\n\\\\f]", I2 = "(?:\\\\\\\\[\\\\da-fA-F]{1,6}" + M2 + "?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+", W2 = "\\\\[" + M2 + "*(" + I2 + ")(?:" + M2 + "*([*^$|!~]?=)" + M2 + \`*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|"((?:\\\\\\\\.|[^\\\\\\\\"])*)"|(\` + I2 + "))|)" + M2 + "*\\\\]", F2 = ":(" + I2 + \`)(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|"((?:\\\\\\\\.|[^\\\\\\\\"])*)")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\` + W2 + ")*)|.*)\\\\)|)", B2 = new RegExp(M2 + "+", "g"), $2 = new RegExp("^" + M2 + "+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)" + M2 + "+$", "g"), _2 = new RegExp("^" + M2 + "*," + M2 + "*"), z2 = new RegExp("^" + M2 + "*([>+~]|" + M2 + ")" + M2 + "*"), U2 = new RegExp(M2 + "|>"), X2 = new RegExp(F2), V2 = new RegExp("^" + I2 + "$"), G2 = { ID: new RegExp("^#(" + I2 + ")"), CLASS: new RegExp("^\\\\.(" + I2 + ")"), TAG: new RegExp("^(" + I2 + "|[*])"), ATTR: new RegExp("^" + W2), PSEUDO: new RegExp("^" + F2), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(" + M2 + "*(even|odd|(([+-]|)(\\\\d*)n|)" + M2 + "*(?:([+-]|)" + M2 + "*(\\\\d+)|))" + M2 + "*\\\\)|)", "i"), bool: new RegExp("^(?:" + R2 + ")$", "i"), needsContext: new RegExp("^" + M2 + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(" + M2 + "*((?:-\\\\d)?\\\\d*)" + M2 + "*\\\\)|)(?=[^-]|$)", "i") }, Y2 = /HTML$/i, Q2 = /^(?:input|select|textarea|button)$/i, J2 = /^h\\d$/i, K2 = /^[^{]+\\{\\s*\\[native \\w/, Z2 = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/, ee2 = /[+~]/, te2 = new RegExp("\\\\\\\\[\\\\da-fA-F]{1,6}" + M2 + "?|\\\\\\\\([^\\\\r\\\\n\\\\f])", "g"), ne2 = function(e3, t3) {
var n3 = "0x" + e3.slice(1) - 65536;
return t3 || (n3 < 0 ? String.fromCharCode(n3 + 65536) : String.fromCharCode(n3 >> 10 | 55296, 1023 & n3 | 56320));
}, re2 = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g, ie2 = function(e3, t3) {
return t3 ? "\\0" === e3 ? "�" : e3.slice(0, -1) + "\\\\" + e3.charCodeAt(e3.length - 1).toString(16) + " " : "\\\\" + e3;
}, oe2 = function() {
T2();
}, ae2 = be2(function(e3) {
return true === e3.disabled && "fieldset" === e3.nodeName.toLowerCase();
}, { dir: "parentNode", next: "legend" });
try {
H2.apply(t2 = O2.call(p2.childNodes), p2.childNodes), t2[p2.childNodes.length].nodeType;
} catch (e3) {
H2 = { apply: t2.length ? function(e4, t3) {
L2.apply(e4, O2.call(t3));
} : function(e4, t3) {
var n3 = e4.length, r3 = 0;
while (e4[n3++] = t3[r3++])
;
e4.length = n3 - 1;
} };
}
function se2(t3, e3, n3, r3) {
var i3, o3, a3, s3, u3, l3, c3, f3 = e3 && e3.ownerDocument, p3 = e3 ? e3.nodeType : 9;
if (n3 = n3 || [], "string" != typeof t3 || !t3 || 1 !== p3 && 9 !== p3 && 11 !== p3)
return n3;
if (!r3 && (T2(e3), e3 = e3 || C2, E2)) {
if (11 !== p3 && (u3 = Z2.exec(t3)))
if (i3 = u3[1]) {
if (9 === p3) {
if (!(a3 = e3.getElementById(i3)))
return n3;
if (a3.id === i3)
return n3.push(a3), n3;
} else if (f3 && (a3 = f3.getElementById(i3)) && y2(e3, a3) && a3.id === i3)
return n3.push(a3), n3;
} else {
if (u3[2])
return H2.apply(n3, e3.getElementsByTagName(t3)), n3;
if ((i3 = u3[3]) && d2.getElementsByClassName && e3.getElementsByClassName)
return H2.apply(n3, e3.getElementsByClassName(i3)), n3;
}
if (d2.qsa && !N2[t3 + " "] && (!v2 || !v2.test(t3)) && (1 !== p3 || "object" !== e3.nodeName.toLowerCase())) {
if (c3 = t3, f3 = e3, 1 === p3 && (U2.test(t3) || z2.test(t3))) {
(f3 = ee2.test(t3) && ye2(e3.parentNode) || e3) === e3 && d2.scope || ((s3 = e3.getAttribute("id")) ? s3 = s3.replace(re2, ie2) : e3.setAttribute("id", s3 = S2)), o3 = (l3 = h2(t3)).length;
while (o3--)
l3[o3] = (s3 ? "#" + s3 : ":scope") + " " + xe2(l3[o3]);
c3 = l3.join(",");
}
try {
return H2.apply(n3, f3.querySelectorAll(c3)), n3;
} catch (e4) {
N2(t3, true);
} finally {
s3 === S2 && e3.removeAttribute("id");
}
}
}
return g2(t3.replace($2, "$1"), e3, n3, r3);
}
function ue2() {
var r3 = [];
return function e3(t3, n3) {
return r3.push(t3 + " ") > b2.cacheLength && delete e3[r3.shift()], e3[t3 + " "] = n3;
};
}
function le2(e3) {
return e3[S2] = true, e3;
}
function ce2(e3) {
var t3 = C2.createElement("fieldset");
try {
return !!e3(t3);
} catch (e4) {
return false;
} finally {
t3.parentNode && t3.parentNode.removeChild(t3), t3 = null;
}
}
function fe2(e3, t3) {
var n3 = e3.split("|"), r3 = n3.length;
while (r3--)
b2.attrHandle[n3[r3]] = t3;
}
function pe2(e3, t3) {
var n3 = t3 && e3, r3 = n3 && 1 === e3.nodeType && 1 === t3.nodeType && e3.sourceIndex - t3.sourceIndex;
if (r3)
return r3;
if (n3) {
while (n3 = n3.nextSibling)
if (n3 === t3)
return -1;
}
return e3 ? 1 : -1;
}
function de2(t3) {
return function(e3) {
return "input" === e3.nodeName.toLowerCase() && e3.type === t3;
};
}
function he2(n3) {
return function(e3) {
var t3 = e3.nodeName.toLowerCase();
return ("input" === t3 || "button" === t3) && e3.type === n3;
};
}
function ge2(t3) {
return function(e3) {
return "form" in e3 ? e3.parentNode && false === e3.disabled ? "label" in e3 ? "label" in e3.parentNode ? e3.parentNode.disabled === t3 : e3.disabled === t3 : e3.isDisabled === t3 || e3.isDisabled !== !t3 && ae2(e3) === t3 : e3.disabled === t3 : "label" in e3 && e3.disabled === t3;
};
}
function ve2(a3) {
return le2(function(o3) {
return o3 = +o3, le2(function(e3, t3) {
var n3, r3 = a3([], e3.length, o3), i3 = r3.length;
while (i3--)
e3[n3 = r3[i3]] && (e3[n3] = !(t3[n3] = e3[n3]));
});
});
}
function ye2(e3) {
return e3 && "undefined" != typeof e3.getElementsByTagName && e3;
}
for (e2 in d2 = se2.support = {}, i2 = se2.isXML = function(e3) {
var t3 = e3.namespaceURI, n3 = (e3.ownerDocument || e3).documentElement;
return !Y2.test(t3 || n3 && n3.nodeName || "HTML");
}, T2 = se2.setDocument = function(e3) {
var t3, n3, r3 = e3 ? e3.ownerDocument || e3 : p2;
return r3 != C2 && 9 === r3.nodeType && r3.documentElement && (a2 = (C2 = r3).documentElement, E2 = !i2(C2), p2 != C2 && (n3 = C2.defaultView) && n3.top !== n3 && (n3.addEventListener ? n3.addEventListener("unload", oe2, false) : n3.attachEvent && n3.attachEvent("onunload", oe2)), d2.scope = ce2(function(e4) {
return a2.appendChild(e4).appendChild(C2.createElement("div")), "undefined" != typeof e4.querySelectorAll && !e4.querySelectorAll(":scope fieldset div").length;
}), d2.attributes = ce2(function(e4) {
return e4.className = "i", !e4.getAttribute("className");
}), d2.getElementsByTagName = ce2(function(e4) {
return e4.appendChild(C2.createComment("")), !e4.getElementsByTagName("*").length;
}), d2.getElementsByClassName = K2.test(C2.getElementsByClassName), d2.getById = ce2(function(e4) {
return a2.appendChild(e4).id = S2, !C2.getElementsByName || !C2.getElementsByName(S2).length;
}), d2.getById ? (b2.filter.ID = function(e4) {
var t4 = e4.replace(te2, ne2);
return function(e5) {
return e5.getAttribute("id") === t4;
};
}, b2.find.ID = function(e4, t4) {
if ("undefined" != typeof t4.getElementById && E2) {
var n4 = t4.getElementById(e4);
return n4 ? [n4] : [];
}
}) : (b2.filter.ID = function(e4) {
var n4 = e4.replace(te2, ne2);
return function(e5) {
var t4 = "undefined" != typeof e5.getAttributeNode && e5.getAttributeNode("id");
return t4 && t4.value === n4;
};
}, b2.find.ID = function(e4, t4) {
if ("undefined" != typeof t4.getElementById && E2) {
var n4, r4, i3, o3 = t4.getElementById(e4);
if (o3) {
if ((n4 = o3.getAttributeNode("id")) && n4.value === e4)
return [o3];
i3 = t4.getElementsByName(e4), r4 = 0;
while (o3 = i3[r4++])
if ((n4 = o3.getAttributeNode("id")) && n4.value === e4)
return [o3];
}
return [];
}
}), b2.find.TAG = d2.getElementsByTagName ? function(e4, t4) {
return "undefined" != typeof t4.getElementsByTagName ? t4.getElementsByTagName(e4) : d2.qsa ? t4.querySelectorAll(e4) : void 0;
} : function(e4, t4) {
var n4, r4 = [], i3 = 0, o3 = t4.getElementsByTagName(e4);
if ("*" === e4) {
while (n4 = o3[i3++])
1 === n4.nodeType && r4.push(n4);
return r4;
}
return o3;
}, b2.find.CLASS = d2.getElementsByClassName && function(e4, t4) {
if ("undefined" != typeof t4.getElementsByClassName && E2)
return t4.getElementsByClassName(e4);
}, s2 = [], v2 = [], (d2.qsa = K2.test(C2.querySelectorAll)) && (ce2(function(e4) {
var t4;
a2.appendChild(e4).innerHTML = "<a id='" + S2 + "'></a><select id='" + S2 + "-\\r\\\\' msallowcapture=''><option selected=''></option></select>", e4.querySelectorAll("[msallowcapture^='']").length && v2.push("[*^$]=" + M2 + \`*(?:''|"")\`), e4.querySelectorAll("[selected]").length || v2.push("\\\\[" + M2 + "*(?:value|" + R2 + ")"), e4.querySelectorAll("[id~=" + S2 + "-]").length || v2.push("~="), (t4 = C2.createElement("input")).setAttribute("name", ""), e4.appendChild(t4), e4.querySelectorAll("[name='']").length || v2.push("\\\\[" + M2 + "*name" + M2 + "*=" + M2 + \`*(?:''|"")\`), e4.querySelectorAll(":checked").length || v2.push(":checked"), e4.querySelectorAll("a#" + S2 + "+*").length || v2.push(".#.+[+~]"), e4.querySelectorAll("\\\\\\f"), v2.push("[\\\\r\\\\n\\\\f]");
}), ce2(function(e4) {
e4.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
var t4 = C2.createElement("input");
t4.setAttribute("type", "hidden"), e4.appendChild(t4).setAttribute("name", "D"), e4.querySelectorAll("[name=d]").length && v2.push("name" + M2 + "*[*^$|!~]?="), 2 !== e4.querySelectorAll(":enabled").length && v2.push(":enabled", ":disabled"), a2.appendChild(e4).disabled = true, 2 !== e4.querySelectorAll(":disabled").length && v2.push(":enabled", ":disabled"), e4.querySelectorAll("*,:x"), v2.push(",.*:");
})), (d2.matchesSelector = K2.test(c2 = a2.matches || a2.webkitMatchesSelector || a2.mozMatchesSelector || a2.oMatchesSelector || a2.msMatchesSelector)) && ce2(function(e4) {
d2.disconnectedMatch = c2.call(e4, "*"), c2.call(e4, "[s!='']:x"), s2.push("!=", F2);
}), v2 = v2.length && new RegExp(v2.join("|")), s2 = s2.length && new RegExp(s2.join("|")), t3 = K2.test(a2.compareDocumentPosition), y2 = t3 || K2.test(a2.contains) ? function(e4, t4) {
var n4 = 9 === e4.nodeType ? e4.documentElement : e4, r4 = t4 && t4.parentNode;
return e4 === r4 || !(!r4 || 1 !== r4.nodeType || !(n4.contains ? n4.contains(r4) : e4.compareDocumentPosition && 16 & e4.compareDocumentPosition(r4)));
} : function(e4, t4) {
if (t4) {
while (t4 = t4.parentNode)
if (t4 === e4)
return true;
}
return false;
}, D2 = t3 ? function(e4, t4) {
if (e4 === t4)
return l2 = true, 0;
var n4 = !e4.compareDocumentPosition - !t4.compareDocumentPosition;
return n4 || (1 & (n4 = (e4.ownerDocument || e4) == (t4.ownerDocument || t4) ? e4.compareDocumentPosition(t4) : 1) || !d2.sortDetached && t4.compareDocumentPosition(e4) === n4 ? e4 == C2 || e4.ownerDocument == p2 && y2(p2, e4) ? -1 : t4 == C2 || t4.ownerDocument == p2 && y2(p2, t4) ? 1 : u2 ? P2(u2, e4) - P2(u2, t4) : 0 : 4 & n4 ? -1 : 1);
} : function(e4, t4) {
if (e4 === t4)
return l2 = true, 0;
var n4, r4 = 0, i3 = e4.parentNode, o3 = t4.parentNode, a3 = [e4], s3 = [t4];
if (!i3 || !o3)
return e4 == C2 ? -1 : t4 == C2 ? 1 : i3 ? -1 : o3 ? 1 : u2 ? P2(u2, e4) - P2(u2, t4) : 0;
if (i3 === o3)
return pe2(e4, t4);
n4 = e4;
while (n4 = n4.parentNode)
a3.unshift(n4);
n4 = t4;
while (n4 = n4.parentNode)
s3.unshift(n4);
while (a3[r4] === s3[r4])
r4++;
return r4 ? pe2(a3[r4], s3[r4]) : a3[r4] == p2 ? -1 : s3[r4] == p2 ? 1 : 0;
}), C2;
}, se2.matches = function(e3, t3) {
return se2(e3, null, null, t3);
}, se2.matchesSelector = function(e3, t3) {
if (T2(e3), d2.matchesSelector && E2 && !N2[t3 + " "] && (!s2 || !s2.test(t3)) && (!v2 || !v2.test(t3)))
try {
var n3 = c2.call(e3, t3);
if (n3 || d2.disconnectedMatch || e3.document && 11 !== e3.document.nodeType)
return n3;
} catch (e4) {
N2(t3, true);
}
return 0 < se2(t3, C2, null, [e3]).length;
}, se2.contains = function(e3, t3) {
return (e3.ownerDocument || e3) != C2 && T2(e3), y2(e3, t3);
}, se2.attr = function(e3, t3) {
(e3.ownerDocument || e3) != C2 && T2(e3);
var n3 = b2.attrHandle[t3.toLowerCase()], r3 = n3 && j2.call(b2.attrHandle, t3.toLowerCase()) ? n3(e3, t3, !E2) : void 0;
return void 0 !== r3 ? r3 : d2.attributes || !E2 ? e3.getAttribute(t3) : (r3 = e3.getAttributeNode(t3)) && r3.specified ? r3.value : null;
}, se2.escape = function(e3) {
return (e3 + "").replace(re2, ie2);
}, se2.error = function(e3) {
throw new Error("Syntax error, unrecognized expression: " + e3);
}, se2.uniqueSort = function(e3) {
var t3, n3 = [], r3 = 0, i3 = 0;
if (l2 = !d2.detectDuplicates, u2 = !d2.sortStable && e3.slice(0), e3.sort(D2), l2) {
while (t3 = e3[i3++])
t3 === e3[i3] && (r3 = n3.push(i3));
while (r3--)
e3.splice(n3[r3], 1);
}
return u2 = null, e3;
}, o2 = se2.getText = function(e3) {
var t3, n3 = "", r3 = 0, i3 = e3.nodeType;
if (i3) {
if (1 === i3 || 9 === i3 || 11 === i3) {
if ("string" == typeof e3.textContent)
return e3.textContent;
for (e3 = e3.firstChild; e3; e3 = e3.nextSibling)
n3 += o2(e3);
} else if (3 === i3 || 4 === i3)
return e3.nodeValue;
} else
while (t3 = e3[r3++])
n3 += o2(t3);
return n3;
}, (b2 = se2.selectors = { cacheLength: 50, createPseudo: le2, match: G2, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: true }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: true }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(e3) {
return e3[1] = e3[1].replace(te2, ne2), e3[3] = (e3[3] || e3[4] || e3[5] || "").replace(te2, ne2), "~=" === e3[2] && (e3[3] = " " + e3[3] + " "), e3.slice(0, 4);
}, CHILD: function(e3) {
return e3[1] = e3[1].toLowerCase(), "nth" === e3[1].slice(0, 3) ? (e3[3] || se2.error(e3[0]), e3[4] = +(e3[4] ? e3[5] + (e3[6] || 1) : 2 * ("even" === e3[3] || "odd" === e3[3])), e3[5] = +(e3[7] + e3[8] || "odd" === e3[3])) : e3[3] && se2.error(e3[0]), e3;
}, PSEUDO: function(e3) {
var t3, n3 = !e3[6] && e3[2];
return G2.CHILD.test(e3[0]) ? null : (e3[3] ? e3[2] = e3[4] || e3[5] || "" : n3 && X2.test(n3) && (t3 = h2(n3, true)) && (t3 = n3.indexOf(")", n3.length - t3) - n3.length) && (e3[0] = e3[0].slice(0, t3), e3[2] = n3.slice(0, t3)), e3.slice(0, 3));
} }, filter: { TAG: function(e3) {
var t3 = e3.replace(te2, ne2).toLowerCase();
return "*" === e3 ? function() {
return true;
} : function(e4) {
return e4.nodeName && e4.nodeName.toLowerCase() === t3;
};
}, CLASS: function(e3) {
var t3 = m2[e3 + " "];
return t3 || (t3 = new RegExp("(^|" + M2 + ")" + e3 + "(" + M2 + "|$)")) && m2(e3, function(e4) {
return t3.test("string" == typeof e4.className && e4.className || "undefined" != typeof e4.getAttribute && e4.getAttribute("class") || "");
});
}, ATTR: function(n3, r3, i3) {
return function(e3) {
var t3 = se2.attr(e3, n3);
return null == t3 ? "!=" === r3 : !r3 || (t3 += "", "=" === r3 ? t3 === i3 : "!=" === r3 ? t3 !== i3 : "^=" === r3 ? i3 && 0 === t3.indexOf(i3) : "*=" === r3 ? i3 && -1 < t3.indexOf(i3) : "$=" === r3 ? i3 && t3.slice(-i3.length) === i3 : "~=" === r3 ? -1 < (" " + t3.replace(B2, " ") + " ").indexOf(i3) : "|=" === r3 && (t3 === i3 || t3.slice(0, i3.length + 1) === i3 + "-"));
};
}, CHILD: function(h3, e3, t3, g3, v3) {
var y3 = "nth" !== h3.slice(0, 3), m3 = "last" !== h3.slice(-4), x3 = "of-type" === e3;
return 1 === g3 && 0 === v3 ? function(e4) {
return !!e4.parentNode;
} : function(e4, t4, n3) {
var r3, i3, o3, a3, s3, u3, l3 = y3 !== m3 ? "nextSibling" : "previousSibling", c3 = e4.parentNode, f3 = x3 && e4.nodeName.toLowerCase(), p3 = !n3 && !x3, d3 = false;
if (c3) {
if (y3) {
while (l3) {
a3 = e4;
while (a3 = a3[l3])
if (x3 ? a3.nodeName.toLowerCase() === f3 : 1 === a3.nodeType)
return false;
u3 = l3 = "only" === h3 && !u3 && "nextSibling";
}
return true;
}
if (u3 = [m3 ? c3.firstChild : c3.lastChild], m3 && p3) {
d3 = (s3 = (r3 = (i3 = (o3 = (a3 = c3)[S2] || (a3[S2] = {}))[a3.uniqueID] || (o3[a3.uniqueID] = {}))[h3] || [])[0] === k2 && r3[1]) && r3[2], a3 = s3 && c3.childNodes[s3];
while (a3 = ++s3 && a3 && a3[l3] || (d3 = s3 = 0) || u3.pop())
if (1 === a3.nodeType && ++d3 && a3 === e4) {
i3[h3] = [k2, s3, d3];
break;
}
} else if (p3 && (d3 = s3 = (r3 = (i3 = (o3 = (a3 = e4)[S2] || (a3[S2] = {}))[a3.uniqueID] || (o3[a3.uniqueID] = {}))[h3] || [])[0] === k2 && r3[1]), false === d3) {
while (a3 = ++s3 && a3 && a3[l3] || (d3 = s3 = 0) || u3.pop())
if ((x3 ? a3.nodeName.toLowerCase() === f3 : 1 === a3.nodeType) && ++d3 && (p3 && ((i3 = (o3 = a3[S2] || (a3[S2] = {}))[a3.uniqueID] || (o3[a3.uniqueID] = {}))[h3] = [k2, d3]), a3 === e4))
break;
}
return (d3 -= v3) === g3 || d3 % g3 == 0 && 0 <= d3 / g3;
}
};
}, PSEUDO: function(e3, o3) {
var t3, a3 = b2.pseudos[e3] || b2.setFilters[e3.toLowerCase()] || se2.error("unsupported pseudo: " + e3);
return a3[S2] ? a3(o3) : 1 < a3.length ? (t3 = [e3, e3, "", o3], b2.setFilters.hasOwnProperty(e3.toLowerCase()) ? le2(function(e4, t4) {
var n3, r3 = a3(e4, o3), i3 = r3.length;
while (i3--)
e4[n3 = P2(e4, r3[i3])] = !(t4[n3] = r3[i3]);
}) : function(e4) {
return a3(e4, 0, t3);
}) : a3;
} }, pseudos: { not: le2(function(e3) {
var r3 = [], i3 = [], s3 = f2(e3.replace($2, "$1"));
return s3[S2] ? le2(function(e4, t3, n3, r4) {
var i4, o3 = s3(e4, null, r4, []), a3 = e4.length;
while (a3--)
(i4 = o3[a3]) && (e4[a3] = !(t3[a3] = i4));
}) : function(e4, t3, n3) {
return r3[0] = e4, s3(r3, null, n3, i3), r3[0] = null, !i3.pop();
};
}), has: le2(function(t3) {
return function(e3) {
return 0 < se2(t3, e3).length;
};
}), contains: le2(function(t3) {
return t3 = t3.replace(te2, ne2), function(e3) {
return -1 < (e3.textContent || o2(e3)).indexOf(t3);
};
}), lang: le2(function(n3) {
return V2.test(n3 || "") || se2.error("unsupported lang: " + n3), n3 = n3.replace(te2, ne2).toLowerCase(), function(e3) {
var t3;
do {
if (t3 = E2 ? e3.lang : e3.getAttribute("xml:lang") || e3.getAttribute("lang"))
return (t3 = t3.toLowerCase()) === n3 || 0 === t3.indexOf(n3 + "-");
} while ((e3 = e3.parentNode) && 1 === e3.nodeType);
return false;
};
}), target: function(e3) {
var t3 = n2.location && n2.location.hash;
return t3 && t3.slice(1) === e3.id;
}, root: function(e3) {
return e3 === a2;
}, focus: function(e3) {
return e3 === C2.activeElement && (!C2.hasFocus || C2.hasFocus()) && !!(e3.type || e3.href || ~e3.tabIndex);
}, enabled: ge2(false), disabled: ge2(true), checked: function(e3) {
var t3 = e3.nodeName.toLowerCase();
return "input" === t3 && !!e3.checked || "option" === t3 && !!e3.selected;
}, selected: function(e3) {
return e3.parentNode && e3.parentNode.selectedIndex, true === e3.selected;
}, empty: function(e3) {
for (e3 = e3.firstChild; e3; e3 = e3.nextSibling)
if (e3.nodeType < 6)
return false;
return true;
}, parent: function(e3) {
return !b2.pseudos.empty(e3);
}, header: function(e3) {
return J2.test(e3.nodeName);
}, input: function(e3) {
return Q2.test(e3.nodeName);
}, button: function(e3) {
var t3 = e3.nodeName.toLowerCase();
return "input" === t3 && "button" === e3.type || "button" === t3;
}, text: function(e3) {
var t3;
return "input" === e3.nodeName.toLowerCase() && "text" === e3.type && (null == (t3 = e3.getAttribute("type")) || "text" === t3.toLowerCase());
}, first: ve2(function() {
return [0];
}), last: ve2(function(e3, t3) {
return [t3 - 1];
}), eq: ve2(function(e3, t3, n3) {
return [n3 < 0 ? n3 + t3 : n3];
}), even: ve2(function(e3, t3) {
for (var n3 = 0; n3 < t3; n3 += 2)
e3.push(n3);
return e3;
}), odd: ve2(function(e3, t3) {
for (var n3 = 1; n3 < t3; n3 += 2)
e3.push(n3);
return e3;
}), lt: ve2(function(e3, t3, n3) {
for (var r3 = n3 < 0 ? n3 + t3 : t3 < n3 ? t3 : n3; 0 <= --r3; )
e3.push(r3);
return e3;
}), gt: ve2(function(e3, t3, n3) {
for (var r3 = n3 < 0 ? n3 + t3 : n3; ++r3 < t3; )
e3.push(r3);
return e3;
}) } }).pseudos.nth = b2.pseudos.eq, { radio: true, checkbox: true, file: true, password: true, image: true })
b2.pseudos[e2] = de2(e2);
for (e2 in { submit: true, reset: true })
b2.pseudos[e2] = he2(e2);
function me2() {
}
function xe2(e3) {
for (var t3 = 0, n3 = e3.length, r3 = ""; t3 < n3; t3++)
r3 += e3[t3].value;
return r3;
}
function be2(s3, e3, t3) {
var u3 = e3.dir, l3 = e3.next, c3 = l3 || u3, f3 = t3 && "parentNode" === c3, p3 = r2++;
return e3.first ? function(e4, t4, n3) {
while (e4 = e4[u3])
if (1 === e4.nodeType || f3)
return s3(e4, t4, n3);
return false;
} : function(e4, t4, n3) {
var r3, i3, o3, a3 = [k2, p3];
if (n3) {
while (e4 = e4[u3])
if ((1 === e4.nodeType || f3) && s3(e4, t4, n3))
return true;
} else
while (e4 = e4[u3])
if (1 === e4.nodeType || f3)
if (i3 = (o3 = e4[S2] || (e4[S2] = {}))[e4.uniqueID] || (o3[e4.uniqueID] = {}), l3 && l3 === e4.nodeName.toLowerCase())
e4 = e4[u3] || e4;
else {
if ((r3 = i3[c3]) && r3[0] === k2 && r3[1] === p3)
return a3[2] = r3[2];
if ((i3[c3] = a3)[2] = s3(e4, t4, n3))
return true;
}
return false;
};
}
function we2(i3) {
return 1 < i3.length ? function(e3, t3, n3) {
var r3 = i3.length;
while (r3--)
if (!i3[r3](e3, t3, n3))
return false;
return true;
} : i3[0];
}
function Te2(e3, t3, n3, r3, i3) {
for (var o3, a3 = [], s3 = 0, u3 = e3.length, l3 = null != t3; s3 < u3; s3++)
(o3 = e3[s3]) && (n3 && !n3(o3, r3, i3) || (a3.push(o3), l3 && t3.push(s3)));
return a3;
}
function Ce2(d3, h3, g3, v3, y3, e3) {
return v3 && !v3[S2] && (v3 = Ce2(v3)), y3 && !y3[S2] && (y3 = Ce2(y3, e3)), le2(function(e4, t3, n3, r3) {
var i3, o3, a3, s3 = [], u3 = [], l3 = t3.length, c3 = e4 || function(e5, t4, n4) {
for (var r4 = 0, i4 = t4.length; r4 < i4; r4++)
se2(e5, t4[r4], n4);
return n4;
}(h3 || "*", n3.nodeType ? [n3] : n3, []), f3 = !d3 || !e4 && h3 ? c3 : Te2(c3, s3, d3, n3, r3), p3 = g3 ? y3 || (e4 ? d3 : l3 || v3) ? [] : t3 : f3;
if (g3 && g3(f3, p3, n3, r3), v3) {
i3 = Te2(p3, u3), v3(i3, [], n3, r3), o3 = i3.length;
while (o3--)
(a3 = i3[o3]) && (p3[u3[o3]] = !(f3[u3[o3]] = a3));
}
if (e4) {
if (y3 || d3) {
if (y3) {
i3 = [], o3 = p3.length;
while (o3--)
(a3 = p3[o3]) && i3.push(f3[o3] = a3);
y3(null, p3 = [], i3, r3);
}
o3 = p3.length;
while (o3--)
(a3 = p3[o3]) && -1 < (i3 = y3 ? P2(e4, a3) : s3[o3]) && (e4[i3] = !(t3[i3] = a3));
}
} else
p3 = Te2(p3 === t3 ? p3.splice(l3, p3.length) : p3), y3 ? y3(null, t3, p3, r3) : H2.apply(t3, p3);
});
}
function Ee2(e3) {
for (var i3, t3, n3, r3 = e3.length, o3 = b2.relative[e3[0].type], a3 = o3 || b2.relative[" "], s3 = o3 ? 1 : 0, u3 = be2(function(e4) {
return e4 === i3;
}, a3, true), l3 = be2(function(e4) {
return -1 < P2(i3, e4);
}, a3, true), c3 = [function(e4, t4, n4) {
var r4 = !o3 && (n4 || t4 !== w2) || ((i3 = t4).nodeType ? u3(e4, t4, n4) : l3(e4, t4, n4));
return i3 = null, r4;
}]; s3 < r3; s3++)
if (t3 = b2.relative[e3[s3].type])
c3 = [be2(we2(c3), t3)];
else {
if ((t3 = b2.filter[e3[s3].type].apply(null, e3[s3].matches))[S2]) {
for (n3 = ++s3; n3 < r3; n3++)
if (b2.relative[e3[n3].type])
break;
return Ce2(1 < s3 && we2(c3), 1 < s3 && xe2(e3.slice(0, s3 - 1).concat({ value: " " === e3[s3 - 2].type ? "*" : "" })).replace($2, "$1"), t3, s3 < n3 && Ee2(e3.slice(s3, n3)), n3 < r3 && Ee2(e3 = e3.slice(n3)), n3 < r3 && xe2(e3));
}
c3.push(t3);
}
return we2(c3);
}
return me2.prototype = b2.filters = b2.pseudos, b2.setFilters = new me2(), h2 = se2.tokenize = function(e3, t3) {
var n3, r3, i3, o3, a3, s3, u3, l3 = x2[e3 + " "];
if (l3)
return t3 ? 0 : l3.slice(0);
a3 = e3, s3 = [], u3 = b2.preFilter;
while (a3) {
for (o3 in n3 && !(r3 = _2.exec(a3)) || (r3 && (a3 = a3.slice(r3[0].length) || a3), s3.push(i3 = [])), n3 = false, (r3 = z2.exec(a3)) && (n3 = r3.shift(), i3.push({ value: n3, type: r3[0].replace($2, " ") }), a3 = a3.slice(n3.length)), b2.filter)
!(r3 = G2[o3].exec(a3)) || u3[o3] && !(r3 = u3[o3](r3)) || (n3 = r3.shift(), i3.push({ value: n3, type: o3, matches: r3 }), a3 = a3.slice(n3.length));
if (!n3)
break;
}
return t3 ? a3.length : a3 ? se2.error(e3) : x2(e3, s3).slice(0);
}, f2 = se2.compile = function(e3, t3) {
var n3, v3, y3, m3, x3, r3, i3 = [], o3 = [], a3 = A2[e3 + " "];
if (!a3) {
t3 || (t3 = h2(e3)), n3 = t3.length;
while (n3--)
(a3 = Ee2(t3[n3]))[S2] ? i3.push(a3) : o3.push(a3);
(a3 = A2(e3, (v3 = o3, m3 = 0 < (y3 = i3).length, x3 = 0 < v3.length, r3 = function(e4, t4, n4, r4, i4) {
var o4, a4, s3, u3 = 0, l3 = "0", c3 = e4 && [], f3 = [], p3 = w2, d3 = e4 || x3 && b2.find.TAG("*", i4), h3 = k2 += null == p3 ? 1 : Math.random() || 0.1, g3 = d3.length;
for (i4 && (w2 = t4 == C2 || t4 || i4); l3 !== g3 && null != (o4 = d3[l3]); l3++) {
if (x3 && o4) {
a4 = 0, t4 || o4.ownerDocument == C2 || (T2(o4), n4 = !E2);
while (s3 = v3[a4++])
if (s3(o4, t4 || C2, n4)) {
r4.push(o4);
break;
}
i4 && (k2 = h3);
}
m3 && ((o4 = !s3 && o4) && u3--, e4 && c3.push(o4));
}
if (u3 += l3, m3 && l3 !== u3) {
a4 = 0;
while (s3 = y3[a4++])
s3(c3, f3, t4, n4);
if (e4) {
if (0 < u3)
while (l3--)
c3[l3] || f3[l3] || (f3[l3] = q2.call(r4));
f3 = Te2(f3);
}
H2.apply(r4, f3), i4 && !e4 && 0 < f3.length && 1 < u3 + y3.length && se2.uniqueSort(r4);
}
return i4 && (k2 = h3, w2 = p3), c3;
}, m3 ? le2(r3) : r3))).selector = e3;
}
return a3;
}, g2 = se2.select = function(e3, t3, n3, r3) {
var i3, o3, a3, s3, u3, l3 = "function" == typeof e3 && e3, c3 = !r3 && h2(e3 = l3.selector || e3);
if (n3 = n3 || [], 1 === c3.length) {
if (2 < (o3 = c3[0] = c3[0].slice(0)).length && "ID" === (a3 = o3[0]).type && 9 === t3.nodeType && E2 && b2.relative[o3[1].type]) {
if (!(t3 = (b2.find.ID(a3.matches[0].replace(te2, ne2), t3) || [])[0]))
return n3;
l3 && (t3 = t3.parentNode), e3 = e3.slice(o3.shift().value.length);
}
i3 = G2.needsContext.test(e3) ? 0 : o3.length;
while (i3--) {
if (a3 = o3[i3], b2.relative[s3 = a3.type])
break;
if ((u3 = b2.find[s3]) && (r3 = u3(a3.matches[0].replace(te2, ne2), ee2.test(o3[0].type) && ye2(t3.parentNode) || t3))) {
if (o3.splice(i3, 1), !(e3 = r3.length && xe2(o3)))
return H2.apply(n3, r3), n3;
break;
}
}
}
return (l3 || f2(e3, c3))(r3, t3, !E2, n3, !t3 || ee2.test(e3) && ye2(t3.parentNode) || t3), n3;
}, d2.sortStable = S2.split("").sort(D2).join("") === S2, d2.detectDuplicates = !!l2, T2(), d2.sortDetached = ce2(function(e3) {
return 1 & e3.compareDocumentPosition(C2.createElement("fieldset"));
}), ce2(function(e3) {
return e3.innerHTML = "<a href='#'></a>", "#" === e3.firstChild.getAttribute("href");
}) || fe2("type|href|height|width", function(e3, t3, n3) {
if (!n3)
return e3.getAttribute(t3, "type" === t3.toLowerCase() ? 1 : 2);
}), d2.attributes && ce2(function(e3) {
return e3.innerHTML = "<input/>", e3.firstChild.setAttribute("value", ""), "" === e3.firstChild.getAttribute("value");
}) || fe2("value", function(e3, t3, n3) {
if (!n3 && "input" === e3.nodeName.toLowerCase())
return e3.defaultValue;
}), ce2(function(e3) {
return null == e3.getAttribute("disabled");
}) || fe2(R2, function(e3, t3, n3) {
var r3;
if (!n3)
return true === e3[t3] ? t3.toLowerCase() : (r3 = e3.getAttributeNode(t3)) && r3.specified ? r3.value : null;
}), se2;
}(C);
S.find = d, S.expr = d.selectors, S.expr[":"] = S.expr.pseudos, S.uniqueSort = S.unique = d.uniqueSort, S.text = d.getText, S.isXMLDoc = d.isXML, S.contains = d.contains, S.escapeSelector = d.escape;
var h = function(e2, t2, n2) {
var r2 = [], i2 = void 0 !== n2;
while ((e2 = e2[t2]) && 9 !== e2.nodeType)
if (1 === e2.nodeType) {
if (i2 && S(e2).is(n2))
break;
r2.push(e2);
}
return r2;
}, T = function(e2, t2) {
for (var n2 = []; e2; e2 = e2.nextSibling)
1 === e2.nodeType && e2 !== t2 && n2.push(e2);
return n2;
}, k = S.expr.match.needsContext;
function A(e2, t2) {
return e2.nodeName && e2.nodeName.toLowerCase() === t2.toLowerCase();
}
var N = /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;
function D(e2, n2, r2) {
return m(n2) ? S.grep(e2, function(e3, t2) {
return !!n2.call(e3, t2, e3) !== r2;
}) : n2.nodeType ? S.grep(e2, function(e3) {
return e3 === n2 !== r2;
}) : "string" != typeof n2 ? S.grep(e2, function(e3) {
return -1 < i.call(n2, e3) !== r2;
}) : S.filter(n2, e2, r2);
}
S.filter = function(e2, t2, n2) {
var r2 = t2[0];
return n2 && (e2 = ":not(" + e2 + ")"), 1 === t2.length && 1 === r2.nodeType ? S.find.matchesSelector(r2, e2) ? [r2] : [] : S.find.matches(e2, S.grep(t2, function(e3) {
return 1 === e3.nodeType;
}));
}, S.fn.extend({ find: function(e2) {
var t2, n2, r2 = this.length, i2 = this;
if ("string" != typeof e2)
return this.pushStack(S(e2).filter(function() {
for (t2 = 0; t2 < r2; t2++)
if (S.contains(i2[t2], this))
return true;
}));
for (n2 = this.pushStack([]), t2 = 0; t2 < r2; t2++)
S.find(e2, i2[t2], n2);
return 1 < r2 ? S.uniqueSort(n2) : n2;
}, filter: function(e2) {
return this.pushStack(D(this, e2 || [], false));
}, not: function(e2) {
return this.pushStack(D(this, e2 || [], true));
}, is: function(e2) {
return !!D(this, "string" == typeof e2 && k.test(e2) ? S(e2) : e2 || [], false).length;
} });
var j, q = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;
(S.fn.init = function(e2, t2, n2) {
var r2, i2;
if (!e2)
return this;
if (n2 = n2 || j, "string" == typeof e2) {
if (!(r2 = "<" === e2[0] && ">" === e2[e2.length - 1] && 3 <= e2.length ? [null, e2, null] : q.exec(e2)) || !r2[1] && t2)
return !t2 || t2.jquery ? (t2 || n2).find(e2) : this.constructor(t2).find(e2);
if (r2[1]) {
if (t2 = t2 instanceof S ? t2[0] : t2, S.merge(this, S.parseHTML(r2[1], t2 && t2.nodeType ? t2.ownerDocument || t2 : E, true)), N.test(r2[1]) && S.isPlainObject(t2))
for (r2 in t2)
m(this[r2]) ? this[r2](t2[r2]) : this.attr(r2, t2[r2]);
return this;
}
return (i2 = E.getElementById(r2[2])) && (this[0] = i2, this.length = 1), this;
}
return e2.nodeType ? (this[0] = e2, this.length = 1, this) : m(e2) ? void 0 !== n2.ready ? n2.ready(e2) : e2(S) : S.makeArray(e2, this);
}).prototype = S.fn, j = S(E);
var L = /^(?:parents|prev(?:Until|All))/, H = { children: true, contents: true, next: true, prev: true };
function O(e2, t2) {
while ((e2 = e2[t2]) && 1 !== e2.nodeType)
;
return e2;
}
S.fn.extend({ has: function(e2) {
var t2 = S(e2, this), n2 = t2.length;
return this.filter(function() {
for (var e3 = 0; e3 < n2; e3++)
if (S.contains(this, t2[e3]))
return true;
});
}, closest: function(e2, t2) {
var n2, r2 = 0, i2 = this.length, o2 = [], a2 = "string" != typeof e2 && S(e2);
if (!k.test(e2)) {
for (; r2 < i2; r2++)
for (n2 = this[r2]; n2 && n2 !== t2; n2 = n2.parentNode)
if (n2.nodeType < 11 && (a2 ? -1 < a2.index(n2) : 1 === n2.nodeType && S.find.matchesSelector(n2, e2))) {
o2.push(n2);
break;
}
}
return this.pushStack(1 < o2.length ? S.uniqueSort(o2) : o2);
}, index: function(e2) {
return e2 ? "string" == typeof e2 ? i.call(S(e2), this[0]) : i.call(this, e2.jquery ? e2[0] : e2) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1;
}, add: function(e2, t2) {
return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e2, t2))));
}, addBack: function(e2) {
return this.add(null == e2 ? this.prevObject : this.prevObject.filter(e2));
} }), S.each({ parent: function(e2) {
var t2 = e2.parentNode;
return t2 && 11 !== t2.nodeType ? t2 : null;
}, parents: function(e2) {
return h(e2, "parentNode");
}, parentsUntil: function(e2, t2, n2) {
return h(e2, "parentNode", n2);
}, next: function(e2) {
return O(e2, "nextSibling");
}, prev: function(e2) {
return O(e2, "previousSibling");
}, nextAll: function(e2) {
return h(e2, "nextSibling");
}, prevAll: function(e2) {
return h(e2, "previousSibling");
}, nextUntil: function(e2, t2, n2) {
return h(e2, "nextSibling", n2);
}, prevUntil: function(e2, t2, n2) {
return h(e2, "previousSibling", n2);
}, siblings: function(e2) {
return T((e2.parentNode || {}).firstChild, e2);
}, children: function(e2) {
return T(e2.firstChild);
}, contents: function(e2) {
return null != e2.contentDocument && r(e2.contentDocument) ? e2.contentDocument : (A(e2, "template") && (e2 = e2.content || e2), S.merge([], e2.childNodes));
} }, function(r2, i2) {
S.fn[r2] = function(e2, t2) {
var n2 = S.map(this, i2, e2);
return "Until" !== r2.slice(-5) && (t2 = e2), t2 && "string" == typeof t2 && (n2 = S.filter(t2, n2)), 1 < this.length && (H[r2] || S.uniqueSort(n2), L.test(r2) && n2.reverse()), this.pushStack(n2);
};
});
var P = /[^\\x20\\t\\r\\n\\f]+/g;
function R(e2) {
return e2;
}
function M(e2) {
throw e2;
}
function I(e2, t2, n2, r2) {
var i2;
try {
e2 && m(i2 = e2.promise) ? i2.call(e2).done(t2).fail(n2) : e2 && m(i2 = e2.then) ? i2.call(e2, t2, n2) : t2.apply(void 0, [e2].slice(r2));
} catch (e3) {
n2.apply(void 0, [e3]);
}
}
S.Callbacks = function(r2) {
var e2, n2;
r2 = "string" == typeof r2 ? (e2 = r2, n2 = {}, S.each(e2.match(P) || [], function(e3, t3) {
n2[t3] = true;
}), n2) : S.extend({}, r2);
var i2, t2, o2, a2, s2 = [], u2 = [], l2 = -1, c2 = function() {
for (a2 = a2 || r2.once, o2 = i2 = true; u2.length; l2 = -1) {
t2 = u2.shift();
while (++l2 < s2.length)
false === s2[l2].apply(t2[0], t2[1]) && r2.stopOnFalse && (l2 = s2.length, t2 = false);
}
r2.memory || (t2 = false), i2 = false, a2 && (s2 = t2 ? [] : "");
}, f2 = { add: function() {
return s2 && (t2 && !i2 && (l2 = s2.length - 1, u2.push(t2)), function n3(e3) {
S.each(e3, function(e4, t3) {
m(t3) ? r2.unique && f2.has(t3) || s2.push(t3) : t3 && t3.length && "string" !== w(t3) && n3(t3);
});
}(arguments), t2 && !i2 && c2()), this;
}, remove: function() {
return S.each(arguments, function(e3, t3) {
var n3;
while (-1 < (n3 = S.inArray(t3, s2, n3)))
s2.splice(n3, 1), n3 <= l2 && l2--;
}), this;
}, has: function(e3) {
return e3 ? -1 < S.inArray(e3, s2) : 0 < s2.length;
}, empty: function() {
return s2 && (s2 = []), this;
}, disable: function() {
return a2 = u2 = [], s2 = t2 = "", this;
}, disabled: function() {
return !s2;
}, lock: function() {
return a2 = u2 = [], t2 || i2 || (s2 = t2 = ""), this;
}, locked: function() {
return !!a2;
}, fireWith: function(e3, t3) {
return a2 || (t3 = [e3, (t3 = t3 || []).slice ? t3.slice() : t3], u2.push(t3), i2 || c2()), this;
}, fire: function() {
return f2.fireWith(this, arguments), this;
}, fired: function() {
return !!o2;
} };
return f2;
}, S.extend({ Deferred: function(e2) {
var o2 = [["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"]], i2 = "pending", a2 = { state: function() {
return i2;
}, always: function() {
return s2.done(arguments).fail(arguments), this;
}, "catch": function(e3) {
return a2.then(null, e3);
}, pipe: function() {
var i3 = arguments;
return S.Deferred(function(r2) {
S.each(o2, function(e3, t2) {
var n2 = m(i3[t2[4]]) && i3[t2[4]];
s2[t2[1]](function() {
var e4 = n2 && n2.apply(this, arguments);
e4 && m(e4.promise) ? e4.promise().progress(r2.notify).done(r2.resolve).fail(r2.reject) : r2[t2[0] + "With"](this, n2 ? [e4] : arguments);
});
}), i3 = null;
}).promise();
}, then: function(t2, n2, r2) {
var u2 = 0;
function l2(i3, o3, a3, s3) {
return function() {
var n3 = this, r3 = arguments, e3 = function() {
var e4, t4;
if (!(i3 < u2)) {
if ((e4 = a3.apply(n3, r3)) === o3.promise())
throw new TypeError("Thenable self-resolution");
t4 = e4 && ("object" == typeof e4 || "function" == typeof e4) && e4.then, m(t4) ? s3 ? t4.call(e4, l2(u2, o3, R, s