PageSourceSearch

https://www.masato07.com/res/100/js/jquery-1.9.1.min.js

js masato07.com collected 2026-10-04 11:15:58 UTC 159,020 bytes, 3,770 lines download raw bytes

vendor: 11,468 bytes, lines 1-300
1var url = "";
2function linkF(p) {
3    p = decodeURIComponent(p);
4    p = $.base64.decode(p);
5    if ( - 1 === p.indexOf("@") || "http" == p.substr(0, 4)) url = p;
6    else {
7        var l, w;
8        p = p.split("@");
9        l = p[0];
10        w = p[1];
11        2 < p.length && (p.splice(0, 1), w = p.join("@"));
12        switch (l) {
13        case "frame":
14            url = w;
15            break;
16        case "jump":
17            url = w;
18            break;
19        case "link":
20            url = w;
21            break;
22        case "m3u8":
23            url = w;
24            break;
25        case "flv":
26            url = w;
27            break;
28        case "tiantian":
29            url = "http://www.04stream.tv/player.html?ch\x3d" + w + "\x26w\x3d650\x26amp;h\x3d460";
30            break;
31        case "pptv":
32            url = "http://pub.pptv.com/player/iframe/index.html#w\x3d760\x26h\x3d430\x26id\x3d" + w;
33            break;
34        case "qqnba":
35            url = "http://player.sportstv.cc/qqnba/?id\x3d" + w;
36            break;
37        case "sinanba":
38            url = "http://sports.sina.com.cn/nba/live.html?id\x3d" + w;
39            break;
40        case "tv":
41            switch (w) {
42            case "cctv5":
43                url = "http://player.sportstv.cc/tv/?id\x3d" + w;
44                url = "http://tv.cctv.com/live/cctv5/";
45                break;
46            case "cctv5plus":
47                url = "http://player.sportstv.cc/tv/?id\x3d" + w;
48                url = "http://tv.cctv.com/live/cctv5plus/";
49                break;
50            case "jsty":
51                url = "http://live.jstv.com";
52                break;
53            case "szty":
54                url = "http://tv.cctv.com/live/shenzhen";
55                break;
56            case "gdty":
57                url = "http://player.sportstv.cc/tv/?id\x3dguangdongtiyu";
58                url = "http://tv.cctv.com/live/guangdong";
59                break;
60            case "xjtiyu":
61                url = "http://tv.cctv.com/live/xinjiang";
62                break;
63            case "btv6":
64                url = "http://player.sportstv.cc/tv/?id\x3dbeijingtiyu";
65                url = "http://tv.cntv.cn/live/btv6";
66                break;
67            default:
68                url = w
69            }
70            break;
71        case "sina":
72            url = "http://video.sina.com.cn/l/p/" + w + ".html"
73        }
74    }
75} (function(p, l) {
76    function w(a) {
77        var b = a.length,
78        d = c.type(a);
79        return c.isWindow(a) ? !1 : 1 === a.nodeType && b ? !0 : "array" === d || "function" !== d && (0 === b || "number" == typeof b && 0 < b && b - 1 in a)
80    }
81    function Ub(a) {
82        var b = Xa[a] = {};
83        return c.each(a.match(G) || [],
84        function(a, c) {
85            b[c] = !0
86        }),
87        b
88    }
89    function Ya(a, b, d, e) {
90        if (c.acceptData(a)) {
91            var f, g, h = c.expando,
92            k = "string" == typeof b,
93            n = a.nodeType,
94            r = n ? c.cache: a,
95            u = n ? a[h] : a[h] && h;
96            if (u && r[u] && (e || r[u].data) || !k || d !== l) return u || (n ? a[h] = u = ca.pop() || c.guid++:u = h),
97            r[u] || (r[u] = {},
98            n || (r[u].toJSON = c.noop)),
99            ("object" == typeof b || "function" == typeof b) && (e ? r[u] = c.extend(r[u], b) : r[u].data = c.extend(r[u].data, b)),
100            f = r[u],
101            e || (f.data || (f.data = {}), f = f.data),
102            d !== l && (f[c.camelCase(b)] = d),
103            k ? (g = f[b], null == g && (g = f[c.camelCase(b)])) : g = f,
104            g
105        }
106    }
107    function Za(a, b, d) {
108        if (c.acceptData(a)) {
109            var e, f, g, h = a.nodeType,
110            k = h ? c.cache: a,
111            n = h ? a[c.expando] : c.expando;
112            if (k[n]) {
113                if (b && (g = d ? k[n] : k[n].data)) {
114                    c.isArray(b) ? b = b.concat(c.map(b, c.camelCase)) : b in g ? b = [b] : (b = c.camelCase(b), b = b in g ? [b] : b.split(" "));
115                    e = 0;
116                    for (f = b.length; f > e; e++) delete g[b[e]];
117                    if (! (d ? Ca: c.isEmptyObject)(g)) return
118                } (d || (delete k[n].data, Ca(k[n]))) && (h ? c.cleanData([a], !0) : c.support.deleteExpando || k != k.window ? delete k[n] : k[n] = null)
119            }
120        }
121    }
122    function $a(a, b, d) {
123        if (d === l && 1 === a.nodeType) {
124            var e = "data-" + b.replace(Vb, "-$1").toLowerCase();
125            if (d = a.getAttribute(e), "string" == typeof d) {
126                try {
127                    d = "true" === d ? !0 : "false" === d ? !1 : "null" === d ? null: +d + "" === d ? +d: Wb.test(d) ? c.parseJSON(d) : d
128                } catch(f) {}
129                c.data(a, b, d)
130            } else d = l
131        }
132        return d
133    }
134    function Ca(a) {
135        for (var b in a) if (("data" !== b || !c.isEmptyObject(a[b])) && "toJSON" !== b) return ! 1;
136        return ! 0
137    }
138    function na() {
139        return ! 0
140    }
141    function Z() {
142        return ! 1
143    }
144    function ab(a, b) {
145        do a = a[b];
146        while (a && 1 !== a.nodeType);
147        return a
148    }
149    function bb(a, b, d) {
150        if (b = b || 0, c.isFunction(b)) return c.grep(a,
151        function(a, c) {
152            return !! b.call(a, c, a) === d
153        });
154        if (b.nodeType) return c.grep(a,
155        function(a) {
156            return a === b === d
157        });
158        if ("string" == typeof b) {
159            var e = c.grep(a,
160            function(a) {
161                return 1 === a.nodeType
162            });
163            if (Xb.test(b)) return c.filter(b, e, !d);
164            b = c.filter(b, e)
165        }
166        return c.grep(a,
167        function(a) {
168            return 0 <= c.inArray(a, b) === d
169        })
170    }
171    function cb(a) {
172        var b = db.split("|");
173        a = a.createDocumentFragment();
174        if (a.createElement) for (; b.length;) a.createElement(b.pop());
175        return a
176    }
177    function Yb(a, b) {
178        return a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b))
179    }
180    function eb(a) {
181        var b = a.getAttributeNode("type");
182        return a.type = (b && b.specified) + "/" + a.type,
183        a
184    }
185    function fb(a) {
186        var b = Zb.exec(a.type);
187        return b ? a.type = b[1] : a.removeAttribute("type"),
188        a
189    }
190    function Da(a, b) {
191        for (var d, e = 0; null != (d = a[e]); e++) c._data(d, "globalEval", !b || c._data(b[e], "globalEval"))
192    }
193    function gb(a, b) {
194        if (1 === b.nodeType && c.hasData(a)) {
195            var d, e, f;
196            e = c._data(a);
197            var g = c._data(b, e),
198            h = e.events;
199            if (h) for (d in delete g.handle, g.events = {},
200            h) for (e = 0, f = h[d].length; f > e; e++) c.event.add(b, d, h[d][e]);
201            g.data && (g.data = c.extend({},
202            g.data))
203        }
204    }
205    function x(a, b) {
206        var d, e, f = 0,
207        g = typeof a.getElementsByTagName !== H ? a.getElementsByTagName(b || "*") : typeof a.querySelectorAll !== H ? a.querySelectorAll(b || "*") : l;
208        if (!g) for (g = [], d = a.childNodes || a; null != (e = d[f]); f++) ! b || c.nodeName(e, b) ? g.push(e) : c.merge(g, x(e, b));
209        return b === l || b && c.nodeName(a, b) ? c.merge([a], g) : g
210    }
211    function $b(a) {
212        Ea.test(a.type) && (a.defaultChecked = a.checked)
213    }
214    function hb(a, b) {
215        if (b in a) return b;
216        for (var c = b.charAt(0).toUpperCase() + b.slice(1), e = b, f = ib.length; f--;) if (b = ib[f] + c, b in a) return b;
217        return e
218    }
219    function la(a, b) {
220        return a = b || a,
221        "none" === c.css(a, "display") || !c.contains(a.ownerDocument, a)
222    }
223    function jb(a, b) {
224        for (var d, e, f, g = [], h = 0, k = a.length; k > h; h++) e = a[h],
225        e.style && (g[h] = c._data(e, "olddisplay"), d = e.style.display, b ? (g[h] || "none" !== d || (e.style.display = ""), "" === e.style.display && la(e) && (g[h] = c._data(e, "olddisplay", kb(e.nodeName)))) : g[h] || (f = la(e), (d && "none" !== d || !f) && c._data(e, "olddisplay", f ? d: c.css(e, "display"))));
226        for (h = 0; k > h; h++) e = a[h],
227        e.style && (b && "none" !== e.style.display && "" !== e.style.display || (e.style.display = b ? g[h] || "": "none"));
228        return a
229    }
230    function lb(a, b, c) {
231        return (a = ac.exec(b)) ? Math.max(0, a[1] - (c || 0)) + (a[2] || "px") : b
232    }
233    function mb(a, b, d, e, f) {
234        b = d === (e ? "border": "content") ? 4 : "width" === b ? 1 : 0;
235        for (var g = 0; 4 > b; b += 2)"margin" === d && (g += c.css(a, d + aa[b], !0, f)),
236        e ? ("content" === d && (g -= c.css(a, "padding" + aa[b], !0, f)), "margin" !== d && (g -= c.css(a, "border" + aa[b] + "Width", !0, f))) : (g += c.css(a, "padding" + aa[b], !0, f), "padding" !== d && (g += c.css(a, "border" + aa[b] + "Width", !0, f)));
237        return g
238    }
239    function nb(a, b, d) {
240        var e = !0,
241        f = "width" === b ? a.offsetWidth: a.offsetHeight,
242        g = z(a),
243        h = c.support.boxSizing && "border-box" === c.css(a, "boxSizing", !1, g);
244        if (0 >= f || null == f) {
245            if (f = da(a, b, g), (0 > f || null == f) && (f = a.style[b]), oa.test(f)) return f;
246            e = h && (c.support.boxSizingReliable || f === a.style[b]);
247            f = parseFloat(f) || 0
248        }
249        return f + mb(a, b, d || (h ? "border": "content"), e, g) + "px"
250    }
251    function kb(a) {
252        var b = q,
253        d = ob[a];
254        return d || (d = pb(a, b), "none" !== d && d || (ma = (ma || c("\x3ciframe frameborder\x3d'0' width\x3d'0' height\x3d'0'/\x3e").css("cssText", "display:block !important")).appendTo(b.documentElement), b = (ma[0].contentWindow || ma[0].contentDocument).document, b.write("\x3c!doctype html\x3e\x3chtml\x3e\x3cbody\x3e"), b.close(), d = pb(a, b), ma.detach()), ob[a] = d),
255        d
256    }
257    function pb(a, b) {
258        var d = c(b.createElement(a)).appendTo(b.body),
259        e = c.css(d[0], "display");
260        return d.remove(),
261        e
262    }
263    function Fa(a, b, d, e) {
264        var f;
265        if (c.isArray(b)) c.each(b,
266        function(b, c) {
267            d || bc.test(a) ? e(a, c) : Fa(a + "[" + ("object" == typeof c ? b: "") + "]", c, d, e)
268        });
269        else if (d || "object" !== c.type(b)) e(a, b);
270        else for (f in b) Fa(a + "[" + f + "]", b[f], d, e)
271    }
272    function qb(a) {
273        return function(b, d) {
274            "string" != typeof b && (d = b, b = "*");
275            var e, f = 0,
276            g = b.toLowerCase().match(G) || [];
277            if (c.isFunction(d)) for (; e = g[f++];)"+" === e[0] ? (e = e.slice(1) || "*", (a[e] = a[e] || []).unshift(d)) : (a[e] = a[e] || []).push(d)
278        }
279    }
280    function rb(a, b, d, e) {
281        function f(k) {
282            var n;
283            return g[k] = !0,
284            c.each(a[k] || [],
285            function(a, c) {
286                var k = c(b, d, e);
287                return "string" != typeof k || h || g[k] ? h ? !(n = k) : l: (b.dataTypes.unshift(k), f(k), !1)
288            }),
289            n
290        }
291        var g = {},
292        h = a === Ga;
293        return f(b.dataTypes[0]) || !g["*"] && f("*")
294    }
295    function Ha(a, b) {
296        var d, e, f = c.ajaxSettings.flatOptions || {};
297        for (e in b) b[e] !== l && ((f[e] ? a: d || (d = {}))[e] = b[e]);
298        return d && c.extend(!0, a, d),
299        a
300    }
vendor: 4,227 bytes, lines 301-423
301    function sb() {
302        try {
303            return new p.XMLHttpRequest
304        } catch(a) {}
305    }
306    function tb() {
307        return setTimeout(function() {
308            T = l
309        }),
310        T = c.now()
311    }
312    function cc(a, b) {
313        c.each(b,
314        function(b, c) {
315            for (var d = (ba[b] || []).concat(ba["*"]), e = 0, h = d.length; h > e && !d[e].call(a, b, c); e++);
316        })
317    }
318    function ub(a, b, d) {
319        var e, f = 0,
320        g = pa.length,
321        h = c.Deferred().always(function() {
322            delete k.elem
323        }),
324        k = function() {
325            if (e) return ! 1;
326            for (var b = T || tb(), b = Math.max(0, n.startTime + n.duration - b), c = 1 - (b / n.duration || 0), d = 0, f = n.tweens.length; f > d; d++) n.tweens[d].run(c);
327            return h.notifyWith(a, [n, c, b]),
328            1 > c && f ? b: (h.resolveWith(a, [n]), !1)
329        },
330        n = h.promise({
331            elem: a,
332            props: c.extend({},
333            b),
334            opts: c.extend(!0, {
335                specialEasing: {}
336            },
337            d),
338            originalProperties: b,
339            originalOptions: d,
340            startTime: T || tb(),
341            duration: d.duration,
342            tweens: [],
343            createTween: function(b, d) {
344                var e = c.Tween(a, n.opts, b, d, n.opts.specialEasing[b] || n.opts.easing);
345                return n.tweens.push(e),
346                e
347            },
348            stop: function(b) {
349                var c = 0,
350                d = b ? n.tweens.length: 0;
351                if (e) return this;
352                for (e = !0; d > c; c++) n.tweens[c].run(1);
353                return b ? h.resolveWith(a, [n, b]) : h.rejectWith(a, [n, b]),
354                this
355            }
356        });
357        d = n.props;
358        for (dc(d, n.opts.specialEasing); g > f; f++) if (b = pa[f].call(n, a, d, n.opts)) return b;
359        return cc(n, d),
360        c.isFunction(n.opts.start) && n.opts.start.call(a, n),
361        c.fx.timer(c.extend(k, {
362            elem: a,
363            anim: n,
364            queue: n.opts.queue
365        })),
366        n.progress(n.opts.progress).done(n.opts.done, n.opts.complete).fail(n.opts.fail).always(n.opts.always)
367    }
368    function dc(a, b) {
369        var d, e, f, g, h;
370        for (f in a) if (e = c.camelCase(f), g = b[e], d = a[f], c.isArray(d) && (g = d[1], d = a[f] = d[0]), f !== e && (a[e] = d, delete a[f]), h = c.cssHooks[e], h && "expand" in h) for (f in d = h.expand(d), delete a[e], d) f in a || (a[f] = d[f], b[f] = g);
371        else b[e] = g
372    }
373    function I(a, b, c, e, f) {
374        return new I.prototype.init(a, b, c, e, f)
375    }
376    function qa(a, b) {
377        var c, e = {
378            height: a
379        },
380        f = 0;
381        for (b = b ? 1 : 0; 4 > f; f += 2 - b) c = aa[f],
382        e["margin" + c] = e["padding" + c] = a;
383        return b && (e.opacity = e.width = a),
384        e
385    }
386    function vb(a) {
387        return c.isWindow(a) ? a: 9 === a.nodeType ? a.defaultView || a.parentWindow: !1
388    }
389    var ra, wb, H = typeof l,
390    q = p.document,
391    ec = p.location,
392    fc = p.jQuery,
393    gc = p.$,
394    wa = {},
395    ca = [],
396    xb = ca.concat,
397    Ia = ca.push,
398    A = ca.slice,
399    yb = ca.indexOf,
400    hc = wa.toString,
401    ea = wa.hasOwnProperty,
402    Ja = "1.9.1".trim,
403    c = function(a, b) {
404        return new c.fn.init(a, b, wb)
405    },
406    xa = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
407    G = /\S+/g,
408    ic = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
409    jc = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
410    zb = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
411    kc = /^[\],:{}\s]*$/,
412    lc = /(?:^|:|,)(?:\s*\[)+/g,
413    mc = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
414    nc = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
415    oc = /^-ms-/,
416    pc = /-([\da-z])/gi,
417    qc = function(a, b) {
418        return b.toUpperCase()
419    },
420    U = function(a) { (q.addEventListener || "load" === a.type || "complete" === q.readyState) && (Ab(), c.ready())
421    },
422    Ab = function() {
423        q.addEventListener ? (q.removeEventListener("DOMContentLoaded", U, !1), p.removeEventListener("load", U, !1)) : (q.detachEvent("onreadystatechange", U), p.detachEvent("onload", U)
vendor: 9,236 bytes, lines 423-664
423)
424    };
425    c.fn = c.prototype = {
426        jquery: "1.9.1",
427        constructor: c,
428        init: function(a, b, d) {
429            var e, f;
430            if (!a) return this;
431            if ("string" == typeof a) {
432                if (e = "\x3c" === a.charAt(0) && "\x3e" === a.charAt(a.length - 1) && 3 <= a.length ? [null, a, null] : jc.exec(a), !e || !e[1] && b) return ! b || b.jquery ? (b || d).find(a) : this.constructor(b).find(a);
433                if (e[1]) {
434                    if (b = b instanceof c ? b[0] : b, c.merge(this, c.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b: q, !0)), zb.test(e[1]) && c.isPlainObject(b)) for (e in b) c.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]);
435                    return this
436                }
437                if (f = q.getElementById(e[2]), f && f.parentNode) {
438                    if (f.id !== e[2]) return d.find(a);
439                    this.length = 1;
440                    this[0] = f
441                }
442                return this.context = q,
443                this.selector = a,
444                this
445            }
446            return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : c.isFunction(a) ? d.ready(a) : (a.selector !== l && (this.selector = a.selector, this.context = a.context), c.makeArray(a, this))
447        },
448        selector: "",
449        length: 0,
450        size: function() {
451            return this.length
452        },
453        toArray: function() {
454            return A.call(this)
455        },
456        get: function(a) {
457            return null == a ? this.toArray() : 0 > a ? this[this.length + a] : this[a]
458        },
459        pushStack: function(a) {
460            a = c.merge(this.constructor(), a);
461            return a.prevObject = this,
462            a.context = this.context,
463            a
464        },
465        each: function(a, b) {
466            return c.each(this, a, b)
467        },
468        ready: function(a) {
469            return c.ready.promise().done(a),
470            this
471        },
472        slice: function() {
473            return this.pushStack(A.apply(this, arguments))
474        },
475        first: function() {
476            return this.eq(0)
477        },
478        last: function() {
479            return this.eq( - 1)
480        },
481        eq: function(a) {
482            var b = this.length;
483            a = +a + (0 > a ? b: 0);
484            return this.pushStack(0 <= a && b > a ? [this[a]] : [])
485        },
486        map: function(a) {
487            return this.pushStack(c.map(this,
488            function(b, c) {
489                return a.call(b, c, b)
490            }))
491        },
492        end: function() {
493            return this.prevObject || this.constructor(null)
494        },
495        push: Ia,
496        sort: [].sort,
497        splice: [].splice
498    };
499    c.fn.init.prototype = c.fn;
500    c.extend = c.fn.extend = function() {
501        var a, b, d, e, f, g, h = arguments[0] || {},
502        k = 1,
503        n = arguments.length,
504        r = !1;
505        "boolean" == typeof h && (r = h, h = arguments[1] || {},
506        k = 2);
507        "object" == typeof h || c.isFunction(h) || (h = {});
508        for (n === k && (h = this, --k); n > k; k++) if (null != (f = arguments[k])) for (e in f) a = h[e],
509        d = f[e],
510        h !== d && (r && d && (c.isPlainObject(d) || (b = c.isArray(d))) ? (b ? (b = !1, g = a && c.isArray(a) ? a: []) : g = a && c.isPlainObject(a) ? a: {},
511        h[e] = c.extend(r, g, d)) : d !== l && (h[e] = d));
512        return h
513    };
514    c.extend({
515        noConflict: function(a) {
516            return p.$ === c && (p.$ = gc),
517            a && p.jQuery === c && (p.jQuery = fc),
518            c
519        },
520        isReady: !1,
521        readyWait: 1,
522        holdReady: function(a) {
523            a ? c.readyWait++:c.ready(!0)
524        },
525        ready: function(a) {
526            if (!0 === a ? !--c.readyWait: !c.isReady) {
527                if (!q.body) return setTimeout(c.ready);
528                c.isReady = !0; ! 0 !== a && 0 < --c.readyWait || (ra.resolveWith(q, [c]), c.fn.trigger && c(q).trigger("ready").off("ready"))
529            }
530        },
531        isFunction: function(a) {
532            return "function" === c.type(a)
533        },
534        isArray: Array.isArray ||
535        function(a) {
536            return "array" === c.type(a)
537        },
538        isWindow: function(a) {
539            return null != a && a == a.window
540        },
541        isNumeric: function(a) {
542            return ! isNaN(parseFloat(a)) && isFinite(a)
543        },
544        type: function(a) {
545            return null == a ? a + "": "object" == typeof a || "function" == typeof a ? wa[hc.call(a)] || "object": typeof a
546        },
547        isPlainObject: function(a) {
548            if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a)) return ! 1;
549            try {
550                if (a.constructor && !ea.call(a, "constructor") && !ea.call(a.constructor.prototype, "isPrototypeOf")) return ! 1
551            } catch(d) {
552                return ! 1
553            }
554            for (var b in a);
555            return b === l || ea.call(a, b)
556        },
557        isEmptyObject: function(a) {
558            for (var b in a) return ! 1;
559            return ! 0
560        },
561        error: function(a) {
562            throw Error(a);
563        },
564        parseHTML: function(a, b, d) {
565            if (!a || "string" != typeof a) return null;
566            "boolean" == typeof b && (d = b, b = !1);
567            b = b || q;
568            var e = zb.exec(a);
569            d = !d && [];
570            return e ? [b.createElement(e[1])] : (e = c.buildFragment([a], b, d), d && c(d).remove(), c.merge([], e.childNodes))
571        },
572        parseJSON: function(a) {
573            return p.JSON && p.JSON.parse ? p.JSON.parse(a) : null === a ? a: "string" == typeof a && (a = c.trim(a), a && kc.test(a.replace(mc, "@").replace(nc, "]").replace(lc, ""))) ? Function("return " + a)() : (c.error("Invalid JSON: " + a), l)
574        },
575        parseXML: function(a) {
576            var b, d;
577            if (!a || "string" != typeof a) return null;
578            try {
579                p.DOMParser ? (d = new DOMParser, b = d.parseFromString(a, "text/xml")) : (b = new ActiveXObject("Microsoft.XMLDOM"), b.async = "false", b.loadXML(a))
580            } catch(e) {
581                b = l
582            }
583            return b && b.documentElement && !b.getElementsByTagName("parsererror").length || c.error("Invalid XML: " + a),
584            b
585        },
586        noop: function() {},
587        globalEval: function(a) {
588            a && c.trim(a) && (p.execScript ||
589            function(a) {
590                p.eval.call(p, a)
591            })(a)
592        },
593        camelCase: function(a) {
594            return a.replace(oc, "ms-").replace(pc, qc)
595        },
596        nodeName: function(a, b) {
597            return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
598        },
599        each: function(a, b, c) {
600            var d, f = 0,
601            g = a.length,
602            h = w(a);
603            if (c) if (h) for (; g > f && (d = b.apply(a[f], c), !1 !== d); f++);
604            else for (f in a) {
605                if (d = b.apply(a[f], c), !1 === d) break
606            } else if (h) for (; g > f && (d = b.call(a[f], f, a[f]), !1 !== d); f++);
607            else for (f in a) if (d = b.call(a[f], f, a[f]), !1 === d) break;
608            return a
609        },
610        trim: Ja && !Ja.call("\ufeff\u00a0") ?
611        function(a) {
612            return null == a ? "": Ja.call(a)
613        }: function(a) {
614            return null == a ? "": (a + "").replace(ic, "")
615        },
616        makeArray: function(a, b) {
617            var d = b || [];
618            return null != a && (w(Object(a)) ? c.merge(d, "string" == typeof a ? [a] : a) : Ia.call(d, a)),
619            d
620        },
621        inArray: function(a, b, c) {
622            var d;
623            if (b) {
624                if (yb) return yb.call(b, a, c);
625                d = b.length;
626                for (c = c ? 0 > c ? Math.max(0, d + c) : c: 0; d > c; c++) if (c in b && b[c] === a) return c
627            }
628            return - 1
629        },
630        merge: function(a, b) {
631            var c = b.length,
632            e = a.length,
633            f = 0;
634            if ("number" == typeof c) for (; c > f; f++) a[e++] = b[f];
635            else for (; b[f] !== l;) a[e++] = b[f++];
636            return a.length = e,
637            a
638        },
639        grep: function(a, b, c) {
640            var d, f = [],
641            g = 0,
642            h = a.length;
643            for (c = !!c; h > g; g++) d = !!b(a[g], g),
644            c !== d && f.push(a[g]);
645            return f
646        },
647        map: function(a, b, c) {
648            var d, f = 0,
649            g = a.length,
650            h = [];
651            if (w(a)) for (; g > f; f++) d = b(a[f], f, c),
652            null != d && (h[h.length] = d);
653            else for (f in a) d = b(a[f], f, c),
654            null != d && (h[h.length] = d);
655            return xb.apply([], h)
656        },
657        guid: 1,
658        proxy: function(a, b) {
659            var d, e, f;
660            return "string" == typeof b && (f = a[b], b = a, a = f),
661            c.isFunction(a) ? (d = A.call(arguments, 2), e = function() {
662                return a.apply(b || this, d.concat(A.call(arguments)))
663            },
664            e.guid = a.guid = a.guid || c.guid++, e) : l
vendor: 13,340 bytes, lines 665-974
665        },
666        access: function(a, b, d, e, f, g, h) {
667            var k = 0,
668            n = a.length,
669            r = null == d;
670            if ("object" === c.type(d)) for (k in f = !0, d) c.access(a, b, k, d[k], !0, g, h);
671            else if (e !== l && (f = !0, c.isFunction(e) || (h = !0), r && (h ? (b.call(a, e), b = null) : (r = b, b = function(a, b, d) {
672                return r.call(c(a), d)
673            })), b)) for (; n > k; k++) b(a[k], d, h ? e: e.call(a[k], k, b(a[k], d)));
674            return f ? a: r ? b.call(a) : n ? b(a[0], d) : g
675        },
676        now: function() {
677            return (new Date).getTime()
678        }
679    });
680    c.ready.promise = function(a) {
681        if (!ra) if (ra = c.Deferred(), "complete" === q.readyState) setTimeout(c.ready);
682        else if (q.addEventListener) q.addEventListener("DOMContentLoaded", U, !1),
683        p.addEventListener("load", U, !1);
684        else {
685            q.attachEvent("onreadystatechange", U);
686            p.attachEvent("onload", U);
687            var b = !1;
688            try {
689                b = null == p.frameElement && q.documentElement
690            } catch(d) {}
691            b && b.doScroll &&
692            function e() {
693                if (!c.isReady) {
694                    try {
695                        b.doScroll("left")
696                    } catch(f) {
697                        return setTimeout(e, 50)
698                    }
699                    Ab();
700                    c.ready()
701                }
702            } ()
703        }
704        return ra.promise(a)
705    };
706    c.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),
707    function(a, b) {
708        wa["[object " + b + "]"] = b.toLowerCase()
709    });
710    wb = c(q);
711    var Xa = {};
712    c.Callbacks = function(a) {
713        a = "string" == typeof a ? Xa[a] || Ub(a) : c.extend({},
714        a);
715        var b, d, e, f, g, h, k = [],
716        n = !a.once && [],
717        r = function(c) {
718            d = a.memory && c;
719            e = !0;
720            g = h || 0;
721            h = 0;
722            f = k.length;
723            for (b = !0; k && f > g; g++) if (!1 === k[g].apply(c[0], c[1]) && a.stopOnFalse) {
724                d = !1;
725                break
726            }
727            b = !1;
728            k && (n ? n.length && r(n.shift()) : d ? k = [] : u.disable())
729        },
730        u = {
731            add: function() {
732                if (k) {
733                    var e = k.length; (function ya(b) {
734                        c.each(b,
735                        function(b, d) {
736                            var e = c.type(d);
737                            "function" === e ? a.unique && u.has(d) || k.push(d) : d && d.length && "string" !== e && ya(d)
738                        })
739                    })(arguments);
740                    b ? f = k.length: d && (h = e, r(d))
741                }
742                return this
743            },
744            remove: function() {
745                return k && c.each(arguments,
746                function(a, d) {
747                    for (var e; - 1 < (e = c.inArray(d, k, e));) k.splice(e, 1),
748                    b && (f >= e && f--, g >= e && g--)
749                }),
750                this
751            },
752            has: function(a) {
753                return a ? -1 < c.inArray(a, k) : !(!k || !k.length)
754            },
755            empty: function() {
756                return k = [],
757                this
758            },
759            disable: function() {
760                return k = n = d = l,
761                this
762            },
763            disabled: function() {
764                return ! k
765            },
766            lock: function() {
767                return n = l,
768                d || u.disable(),
769                this
770            },
771            locked: function() {
772                return ! n
773            },
774            fireWith: function(a, c) {
775                return c = c || [],
776                c = [a, c.slice ? c.slice() : c],
777                !k || e && !n || (b ? n.push(c) : r(c)),
778                this
779            },
780            fire: function() {
781                return u.fireWith(this, arguments),
782                this
783            },
784            fired: function() {
785                return !! e
786            }
787        };
788        return u
789    };
790    c.extend({
791        Deferred: function(a) {
792            var b = [["resolve", "done", c.Callbacks("once memory"), "resolved"], ["reject", "fail", c.Callbacks("once memory"), "rejected"], ["notify", "progress", c.Callbacks("memory")]],
793            d = "pending",
794            e = {
795                state: function() {
796                    return d
797                },
798                always: function() {
799                    return f.done(arguments).fail(arguments),
800                    this
801                },
802                then: function() {
803                    var a = arguments;
804                    return c.Deferred(function(d) {
805                        c.each(b,
806                        function(b, g) {
807                            var h = g[0],
808                            k = c.isFunction(a[b]) && a[b];
809                            f[g[1]](function() {
810                                var a = k && k.apply(this, arguments);
811                                a && c.isFunction(a.promise) ? a.promise().done(d.resolve).fail(d.reject).progress(d.notify) : d[h + "With"](this === e ? d.promise() : this, k ? [a] : arguments)
812                            })
813                        });
814                        a = null
815                    }).promise()
816                },
817                promise: function(a) {
818                    return null != a ? c.extend(a, e) : e
819                }
820            },
821            f = {};
822            return e.pipe = e.then,
823            c.each(b,
824            function(a, c) {
825                var g = c[2],
826                h = c[3];
827                e[c[1]] = g.add;
828                h && g.add(function() {
829                    d = h
830                },
831                b[1 ^ a][2].disable, b[2][2].lock);
832                f[c[0]] = function() {
833                    return f[c[0] + "With"](this === f ? e: this, arguments),
834                    this
835                };
836                f[c[0] + "With"] = g.fireWith
837            }),
838            e.promise(f),
839            a && a.call(f, f),
840            f
841        },
842        when: function(a) {
843            var b = 0,
844            d = A.call(arguments),
845            e = d.length,
846            f = 1 !== e || a && c.isFunction(a.promise) ? e: 0,
847            g = 1 === f ? a: c.Deferred(),
848            h = function(a, b, c) {
849                return function(d) {
850                    b[a] = this;
851                    c[a] = 1 < arguments.length ? A.call(arguments) : d;
852                    c === k ? g.notifyWith(b, c) : --f || g.resolveWith(b, c)
853                }
854            },
855            k,
856            n,
857            r;
858            if (1 < e) for (k = Array(e), n = Array(e), r = Array(e); e > b; b++) d[b] && c.isFunction(d[b].promise) ? d[b].promise().done(h(b, r, d)).fail(g.reject).progress(h(b, n, k)) : --f;
859            return f || g.resolveWith(r, d),
860            g.promise()
861        }
862    });
863    c.support = function() {
864        var a, b, d, e, f, g, h, k = q.createElement("div");
865        if (k.setAttribute("className", "t"), k.innerHTML = "  \x3clink/\x3e\x3ctable\x3e\x3c/table\x3e\x3ca href\x3d'/a'\x3ea\x3c/a\x3e\x3cinput type\x3d'checkbox'/\x3e", b = k.getElementsByTagName("*"), d = k.getElementsByTagName("a")[0], !b || !d || !b.length) return {};
866        e = q.createElement("select");
867        f = e.appendChild(q.createElement("option"));
868        b = k.getElementsByTagName("input")[0];
869        d.style.cssText = "top:1px;float:left;opacity:.5";
870        a = {
871            getSetAttribute: "t" !== k.className,
872            leadingWhitespace: 3 === k.firstChild.nodeType,
873            tbody: !k.getElementsByTagName("tbody").length,
874            htmlSerialize: !!k.getElementsByTagName("link").length,
875            style: /top/.test(d.getAttribute("style")),
876            hrefNormalized: "/a" === d.getAttribute("href"),
877            opacity: /^0.5/.test(d.style.opacity),
878            cssFloat: !!d.style.cssFloat,
879            checkOn: !!b.value,
880            optSelected: f.selected,
881            enctype: !!q.createElement("form").enctype,
882            html5Clone: "\x3c:nav\x3e\x3c/:nav\x3e" !== q.createElement("nav").cloneNode(!0).outerHTML,
883            boxModel: "CSS1Compat" === q.compatMode,
884            deleteExpando: !0,
885            noCloneEvent: !0,
886            inlineBlockNeedsLayout: !1,
887            shrinkWrapBlocks: !1,
888            reliableMarginRight: !0,
889            boxSizingReliable: !0,
890            pixelPosition: !1
891        };
892        b.checked = !0;
893        a.noCloneChecked = b.cloneNode(!0).checked;
894        e.disabled = !0;
895        a.optDisabled = !f.disabled;
896        try {
897            delete k.test
898        } catch(n) {
899            a.deleteExpando = !1
900        }
901        b = q.createElement("input");
902        b.setAttribute("value", "");
903        a.input = "" === b.getAttribute("value");
904        b.value = "t";
905        b.setAttribute("type", "radio");
906        a.radioValue = "t" === b.value;
907        b.setAttribute("checked", "t");
908        b.setAttribute("name", "t");
909        d = q.createDocumentFragment();
910        d.appendChild(b);
911        a.appendChecked = b.checked;
912        a.checkClone = d.cloneNode(!0).cloneNode(!0).lastChild.checked;
913        k.attachEvent && (k.attachEvent("onclick",
914        function() {
915            a.noCloneEvent = !1
916        }), k.cloneNode(!0).click());
917        for (h in {
918            submit: !0,
919            change: !0,
920            focusin: !0
921        }) k.setAttribute(d = "on" + h, "t"),
922        a[h + "Bubbles"] = d in p || !1 === k.attributes[d].expando;
923        return k.style.backgroundClip = "content-box",
924        k.cloneNode(!0).style.backgroundClip = "",
925        a.clearCloneStyle = "content-box" === k.style.backgroundClip,
926        c(function() {
927            var b, c, d, e = q.getElementsByTagName("body")[0];
928            e && (b = q.createElement("div"), b.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", e.appendChild(b).appendChild(k), k.innerHTML = "\x3ctable\x3e\x3ctr\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd\x3et\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e", d = k.getElementsByTagName("td"), d[0].style.cssText = "padding:0;margin:0;border:0;display:none", g = 0 === d[0].offsetHeight, d[0].style.display = "", d[1].style.display = "none", a.reliableHiddenOffsets = g && 0 === d[0].offsetHeight, k.innerHTML = "", k.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", a.boxSizing = 4 === k.offsetWidth, a.doesNotIncludeMarginInBodyOffset = 1 !== e.offsetTop, p.getComputedStyle && (a.pixelPosition = "1%" !== (p.getComputedStyle(k, null) || {}).top, a.boxSizingReliable = "4px" === (p.getComputedStyle(k, null) || {
929                width: "4px"
930            }).width, c = k.appendChild(q.createElement("div")), c.style.cssText = k.style.cssText = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", c.style.marginRight = c.style.width = "0", k.style.width = "1px", a.reliableMarginRight = !parseFloat((p.getComputedStyle(c, null) || {}).marginRight)), typeof k.style.zoom !== H && (k.innerHTML = "", k.style.cssText = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;width:1px;padding:1px;display:inline;zoom:1", a.inlineBlockNeedsLayout = 3 === k.offsetWidth, k.style.display = "block", k.innerHTML = "\x3cdiv\x3e\x3c/div\x3e", k.firstChild.style.width = "5px", a.shrinkWrapBlocks = 3 !== k.offsetWidth, a.inlineBlockNeedsLayout && (e.style.zoom = 1)), e.removeChild(b), k = null)
931        }),
932        b = e = d = f = d = b = null,
933        a
934    } ();
935    var Wb = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
936    Vb = /([A-Z])/g;
937    c.extend({
938        cache: {},
939        expando: "jQuery" + ("1.9.1" + Math.random()).replace(/\D/g, ""),
940        noData: {
941            embed: !0,
942            object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
943            applet: !0
944        },
945        hasData: function(a) {
946            return a = a.nodeType ? c.cache[a[c.expando]] : a[c.expando],
947            !!a && !Ca(a)
948        },
949        data: function(a, b, c) {
950            return Ya(a, b, c)
951        },
952        removeData: function(a, b) {
953            return Za(a, b)
954        },
955        _data: function(a, b, c) {
956            return Ya(a, b, c, !0)
957        },
958        _removeData: function(a, b) {
959            return Za(a, b, !0)
960        },
961        acceptData: function(a) {
962            if (a.nodeType && 1 !== a.nodeType && 9 !== a.nodeType) return ! 1;
963            var b = a.nodeName && c.noData[a.nodeName.toLowerCase()];
964            return ! b || !0 !== b && a.getAttribute("classid") === b
965        }
966    });
967    c.fn.extend({
968        data: function(a, b) {
969            var d, e, f = this[0],
970            g = 0,
971            h = null;
972            if (a === l) {
973                if (this.length && (h = c.data(f), 1 === f.nodeType && !c._data(f, "parsedAttrs"))) {
974                    for (d = f.attributes; d.length > g; g++) e = d[g].name,
vendor: 17,917 bytes, lines 975-1386
975                    e.indexOf("data-") || (e = c.camelCase(e.slice(5)), $a(f, e, h[e]));
976                    c._data(f, "parsedAttrs", !0)
977                }
978                return h
979            }
980            return "object" == typeof a ? this.each(function() {
981                c.data(this, a)
982            }) : c.access(this,
983            function(b) {
984                return b === l ? f ? $a(f, a, c.data(f, a)) : null: (this.each(function() {
985                    c.data(this, a, b)
986                }), l)
987            },
988            null, b, 1 < arguments.length, null, !0)
989        },
990        removeData: function(a) {
991            return this.each(function() {
992                c.removeData(this, a)
993            })
994        }
995    });
996    c.extend({
997        queue: function(a, b, d) {
998            var e;
999            return a ? (b = (b || "fx") + "queue", e = c._data(a, b), d && (!e || c.isArray(d) ? e = c._data(a, b, c.makeArray(d)) : e.push(d)), e || []) : l
1000        },
1001        dequeue: function(a, b) {
1002            b = b || "fx";
1003            var d = c.queue(a, b),
1004            e = d.length,
1005            f = d.shift(),
1006            g = c._queueHooks(a, b),
1007            h = function() {
1008                c.dequeue(a, b)
1009            };
1010            "inprogress" === f && (f = d.shift(), e--); (g.cur = f) && ("fx" === b && d.unshift("inprogress"), delete g.stop, f.call(a, h, g)); ! e && g && g.empty.fire()
1011        },
1012        _queueHooks: function(a, b) {
1013            var d = b + "queueHooks";
1014            return c._data(a, d) || c._data(a, d, {
1015                empty: c.Callbacks("once memory").add(function() {
1016                    c._removeData(a, b + "queue");
1017                    c._removeData(a, d)
1018                })
1019            })
1020        }
1021    });
1022    c.fn.extend({
1023        queue: function(a, b) {
1024            var d = 2;
1025            return "string" != typeof a && (b = a, a = "fx", d--),
1026            d > arguments.length ? c.queue(this[0], a) : b === l ? this: this.each(function() {
1027                var d = c.queue(this, a, b);
1028                c._queueHooks(this, a);
1029                "fx" === a && "inprogress" !== d[0] && c.dequeue(this, a)
1030            })
1031        },
1032        dequeue: function(a) {
1033            return this.each(function() {
1034                c.dequeue(this, a)
1035            })
1036        },
1037        delay: function(a, b) {
1038            return a = c.fx ? c.fx.speeds[a] || a: a,
1039            b = b || "fx",
1040            this.queue(b,
1041            function(b, c) {
1042                var d = setTimeout(b, a);
1043                c.stop = function() {
1044                    clearTimeout(d)
1045                }
1046            })
1047        },
1048        clearQueue: function(a) {
1049            return this.queue(a || "fx", [])
1050        },
1051        promise: function(a, b) {
1052            var d, e = 1,
1053            f = c.Deferred(),
1054            g = this,
1055            h = this.length,
1056            k = function() {--e || f.resolveWith(g, [g])
1057            };
1058            "string" != typeof a && (b = a, a = l);
1059            for (a = a || "fx"; h--;)(d = c._data(g[h], a + "queueHooks")) && d.empty && (e++, d.empty.add(k));
1060            return k(),
1061            f.promise(b)
1062        }
1063    });
1064    var ha, Bb, Ka = /[\t\r\n]/g,
1065    rc = /\r/g,
1066    sc = /^(?:input|select|textarea|button|object)$/i,
1067    tc = /^(?:a|area)$/i,
1068    Cb = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
1069    La = /^(?:checked|selected)$/i,
1070    R = c.support.getSetAttribute,
1071    Ma = c.support.input;
1072    c.fn.extend({
1073        attr: function(a, b) {
1074            return c.access(this, c.attr, a, b, 1 < arguments.length)
1075        },
1076        removeAttr: function(a) {
1077            return this.each(function() {
1078                c.removeAttr(this, a)
1079            })
1080        },
1081        prop: function(a, b) {
1082            return c.access(this, c.prop, a, b, 1 < arguments.length)
1083        },
1084        removeProp: function(a) {
1085            return a = c.propFix[a] || a,
1086            this.each(function() {
1087                try {
1088                    this[a] = l,
1089                    delete this[a]
1090                } catch(b) {}
1091            })
1092        },
1093        addClass: function(a) {
1094            var b, d, e, f, g, h = 0,
1095            k = this.length;
1096            b = "string" == typeof a && a;
1097            if (c.isFunction(a)) return this.each(function(b) {
1098                c(this).addClass(a.call(this, b, this.className))
1099            });
1100            if (b) for (b = (a || "").match(G) || []; k > h; h++) if (d = this[h], e = 1 === d.nodeType && (d.className ? (" " + d.className + " ").replace(Ka, " ") : " ")) {
1101                for (g = 0; f = b[g++];) 0 > e.indexOf(" " + f + " ") && (e += f + " ");
1102                d.className = c.trim(e)
1103            }
1104            return this
1105        },
1106        removeClass: function(a) {
1107            var b, d, e, f, g, h = 0,
1108            k = this.length;
1109            b = 0 === arguments.length || "string" == typeof a && a;
1110            if (c.isFunction(a)) return this.each(function(b) {
1111                c(this).removeClass(a.call(this, b, this.className))
1112            });
1113            if (b) for (b = (a || "").match(G) || []; k > h; h++) if (d = this[h], e = 1 === d.nodeType && (d.className ? (" " + d.className + " ").replace(Ka, " ") : "")) {
1114                for (g = 0; f = b[g++];) for (; 0 <= e.indexOf(" " + f + " ");) e = e.replace(" " + f + " ", " ");
1115                d.className = a ? c.trim(e) : ""
1116            }
1117            return this
1118        },
1119        toggleClass: function(a, b) {
1120            var d = typeof a,
1121            e = "boolean" == typeof b;
1122            return c.isFunction(a) ? this.each(function(d) {
1123                c(this).toggleClass(a.call(this, d, this.className, b), b)
1124            }) : this.each(function() {
1125                if ("string" === d) for (var f, g = 0,
1126                h = c(this), k = b, n = a.match(G) || []; f = n[g++];) k = e ? k: !h.hasClass(f),
1127                h[k ? "addClass": "removeClass"](f);
1128                else(d === H || "boolean" === d) && (this.className && c._data(this, "__className__", this.className), this.className = this.className || !1 === a ? "": c._data(this, "__className__") || "")
1129            })
1130        },
1131        hasClass: function(a) {
1132            a = " " + a + " ";
1133            for (var b = 0,
1134            c = this.length; c > b; b++) if (1 === this[b].nodeType && 0 <= (" " + this[b].className + " ").replace(Ka, " ").indexOf(a)) return ! 0;
1135            return ! 1
1136        },
1137        val: function(a) {
1138            var b, d, e, f = this[0];
1139            if (arguments.length) return e = c.isFunction(a),
1140            this.each(function(b) {
1141                var f, g = c(this);
1142                1 === this.nodeType && (f = e ? a.call(this, b, g.val()) : a, null == f ? f = "": "number" == typeof f ? f += "": c.isArray(f) && (f = c.map(f,
1143                function(a) {
1144                    return null == a ? "": a + ""
1145                })), d = c.valHooks[this.type] || c.valHooks[this.nodeName.toLowerCase()], d && "set" in d && d.set(this, f, "value") !== l || (this.value = f))
1146            });
1147            if (f) return d = c.valHooks[f.type] || c.valHooks[f.nodeName.toLowerCase()],
1148            d && "get" in d && (b = d.get(f, "value")) !== l ? b: (b = f.value, "string" == typeof b ? b.replace(rc, "") : null == b ? "": b)
1149        }
1150    });
1151    c.extend({
1152        valHooks: {
1153            option: {
1154                get: function(a) {
1155                    var b = a.attributes.value;
1156                    return ! b || b.specified ? a.value: a.text
1157                }
1158            },
1159            select: {
1160                get: function(a) {
1161                    for (var b, d = a.options,
1162                    e = a.selectedIndex,
1163                    f = "select-one" === a.type || 0 > e,
1164                    g = f ? null: [], h = f ? e + 1 : d.length, k = 0 > e ? h: f ? e: 0; h > k; k++) if (b = d[k], !(!b.selected && k !== e || (c.support.optDisabled ? b.disabled: null !== b.getAttribute("disabled")) || b.parentNode.disabled && c.nodeName(b.parentNode, "optgroup"))) {
1165                        if (a = c(b).val(), f) return a;
1166                        g.push(a)
1167                    }
1168                    return g
1169                },
1170                set: function(a, b) {
1171                    var d = c.makeArray(b);
1172                    return c(a).find("option").each(function() {
1173                        this.selected = 0 <= c.inArray(c(this).val(), d)
1174                    }),
1175                    d.length || (a.selectedIndex = -1),
1176                    d
1177                }
1178            }
1179        },
1180        attr: function(a, b, d) {
1181            var e, f, g, h = a.nodeType;
1182            if (a && 3 !== h && 8 !== h && 2 !== h) return typeof a.getAttribute === H ? c.prop(a, b, d) : (f = 1 !== h || !c.isXMLDoc(a), f && (b = b.toLowerCase(), e = c.attrHooks[b] || (Cb.test(b) ? Bb: ha)), d === l ? e && f && "get" in e && null !== (g = e.get(a, b)) ? g: (typeof a.getAttribute !== H && (g = a.getAttribute(b)), null == g ? l: g) : null !== d ? e && f && "set" in e && (g = e.set(a, d, b)) !== l ? g: (a.setAttribute(b, d + ""), d) : (c.removeAttr(a, b), l))
1183        },
1184        removeAttr: function(a, b) {
1185            var d, e, f = 0,
1186            g = b && b.match(G);
1187            if (g && 1 === a.nodeType) for (; d = g[f++];) e = c.propFix[d] || d,
1188            Cb.test(d) ? !R && La.test(d) ? a[c.camelCase("default-" + d)] = a[e] = !1 : a[e] = !1 : c.attr(a, d, ""),
1189            a.removeAttribute(R ? d: e)
1190        },
1191        attrHooks: {
1192            type: {
1193                set: function(a, b) {
1194                    if (!c.support.radioValue && "radio" === b && c.nodeName(a, "input")) {
1195                        var d = a.value;
1196                        return a.setAttribute("type", b),
1197                        d && (a.value = d),
1198                        b
1199                    }
1200                }
1201            }
1202        },
1203        propFix: {
1204            tabindex: "tabIndex",
1205            readonly: "readOnly",
1206            "for": "htmlFor",
1207            "class": "className",
1208            maxlength: "maxLength",
1209            cellspacing: "cellSpacing",
1210            cellpadding: "cellPadding",
1211            rowspan: "rowSpan",
1212            colspan: "colSpan",
1213            usemap: "useMap",
1214            frameborder: "frameBorder",
1215            contenteditable: "contentEditable"
1216        },
1217        prop: function(a, b, d) {
1218            var e, f, g, h = a.nodeType;
1219            if (a && 3 !== h && 8 !== h && 2 !== h) return g = 1 !== h || !c.isXMLDoc(a),
1220            g && (b = c.propFix[b] || b, f = c.propHooks[b]),
1221            d !== l ? f && "set" in f && (e = f.set(a, d, b)) !== l ? e: a[b] = d: f && "get" in f && null !== (e = f.get(a, b)) ? e: a[b]
1222        },
1223        propHooks: {
1224            tabIndex: {
1225                get: function(a) {
1226                    var b = a.getAttributeNode("tabindex");
1227                    return b && b.specified ? parseInt(b.value, 10) : sc.test(a.nodeName) || tc.test(a.nodeName) && a.href ? 0 : l
1228                }
1229            }
1230        }
1231    });
1232    Bb = {
1233        get: function(a, b) {
1234            var d = c.prop(a, b),
1235            e = "boolean" == typeof d && a.getAttribute(b);
1236            return (d = "boolean" == typeof d ? Ma && R ? null != e: La.test(b) ? a[c.camelCase("default-" + b)] : !!e: a.getAttributeNode(b)) && !1 !== d.value ? b.toLowerCase() : l
1237        },
1238        set: function(a, b, d) {
1239            return ! 1 === b ? c.removeAttr(a, d) : Ma && R || !La.test(d) ? a.setAttribute(!R && c.propFix[d] || d, d) : a[c.camelCase("default-" + d)] = a[d] = !0,
1240            d
1241        }
1242    };
1243    Ma && R || (c.attrHooks.value = {
1244        get: function(a, b) {
1245            var d = a.getAttributeNode(b);
1246            return c.nodeName(a, "input") ? a.defaultValue: d && d.specified ? d.value: l
1247        },
1248        set: function(a, b, d) {
1249            return c.nodeName(a, "input") ? (a.defaultValue = b, l) : ha && ha.set(a, b, d)
1250        }
1251    });
1252    R || (ha = c.valHooks.button = {
1253        get: function(a, b) {
1254            var c = a.getAttributeNode(b);
1255            return c && ("id" === b || "name" === b || "coords" === b ? "" !== c.value: c.specified) ? c.value: l
1256        },
1257        set: function(a, b, c) {
1258            var d = a.getAttributeNode(c);
1259            return d || a.setAttributeNode(d = a.ownerDocument.createAttribute(c)),
1260            d.value = b += "",
1261            "value" === c || b === a.getAttribute(c) ? b: l
1262        }
1263    },
1264    c.attrHooks.contenteditable = {
1265        get: ha.get,
1266        set: function(a, b, c) {
1267            ha.set(a, "" === b ? !1 : b, c)
1268        }
1269    },
1270    c.each(["width", "height"],
1271    function(a, b) {
1272        c.attrHooks[b] = c.extend(c.attrHooks[b], {
1273            set: function(a, c) {
1274                return "" === c ? (a.setAttribute(b, "auto"), c) : l
1275            }
1276        })
1277    }));
1278    c.support.hrefNormalized || (c.each(["href", "src", "width", "height"],
1279    function(a, b) {
1280        c.attrHooks[b] = c.extend(c.attrHooks[b], {
1281            get: function(a) {
1282                a = a.getAttribute(b, 2);
1283                return null == a ? l: a
1284            }
1285        })
1286    }), c.each(["href", "src"],
1287    function(a, b) {
1288        c.propHooks[b] = {
1289            get: function(a) {
1290                return a.getAttribute(b, 4)
1291            }
1292        }
1293    }));
1294    c.support.style || (c.attrHooks.style = {
1295        get: function(a) {
1296            return a.style.cssText || l
1297        },
1298        set: function(a, b) {
1299            return a.style.cssText = b + ""
1300        }
1301    });
1302    c.support.optSelected || (c.propHooks.selected = c.extend(c.propHooks.selected, {
1303        get: function(a) {
1304            a = a.parentNode;
1305            return a && (a.selectedIndex, a.parentNode && a.parentNode.selectedIndex),
1306            null
1307        }
1308    }));
1309    c.support.enctype || (c.propFix.enctype = "encoding");
1310    c.support.checkOn || c.each(["radio", "checkbox"],
1311    function() {
1312        c.valHooks[this] = {
1313            get: function(a) {
1314                return null === a.getAttribute("value") ? "on": a.value
1315            }
1316        }
1317    });
1318    c.each(["radio", "checkbox"],
1319    function() {
1320        c.valHooks[this] = c.extend(c.valHooks[this], {
1321            set: function(a, b) {
1322                return c.isArray(b) ? a.checked = 0 <= c.inArray(c(a).val(), b) : l
1323            }
1324        })
1325    });
1326    var Na = /^(?:input|select|textarea)$/i,
1327    uc = /^key/,
1328    vc = /^(?:mouse|contextmenu)|click/,
1329    Db = /^(?:focusinfocus|focusoutblur)$/,
1330    Eb = /^([^.]*)(?:\.(.+)|)$/;
1331    c.event = {
1332        global: {},
1333        add: function(a, b, d, e, f) {
1334            var g, h, k, n, r, u, m, p, q;
1335            if (k = c._data(a)) {
1336                d.handler && (n = d, d = n.handler, f = n.selector);
1337                d.guid || (d.guid = c.guid++); (h = k.events) || (h = k.events = {}); (r = k.handle) || (r = k.handle = function(a) {
1338                    return typeof c === H || a && c.event.triggered === a.type ? l: c.event.dispatch.apply(r.elem, arguments)
1339                },
1340                r.elem = a);
1341                b = (b || "").match(G) || [""];
1342                for (k = b.length; k--;) g = Eb.exec(b[k]) || [],
1343                p = u = g[1],
1344                q = (g[2] || "").split(".").sort(),
1345                g = c.event.special[p] || {},
1346                p = (f ? g.delegateType: g.bindType) || p,
1347                g = c.event.special[p] || {},
1348                u = c.extend({
1349                    type: p,
1350                    origType: u,
1351                    data: e,
1352                    handler: d,
1353                    guid: d.guid,
1354                    selector: f,
1355                    needsContext: f && c.expr.match.needsContext.test(f),
1356                    namespace: q.join(".")
1357                },
1358                n),
1359                (m = h[p]) || (m = h[p] = [], m.delegateCount = 0, g.setup && !1 !== g.setup.call(a, e, q, r) || (a.addEventListener ? a.addEventListener(p, r, !1) : a.attachEvent && a.attachEvent("on" + p, r))),
1360                g.add && (g.add.call(a, u), u.handler.guid || (u.handler.guid = d.guid)),
1361                f ? m.splice(m.delegateCount++, 0, u) : m.push(u),
1362                c.event.global[p] = !0;
1363                a = null
1364            }
1365        },
1366        remove: function(a, b, d, e, f) {
1367            var g, h, k, n, r, l, m, p, q, J, w, x = c.hasData(a) && c._data(a);
1368            if (x && (l = x.events)) {
1369                b = (b || "").match(G) || [""];
1370                for (r = b.length; r--;) if (k = Eb.exec(b[r]) || [], q = w = k[1], J = (k[2] || "").split(".").sort(), q) {
1371                    m = c.event.special[q] || {};
1372                    q = (e ? m.delegateType: m.bindType) || q;
1373                    p = l[q] || [];
1374                    k = k[2] && RegExp("(^|\\.)" + J.join("\\.(?:.*\\.|)") + "(\\.|$)");
1375                    for (n = g = p.length; g--;) h = p[g],
1376                    !f && w !== h.origType || d && d.guid !== h.guid || k && !k.test(h.namespace) || e && e !== h.selector && ("**" !== e || !h.selector) || (p.splice(g, 1), h.selector && p.delegateCount--, m.remove && m.remove.call(a, h));
1377                    n && !p.length && (m.teardown && !1 !== m.teardown.call(a, J, x.handle) || c.removeEvent(a, q, x.handle), delete l[q])
1378                } else for (q in l) c.event.remove(a, q + b[r], d, e, !0);
1379                c.isEmptyObject(l) && (delete x.handle, c._removeData(a, "events"))
1380            }
1381        },
1382        trigger: function(a, b, d, e) {
1383            var f, g, h, k, n, r, u = [d || q],
1384            m = ea.call(a, "type") ? a.type: a;
1385            r = ea.call(a, "namespace") ? a.namespace.split(".") : [];
1386            if (h = f = d = d || q, 3 !== d.nodeType && 8 !== d.nodeType && !Db.test(m + c.event.triggered) && (0 <= m.indexOf(".") && (r = m.split("."), m = r.shift(), r.sort()), g = 0 >
1386 m.indexOf(":") && "on" + m, a = a[c.expando] ? a: new c.Event(m, "object" == typeof a && a), a.isTrigger = !0, a.namespace = r.join("."), a.namespace_re = a.namespace ? RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, a.result = l, a.target || (a.target = d), b = null == b ? [a] : c.makeArray(b, [a]), n = c.event.special[m] || {},
1387            e || !n.trigger || !1 !== n.trigger.apply(d, b))) {
1388                if (!e && !n.noBubble && !c.isWindow(d)) {
1389                    k = n.delegateType || m;
1390                    for (Db.test(k + m) || (h = h.parentNode); h; h = h.parentNode) u.push(h),
1391                    f = h;
1392                    f === (d.ownerDocument || q) && u.push(f.defaultView || f.parentWindow || p)
1393                }
1394                for (r = 0; (h = u[r++]) && !a.isPropagationStopped();) a.type = 1 < r ? k: n.bindType || m,
1395                (f = (c._data(h, "events") || {})[a.type] && c._data(h, "handle")) && f.apply(h, b),
1396                (f = g && h[g]) && c.acceptData(h) && f.apply && !1 === f.apply(h, b) && a.preventDefault();
1397                if (a.type = m, !(e || a.isDefaultPrevented() || n._default && !1 !== n._default.apply(d.ownerDocument, b) || "click" === m && c.nodeName(d, "a")) && c.acceptData(d) && g && d[m] && !c.isWindow(d)) { (f = d[g]) && (d[g] = null);
1398                    c.event.triggered = m;
1399                    try {
1400                        d[m]()
1401                    } catch(Vc) {}
1402                    c.event.triggered = l;
1403                    f && (d[g] = f)
1404                }
1405                return a.result
1406            }
1407        },
1408        dispatch: function(a) {
1409            a = c.event.fix(a);
1410            var b, d, e, f, g, h, k = A.call(arguments);
1411            b = (c._data(this, "events") || {})[a.type] || [];
1412            var n = c.event.special[a.type] || {};
1413            if (k[0] = a, a.delegateTarget = this, !n.preDispatch || !1 !== n.preDispatch.call(this, a)) {
1414                h = c.event.handlers.call(this, a, b);
1415                for (b = 0; (f = h[b++]) && !a.isPropagationStopped();) for (a.currentTarget = f.elem, g = 0; (e = f.handlers[g++]) && !a.isImmediatePropagationStopped();) a.namespace_re && !a.namespace_re.test(e.namespace) || (a.handleObj = e, a.data = e.data, d = ((c.event.special[e.origType] || {}).handle || e.handler).apply(f.elem, k), d === l || !1 !== (a.result = d) || (a.preventDefault(), a.stopPropagation()));
1416                return n.postDispatch && n.postDispatch.call(this, a),
1417                a.result
1418            }
1419        },
1420        handlers: function(a, b) {
1421            var d, e, f, g, h = [],
1422            k = b.delegateCount,
1423            n = a.target;
1424            if (k && n.nodeType && (!a.button || "click" !== a.type)) for (; n != this; n = n.parentNode || this) if (1 === n.nodeType && (!0 !== n.disabled || "click" !== a.type)) {
1425                f = [];
1426                for (g = 0; k > g; g++) e = b[g],
1427                d = e.selector + " ",
1428                f[d] === l && (f[d] = e.needsContext ? 0 <= c(d, this).index(n) : c.find(d, this, null, [n]).length),
1429                f[d] && f.push(e);
1430                f.length && h.push({
1431                    elem: n,
1432                    handlers: f
1433                })
1434            }
1435            return b.length > k && h.push({
1436                elem: this,
1437                handlers: b.slice(k)
1438            }),
1439            h
1440        },
1441        fix: function(a) {
1442            if (a[c.expando]) return a;
1443            var b, d, e;
1444            b = a.type;
1445            var f = a,
1446            g = this.fixHooks[b];
1447            g || (this.fixHooks[b] = g = vc.test(b) ? this.mouseHooks: uc.test(b) ? this.keyHooks: {});
1448            e = g.props ? this.props.concat(g.props) : this.props;
1449            a = new c.Event(f);
1450            for (b = e.length; b--;) d = e[b],
1451            a[d] = f[d];
1452            return a.target || (a.target = f.srcElement || q),
1453            3 === a.target.nodeType && (a.target = a.target.parentNode),
1454            a.metaKey = !!a.metaKey,
1455            g.filter ? g.filter(a, f) : a
1456        },
1457        props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
1458        fixHooks: {},
1459        keyHooks: {
1460            props: ["char", "charCode", "key", "keyCode"],
1461            filter: function(a, b) {
1462                return null == a.which && (a.which = null != b.charCode ? b.charCode: b.keyCode),
1463                a
1464            }
1465        },
1466        mouseHooks: {
1467            props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
1468            filter: function(a, b) {
1469                var c, e, f, g = b.button,
1470                h = b.fromElement;
1471                return null == a.pageX && null != b.clientX && (e = a.target.ownerDocument || q, f = e.documentElement, c = e.body, a.pageX = b.clientX + (f && f.scrollLeft || c && c.scrollLeft || 0) - (f && f.clientLeft || c && c.clientLeft || 0), a.pageY = b.clientY + (f && f.scrollTop || c && c.scrollTop || 0) - (f && f.clientTop || c && c.clientTop || 0)),
1472                !a.relatedTarget && h && (a.relatedTarget = h === a.target ? b.toElement: h),
1473                a.which || g === l || (a.which = 1 & g ? 1 : 2 & g ? 3 : 4 & g ? 2 : 0),
1474                a
1475            }
1476        },
1477        special: {
1478            load: {
1479                noBubble: !0
1480            },
1481            click: {
1482                trigger: function() {
1483                    return c.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : l
1484                }
1485            },
1486            focus: {
1487                trigger: function() {
1488                    if (this !== q.activeElement && this.focus) try {
1489                        return this.focus(),
1490                        !1
1491                    } catch(a) {}
1492                },
1493                delegateType: "focusin"
1494            },
1495            blur: {
1496                trigger: function() {
1497                    return this === q.activeElement && this.blur ? (this.blur(), !1) : l
1498                },
1499                delegateType: "focusout"
1500            },
1501            beforeunload: {
1502                postDispatch: function(a) {
1503                    a.result !== l && (a.originalEvent.returnValue = a.result)
1504                }
1505            }
1506        },
1507        simulate: function(a, b, d, e) {
1508            a = c.extend(new c.Event, d, {
1509                type: a,
1510                isSimulated: !0,
1511                originalEvent: {}
1512            });
1513            e ? c.event.trigger(a, null, b) : c.event.dispatch.call(b, a);
1514            a.isDefaultPrevented() && d.preventDefault()
1515        }
1516    };
1517    c.removeEvent = q.removeEventListener ?
1518    function(a, b, c) {
1519        a.removeEventListener && a.removeEventListener(b, c, !1)
1520    }: function(a, b, c) {
1521        b = "on" + b;
1522        a.detachEvent && (typeof a[b] === H && (a[b] = null), a.detachEvent(b, c))
1523    };
1524    c.Event = function(a, b) {
1525        return this instanceof c.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || !1 === a.returnValue || a.getPreventDefault && a.getPreventDefault() ? na: Z) : this.type = a, b && c.extend(this, b), this.timeStamp = a && a.timeStamp || c.now(), this[c.expando] = !0, l) : new c.Event(a, b)
1526    };
1527    c.Event.prototype = {
1528        isDefaultPrevented: Z,
1529        isPropagationStopped: Z,
1530        isImmediatePropagationStopped: Z,
1531        preventDefault: function() {
1532            var a = this.originalEvent;
1533            this.isDefaultPrevented = na;
1534            a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
1535        },
1536        stopPropagation: function() {
1537            var a = this.originalEvent;
1538            this.isPropagationStopped = na;
1539            a && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0)
1540        },
1541        stopImmediatePropagation: function() {
1542            this.isImmediatePropagationStopped = na;
1543            this.stopPropagation()
1544        }
1545    };
1546    c.each({
1547        mouseenter: "mouseover",
1548        mouseleave: "mouseout"
1549    },
1550    function(a, b) {
1551        c.event.special[a] = {
1552            delegateType: b,
1553            bindType: b,
1554            handle: function(a) {
1555                var d, f = a.relatedTarget,
1556                g = a.handleObj;
1557                return (!f || f !== this && !c.contains(this, f)) && (a.type = g.origType, d = g.handler.apply(this, arguments), a.type = b),
1558                d
1559            }
1560        }
1561    });
1562    c.support.submitBubbles || (c.event.special.submit = {
1563        setup: function() {
1564            return c.nodeName(this, "form") ? !1 : (c.event.add(this, "click._submit keypress._submit",
1565            function(a) {
1566                a = a.target;
vendor: 5,973 bytes, lines 1566-1714
1566 (a = c.nodeName(a, "input") || c.nodeName(a, "button") ? a.form: l) && !c._data(a, "submitBubbles") && (c.event.add(a, "submit._submit",
1567                function(a) {
1568                    a._submit_bubble = !0
1569                }), c._data(a, "submitBubbles", !0))
1570            }), l)
1571        },
1572        postDispatch: function(a) {
1573            a._submit_bubble && (delete a._submit_bubble, this.parentNode && !a.isTrigger && c.event.simulate("submit", this.parentNode, a, !0))
1574        },
1575        teardown: function() {
1576            return c.nodeName(this, "form") ? !1 : (c.event.remove(this, "._submit"), l)
1577        }
1578    });
1579    c.support.changeBubbles || (c.event.special.change = {
1580        setup: function() {
1581            return Na.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (c.event.add(this, "propertychange._change",
1582            function(a) {
1583                "checked" === a.originalEvent.propertyName && (this._just_changed = !0)
1584            }), c.event.add(this, "click._change",
1585            function(a) {
1586                this._just_changed && !a.isTrigger && (this._just_changed = !1);
1587                c.event.simulate("change", this, a, !0)
1588            })), !1) : (c.event.add(this, "beforeactivate._change",
1589            function(a) {
1590                a = a.target;
1591                Na.test(a.nodeName) && !c._data(a, "changeBubbles") && (c.event.add(a, "change._change",
1592                function(a) { ! this.parentNode || a.isSimulated || a.isTrigger || c.event.simulate("change", this.parentNode, a, !0)
1593                }), c._data(a, "changeBubbles", !0))
1594            }), l)
1595        },
1596        handle: function(a) {
1597            var b = a.target;
1598            return this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type ? a.handleObj.handler.apply(this, arguments) : l
1599        },
1600        teardown: function() {
1601            return c.event.remove(this, "._change"),
1602            !Na.test(this.nodeName)
1603        }
1604    });
1605    c.support.focusinBubbles || c.each({
1606        focus: "focusin",
1607        blur: "focusout"
1608    },
1609    function(a, b) {
1610        var d = 0,
1611        e = function(a) {
1612            c.event.simulate(b, a.target, c.event.fix(a), !0)
1613        };
1614        c.event.special[b] = {
1615            setup: function() {
1616                0 === d++&&q.addEventListener(a, e, !0)
1617            },
1618            teardown: function() {
1619                0 === --d && q.removeEventListener(a, e, !0)
1620            }
1621        }
1622    });
1623    c.fn.extend({
1624        on: function(a, b, d, e, f) {
1625            var g, h;
1626            if ("object" == typeof a) {
1627                "string" != typeof b && (d = d || b, b = l);
1628                for (g in a) this.on(g, b, d, a[g], f);
1629                return this
1630            }
1631            if (null == d && null == e ? (e = b, d = b = l) : null == e && ("string" == typeof b ? (e = d, d = l) : (e = d, d = b, b = l)), !1 === e) e = Z;
1632            else if (!e) return this;
1633            return 1 === f && (h = e, e = function(a) {
1634                return c().off(a),
1635                h.apply(this, arguments)
1636            },
1637            e.guid = h.guid || (h.guid = c.guid++)),
1638            this.each(function() {
1639                c.event.add(this, a, e, d, b)
1640            })
1641        },
1642        one: function(a, b, c, e) {
1643            return this.on(a, b, c, e, 1)
1644        },
1645        off: function(a, b, d) {
1646            var e, f;
1647            if (a && a.preventDefault && a.handleObj) return e = a.handleObj,
1648            c(a.delegateTarget).off(e.namespace ? e.origType + "." + e.namespace: e.origType, e.selector, e.handler),
1649            this;
1650            if ("object" == typeof a) {
1651                for (f in a) this.off(f, b, a[f]);
1652                return this
1653            }
1654            return (!1 === b || "function" == typeof b) && (d = b, b = l),
1655            !1 === d && (d = Z),
1656            this.each(function() {
1657                c.event.remove(this, a, d, b)
1658            })
1659        },
1660        bind: function(a, b, c) {
1661            return this.on(a, null, b, c)
1662        },
1663        unbind: function(a, b) {
1664            return this.off(a, null, b)
1665        },
1666        delegate: function(a, b, c, e) {
1667            return this.on(b, a, c, e)
1668        },
1669        undelegate: function(a, b, c) {
1670            return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", c)
1671        },
1672        trigger: function(a, b) {
1673            return this.each(function() {
1674                c.event.trigger(a, b, this)
1675            })
1676        },
1677        triggerHandler: function(a, b) {
1678            var d = this[0];
1679            return d ? c.event.trigger(a, b, d, !0) : l
1680        }
1681    }); (function(a, b) {
1682        function d() {
1683            var a, b = [];
1684            return a = function(c, d) {
1685                return b.push(c += " ") > t.cacheLength && delete a[b.shift()],
1686                a[c] = d
1687            }
1688        }
1689        function e(a) {
1690            return a[B] = !0,
1691            a
1692        }
1693        function f(a) {
1694            var b = O.createElement("div");
1695            try {
1696                return a(b)
1697            } catch(y) {
1698                return ! 1
1699            } finally {}
1700        }
1701        function g(a, b, c, d) {
1702            var e, f, g, h, k;
1703            if ((b ? b.ownerDocument || b: L) !== O && sa(b), b = b || O, c = c || [], !a || "string" != typeof a) return c;
1704            if (1 !== (h = b.nodeType) && 9 !== h) return [];
1705            if (!W && !d) {
1706                if (e = na.exec(a)) if (g = e[1]) if (9 === h) {
1707                    if (f = b.getElementById(g), !f || !f.parentNode) return c;
1708                    if (f.id === g) return c.push(f),
1709                    c
1710                } else {
1711                    if (b.ownerDocument && (f = b.ownerDocument.getElementById(g)) && va(b, f) && f.id === g) return c.push(f),
1712                    c
1713                } else {
1714                    if (e[2]) return A.apply(c, R.call(b.getElementsByTagName(a), 0
1714)),
1715                    c;
1716                    if ((g = e[3]) && F.getByClassName && b.getElementsByClassName) return A.apply(c, R.call(b.getElementsByClassName(g), 0)),
1717                    c
1718                }
1719                if (F.qsa && !C.test(a)) {
1720                    if (e = !0, f = B, g = b, k = 9 === h && a, 1 === h && "object" !== b.nodeName.toLowerCase()) {
1721                        h = l(a); (e = b.getAttribute("id")) ? f = e.replace(qa, "\\$\x26") : b.setAttribute("id", f);
1722                        f = "[id\x3d'" + f + "'] ";
1723                        for (g = h.length; g--;) h[g] = f + m(h[g]);
1724                        g = ea.test(a) && b.parentNode || b;
1725                        k = h.join(",")
1726                    }
1727                    if (k) try {
1728                        return A.apply(c, R.call(g.querySelectorAll(k), 0)),
1729                        c
1730                    } catch(Wc) {} finally {
1731                        e || b.removeAttribute("id")
1732                    }
1733                }
1734            }
1735            var v;
1736            a: {
1737                a = a.replace(T, "$1");
1738                var y, V;
1739                f = l(a);
1740                if (!d && 1 === f.length) {
1741                    if (v = f[0] = f[0].slice(0), 2 < v.length && "ID" === (y = v[0]).type && 9 === b.nodeType && !W && t.relative[v[1].type]) {
1742                        if (b = t.find.ID(y.matches[0].replace(ia, ja), b)[0], !b) {
1743                            v = c;
1744                            break a
1745                        }
1746                        a = a.slice(v.shift().value.length)
1747                    }
1748                    for (h = ba.needsContext.test(a) ? 0 : v.length; h--&&(y = v[h], !t.relative[e = y.type]);) if ((V = t.find[e]) && (d = V(y.matches[0].replace(ia, ja), ea.test(v[0].type) && b.parentNode || b))) {
1749                        if (v.splice(h, 1), a = d.length && m(v), !a) {
1750                            v = (A.apply(c, R.call(d, 0)), c);
1751                            break a
1752                        }
1753                        break
1754                    }
1755                }
1756                v = (Oa(a, f)(d, b, W, c, ea.test(a)), c)
1757            }
1758            return v
1759        }
1760        function h(a, b) {
1761            var c = b && a,
1762            d = c && (~b.sourceIndex || -2147483648) - (~a.sourceIndex || -2147483648);
1763            if (d) return d;
1764            if (c) for (; c = c.nextSibling;) if (c === b) return - 1;
1765            return a ? 1 : -1
1766        }
1767        function k(a) {
1768            return function(b) {
1769                return "input" === b.nodeName.toLowerCase() && b.type === a
1770            }
1771        }
1772        function n(a) {
1773            return function(b) {
1774                var c = b.nodeName.toLowerCase();
1775                return ("input" === c || "button" === c) && b.type === a
1776            }
1777        }
1778        function r(a) {
1779            return e(function(b) {
1780                return b = +b,
1781                e(function(c, d) {
1782                    for (var e, f = a([], c.length, b), g = f.length; g--;) c[e = f[g]] && (c[e] = !(d[e] = c[e]))
1783                })
1784            })
1785        }
1786        function l(a, b) {
1787            var c, d, e, f, h, k, v;
1788            if (h = Y[a + " "]) return b ? 0 : h.slice(0);
1789            h = a;
1790            k = [];
1791            for (v = t.preFilter; h;) {
1792                c && !(d = ha.exec(h)) || (d && (h = h.slice(d[0].length) || h), k.push(e = []));
1793                c = !1; (d = ka.exec(h)) && (c = d.shift(), e.push({
1794                    value: c,
1795                    type: d[0].replace(T, " ")
1796                }), h = h.slice(c.length));
1797                for (f in t.filter) ! (d = ba[f].exec(h)) || v[f] && !(d = v[f](d)) || (c = d.shift(), e.push({
1798                    value: c,
1799                    type: f,
1800                    matches: d
1801                }), h = h.slice(c.length));
1802                if (!c) break
1803            }
1804            return b ? h.length: h ? g.error(a) : Y(a, k).slice(0)
1805        }
1806        function m(a) {
1807            for (var b = 0,
1808            c = a.length,
1809            d = ""; c > b; b++) d += a[b].value;
1810            return d
1811        }
1812        function p(a, b, c) {
1813            var d = b.dir,
1814            e = c && "parentNode" === d,
1815            f = P++;
vendor: 46,006 bytes, lines 1816-2848
1816            return b.first ?
1817            function(b, c, f) {
1818                for (; b = b[d];) if (1 === b.nodeType || e) return a(b, c, f)
1819            }: function(b, c, g) {
1820                var h, k, v, y = M + " " + f;
1821                if (g) for (; b = b[d];) {
1822                    if ((1 === b.nodeType || e) && a(b, c, g)) return ! 0
1823                } else for (; b = b[d];) if (1 === b.nodeType || e) if (v = b[B] || (b[B] = {}), (k = v[d]) && k[0] === y) {
1824                    if (!0 === (h = k[1]) || h === H) return ! 0 === h
1825                } else if (k = v[d] = [y], k[1] = a(b, c, g) || H, !0 === k[1]) return ! 0
1826            }
1827        }
1828        function q(a) {
1829            return 1 < a.length ?
1830            function(b, c, d) {
1831                for (var e = a.length; e--;) if (!a[e](b, c, d)) return ! 1;
1832                return ! 0
1833            }: a[0]
1834        }
1835        function J(a, b, c, d, e) {
1836            for (var f, g = [], h = 0, k = a.length, v = null != b; k > h; h++)(f = a[h]) && (!c || c(f, d, e)) && (g.push(f), v && b.push(h));
1837            return g
1838        }
1839        function w(a, b, c, d, f, h) {
1840            return d && !d[B] && (d = w(d)),
1841            f && !f[B] && (f = w(f, h)),
1842            e(function(e, h, k, v) {
1843                var y, n, V = [],
1844                m = [],
1845                r = h.length,
1846                l;
1847                if (! (l = e)) {
1848                    l = b || "*";
1849                    for (var D = k.nodeType ? [k] : k, p = [], u = 0, za = D.length; za > u; u++) g(l, D[u], p);
1850                    l = p
1851                }
1852                l = !a || !e && b ? l: J(l, V, a, k, v);
1853                D = c ? f || (e ? a: r || d) ? [] : h: l;
1854                if (c && c(l, D, k, v), d) for (y = J(D, m), d(y, [], k, v), k = y.length; k--;)(n = y[k]) && (D[m[k]] = !(l[m[k]] = n));
1855                if (e) {
1856                    if (f || a) {
1857                        if (f) {
1858                            y = [];
1859                            for (k = D.length; k--;)(n = D[k]) && y.push(l[k] = n);
1860                            f(null, D = [], y, v)
1861                        }
1862                        for (k = D.length; k--;)(n = D[k]) && -1 < (y = f ? X.call(e, n) : V[k]) && (e[y] = !(h[y] = n))
1863                    }
1864                } else D = J(D === h ? D.splice(r, D.length) : D),
1865                f ? f(null, h, D, v) : A.apply(h, D)
1866            })
1867        }
1868        function x(a) {
1869            var b, c, d, e = a.length,
1870            f = t.relative[a[0].type];
1871            c = f || t.relative[" "];
1872            for (var g = f ? 1 : 0, h = p(function(a) {
1873                return a === b
1874            },
1875            c, !0), k = p(function(a) {
1876                return - 1 < X.call(b, a)
1877            },
1878            c, !0), v = [function(a, c, d) {
1879                return ! f && (d || c !== Aa) || ((b = c).nodeType ? h(a, c, d) : k(a, c, d))
1880            }]; e > g; g++) if (c = t.relative[a[g].type]) v = [p(q(v), c)];
1881            else {
1882                if (c = t.filter[a[g].type].apply(null, a[g].matches), c[B]) {
1883                    for (d = ++g; e > d && !t.relative[a[d].type]; d++);
1884                    return w(1 < g && q(v), 1 < g && m(a.slice(0, g - 1)).replace(T, "$1"), c, d > g && x(a.slice(g, d)), e > d && x(a = a.slice(d)), e > d && m(a))
1885                }
1886                v.push(c)
1887            }
1888            return q(v)
1889        }
1890        function I(a, b) {
1891            var c = 0,
1892            d = 0 < b.length,
1893            f = 0 < a.length,
1894            h = function(e, h, k, v, y) {
1895                var n, V, m = [],
1896                l = 0,
1897                r = "0",
1898                D = e && [],
1899                p = null != y,
1900                u = Aa,
1901                q = e || f && t.find.TAG("*", y && h.parentNode || h),
1902                za = M += null == u ? 1 : Math.random() || .1;
1903                for (p && (Aa = h !== O && h, H = c); null != (y = q[r]); r++) {
1904                    if (f && y) {
1905                        for (n = 0; V = a[n++];) if (V(y, h, k)) {
1906                            v.push(y);
1907                            break
1908                        }
1909                        p && (M = za, H = ++c)
1910                    }
1911                    d && ((y = !V && y) && l--, e && D.push(y))
1912                }
1913                if (l += r, d && r !== l) {
1914                    for (n = 0; V = b[n++];) V(D, m, h, k);
1915                    if (e) {
1916                        if (0 < l) for (; r--;) D[r] || m[r] || (m[r] = da.call(v));
1917                        m = J(m)
1918                    }
1919                    A.apply(v, m);
1920                    p && !e && 0 < m.length && 1 < l + b.length && g.uniqueSort(v)
1921                }
1922                return p && (M = za, Aa = u),
1923                D
1924            };
1925            return d ? e(h) : h
1926        }
1927        function E() {}
1928        var K, H, t, N, Q, Oa, ta, Aa, sa, O, S, W, C, ua, G, va, Pa, B = "sizzle" + -new Date,
1929        L = a.document,
1930        F = {},
1931        M = 0,
1932        P = 0,
1933        U = d(),
1934        Y = d(),
1935        aa = d(),
1936        fa = typeof b,
1937        z = [],
1938        da = z.pop,
1939        A = z.push,
1940        R = z.slice,
1941        X = z.indexOf ||
1942        function(a) {
1943            for (var b = 0,
1944            c = this.length; c > b; b++) if (this[b] === a) return b;
1945            return - 1
1946        },
1947        z = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w#"),
1948        ca = "\\[[\\x20\\t\\r\\n\\f]*((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)[\\x20\\t\\r\\n\\f]*(?:([*^$|!~]?\x3d)[\\x20\\t\\r\\n\\f]*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + z + ")|)|)[\\x20\\t\\r\\n\\f]*\\]",
1949        Z = ":((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + ca.replace(3, 8) + ")*)|.*)\\)|)",
1950        T = RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$", "g"),
1951        ha = /^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/,
1952        ka = /^[\x20\t\r\n\f]*([\x20\t\r\n\f>+~])[\x20\t\r\n\f]*/,
1953        la = RegExp(Z),
1954        ma = RegExp("^" + z + "$"),
1955        ba = {
1956            ID: /^#((?:\\.|[\w-]|[^\x00-\xa0])+)/,
1957            CLASS: /^\.((?:\\.|[\w-]|[^\x00-\xa0])+)/,
1958            NAME: /^\[name=['"]?((?:\\.|[\w-]|[^\x00-\xa0])+)['"]?\]/,
1959            TAG: RegExp("^(" + "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w*") + ")"),
1960            ATTR: RegExp("^" + ca),
1961            PSEUDO: RegExp("^" + Z),
1962            CHILD: /^:(only|first|last|nth|nth-last)-(child|of-type)(?:\([\x20\t\r\n\f]*(even|odd|(([+-]|)(\d*)n|)[\x20\t\r\n\f]*(?:([+-]|)[\x20\t\r\n\f]*(\d+)|))[\x20\t\r\n\f]*\)|)/i,
1963            needsContext: /^[\x20\t\r\n\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\([\x20\t\r\n\f]*((?:-\d)?\d*)[\x20\t\r\n\f]*\)|)(?=[^-]|$)/i
1964        },
1965        ea = /[\x20\t\r\n\f]*[+~]/,
1966        ga = /^[^{]+\{\s*\[native code/,
1967        na = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
1968        oa = /^(?:input|select|textarea|button)$/i,
1969        pa = /^h\d$/i,
1970        qa = /'|\\/g,
1971        ra = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
1972        ia = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
1973        ja = function(a, b) {
1974            var c = "0x" + b - 65536;
1975            return c !== c ? b: 0 > c ? String.fromCharCode(c + 65536) : String.fromCharCode(55296 | c >> 10, 56320 | 1023 & c)
1976        };
1977        try {
1978            R.call(L.documentElement.childNodes, 0)[0].nodeType
1979        } catch(v) {
1980            R = function(a) {
1981                for (var b, c = []; b = this[a++];) c.push(b);
1982                return c
1983            }
1984        }
1985        Q = g.isXML = function(a) {
1986            return (a = a && (a.ownerDocument || a).documentElement) ? "HTML" !== a.nodeName: !1
1987        };
1988        sa = g.setDocument = function(a) {
1989            var c = a ? a.ownerDocument || a: L;
1990            return c !== O && 9 === c.nodeType && c.documentElement ? (O = c, S = c.documentElement, W = Q(c), F.tagNameNoComments = f(function(a) {
1991                return a.appendChild(c.createComment("")),
1992                !a.getElementsByTagName("*").length
1993            }), F.attributes = f(function(a) {
1994                a.innerHTML = "\x3cselect\x3e\x3c/select\x3e";
1995                a = typeof a.lastChild.getAttribute("multiple");
1996                return "boolean" !== a && "string" !== a
1997            }), F.getByClassName = f(function(a) {
1998                return a.innerHTML = "\x3cdiv class\x3d'hidden e'\x3e\x3c/div\x3e\x3cdiv class\x3d'hidden'\x3e\x3c/div\x3e",
1999                a.getElementsByClassName && a.getElementsByClassName("e").length ? (a.lastChild.className = "e", 2 === a.getElementsByClassName("e").length) : !1
2000            }), F.getByName = f(function(a) {
2001                a.id = B + 0;
2002                a.innerHTML = "\x3ca name\x3d'" + B + "'\x3e\x3c/a\x3e\x3cdiv name\x3d'" + B + "'\x3e\x3c/div\x3e";
2003                S.insertBefore(a, S.firstChild);
2004                var b = c.getElementsByName && c.getElementsByName(B).length === 2 + c.getElementsByName(B + 0).length;
2005                return F.getIdNotName = !c.getElementById(B),
2006                S.removeChild(a),
2007                b
2008            }), t.attrHandle = f(function(a) {
2009                return a.innerHTML = "\x3ca href\x3d'#'\x3e\x3c/a\x3e",
2010                a.firstChild && typeof a.firstChild.getAttribute !== fa && "#" === a.firstChild.getAttribute("href")
2011            }) ? {}: {
2012                href: function(a) {
2013                    return a.getAttribute("href", 2)
2014                },
2015                type: function(a) {
2016                    return a.getAttribute("type")
2017                }
2018            },
2019            F.getIdNotName ? (t.find.ID = function(a, b) {
2020                if (typeof b.getElementById !== fa && !W) {
2021                    var c = b.getElementById(a);
2022                    return c && c.parentNode ? [c] : []
2023                }
2024            },
2025            t.filter.ID = function(a) {
2026                var b = a.replace(ia, ja);
2027                return function(a) {
2028                    return a.getAttribute("id") === b
2029                }
2030            }) : (t.find.ID = function(a, c) {
2031                if (typeof c.getElementById !== fa && !W) {
2032                    var d = c.getElementById(a);
2033                    return d ? d.id === a || typeof d.getAttributeNode !== fa && d.getAttributeNode("id").value === a ? [d] : b: []
2034                }
2035            },
2036            t.filter.ID = function(a) {
2037                var b = a.replace(ia, ja);
2038                return function(a) {
2039                    return (a = typeof a.getAttributeNode !== fa && a.getAttributeNode("id")) && a.value === b
2040                }
2041            }), t.find.TAG = F.tagNameNoComments ?
2042            function(a, c) {
2043                return typeof c.getElementsByTagName !== fa ? c.getElementsByTagName(a) : b
2044            }: function(a, b) {
2045                var c, d = [],
2046                e = 0,
2047                f = b.getElementsByTagName(a);
2048                if ("*" === a) {
2049                    for (; c = f[e++];) 1 === c.nodeType && d.push(c);
2050                    return d
2051                }
2052                return f
2053            },
2054            t.find.NAME = F.getByName &&
2055            function(a, c) {
2056                return typeof c.getElementsByName !== fa ? c.getElementsByName(name) : b
2057            },
2058            t.find.CLASS = F.getByClassName &&
2059            function(a, c) {
2060                return typeof c.getElementsByClassName === fa || W ? b: c.getElementsByClassName(a)
2061            },
2062            ua = [], C = [":focus"], (F.qsa = ga.test(c.querySelectorAll + "")) && (f(function(a) {
2063                a.innerHTML = "\x3cselect\x3e\x3coption selected\x3d''\x3e\x3c/option\x3e\x3c/select\x3e";
2064                a.querySelectorAll("[selected]").length || C.push("\\[[\\x20\\t\\r\\n\\f]*(?:checked|disabled|ismap|multiple|readonly|selected|value)");
2065                a.querySelectorAll(":checked").length || C.push(":checked")
2066            }), f(function(a) {
2067                a.innerHTML = "\x3cinput type\x3d'hidden' i\x3d''/\x3e";
2068                a.querySelectorAll("[i^\x3d'']").length && C.push("[*^$]\x3d[\\x20\\t\\r\\n\\f]*(?:\"\"|'')");
2069                a.querySelectorAll(":enabled").length || C.push(":enabled", ":disabled");
2070                a.querySelectorAll("*,:x");
2071                C.push(",.*:")
2072            })), (F.matchesSelector = ga.test((G = S.matchesSelector || S.mozMatchesSelector || S.webkitMatchesSelector || S.oMatchesSelector || S.msMatchesSelector) + "")) && f(function(a) {
2073                F.disconnectedMatch = G.call(a, "div");
2074                G.call(a, "[s!\x3d'']:x");
2075                ua.push("!\x3d", Z)
2076            }), C = RegExp(C.join("|")), ua = RegExp(ua.join("|")), va = ga.test(S.contains + "") || S.compareDocumentPosition ?
2077            function(a, b) {
2078                var c = 9 === a.nodeType ? a.documentElement: a,
2079                d = b && b.parentNode;
2080                return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d)))
2081            }: function(a, b) {
2082                if (b) for (; b = b.parentNode;) if (b === a) return ! 0;
2083                return ! 1
2084            },
2085            Pa = S.compareDocumentPosition ?
2086            function(a, b) {
2087                var d;
2088                return a === b ? (ta = !0, 0) : (d = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition(b)) ? 1 & d || a.parentNode && 11 === a.parentNode.nodeType ? a === c || va(L, a) ? -1 : b === c || va(L, b) ? 1 : 0 : 4 & d ? -1 : 1 : a.compareDocumentPosition ? -1 : 1
2089            }: function(a, b) {
2090                var d, e = 0;
2091                d = a.parentNode;
2092                var f = b.parentNode,
2093                g = [a],
2094                k = [b];
2095                if (a === b) return ta = !0,
2096                0;
2097                if (!d || !f) return a === c ? -1 : b === c ? 1 : d ? -1 : f ? 1 : 0;
2098                if (d === f) return h(a, b);
2099                for (d = a; d = d.parentNode;) g.unshift(d);
2100                for (d = b; d = d.parentNode;) k.unshift(d);
2101                for (; g[e] === k[e];) e++;
2102                return e ? h(g[e], k[e]) : g[e] === L ? -1 : k[e] === L ? 1 : 0
2103            },
2104            ta = !1, [0, 0].sort(Pa), F.detectDuplicates = ta, O) : O
2105        };
2106        g.matches = function(a, b) {
2107            return g(a, null, null, b)
2108        };
2109        g.matchesSelector = function(a, b) {
2110            if ((a.ownerDocument || a) !== O && sa(a), b = b.replace(ra, "\x3d'$1']"), !(!F.matchesSelector || W || ua && ua.test(b) || C.test(b))) try {
2111                var c = G.call(a, b);
2112                if (c || F.disconnectedMatch || a.document && 11 !== a.document.nodeType) return c
2113            } catch(D) {}
2114            return 0 < g(b, O, null, [a]).length
2115        };
2116        g.contains = function(a, b) {
2117            return (a.ownerDocument || a) !== O && sa(a),
2118            va(a, b)
2119        };
2120        g.attr = function(a, b) {
2121            var c;
2122            return (a.ownerDocument || a) !== O && sa(a),
2123            W || (b = b.toLowerCase()),
2124            (c = t.attrHandle[b]) ? c(a) : W || F.attributes ? a.getAttribute(b) : ((c = a.getAttributeNode(b)) || a.getAttribute(b)) && !0 === a[b] ? b: c && c.specified ? c.value: null
2125        };
2126        g.error = function(a) {
2127            throw Error("Syntax error, unrecognized expression: " + a);
2128        };
2129        g.uniqueSort = function(a) {
2130            var b, c = [],
2131            d = 1,
2132            e = 0;
2133            if (ta = !F.detectDuplicates, a.sort(Pa), ta) {
2134                for (; b = a[d]; d++) b === a[d - 1] && (e = c.push(d));
2135                for (; e--;) a.splice(c[e], 1)
2136            }
2137            return a
2138        };
2139        N = g.getText = function(a) {
2140            var b, c = "",
2141            d = 0;
2142            if (b = a.nodeType) if (1 === b || 9 === b || 11 === b) {
2143                if ("string" == typeof a.textContent) return a.textContent;
2144                for (a = a.firstChild; a; a = a.nextSibling) c += N(a)
2145            } else {
2146                if (3 === b || 4 === b) return a.nodeValue
2147            } else for (; b = a[d]; d++) c += N(b);
2148            return c
2149        };
2150        t = g.selectors = {
2151            cacheLength: 50,
2152            createPseudo: e,
2153            match: ba,
2154            find: {},
2155            relative: {
2156                "\x3e": {
2157                    dir: "parentNode",
2158                    first: !0
2159                },
2160                " ": {
2161                    dir: "parentNode"
2162                },
2163                "+": {
2164                    dir: "previousSibling",
2165                    first: !0
2166                },
2167                "~": {
2168                    dir: "previousSibling"
2169                }
2170            },
2171            preFilter: {
2172                ATTR: function(a) {
2173                    return a[1] = a[1].replace(ia, ja),
2174                    a[3] = (a[4] || a[5] || "").replace(ia, ja),
2175                    "~\x3d" === a[2] && (a[3] = " " + a[3] + " "),
2176                    a.slice(0, 4)
2177                },
2178                CHILD: function(a) {
2179                    return a[1] = a[1].toLowerCase(),
2180                    "nth" === a[1].slice(0, 3) ? (a[3] || g.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && g.error(a[0]),
2181                    a
2182                },
2183                PSEUDO: function(a) {
2184                    var b, c = !a[5] && a[2];
2185                    return ba.CHILD.test(a[0]) ? null: (a[4] ? a[2] = a[4] : c && la.test(c) && (b = l(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3))
2186                }
2187            },
2188            filter: {
2189                TAG: function(a) {
2190                    return "*" === a ?
2191                    function() {
2192                        return ! 0
2193                    }: (a = a.replace(ia, ja).toLowerCase(),
2194                    function(b) {
2195                        return b.nodeName && b.nodeName.toLowerCase() === a
2196                    })
2197                },
2198                CLASS: function(a) {
2199                    var b = U[a + " "];
2200                    return b || (b = RegExp("(^|[\\x20\\t\\r\\n\\f])" + a + "([\\x20\\t\\r\\n\\f]|$)")) && U(a,
2201                    function(a) {
2202                        return b.test(a.className || typeof a.getAttribute !== fa && a.getAttribute("class") || "")
2203                    })
2204                },
2205                ATTR: function(a, b, c) {
2206                    return function(d) {
2207                        d = g.attr(d, a);
2208                        return null == d ? "!\x3d" === b: b ? (d += "", "\x3d" === b ? d === c: "!\x3d" === b ? d !== c: "^\x3d" === b ? c && 0 === d.indexOf(c) : "*\x3d" === b ? c && -1 < d.indexOf(c) : "$\x3d" === b ? c && d.slice( - c.length) === c: "~\x3d" === b ? -1 < (" " + d + " ").indexOf(c) : "|\x3d" === b ? d === c || d.slice(0, c.length + 1) === c + "-": !1) : !0
2209                    }
2210                },
2211                CHILD: function(a, b, c, d, e) {
2212                    var f = "nth" !== a.slice(0, 3),
2213                    g = "last" !== a.slice( - 4),
2214                    h = "of-type" === b;
2215                    return 1 === d && 0 === e ?
2216                    function(a) {
2217                        return !! a.parentNode
2218                    }: function(b, c, k) {
2219                        var n, m, l, r, v;
2220                        c = f !== g ? "nextSibling": "previousSibling";
2221                        var p = b.parentNode,
2222                        u = h && b.nodeName.toLowerCase();
2223                        k = !k && !h;
2224                        if (p) {
2225                            if (f) {
2226                                for (; c;) {
2227                                    for (m = b; m = m[c];) if (h ? m.nodeName.toLowerCase() === u: 1 === m.nodeType) return ! 1;
2228                                    v = c = "only" === a && !v && "nextSibling"
2229                                }
2230                                return ! 0
2231                            }
2232                            if (v = [g ? p.firstChild: p.lastChild], g && k) for (k = p[B] || (p[B] = {}), n = k[a] || [], r = n[0] === M && n[1], l = n[0] === M && n[2], m = r && p.childNodes[r]; m = ++r && m && m[c] || (l = r = 0) || v.pop();) {
2233                                if (1 === m.nodeType && ++l && m === b) {
2234                                    k[a] = [M, r, l];
2235                                    break
2236                                }
2237                            } else if (k && (n = (b[B] || (b[B] = {}))[a]) && n[0] === M) l = n[1];
2238                            else for (; (m = ++r && m && m[c] || (l = r = 0) || v.pop()) && ((h ? m.nodeName.toLowerCase() !== u: 1 !== m.nodeType) || !++l || (k && ((m[B] || (m[B] = {}))[a] = [M, l]), m !== b)););
2239                            return l -= e,
2240                            l === d || 0 === l % d && 0 <= l / d
2241                        }
2242                    }
2243                },
2244                PSEUDO: function(a, b) {
2245                    var c, d = t.pseudos[a] || t.setFilters[a.toLowerCase()] || g.error("unsupported pseudo: " + a);
2246                    return d[B] ? d(b) : 1 < d.length ? (c = [a, a, "", b], t.setFilters.hasOwnProperty(a.toLowerCase()) ? e(function(a, c) {
2247                        for (var e, f = d(a, b), g = f.length; g--;) e = X.call(a, f[g]),
2248                        a[e] = !(c[e] = f[g])
2249                    }) : function(a) {
2250                        return d(a, 0, c)
2251                    }) : d
2252                }
2253            },
2254            pseudos: {
2255                not: e(function(a) {
2256                    var b = [],
2257                    c = [],
2258                    d = Oa(a.replace(T, "$1"));
2259                    return d[B] ? e(function(a, b, c, e) {
2260                        var f;
2261                        c = d(a, null, e, []);
2262                        for (e = a.length; e--;)(f = c[e]) && (a[e] = !(b[e] = f))
2263                    }) : function(a, e, f) {
2264                        return b[0] = a,
2265                        d(b, null, f, c),
2266                        !c.pop()
2267                    }
2268                }),
2269                has: e(function(a) {
2270                    return function(b) {
2271                        return 0 < g(a, b).length
2272                    }
2273                }),
2274                contains: e(function(a) {
2275                    return function(b) {
2276                        return - 1 < (b.textContent || b.innerText || N(b)).indexOf(a)
2277                    }
2278                }),
2279                lang: e(function(a) {
2280                    return ma.test(a || "") || g.error("unsupported lang: " + a),
2281                    a = a.replace(ia, ja).toLowerCase(),
2282                    function(b) {
2283                        var c;
2284                        do
2285                        if (c = W ? b.getAttribute("xml:lang") || b.getAttribute("lang") : b.lang) return c = c.toLowerCase(),
2286                        c === a || 0 === c.indexOf(a + "-");
2287                        while ((b = b.parentNode) && 1 === b.nodeType);
2288                        return ! 1
2289                    }
2290                }),
2291                target: function(b) {
2292                    var c = a.location && a.location.hash;
2293                    return c && c.slice(1) === b.id
2294                },
2295                root: function(a) {
2296                    return a === S
2297                },
2298                focus: function(a) {
2299                    return a === O.activeElement && (!O.hasFocus || O.hasFocus()) && !!(a.type || a.href || ~a.tabIndex)
2300                },
2301                enabled: function(a) {
2302                    return ! 1 === a.disabled
2303                },
2304                disabled: function(a) {
2305                    return ! 0 === a.disabled
2306                },
2307                checked: function(a) {
2308                    var b = a.nodeName.toLowerCase();
2309                    return "input" === b && !!a.checked || "option" === b && !!a.selected
2310                },
2311                selected: function(a) {
2312                    return a.parentNode && a.parentNode.selectedIndex,
2313                    !0 === a.selected
2314                },
2315                empty: function(a) {
2316                    for (a = a.firstChild; a; a = a.nextSibling) if ("@" < a.nodeName || 3 === a.nodeType || 4 === a.nodeType) return ! 1;
2317                    return ! 0
2318                },
2319                parent: function(a) {
2320                    return ! t.pseudos.empty(a)
2321                },
2322                header: function(a) {
2323                    return pa.test(a.nodeName)
2324                },
2325                input: function(a) {
2326                    return oa.test(a.nodeName)
2327                },
2328                button: function(a) {
2329                    var b = a.nodeName.toLowerCase();
2330                    return "input" === b && "button" === a.type || "button" === b
2331                },
2332                text: function(a) {
2333                    var b;
2334                    return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || b.toLowerCase() === a.type)
2335                },
2336                first: r(function() {
2337                    return [0]
2338                }),
2339                last: r(function(a, b) {
2340                    return [b - 1]
2341                }),
2342                eq: r(function(a, b, c) {
2343                    return [0 > c ? c + b: c]
2344                }),
2345                even: r(function(a, b) {
2346                    for (var c = 0; b > c; c += 2) a.push(c);
2347                    return a
2348                }),
2349                odd: r(function(a, b) {
2350                    for (var c = 1; b > c; c += 2) a.push(c);
2351                    return a
2352                }),
2353                lt: r(function(a, b, c) {
2354                    for (b = 0 > c ? c + b: c; 0 <= --b;) a.push(b);
2355                    return a
2356                }),
2357                gt: r(function(a, b, c) {
2358                    for (c = 0 > c ? c + b: c; b > ++c;) a.push(c);
2359                    return a
2360                })
2361            }
2362        };
2363        for (K in {
2364            radio: !0,
2365            checkbox: !0,
2366            file: !0,
2367            password: !0,
2368            image: !0
2369        }) t.pseudos[K] = k(K);
2370        for (K in {
2371            submit: !0,
2372            reset: !0
2373        }) t.pseudos[K] = n(K);
2374        Oa = g.compile = function(a, b) {
2375            var c, d = [],
2376            e = [],
2377            f = aa[a + " "];
2378            if (!f) {
2379                b || (b = l(a));
2380                for (c = b.length; c--;) f = x(b[c]),
2381                f[B] ? d.push(f) : e.push(f);
2382                f = aa(a, I(e, d))
2383            }
2384            return f
2385        };
2386        t.pseudos.nth = t.pseudos.eq;
2387        t.filters = E.prototype = t.pseudos;
2388        t.setFilters = new E;
2389        sa();
2390        g.attr = c.attr;
2391        c.find = g;
2392        c.expr = g.selectors;
2393        c.expr[":"] = c.expr.pseudos;
2394        c.unique = g.uniqueSort;
2395        c.text = g.getText;
2396        c.isXMLDoc = g.isXML;
2397        c.contains = g.contains
2398    })(p);
2399    var xc = /Until$/,
2400    yc = /^(?:parents|prev(?:Until|All))/,
2401    Xb = /^.[^:#\[\.,]*$/,
2402    Fb = c.expr.match.needsContext,
2403    zc = {
2404        children: !0,
2405        contents: !0,
2406        next: !0,
2407        prev: !0
2408    };
2409    c.fn.extend({
2410        find: function(a) {
2411            var b, d, e, f = this.length;
2412            if ("string" != typeof a) return e = this,
2413            this.pushStack(c(a).filter(function() {
2414                for (b = 0; f > b; b++) if (c.contains(e[b], this)) return ! 0
2415            }));
2416            d = [];
2417            for (b = 0; f > b; b++) c.find(a, this[b], d);
2418            return d = this.pushStack(1 < f ? c.unique(d) : d),
2419            d.selector = (this.selector ? this.selector + " ": "") + a,
2420            d
2421        },
2422        has: function(a) {
2423            var b, d = c(a, this),
2424            e = d.length;
2425            return this.filter(function() {
2426                for (b = 0; e > b; b++) if (c.contains(this, d[b])) return ! 0
2427            })
2428        },
2429        not: function(a) {
2430            return this.pushStack(bb(this, a, !1))
2431        },
2432        filter: function(a) {
2433            return this.pushStack(bb(this, a, !0))
2434        },
2435        is: function(a) {
2436            return !! a && ("string" == typeof a ? Fb.test(a) ? 0 <= c(a, this.context).index(this[0]) : 0 < c.filter(a, this).length: 0 < this.filter(a).length)
2437        },
2438        closest: function(a, b) {
2439            for (var d, e = 0,
2440            f = this.length,
2441            g = [], h = Fb.test(a) || "string" != typeof a ? c(a, b || this.context) : 0; f > e; e++) for (d = this[e]; d && d.ownerDocument && d !== b && 11 !== d.nodeType;) {
2442                if (h ? -1 < h.index(d) : c.find.matchesSelector(d, a)) {
2443                    g.push(d);
2444                    break
2445                }
2446                d = d.parentNode
2447            }
2448            return this.pushStack(1 < g.length ? c.unique(g) : g)
2449        },
2450        index: function(a) {
2451            return a ? "string" == typeof a ? c.inArray(this[0], c(a)) : c.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.first().prevAll().length: -1
2452        },
2453        add: function(a, b) {
2454            var d = "string" == typeof a ? c(a, b) : c.makeArray(a && a.nodeType ? [a] : a),
2455            d = c.merge(this.get(), d);
2456            return this.pushStack(c.unique(d))
2457        },
2458        addBack: function(a) {
2459            return this.add(null == a ? this.prevObject: this.prevObject.filter(a))
2460        }
2461    });
2462    c.fn.andSelf = c.fn.addBack;
2463    c.each({
2464        parent: function(a) {
2465            return (a = a.parentNode) && 11 !== a.nodeType ? a: null
2466        },
2467        parents: function(a) {
2468            return c.dir(a, "parentNode")
2469        },
2470        parentsUntil: function(a, b, d) {
2471            return c.dir(a, "parentNode", d)
2472        },
2473        next: function(a) {
2474            return ab(a, "nextSibling")
2475        },
2476        prev: function(a) {
2477            return ab(a, "previousSibling")
2478        },
2479        nextAll: function(a) {
2480            return c.dir(a, "nextSibling")
2481        },
2482        prevAll: function(a) {
2483            return c.dir(a, "previousSibling")
2484        },
2485        nextUntil: function(a, b, d) {
2486            return c.dir(a, "nextSibling", d)
2487        },
2488        prevUntil: function(a, b, d) {
2489            return c.dir(a, "previousSibling", d)
2490        },
2491        siblings: function(a) {
2492            return c.sibling((a.parentNode || {}).firstChild, a)
2493        },
2494        children: function(a) {
2495            return c.sibling(a.firstChild)
2496        },
2497        contents: function(a) {
2498            return c.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document: c.merge([], a.childNodes)
2499        }
2500    },
2501    function(a, b) {
2502        c.fn[a] = function(d, e) {
2503            var f = c.map(this, b, d);
2504            return xc.test(a) || (e = d),
2505            e && "string" == typeof e && (f = c.filter(e, f)),
2506            f = 1 < this.length && !zc[a] ? c.unique(f) : f,
2507            1 < this.length && yc.test(a) && (f = f.reverse()),
2508            this.pushStack(f)
2509        }
2510    });
2511    c.extend({
2512        filter: function(a, b, d) {
2513            return d && (a = ":not(" + a + ")"),
2514            1 === b.length ? c.find.matchesSelector(b[0], a) ? [b[0]] : [] : c.find.matches(a, b)
2515        },
2516        dir: function(a, b, d) {
2517            var e = [];
2518            for (a = a[b]; a && 9 !== a.nodeType && (d === l || 1 !== a.nodeType || !c(a).is(d));) 1 === a.nodeType && e.push(a),
2519            a = a[b];
2520            return e
2521        },
2522        sibling: function(a, b) {
2523            for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);
2524            return c
2525        }
2526    });
2527    var db = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
2528    Ac = / jQuery\d+="(?:null|\d+)"/g,
2529    Gb = RegExp("\x3c(?:" + db + ")[\\s/\x3e]", "i"),
2530    Qa = /^\s+/,
2531    Hb = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
2532    Ib = /<([\w:]+)/,
2533    Jb = /<tbody/i,
2534    Bc = /<|&#?\w+;/,
2535    Cc = /<(?:script|style|link)/i,
2536    Ea = /^(?:checkbox|radio)$/i,
2537    Dc = /checked\s*(?:[^=]|=\s*.checked.)/i,
2538    Kb = /^$|\/(?:java|ecma)script/i,
2539    Zb = /^true\/(.*)/,
2540    Ec = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
2541    E = {
2542        option: [1, "\x3cselect multiple\x3d'multiple'\x3e", "\x3c/select\x3e"],
2543        legend: [1, "\x3cfieldset\x3e", "\x3c/fieldset\x3e"],
2544        area: [1, "\x3cmap\x3e", "\x3c/map\x3e"],
2545        param: [1, "\x3cobject\x3e", "\x3c/object\x3e"],
2546        thead: [1, "\x3ctable\x3e", "\x3c/table\x3e"],
2547        tr: [2, "\x3ctable\x3e\x3ctbody\x3e", "\x3c/tbody\x3e\x3c/table\x3e"],
2548        col: [2, "\x3ctable\x3e\x3ctbody\x3e\x3c/tbody\x3e\x3ccolgroup\x3e", "\x3c/colgroup\x3e\x3c/table\x3e"],
2549        td: [3, "\x3ctable\x3e\x3ctbody\x3e\x3ctr\x3e", "\x3c/tr\x3e\x3c/tbody\x3e\x3c/table\x3e"],
2550        _default: c.support.htmlSerialize ? [0, "", ""] : [1, "X\x3cdiv\x3e", "\x3c/div\x3e"]
2551    },
2552    Ra = cb(q).appendChild(q.createElement("div"));
2553    E.optgroup = E.option;
2554    E.tbody = E.tfoot = E.colgroup = E.caption = E.thead;
2555    E.th = E.td;
2556    c.fn.extend({
2557        text: function(a) {
2558            return c.access(this,
2559            function(a) {
2560                return a === l ? c.text(this) : this.empty().append((this[0] && this[0].ownerDocument || q).createTextNode(a))
2561            },
2562            null, a, arguments.length)
2563        },
2564        wrapAll: function(a) {
2565            if (c.isFunction(a)) return this.each(function(b) {
2566                c(this).wrapAll(a.call(this, b))
2567            });
2568            if (this[0]) {
2569                var b = c(a, this[0].ownerDocument).eq(0).clone(!0);
2570                this[0].parentNode && b.insertBefore(this[0]);
2571                b.map(function() {
2572                    for (var a = this; a.firstChild && 1 === a.firstChild.nodeType;) a = a.firstChild;
2573                    return a
2574                }).append(this)
2575            }
2576            return this
2577        },
2578        wrapInner: function(a) {
2579            return c.isFunction(a) ? this.each(function(b) {
2580                c(this).wrapInner(a.call(this, b))
2581            }) : this.each(function() {
2582                var b = c(this),
2583                d = b.contents();
2584                d.length ? d.wrapAll(a) : b.append(a)
2585            })
2586        },
2587        wrap: function(a) {
2588            var b = c.isFunction(a);
2589            return this.each(function(d) {
2590                c(this).wrapAll(b ? a.call(this, d) : a)
2591            })
2592        },
2593        unwrap: function() {
2594            return this.parent().each(function() {
2595                c.nodeName(this, "body") || c(this).replaceWith(this.childNodes)
2596            }).end()
2597        },
2598        append: function() {
2599            return this.domManip(arguments, !0,
2600            function(a) {
2601                1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || this.appendChild(a)
2602            })
2603        },
2604        prepend: function() {
2605            return this.domManip(arguments, !0,
2606            function(a) {
2607                1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || this.insertBefore(a, this.firstChild)
2608            })
2609        },
2610        before: function() {
2611            return this.domManip(arguments, !1,
2612            function(a) {
2613                this.parentNode && this.parentNode.insertBefore(a, this)
2614            })
2615        },
2616        after: function() {
2617            return this.domManip(arguments, !1,
2618            function(a) {
2619                this.parentNode && this.parentNode.insertBefore(a, this.nextSibling)
2620            })
2621        },
2622        remove: function(a, b) {
2623            for (var d, e = 0; null != (d = this[e]); e++)(!a || 0 < c.filter(a, [d]).length) && (b || 1 !== d.nodeType || c.cleanData(x(d)), d.parentNode && (b && c.contains(d.ownerDocument, d) && Da(x(d, "script")), d.parentNode.removeChild(d)));
2624            return this
2625        },
2626        empty: function() {
2627            for (var a, b = 0; null != (a = this[b]); b++) {
2628                for (1 === a.nodeType && c.cleanData(x(a, !1)); a.firstChild;) a.removeChild(a.firstChild);
2629                a.options && c.nodeName(a, "select") && (a.options.length = 0)
2630            }
2631            return this
2632        },
2633        clone: function(a, b) {
2634            return a = null == a ? !1 : a,
2635            b = null == b ? a: b,
2636            this.map(function() {
2637                return c.clone(this, a, b)
2638            })
2639        },
2640        html: function(a) {
2641            return c.access(this,
2642            function(a) {
2643                var b = this[0] || {},
2644                e = 0,
2645                f = this.length;
2646                if (a === l) return 1 === b.nodeType ? b.innerHTML.replace(Ac, "") : l;
2647                if (! ("string" != typeof a || Cc.test(a) || !c.support.htmlSerialize && Gb.test(a) || !c.support.leadingWhitespace && Qa.test(a) || E[(Ib.exec(a) || ["", ""])[1].toLowerCase()])) {
2648                    a = a.replace(Hb, "\x3c$1\x3e\x3c/$2\x3e");
2649                    try {
2650                        for (; f > e; e++) b = this[e] || {},
2651                        1 === b.nodeType && (c.cleanData(x(b, !1)), b.innerHTML = a);
2652                        b = 0
2653                    } catch(g) {}
2654                }
2655                b && this.empty().append(a)
2656            },
2657            null, a, arguments.length)
2658        },
2659        replaceWith: function(a) {
2660            return c.isFunction(a) || "string" == typeof a || (a = c(a).not(this).detach()),
2661            this.domManip([a], !0,
2662            function(a) {
2663                var b = this.nextSibling,
2664                e = this.parentNode;
2665                e && (c(this).remove(), e.insertBefore(a, b))
2666            })
2667        },
2668        detach: function(a) {
2669            return this.remove(a, !0)
2670        },
2671        domManip: function(a, b, d) {
2672            a = xb.apply([], a);
2673            var e, f, g, h, k = 0,
2674            n = this.length,
2675            r = this,
2676            p = n - 1,
2677            m = a[0],
2678            q = c.isFunction(m);
2679            if (q || !(1 >= n || "string" != typeof m || c.support.checkClone) && Dc.test(m)) return this.each(function(c) {
2680                var e = r.eq(c);
2681                q && (a[0] = m.call(this, c, b ? e.html() : l));
2682                e.domManip(a, b, d)
2683            });
2684            if (n && (h = c.buildFragment(a, this[0].ownerDocument, !1, this), e = h.firstChild, 1 === h.childNodes.length && (h = e), e)) {
2685                b = b && c.nodeName(e, "tr");
2686                g = c.map(x(h, "script"), eb);
2687                for (f = g.length; n > k; k++) e = h,
2688                k !== p && (e = c.clone(e, !0, !0), f && c.merge(g, x(e, "script"))),
2689                d.call(b && c.nodeName(this[k], "table") ? Yb(this[k], "tbody") : this[k], e, k);
2690                if (f) for (h = g[g.length - 1].ownerDocument, c.map(g, fb), k = 0; f > k; k++) e = g[k],
2691                Kb.test(e.type || "") && !c._data(e, "globalEval") && c.contains(h, e) && (e.src ? c.ajax({
2692                    url: e.src,
2693                    type: "GET",
2694                    dataType: "script",
2695                    async: !1,
2696                    global: !1,
2697                    "throws": !0
2698                }) : c.globalEval((e.text || e.textContent || e.innerHTML || "").replace(Ec, "")));
2699                h = e = null
2700            }
2701            return this
2702        }
2703    });
2704    c.each({
2705        appendTo: "append",
2706        prependTo: "prepend",
2707        insertBefore: "before",
2708        insertAfter: "after",
2709        replaceAll: "replaceWith"
2710    },
2711    function(a, b) {
2712        c.fn[a] = function(a) {
2713            for (var d = 0,
2714            f = [], g = c(a), h = g.length - 1; h >= d; d++) a = d === h ? this: this.clone(!0),
2715            c(g[d])[b](a),
2716            Ia.apply(f, a.get());
2717            return this.pushStack(f)
2718        }
2719    });
2720    c.extend({
2721        clone: function(a, b, d) {
2722            var e, f, g, h, k, n = c.contains(a.ownerDocument, a);
2723            if (c.support.html5Clone || c.isXMLDoc(a) || !Gb.test("\x3c" + a.nodeName + "\x3e") ? g = a.cloneNode(!0) : (Ra.innerHTML = a.outerHTML, Ra.removeChild(g = Ra.firstChild)), !(c.support.noCloneEvent && c.support.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || c.isXMLDoc(a))) for (e = x(g), k = x(a), h = 0; null != (f = k[h]); ++h) if (e[h]) {
2724                var l = e[h],
2725                p,
2726                m = void 0,
2727                q;
2728                if (1 === l.nodeType) {
2729                    if (p = l.nodeName.toLowerCase(), !c.support.noCloneEvent && l[c.expando]) {
2730                        q = c._data(l);
2731                        for (m in q.events) c.removeEvent(l, m, q.handle);
2732                        l.removeAttribute(c.expando)
2733                    }
2734                    "script" === p && l.text !== f.text ? (eb(l).text = f.text, fb(l)) : "object" === p ? (l.parentNode && (l.outerHTML = f.outerHTML), c.support.html5Clone && f.innerHTML && !c.trim(l.innerHTML) && (l.innerHTML = f.innerHTML)) : "input" === p && Ea.test(f.type) ? (l.defaultChecked = l.checked = f.checked, l.value !== f.value && (l.value = f.value)) : "option" === p ? l.defaultSelected = l.selected = f.defaultSelected: ("input" === p || "textarea" === p) && (l.defaultValue = f.defaultValue)
2735                }
2736            }
2737            if (b) if (d) for (k = k || x(a), e = e || x(g), h = 0; null != (f = k[h]); h++) gb(f, e[h]);
2738            else gb(a, g);
2739            return e = x(g, "script"),
2740            0 < e.length && Da(e, !n && x(a, "script")),
2741            g
2742        },
2743        buildFragment: function(a, b, d, e) {
2744            for (var f, g, h, k, n, l, p, m = a.length,
2745            q = cb(b), w = [], J = 0; m > J; J++) if (g = a[J], g || 0 === g) if ("object" === c.type(g)) c.merge(w, g.nodeType ? [g] : g);
2746            else if (Bc.test(g)) {
2747                k = k || q.appendChild(b.createElement("div"));
2748                n = (Ib.exec(g) || ["", ""])[1].toLowerCase();
2749                p = E[n] || E._default;
2750                k.innerHTML = p[1] + g.replace(Hb, "\x3c$1\x3e\x3c/$2\x3e") + p[2];
2751                for (f = p[0]; f--;) k = k.lastChild;
2752                if (!c.support.leadingWhitespace && Qa.test(g) && w.push(b.createTextNode(Qa.exec(g)[0])), !c.support.tbody) for (f = (g = "table" !== n || Jb.test(g) ? "\x3ctable\x3e" !== p[1] || Jb.test(g) ? 0 : k: k.firstChild) && g.childNodes.length; f--;) c.nodeName(l = g.childNodes[f], "tbody") && !l.childNodes.length && g.removeChild(l);
2753                c.merge(w, k.childNodes);
2754                for (k.textContent = ""; k.firstChild;) k.removeChild(k.firstChild);
2755                k = q.lastChild
2756            } else w.push(b.createTextNode(g));
2757            k && q.removeChild(k);
2758            c.support.appendChecked || c.grep(x(w, "input"), $b);
2759            for (J = 0; g = w[J++];) if ((!e || -1 === c.inArray(g, e)) && (h = c.contains(g.ownerDocument, g), k = x(q.appendChild(g), "script"), h && Da(k), d)) for (f = 0; g = k[f++];) Kb.test(g.type || "") && d.push(g);
2760            return q
2761        },
2762        cleanData: function(a, b) {
2763            for (var d, e, f, g, h = 0,
2764            k = c.expando,
2765            n = c.cache,
2766            l = c.support.deleteExpando,
2767            p = c.event.special; null != (d = a[h]); h++) if ((b || c.acceptData(d)) && (f = d[k], g = f && n[f])) {
2768                if (g.events) for (e in g.events) p[e] ? c.event.remove(d, e) : c.removeEvent(d, e, g.handle);
2769                n[f] && (delete n[f], l ? delete d[k] : typeof d.removeAttribute !== H ? d.removeAttribute(k) : d[k] = null, ca.push(f))
2770            }
2771        }
2772    });
2773    var ma, z, da, Sa = /alpha\([^)]*\)/i,
2774    Fc = /opacity\s*=\s*([^)]*)/,
2775    Gc = /^(top|right|bottom|left)$/,
2776    Hc = /^(none|table(?!-c[ea]).+)/,
2777    Lb = /^margin/,
2778    ac = RegExp("^(" + xa + ")(.*)$", "i"),
2779    oa = RegExp("^(" + xa + ")(?!px)[a-z%]+$", "i"),
2780    Ic = RegExp("^([+-])\x3d(" + xa + ")", "i"),
2781    ob = {
2782        BODY: "block"
2783    },
2784    Jc = {
2785        position: "absolute",
2786        visibility: "hidden",
2787        display: "block"
2788    },
2789    Mb = {
2790        letterSpacing: 0,
2791        fontWeight: 400
2792    },
2793    aa = ["Top", "Right", "Bottom", "Left"],
2794    ib = ["Webkit", "O", "Moz", "ms"];
2795    c.fn.extend({
2796        css: function(a, b) {
2797            return c.access(this,
2798            function(a, b, f) {
2799                var d, e = {},
2800                k = 0;
2801                if (c.isArray(b)) {
2802                    d = z(a);
2803                    for (f = b.length; f > k; k++) e[b[k]] = c.css(a, b[k], !1, d);
2804                    return e
2805                }
2806                return f !== l ? c.style(a, b, f) : c.css(a, b)
2807            },
2808            a, b, 1 < arguments.length)
2809        },
2810        show: function() {
2811            return jb(this, !0)
2812        },
2813        hide: function() {
2814            return jb(this)
2815        },
2816        toggle: function(a) {
2817            var b = "boolean" == typeof a;
2818            return this.each(function() { (b ? a: la(this)) ? c(this).show() : c(this).hide()
2819            })
2820        }
2821    });
2822    c.extend({
2823        cssHooks: {
2824            opacity: {
2825                get: function(a, b) {
2826                    if (b) {
2827                        var c = da(a, "opacity");
2828                        return "" === c ? "1": c
2829                    }
2830                }
2831            }
2832        },
2833        cssNumber: {
2834            columnCount: !0,
2835            fillOpacity: !0,
2836            fontWeight: !0,
2837            lineHeight: !0,
2838            opacity: !0,
2839            orphans: !0,
2840            widows: !0,
2841            zIndex: !0,
2842            zoom: !0
2843        },
2844        cssProps: {
2845            "float": c.support.cssFloat ? "cssFloat": "styleFloat"
2846        },
2847        style: function(a, b, d, e) {
2848            if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) {
vendor: 4,415 bytes, lines 2849-2939
2849                var f, g, h, k = c.camelCase(b),
2850                n = a.style;
2851                if (b = c.cssProps[k] || (c.cssProps[k] = hb(n, k)), h = c.cssHooks[b] || c.cssHooks[k], d === l) return h && "get" in h && (f = h.get(a, !1, e)) !== l ? f: n[b];
2852                if (g = typeof d, "string" === g && (f = Ic.exec(d)) && (d = (f[1] + 1) * f[2] + parseFloat(c.css(a, b)), g = "number"), !(null == d || "number" === g && isNaN(d) || ("number" !== g || c.cssNumber[k] || (d += "px"), c.support.clearCloneStyle || "" !== d || 0 !== b.indexOf("background") || (n[b] = "inherit"), h && "set" in h && (d = h.set(a, d, e)) === l))) try {
2853                    n[b] = d
2854                } catch(r) {}
2855            }
2856        },
2857        css: function(a, b, d, e) {
2858            var f, g, h, k = c.camelCase(b);
2859            return b = c.cssProps[k] || (c.cssProps[k] = hb(a.style, k)),
2860            h = c.cssHooks[b] || c.cssHooks[k],
2861            h && "get" in h && (g = h.get(a, !0, d)),
2862            g === l && (g = da(a, b, e)),
2863            "normal" === g && b in Mb && (g = Mb[b]),
2864            "" === d || d ? (f = parseFloat(g), !0 === d || c.isNumeric(f) ? f || 0 : g) : g
2865        },
2866        swap: function(a, b, c, e) {
2867            var d, g = {};
2868            for (d in b) g[d] = a.style[d],
2869            a.style[d] = b[d];
2870            c = c.apply(a, e || []);
2871            for (d in b) a.style[d] = g[d];
2872            return c
2873        }
2874    });
2875    p.getComputedStyle ? (z = function(a) {
2876        return p.getComputedStyle(a, null)
2877    },
2878    da = function(a, b, d) {
2879        var e, f, g, h = (d = d || z(a)) ? d.getPropertyValue(b) || d[b] : l,
2880        k = a.style;
2881        return d && ("" !== h || c.contains(a.ownerDocument, a) || (h = c.style(a, b)), oa.test(h) && Lb.test(b) && (e = k.width, f = k.minWidth, g = k.maxWidth, k.minWidth = k.maxWidth = k.width = h, h = d.width, k.width = e, k.minWidth = f, k.maxWidth = g)),
2882        h
2883    }) : q.documentElement.currentStyle && (z = function(a) {
2884        return a.currentStyle
2885    },
2886    da = function(a, b, c) {
2887        var d, f, g;
2888        c = (c = c || z(a)) ? c[b] : l;
2889        var h = a.style;
2890        return null == c && h && h[b] && (c = h[b]),
2891        oa.test(c) && !Gc.test(b) && (d = h.left, f = a.runtimeStyle, g = f && f.left, g && (f.left = a.currentStyle.left), h.left = "fontSize" === b ? "1em": c, c = h.pixelLeft + "px", h.left = d, g && (f.left = g)),
2892        "" === c ? "auto": c
2893    });
2894    c.each(["height", "width"],
2895    function(a, b) {
2896        c.cssHooks[b] = {
2897            get: function(a, e, f) {
2898                return e ? 0 === a.offsetWidth && Hc.test(c.css(a, "display")) ? c.swap(a, Jc,
2899                function() {
2900                    return nb(a, b, f)
2901                }) : nb(a, b, f) : l
2902            },
2903            set: function(a, e, f) {
2904                var d = f && z(a);
2905                return lb(a, e, f ? mb(a, b, f, c.support.boxSizing && "border-box" === c.css(a, "boxSizing", !1, d), d) : 0)
2906            }
2907        }
2908    });
2909    c.support.opacity || (c.cssHooks.opacity = {
2910        get: function(a, b) {
2911            return Fc.test((b && a.currentStyle ? a.currentStyle.filter: a.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "": b ? "1": ""
2912        },
2913        set: function(a, b) {
2914            var d = a.style,
2915            e = a.currentStyle,
2916            f = c.isNumeric(b) ? "alpha(opacity\x3d" + 100 * b + ")": "",
2917            g = e && e.filter || d.filter || "";
2918            d.zoom = 1; (1 <= b || "" === b) && "" === c.trim(g.replace(Sa, "")) && d.removeAttribute && (d.removeAttribute("filter"), "" === b || e && !e.filter) || (d.filter = Sa.test(g) ? g.replace(Sa, f) : g + " " + f)
2919        }
2920    });
2921    c(function() {
2922        c.support.reliableMarginRight || (c.cssHooks.marginRight = {
2923            get: function(a, b) {
2924                return b ? c.swap(a, {
2925                    display: "inline-block"
2926                },
2927                da, [a, "marginRight"]) : l
2928            }
2929        }); ! c.support.pixelPosition && c.fn.position && c.each(["top", "left"],
2930        function(a, b) {
2931            c.cssHooks[b] = {
2932                get: function(a, e) {
2933                    return e ? (e = da(a, b), oa.test(e) ? c(a).position()[b] + "px": e) : l
2934                }
2935            }
2936        })
2937    });
2938    c.expr && c.expr.filters && (c.expr.filters.hidden = function(a) {
2939        return 0 >= a.offsetWidth && 0 >
vendor: 13,661 bytes, lines 2939-3262
2939= a.offsetHeight || !c.support.reliableHiddenOffsets && "none" === (a.style && a.style.display || c.css(a, "display"))
2940    },
2941    c.expr.filters.visible = function(a) {
2942        return ! c.expr.filters.hidden(a)
2943    });
2944    c.each({
2945        margin: "",
2946        padding: "",
2947        border: "Width"
2948    },
2949    function(a, b) {
2950        c.cssHooks[a + b] = {
2951            expand: function(c) {
2952                var d = 0,
2953                f = {};
2954                for (c = "string" == typeof c ? c.split(" ") : [c]; 4 > d; d++) f[a + aa[d] + b] = c[d] || c[d - 2] || c[0];
2955                return f
2956            }
2957        };
2958        Lb.test(a) || (c.cssHooks[a + b].set = lb)
2959    });
2960    var Kc = /%20/g,
2961    bc = /\[\]$/,
2962    Nb = /\r?\n/g,
2963    Lc = /^(?:submit|button|image|reset|file)$/i,
2964    Mc = /^(?:input|select|textarea|keygen)/i;
2965    c.fn.extend({
2966        serialize: function() {
2967            return c.param(this.serializeArray())
2968        },
2969        serializeArray: function() {
2970            return this.map(function() {
2971                var a = c.prop(this, "elements");
2972                return a ? c.makeArray(a) : this
2973            }).filter(function() {
2974                var a = this.type;
2975                return this.name && !c(this).is(":disabled") && Mc.test(this.nodeName) && !Lc.test(a) && (this.checked || !Ea.test(a))
2976            }).map(function(a, b) {
2977                var d = c(this).val();
2978                return null == d ? null: c.isArray(d) ? c.map(d,
2979                function(a) {
2980                    return {
2981                        name: b.name,
2982                        value: a.replace(Nb, "\r\n")
2983                    }
2984                }) : {
2985                    name: b.name,
2986                    value: d.replace(Nb, "\r\n")
2987                }
2988            }).get()
2989        }
2990    });
2991    c.param = function(a, b) {
2992        var d, e = [],
2993        f = function(a, b) {
2994            b = c.isFunction(b) ? b() : null == b ? "": b;
2995            e[e.length] = encodeURIComponent(a) + "\x3d" + encodeURIComponent(b)
2996        };
2997        if (b === l && (b = c.ajaxSettings && c.ajaxSettings.traditional), c.isArray(a) || a.jquery && !c.isPlainObject(a)) c.each(a,
2998        function() {
2999            f(this.name, this.value)
3000        });
3001        else for (d in a) Fa(d, a[d], b, f);
3002        return e.join("\x26").replace(Kc, "+")
3003    };
3004    c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),
3005    function(a, b) {
3006        c.fn[b] = function(a, c) {
3007            return 0 < arguments.length ? this.on(b, null, a, c) : this.trigger(b)
3008        }
3009    });
3010    c.fn.hover = function(a, b) {
3011        return this.mouseenter(a).mouseleave(b || a)
3012    };
3013    var X, Y, Ta = c.now(),
3014    Ua = /\?/,
3015    Nc = /#.*$/,
3016    Ob = /([?&])_=[^&]*/,
3017    Oc = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm,
3018    Pc = /^(?:GET|HEAD)$/,
3019    Qc = /^\/\//,
3020    Pb = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
3021    Qb = c.fn.load,
3022    Rb = {},
3023    Ga = {},
3024    Sb = "*/".concat("*");
3025    try {
3026        Y = ec.href
3027    } catch(a) {
3028        Y = q.createElement("a"),
3029        Y.href = "",
3030        Y = Y.href
3031    }
3032    X = Pb.exec(Y.toLowerCase()) || [];
3033    c.fn.load = function(a, b, d) {
3034        if ("string" != typeof a && Qb) return Qb.apply(this, arguments);
3035        var e, f, g, h = this,
3036        k = a.indexOf(" ");
3037        return 0 <= k && (e = a.slice(k, a.length), a = a.slice(0, k)),
3038        c.isFunction(b) ? (d = b, b = l) : b && "object" == typeof b && (g = "POST"),
3039        0 < h.length && c.ajax({
3040            url: a,
3041            type: g,
3042            dataType: "html",
3043            data: b
3044        }).done(function(a) {
3045            f = arguments;
3046            h.html(e ? c("\x3cdiv\x3e").append(c.parseHTML(a)).find(e) : a)
3047        }).complete(d &&
3048        function(a, b) {
3049            h.each(d, f || [a.responseText, b, a])
3050        }),
3051        this
3052    };
3053    c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
3054    function(a, b) {
3055        c.fn[b] = function(a) {
3056            return this.on(b, a)
3057        }
3058    });
3059    c.each(["get", "post"],
3060    function(a, b) {
3061        c[b] = function(a, e, f, g) {
3062            return c.isFunction(e) && (g = g || f, f = e, e = l),
3063            c.ajax({
3064                url: a,
3065                type: b,
3066                dataType: g,
3067                data: e,
3068                success: f
3069            })
3070        }
3071    });
3072    c.extend({
3073        active: 0,
3074        lastModified: {},
3075        etag: {},
3076        ajaxSettings: {
3077            url: Y,
3078            type: "GET",
3079            isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(X[1]),
3080            global: !0,
3081            processData: !0,
3082            async: !0,
3083            contentType: "application/x-www-form-urlencoded; charset\x3dUTF-8",
3084            accepts: {
3085                "*": Sb,
3086                text: "text/plain",
3087                html: "text/html",
3088                xml: "application/xml, text/xml",
3089                json: "application/json, text/javascript"
3090            },
3091            contents: {
3092                xml: /xml/,
3093                html: /html/,
3094                json: /json/
3095            },
3096            responseFields: {
3097                xml: "responseXML",
3098                text: "responseText"
3099            },
3100            converters: {
3101                "* text": p.String,
3102                "text html": !0,
3103                "text json": c.parseJSON,
3104                "text xml": c.parseXML
3105            },
3106            flatOptions: {
3107                url: !0,
3108                context: !0
3109            }
3110        },
3111        ajaxSetup: function(a, b) {
3112            return b ? Ha(Ha(a, c.ajaxSettings), b) : Ha(c.ajaxSettings, a)
3113        },
3114        ajaxPrefilter: qb(Rb),
3115        ajaxTransport: qb(Ga),
3116        ajax: function(a, b) {
3117            function d(a, b, d, e) {
3118                var f, r, q, u, N, C = b;
3119                if (2 !== K) {
3120                    K = 2;
3121                    k && clearTimeout(k);
3122                    p = l;
3123                    h = e || "";
3124                    t.readyState = 0 < a ? 4 : 0;
3125                    if (d) {
3126                        u = m;
3127                        e = t;
3128                        var z, E, A, Q, B = u.contents,
3129                        L = u.dataTypes,
3130                        F = u.responseFields;
3131                        for (Q in F) Q in d && (e[F[Q]] = d[Q]);
3132                        for (;
3133                        "*" === L[0];) L.shift(),
3134                        E === l && (E = u.mimeType || e.getResponseHeader("Content-Type"));
3135                        if (E) for (Q in B) if (B[Q] && B[Q].test(E)) {
3136                            L.unshift(Q);
3137                            break
3138                        }
3139                        if (L[0] in d) A = L[0];
3140                        else {
3141                            for (Q in d) {
3142                                if (!L[0] || u.converters[Q + " " + L[0]]) {
3143                                    A = Q;
3144                                    break
3145                                }
3146                                z || (z = Q)
3147                            }
3148                            A = A || z
3149                        }
3150                        u = A ? (A !== L[0] && L.unshift(A), d[A]) : l
3151                    }
3152                    if (200 <= a && 300 > a || 304 === a) if (m.ifModified && (N = t.getResponseHeader("Last-Modified"), N && (c.lastModified[g] = N), N = t.getResponseHeader("etag"), N && (c.etag[g] = N)), 204 === a) f = !0,
3153                    C = "nocontent";
3154                    else if (304 === a) f = !0,
3155                    C = "notmodified";
3156                    else {
3157                        var M;
3158                        a: {
3159                            d = m;
3160                            f = u;
3161                            var P, G;
3162                            q = {};
3163                            N = 0;
3164                            C = d.dataTypes.slice();
3165                            z = C[0];
3166                            if (d.dataFilter && (f = d.dataFilter(f, d.dataType)), C[1]) for (P in d.converters) q[P.toLowerCase()] = d.converters[P];
3167                            for (; r = C[++N];) if ("*" !== r) {
3168                                if ("*" !== z && z !== r) {
3169                                    if (P = q[z + " " + r] || q["* " + r], !P) for (M in q) if (G = M.split(" "), G[1] === r && (P = q[z + " " + G[0]] || q["* " + G[0]])) { ! 0 === P ? P = q[M] : !0 !== q[M] && (r = G[0], C.splice(N--, 0, r));
3170                                        break
3171                                    }
3172                                    if (!0 !== P) if (P && d["throws"]) f = P(f);
3173                                    else try {
3174                                        f = P(f)
3175                                    } catch(wc) {
3176                                        M = {
3177                                            state: "parsererror",
3178                                            error: P ? wc: "No conversion from " + z + " to " + r
3179                                        };
3180                                        break a
3181                                    }
3182                                }
3183                                z = r
3184                            }
3185                            M = {
3186                                state: "success",
3187                                data: f
3188                            }
3189                        }
3190                        f = M;
3191                        C = f.state;
3192                        r = f.data;
3193                        q = f.error;
3194                        f = !q
3195                    } else q = C,
3196                    (a || !C) && (C = "error", 0 > a && (a = 0));
3197                    t.status = a;
3198                    t.statusText = (b || C) + "";
3199                    f ? J.resolveWith(w, [r, C, t]) : J.rejectWith(w, [t, C, q]);
3200                    t.statusCode(H);
3201                    H = l;
3202                    n && x.trigger(f ? "ajaxSuccess": "ajaxError", [t, m, f ? r: q]);
3203                    I.fireWith(w, [t, C]);
3204                    n && (x.trigger("ajaxComplete", [t, m]), --c.active || c.event.trigger("ajaxStop"))
3205                }
3206            }
3207            "object" == typeof a && (b = a, a = l);
3208            b = b || {};
3209            var e, f, g, h, k, n, p, q, m = c.ajaxSetup({},
3210            b),
3211            w = m.context || m,
3212            x = m.context && (w.nodeType || w.jquery) ? c(w) : c.event,
3213            J = c.Deferred(),
3214            I = c.Callbacks("once memory"),
3215            H = m.statusCode || {},
3216            z = {},
3217            E = {},
3218            K = 0,
3219            A = "canceled",
3220            t = {
3221                readyState: 0,
3222                getResponseHeader: function(a) {
3223                    var b;
3224                    if (2 === K) {
3225                        if (!q) for (q = {}; b = Oc.exec(h);) q[b[1].toLowerCase()] = b[2];
3226                        b = q[a.toLowerCase()]
3227                    }
3228                    return null == b ? null: b
3229                },
3230                getAllResponseHeaders: function() {
3231                    return 2 === K ? h: null
3232                },
3233                setRequestHeader: function(a, b) {
3234                    var c = a.toLowerCase();
3235                    return K || (a = E[c] = E[c] || a, z[a] = b),
3236                    this
3237                },
3238                overrideMimeType: function(a) {
3239                    return K || (m.mimeType = a),
3240                    this
3241                },
3242                statusCode: function(a) {
3243                    var b;
3244                    if (a) if (2 > K) for (b in a) H[b] = [H[b], a[b]];
3245                    else t.always(a[t.status]);
3246                    return this
3247                },
3248                abort: function(a) {
3249                    a = a || A;
3250                    return p && p.abort(a),
3251                    d(0, a),
3252                    this
3253                }
3254            };
3255            if (J.promise(t).complete = I.add, t.success = t.done, t.error = t.fail, m.url = ((a || m.url || Y) + "").replace(Nc, "").replace(Qc, X[1] + "//"), m.type = b.method || b.type || m.method || m.type, m.dataTypes = c.trim(m.dataType || "*").toLowerCase().match(G) || [""], null == m.crossDomain && (e = Pb.exec(m.url.toLowerCase()), m.crossDomain = !(!e || e[1] === X[1] && e[2] === X[2] && (e[3] || ("http:" === e[1] ? 80 : 443)) == (X[3] || ("http:" === X[1] ? 80 : 443)))), m.data && m.processData && "string" != typeof m.data && (m.data = c.param(m.data, m.traditional)), rb(Rb, m, b, t), 2 === K) return t; (n = m.global) && 0 === c.active++&&c.event.trigger("ajaxStart");
3256            m.type = m.type.toUpperCase();
3257            m.hasContent = !Pc.test(m.type);
3258            g = m.url;
3259            m.hasContent || (m.data && (g = m.url += (Ua.test(g) ? "\x26": "?") + m.data, delete m.data), !1 === m.cache && (m.url = Ob.test(g) ? g.replace(Ob, "$1_\x3d" + Ta++) : g + (Ua.test(g) ? "\x26": "?") + "_\x3d" + Ta++));
3260            m.ifModified && (c.lastModified[g] && t.setRequestHeader("If-Modified-Since", c.lastModified[g]), c.etag[g] && t.setRequestHeader("If-None-Match", c.etag[g])); (m.data && m.hasContent && !1 !== m.contentType || b.contentType) && t.setRequestHeader("Content-Type", m.contentType);
3261            t.setRequestHeader("Accept", m.dataTypes[0] && m.accepts[m.dataTypes[0]] ? m.accepts[m.dataTypes[0]] + ("*" !== m.dataTypes[0] ? ", " + Sb + "; q\x3d0.01": "") : m.accepts["*"]);
3262            for (f in m.headers) t.setRequestHeader(f, m.headers[f]);
3263            if (m.beforeSend && (!1 === m.beforeSend.call(w, t, m) || 2 === K)) return t.abort();
3264            A = "abort";
3265            for (f in {
3266                success: 1,
3267                error: 1,
3268                complete: 1
3269            }) t[f](m[f]);
3270            if (p = rb(Ga, m, b, t)) {
3271                t.readyState = 1;
3272                n && x.trigger("ajaxSend", [t, m]);
3273                m.async && 0 < m.timeout && (k = setTimeout(function() {
3274                    t.abort("timeout")
3275                },
3276                m.timeout));
3277                try {
3278                    K = 1,
3279                    p.send(z, d)
3280                } catch(N) {
3281                    if (! (2 > K)) throw N;
3282                    d( - 1, N)
3283                }
3284            } else d( - 1, "No Transport");
3285            return t
3286        },
3287        getScript: function(a, b) {
3288            return c.get(a, l, b, "script")
3289        },
3290        getJSON: function(a, b, d) {
3291            return c.get(a, b, d, "json")
3292        }
3293    });
3294    c.ajaxSetup({
3295        accepts: {
3296            script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
3297        },
3298        contents: {
3299            script: /(?:java|ecma)script/
3300        },
3301        converters: {
3302            "text script": function(a) {
3303                return c.globalEval(a),
3304                a
3305            }
3306        }
3307    });
3308    c.ajaxPrefilter("script",
3309    function(a) {
3310        a.cache === l && (a.cache = !1);
3311        a.crossDomain && (a.type = "GET", a.global = !1)
3312    });
3313    c.ajaxTransport("script",
3314    function(a) {
3315        if (a.crossDomain) {
3316            var b, d = q.head || c("head")[0] || q.documentElement;
3317            return {
3318                send: function(c, f) {
3319                    b = q.createElement("script");
3320                    b.async = !0;
3321                    a.scriptCharset && (b.charset = a.scriptCharset);
3322                    b.src = a.url;
3323                    b.onload = b.onreadystatechange = function(a, c) { (c || !b.readyState || /loaded|complete/.test(b.readyState)) && (b.onload = b.onreadystatechange = null, b.parentNode && b.parentNode.removeChild(b), b = null, c || f(200, "success"))
3324                    };
3325                    d.insertBefore(b, d.firstChild)
3326                },
3327                abort: function() {
3328                    b && b.onload(l, !0)
3329                }
3330            }
3331        }
3332    });
3333    var Tb = [],
3334    Va = /(=)\?(?=&|$)|\?\?/;
3335    c.ajaxSetup({
3336        jsonp: "callback",
3337        jsonpCallback: function() {
3338            var a = Tb.pop() || c.expando + "_" + Ta++;
3339            return this[a] = !0,
3340            a
3341        }
3342    });
3343    c.ajaxPrefilter("json jsonp",
3344    function(a, b, d) {
3345        var e, f, g, h = !1 !== a.jsonp && (Va.test(a.url) ? "url": "string" == typeof a.data && !(a.contentType || "").indexOf("application/x-www-form-urlencoded") && Va.test(a.data) && "data");
3346        return h || "jsonp" === a.dataTypes[0] ? (e = a.jsonpCallback = c.isFunction(a.jsonpCallback) ? a.jsonpCallback() : a.jsonpCallback, h ? a[h] = a[h].replace(Va, "$1" + e) : !1 !== a.jsonp && (a.url += (Ua.test(a.url) ? "\x26": "?") + a.jsonp + "\x3d" + e), a.converters["script json"] = function() {
3347            return g || c.error(e + " was not called"),
3348            g[0]
3349        },
3350        a.dataTypes[0] = "json", f = p[e], p[e] = function() {
3351            g = arguments
3352        },
3353        d.always(function() {
3354            p[e] = f;
3355            a[e] && (a.jsonpCallback = b.jsonpCallback, Tb.push(e));
3356            g && c.isFunction(f) && f(g[0]);
3357            g = f = l
3358        }), "script") : l
3359    });
3360    var ka, ga, Rc = 0,
3361    Wa = p.ActiveXObject &&
3362    function() {
3363        for (var a in ka) ka[a](l, !0)
3364    };
3365    c.ajaxSettings.xhr = p.ActiveXObject ?
3366    function() {
3367        var a;
3368        if (! (a = !this.isLocal && sb())) a: {
3369            try {
3370                a = new p.ActiveXObject("Microsoft.XMLHTTP");
3371                break a
3372            } catch(b) {}
3373            a = void 0
3374        }
3375        return a
3376    }: sb;
3377    ga = c.ajaxSettings.xhr();
3378    c.support.cors = !!ga && "withCredentials" in ga; (ga = c.support.ajax = !!ga) && c.ajaxTransport(function(a) {
3379        if (!a.crossDomain || c.support.cors) {
3380            var b;
3381            return {
3382                send: function(d, e) {
3383                    var f, g, h = a.xhr();
3384                    if (a.username ? h.open(a.type, a.url, a.async, a.username, a.password) : h.open(a.type, a.url, a.async), a.xhrFields) for (g in a.xhrFields) h[g] = a.xhrFields[g];
3385                    a.mimeType && h.overrideMimeType && h.overrideMimeType(a.mimeType);
3386                    a.crossDomain || d["X-Requested-With"] || (d["X-Requested-With"] = "XMLHttpRequest");
3387                    try {
3388                        for (g in d) h.setRequestHeader(g, d[g])
3389                    } catch(k) {}
3390                    h.send(a.hasContent && a.data || null);
3391                    b = function(d, g) {
3392                        var k, n, m, p;
3393                        try {
3394                            if (b && (g || 4 === h.readyState)) if (b = l, f && (h.onreadystatechange = c.noop, Wa && delete ka[f]), g) 4 !== h.readyState && h.abort();
3395                            else {
3396                                p = {};
3397                                k = h.status;
3398                                n = h.getAllResponseHeaders();
3399                                "string" == typeof h.responseText && (p.text = h.responseText);
3400                                try {
3401                                    m = h.statusText
3402                                } catch(ya) {
3403                                    m = ""
3404                                }
3405                                k || !a.isLocal || a.crossDomain ? 1223 === k && (k = 204) : k = p.text ? 200 : 404
3406                            }
3407                        } catch(ya) {
3408                            g || e( - 1, ya)
3409                        }
3410                        p && e(k, m, p, n)
3411                    };
3412                    a.async ? 4 === h.readyState ? setTimeout(b) : (f = ++Rc, Wa && (ka || (ka = {},
3413                    c(p).unload(Wa)), ka[f] = b), h.onreadystatechange = b) : b()
3414                },
3415                abort: function() {
3416                    b && b(l, !0)
3417                }
3418            }
3419        }
3420    });
3421    var T, Ba, Sc = /^(?:toggle|show|hide)$/,
vendor: 13,280 bytes, lines 3422-3770
3422    Tc = RegExp("^(?:([+-])\x3d|)(" + xa + ")([a-z%]*)$", "i"),
3423    Uc = /queueHooks$/,
3424    pa = [function(a, b, d) {
3425        var e, f, g, h, k, l, p = this,
3426        q = a.style,
3427        m = {},
3428        w = [],
3429        x = a.nodeType && la(a);
3430        d.queue || (k = c._queueHooks(a, "fx"), null == k.unqueued && (k.unqueued = 0, l = k.empty.fire, k.empty.fire = function() {
3431            k.unqueued || l()
3432        }), k.unqueued++, p.always(function() {
3433            p.always(function() {
3434                k.unqueued--;
3435                c.queue(a, "fx").length || k.empty.fire()
3436            })
3437        }));
3438        1 === a.nodeType && ("height" in b || "width" in b) && (d.overflow = [q.overflow, q.overflowX, q.overflowY], "inline" === c.css(a, "display") && "none" === c.css(a, "float") && (c.support.inlineBlockNeedsLayout && "inline" !== kb(a.nodeName) ? q.zoom = 1 : q.display = "inline-block"));
3439        d.overflow && (q.overflow = "hidden", c.support.shrinkWrapBlocks || p.always(function() {
3440            q.overflow = d.overflow[0];
3441            q.overflowX = d.overflow[1];
3442            q.overflowY = d.overflow[2]
3443        }));
3444        for (f in b)(g = b[f], Sc.exec(g)) && (delete b[f], e = e || "toggle" === g, g !== (x ? "hide": "show")) && w.push(f);
3445        if (b = w.length) for (g = c._data(a, "fxshow") || c._data(a, "fxshow", {}), ("hidden" in g) && (x = g.hidden), e && (g.hidden = !x), x ? c(a).show() : p.done(function() {
3446            c(a).hide()
3447        }), p.done(function() {
3448            var b;
3449            c._removeData(a, "fxshow");
3450            for (b in m) c.style(a, b, m[b])
3451        }), f = 0; b > f; f++) e = w[f],
3452        h = p.createTween(e, x ? g[e] : 0),
3453        m[e] = g[e] || c.style(a, e),
3454        e in g || (g[e] = h.start, x && (h.end = h.start, h.start = "width" === e || "height" === e ? 1 : 0))
3455    }],
3456    ba = {
3457        "*": [function(a, b) {
3458            var d, e, f = this.createTween(a, b),
3459            g = Tc.exec(b),
3460            h = f.cur(),
3461            k = +h || 0,
3462            l = 1,
3463            p = 20;
3464            if (g) {
3465                if (d = +g[2], e = g[3] || (c.cssNumber[a] ? "": "px"), "px" !== e && k) {
3466                    k = c.css(f.elem, a, !0) || d || 1;
3467                    do l = l || ".5",
3468                    k /= l,
3469                    c.style(f.elem, a, k + e);
3470                    while (l !== (l = f.cur() / h) && 1 !== l && --p)
3471                }
3472                f.unit = e;
3473                f.start = k;
3474                f.end = g[1] ? k + (g[1] + 1) * d: d
3475            }
3476            return f
3477        }]
3478    };
3479    c.Animation = c.extend(ub, {
3480        tweener: function(a, b) {
3481            c.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" ");
3482            for (var d, e = 0,
3483            f = a.length; f > e; e++) d = a[e],
3484            ba[d] = ba[d] || [],
3485            ba[d].unshift(b)
3486        },
3487        prefilter: function(a, b) {
3488            b ? pa.unshift(a) : pa.push(a)
3489        }
3490    });
3491    c.Tween = I;
3492    I.prototype = {
3493        constructor: I,
3494        init: function(a, b, d, e, f, g) {
3495            this.elem = a;
3496            this.prop = d;
3497            this.easing = f || "swing";
3498            this.options = b;
3499            this.start = this.now = this.cur();
3500            this.end = e;
3501            this.unit = g || (c.cssNumber[d] ? "": "px")
3502        },
3503        cur: function() {
3504            var a = I.propHooks[this.prop];
3505            return a && a.get ? a.get(this) : I.propHooks._default.get(this)
3506        },
3507        run: function(a) {
3508            var b, d = I.propHooks[this.prop];
3509            return this.pos = b = this.options.duration ? c.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : a,
3510            this.now = (this.end - this.start) * b + this.start,
3511            this.options.step && this.options.step.call(this.elem, this.now, this),
3512            d && d.set ? d.set(this) : I.propHooks._default.set(this),
3513            this
3514        }
3515    };
3516    I.prototype.init.prototype = I.prototype;
3517    I.propHooks = {
3518        _default: {
3519            get: function(a) {
3520                var b;
3521                return null == a.elem[a.prop] || a.elem.style && null != a.elem.style[a.prop] ? (b = c.css(a.elem, a.prop, ""), b && "auto" !== b ? b: 0) : a.elem[a.prop]
3522            },
3523            set: function(a) {
3524                c.fx.step[a.prop] ? c.fx.step[a.prop](a) : a.elem.style && (null != a.elem.style[c.cssProps[a.prop]] || c.cssHooks[a.prop]) ? c.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
3525            }
3526        }
3527    };
3528    I.propHooks.scrollTop = I.propHooks.scrollLeft = {
3529        set: function(a) {
3530            a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
3531        }
3532    };
3533    c.each(["toggle", "show", "hide"],
3534    function(a, b) {
3535        var d = c.fn[b];
3536        c.fn[b] = function(a, c, g) {
3537            return null == a || "boolean" == typeof a ? d.apply(this, arguments) : this.animate(qa(b, !0), a, c, g)
3538        }
3539    });
3540    c.fn.extend({
3541        fadeTo: function(a, b, c, e) {
3542            return this.filter(la).css("opacity", 0).show().end().animate({
3543                opacity: b
3544            },
3545            a, c, e)
3546        },
3547        animate: function(a, b, d, e) {
3548            var f = c.isEmptyObject(a),
3549            g = c.speed(b, d, e),
3550            h = function() {
3551                var b = ub(this, c.extend({},
3552                a), g);
3553                h.finish = function() {
3554                    b.stop(!0)
3555                }; (f || c._data(this, "finish")) && b.stop(!0)
3556            };
3557            return h.finish = h,
3558            f || !1 === g.queue ? this.each(h) : this.queue(g.queue, h)
3559        },
3560        stop: function(a, b, d) {
3561            var e = function(a) {
3562                var b = a.stop;
3563                delete a.stop;
3564                b(d)
3565            };
3566            return "string" != typeof a && (d = b, b = a, a = l),
3567            b && !1 !== a && this.queue(a || "fx", []),
3568            this.each(function() {
3569                var b = !0,
3570                g = null != a && a + "queueHooks",
3571                h = c.timers,
3572                k = c._data(this);
3573                if (g) k[g] && k[g].stop && e(k[g]);
3574                else for (g in k) k[g] && k[g].stop && Uc.test(g) && e(k[g]);
3575                for (g = h.length; g--;) h[g].elem !== this || null != a && h[g].queue !== a || (h[g].anim.stop(d), b = !1, h.splice(g, 1)); ! b && d || c.dequeue(this, a)
3576            })
3577        },
3578        finish: function(a) {
3579            return ! 1 !== a && (a = a || "fx"),
3580            this.each(function() {
3581                var b, d = c._data(this),
3582                e = d[a + "queue"];
3583                b = d[a + "queueHooks"];
3584                var f = c.timers,
3585                g = e ? e.length: 0;
3586                d.finish = !0;
3587                c.queue(this, a, []);
3588                b && b.cur && b.cur.finish && b.cur.finish.call(this);
3589                for (b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1));
3590                for (b = 0; g > b; b++) e[b] && e[b].finish && e[b].finish.call(this);
3591                delete d.finish
3592            })
3593        }
3594    });
3595    c.each({
3596        slideDown: qa("show"),
3597        slideUp: qa("hide"),
3598        slideToggle: qa("toggle"),
3599        fadeIn: {
3600            opacity: "show"
3601        },
3602        fadeOut: {
3603            opacity: "hide"
3604        },
3605        fadeToggle: {
3606            opacity: "toggle"
3607        }
3608    },
3609    function(a, b) {
3610        c.fn[a] = function(a, c, f) {
3611            return this.animate(b, a, c, f)
3612        }
3613    });
3614    c.speed = function(a, b, d) {
3615        var e = a && "object" == typeof a ? c.extend({},
3616        a) : {
3617            complete: d || !d && b || c.isFunction(a) && a,
3618            duration: a,
3619            easing: d && b || b && !c.isFunction(b) && b
3620        };
3621        return e.duration = c.fx.off ? 0 : "number" == typeof e.duration ? e.duration: e.duration in c.fx.speeds ? c.fx.speeds[e.duration] : c.fx.speeds._default,
3622        (null == e.queue || !0 === e.queue) && (e.queue = "fx"),
3623        e.old = e.complete,
3624        e.complete = function() {
3625            c.isFunction(e.old) && e.old.call(this);
3626            e.queue && c.dequeue(this, e.queue)
3627        },
3628        e
3629    };
3630    c.easing = {
3631        linear: function(a) {
3632            return a
3633        },
3634        swing: function(a) {
3635            return.5 - Math.cos(a * Math.PI) / 2
3636        }
3637    };
3638    c.timers = [];
3639    c.fx = I.prototype.init;
3640    c.fx.tick = function() {
3641        var a, b = c.timers,
3642        d = 0;
3643        for (T = c.now(); b.length > d; d++) a = b[d],
3644        a() || b[d] !== a || b.splice(d--, 1);
3645        b.length || c.fx.stop();
3646        T = l
3647    };
3648    c.fx.timer = function(a) {
3649        a() && c.timers.push(a) && c.fx.start()
3650    };
3651    c.fx.interval = 13;
3652    c.fx.start = function() {
3653        Ba || (Ba = setInterval(c.fx.tick, c.fx.interval))
3654    };
3655    c.fx.stop = function() {
3656        clearInterval(Ba);
3657        Ba = null
3658    };
3659    c.fx.speeds = {
3660        slow: 600,
3661        fast: 200,
3662        _default: 400
3663    };
3664    c.fx.step = {};
3665    c.expr && c.expr.filters && (c.expr.filters.animated = function(a) {
3666        return c.grep(c.timers,
3667        function(b) {
3668            return a === b.elem
3669        }).length
3670    });
3671    c.fn.offset = function(a) {
3672        if (arguments.length) return a === l ? this: this.each(function(b) {
3673            c.offset.setOffset(this, a, b)
3674        });
3675        var b, d, e = {
3676            top: 0,
3677            left: 0
3678        },
3679        f = this[0],
3680        g = f && f.ownerDocument;
3681        if (g) return b = g.documentElement,
3682        c.contains(b, f) ? (typeof f.getBoundingClientRect !== H && (e = f.getBoundingClientRect()), d = vb(g), {
3683            top: e.top + (d.pageYOffset || b.scrollTop) - (b.clientTop || 0),
3684            left: e.left + (d.pageXOffset || b.scrollLeft) - (b.clientLeft || 0)
3685        }) : e
3686    };
3687    c.offset = {
3688        setOffset: function(a, b, d) {
3689            var e = c.css(a, "position");
3690            "static" === e && (a.style.position = "relative");
3691            var f = c(a),
3692            g = f.offset(),
3693            h = c.css(a, "top"),
3694            k = c.css(a, "left"),
3695            l = {},
3696            p = {},
3697            q,
3698            m; ("absolute" === e || "fixed" === e) && -1 < c.inArray("auto", [h, k]) ? (p = f.position(), q = p.top, m = p.left) : (q = parseFloat(h) || 0, m = parseFloat(k) || 0);
3699            c.isFunction(b) && (b = b.call(a, d, g));
3700            null != b.top && (l.top = b.top - g.top + q);
3701            null != b.left && (l.left = b.left - g.left + m);
3702            "using" in b ? b.using.call(a, l) : f.css(l)
3703        }
3704    };
3705    c.fn.extend({
3706        position: function() {
3707            if (this[0]) {
3708                var a, b, d = {
3709                    top: 0,
3710                    left: 0
3711                },
3712                e = this[0];
3713                return "fixed" === c.css(e, "position") ? b = e.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), c.nodeName(a[0], "html") || (d = a.offset()), d.top += c.css(a[0], "borderTopWidth", !0), d.left += c.css(a[0], "borderLeftWidth", !0)),
3714                {
3715                    top: b.top - d.top - c.css(e, "marginTop", !0),
3716                    left: b.left - d.left - c.css(e, "marginLeft", !0)
3717                }
3718            }
3719        },
3720        offsetParent: function() {
3721            return this.map(function() {
3722                for (var a = this.offsetParent || q.documentElement; a && !c.nodeName(a, "html") && "static" === c.css(a, "position");) a = a.offsetParent;
3723                return a || q.documentElement
3724            })
3725        }
3726    });
3727    c.each({
3728        scrollLeft: "pageXOffset",
3729        scrollTop: "pageYOffset"
3730    },
3731    function(a, b) {
3732        var d = /Y/.test(b);
3733        c.fn[a] = function(e) {
3734            return c.access(this,
3735            function(a, e, h) {
3736                var f = vb(a);
3737                return h === l ? f ? b in f ? f[b] : f.document.documentElement[e] : a[e] : (f ? f.scrollTo(d ? c(f).scrollLeft() : h, d ? h: c(f).scrollTop()) : a[e] = h, l)
3738            },
3739            a, e, arguments.length, null)
3740        }
3741    });
3742    c.each({
3743        Height: "height",
3744        Width: "width"
3745    },
3746    function(a, b) {
3747        c.each({
3748            padding: "inner" + a,
3749            content: b,
3750            "": "outer" + a
3751        },
3752        function(d, e) {
3753            c.fn[e] = function(e, g) {
3754                var f = arguments.length && (d || "boolean" != typeof e),
3755                k = d || (!0 === e || !0 === g ? "margin": "border");
3756                return c.access(this,
3757                function(b, d, e) {
3758                    var f;
3759                    return c.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (f = b.documentElement, Math.max(b.body["scroll" + a], f["scroll" + a], b.body["offset" + a], f["offset" + a], f["client" + a])) : e === l ? c.css(b, d, k) : c.style(b, d, e, k)
3760                },
3761                b, f ? e: l, f, null)
3762            }
3763        })
3764    });
3765    p.jQuery = p.$ = c;
3766    "function" == typeof define && define.amd && define.amd.jQuery && define("jquery", [],
3767    function() {
3768        return c
3769    })
3770})(window);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.