Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function () {
  2.     if (window.MarkUp) return;
  3.     (function (a, b) {
  4.         function c() {
  5.             if (!q.isReady) {
  6.                 try {
  7.                     t.documentElement.doScroll("left")
  8.                 } catch (a) {
  9.                     setTimeout(c, 1);
  10.                     return
  11.                 }
  12.                 q.ready()
  13.             }
  14.         }
  15.         function d(a, b) {
  16.             b.src ? q.ajax({
  17.                 url: b.src,
  18.                 async: false,
  19.                 dataType: "script"
  20.             }) : q.globalEval(b.text || b.textContent || b.innerHTML || ""), b.parentNode && b.parentNode.removeChild(b)
  21.         }
  22.         function e(a, c, d, f, g, h) {
  23.             var i = a.length;
  24.             if (typeof c === "object") {
  25.                 for (var j in c) e(a, j, c[j], f, g, d);
  26.                 return a
  27.             }
  28.             if (d !== b) {
  29.                 f = !h && f && q.isFunction(d);
  30.                 for (j = 0; j < i; j++) g(a[j], c, f ? d.call(a[j], j, g(a[j], c)) : d, h);
  31.                 return a
  32.             }
  33.             return i ? g(a[0], c) : b
  34.         }
  35.         function f() {
  36.             return (new Date).getTime()
  37.         }
  38.         function g() {
  39.             return false
  40.         }
  41.         function h() {
  42.             return true
  43.         }
  44.         function i(a, b, c) {
  45.             c[0].type = a;
  46.             return q.event.handle.apply(b, c)
  47.         }
  48.         function j(a) {
  49.             var b, c = [],
  50.                 d = [],
  51.                 e = arguments,
  52.                 f, g, h, i, j, k;
  53.             g = q.data(this, "events");
  54.             if (!(a.liveFired === this || !g || !g.live || a.button && a.type === "click")) {
  55.                 a.liveFired = this;
  56.                 var l = g.live.slice(0);
  57.                 for (i = 0; i < l.length; i++) g = l[i], g.origType.replace(U, "") === a.type ? d.push(g.selector) : l.splice(i--, 1);
  58.                 f = q(a.target).closest(d, a.currentTarget), j = 0;
  59.                 for (k = f.length; j < k; j++) for (i = 0; i < l.length; i++) {
  60.                     g = l[i];
  61.                     if (f[j].selector === g.selector) {
  62.                         h = f[j].elem, d = null;
  63.                         if (g.preType === "mouseenter" || g.preType === "mouseleave") d = q(a.relatedTarget).closest(g.selector)[0];
  64.                         (!d || d !== h) && c.push({
  65.                             elem: h,
  66.                             handleObj: g
  67.                         })
  68.                     }
  69.                 }
  70.                 j = 0;
  71.                 for (k = c.length; j < k; j++) {
  72.                     f = c[j], a.currentTarget = f.elem, a.data = f.handleObj.data, a.handleObj = f.handleObj;
  73.                     if (f.handleObj.origHandler.apply(f.elem, e) === false) {
  74.                         b = false;
  75.                         break
  76.                     }
  77.                 }
  78.                 return b
  79.             }
  80.         }
  81.         function k(a, b) {
  82.             return "live." + (a && a !== "*" ? a + "." : "") + b.replace(/\./g, "`").replace(/ /g, "&")
  83.         }
  84.         function l(a) {
  85.             return !a || !a.parentNode || a.parentNode.nodeType === 11
  86.         }
  87.         function m(a, b) {
  88.             var c = 0;
  89.             b.each(function () {
  90.                 if (this.nodeName === (a[c] && a[c].nodeName)) {
  91.                     var b = q.data(a[c++]),
  92.                         d = q.data(this, b);
  93.                     if (b = b && b.events) {
  94.                         delete d.handle, d.events = {};
  95.                         for (var e in b) for (var f in b[e]) q.event.add(this, e, b[e][f], b[e][f].data)
  96.                     }
  97.                 }
  98.             })
  99.         }
  100.         function n(a, b, c) {
  101.             var d, e, f;
  102.             b = b && b[0] ? b[0].ownerDocument || b[0] : t;
  103.             if (a.length === 1 && typeof a[0] === "string" && a[0].length < 512 && b === t && !bn.test(a[0]) && (q.support.checkClone || !bo.test(a[0]))) {
  104.                 e = true;
  105.                 if (f = q.fragments[a[0]]) f !== 1 && (d = f)
  106.             }
  107.             d || (d = b.createDocumentFragment(), q.clean(a, b, d, c)), e && (q.fragments[a[0]] = f ? d : 1);
  108.             return {
  109.                 fragment: d,
  110.                 cacheable: e
  111.             }
  112.         }
  113.         function o(a, b) {
  114.             var c = {};
  115.             q.each(bT.concat.apply([], bT.slice(0, b)), function () {
  116.                 c[this] = a
  117.             });
  118.             return c
  119.         }
  120.         function p(a) {
  121.             return "scrollTo" in a && a.document ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : false
  122.         }
  123.         var q = function (a, b) {
  124.             return new q.fn.init(a, b)
  125.         },
  126.             r = a.jQuery,
  127.             s = a.$,
  128.             t = a.document,
  129.             u, v = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,
  130.             w = /^.[^:#\[\.,]*$/,
  131.             x = /\S/,
  132.             y = /^(\s|\u00A0)+|(\s|\u00A0)+$/g,
  133.             z = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
  134.             A = navigator.userAgent,
  135.             B = false,
  136.             C = [],
  137.             D, E = Object.prototype.toString,
  138.             F = Object.prototype.hasOwnProperty,
  139.             G = Array.prototype.push,
  140.             H = Array.prototype.slice,
  141.             I = Array.prototype.indexOf;
  142.         q.fn = q.prototype = {
  143.             init: function (a, c) {
  144.                 var d, e;
  145.                 if (!a) return this;
  146.                 if (a.nodeType) {
  147.                     this.context = this[0] = a, this.length = 1;
  148.                     return this
  149.                 }
  150.                 if (a === "body" && !c) {
  151.                     this.context = t, this[0] = t.body, this.selector = "body", this.length = 1;
  152.                     return this
  153.                 }
  154.                 if (typeof a === "string") {
  155.                     if ((d = v.exec(a)) && (d[1] || !c)) {
  156.                         if (d[1]) {
  157.                             e = c ? c.ownerDocument || c : t, (a = z.exec(a)) ? q.isPlainObject(c) ? (a = [t.createElement(a[1])], q.fn.attr.call(a, c, true)) : a = [e.createElement(a[1])] : (a = n([d[1]], [e]), a = (a.cacheable ? a.fragment.cloneNode(true) : a.fragment).childNodes);
  158.                             return q.merge(this, a)
  159.                         }
  160.                         if (c = t.getElementById(d[2])) {
  161.                             if (c.id !== d[2]) return u.find(a);
  162.                             this.length = 1, this[0] = c
  163.                         }
  164.                         this.context = t, this.selector = a;
  165.                         return this
  166.                     }
  167.                     if (!c && /^\w+$/.test(a)) {
  168.                         this.selector = a, this.context = t, a = t.getElementsByTagName(a);
  169.                         return q.merge(this, a)
  170.                     }
  171.                     return !c || c.jquery ? (c || u).find(a) : q(c).find(a)
  172.                 }
  173.                 if (q.isFunction(a)) return u.ready(a);
  174.                 a.selector !== b && (this.selector = a.selector, this.context = a.context);
  175.                 return q.makeArray(a, this)
  176.             },
  177.             selector: "",
  178.             jquery: "1.4.2",
  179.             length: 0,
  180.             size: function () {
  181.                 return this.length
  182.             },
  183.             toArray: function () {
  184.                 return H.call(this, 0)
  185.             },
  186.             get: function (a) {
  187.                 return a == null ? this.toArray() : a < 0 ? this.slice(a)[0] : this[a]
  188.             },
  189.             pushStack: function (a, b, c) {
  190.                 var d = q();
  191.                 q.isArray(a) ? G.apply(d, a) : q.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")");
  192.                 return d
  193.             },
  194.             each: function (a, b) {
  195.                 return q.each(this, a, b)
  196.             },
  197.             ready: function (a) {
  198.                 q.bindReady(), q.isReady ? a.call(t, q) : C && C.push(a);
  199.                 return this
  200.             },
  201.             eq: function (a) {
  202.                 return a === -1 ? this.slice(a) : this.slice(a, +a + 1)
  203.             },
  204.             first: function () {
  205.                 return this.eq(0)
  206.             },
  207.             last: function () {
  208.                 return this.eq(-1)
  209.             },
  210.             slice: function () {
  211.                 return this.pushStack(H.apply(this, arguments), "slice", H.call(arguments).join(","))
  212.             },
  213.             map: function (a) {
  214.                 return this.pushStack(q.map(this, function (b, c) {
  215.                     return a.call(b, c, b)
  216.                 }))
  217.             },
  218.             end: function () {
  219.                 return this.prevObject || q(null)
  220.             },
  221.             push: G,
  222.             sort: [].sort,
  223.             splice: [].splice
  224.         }, q.fn.init.prototype = q.fn, q.extend = q.fn.extend = function () {
  225.             var a = arguments[0] || {},
  226.                 c = 1,
  227.                 d = arguments.length,
  228.                 e = false,
  229.                 f, g, h, i;
  230.             typeof a === "boolean" && (e = a, a = arguments[1] || {}, c = 2), typeof a !== "object" && !q.isFunction(a) && (a = {}), d === c && (a = this, --c);
  231.             for (; c < d; c++) if ((f = arguments[c]) != null) for (g in f) h = a[g], i = f[g], a !== i && (e && i && (q.isPlainObject(i) || q.isArray(i)) ? (h = h && (q.isPlainObject(h) || q.isArray(h)) ? h : q.isArray(i) ? [] : {}, a[g] = q.extend(e, h, i)) : i !== b && (a[g] = i));
  232.             return a
  233.         }, q.extend({
  234.             noConflict: function (b) {
  235.                 a.$ = s, b && (a.jQuery = r);
  236.                 return q
  237.             },
  238.             isReady: false,
  239.             ready: function () {
  240.                 if (!q.isReady) {
  241.                     if (!t.body) return setTimeout(q.ready, 13);
  242.                     q.isReady = true;
  243.                     if (C) {
  244.                         for (var a, b = 0; a = C[b++];) a.call(t, q);
  245.                         C = null
  246.                     }
  247.                     q.fn.triggerHandler && q(t).triggerHandler("ready")
  248.                 }
  249.             },
  250.             bindReady: function () {
  251.                 if (!B) {
  252.                     B = true;
  253.                     if (t.readyState === "complete") return q.ready();
  254.                     if (t.addEventListener) t.addEventListener("DOMContentLoaded", D, false), a.addEventListener("load", q.ready, false);
  255.                     else if (t.attachEvent) {
  256.                         t.attachEvent("onreadystatechange", D), a.attachEvent("onload", q.ready);
  257.                         var b = false;
  258.                         try {
  259.                             b = a.frameElement == null
  260.                         } catch (a) {}
  261.                         t.documentElement.doScroll && b && c()
  262.                     }
  263.                 }
  264.             },
  265.             isFunction: function (a) {
  266.                 return E.call(a) === "[object Function]"
  267.             },
  268.             isArray: function (a) {
  269.                 return E.call(a) === "[object Array]"
  270.             },
  271.             isPlainObject: function (a) {
  272.                 if (!a || E.call(a) !== "[object Object]" || a.nodeType || a.setInterval) return false;
  273.                 if (a.constructor && !F.call(a, "constructor") && !F.call(a.constructor.prototype, "isPrototypeOf")) return false;
  274.                 var c;
  275.                 for (c in a);
  276.                 return c === b || F.call(a, c)
  277.             },
  278.             isEmptyObject: function (a) {
  279.                 for (var b in a) return false;
  280.                 return true
  281.             },
  282.             error: function (a) {
  283.                 throw a
  284.             },
  285.             parseJSON: function (b) {
  286.                 if (typeof b !== "string" || !b) return null;
  287.                 b = q.trim(b);
  288.                 if (/^[\],:{}\s]*$/.test(b.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return a.JSON && a.JSON.parse ? a.JSON.parse(b) : (new Function("return " + b))();
  289.                 q.error("Invalid JSON: " + b)
  290.             },
  291.             noop: function () {},
  292.             globalEval: function (a) {
  293.                 if (a && x.test(a)) {
  294.                     var b = t.getElementsByTagName("head")[0] || t.documentElement,
  295.                         c = t.createElement("script");
  296.                     c.type = "text/javascript", q.support.scriptEval ? c.appendChild(t.createTextNode(a)) : c.text = a, b.insertBefore(c, b.firstChild), b.removeChild(c)
  297.                 }
  298.             },
  299.             nodeName: function (a, b) {
  300.                 return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase()
  301.             },
  302.             each: function (a, c, d) {
  303.                 var e, f = 0,
  304.                     g = a.length,
  305.                     h = g === b || q.isFunction(a);
  306.                 if (d) {
  307.                     if (h) {
  308.                         for (e in a) if (c.apply(a[e], d) === false) break
  309.                     } else for (; f < g;) if (c.apply(a[f++], d) === false) break
  310.                 } else if (h) {
  311.                     for (e in a) if (c.call(a[e], e, a[e]) === false) break
  312.                 } else for (d = a[0]; f < g && c.call(d, f, d) !== false; d = a[++f]);
  313.                 return a
  314.             },
  315.             trim: function (a) {
  316.                 return (a || "").replace(y, "")
  317.             },
  318.             makeArray: function (a, b) {
  319.                 b = b || [], a != null && (a.length == null || typeof a === "string" || q.isFunction(a) || typeof a !== "function" && a.setInterval ? G.call(b, a) : q.merge(b, a));
  320.                 return b
  321.             },
  322.             inArray: function (a, b) {
  323.                 if (b.indexOf) return b.indexOf(a);
  324.                 for (var c = 0, d = b.length; c < d; c++) if (b[c] === a) return c;
  325.                 return -1
  326.             },
  327.             merge: function (a, c) {
  328.                 var d = a.length,
  329.                     e = 0;
  330.                 if (typeof c.length === "number") for (var f = c.length; e < f; e++) a[d++] = c[e];
  331.                 else for (; c[e] !== b;) a[d++] = c[e++];
  332.                 a.length = d;
  333.                 return a
  334.             },
  335.             grep: function (a, b, c) {
  336.                 for (var d = [], e = 0, f = a.length; e < f; e++)!c !== !b(a[e], e) && d.push(a[e]);
  337.                 return d
  338.             },
  339.             map: function (a, b, c) {
  340.                 for (var d = [], e, f = 0, g = a.length; f < g; f++) e = b(a[f], f, c), e != null && (d[d.length] = e);
  341.                 return d.concat.apply([], d)
  342.             },
  343.             guid: 1,
  344.             proxy: function (a, c, d) {
  345.                 arguments.length === 2 && (typeof c === "string" ? (d = a, a = d[c], c = b) : c && !q.isFunction(c) && (d = c, c = b)), !c && a && (c = function () {
  346.                     return a.apply(d || this, arguments)
  347.                 }), a && (c.guid = a.guid = a.guid || c.guid || q.guid++);
  348.                 return c
  349.             },
  350.             uaMatch: function (a) {
  351.                 a = a.toLowerCase(), a = /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || !/compatible/.test(a) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(a) || [];
  352.                 return {
  353.                     browser: a[1] || "",
  354.                     version: a[2] || "0"
  355.                 }
  356.             },
  357.             browser: {}
  358.         }), A = q.uaMatch(A), A.browser && (q.browser[A.browser] = true, q.browser.version = A.version), q.browser.webkit && (q.browser.safari = true), I && (q.inArray = function (a, b) {
  359.             return I.call(b, a)
  360.         }), u = q(t), t.addEventListener ? D = function () {
  361.             t.removeEventListener("DOMContentLoaded", D, false), q.ready()
  362.         } : t.attachEvent && (D = function () {
  363.             t.readyState === "complete" && (t.detachEvent("onreadystatechange", D), q.ready())
  364.         }), (function () {
  365.             q.support = {};
  366.             var b = t.documentElement,
  367.                 c = t.createElement("script"),
  368.                 d = t.createElement("div"),
  369.                 e = "script" + f();
  370.             d.style.display = "none", d.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
  371.             var g = d.getElementsByTagName("*"),
  372.                 h = d.getElementsByTagName("a")[0];
  373.             if (!(!g || !g.length || !h)) {
  374.                 q.support = {
  375.                     leadingWhitespace: d.firstChild.nodeType === 3,
  376.                     tbody: !d.getElementsByTagName("tbody").length,
  377.                     htmlSerialize: !(!d.getElementsByTagName("link").length),
  378.                     style: /red/.test(h.getAttribute("style")),
  379.                     hrefNormalized: h.getAttribute("href") === "/a",
  380.                     opacity: /^0.55$/.test(h.style.opacity),
  381.                     cssFloat: !(!h.style.cssFloat),
  382.                     checkOn: d.getElementsByTagName("input")[0].value === "on",
  383.                     optSelected: t.createElement("select").appendChild(t.createElement("option")).selected,
  384.                     parentNode: d.removeChild(d.appendChild(t.createElement("div"))).parentNode === null,
  385.                     deleteExpando: true,
  386.                     checkClone: false,
  387.                     scriptEval: false,
  388.                     noCloneEvent: true,
  389.                     boxModel: null
  390.                 }, c.type = "text/javascript";
  391.                 try {
  392.                     c.appendChild(t.createTextNode("window." + e + "=1;"))
  393.                 } catch (a) {}
  394.                 b.insertBefore(c, b.firstChild), a[e] && (q.support.scriptEval = true, delete a[e]);
  395.                 try {
  396.                     delete c.test
  397.                 } catch (a) {
  398.                     q.support.deleteExpando = false
  399.                 }
  400.                 b.removeChild(c), d.attachEvent && d.fireEvent && (d.attachEvent("onclick", function i() {
  401.                     q.support.noCloneEvent = false, d.detachEvent("onclick", i)
  402.                 }), d.cloneNode(true).fireEvent("onclick")), d = t.createElement("div"), d.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>", b = t.createDocumentFragment(), b.appendChild(d.firstChild), q.support.checkClone = b.cloneNode(true).cloneNode(true).lastChild.checked, q(function () {
  403.                     var a = t.createElement("div");
  404.                     a.style.width = a.style.paddingLeft = "1px", t.body.appendChild(a), q.boxModel = q.support.boxModel = a.offsetWidth === 2, t.body.removeChild(a).style.display = "none"
  405.                 }), b = function (a) {
  406.                     var b = t.createElement("div");
  407.                     a = "on" + a;
  408.                     var c = a in b;
  409.                     c || (b.setAttribute(a, "return;"), c = typeof b[a] === "function");
  410.                     return c
  411.                 }, q.support.submitBubbles = b("submit"), q.support.changeBubbles = b("change"), b = c = d = g = h = null
  412.             }
  413.         })(), q.props = {
  414.             "for": "htmlFor",
  415.             "class": "className",
  416.             readonly: "readOnly",
  417.             maxlength: "maxLength",
  418.             cellspacing: "cellSpacing",
  419.             rowspan: "rowSpan",
  420.             colspan: "colSpan",
  421.             tabindex: "tabIndex",
  422.             usemap: "useMap",
  423.             frameborder: "frameBorder"
  424.         };
  425.         var J = "jQuery" + f(),
  426.             K = 0,
  427.             L = {};
  428.         q.extend({
  429.             cache: {},
  430.             expando: J,
  431.             noData: {
  432.                 embed: true,
  433.                 object: true,
  434.                 applet: true
  435.             },
  436.             data: function (c, d, e) {
  437.                 if (!(c.nodeName && q.noData[c.nodeName.toLowerCase()])) {
  438.                     c = c == a ? L : c;
  439.                     var f = c[J],
  440.                         g = q.cache;
  441.                     if (!f && typeof d === "string" && e === b) return null;
  442.                     f || (f = ++K), typeof d === "object" ? (c[J] = f, g[f] = q.extend(true, {}, d)) : g[f] || (c[J] = f, g[f] = {}), c = g[f], e !== b && (c[d] = e);
  443.                     return typeof d === "string" ? c[d] : c
  444.                 }
  445.             },
  446.             removeData: function (b, c) {
  447.                 if (!(b.nodeName && q.noData[b.nodeName.toLowerCase()])) {
  448.                     b = b == a ? L : b;
  449.                     var d = b[J],
  450.                         e = q.cache,
  451.                         f = e[d];
  452.                     c ? f && (delete f[c], q.isEmptyObject(f) && q.removeData(b)) : (q.support.deleteExpando ? delete b[q.expando] : b.removeAttribute && b.removeAttribute(q.expando), delete e[d])
  453.                 }
  454.             }
  455.         }), q.fn.extend({
  456.             data: function (a, c) {
  457.                 if (typeof a === "undefined" && this.length) return q.data(this[0]);
  458.                 if (typeof a === "object") return this.each(function () {
  459.                     q.data(this, a)
  460.                 });
  461.                 var d = a.split(".");
  462.                 d[1] = d[1] ? "." + d[1] : "";
  463.                 if (c === b) {
  464.                     var e = this.triggerHandler("getData" + d[1] + "!", [d[0]]);
  465.                     e === b && this.length && (e = q.data(this[0], a));
  466.                     return e === b && d[1] ? this.data(d[0]) : e
  467.                 }
  468.                 return this.trigger("setData" + d[1] + "!", [d[0], c]).each(function () {
  469.                     q.data(this, a, c)
  470.                 })
  471.             },
  472.             removeData: function (a) {
  473.                 return this.each(function () {
  474.                     q.removeData(this, a)
  475.                 })
  476.             }
  477.         }), q.extend({
  478.             queue: function (a, b, c) {
  479.                 if (a) {
  480.                     b = (b || "fx") + "queue";
  481.                     var d = q.data(a, b);
  482.                     if (!c) return d || [];
  483.                     !d || q.isArray(c) ? d = q.data(a, b, q.makeArray(c)) : d.push(c);
  484.                     return d
  485.                 }
  486.             },
  487.             dequeue: function (a, b) {
  488.                 b = b || "fx";
  489.                 var c = q.queue(a, b),
  490.                     d = c.shift();
  491.                 d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), d.call(a, function () {
  492.                     q.dequeue(a, b)
  493.                 }))
  494.             }
  495.         }), q.fn.extend({
  496.             queue: function (a, c) {
  497.                 typeof a !== "string" && (c = a, a = "fx");
  498.                 if (c === b) return q.queue(this[0], a);
  499.                 return this.each(function () {
  500.                     var b = q.queue(this, a, c);
  501.                     a === "fx" && b[0] !== "inprogress" && q.dequeue(this, a)
  502.                 })
  503.             },
  504.             dequeue: function (a) {
  505.                 return this.each(function () {
  506.                     q.dequeue(this, a)
  507.                 })
  508.             },
  509.             delay: function (a, b) {
  510.                 a = q.fx ? q.fx.speeds[a] || a : a, b = b || "fx";
  511.                 return this.queue(b, function () {
  512.                     var c = this;
  513.                     setTimeout(function () {
  514.                         q.dequeue(c, b)
  515.                     }, a)
  516.                 })
  517.             },
  518.             clearQueue: function (a) {
  519.                 return this.queue(a || "fx", [])
  520.             }
  521.         });
  522.         var M = /[\n\t]/g,
  523.             N = /\s+/,
  524.             O = /\r/g,
  525.             P = /href|src|style/,
  526.             Q = /(button|input)/i,
  527.             R = /(button|input|object|select|textarea)/i,
  528.             S = /^(a|area)$/i,
  529.             T = /radio|checkbox/;
  530.         q.fn.extend({
  531.             attr: function (a, b) {
  532.                 return e(this, a, b, true, q.attr)
  533.             },
  534.             removeAttr: function (a) {
  535.                 return this.each(function () {
  536.                     q.attr(this, a, ""), this.nodeType === 1 && this.removeAttribute(a)
  537.                 })
  538.             },
  539.             addClass: function (a) {
  540.                 if (q.isFunction(a)) return this.each(function (b) {
  541.                     var c = q(this);
  542.                     c.addClass(a.call(this, b, c.attr("class")))
  543.                 });
  544.                 if (a && typeof a === "string") for (var b = (a || "").split(N), c = 0, d = this.length; c < d; c++) {
  545.                     var e = this[c];
  546.                     if (e.nodeType === 1) if (e.className) {
  547.                         for (var f = " " + e.className + " ", g = e.className, h = 0, i = b.length; h < i; h++) f.indexOf(" " + b[h] + " ") < 0 && (g += " " + b[h]);
  548.                         e.className = q.trim(g)
  549.                     } else e.className = a
  550.                 }
  551.                 return this
  552.             },
  553.             removeClass: function (a) {
  554.                 if (q.isFunction(a)) return this.each(function (b) {
  555.                     var c = q(this);
  556.                     c.removeClass(a.call(this, b, c.attr("class")))
  557.                 });
  558.                 if (a && typeof a === "string" || a === b) for (var c = (a || "").split(N), d = 0, e = this.length; d < e; d++) {
  559.                     var f = this[d];
  560.                     if (f.nodeType === 1 && f.className) if (a) {
  561.                         for (var g = (" " + f.className + " ").replace(M, " "), h = 0, i = c.length; h < i; h++) g = g.replace(" " + c[h] + " ", " ");
  562.                         f.className = q.trim(g)
  563.                     } else f.className = ""
  564.                 }
  565.                 return this
  566.             },
  567.             toggleClass: function (a, b) {
  568.                 var c = typeof a,
  569.                     d = typeof b === "boolean";
  570.                 if (q.isFunction(a)) return this.each(function (c) {
  571.                     var d = q(this);
  572.                     d.toggleClass(a.call(this, c, d.attr("class"), b), b)
  573.                 });
  574.                 return this.each(function () {
  575.                     if (c === "string") for (var e, f = 0, g = q(this), h = b, i = a.split(N); e = i[f++];) h = d ? h : !g.hasClass(e), g[h ? "addClass" : "removeClass"](e);
  576.                     else if (c === "undefined" || c === "boolean") this.className && q.data(this, "__className__", this.className), this.className = this.className || a === false ? "" : q.data(this, "__className__") || ""
  577.                 })
  578.             },
  579.             hasClass: function (a) {
  580.                 a = " " + a + " ";
  581.                 for (var b = 0, c = this.length; b < c; b++) if ((" " + this[b].className + " ").replace(M, " ").indexOf(a) > -1) return true;
  582.                 return false
  583.             },
  584.             val: function (a) {
  585.                 if (a === b) {
  586.                     var c = this[0];
  587.                     if (c) {
  588.                         if (q.nodeName(c, "option")) return (c.attributes.value || {}).specified ? c.value : c.text;
  589.                         if (q.nodeName(c, "select")) {
  590.                             var d = c.selectedIndex,
  591.                                 e = [],
  592.                                 f = c.options;
  593.                             c = c.type === "select-one";
  594.                             if (d < 0) return null;
  595.                             var g = c ? d : 0;
  596.                             for (d = c ? d + 1 : f.length; g < d; g++) {
  597.                                 var h = f[g];
  598.                                 if (h.selected) {
  599.                                     a = q(h).val();
  600.                                     if (c) return a;
  601.                                     e.push(a)
  602.                                 }
  603.                             }
  604.                             return e
  605.                         }
  606.                         if (T.test(c.type) && !q.support.checkOn) return c.getAttribute("value") === null ? "on" : c.value;
  607.                         return (c.value || "").replace(O, "")
  608.                     }
  609.                     return b
  610.                 }
  611.                 var i = q.isFunction(a);
  612.                 return this.each(function (b) {
  613.                     var c = q(this),
  614.                         d = a;
  615.                     if (this.nodeType === 1) {
  616.                         i && (d = a.call(this, b, c.val())), typeof d === "number" && (d += "");
  617.                         if (q.isArray(d) && T.test(this.type)) this.checked = q.inArray(c.val(), d) >= 0;
  618.                         else if (q.nodeName(this, "select")) {
  619.                             var e = q.makeArray(d);
  620.                             q("option", this).each(function () {
  621.                                 this.selected = q.inArray(q(this).val(), e) >= 0
  622.                             }), e.length || (this.selectedIndex = -1)
  623.                         } else this.value = d
  624.                     }
  625.                 })
  626.             }
  627.         }), q.extend({
  628.             attrFn: {
  629.                 val: true,
  630.                 css: true,
  631.                 html: true,
  632.                 text: true,
  633.                 data: true,
  634.                 width: true,
  635.                 height: true,
  636.                 offset: true
  637.             },
  638.             attr: function (a, c, d, e) {
  639.                 if (!a || a.nodeType === 3 || a.nodeType === 8) return b;
  640.                 if (e && c in q.attrFn) return q(a)[c](d);
  641.                 e = a.nodeType !== 1 || !q.isXMLDoc(a);
  642.                 var f = d !== b;
  643.                 c = e && q.props[c] || c;
  644.                 if (a.nodeType === 1) {
  645.                     var g = P.test(c);
  646.                     if (c in a && e && !g) {
  647.                         f && (c === "type" && Q.test(a.nodeName) && a.parentNode && q.error("type property can't be changed"), a[c] = d);
  648.                         if (q.nodeName(a, "form") && a.getAttributeNode(c)) return a.getAttributeNode(c).nodeValue;
  649.                         if (c === "tabIndex") return (c = a.getAttributeNode("tabIndex")) && c.specified ? c.value : R.test(a.nodeName) || S.test(a.nodeName) && a.href ? 0 : b;
  650.                         return a[c]
  651.                     }
  652.                     if (!q.support.style && e && c === "style") {
  653.                         f && (a.style.cssText = "" + d);
  654.                         return a.style.cssText
  655.                     }
  656.                     f && a.setAttribute(c, "" + d), a = !q.support.hrefNormalized && e && g ? a.getAttribute(c, 2) : a.getAttribute(c);
  657.                     return a === null ? b : a
  658.                 }
  659.                 return q.style(a, c, d)
  660.             }
  661.         });
  662.         var U = /\.(.*)$/,
  663.             V = function (a) {
  664.                 return a.replace(/[^\w\s\.\|`]/g, function (a) {
  665.                     return "\\" + a
  666.                 })
  667.             };
  668.         q.event = {
  669.             add: function (c, d, e, f) {
  670.                 if (!(c.nodeType === 3 || c.nodeType === 8)) {
  671.                     c.setInterval && c !== a && !c.frameElement && (c = a);
  672.                     var g, h;
  673.                     e.handler && (g = e, e = g.handler), e.guid || (e.guid = q.guid++);
  674.                     if (h = q.data(c)) {
  675.                         var i = h.events = h.events || {},
  676.                             j = h.handle;
  677.                         j || (h.handle = j = function () {
  678.                             return typeof q !== "undefined" && !q.event.triggered ? q.event.handle.apply(j.elem, arguments) : b
  679.                         }), j.elem = c, d = d.split(" ");
  680.                         for (var k, l = 0, m; k = d[l++];) {
  681.                             h = g ? q.extend({}, g) : {
  682.                                 handler: e,
  683.                                 data: f
  684.                             }, k.indexOf(".") > -1 ? (m = k.split("."), k = m.shift(), h.namespace = m.slice(0).sort().join(".")) : (m = [], h.namespace = ""), h.type = k, h.guid = e.guid;
  685.                             var n = i[k],
  686.                                 o = q.event.special[k] || {};
  687.                             if (!n) {
  688.                                 n = i[k] = [];
  689.                                 if (!o.setup || o.setup.call(c, f, m, j) === false) c.addEventListener ? c.addEventListener(k, j, false) : c.attachEvent && c.attachEvent("on" + k, j)
  690.                             }
  691.                             o.add && (o.add.call(c, h), h.handler.guid || (h.handler.guid = e.guid)), n.push(h), q.event.global[k] = true
  692.                         }
  693.                         c = null
  694.                     }
  695.                 }
  696.             },
  697.             global: {},
  698.             remove: function (a, b, c, d) {
  699.                 if (!(a.nodeType === 3 || a.nodeType === 8)) {
  700.                     var e, f = 0,
  701.                         g, h, i, j, k, l, m = q.data(a),
  702.                         n = m && m.events;
  703.                     if (m && n) {
  704.                         b && b.type && (c = b.handler, b = b.type);
  705.                         if (!b || typeof b === "string" && b.charAt(0) === ".") {
  706.                             b = b || "";
  707.                             for (e in n) q.event.remove(a, e + b)
  708.                         } else {
  709.                             for (b = b.split(" "); e = b[f++];) {
  710.                                 j = e, g = e.indexOf(".") < 0, h = [], g || (h = e.split("."), e = h.shift(), i = new RegExp("(^|\\.)" + q.map(h.slice(0).sort(), V).join("\\.(?:.*\\.)?") + "(\\.|$)"));
  711.                                 if (k = n[e]) if (c) {
  712.                                     j = q.event.special[e] || {};
  713.                                     for (o = d || 0; o < k.length; o++) {
  714.                                         l = k[o];
  715.                                         if (c.guid === l.guid) {
  716.                                             if (g || i.test(l.namespace)) d == null && k.splice(o--, 1), j.remove && j.remove.call(a, l);
  717.                                             if (d != null) break
  718.                                         }
  719.                                     }
  720.                                     if (k.length === 0 || d != null && k.length === 1)(!j.teardown || j.teardown.call(a, h) === false) && W(a, e, m.handle), delete n[e]
  721.                                 } else for (var o = 0; o < k.length; o++) {
  722.                                     l = k[o];
  723.                                     if (g || i.test(l.namespace)) q.event.remove(a, j, l.handler, o), k.splice(o--, 1)
  724.                                 }
  725.                             }
  726.                             if (q.isEmptyObject(n)) {
  727.                                 if (b = m.handle) b.elem = null;
  728.                                 delete m.events, delete m.handle, q.isEmptyObject(m) && q.removeData(a)
  729.                             }
  730.                         }
  731.                     }
  732.                 }
  733.             },
  734.             trigger: function (a, c, d, e) {
  735.                 var f = a.type || a;
  736.                 if (!e) {
  737.                     a = typeof a === "object" ? a[J] ? a : q.extend(q.Event(f), a) : q.Event(f), f.indexOf("!") >= 0 && (a.type = f = f.slice(0, -1), a.exclusive = true), d || (a.stopPropagation(), q.event.global[f] && q.each(q.cache, function () {
  738.                         this.events && this.events[f] && q.event.trigger(a, c, this.handle.elem)
  739.                     }));
  740.                     if (!d || d.nodeType === 3 || d.nodeType === 8) return b;
  741.                     a.result = b, a.target = d, c = q.makeArray(c), c.unshift(a)
  742.                 }
  743.                 a.currentTarget = d, (e = q.data(d, "handle")) && e.apply(d, c), e = d.parentNode || d.ownerDocument;
  744.                 try {
  745.                     d && d.nodeName && q.noData[d.nodeName.toLowerCase()] || d["on" + f] && d["on" + f].apply(d, c) === false && (a.result = false)
  746.                 } catch (a) {}
  747.                 if (!a.isPropagationStopped() && e) q.event.trigger(a, c, e, true);
  748.                 else if (!a.isDefaultPrevented()) {
  749.                     e = a.target;
  750.                     var g, h = q.nodeName(e, "a") && f === "click",
  751.                         i = q.event.special[f] || {};
  752.                     if ((!i._default || i._default.call(d, a) === false) && !h && !(e && e.nodeName && q.noData[e.nodeName.toLowerCase()])) {
  753.                         try {
  754.                             if (e[f]) {
  755.                                 if (g = e["on" + f]) e["on" + f] = null;
  756.                                 q.event.triggered = true, e[f]()
  757.                             }
  758.                         } catch (a) {}
  759.                         g && (e["on" + f] = g), q.event.triggered = false
  760.                     }
  761.                 }
  762.             },
  763.             handle: function (c) {
  764.                 var d, e, f, g;
  765.                 c = arguments[0] = q.event.fix(c || a.event), c.currentTarget = this, d = c.type.indexOf(".") < 0 && !c.exclusive, d || (e = c.type.split("."), c.type = e.shift(), f = new RegExp("(^|\\.)" + e.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)")), g = q.data(this, "events"), e = g[c.type];
  766.                 if (g && e) {
  767.                     e = e.slice(0), g = 0;
  768.                     for (var h = e.length; g < h; g++) {
  769.                         var i = e[g];
  770.                         if (d || f.test(i.namespace)) {
  771.                             c.handler = i.handler, c.data = i.data, c.handleObj = i, i = i.handler.apply(this, arguments), i !== b && (c.result = i, i === false && (c.preventDefault(), c.stopPropagation()));
  772.                             if (c.isImmediatePropagationStopped()) break
  773.                         }
  774.                     }
  775.                 }
  776.                 return c.result
  777.             },
  778.             props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
  779.             fix: function (a) {
  780.                 if (a[J]) return a;
  781.                 var c = a;
  782.                 a = q.Event(c);
  783.                 for (var d = this.props.length, e; d;) e = this.props[--d], a[e] = c[e];
  784.                 a.target || (a.target = a.srcElement || t), a.target.nodeType === 3 && (a.target = a.target.parentNode), !a.relatedTarget && a.fromElement && (a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement), a.pageX == null && a.clientX != null && (c = t.documentElement, d = t.body, a.pageX = a.clientX + (c && c.scrollLeft || d && d.scrollLeft || 0) - (c && c.clientLeft || d && d.clientLeft || 0), a.pageY = a.clientY + (c && c.scrollTop || d && d.scrollTop || 0) - (c && c.clientTop || d && d.clientTop || 0)), !a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode) && (a.which = a.charCode || a.keyCode), !a.metaKey && a.ctrlKey && (a.metaKey = a.ctrlKey), !a.which && a.button !== b && (a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0);
  785.                 return a
  786.             },
  787.             guid: 1e8,
  788.             proxy: q.proxy,
  789.             special: {
  790.                 ready: {
  791.                     setup: q.bindReady,
  792.                     teardown: q.noop
  793.                 },
  794.                 live: {
  795.                     add: function (a) {
  796.                         q.event.add(this, a.origType, q.extend({}, a, {
  797.                             handler: j
  798.                         }))
  799.                     },
  800.                     remove: function (a) {
  801.                         var b = true,
  802.                             c = a.origType.replace(U, "");
  803.                         q.each(q.data(this, "events").live || [], function () {
  804.                             if (c === this.origType.replace(U, "")) return b = false
  805.                         }), b && q.event.remove(this, a.origType, j)
  806.                     }
  807.                 },
  808.                 beforeunload: {
  809.                     setup: function (a, b, c) {
  810.                         this.setInterval && (this.onbeforeunload = c);
  811.                         return false
  812.                     },
  813.                     teardown: function (a, b) {
  814.                         this.onbeforeunload === b && (this.onbeforeunload = null)
  815.                     }
  816.                 }
  817.             }
  818.         };
  819.         var W = t.removeEventListener ?
  820.         function (a, b, c) {
  821.             a.removeEventListener(b, c, false)
  822.         } : function (a, b, c) {
  823.             a.detachEvent("on" + b, c)
  824.         };
  825.         q.Event = function (a) {
  826.             if (!this.preventDefault) return new q.Event(a);
  827.             a && a.type ? (this.originalEvent = a, this.type = a.type) : this.type = a, this.timeStamp = f(), this[J] = true
  828.         }, q.Event.prototype = {
  829.             preventDefault: function () {
  830.                 this.isDefaultPrevented = h;
  831.                 var a = this.originalEvent;
  832.                 a && (a.preventDefault && a.preventDefault(), a.returnValue = false)
  833.             },
  834.             stopPropagation: function () {
  835.                 this.isPropagationStopped = h;
  836.                 var a = this.originalEvent;
  837.                 a && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = true)
  838.             },
  839.             stopImmediatePropagation: function () {
  840.                 this.isImmediatePropagationStopped = h, this.stopPropagation()
  841.             },
  842.             isDefaultPrevented: g,
  843.             isPropagationStopped: g,
  844.             isImmediatePropagationStopped: g
  845.         };
  846.         var X = function (a) {
  847.             var b = a.relatedTarget;
  848.             try {
  849.                 for (; b && b !== this;) b = b.parentNode;
  850.                 b !== this && (a.type = a.data, q.event.handle.apply(this, arguments))
  851.             } catch (a) {}
  852.         },
  853.             Y = function (a) {
  854.                 a.type = a.data, q.event.handle.apply(this, arguments)
  855.             };
  856.         q.each({
  857.             mouseenter: "mouseover",
  858.             mouseleave: "mouseout"
  859.         }, function (a, b) {
  860.             q.event.special[a] = {
  861.                 setup: function (c) {
  862.                     q.event.add(this, b, c && c.selector ? Y : X, a)
  863.                 },
  864.                 teardown: function (a) {
  865.                     q.event.remove(this, b, a && a.selector ? Y : X)
  866.                 }
  867.             }
  868.         }), q.support.submitBubbles || (q.event.special.submit = {
  869.             setup: function () {
  870.                 if (this.nodeName.toLowerCase() !== "form") q.event.add(this, "click.specialSubmit", function (a) {
  871.                     var b = a.target,
  872.                         c = b.type;
  873.                     if ((c === "submit" || c === "image") && q(b).closest("form").length) return i("submit", this, arguments)
  874.                 }), q.event.add(this, "keypress.specialSubmit", function (a) {
  875.                     var b = a.target,
  876.                         c = b.type;
  877.                     if ((c === "text" || c === "password") && q(b).closest("form").length && a.keyCode === 13) return i("submit", this, arguments)
  878.                 });
  879.                 else return false
  880.             },
  881.             teardown: function () {
  882.                 q.event.remove(this, ".specialSubmit")
  883.             }
  884.         });
  885.         if (!q.support.changeBubbles) {
  886.             var Z = /textarea|input|select/i,
  887.                 $, _ = function (a) {
  888.                     var b = a.type,
  889.                         c = a.value;
  890.                     b === "radio" || b === "checkbox" ? c = a.checked : b === "select-multiple" ? c = a.selectedIndex > -1 ? q.map(a.options, function (a) {
  891.                         return a.selected
  892.                     }).join("-") : "" : a.nodeName.toLowerCase() === "select" && (c = a.selectedIndex);
  893.                     return c
  894.                 },
  895.                 ba = function (a, c) {
  896.                     var d = a.target,
  897.                         e, f;
  898.                     if (!(!Z.test(d.nodeName) || d.readOnly)) {
  899.                         e = q.data(d, "_change_data"), f = _(d), (a.type !== "focusout" || d.type !== "radio") && q.data(d, "_change_data", f);
  900.                         if (!(e === b || f === e)) if (e != null || f) {
  901.                             a.type = "change";
  902.                             return q.event.trigger(a, c, d)
  903.                         }
  904.                     }
  905.                 };
  906.             q.event.special.change = {
  907.                 filters: {
  908.                     focusout: ba,
  909.                     click: function (a) {
  910.                         var b = a.target,
  911.                             c = b.type;
  912.                         if (c === "radio" || c === "checkbox" || b.nodeName.toLowerCase() === "select") return ba.call(this, a)
  913.                     },
  914.                     keydown: function (a) {
  915.                         var b = a.target,
  916.                             c = b.type;
  917.                         if (a.keyCode === 13 && b.nodeName.toLowerCase() !== "textarea" || a.keyCode === 32 && (c === "checkbox" || c === "radio") || c === "select-multiple") return ba.call(this, a)
  918.                     },
  919.                     beforeactivate: function (a) {
  920.                         a = a.target, q.data(a, "_change_data", _(a))
  921.                     }
  922.                 },
  923.                 setup: function () {
  924.                     if (this.type === "file") return false;
  925.                     for (var a in $) q.event.add(this, a + ".specialChange", $[a]);
  926.                     return Z.test(this.nodeName)
  927.                 },
  928.                 teardown: function () {
  929.                     q.event.remove(this, ".specialChange");
  930.                     return Z.test(this.nodeName)
  931.                 }
  932.             }, $ = q.event.special.change.filters
  933.         }
  934.         t.addEventListener && q.each({
  935.             focus: "focusin",
  936.             blur: "focusout"
  937.         }, function (a, b) {
  938.             function c(a) {
  939.                 a = q.event.fix(a), a.type = b;
  940.                 return q.event.handle.call(this, a)
  941.             }
  942.             q.event.special[b] = {
  943.                 setup: function () {
  944.                     this.addEventListener(a, c, true)
  945.                 },
  946.                 teardown: function () {
  947.                     this.removeEventListener(a, c, true)
  948.                 }
  949.             }
  950.         }), q.each(["bind", "one"], function (a, c) {
  951.             q.fn[c] = function (a, d, e) {
  952.                 if (typeof a === "object") {
  953.                     for (var f in a) this[c](f, d, a[f], e);
  954.                     return this
  955.                 }
  956.                 q.isFunction(d) && (e = d, d = b);
  957.                 var g = c === "one" ? q.proxy(e, function (a) {
  958.                     q(this).unbind(a, g);
  959.                     return e.apply(this, arguments)
  960.                 }) : e;
  961.                 if (a === "unload" && c !== "one") this.one(a, d, e);
  962.                 else {
  963.                     f = 0;
  964.                     for (var h = this.length; f < h; f++) q.event.add(this[f], a, g, d)
  965.                 }
  966.                 return this
  967.             }
  968.         }), q.fn.extend({
  969.             unbind: function (a, b) {
  970.                 if (typeof a === "object" && !a.preventDefault) for (var c in a) this.unbind(c, a[c]);
  971.                 else {
  972.                     c = 0;
  973.                     for (var d = this.length; c < d; c++) q.event.remove(this[c], a, b)
  974.                 }
  975.                 return this
  976.             },
  977.             delegate: function (a, b, c, d) {
  978.                 return this.live(b, c, d, a)
  979.             },
  980.             undelegate: function (a, b, c) {
  981.                 return arguments.length === 0 ? this.unbind("live") : this.die(b, null, c, a)
  982.             },
  983.             trigger: function (a, b) {
  984.                 return this.each(function () {
  985.                     q.event.trigger(a, b, this)
  986.                 })
  987.             },
  988.             triggerHandler: function (a, b) {
  989.                 if (this[0]) {
  990.                     a = q.Event(a), a.preventDefault(), a.stopPropagation(), q.event.trigger(a, b, this[0]);
  991.                     return a.result
  992.                 }
  993.             },
  994.             toggle: function (a) {
  995.                 for (var b = arguments, c = 1; c < b.length;) q.proxy(a, b[c++]);
  996.                 return this.click(q.proxy(a, function (d) {
  997.                     var e = (q.data(this, "lastToggle" + a.guid) || 0) % c;
  998.                     q.data(this, "lastToggle" + a.guid, e + 1), d.preventDefault();
  999.                     return b[e].apply(this, arguments) || false
  1000.                 }))
  1001.             },
  1002.             hover: function (a, b) {
  1003.                 return this.mouseenter(a).mouseleave(b || a)
  1004.             }
  1005.         });
  1006.         var bb = {
  1007.             focus: "focusin",
  1008.             blur: "focusout",
  1009.             mouseenter: "mouseover",
  1010.             mouseleave: "mouseout"
  1011.         };
  1012.         q.each(["live", "die"], function (a, c) {
  1013.             q.fn[c] = function (a, d, e, f) {
  1014.                 var g, h = 0,
  1015.                     i, j, l = f || this.selector,
  1016.                     m = f ? this : q(this.context);
  1017.                 q.isFunction(d) && (e = d, d = b);
  1018.                 for (a = (a || "").split(" ");
  1019.                 (g = a[h++]) != null;) f = U.exec(g), i = "", f && (i = f[0], g = g.replace(U, "")), g === "hover" ? a.push("mouseenter" + i, "mouseleave" + i) : (j = g, g === "focus" || g === "blur" ? (a.push(bb[g] + i), g += i) : g = (bb[g] || g) + i, c === "live" ? m.each(function () {
  1020.                     q.event.add(this, k(g, l), {
  1021.                         data: d,
  1022.                         selector: l,
  1023.                         handler: e,
  1024.                         origType: g,
  1025.                         origHandler: e,
  1026.                         preType: j
  1027.                     })
  1028.                 }) : m.unbind(k(g, l), e));
  1029.                 return this
  1030.             }
  1031.         }), q.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), function (a, b) {
  1032.             q.fn[b] = function (a) {
  1033.                 return a ? this.bind(b, a) : this.trigger(b)
  1034.             }, q.attrFn && (q.attrFn[b] = true)
  1035.         }), a.attachEvent && !a.addEventListener && a.attachEvent("onunload", function () {
  1036.             for (var a in q.cache) if (q.cache[a].handle) try {
  1037.                 q.event.remove(q.cache[a].handle.elem)
  1038.             } catch (a) {}
  1039.         }), (function () {
  1040.             function a(b) {
  1041.                 for (var c = "", d, e = 0; b[e]; e++) d = b[e], d.nodeType === 3 || d.nodeType === 4 ? c += d.nodeValue : d.nodeType !== 8 && (c += a(d.childNodes));
  1042.                 return c
  1043.             }
  1044.             function c(a, b, c, d, e, f) {
  1045.                 e = 0;
  1046.                 for (var g = d.length; e < g; e++) {
  1047.                     var h = d[e];
  1048.                     if (h) {
  1049.                         h = h[a];
  1050.                         for (var i = false; h;) {
  1051.                             if (h.sizcache === c) {
  1052.                                 i = d[h.sizset];
  1053.                                 break
  1054.                             }
  1055.                             h.nodeType === 1 && !f && (h.sizcache = c, h.sizset = e);
  1056.                             if (h.nodeName.toLowerCase() === b) {
  1057.                                 i = h;
  1058.                                 break
  1059.                             }
  1060.                             h = h[a]
  1061.                         }
  1062.                         d[e] = i
  1063.                     }
  1064.                 }
  1065.             }
  1066.             function d(a, b, c, d, e, f) {
  1067.                 e = 0;
  1068.                 for (var g = d.length; e < g; e++) {
  1069.                     var h = d[e];
  1070.                     if (h) {
  1071.                         h = h[a];
  1072.                         for (var i = false; h;) {
  1073.                             if (h.sizcache === c) {
  1074.                                 i = d[h.sizset];
  1075.                                 break
  1076.                             }
  1077.                             if (h.nodeType === 1) {
  1078.                                 f || (h.sizcache = c, h.sizset = e);
  1079.                                 if (typeof b !== "string") {
  1080.                                     if (h === b) {
  1081.                                         i = true;
  1082.                                         break
  1083.                                     }
  1084.                                 } else if (j.filter(b, [h]).length > 0) {
  1085.                                     i = h;
  1086.                                     break
  1087.                                 }
  1088.                             }
  1089.                             h = h[a]
  1090.                         }
  1091.                         d[e] = i
  1092.                     }
  1093.                 }
  1094.             }
  1095.             var e = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
  1096.                 f = 0,
  1097.                 g = Object.prototype.toString,
  1098.                 h = false,
  1099.                 i = true;
  1100.             [0, 0].sort(function () {
  1101.                 i = false;
  1102.                 return 0
  1103.             });
  1104.             var j = function (a, b, c, d) {
  1105.                 c = c || [];
  1106.                 var f = b = b || t;
  1107.                 if (b.nodeType !== 1 && b.nodeType !== 9) return [];
  1108.                 if (!a || typeof a !== "string") return c;
  1109.                 for (var h = [], i, m, o, q, u = true, v = r(b), w = a;
  1110.                 (e.exec(""), i = e.exec(w)) !== null;) {
  1111.                     w = i[3], h.push(i[1]);
  1112.                     if (i[2]) {
  1113.                         q = i[3];
  1114.                         break
  1115.                     }
  1116.                 }
  1117.                 if (h.length > 1 && l.exec(a)) if (h.length === 2 && k.relative[h[0]]) m = s(h[0] + h[1], b);
  1118.                 else for (m = k.relative[h[0]] ? [b] : j(h.shift(), b); h.length;) a = h.shift(), k.relative[a] && (a += h.shift()), m = s(a, m);
  1119.                 else {
  1120.                     !d && h.length > 1 && b.nodeType === 9 && !v && k.match.ID.test(h[0]) && !k.match.ID.test(h[h.length - 1]) && (i = j.find(h.shift(), b, v), b = i.expr ? j.filter(i.expr, i.set)[0] : i.set[0]);
  1121.                     if (b) {
  1122.                         i = d ? {
  1123.                             expr: h.pop(),
  1124.                             set: n(d)
  1125.                         } : j.find(h.pop(), h.length === 1 && (h[0] === "~" || h[0] === "+") && b.parentNode ? b.parentNode : b, v), m = i.expr ? j.filter(i.expr, i.set) : i.set, h.length > 0 ? o = n(m) : u = false;
  1126.                         for (; h.length;) {
  1127.                             var x = h.pop();
  1128.                             i = x, k.relative[x] ? i = h.pop() : x = "", i == null && (i = b), k.relative[x](o, i, v)
  1129.                         }
  1130.                     } else o = []
  1131.                 }
  1132.                 o || (o = m), o || j.error(x || a);
  1133.                 if (g.call(o) === "[object Array]") if (u) if (b && b.nodeType === 1) for (a = 0; o[a] != null; a++) o[a] && (o[a] === true || o[a].nodeType === 1 && p(b, o[a])) && c.push(m[a]);
  1134.                 else for (a = 0; o[a] != null; a++) o[a] && o[a].nodeType === 1 && c.push(m[a]);
  1135.                 else c.push.apply(c, o);
  1136.                 else n(o, c);
  1137.                 q && (j(q, f, c, d), j.uniqueSort(c));
  1138.                 return c
  1139.             };
  1140.             j.uniqueSort = function (a) {
  1141.                 if (o) {
  1142.                     h = i, a.sort(o);
  1143.                     if (h) for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1)
  1144.                 }
  1145.                 return a
  1146.             }, j.matches = function (a, b) {
  1147.                 return j(a, null, null, b)
  1148.             }, j.find = function (a, b, c) {
  1149.                 var d, e;
  1150.                 if (!a) return [];
  1151.                 for (var f = 0, g = k.order.length; f < g; f++) {
  1152.                     var h = k.order[f];
  1153.                     if (e = k.leftMatch[h].exec(a)) {
  1154.                         var i = e[1];
  1155.                         e.splice(1, 1);
  1156.                         if (i.substr(i.length - 1) !== "\\") {
  1157.                             e[1] = (e[1] || "").replace(/\\/g, ""), d = k.find[h](e, b, c);
  1158.                             if (d != null) {
  1159.                                 a = a.replace(k.match[h], "");
  1160.                                 break
  1161.                             }
  1162.                         }
  1163.                     }
  1164.                 }
  1165.                 d || (d = b.getElementsByTagName("*"));
  1166.                 return {
  1167.                     set: d,
  1168.                     expr: a
  1169.                 }
  1170.             }, j.filter = function (a, c, d, e) {
  1171.                 for (var f = a, g = [], h = c, i, l, m = c && c[0] && r(c[0]); a && c.length;) {
  1172.                     for (var n in k.filter) if ((i = k.leftMatch[n].exec(a)) != null && i[2]) {
  1173.                         var o = k.filter[n],
  1174.                             p, q;
  1175.                         q = i[1], l = false, i.splice(1, 1);
  1176.                         if (q.substr(q.length - 1) !== "\\") {
  1177.                             h === g && (g = []);
  1178.                             if (k.preFilter[n]) if (i = k.preFilter[n](i, h, d, g, e, m)) {
  1179.                                 if (i === true) continue
  1180.                             } else l = p = true;
  1181.                             if (i) for (var s = 0;
  1182.                             (q = h[s]) != null; s++) if (q) {
  1183.                                 p = o(q, i, s, h);
  1184.                                 var t = e ^ !(!p);
  1185.                                 d && p != null ? t ? l = true : h[s] = false : t && (g.push(q), l = true)
  1186.                             }
  1187.                             if (p !== b) {
  1188.                                 d || (h = g), a = a.replace(k.match[n], "");
  1189.                                 if (!l) return [];
  1190.                                 break
  1191.                             }
  1192.                         }
  1193.                     }
  1194.                     if (a === f) if (l == null) j.error(a);
  1195.                     else break;
  1196.                     f = a
  1197.                 }
  1198.                 return h
  1199.             }, j.error = function (a) {
  1200.                 throw "Syntax error, unrecognized expression: " + a
  1201.             };
  1202.             var k = j.selectors = {
  1203.                 order: ["ID", "NAME", "TAG"],
  1204.                 match: {
  1205.                     ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
  1206.                     CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
  1207.                     NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
  1208.                     ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
  1209.                     TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
  1210.                     CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
  1211.                     POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
  1212.                     PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
  1213.                 },
  1214.                 leftMatch: {},
  1215.                 attrMap: {
  1216.                     "class": "className",
  1217.                     "for": "htmlFor"
  1218.                 },
  1219.                 attrHandle: {
  1220.                     href: function (a) {
  1221.                         return a.getAttribute("href")
  1222.                     }
  1223.                 },
  1224.                 relative: {
  1225.                     "+": function (a, b) {
  1226.                         var c = typeof b === "string",
  1227.                             d = c && !/\W/.test(b);
  1228.                         c = c && !d, d && (b = b.toLowerCase()), d = 0;
  1229.                         for (var e = a.length, f; d < e; d++) if (f = a[d]) {
  1230.                             for (;
  1231.                             (f = f.previousSibling) && f.nodeType !== 1;);
  1232.                             a[d] = c || f && f.nodeName.toLowerCase() === b ? f || false : f === b
  1233.                         }
  1234.                         c && j.filter(b, a, true)
  1235.                     },
  1236.                     ">": function (a, b) {
  1237.                         var c = typeof b === "string";
  1238.                         if (c && !/\W/.test(b)) {
  1239.                             b = b.toLowerCase();
  1240.                             for (var d = 0, e = a.length; d < e; d++) {
  1241.                                 var f = a[d];
  1242.                                 f && (c = f.parentNode, a[d] = c.nodeName.toLowerCase() === b ? c : false)
  1243.                             }
  1244.                         } else {
  1245.                             d = 0;
  1246.                             for (e = a.length; d < e; d++) if (f = a[d]) a[d] = c ? f.parentNode : f.parentNode === b;
  1247.                             c && j.filter(b, a, true)
  1248.                         }
  1249.                     },
  1250.                     "": function (a, b, e) {
  1251.                         var g = f++,
  1252.                             h = d;
  1253.                         if (typeof b === "string" && !/\W/.test(b)) {
  1254.                             var i = b = b.toLowerCase();
  1255.                             h = c
  1256.                         }
  1257.                         h("parentNode", b, g, a, i, e)
  1258.                     },
  1259.                     "~": function (a, b, e) {
  1260.                         var g = f++,
  1261.                             h = d;
  1262.                         if (typeof b === "string" && !/\W/.test(b)) {
  1263.                             var i = b = b.toLowerCase();
  1264.                             h = c
  1265.                         }
  1266.                         h("previousSibling", b, g, a, i, e)
  1267.                     }
  1268.                 },
  1269.                 find: {
  1270.                     ID: function (a, b, c) {
  1271.                         if (typeof b.getElementById !== "undefined" && !c) return (a = b.getElementById(a[1])) ? [a] : []
  1272.                     },
  1273.                     NAME: function (a, b) {
  1274.                         if (typeof b.getElementsByName !== "undefined") {
  1275.                             var c = [];
  1276.                             b = b.getElementsByName(a[1]);
  1277.                             for (var d = 0, e = b.length; d < e; d++) b[d].getAttribute("name") === a[1] && c.push(b[d]);
  1278.                             return c.length === 0 ? null : c
  1279.                         }
  1280.                     },
  1281.                     TAG: function (a, b) {
  1282.                         return b.getElementsByTagName(a[1])
  1283.                     }
  1284.                 },
  1285.                 preFilter: {
  1286.                     CLASS: function (a, b, c, d, e, f) {
  1287.                         a = " " + a[1].replace(/\\/g, "") + " ";
  1288.                         if (f) return a;
  1289.                         f = 0;
  1290.                         for (var g;
  1291.                         (g = b[f]) != null; f++) g && (e ^ (g.className && (" " + g.className + " ").replace(/[\t\n]/g, " ").indexOf(a) >= 0) ? c || d.push(g) : c && (b[f] = false));
  1292.                         return false
  1293.                     },
  1294.                     ID: function (a) {
  1295.                         return a[1].replace(/\\/g, "")
  1296.                     },
  1297.                     TAG: function (a) {
  1298.                         return a[1].toLowerCase()
  1299.                     },
  1300.                     CHILD: function (a) {
  1301.                         if (a[1] === "nth") {
  1302.                             var b = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]);
  1303.                             a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0
  1304.                         }
  1305.                         a[0] = f++;
  1306.                         return a
  1307.                     },
  1308.                     ATTR: function (a, b, c, d, e, f) {
  1309.                         b = a[1].replace(/\\/g, ""), !f && k.attrMap[b] && (a[1] = k.attrMap[b]), a[2] === "~=" && (a[4] = " " + a[4] + " ");
  1310.                         return a
  1311.                     },
  1312.                     PSEUDO: function (a, b, c, d, f) {
  1313.                         if (a[1] === "not") if ((e.exec(a[3]) || "").length > 1 || /^\w/.test(a[3])) a[3] = j(a[3], null, null, b);
  1314.                         else {
  1315.                             a = j.filter(a[3], b, c, true ^ f), c || d.push.apply(d, a);
  1316.                             return false
  1317.                         } else if (k.match.POS.test(a[0]) || k.match.CHILD.test(a[0])) return true;
  1318.                         return a
  1319.                     },
  1320.                     POS: function (a) {
  1321.                         a.unshift(true);
  1322.                         return a
  1323.                     }
  1324.                 },
  1325.                 filters: {
  1326.                     enabled: function (a) {
  1327.                         return a.disabled === false && a.type !== "hidden"
  1328.                     },
  1329.                     disabled: function (a) {
  1330.                         return a.disabled === true
  1331.                     },
  1332.                     checked: function (a) {
  1333.                         return a.checked === true
  1334.                     },
  1335.                     selected: function (a) {
  1336.                         return a.selected === true
  1337.                     },
  1338.                     parent: function (a) {
  1339.                         return !(!a.firstChild)
  1340.                     },
  1341.                     empty: function (a) {
  1342.                         return !a.firstChild
  1343.                     },
  1344.                     has: function (a, b, c) {
  1345.                         return !(!j(c[3], a).length)
  1346.                     },
  1347.                     header: function (a) {
  1348.                         return /h\d/i.test(a.nodeName)
  1349.                     },
  1350.                     text: function (a) {
  1351.                         return "text" === a.type
  1352.                     },
  1353.                     radio: function (a) {
  1354.                         return "radio" === a.type
  1355.                     },
  1356.                     checkbox: function (a) {
  1357.                         return "checkbox" === a.type
  1358.                     },
  1359.                     file: function (a) {
  1360.                         return "file" === a.type
  1361.                     },
  1362.                     password: function (a) {
  1363.                         return "password" === a.type
  1364.                     },
  1365.                     submit: function (a) {
  1366.                         return "submit" === a.type
  1367.                     },
  1368.                     image: function (a) {
  1369.                         return "image" === a.type
  1370.                     },
  1371.                     reset: function (a) {
  1372.                         return "reset" === a.type
  1373.                     },
  1374.                     button: function (a) {
  1375.                         return "button" === a.type || a.nodeName.toLowerCase() === "button"
  1376.                     },
  1377.                     input: function (a) {
  1378.                         return /input|select|textarea|button/i.test(a.nodeName)
  1379.                     }
  1380.                 },
  1381.                 setFilters: {
  1382.                     first: function (a, b) {
  1383.                         return b === 0
  1384.                     },
  1385.                     last: function (a, b, c, d) {
  1386.                         return b === d.length - 1
  1387.                     },
  1388.                     even: function (a, b) {
  1389.                         return b % 2 === 0
  1390.                     },
  1391.                     odd: function (a, b) {
  1392.                         return b % 2 === 1
  1393.                     },
  1394.                     lt: function (a, b, c) {
  1395.                         return b < c[3] - 0
  1396.                     },
  1397.                     gt: function (a, b, c) {
  1398.                         return b > c[3] - 0
  1399.                     },
  1400.                     nth: function (a, b, c) {
  1401.                         return c[3] - 0 === b
  1402.                     },
  1403.                     eq: function (a, b, c) {
  1404.                         return c[3] - 0 === b
  1405.                     }
  1406.                 },
  1407.                 filter: {
  1408.                     PSEUDO: function (b, c, d, e) {
  1409.                         var f = c[1],
  1410.                             g = k.filters[f];
  1411.                         if (g) return g(b, d, c, e);
  1412.                         if (f === "contains") return (b.textContent || b.innerText || a([b]) || "").indexOf(c[3]) >= 0;
  1413.                         if (f === "not") {
  1414.                             c = c[3], d = 0;
  1415.                             for (e = c.length; d < e; d++) if (c[d] === b) return false;
  1416.                             return true
  1417.                         }
  1418.                         j.error("Syntax error, unrecognized expression: " + f)
  1419.                     },
  1420.                     CHILD: function (a, b) {
  1421.                         var c = b[1],
  1422.                             d = a;
  1423.                         switch (c) {
  1424.                         case "only":
  1425.                         case "first":
  1426.                             for (; d = d.previousSibling;) if (d.nodeType === 1) return false;
  1427.                             if (c === "first") return true;
  1428.                             d = a;
  1429.                         case "last":
  1430.                             for (; d = d.nextSibling;) if (d.nodeType === 1) return false;
  1431.                             return true;
  1432.                         case "nth":
  1433.                             c = b[2];
  1434.                             var e = b[3];
  1435.                             if (c === 1 && e === 0) return true;
  1436.                             b = b[0];
  1437.                             var f = a.parentNode;
  1438.                             if (f && (f.sizcache !== b || !a.nodeIndex)) {
  1439.                                 var g = 0;
  1440.                                 for (d = f.firstChild; d; d = d.nextSibling) d.nodeType === 1 && (d.nodeIndex = ++g);
  1441.                                 f.sizcache = b
  1442.                             }
  1443.                             a = a.nodeIndex - e;
  1444.                             return c === 0 ? a === 0 : a % c === 0 && a / c >= 0
  1445.                         }
  1446.                     },
  1447.                     ID: function (a, b) {
  1448.                         return a.nodeType === 1 && a.getAttribute("id") === b
  1449.                     },
  1450.                     TAG: function (a, b) {
  1451.                         return b === "*" && a.nodeType === 1 || a.nodeName.toLowerCase() === b
  1452.                     },
  1453.                     CLASS: function (a, b) {
  1454.                         return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1
  1455.                     },
  1456.                     ATTR: function (a, b) {
  1457.                         var c = b[1];
  1458.                         a = k.attrHandle[c] ? k.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c), c = a + "";
  1459.                         var d = b[2];
  1460.                         b = b[4];
  1461.                         return a == null ? d === "!=" : d === "=" ? c === b : d === "*=" ? c.indexOf(b) >= 0 : d === "~=" ? (" " + c + " ").indexOf(b) >= 0 : b ? d === "!=" ? c !== b : d === "^=" ? c.indexOf(b) === 0 : d === "$=" ? c.substr(c.length - b.length) === b : d === "|=" ? c === b || c.substr(0, b.length + 1) === b + "-" : false : c && a !== false
  1462.                     },
  1463.                     POS: function (a, b, c, d) {
  1464.                         var e = k.setFilters[b[2]];
  1465.                         if (e) return e(a, c, b, d)
  1466.                     }
  1467.                 }
  1468.             },
  1469.                 l = k.match.POS;
  1470.             for (var m in k.match) k.match[m] = new RegExp(k.match[m].source + /(?![^\[]*\])(?![^\(]*\))/.source), k.leftMatch[m] = new RegExp(/(^(?:.|\r|\n)*?)/.source + k.match[m].source.replace(/\\(\d+)/g, function (a, b) {
  1471.                 return "\\" + (b - 0 + 1)
  1472.             }));
  1473.             var n = function (a, b) {
  1474.                 a = Array.prototype.slice.call(a, 0);
  1475.                 if (b) {
  1476.                     b.push.apply(b, a);
  1477.                     return b
  1478.                 }
  1479.                 return a
  1480.             };
  1481.             try {
  1482.                 Array.prototype.slice.call(t.documentElement.childNodes, 0)
  1483.             } catch (a) {
  1484.                 n = function (a, b) {
  1485.                     b = b || [];
  1486.                     if (g.call(a) === "[object Array]") Array.prototype.push.apply(b, a);
  1487.                     else if (typeof a.length === "number") for (var c = 0, d = a.length; c < d; c++) b.push(a[c]);
  1488.                     else for (c = 0; a[c]; c++) b.push(a[c]);
  1489.                     return b
  1490.                 }
  1491.             }
  1492.             var o;
  1493.             t.documentElement.compareDocumentPosition ? o = function (a, b) {
  1494.                 if (!a.compareDocumentPosition || !b.compareDocumentPosition) {
  1495.                     a == b && (h = true);
  1496.                     return a.compareDocumentPosition ? -1 : 1
  1497.                 }
  1498.                 a = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1, a === 0 && (h = true);
  1499.                 return a
  1500.             } : "sourceIndex" in t.documentElement ? o = function (a, b) {
  1501.                 if (!a.sourceIndex || !b.sourceIndex) {
  1502.                     a == b && (h = true);
  1503.                     return a.sourceIndex ? -1 : 1
  1504.                 }
  1505.                 a = a.sourceIndex - b.sourceIndex, a === 0 && (h = true);
  1506.                 return a
  1507.             } : t.createRange && (o = function (a, b) {
  1508.                 if (!a.ownerDocument || !b.ownerDocument) {
  1509.                     a == b && (h = true);
  1510.                     return a.ownerDocument ? -1 : 1
  1511.                 }
  1512.                 var c = a.ownerDocument.createRange(),
  1513.                     d = b.ownerDocument.createRange();
  1514.                 c.setStart(a, 0), c.setEnd(a, 0), d.setStart(b, 0), d.setEnd(b, 0), a = c.compareBoundaryPoints(Range.START_TO_END, d), a === 0 && (h = true);
  1515.                 return a
  1516.             }), (function () {
  1517.                 var a = t.createElement("div"),
  1518.                     c = "script" + (new Date).getTime();
  1519.                 a.innerHTML = "<a name='" + c + "'/>";
  1520.                 var d = t.documentElement;
  1521.                 d.insertBefore(a, d.firstChild), t.getElementById(c) && (k.find.ID = function (a, c, d) {
  1522.                     if (typeof c.getElementById !== "undefined" && !d) return (c = c.getElementById(a[1])) ? c.id === a[1] || typeof c.getAttributeNode !== "undefined" && c.getAttributeNode("id").nodeValue === a[1] ? [c] : b : []
  1523.                 }, k.filter.ID = function (a, b) {
  1524.                     var c = typeof a.getAttributeNode !== "undefined" && a.getAttributeNode("id");
  1525.                     return a.nodeType === 1 && c && c.nodeValue === b
  1526.                 }), d.removeChild(a), d = a = null
  1527.             })(), (function () {
  1528.                 var a = t.createElement("div");
  1529.                 a.appendChild(t.createComment("")), a.getElementsByTagName("*").length > 0 && (k.find.TAG = function (a, b) {
  1530.                     b = b.getElementsByTagName(a[1]);
  1531.                     if (a[1] === "*") {
  1532.                         a = [];
  1533.                         for (var c = 0; b[c]; c++) b[c].nodeType === 1 && a.push(b[c]);
  1534.                         b = a
  1535.                     }
  1536.                     return b
  1537.                 }), a.innerHTML = "<a href='#'></a>", a.firstChild && typeof a.firstChild.getAttribute !== "undefined" && a.firstChild.getAttribute("href") !== "#" && (k.attrHandle.href = function (a) {
  1538.                     return a.getAttribute("href", 2)
  1539.                 }), a = null
  1540.             })(), t.querySelectorAll && (function () {
  1541.                 var a = j,
  1542.                     b = t.createElement("div");
  1543.                 b.innerHTML = "<p class='TEST'></p>";
  1544.                 if (!(b.querySelectorAll && b.querySelectorAll(".TEST").length === 0)) {
  1545.                     j = function (b, c, d, e) {
  1546.                         c = c || t;
  1547.                         if (!e && c.nodeType === 9 && !r(c)) try {
  1548.                             return n(c.querySelectorAll(b), d)
  1549.                         } catch (a) {}
  1550.                         return a(b, c, d, e)
  1551.                     };
  1552.                     for (var c in a) j[c] = a[c];
  1553.                     b = null
  1554.                 }
  1555.             })(), (function () {
  1556.                 var a = t.createElement("div");
  1557.                 a.innerHTML = "<div class='test e'></div><div class='test'></div>", !a.getElementsByClassName || a.getElementsByClassName("e").length === 0 || (a.lastChild.className = "e", a.getElementsByClassName("e").length !== 1 && (k.order.splice(1, 0, "CLASS"), k.find.CLASS = function (a, b, c) {
  1558.                     if (typeof b.getElementsByClassName !== "undefined" && !c) return b.getElementsByClassName(a[1])
  1559.                 }, a = null))
  1560.             })();
  1561.             var p = t.compareDocumentPosition ?
  1562.             function (a, b) {
  1563.                 return !(!(a.compareDocumentPosition(b) & 16))
  1564.             } : function (a, b) {
  1565.                 return a !== b && (a.contains ? a.contains(b) : true)
  1566.             },
  1567.                 r = function (a) {
  1568.                     return (a = (a ? a.ownerDocument || a : 0).documentElement) ? a.nodeName !== "HTML" : false
  1569.                 },
  1570.                 s = function (a, b) {
  1571.                     var c = [],
  1572.                         d = "",
  1573.                         e;
  1574.                     for (b = b.nodeType ? [b] : b; e = k.match.PSEUDO.exec(a);) d += e[0], a = a.replace(k.match.PSEUDO, "");
  1575.                     a = k.relative[a] ? a + "*" : a, e = 0;
  1576.                     for (var f = b.length; e < f; e++) j(a, b[e], c);
  1577.                     return j.filter(d, c)
  1578.                 };
  1579.             q.find = j, q.expr = j.selectors, q.expr[":"] = q.expr.filters, q.unique = j.uniqueSort, q.text = a, q.isXMLDoc = r, q.contains = p
  1580.         })();
  1581.         var bc = /Until$/,
  1582.             bd = /^(?:parents|prevUntil|prevAll)/,
  1583.             be = /,/;
  1584.         H = Array.prototype.slice;
  1585.         var bf = function (a, b, c) {
  1586.             if (q.isFunction(b)) return q.grep(a, function (a, d) {
  1587.                 return !(!b.call(a, d, a)) === c
  1588.             });
  1589.             if (b.nodeType) return q.grep(a, function (a) {
  1590.                 return a === b === c
  1591.             });
  1592.             if (typeof b === "string") {
  1593.                 var d = q.grep(a, function (a) {
  1594.                     return a.nodeType === 1
  1595.                 });
  1596.                 if (w.test(b)) return q.filter(b, d, !c);
  1597.                 b = q.filter(b, d)
  1598.             }
  1599.             return q.grep(a, function (a) {
  1600.                 return q.inArray(a, b) >= 0 === c
  1601.             })
  1602.         };
  1603.         q.fn.extend({
  1604.             find: function (a) {
  1605.                 for (var b = this.pushStack("", "find", a), c = 0, d = 0, e = this.length; d < e; d++) {
  1606.                     c = b.length, q.find(a, this[d], b);
  1607.                     if (d > 0) for (var f = c; f < b.length; f++) for (var g = 0; g < c; g++) if (b[g] === b[f]) {
  1608.                         b.splice(f--, 1);
  1609.                         break
  1610.                     }
  1611.                 }
  1612.                 return b
  1613.             },
  1614.             has: function (a) {
  1615.                 var b = q(a);
  1616.                 return this.filter(function () {
  1617.                     for (var a = 0, c = b.length; a < c; a++) if (q.contains(this, b[a])) return true
  1618.                 })
  1619.             },
  1620.             not: function (a) {
  1621.                 return this.pushStack(bf(this, a, false), "not", a)
  1622.             },
  1623.             filter: function (a) {
  1624.                 return this.pushStack(bf(this, a, true), "filter", a)
  1625.             },
  1626.             is: function (a) {
  1627.                 return !(!a) && q.filter(a, this).length > 0
  1628.             },
  1629.             closest: function (a, b) {
  1630.                 if (q.isArray(a)) {
  1631.                     var c = [],
  1632.                         d = this[0],
  1633.                         e, f = {},
  1634.                         g;
  1635.                     if (d && a.length) {
  1636.                         e = 0;
  1637.                         for (var h = a.length; e < h; e++) g = a[e], f[g] || (f[g] = q.expr.match.POS.test(g) ? q(g, b || this.context) : g);
  1638.                         for (; d && d.ownerDocument && d !== b;) {
  1639.                             for (g in f) {
  1640.                                 e = f[g];
  1641.                                 if (e.jquery ? e.index(d) > -1 : q(d).is(e)) c.push({
  1642.                                     selector: g,
  1643.                                     elem: d
  1644.                                 }), delete f[g]
  1645.                             }
  1646.                             d = d.parentNode
  1647.                         }
  1648.                     }
  1649.                     return c
  1650.                 }
  1651.                 var i = q.expr.match.POS.test(a) ? q(a, b || this.context) : null;
  1652.                 return this.map(function (c, d) {
  1653.                     for (; d && d.ownerDocument && d !== b;) {
  1654.                         if (i ? i.index(d) > -1 : q(d).is(a)) return d;
  1655.                         d = d.parentNode
  1656.                     }
  1657.                     return null
  1658.                 })
  1659.             },
  1660.             index: function (a) {
  1661.                 if (!a || typeof a === "string") return q.inArray(this[0], a ? q(a) : this.parent().children());
  1662.                 return q.inArray(a.jquery ? a[0] : a, this)
  1663.             },
  1664.             add: function (a, b) {
  1665.                 a = typeof a === "string" ? q(a, b || this.context) : q.makeArray(a), b = q.merge(this.get(), a);
  1666.                 return this.pushStack(l(a[0]) || l(b[0]) ? b : q.unique(b))
  1667.             },
  1668.             andSelf: function () {
  1669.                 return this.add(this.prevObject)
  1670.             }
  1671.         }), q.each({
  1672.             parent: function (a) {
  1673.                 return (a = a.parentNode) && a.nodeType !== 11 ? a : null
  1674.             },
  1675.             parents: function (a) {
  1676.                 return q.dir(a, "parentNode")
  1677.             },
  1678.             parentsUntil: function (a, b, c) {
  1679.                 return q.dir(a, "parentNode", c)
  1680.             },
  1681.             next: function (a) {
  1682.                 return q.nth(a, 2, "nextSibling")
  1683.             },
  1684.             prev: function (a) {
  1685.                 return q.nth(a, 2, "previousSibling")
  1686.             },
  1687.             nextAll: function (a) {
  1688.                 return q.dir(a, "nextSibling")
  1689.             },
  1690.             prevAll: function (a) {
  1691.                 return q.dir(a, "previousSibling")
  1692.             },
  1693.             nextUntil: function (a, b, c) {
  1694.                 return q.dir(a, "nextSibling", c)
  1695.             },
  1696.             prevUntil: function (a, b, c) {
  1697.                 return q.dir(a, "previousSibling", c)
  1698.             },
  1699.             siblings: function (a) {
  1700.                 return q.sibling(a.parentNode.firstChild, a)
  1701.             },
  1702.             children: function (a) {
  1703.                 return q.sibling(a.firstChild)
  1704.             },
  1705.             contents: function (a) {
  1706.                 return q.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : q.makeArray(a.childNodes)
  1707.             }
  1708.         }, function (a, b) {
  1709.             q.fn[a] = function (c, d) {
  1710.                 var e = q.map(this, b, c);
  1711.                 bc.test(a) || (d = c), d && typeof d === "string" && (e = q.filter(d, e)), e = this.length > 1 ? q.unique(e) : e, (this.length > 1 || be.test(d)) && bd.test(a) && (e = e.reverse());
  1712.                 return this.pushStack(e, a, H.call(arguments).join(","))
  1713.             }
  1714.         }), q.extend({
  1715.             filter: function (a, b, c) {
  1716.                 c && (a = ":not(" + a + ")");
  1717.                 return q.find.matches(a, b)
  1718.             },
  1719.             dir: function (a, c, d) {
  1720.                 var e = [];
  1721.                 for (a = a[c]; a && a.nodeType !== 9 && (d === b || a.nodeType !== 1 || !q(a).is(d));) a.nodeType === 1 && e.push(a), a = a[c];
  1722.                 return e
  1723.             },
  1724.             nth: function (a, b, c) {
  1725.                 b = b || 1;
  1726.                 for (var d = 0; a; a = a[c]) if (a.nodeType === 1 && ++d === b) break;
  1727.                 return a
  1728.             },
  1729.             sibling: function (a, b) {
  1730.                 for (var c = []; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a);
  1731.                 return c
  1732.             }
  1733.         });
  1734.         var bg = / jQuery\d+="(?:\d+|null)"/g,
  1735.             bh = /^\s+/,
  1736.             bi = /(<([\w:]+)[^>]*?)\/>/g,
  1737.             bj = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
  1738.             bk = /<([\w:]+)/,
  1739.             bl = /<tbody/i,
  1740.             bm = /<|&#?\w+;/,
  1741.             bn = /<script|<object|<embed|<option|<style/i,
  1742.             bo = /checked\s*(?:[^=]|=\s*.checked.)/i,
  1743.             bp = function (a, b, c) {
  1744.                 return bj.test(c) ? a : b + "></" + c + ">"
  1745.             },
  1746.             bq = {
  1747.                 option: [1, "<select multiple='multiple'>", "</select>"],
  1748.                 legend: [1, "<fieldset>", "</fieldset>"],
  1749.                 thead: [1, "<table>", "</table>"],
  1750.                 tr: [2, "<table><tbody>", "</tbody></table>"],
  1751.                 td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
  1752.                 col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
  1753.                 area: [1, "<map>", "</map>"],
  1754.                 _default: [0, "", ""]
  1755.             };
  1756.         bq.optgroup = bq.option, bq.tbody = bq.tfoot = bq.colgroup = bq.caption = bq.thead, bq.th = bq.td, q.support.htmlSerialize || (bq._default = [1, "div<div>", "</div>"]), q.fn.extend({
  1757.             text: function (a) {
  1758.                 if (q.isFunction(a)) return this.each(function (b) {
  1759.                     var c = q(this);
  1760.                     c.text(a.call(this, b, c.text()))
  1761.                 });
  1762.                 if (typeof a !== "object" && a !== b) return this.empty().append((this[0] && this[0].ownerDocument || t).createTextNode(a));
  1763.                 return q.text(this)
  1764.             },
  1765.             wrapAll: function (a) {
  1766.                 if (q.isFunction(a)) return this.each(function (b) {
  1767.                     q(this).wrapAll(a.call(this, b))
  1768.                 });
  1769.                 if (this[0]) {
  1770.                     var b = q(a, this[0].ownerDocument).eq(0).clone(true);
  1771.                     this[0].parentNode && b.insertBefore(this[0]), b.map(function () {
  1772.                         for (var a = this; a.firstChild && a.firstChild.nodeType === 1;) a = a.firstChild;
  1773.                         return a
  1774.                     }).append(this)
  1775.                 }
  1776.                 return this
  1777.             },
  1778.             wrapInner: function (a) {
  1779.                 if (q.isFunction(a)) return this.each(function (b) {
  1780.                     q(this).wrapInner(a.call(this, b))
  1781.                 });
  1782.                 return this.each(function () {
  1783.                     var b = q(this),
  1784.                         c = b.contents();
  1785.                     c.length ? c.wrapAll(a) : b.append(a)
  1786.                 })
  1787.             },
  1788.             wrap: function (a) {
  1789.                 return this.each(function () {
  1790.                     q(this).wrapAll(a)
  1791.                 })
  1792.             },
  1793.             unwrap: function () {
  1794.                 return this.parent().each(function () {
  1795.                     q.nodeName(this, "body") || q(this).replaceWith(this.childNodes)
  1796.                 }).end()
  1797.             },
  1798.             append: function () {
  1799.                 return this.domManip(arguments, true, function (a) {
  1800.                     this.nodeType === 1 && this.appendChild(a)
  1801.                 })
  1802.             },
  1803.             prepend: function () {
  1804.                 return this.domManip(arguments, true, function (a) {
  1805.                     this.nodeType === 1 && this.insertBefore(a, this.firstChild)
  1806.                 })
  1807.             },
  1808.             before: function () {
  1809.                 if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (a) {
  1810.                     this.parentNode.insertBefore(a, this)
  1811.                 });
  1812.                 if (arguments.length) {
  1813.                     var a = q(arguments[0]);
  1814.                     a.push.apply(a, this.toArray());
  1815.                     return this.pushStack(a, "before", arguments)
  1816.                 }
  1817.             },
  1818.             after: function () {
  1819.                 if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (a) {
  1820.                     this.parentNode.insertBefore(a, this.nextSibling)
  1821.                 });
  1822.                 if (arguments.length) {
  1823.                     var a = this.pushStack(this, "after", arguments);
  1824.                     a.push.apply(a, q(arguments[0]).toArray());
  1825.                     return a
  1826.                 }
  1827.             },
  1828.             remove: function (a, b) {
  1829.                 for (var c = 0, d;
  1830.                 (d = this[c]) != null; c++) if (!a || q.filter(a, [d]).length)!b && d.nodeType === 1 && (q.cleanData(d.getElementsByTagName("*")), q.cleanData([d])), d.parentNode && d.parentNode.removeChild(d);
  1831.                 return this
  1832.             },
  1833.             empty: function () {
  1834.                 for (var a = 0, b;
  1835.                 (b = this[a]) != null; a++) for (b.nodeType === 1 && q.cleanData(b.getElementsByTagName("*")); b.firstChild;) b.removeChild(b.firstChild);
  1836.                 return this
  1837.             },
  1838.             clone: function (a) {
  1839.                 var b = this.map(function () {
  1840.                     if (!q.support.noCloneEvent && !q.isXMLDoc(this)) {
  1841.                         var a = this.outerHTML,
  1842.                             b = this.ownerDocument;
  1843.                         a || (a = b.createElement("div"), a.appendChild(this.cloneNode(true)), a = a.innerHTML);
  1844.                         return q.clean([a.replace(bg, "").replace(/=([^="'>\s]+\/)>/g, "=\"$1\">").replace(bh, "")], b)[0]
  1845.                     }
  1846.                     return this.cloneNode(true)
  1847.                 });
  1848.                 a === true && (m(this, b), m(this.find("*"), b.find("*")));
  1849.                 return b
  1850.             },
  1851.             html: function (a) {
  1852.                 if (a === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(bg, "") : null;
  1853.                 if (typeof a === "string" && !bn.test(a) && (q.support.leadingWhitespace || !bh.test(a)) && !bq[(bk.exec(a) || ["", ""])[1].toLowerCase()]) {
  1854.                     a = a.replace(bi, bp);
  1855.                     try {
  1856.                         for (var c = 0, d = this.length; c < d; c++) this[c].nodeType === 1 && (q.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a)
  1857.                     } catch (b) {
  1858.                         this.empty().append(a)
  1859.                     }
  1860.                 } else q.isFunction(a) ? this.each(function (b) {
  1861.                     var c = q(this),
  1862.                         d = c.html();
  1863.                     c.empty().append(function () {
  1864.                         return a.call(this, b, d)
  1865.                     })
  1866.                 }) : this.empty().append(a);
  1867.                 return this
  1868.             },
  1869.             replaceWith: function (a) {
  1870.                 if (this[0] && this[0].parentNode) {
  1871.                     if (q.isFunction(a)) return this.each(function (b) {
  1872.                         var c = q(this),
  1873.                             d = c.html();
  1874.                         c.replaceWith(a.call(this, b, d))
  1875.                     });
  1876.                     typeof a !== "string" && (a = q(a).detach());
  1877.                     return this.each(function () {
  1878.                         var b = this.nextSibling,
  1879.                             c = this.parentNode;
  1880.                         q(this).remove(), b ? q(b).before(a) : q(c).append(a)
  1881.                     })
  1882.                 }
  1883.                 return this.pushStack(q(q.isFunction(a) ? a() : a), "replaceWith", a)
  1884.             },
  1885.             detach: function (a) {
  1886.                 return this.remove(a, true)
  1887.             },
  1888.             domManip: function (a, c, e) {
  1889.                 function f(a) {
  1890.                     return q.nodeName(a, "table") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a
  1891.                 }
  1892.                 var g, h, i = a[0],
  1893.                     j = [],
  1894.                     k;
  1895.                 if (!q.support.checkClone && arguments.length === 3 && typeof i === "string" && bo.test(i)) return this.each(function () {
  1896.                     q(this).domManip(a, c, e, true)
  1897.                 });
  1898.                 if (q.isFunction(i)) return this.each(function (d) {
  1899.                     var f = q(this);
  1900.                     a[0] = i.call(this, d, c ? f.html() : b), f.domManip(a, c, e)
  1901.                 });
  1902.                 if (this[0]) {
  1903.                     g = i && i.parentNode, g = q.support.parentNode && g && g.nodeType === 11 && g.childNodes.length === this.length ? {
  1904.                         fragment: g
  1905.                     } : n(a, this, j), k = g.fragment;
  1906.                     if (h = k.childNodes.length === 1 ? k = k.firstChild : k.firstChild) {
  1907.                         c = c && q.nodeName(h, "tr");
  1908.                         for (var l = 0, m = this.length; l < m; l++) e.call(c ? f(this[l], h) : this[l], l > 0 || g.cacheable || this.length > 1 ? k.cloneNode(true) : k)
  1909.                     }
  1910.                     j.length && q.each(j, d)
  1911.                 }
  1912.                 return this
  1913.             }
  1914.         }), q.fragments = {}, q.each({
  1915.             appendTo: "append",
  1916.             prependTo: "prepend",
  1917.             insertBefore: "before",
  1918.             insertAfter: "after",
  1919.             replaceAll: "replaceWith"
  1920.         }, function (a, b) {
  1921.             q.fn[a] = function (c) {
  1922.                 var d = [];
  1923.                 c = q(c);
  1924.                 var e = this.length === 1 && this[0].parentNode;
  1925.                 if (e && e.nodeType === 11 && e.childNodes.length === 1 && c.length === 1) {
  1926.                     c[b](this[0]);
  1927.                     return this
  1928.                 }
  1929.                 e = 0;
  1930.                 for (var f = c.length; e < f; e++) {
  1931.                     var g = (e > 0 ? this.clone(true) : this).get();
  1932.                     q.fn[b].apply(q(c[e]), g), d = d.concat(g)
  1933.                 }
  1934.                 return this.pushStack(d, a, c.selector)
  1935.             }
  1936.         }), q.extend({
  1937.             clean: function (a, b, c, d) {
  1938.                 b = b || t, typeof b.createElement === "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || t);
  1939.                 for (var e = [], f = 0, g;
  1940.                 (g = a[f]) != null; f++) {
  1941.                     typeof g === "number" && (g += "");
  1942.                     if (g) {
  1943.                         if (typeof g === "string" && !bm.test(g)) g = b.createTextNode(g);
  1944.                         else if (typeof g === "string") {
  1945.                             g = g.replace(bi, bp);
  1946.                             var h = (bk.exec(g) || ["", ""])[1].toLowerCase(),
  1947.                                 i = bq[h] || bq._default,
  1948.                                 j = i[0],
  1949.                                 k = b.createElement("div");
  1950.                             for (k.innerHTML = i[1] + g + i[2]; j--;) k = k.lastChild;
  1951.                             if (!q.support.tbody) {
  1952.                                 j = bl.test(g), h = h === "table" && !j ? k.firstChild && k.firstChild.childNodes : i[1] === "<table>" && !j ? k.childNodes : [];
  1953.                                 for (i = h.length - 1; i >= 0; --i) q.nodeName(h[i], "tbody") && !h[i].childNodes.length && h[i].parentNode.removeChild(h[i])
  1954.                             }!q.support.leadingWhitespace && bh.test(g) && k.insertBefore(b.createTextNode(bh.exec(g)[0]), k.firstChild), g = k.childNodes
  1955.                         }
  1956.                         g.nodeType ? e.push(g) : e = q.merge(e, g)
  1957.                     }
  1958.                 }
  1959.                 if (c) for (f = 0; e[f]; f++) d && q.nodeName(e[f], "script") && (!e[f].type || e[f].type.toLowerCase() === "text/javascript") ? d.push(e[f].parentNode ? e[f].parentNode.removeChild(e[f]) : e[f]) : (e[f].nodeType === 1 && e.splice.apply(e, [f + 1, 0].concat(q.makeArray(e[f].getElementsByTagName("script")))), c.appendChild(e[f]));
  1960.                 return e
  1961.             },
  1962.             cleanData: function (a) {
  1963.                 for (var b, c, d = q.cache, e = q.event.special, f = q.support.deleteExpando, g = 0, h;
  1964.                 (h = a[g]) != null; g++) if (c = h[q.expando]) {
  1965.                     b = d[c];
  1966.                     if (b.events) for (var i in b.events) e[i] ? q.event.remove(h, i) : W(h, i, b.handle);
  1967.                     f ? delete h[q.expando] : h.removeAttribute && h.removeAttribute(q.expando), delete d[c]
  1968.                 }
  1969.             }
  1970.         });
  1971.         var br = /z-?index|font-?weight|opacity|zoom|line-?height/i,
  1972.             bs = /alpha\([^)]*\)/,
  1973.             bt = /opacity=([^)]*)/,
  1974.             bu = /float/i,
  1975.             bv = /-([a-z])/ig,
  1976.             bw = /([A-Z])/g,
  1977.             bx = /^-?\d+(?:px)?$/i,
  1978.             by = /^-?\d/,
  1979.             bz = {
  1980.                 position: "absolute",
  1981.                 visibility: "hidden",
  1982.                 display: "block"
  1983.             },
  1984.             bA = ["Left", "Right"],
  1985.             bB = ["Top", "Bottom"],
  1986.             bC = t.defaultView && t.defaultView.getComputedStyle,
  1987.             bD = q.support.cssFloat ? "cssFloat" : "styleFloat",
  1988.             bE = function (a, b) {
  1989.                 return b.toUpperCase()
  1990.             };
  1991.         q.fn.css = function (a, c) {
  1992.             return e(this, a, c, true, function (a, c, d) {
  1993.                 if (d === b) return q.curCSS(a, c);
  1994.                 typeof d === "number" && !br.test(c) && (d += "px"), q.style(a, c, d)
  1995.             })
  1996.         }, q.extend({
  1997.             style: function (a, c, d) {
  1998.                 if (!a || a.nodeType === 3 || a.nodeType === 8) return b;
  1999.                 (c === "width" || c === "height") && parseFloat(d) < 0 && (d = b);
  2000.                 var e = a.style || a,
  2001.                     f = d !== b;
  2002.                 if (!q.support.opacity && c === "opacity") {
  2003.                     f && (e.zoom = 1, c = parseInt(d, 10) + "" === "NaN" ? "" : "alpha(opacity=" + d * 100 + ")", a = e.filter || q.curCSS(a, "filter") || "", e.filter = bs.test(a) ? a.replace(bs, c) : c);
  2004.                     return e.filter && e.filter.indexOf("opacity=") >= 0 ? parseFloat(bt.exec(e.filter)[1]) / 100 + "" : ""
  2005.                 }
  2006.                 bu.test(c) && (c = bD), c = c.replace(bv, bE), f && (e[c] = d);
  2007.                 return e[c]
  2008.             },
  2009.             css: function (a, b, c, d) {
  2010.                 if (b === "width" || b === "height") {
  2011.                     var e, f = b === "width" ? bA : bB;
  2012.  
  2013.                     function g() {
  2014.                         e = b === "width" ? a.offsetWidth : a.offsetHeight, d !== "border" && q.each(f, function () {
  2015.                             d || (e -= parseFloat(q.curCSS(a, "padding" + this, true)) || 0), d === "margin" ? e += parseFloat(q.curCSS(a, "margin" + this, true)) || 0 : e -= parseFloat(q.curCSS(a, "border" + this + "Width", true)) || 0
  2016.                         })
  2017.                     }
  2018.                     a.offsetWidth !== 0 ? g() : q.swap(a, bz, g);
  2019.                     return Math.max(0, Math.round(e))
  2020.                 }
  2021.                 return q.curCSS(a, b, c)
  2022.             },
  2023.             curCSS: function (a, b, c) {
  2024.                 var d, e = a.style;
  2025.                 if (!q.support.opacity && b === "opacity" && a.currentStyle) {
  2026.                     d = bt.test(a.currentStyle.filter || "") ? parseFloat(RegExp.$1) / 100 + "" : "";
  2027.                     return d === "" ? "1" : d
  2028.                 }
  2029.                 bu.test(b) && (b = bD);
  2030.                 if (!c && e && e[b]) d = e[b];
  2031.                 else if (bC) {
  2032.                     bu.test(b) && (b = "float"), b = b.replace(bw, "-$1").toLowerCase(), e = a.ownerDocument.defaultView;
  2033.                     if (!e) return null;
  2034.                     if (a = e.getComputedStyle(a, null)) d = a.getPropertyValue(b);
  2035.                     b === "opacity" && d === "" && (d = "1")
  2036.                 } else if (a.currentStyle) {
  2037.                     c = b.replace(bv, bE), d = a.currentStyle[b] || a.currentStyle[c];
  2038.                     if (!bx.test(d) && by.test(d)) {
  2039.                         b = e.left;
  2040.                         var f = a.runtimeStyle.left;
  2041.                         a.runtimeStyle.left = a.currentStyle.left, e.left = c === "fontSize" ? "1em" : d || 0, d = e.pixelLeft + "px", e.left = b, a.runtimeStyle.left = f
  2042.                     }
  2043.                 }
  2044.                 return d
  2045.             },
  2046.             swap: function (a, b, c) {
  2047.                 var d = {};
  2048.                 for (var e in b) d[e] = a.style[e], a.style[e] = b[e];
  2049.                 c.call(a);
  2050.                 for (e in b) a.style[e] = d[e]
  2051.             }
  2052.         }), q.expr && q.expr.filters && (q.expr.filters.hidden = function (a) {
  2053.             var b = a.offsetWidth,
  2054.                 c = a.offsetHeight,
  2055.                 d = a.nodeName.toLowerCase() === "tr";
  2056.             return b === 0 && c === 0 && !d ? true : b > 0 && c > 0 && !d ? false : q.curCSS(a, "display") === "none"
  2057.         }, q.expr.filters.visible = function (a) {
  2058.             return !q.expr.filters.hidden(a)
  2059.         });
  2060.         var bF = f(),
  2061.             bG = /<script(.|\s)*?\/script>/gi,
  2062.             bH = /select|textarea/i,
  2063.             bI = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,
  2064.             bJ = /=\?(&|$)/,
  2065.             bK = /\?/,
  2066.             bL = /(\?|&)_=.*?(&|$)/,
  2067.             bM = /^(\w+:)?\/\/([^\/?#]+)/,
  2068.             bN = /%20/g,
  2069.             bO = q.fn.load;
  2070.         q.fn.extend({
  2071.             load: function (a, b, c) {
  2072.                 if (typeof a !== "string") return bO.call(this, a);
  2073.                 if (!this.length) return this;
  2074.                 var d = a.indexOf(" ");
  2075.                 if (d >= 0) {
  2076.                     var e = a.slice(d, a.length);
  2077.                     a = a.slice(0, d)
  2078.                 }
  2079.                 d = "GET", b && (q.isFunction(b) ? (c = b, b = null) : typeof b === "object" && (b = q.param(b, q.ajaxSettings.traditional), d = "POST"));
  2080.                 var f = this;
  2081.                 q.ajax({
  2082.                     url: a,
  2083.                     type: d,
  2084.                     dataType: "html",
  2085.                     data: b,
  2086.                     complete: function (a, b) {
  2087.                         (b === "success" || b === "notmodified") && f.html(e ? q("<div />").append(a.responseText.replace(bG, "")).find(e) : a.responseText), c && f.each(c, [a.responseText, b, a])
  2088.                     }
  2089.                 });
  2090.                 return this
  2091.             },
  2092.             serialize: function () {
  2093.                 return q.param(this.serializeArray())
  2094.             },
  2095.             serializeArray: function () {
  2096.                 return this.map(function () {
  2097.                     return this.elements ? q.makeArray(this.elements) : this
  2098.                 }).filter(function () {
  2099.                     return this.name && !this.disabled && (this.checked || bH.test(this.nodeName) || bI.test(this.type))
  2100.                 }).map(function (a, b) {
  2101.                     a = q(this).val();
  2102.                     return a == null ? null : q.isArray(a) ? q.map(a, function (a) {
  2103.                         return {
  2104.                             name: b.name,
  2105.                             value: a
  2106.                         }
  2107.                     }) : {
  2108.                         name: b.name,
  2109.                         value: a
  2110.                     }
  2111.                 }).get()
  2112.             }
  2113.         }), q.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (a, b) {
  2114.             q.fn[b] = function (a) {
  2115.                 return this.bind(b, a)
  2116.             }
  2117.         }), q.extend({
  2118.             get: function (a, b, c, d) {
  2119.                 q.isFunction(b) && (d = d || c, c = b, b = null);
  2120.                 return q.ajax({
  2121.                     type: "GET",
  2122.                     url: a,
  2123.                     data: b,
  2124.                     success: c,
  2125.                     dataType: d
  2126.                 })
  2127.             },
  2128.             getScript: function (a, b) {
  2129.                 return q.get(a, null, b, "script")
  2130.             },
  2131.             getJSON: function (a, b, c) {
  2132.                 return q.get(a, b, c, "json")
  2133.             },
  2134.             post: function (a, b, c, d) {
  2135.                 q.isFunction(b) && (d = d || c, c = b, b = {});
  2136.                 return q.ajax({
  2137.                     type: "POST",
  2138.                     url: a,
  2139.                     data: b,
  2140.                     success: c,
  2141.                     dataType: d
  2142.                 })
  2143.             },
  2144.             ajaxSetup: function (a) {
  2145.                 q.extend(q.ajaxSettings, a)
  2146.             },
  2147.             ajaxSettings: {
  2148.                 url: location.href,
  2149.                 global: true,
  2150.                 type: "GET",
  2151.                 contentType: "application/x-www-form-urlencoded",
  2152.                 processData: true,
  2153.                 async: true,
  2154.                 xhr: a.XMLHttpRequest && (a.location.protocol !== "file:" || !a.ActiveXObject) ?
  2155.                 function () {
  2156.                     return new a.XMLHttpRequest
  2157.                 } : function () {
  2158.                     try {
  2159.                         return new a.ActiveXObject("Microsoft.XMLHTTP")
  2160.                     } catch (a) {}
  2161.                 },
  2162.                 accepts: {
  2163.                     xml: "application/xml, text/xml",
  2164.                     html: "text/html",
  2165.                     script: "text/javascript, application/javascript",
  2166.                     json: "application/json, text/javascript",
  2167.                     text: "text/plain",
  2168.                     _default: "*/*"
  2169.                 }
  2170.             },
  2171.             lastModified: {},
  2172.             etag: {},
  2173.             ajax: function (c) {
  2174.                 function d() {
  2175.                     h.success && h.success.call(l, k, j, v), h.global && g("ajaxSuccess", [v, h])
  2176.                 }
  2177.                 function e() {
  2178.                     h.complete && h.complete.call(l, v, j), h.global && g("ajaxComplete", [v, h]), h.global && !(--q.active) && q.event.trigger("ajaxStop")
  2179.                 }
  2180.                 function g(a, b) {
  2181.                     (h.context ? q(h.context) : q.event).trigger(a, b)
  2182.                 }
  2183.                 var h = q.extend(true, {}, q.ajaxSettings, c),
  2184.                     i, j, k, l = c && c.context || h,
  2185.                     m = h.type.toUpperCase();
  2186.                 h.data && h.processData && typeof h.data !== "string" && (h.data = q.param(h.data, h.traditional));
  2187.                 if (h.dataType === "jsonp") {
  2188.                     if (m === "GET") bJ.test(h.url) || (h.url += (bK.test(h.url) ? "&" : "?") + (h.jsonp || "callback") + "=?");
  2189.                     else if (!h.data || !bJ.test(h.data)) h.data = (h.data ? h.data + "&" : "") + (h.jsonp || "callback") + "=?";
  2190.                     h.dataType = "json"
  2191.                 }
  2192.                 h.dataType === "json" && (h.data && bJ.test(h.data) || bJ.test(h.url)) && (i = h.jsonpCallback || "jsonp" + bF++, h.data && (h.data = (h.data + "").replace(bJ, "=" + i + "$1")), h.url = h.url.replace(bJ, "=" + i + "$1"), h.dataType = "script", a[i] = a[i] ||
  2193.                 function (c) {
  2194.                     k = c, d(), e(), a[i] = b;
  2195.                     try {
  2196.                         delete a[i]
  2197.                     } catch (a) {}
  2198.                     p && p.removeChild(r)
  2199.                 }), h.dataType === "script" && h.cache === null && (h.cache = false);
  2200.                 if (h.cache === false && m === "GET") {
  2201.                     var n = f(),
  2202.                         o = h.url.replace(bL, "$1_=" + n + "$2");
  2203.                     h.url = o + (o === h.url ? (bK.test(h.url) ? "&" : "?") + "_=" + n : "")
  2204.                 }
  2205.                 h.data && m === "GET" && (h.url += (bK.test(h.url) ? "&" : "?") + h.data), h.global && !(q.active++) && q.event.trigger("ajaxStart"), n = (n = bM.exec(h.url)) && (n[1] && n[1] !== location.protocol || n[2] !== location.host);
  2206.                 if (h.dataType === "script" && m === "GET" && n) {
  2207.                     var p = t.getElementsByTagName("head")[0] || t.documentElement,
  2208.                         r = t.createElement("script");
  2209.                     r.src = h.url, h.scriptCharset && (r.charset = h.scriptCharset);
  2210.                     if (!i) {
  2211.                         var s = false;
  2212.                         r.onload = r.onreadystatechange = function () {
  2213.                             !s && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") && (s = true, d(), e(), r.onload = r.onreadystatechange = null, p && r.parentNode && p.removeChild(r))
  2214.                         }
  2215.                     }
  2216.                     p.insertBefore(r, p.firstChild);
  2217.                     return b
  2218.                 }
  2219.                 var u = false,
  2220.                     v = h.xhr();
  2221.                 if (v) {
  2222.                     h.username ? v.open(m, h.url, h.async, h.username, h.password) : v.open(m, h.url, h.async);
  2223.                     try {
  2224.                         (h.data || c && c.contentType) && v.setRequestHeader("Content-Type", h.contentType);
  2225.                         h.ifModified && (q.lastModified[h.url] && v.setRequestHeader("If-Modified-Since", q.lastModified[h.url]), q.etag[h.url] && v.setRequestHeader("If-None-Match", q.etag[h.url]));
  2226.                         n || v.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  2227.                         v.setRequestHeader("Accept", h.dataType && h.accepts[h.dataType] ? h.accepts[h.dataType] + ", */*" : h.accepts._default)
  2228.                     } catch (a) {}
  2229.                     if (h.beforeSend && h.beforeSend.call(l, v, h) === false) {
  2230.                         h.global && !(--q.active) && q.event.trigger("ajaxStop"), v.abort();
  2231.                         return false
  2232.                     }
  2233.                     h.global && g("ajaxSend", [v, h]);
  2234.                     var w = v.onreadystatechange = function (a) {
  2235.                         if (!v || v.readyState === 0 || a === "abort") u || e(), u = true, v && (v.onreadystatechange = q.noop);
  2236.                         else if (!u && v && (v.readyState === 4 || a === "timeout")) {
  2237.                             u = true, v.onreadystatechange = q.noop, j = a === "timeout" ? "timeout" : q.httpSuccess(v) ? h.ifModified && q.httpNotModified(v, h.url) ? "notmodified" : "success" : "error";
  2238.                             var b;
  2239.                             if (j === "success") try {
  2240.                                 k = q.httpData(v, h.dataType, h)
  2241.                             } catch (a) {
  2242.                                 j = "parsererror";
  2243.                                 b = a
  2244.                             }
  2245.                             j === "success" || j === "notmodified" ? i || d() : q.handleError(h, v, j, b), e(), a === "timeout" && v.abort(), h.async && (v = null)
  2246.                         }
  2247.                     };
  2248.                     try {
  2249.                         var x = v.abort;
  2250.                         v.abort = function () {
  2251.                             v && x.call(v), w("abort")
  2252.                         }
  2253.                     } catch (a) {}
  2254.                     h.async && h.timeout > 0 && setTimeout(function () {
  2255.                         v && !u && w("timeout")
  2256.                     }, h.timeout);
  2257.                     try {
  2258.                         v.send(m === "POST" || m === "PUT" || m === "DELETE" ? h.data : null)
  2259.                     } catch (a) {
  2260.                         q.handleError(h, v, null, a);
  2261.                         e()
  2262.                     }
  2263.                     h.async || w();
  2264.                     return v
  2265.                 }
  2266.             },
  2267.             handleError: function (a, b, c, d) {
  2268.                 a.error && a.error.call(a.context || a, b, c, d), a.global && (a.context ? q(a.context) : q.event).trigger("ajaxError", [b, a, d])
  2269.             },
  2270.             active: 0,
  2271.             httpSuccess: function (a) {
  2272.                 try {
  2273.                     return !a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status === 1223 || a.status === 0
  2274.                 } catch (a) {}
  2275.                 return false
  2276.             },
  2277.             httpNotModified: function (a, b) {
  2278.                 var c = a.getResponseHeader("Last-Modified"),
  2279.                     d = a.getResponseHeader("Etag");
  2280.                 c && (q.lastModified[b] = c), d && (q.etag[b] = d);
  2281.                 return a.status === 304 || a.status === 0
  2282.             },
  2283.             httpData: function (a, b, c) {
  2284.                 var d = a.getResponseHeader("content-type") || "",
  2285.                     e = b === "xml" || !b && d.indexOf("xml") >= 0;
  2286.                 a = e ? a.responseXML : a.responseText, e && a.documentElement.nodeName === "parsererror" && q.error("parsererror"), c && c.dataFilter && (a = c.dataFilter(a, b)), typeof a === "string" && (b === "json" || !b && d.indexOf("json") >= 0 ? a = q.parseJSON(a) : (b === "script" || !b && d.indexOf("javascript") >= 0) && q.globalEval(a));
  2287.                 return a
  2288.             },
  2289.             param: function (a, c) {
  2290.                 function d(a, b) {
  2291.                     q.isArray(b) ? q.each(b, function (b, f) {
  2292.                         c || /\[\]$/.test(a) ? e(a, f) : d(a + "[" + (typeof f === "object" || q.isArray(f) ? b : "") + "]", f)
  2293.                     }) : !c && b != null && typeof b === "object" ? q.each(b, function (b, c) {
  2294.                         d(a + "[" + b + "]", c)
  2295.                     }) : e(a, b)
  2296.                 }
  2297.                 function e(a, b) {
  2298.                     b = q.isFunction(b) ? b() : b, f[f.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
  2299.                 }
  2300.                 var f = [];
  2301.                 c === b && (c = q.ajaxSettings.traditional);
  2302.                 if (q.isArray(a) || a.jquery) q.each(a, function () {
  2303.                     e(this.name, this.value)
  2304.                 });
  2305.                 else for (var g in a) d(g, a[g]);
  2306.                 return f.join("&").replace(bN, "+")
  2307.             }
  2308.         });
  2309.         var bP = {},
  2310.             bQ = /toggle|show|hide/,
  2311.             bR = /^([+-]=)?([\d+-.]+)(.*)$/,
  2312.             bS, bT = [
  2313.                 ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"],
  2314.                 ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"],
  2315.                 ["opacity"]
  2316.             ];
  2317.         q.fn.extend({
  2318.             show: function (a, b) {
  2319.                 if (a || a === 0) return this.animate(o("show", 3), a, b);
  2320.                 a = 0;
  2321.                 for (b = this.length; a < b; a++) {
  2322.                     var c = q.data(this[a], "olddisplay");
  2323.                     this[a].style.display = c || "";
  2324.                     if (q.css(this[a], "display") === "none") {
  2325.                         c = this[a].nodeName;
  2326.                         var d;
  2327.                         if (bP[c]) d = bP[c];
  2328.                         else {
  2329.                             var e = q("<" + c + " />").appendTo("body");
  2330.                             d = e.css("display"), d === "none" && (d = "block"), e.remove(), bP[c] = d
  2331.                         }
  2332.                         q.data(this[a], "olddisplay", d)
  2333.                     }
  2334.                 }
  2335.                 a = 0;
  2336.                 for (b = this.length; a < b; a++) this[a].style.display = q.data(this[a], "olddisplay") || "";
  2337.                 return this
  2338.             },
  2339.             hide: function (a, b) {
  2340.                 if (a || a === 0) return this.animate(o("hide", 3), a, b);
  2341.                 a = 0;
  2342.                 for (b = this.length; a < b; a++) {
  2343.                     var c = q.data(this[a], "olddisplay");
  2344.                     !c && c !== "none" && q.data(this[a], "olddisplay", q.css(this[a], "display"))
  2345.                 }
  2346.                 a = 0;
  2347.                 for (b = this.length; a < b; a++) this[a].style.display = "none";
  2348.                 return this
  2349.             },
  2350.             _toggle: q.fn.toggle,
  2351.             toggle: function (a, b) {
  2352.                 var c = typeof a === "boolean";
  2353.                 q.isFunction(a) && q.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || c ? this.each(function () {
  2354.                     var b = c ? a : q(this).is(":hidden");
  2355.                     q(this)[b ? "show" : "hide"]()
  2356.                 }) : this.animate(o("toggle", 3), a, b);
  2357.                 return this
  2358.             },
  2359.             fadeTo: function (a, b, c) {
  2360.                 return this.filter(":hidden").css("opacity", 0).show().end().animate({
  2361.                     opacity: b
  2362.                 }, a, c)
  2363.             },
  2364.             animate: function (a, b, c, d) {
  2365.                 var e = q.speed(b, c, d);
  2366.                 if (q.isEmptyObject(a)) return this.each(e.complete);
  2367.                 return this[e.queue === false ? "each" : "queue"](function () {
  2368.                     var b = q.extend({}, e),
  2369.                         c, d = this.nodeType === 1 && q(this).is(":hidden"),
  2370.                         f = this;
  2371.                     for (c in a) {
  2372.                         var g = c.replace(bv, bE);
  2373.                         c !== g && (a[g] = a[c], delete a[c], c = g);
  2374.                         if (a[c] === "hide" && d || a[c] === "show" && !d) return b.complete.call(this);
  2375.                         (c === "height" || c === "width") && this.style && (b.display = q.css(this, "display"), b.overflow = this.style.overflow), q.isArray(a[c]) && ((b.specialEasing = b.specialEasing || {})[c] = a[c][1], a[c] = a[c][0])
  2376.                     }
  2377.                     b.overflow != null && (this.style.overflow = "hidden"), b.curAnim = q.extend({}, a), q.each(a, function (c, e) {
  2378.                         var g = new q.fx(f, b, c);
  2379.                         if (bQ.test(e)) g[e === "toggle" ? d ? "show" : "hide" : e](a);
  2380.                         else {
  2381.                             var h = bR.exec(e),
  2382.                                 i = g.cur(true) || 0;
  2383.                             if (h) {
  2384.                                 e = parseFloat(h[2]);
  2385.                                 var j = h[3] || "px";
  2386.                                 j !== "px" && (f.style[c] = (e || 1) + j, i = (e || 1) / g.cur(true) * i, f.style[c] = i + j), h[1] && (e = (h[1] === "-=" ? -1 : 1) * e + i), g.custom(i, e, j)
  2387.                             } else g.custom(i, e, "")
  2388.                         }
  2389.                     });
  2390.                     return true
  2391.                 })
  2392.             },
  2393.             stop: function (a, b) {
  2394.                 var c = q.timers;
  2395.                 a && this.queue([]), this.each(function () {
  2396.                     for (var a = c.length - 1; a >= 0; a--) c[a].elem === this && (b && c[a](true), c.splice(a, 1))
  2397.                 }), b || this.dequeue();
  2398.                 return this
  2399.             }
  2400.         }), q.each({
  2401.             slideDown: o("show", 1),
  2402.             slideUp: o("hide", 1),
  2403.             slideToggle: o("toggle", 1),
  2404.             fadeIn: {
  2405.                 opacity: "show"
  2406.             },
  2407.             fadeOut: {
  2408.                 opacity: "hide"
  2409.             }
  2410.         }, function (a, b) {
  2411.             q.fn[a] = function (a, c) {
  2412.                 return this.animate(b, a, c)
  2413.             }
  2414.         }), q.extend({
  2415.             speed: function (a, b, c) {
  2416.                 var d = a && typeof a === "object" ? a : {
  2417.                     complete: c || !c && b || q.isFunction(a) && a,
  2418.                     duration: a,
  2419.                     easing: c && b || b && !q.isFunction(b) && b
  2420.                 };
  2421.                 d.duration = q.fx.off ? 0 : typeof d.duration === "number" ? d.duration : q.fx.speeds[d.duration] || q.fx.speeds._default, d.old = d.complete, d.complete = function () {
  2422.                     d.queue !== false && q(this).dequeue(), q.isFunction(d.old) && d.old.call(this)
  2423.                 };
  2424.                 return d
  2425.             },
  2426.             easing: {
  2427.                 linear: function (a, b, c, d) {
  2428.                     return c + d * a
  2429.                 },
  2430.                 swing: function (a, b, c, d) {
  2431.                     return (-Math.cos(a * Math.PI) / 2 + 0.5) * d + c
  2432.                 }
  2433.             },
  2434.             timers: [],
  2435.             fx: function (a, b, c) {
  2436.                 this.options = b, this.elem = a, this.prop = c, b.orig || (b.orig = {})
  2437.             }
  2438.         }), q.fx.prototype = {
  2439.             update: function () {
  2440.                 this.options.step && this.options.step.call(this.elem, this.now, this), (q.fx.step[this.prop] || q.fx.step._default)(this), (this.prop === "height" || this.prop === "width") && this.elem.style && (this.elem.style.display = "block")
  2441.             },
  2442.             cur: function (a) {
  2443.                 if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop];
  2444.                 return (a = parseFloat(q.css(this.elem, this.prop, a))) && a > -1e4 ? a : parseFloat(q.curCSS(this.elem, this.prop)) || 0
  2445.             },
  2446.             custom: function (a, b, c) {
  2447.                 function d(a) {
  2448.                     return e.step(a)
  2449.                 }
  2450.                 this.startTime = f(), this.start = a, this.end = b, this.unit = c || this.unit || "px", this.now = this.start, this.pos = this.state = 0;
  2451.                 var e = this;
  2452.                 d.elem = this.elem, d() && q.timers.push(d) && !bS && (bS = setInterval(q.fx.tick, 13))
  2453.             },
  2454.             show: function () {
  2455.                 this.options.orig[this.prop] = q.style(this.elem, this.prop), this.options.show = true, this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), q(this.elem).show()
  2456.             },
  2457.             hide: function () {
  2458.                 this.options.orig[this.prop] = q.style(this.elem, this.prop), this.options.hide = true, this.custom(this.cur(), 0)
  2459.             },
  2460.             step: function (a) {
  2461.                 var b = f(),
  2462.                     c = true;
  2463.                 if (a || b >= this.options.duration + this.startTime) {
  2464.                     this.now = this.end, this.pos = this.state = 1, this.update(), this.options.curAnim[this.prop] = true;
  2465.                     for (var d in this.options.curAnim) this.options.curAnim[d] !== true && (c = false);
  2466.                     if (c) {
  2467.                         this.options.display != null && (this.elem.style.overflow = this.options.overflow, a = q.data(this.elem, "olddisplay"), this.elem.style.display = a ? a : this.options.display, q.css(this.elem, "display") === "none" && (this.elem.style.display = "block")), this.options.hide && q(this.elem).hide();
  2468.                         if (this.options.hide || this.options.show) for (var e in this.options.curAnim) q.style(this.elem, e, this.options.orig[e]);
  2469.                         this.options.complete.call(this.elem)
  2470.                     }
  2471.                     return false
  2472.                 }
  2473.                 e = b - this.startTime, this.state = e / this.options.duration, a = this.options.easing || (q.easing.swing ? "swing" : "linear"), this.pos = q.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || a](this.state, e, 0, 1, this.options.duration), this.now = this.start + (this.end - this.start) * this.pos, this.update();
  2474.                 return true
  2475.             }
  2476.         }, q.extend(q.fx, {
  2477.             tick: function () {
  2478.                 for (var a = q.timers, b = 0; b < a.length; b++) a[b]() || a.splice(b--, 1);
  2479.                 a.length || q.fx.stop()
  2480.             },
  2481.             stop: function () {
  2482.                 clearInterval(bS), bS = null
  2483.             },
  2484.             speeds: {
  2485.                 slow: 600,
  2486.                 fast: 200,
  2487.                 _default: 400
  2488.             },
  2489.             step: {
  2490.                 opacity: function (a) {
  2491.                     q.style(a.elem, "opacity", a.now)
  2492.                 },
  2493.                 _default: function (a) {
  2494.                     a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? Math.max(0, a.now) : a.now) + a.unit : a.elem[a.prop] = a.now
  2495.                 }
  2496.             }
  2497.         }), q.expr && q.expr.filters && (q.expr.filters.animated = function (a) {
  2498.             return q.grep(q.timers, function (b) {
  2499.                 return a === b.elem
  2500.             }).length
  2501.         }), q.fn.offset = "getBoundingClientRect" in t.documentElement ?
  2502.         function (a) {
  2503.             var b = this[0];
  2504.             if (a) return this.each(function (b) {
  2505.                 q.offset.setOffset(this, a, b)
  2506.             });
  2507.             if (!b || !b.ownerDocument) return null;
  2508.             if (b === b.ownerDocument.body) return q.offset.bodyOffset(b);
  2509.             var c = b.getBoundingClientRect(),
  2510.                 d = b.ownerDocument;
  2511.             b = d.body, d = d.documentElement;
  2512.             return {
  2513.                 top: c.top + (self.pageYOffset || q.support.boxModel && d.scrollTop || b.scrollTop) - (d.clientTop || b.clientTop || 0),
  2514.                 left: c.left + (self.pageXOffset || q.support.boxModel && d.scrollLeft || b.scrollLeft) - (d.clientLeft || b.clientLeft || 0)
  2515.             }
  2516.         } : function (a) {
  2517.             var b = this[0];
  2518.             if (a) return this.each(function (b) {
  2519.                 q.offset.setOffset(this, a, b)
  2520.             });
  2521.             if (!b || !b.ownerDocument) return null;
  2522.             if (b === b.ownerDocument.body) return q.offset.bodyOffset(b);
  2523.             q.offset.initialize();
  2524.             var c = b.offsetParent,
  2525.                 d = b,
  2526.                 e = b.ownerDocument,
  2527.                 f, g = e.documentElement,
  2528.                 h = e.body;
  2529.             d = (e = e.defaultView) ? e.getComputedStyle(b, null) : b.currentStyle;
  2530.             for (var i = b.offsetTop, j = b.offsetLeft;
  2531.             (b = b.parentNode) && b !== h && b !== g;) {
  2532.                 if (q.offset.supportsFixedPosition && d.position === "fixed") break;
  2533.                 f = e ? e.getComputedStyle(b, null) : b.currentStyle, i -= b.scrollTop, j -= b.scrollLeft, b === c && (i += b.offsetTop, j += b.offsetLeft, q.offset.doesNotAddBorder && !(q.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(b.nodeName)) && (i += parseFloat(f.borderTopWidth) || 0, j += parseFloat(f.borderLeftWidth) || 0), d = c, c = b.offsetParent), q.offset.subtractsBorderForOverflowNotVisible && f.overflow !== "visible" && (i += parseFloat(f.borderTopWidth) || 0, j += parseFloat(f.borderLeftWidth) || 0), d = f
  2534.             }
  2535.             if (d.position === "relative" || d.position === "static") i += h.offsetTop, j += h.offsetLeft;
  2536.             q.offset.supportsFixedPosition && d.position === "fixed" && (i += Math.max(g.scrollTop, h.scrollTop), j += Math.max(g.scrollLeft, h.scrollLeft));
  2537.             return {
  2538.                 top: i,
  2539.                 left: j
  2540.             }
  2541.         }, q.offset = {
  2542.             initialize: function () {
  2543.                 var a = t.body,
  2544.                     b = t.createElement("div"),
  2545.                     c, d, e, f = parseFloat(q.curCSS(a, "marginTop", true)) || 0;
  2546.                 q.extend(b.style, {
  2547.                     position: "absolute",
  2548.                     top: 0,
  2549.                     left: 0,
  2550.                     margin: 0,
  2551.                     border: 0,
  2552.                     width: "1px",
  2553.                     height: "1px",
  2554.                     visibility: "hidden"
  2555.                 }), b.innerHTML = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>", a.insertBefore(b, a.firstChild), c = b.firstChild, d = c.firstChild, e = c.nextSibling.firstChild.firstChild, this.doesNotAddBorder = d.offsetTop !== 5, this.doesAddBorderForTableAndCells = e.offsetTop === 5, d.style.position = "fixed", d.style.top = "20px", this.supportsFixedPosition = d.offsetTop === 20 || d.offsetTop === 15, d.style.position = d.style.top = "", c.style.overflow = "hidden", c.style.position = "relative", this.subtractsBorderForOverflowNotVisible = d.offsetTop === -5, this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== f, a.removeChild(b), q.offset.initialize = q.noop
  2556.             },
  2557.             bodyOffset: function (a) {
  2558.                 var b = a.offsetTop,
  2559.                     c = a.offsetLeft;
  2560.                 q.offset.initialize(), q.offset.doesNotIncludeMarginInBodyOffset && (b += parseFloat(q.curCSS(a, "marginTop", true)) || 0, c += parseFloat(q.curCSS(a, "marginLeft", true)) || 0);
  2561.                 return {
  2562.                     top: b,
  2563.                     left: c
  2564.                 }
  2565.             },
  2566.             setOffset: function (a, b, c) {
  2567.                 /static/.test(q.curCSS(a, "position")) && (a.style.position = "relative");
  2568.                 var d = q(a),
  2569.                     e = d.offset(),
  2570.                     f = parseInt(q.curCSS(a, "top", true), 10) || 0,
  2571.                     g = parseInt(q.curCSS(a, "left", true), 10) || 0;
  2572.                 q.isFunction(b) && (b = b.call(a, c, e)), c = {
  2573.                     top: b.top - e.top + f,
  2574.                     left: b.left - e.left + g
  2575.                 }, "using" in b ? b.using.call(a, c) : d.css(c)
  2576.             }
  2577.         }, q.fn.extend({
  2578.             position: function () {
  2579.                 if (!this[0]) return null;
  2580.                 var a = this[0],
  2581.                     b = this.offsetParent(),
  2582.                     c = this.offset(),
  2583.                     d = /^body|html$/i.test(b[0].nodeName) ? {
  2584.                         top: 0,
  2585.                         left: 0
  2586.                     } : b.offset();
  2587.                 c.top -= parseFloat(q.curCSS(a, "marginTop", true)) || 0, c.left -= parseFloat(q.curCSS(a, "marginLeft", true)) || 0, d.top += parseFloat(q.curCSS(b[0], "borderTopWidth", true)) || 0, d.left += parseFloat(q.curCSS(b[0], "borderLeftWidth", true)) || 0;
  2588.                 return {
  2589.                     top: c.top - d.top,
  2590.                     left: c.left - d.left
  2591.                 }
  2592.             },
  2593.             offsetParent: function () {
  2594.                 return this.map(function () {
  2595.                     for (var a = this.offsetParent || t.body; a && !/^body|html$/i.test(a.nodeName) && q.css(a, "position") === "static";) a = a.offsetParent;
  2596.                     return a
  2597.                 })
  2598.             }
  2599.         }), q.each(["Left", "Top"], function (a, c) {
  2600.             var d = "scroll" + c;
  2601.             q.fn[d] = function (c) {
  2602.                 var e = this[0],
  2603.                     f;
  2604.                 if (!e) return null;
  2605.                 return c !== b ? this.each(function () {
  2606.                     (f = p(this)) ? f.scrollTo(a ? q(f).scrollLeft() : c, a ? c : q(f).scrollTop()) : this[d] = c
  2607.                 }) : (f = p(e)) ? "pageXOffset" in f ? f[a ? "pageYOffset" : "pageXOffset"] : q.support.boxModel && f.document.documentElement[d] || f.document.body[d] : e[d]
  2608.             }
  2609.         }), q.each(["Height", "Width"], function (a, c) {
  2610.             var d = c.toLowerCase();
  2611.             q.fn["inner" + c] = function () {
  2612.                 return this[0] ? q.css(this[0], d, false, "padding") : null
  2613.             }, q.fn["outer" + c] = function (a) {
  2614.                 return this[0] ? q.css(this[0], d, false, a ? "margin" : "border") : null
  2615.             }, q.fn[d] = function (a) {
  2616.                 var e = this[0];
  2617.                 if (!e) return a == null ? null : this;
  2618.                 if (q.isFunction(a)) return this.each(function (b) {
  2619.                     var c = q(this);
  2620.                     c[d](a.call(this, b, c[d]()))
  2621.                 });
  2622.                 return "scrollTo" in e && e.document ? e.document.compatMode === "CSS1Compat" && e.document.documentElement["client" + c] || e.document.body["client" + c] : e.nodeType === 9 ? Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]) : a === b ? q.css(e, d) : this.css(d, typeof a === "string" ? a : a + "px")
  2623.             }
  2624.         }), a.jQuery = a.$ = q
  2625.     })(window)
  2626. })(), (function () {
  2627.     if (window.MarkUp) return;
  2628.  
  2629.     function a() {
  2630.         $("object").each(function () {
  2631.             var a = $(this);
  2632.             if (a.is("[codebase*=flash]") || a.is("[type*=flash]") || a.find("embed[type*=flash]").length > 0) {
  2633.                 var b = a.find("param[name=wmode]"),
  2634.                     c = b.length > 0 ? b.attr("value") : undefined;
  2635.                 c && c === "window" ? b.attr("value", "opaque") : $("<param name=\"wmode\" value=\"opaque\"/>").prependTo(a)
  2636.             }
  2637.         }), $("embed[type*='flash'], embed[src*='.swf']").each(function () {
  2638.             var a = $(this),
  2639.                 b = a.attr("wmode");
  2640.             b && b === "window" ? a.attr("wmode", "opaque") : a.attr("wmode", "opaque")
  2641.         })
  2642.     }
  2643.     function b() {
  2644.         $("html").css({
  2645.             overflow: "hidden"
  2646.         })
  2647.     }
  2648.     $(function () {
  2649.         $("<meta/>").attr({
  2650.             name: "svg.config.data-path",
  2651.             content: "/static/pagefix/"
  2652.         }).appendTo("head"), a(), b()
  2653.     })
  2654. })()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement