/*! jquery v1.8.3 jquery.com | jquery.org/license */
(function(e, t) {
function _(e) {
var t = m[e] = {};
return v.each(e.split(y), function(e, n) {
t[n] = !0
}),
t
}
function h(e, n, r) {
if (r === t && e.nodetype === 1) {
var i = "data-" + n.replace(p, "-$1").tolowercase();
r = e.getattribute(i);
if (typeof r == "string") {
try {
r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null : +r + "" === r ? +r : d.test(r) ? v.parsejson(r) : r
} catch (s) {}
v.data(e, n, r)
} else
r = t
}
return r
}
function b(e) {
var t;
for (t in e) {
if (t === "data" && v.isemptyobject(e[t]))
continue;
if (t !== "tojson")
return !1
}
return !0
}
function et() {
return !1
}
function tt() {
return !0
}
function ut(e) {
return !e || !e.parentnode || e.parentnode.nodetype === 11
}
function at(e, t) {
do
e = e[t];
while (e && e.nodetype !== 1);
return e
}
function ft(e, t, n) {
t = t || 0;
if (v.isfunction(t))
return v.grep(e, function(e, r) {
var i = !!t.call(e, r, e);
return i === n
});
if (t.nodetype)
return v.grep(e, function(e, r) {
return e === t === n
});
if (typeof t == "string") {
var r = v.grep(e, function(e) {
return e.nodetype === 1
});
if (it.test(t))
return v.filter(t, r, !n);
t = v.filter(t, r)
}
return v.grep(e, function(e, r) {
return v.inarray(e, t) >= 0 === n
})
}
function lt(e) {
var t = ct.split("|")
, n = e.createdocumentfragment();
if (n.createelement)
while (t.length)
n.createelement(t.pop());
return n
}
function lt(e, t) {
return e.getelementsbytagname(t)[0] || e.appendchild(e.ownerdocument.createelement(t))
}
function at(e, t) {
if (t.nodetype !== 1 || !v.hasdata(e))
return;
var n, r, i, s = v._data(e), o = v._data(t, s), u = s.events;
if (u) {
delete o.handle,
o.events = {};
for (n in u)
for (r = 0,
i = u[n].length; r < i; r++)
v.event.add(t, n, u[n][r])
}
o.data && (o.data = v.extend({}, o.data))
}
function ot(e, t) {
var n;
if (t.nodetype !== 1)
return;
t.clearattributes && t.clearattributes(),
t.mergeattributes && t.mergeattributes(e),
n = t.nodename.tolowercase(),
n === "object" ? (t.parentnode && (t.outerhtml = e.outerhtml),
v.support.html5clone && e.innerhtml && !v.trim(t.innerhtml) && (t.innerhtml = e.innerhtml)) : n === "input" && et.test(e.type) ? (t.defaultchecked = t.checked = e.checked,
t.value !== e.value && (t.value = e.value)) : n === "option" ? t.selected = e.defaultselected : n === "input" || n === "textarea" ? t.defaultvalue = e.defaultvalue : n === "script" && t.text !== e.text && (t.text = e.text),
t.removeattribute(v.expando)
}
function mt(e) {
return typeof e.getelementsbytagname != "undefined" ? e.getelementsbytagname("*") : typeof e.queryselectorall != "undefined" ? e.queryselectorall("*") : []
}
function _t(e) {
et.test(e.type) && (e.defaultchecked = e.checked)
}
function qt(e, t) {
if (t in e)
return t;
var n = t.charat(0).touppercase() + t.slice(1)
, r = t
, i = jt.length;
while (i--) {
t = jt[i] + n;
if (t in e)
return t
}
return r
}
function gt(e, t) {
return e = t || e,
v.css(e, "display") === "none" || !v.contains(e.ownerdocument, e)
}
function yt(e, t) {
var n, r, i = [], s = 0, o = e.length;
for (; s < o; s++) {
n = e[s];
if (!n.style)
continue;
i[s] = v._data(n, "olddisplay"),
t ? (!i[s] && n.style.display === "none" && (n.style.display = ""),
n.style.display === "" && gt(n) && (i[s] = v._data(n, "olddisplay", nn(n.nodename)))) : (r = dt(n, "display"),
!i[s] && r !== "none" && v._data(n, "olddisplay", r))
}
for (s = 0; s < o; s++) {
n = e[s];
if (!n.style)
continue;
if (!t || n.style.display === "none" || n.style.display === "")
n.style.display = t ? i[s] || "" : "none"
}
return e
}
function zt(e, t, n) {
var r = rt.exec(t);
return r ? math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
}
function en(e, t, n, r) {
var i = n === (r ? "border" : "content") ? 4 : t === "width" ? 1 : 0
, s = 0;
for (; i < 4; i += 2)
n === "margin" && (s += v.css(e, n + $t[i], !0)),
r ? (n === "content" && (s -= parsefloat(dt(e, "padding" + $t[i])) || 0),
n !== "margin" && (s -= parsefloat(dt(e, "border" + $t[i] + "width")) || 0)) : (s += parsefloat(dt(e, "padding" + $t[i])) || 0,
n !== "padding" && (s += parsefloat(dt(e, "border" + $t[i] + "width")) || 0));
return s
}
function tn(e, t, n) {
var r = t === "width" ? e.offsetwidth : e.offsetheight
, i = !0
, s = v.support.boxsizing && v.css(e, "boxsizing") === "border-box";
if (r <= 0 || r == null) {
r = dt(e, t);
if (r < 0 || r == null)
r = e.style[t];
if (ut.test(r))
return r;
i = s && (v.support.boxsizingreliable || r === e.style[t]),
r = parsefloat(r) || 0
}
return r + en(e, t, n || (s ? "border" : "content"), i) + "px"
}
function nn(e) {
if (wt[e])
return wt[e];
var t = v("<" + e + ">").appendto(i.body)
, n = t.css("display");
t.remove();
if (n === "none" || n === "") {
pt = i.body.appendchild(pt || v.extend(i.createelement("iframe"), {
frameborder: 0,
width: 0,
height: 0
}));
if (!ht || !pt.createelement)
ht = (pt.contentwindow || pt.contentdocument).document,
ht.write("
"),
ht.close();
t = ht.body.appendchild(ht.createelement(e)),
n = dt(t, "display"),
i.body.removechild(pt)
}
return wt[e] = n,
n
}
function fn(e, t, n, r) {
var i;
if (v.isarray(t))
v.each(t, function(t, i) {
n || sn.test(e) ? r(e, i) : fn(e + "[" + (typeof i == "object" ? t : "") + "]", i, n, r)
});
else if (!n && v.type(t) === "object")
for (i in t)
fn(e + "[" + i + "]", t[i], n, r);
else
r(e, t)
}
function cn(e) {
return function(t, n) {
typeof t != "string" && (n = t,
t = "*");
var r, i, s, o = t.tolowercase().split(y), u = 0, a = o.length;
if (v.isfunction(n))
for (; u < a; u++)
r = o[u],
s = /^\+/.test(r),
s && (r = r.substr(1) || "*"),
i = e[r] = e[r] || [],
i[s ? "unshift" : "push"](n)
}
}
function kn(e, n, r, i, s, o) {
s = s || n.datatypes[0],
o = o || {},
o[s] = !0;
var u, a = e[s], f = 0, l = a ? a.length : 0, c = e === sn;
for (; f < l && (c || !u); f++)
u = a[f](n, r, i),
typeof u == "string" && (!c || o[u] ? u = t : (n.datatypes.unshift(u),
u = kn(e, n, r, i, u, o)));
return (c || !u) && !o["*"] && (u = kn(e, n, r, i, "*", o)),
u
}
function ln(e, n) {
var r, i, s = v.ajaxsettings.flatoptions || {};
for (r in n)
n[r] !== t && ((s[r] ? e : i || (i = {}))[r] = n[r]);
i && v.extend(!0, e, i)
}
function an(e, n, r) {
var i, s, o, u, a = e.contents, f = e.datatypes, l = e.responsefields;
for (s in l)
s in r && (n[l[s]] = r[s]);
while (f[0] === "*")
f.shift(),
i === t && (i = e.mimetype || n.getresponseheader("content-type"));
if (i)
for (s in a)
if (a[s] && a[s].test(i)) {
f.unshift(s);
break
}
if (f[0]in r)
o = f[0];
else {
for (s in r) {
if (!f[0] || e.converters[s + " " + f[0]]) {
o = s;
break
}
u || (u = s)
}
o = o || u
}
if (o)
return o !== f[0] && f.unshift(o),
r[o]
}
function on(e, t) {
var n, r, i, s, o = e.datatypes.slice(), u = o[0], a = {}, f = 0;
e.datafilter && (t = e.datafilter(t, e.datatype));
if (o[1])
for (n in e.converters)
a[n.tolowercase()] = e.converters[n];
for (; i = o[++f]; )
if (i !== "*") {
if (u !== "*" && u !== i) {
n = a[u + " " + i] || a["* " + i];
if (!n)
for (r in a) {
s = r.split(" ");
if (s[1] === i) {
n = a[u + " " + s[0]] || a["* " + s[0]];
if (n) {
n === !0 ? n = a[r] : a[r] !== !0 && (i = s[0],
o.splice(f--, 0, i));
break
}
}
}
if (n !== !0)
if (n && e["throws"])
t = n(t);
else
try {
t = n(t)
} catch (l) {
return {
state: "parsererror",
error: n ? l : "no conversion from " + u + " to " + i
}
}
}
u = i
}
return {
state: "success",
data: t
}
}
function fn() {
try {
return new e.xmlhttprequest
} catch (t) {}
}
function in() {
try {
return new e.activexobject("microsoft.xmlhttp")
} catch (t) {}
}
function $n() {
return settimeout(function() {
qn = t
}, 0),
qn = v.now()
}
function jn(e, t) {
v.each(t, function(t, n) {
var r = (vn[t] || []).concat(vn["*"])
, i = 0
, s = r.length;
for (; i < s; i++)
if (r[i].call(e, t, n))
return
})
}
function kn(e, t, n) {
var r, i = 0, s = 0, o = xn.length, u = v.deferred().always(function() {
delete a.elem
}), a = function() {
var t = qn || $n()
, n = math.max(0, f.starttime + f.duration - t)
, r = n / f.duration || 0
, i = 1 - r
, s = 0
, o = f.tweens.length;
for (; s < o; s++)
f.tweens[s].run(i);
return u.notifywith(e, [f, i, n]),
i < 1 && o ? n : (u.resolvewith(e, [f]),
!1)
}, f = u.promise({
elem: e,
props: v.extend({}, t),
opts: v.extend(!0, {
specialeasing: {}
}, n),
originalproperties: t,
originaloptions: n,
starttime: qn || $n(),
duration: n.duration,
tweens: [],
createtween: function(t, n, r) {
var i = v.tween(e, f.opts, t, n, f.opts.specialeasing[t] || f.opts.easing);
return f.tweens.push(i),
i
},
stop: function(t) {
var n = 0
, r = t ? f.tweens.length : 0;
for (; n < r; n++)
f.tweens[n].run(1);
return t ? u.resolvewith(e, [f, t]) : u.rejectwith(e, [f, t]),
this
}
}), l = f.props;
qn(l, f.opts.specialeasing);
for (; i < o; i++) {
r = xn[i].call(f, e, l, f.opts);
if (r)
return r
}
return jn(f, l),
v.isfunction(f.opts.start) && f.opts.start.call(e, f),
v.fx.timer(v.extend(a, {
anim: f,
queue: f.opts.queue,
elem: e
})),
f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always)
}
function qn(e, t) {
var n, r, i, s, o;
for (n in e) {
r = v.camelcase(n),
i = t[r],
s = e[n],
v.isarray(s) && (i = s[1],
s = e[n] = s[0]),
n !== r && (e[r] = s,
delete e[n]),
o = v.csshooks[r];
if (o && "expand"in o) {
s = o.expand(s),
delete e[r];
for (n in s)
n in e || (e[n] = s[n],
t[n] = i)
} else
t[r] = i
}
}
function gn(e, t, n) {
var r, i, s, o, u, a, f, l, c, h = this, p = e.style, d = {}, m = [], g = e.nodetype && gt(e);
n.queue || (l = v._queuehooks(e, "fx"),
l.unqueued == null && (l.unqueued = 0,
c = l.empty.fire,
l.empty.fire = function() {
l.unqueued || c()
}
),
l.unqueued++,
h.always(function() {
h.always(function() {
l.unqueued--,
v.queue(e, "fx").length || l.empty.fire()
})
})),
e.nodetype === 1 && ("height"in t || "width"in t) && (n.overflow = [p.overflow, p.overflowx, p.overflowy],
v.css(e, "display") === "inline" && v.css(e, "float") === "none" && (!v.support.inlineblockneedslayout || nn(e.nodename) === "inline" ? p.display = "inline-block" : p.zoom = 1)),
n.overflow && (p.overflow = "hidden",
v.support.shrinkwrapblocks || h.done(function() {
p.overflow = n.overflow[0],
p.overflowx = n.overflow[1],
p.overflowy = n.overflow[2]
}));
for (r in t) {
s = t[r];
if (un.exec(s)) {
delete t[r],
a = a || s === "toggle";
if (s === (g ? "hide" : "show"))
continue;
m.push(r)
}
}
o = m.length;
if (o) {
u = v._data(e, "fxshow") || v._data(e, "fxshow", {}),
"hidden"in u && (g = u.hidden),
a && (u.hidden = !g),
g ? v(e).show() : h.done(function() {
v(e).hide()
}),
h.done(function() {
var t;
v.removedata(e, "fxshow", !0);
for (t in d)
v.style(e, t, d[t])
});
for (r = 0; r < o; r++)
i = m[r],
f = h.createtween(i, g ? u[i] : 0),
d[i] = u[i] || v.style(e, i),
i in u || (u[i] = f.start,
g && (f.end = f.start,
f.start = i === "width" || i === "height" ? 1 : 0))
}
}
function yn(e, t, n, r, i) {
return new yn.prototype.init(e,t,n,r,i)
}
function zn(e, t) {
var n, r = {
height: e
}, i = 0;
t = t ? 1 : 0;
for (; i < 4; i += 2 - t)
n = $t[i],
r["margin" + n] = r["padding" + n] = e;
return t && (r.opacity = r.width = e),
r
}
function tr(e) {
return v.iswindow(e) ? e : e.nodetype === 9 ? e.defaultview || e.parentwindow : !1
}
var n, r, i = e.document, s = e.location, o = e.navigator, u = e.jquery, a = e.$, f = array.prototype.push, l = array.prototype.slice, c = array.prototype.indexof, h = object.prototype.tostring, p = object.prototype.hasownproperty, d = string.prototype.trim, v = function(e, t) {
return new v.fn.init(e,t,n)
}, m = /[\-+]?(?:\d*\.|)\d+(?:[ee][\-+]?\d+|)/.source, g = /\s/, y = /\s+/, b = /^[\s\ufeff\xa0]+|[\s\ufeff\xa0]+$/g, w = /^(?:[^#<]*(<[\w\w]+>)[^>]*$|#([\w\-]*)$)/, e = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, s = /^[\],:{}\s]*$/, x = /(?:^|:|,)(?:\s*\[)+/g, t = /\\(?:["\\\/bfnrt]|u[\da-fa-f]{4})/g, n = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[ee][\-+]?\d+|)/g, c = /^-ms-/, k = /-([\da-z])/gi, l = function(e, t) {
return (t + "").touppercase()
}, a = function() {
i.addeventlistener ? (i.removeeventlistener("domcontentloaded", a, !1),
v.ready()) : i.readystate === "complete" && (i.detachevent("onreadystatechange", a),
v.ready())
}, o = {};
v.fn = v.prototype = {
constructor: v,
init: function(e, n, r) {
var s, o, u, a;
if (!e)
return this;
if (e.nodetype)
return this.context = this[0] = e,
this.length = 1,
this;
if (typeof e == "string") {
e.charat(0) === "<" && e.charat(e.length - 1) === ">" && e.length >= 3 ? s = [null, e, null] : s = w.exec(e);
if (s && (s[1] || !n)) {
if (s[1])
return n = n instanceof v ? n[0] : n,
a = n && n.nodetype ? n.ownerdocument || n : i,
e = v.parsehtml(s[1], a, !0),
e.test(s[1]) && v.isplainobject(n) && this.attr.call(e, n, !0),
v.merge(this, e);
o = i.getelementbyid(s[2]);
if (o && o.parentnode) {
if (o.id !== s[2])
return r.find(e);
this.length = 1,
this[0] = o
}
return this.context = i,
this.selector = e,
this
}
return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e)
}
return v.isfunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector,
this.context = e.context),
v.makearray(e, this))
},
selector: "",
jquery: "1.8.3",
length: 0,
size: function() {
return this.length
},
toarray: function() {
return l.call(this)
},
get: function(e) {
return e == null ? this.toarray() : e < 0 ? this[this.length + e] : this[e]
},
pushstack: function(e, t, n) {
var r = v.merge(this.constructor(), e);
return r.prevobject = this,
r.context = this.context,
t === "find" ? r.selector = this.selector + (this.selector ? " " : "") + n : t && (r.selector = this.selector + "." + t + "(" + n + ")"),
r
},
each: function(e, t) {
return v.each(this, e, t)
},
ready: function(e) {
return v.ready.promise().done(e),
this
},
eq: function(e) {
return e = +e,
e === -1 ? this.slice(e) : this.slice(e, e + 1)
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq(-1)
},
slice: function() {
return this.pushstack(l.apply(this, arguments), "slice", l.call(arguments).join(","))
},
map: function(e) {
return this.pushstack(v.map(this, function(t, n) {
return e.call(t, n, t)
}))
},
end: function() {
return this.prevobject || this.constructor(null)
},
push: f,
sort: [].sort,
splice: [].splice
},
v.fn.init.prototype = v.fn,
v.extend = v.fn.extend = function() {
var e, n, r, i, s, o, u = arguments[0] || {}, a = 1, f = arguments.length, l = !1;
typeof u == "boolean" && (l = u,
u = arguments[1] || {},
a = 2),
typeof u != "object" && !v.isfunction(u) && (u = {}),
f === a && (u = this,
--a);
for (; a < f; a++)
if ((e = arguments[a]) != null)
for (n in e) {
r = u[n],
i = e[n];
if (u === i)
continue;
l && i && (v.isplainobject(i) || (s = v.isarray(i))) ? (s ? (s = !1,
o = r && v.isarray(r) ? r : []) : o = r && v.isplainobject(r) ? r : {},
u[n] = v.extend(l, o, i)) : i !== t && (u[n] = i)
}
return u
}
,
v.extend({
noconflict: function(t) {
return e.$ === v && (e.$ = a),
t && e.jquery === v && (e.jquery = u),
v
},
isready: !1,
readywait: 1,
holdready: function(e) {
e ? v.readywait++ : v.ready(!0)
},
ready: function(e) {
if (e === !0 ? --v.readywait : v.isready)
return;
if (!i.body)
return settimeout(v.ready, 1);
v.isready = !0;
if (e !== !0 && --v.readywait > 0)
return;
r.resolvewith(i, [v]),
v.fn.trigger && v(i).trigger("ready").off("ready")
},
isfunction: function(e) {
return v.type(e) === "function"
},
isarray: array.isarray || function(e) {
return v.type(e) === "array"
}
,
iswindow: function(e) {
return e != null && e == e.window
},
isnumeric: function(e) {
return !isnan(parsefloat(e)) && isfinite(e)
},
type: function(e) {
return e == null ? string(e) : o[h.call(e)] || "object"
},
isplainobject: function(e) {
if (!e || v.type(e) !== "object" || e.nodetype || v.iswindow(e))
return !1;
try {
if (e.constructor && !p.call(e, "constructor") && !p.call(e.constructor.prototype, "isprototypeof"))
return !1
} catch (n) {
return !1
}
var r;
for (r in e)
;
return r === t || p.call(e, r)
},
isemptyobject: function(e) {
var t;
for (t in e)
return !1;
return !0
},
error: function(e) {
throw new error(e)
},
parsehtml: function(e, t, n) {
var r;
return !e || typeof e != "string" ? null : (typeof t == "boolean" && (n = t,
t = 0),
t = t || i,
(r = e.exec(e)) ? [t.createelement(r[1])] : (r = v.buildfragment([e], t, n ? null : []),
v.merge([], (r.cacheable ? v.clone(r.fragment) : r.fragment).childnodes)))
},
parsejson: function(t) {
if (!t || typeof t != "string")
return null;
t = v.trim(t);
if (e.json && e.json.parse)
return e.json.parse(t);
if (s.test(t.replace(t, "@").replace(n, "]").replace(x, "")))
return (new function("return " + t))();
v.error("invalid json: " + t)
},
parsexml: function(n) {
var r, i;
if (!n || typeof n != "string")
return null;
try {
e.domparser ? (i = new domparser,
r = i.parsefromstring(n, "text/xml")) : (r = new activexobject("microsoft.xmldom"),
r.async = "false",
r.loadxml(n))
} catch (s) {
r = t
}
return (!r || !r.documentelement || r.getelementsbytagname("parsererror").length) && v.error("invalid xml: " + n),
r
},
noop: function() {},
globaleval: function(t) {
t && g.test(t) && (e.execscript || function(t) {
e.eval.call(e, t)
}
)(t)
},
camelcase: function(e) {
return e.replace(c, "ms-").replace(k, l)
},
nodename: function(e, t) {
return e.nodename && e.nodename.tolowercase() === t.tolowercase()
},
each: function(e, n, r) {
var i, s = 0, o = e.length, u = o === t || v.isfunction(e);
if (r) {
if (u) {
for (i in e)
if (n.apply(e[i], r) === !1)
break
} else
for (; s < o; )
if (n.apply(e[s++], r) === !1)
break
} else if (u) {
for (i in e)
if (n.call(e[i], i, e[i]) === !1)
break
} else
for (; s < o; )
if (n.call(e[s], s, e[s++]) === !1)
break;
return e
},
trim: d && !d.call("\ufeff\u00a0") ? function(e) {
return e == null ? "" : d.call(e)
}
: function(e) {
return e == null ? "" : (e + "").replace(b, "")
}
,
makearray: function(e, t) {
var n, r = t || [];
return e != null && (n = v.type(e),
e.length == null || n === "string" || n === "function" || n === "regexp" || v.iswindow(e) ? f.call(r, e) : v.merge(r, e)),
r
},
inarray: function(e, t, n) {
var r;
if (t) {
if (c)
return c.call(t, e, n);
r = t.length,
n = n ? n < 0 ? math.max(0, r + n) : n : 0;
for (; n < r; n++)
if (n in t && t[n] === e)
return n
}
return -1
},
merge: function(e, n) {
var r = n.length
, i = e.length
, s = 0;
if (typeof r == "number")
for (; s < r; s++)
e[i++] = n[s];
else
while (n[s] !== t)
e[i++] = n[s++];
return e.length = i,
e
},
grep: function(e, t, n) {
var r, i = [], s = 0, o = e.length;
n = !!n;
for (; s < o; s++)
r = !!t(e[s], s),
n !== r && i.push(e[s]);
return i
},
map: function(e, n, r) {
var i, s, o = [], u = 0, a = e.length, f = e instanceof v || a !== t && typeof a == "number" && (a > 0 && e[0] && e[a - 1] || a === 0 || v.isarray(e));
if (f)
for (; u < a; u++)
i = n(e[u], u, r),
i != null && (o[o.length] = i);
else
for (s in e)
i = n(e[s], s, r),
i != null && (o[o.length] = i);
return o.concat.apply([], o)
},
guid: 1,
proxy: function(e, n) {
var r, i, s;
return typeof n == "string" && (r = e[n],
n = e,
e = r),
v.isfunction(e) ? (i = l.call(arguments, 2),
s = function() {
return e.apply(n, i.concat(l.call(arguments)))
}
,
s.guid = e.guid = e.guid || v.guid++,
s) : t
},
access: function(e, n, r, i, s, o, u) {
var a, f = r == null, l = 0, c = e.length;
if (r && typeof r == "object") {
for (l in r)
v.access(e, n, l, r[l], 1, o, i);
s = 1
} else if (i !== t) {
a = u === t && v.isfunction(i),
f && (a ? (a = n,
n = function(e, t, n) {
return a.call(v(e), n)
}
) : (n.call(e, i),
n = null));
if (n)
for (; l < c; l++)
n(e[l], r, a ? i.call(e[l], l, n(e[l], r)) : i, u);
s = 1
}
return s ? e : f ? n.call(e) : c ? n(e[0], r) : o
},
now: function() {
return (new date).gettime()
}
}),
v.ready.promise = function(t) {
if (!r) {
r = v.deferred();
if (i.readystate === "complete")
settimeout(v.ready, 1);
else if (i.addeventlistener)
i.addeventlistener("domcontentloaded", a, !1),
e.addeventlistener("load", v.ready, !1);
else {
i.attachevent("onreadystatechange", a),
e.attachevent("onload", v.ready);
var n = !1;
try {
n = e.frameelement == null && i.documentelement
} catch (s) {}
n && n.doscroll && function o() {
if (!v.isready) {
try {
n.doscroll("left")
} catch (e) {
return settimeout(o, 50)
}
v.ready()
}
}()
}
}
return r.promise(t)
}
,
v.each("boolean number string function array date regexp object".split(" "), function(e, t) {
o["[object " + t + "]"] = t.tolowercase()
}),
n = v(i);
var m = {};
v.callbacks = function(e) {
e = typeof e == "string" ? m[e] || _(e) : v.extend({}, e);
var n, r, i, s, o, u, a = [], f = !e.once && [], l = function(t) {
n = e.memory && t,
r = !0,
u = s || 0,
s = 0,
o = a.length,
i = !0;
for (; a && u < o; u++)
if (a[u].apply(t[0], t[1]) === !1 && e.stoponfalse) {
n = !1;
break
}
i = !1,
a && (f ? f.length && l(f.shift()) : n ? a = [] : c.disable())
}, c = {
add: function() {
if (a) {
var t = a.length;
(function r(t) {
v.each(t, function(t, n) {
var i = v.type(n);
i === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && i !== "string" && r(n)
})
}
)(arguments),
i ? o = a.length : n && (s = t,
l(n))
}
return this
},
remove: function() {
return a && v.each(arguments, function(e, t) {
var n;
while ((n = v.inarray(t, a, n)) > -1)
a.splice(n, 1),
i && (n <= o && o--,
n <= u && u--)
}),
this
},
has: function(e) {
return v.inarray(e, a) > -1
},
empty: function() {
return a = [],
this
},
disable: function() {
return a = f = n = t,
this
},
disabled: function() {
return !a
},
lock: function() {
return f = t,
n || c.disable(),
this
},
locked: function() {
return !f
},
firewith: function(e, t) {
return t = t || [],
t = [e, t.slice ? t.slice() : t],
a && (!r || f) && (i ? f.push(t) : l(t)),
this
},
fire: function() {
return c.firewith(this, arguments),
this
},
fired: function() {
return !!r
}
};
return c
}
,
v.extend({
deferred: function(e) {
var t = [["resolve", "done", v.callbacks("once memory"), "resolved"], ["reject", "fail", v.callbacks("once memory"), "rejected"], ["notify", "progress", v.callbacks("memory")]]
, n = "pending"
, r = {
state: function() {
return n
},
always: function() {
return i.done(arguments).fail(arguments),
this
},
then: function() {
var e = arguments;
return v.deferred(function(n) {
v.each(t, function(t, r) {
var s = r[0]
, o = e[t];
i[r[1]](v.isfunction(o) ? function() {
var e = o.apply(this, arguments);
e && v.isfunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "with"](this === i ? n : this, [e])
}
: n[s])
}),
e = null
}).promise()
},
promise: function(e) {
return e != null ? v.extend(e, r) : r
}
}
, i = {};
return r.pipe = r.then,
v.each(t, function(e, s) {
var o = s[2]
, u = s[3];
r[s[1]] = o.add,
u && o.add(function() {
n = u
}, t[e ^ 1][2].disable, t[2][2].lock),
i[s[0]] = o.fire,
i[s[0] + "with"] = o.firewith
}),
r.promise(i),
e && e.call(i, i),
i
},
when: function(e) {
var t = 0, n = l.call(arguments), r = n.length, i = r !== 1 || e && v.isfunction(e.promise) ? r : 0, s = i === 1 ? e : v.deferred(), o = function(e, t, n) {
return function(r) {
t[e] = this,
n[e] = arguments.length > 1 ? l.call(arguments) : r,
n === u ? s.notifywith(t, n) : --i || s.resolvewith(t, n)
}
}, u, a, f;
if (r > 1) {
u = new array(r),
a = new array(r),
f = new array(r);
for (; t < r; t++)
n[t] && v.isfunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i
}
return i || s.resolvewith(f, n),
s.promise()
}
}),
v.support = function() {
var t, n, r, s, o, u, a, f, l, c, h, p = i.createelement("div");
p.setattribute("classname", "t"),
p.innerhtml = "
a",
n = p.getelementsbytagname("*"),
r = p.getelementsbytagname("a")[0];
if (!n || !r || !n.length)
return {};
s = i.createelement("select"),
o = s.appendchild(i.createelement("option")),
u = p.getelementsbytagname("input")[0],
r.style.csstext = "top:1px;float:left;opacity:.5",
t = {
leadingwhitespace: p.firstchild.nodetype === 3,
tbody: !p.getelementsbytagname("tbody").length,
htmlserialize: !!p.getelementsbytagname("link").length,
style: /top/.test(r.getattribute("style")),
hrefnormalized: r.getattribute("href") === "/a",
opacity: /^0.5/.test(r.style.opacity),
cssfloat: !!r.style.cssfloat,
checkon: u.value === "on",
optselected: o.selected,
getsetattribute: p.classname !== "t",
enctype: !!i.createelement("form").enctype,
html5clone: i.createelement("nav").clonenode(!0).outerhtml !== "<:nav>",
boxmodel: i.compatmode === "css1compat",
submitbubbles: !0,
changebubbles: !0,
focusinbubbles: !1,
deleteexpando: !0,
nocloneevent: !0,
inlineblockneedslayout: !1,
shrinkwrapblocks: !1,
reliablemarginright: !0,
boxsizingreliable: !0,
pixelposition: !1
},
u.checked = !0,
t.noclonechecked = u.clonenode(!0).checked,
s.disabled = !0,
t.optdisabled = !o.disabled;
try {
delete p.test
} catch (d) {
t.deleteexpando = !1
}
!p.addeventlistener && p.attachevent && p.fireevent && (p.attachevent("onclick", h = function() {
t.nocloneevent = !1
}
),
p.clonenode(!0).fireevent("onclick"),
p.detachevent("onclick", h)),
u = i.createelement("input"),
u.value = "t",
u.setattribute("type", "radio"),
t.radiovalue = u.value === "t",
u.setattribute("checked", "checked"),
u.setattribute("name", "t"),
p.appendchild(u),
a = i.createdocumentfragment(),
a.appendchild(p.lastchild),
t.checkclone = a.clonenode(!0).clonenode(!0).lastchild.checked,
t.appendchecked = u.checked,
a.removechild(u),
a.appendchild(p);
if (p.attachevent)
for (l in {
submit: !0,
change: !0,
focusin: !0
})
f = "on" + l,
c = f in p,
c || (p.setattribute(f, "return;"),
c = typeof p[f] == "function"),
t[l + "bubbles"] = c;
return v(function() {
var n, r, s, o, u = "padding:0;margin:0;border:0;display:block;overflow:hidden;", a = i.getelementsbytagname("body")[0];
if (!a)
return;
n = i.createelement("div"),
n.style.csstext = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",
a.insertbefore(n, a.firstchild),
r = i.createelement("div"),
n.appendchild(r),
r.innerhtml = "
t
",
s = r.getelementsbytagname("td"),
s[0].style.csstext = "padding:0;margin:0;border:0;display:none",
c = s[0].offsetheight === 0,
s[0].style.display = "",
s[1].style.display = "none",
t.reliablehiddenoffsets = c && s[0].offsetheight === 0,
r.innerhtml = "",
r.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%;",
t.boxsizing = r.offsetwidth === 4,
t.doesnotincludemargininbodyoffset = a.offsettop !== 1,
e.getcomputedstyle && (t.pixelposition = (e.getcomputedstyle(r, null) || {}).top !== "1%",
t.boxsizingreliable = (e.getcomputedstyle(r, null) || {
width: "4px"
}).width === "4px",
o = i.createelement("div"),
o.style.csstext = r.style.csstext = u,
o.style.marginright = o.style.width = "0",
r.style.width = "1px",
r.appendchild(o),
t.reliablemarginright = !parsefloat((e.getcomputedstyle(o, null) || {}).marginright)),
typeof r.style.zoom != "undefined" && (r.innerhtml = "",
r.style.csstext = u + "width:1px;padding:1px;display:inline;zoom:1",
t.inlineblockneedslayout = r.offsetwidth === 3,
r.style.display = "block",
r.style.overflow = "visible",
r.innerhtml = "",
r.firstchild.style.width = "5px",
t.shrinkwrapblocks = r.offsetwidth !== 3,
n.style.zoom = 1),
a.removechild(n),
n = r = s = o = null
}),
a.removechild(p),
n = r = s = o = u = a = p = null,
t
}();
var d = /(?:\{[\s\s]*\}|\[[\s\s]*\])$/
, p = /([a-z])/g;
v.extend({
cache: {},
deletedids: [],
uuid: 0,
expando: "jquery" + (v.fn.jquery + math.random()).replace(/\d/g, ""),
nodata: {
embed: !0,
object: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",
applet: !0
},
hasdata: function(e) {
return e = e.nodetype ? v.cache[e[v.expando]] : e[v.expando],
!!e && !b(e)
},
data: function(e, n, r, i) {
if (!v.acceptdata(e))
return;
var s, o, u = v.expando, a = typeof n == "string", f = e.nodetype, l = f ? v.cache : e, c = f ? e[u] : e[u] && u;
if ((!c || !l[c] || !i && !l[c].data) && a && r === t)
return;
c || (f ? e[u] = c = v.deletedids.pop() || v.guid++ : c = u),
l[c] || (l[c] = {},
f || (l[c].tojson = v.noop));
if (typeof n == "object" || typeof n == "function")
i ? l[c] = v.extend(l[c], n) : l[c].data = v.extend(l[c].data, n);
return s = l[c],
i || (s.data || (s.data = {}),
s = s.data),
r !== t && (s[v.camelcase(n)] = r),
a ? (o = s[n],
o == null && (o = s[v.camelcase(n)])) : o = s,
o
},
removedata: function(e, t, n) {
if (!v.acceptdata(e))
return;
var r, i, s, o = e.nodetype, u = o ? v.cache : e, a = o ? e[v.expando] : v.expando;
if (!u[a])
return;
if (t) {
r = n ? u[a] : u[a].data;
if (r) {
v.isarray(t) || (t in r ? t = [t] : (t = v.camelcase(t),
t in r ? t = [t] : t = t.split(" ")));
for (i = 0,
s = t.length; i < s; i++)
delete r[t[i]];
if (!(n ? b : v.isemptyobject)(r))
return
}
}
if (!n) {
delete u[a].data;
if (!b(u[a]))
return
}
o ? v.cleandata([e], !0) : v.support.deleteexpando || u != u.window ? delete u[a] : u[a] = null
},
_data: function(e, t, n) {
return v.data(e, t, n, !0)
},
acceptdata: function(e) {
var t = e.nodename && v.nodata[e.nodename.tolowercase()];
return !t || t !== !0 && e.getattribute("classid") === t
}
}),
v.fn.extend({
data: function(e, n) {
var r, i, s, o, u, a = this[0], f = 0, l = null;
if (e === t) {
if (this.length) {
l = v.data(a);
if (a.nodetype === 1 && !v._data(a, "parsedattrs")) {
s = a.attributes;
for (u = s.length; f < u; f++)
o = s[f].name,
o.indexof("data-") || (o = v.camelcase(o.substring(5)),
h(a, o, l[o]));
v._data(a, "parsedattrs", !0)
}
}
return l
}
return typeof e == "object" ? this.each(function() {
v.data(this, e)
}) : (r = e.split(".", 2),
r[1] = r[1] ? "." + r[1] : "",
i = r[1] + "!",
v.access(this, function(n) {
if (n === t)
return l = this.triggerhandler("getdata" + i, [r[0]]),
l === t && a && (l = v.data(a, e),
l = h(a, e, l)),
l === t && r[1] ? this.data(r[0]) : l;
r[1] = n,
this.each(function() {
var t = v(this);
t.triggerhandler("setdata" + i, r),
v.data(this, e, n),
t.triggerhandler("changedata" + i, r)
})
}, null, n, arguments.length > 1, null, !1))
},
removedata: function(e) {
return this.each(function() {
v.removedata(this, e)
})
}
}),
v.extend({
queue: function(e, t, n) {
var r;
if (e)
return t = (t || "fx") + "queue",
r = v._data(e, t),
n && (!r || v.isarray(n) ? r = v._data(e, t, v.makearray(n)) : r.push(n)),
r || []
},
dequeue: function(e, t) {
t = t || "fx";
var n = v.queue(e, t)
, r = n.length
, i = n.shift()
, s = v._queuehooks(e, t)
, o = function() {
v.dequeue(e, t)
};
i === "inprogress" && (i = n.shift(),
r--),
i && (t === "fx" && n.unshift("inprogress"),
delete s.stop,
i.call(e, o, s)),
!r && s && s.empty.fire()
},
_queuehooks: function(e, t) {
var n = t + "queuehooks";
return v._data(e, n) || v._data(e, n, {
empty: v.callbacks("once memory").add(function() {
v.removedata(e, t + "queue", !0),
v.removedata(e, n, !0)
})
})
}
}),
v.fn.extend({
queue: function(e, n) {
var r = 2;
return typeof e != "string" && (n = e,
e = "fx",
r--),
arguments.length < r ? v.queue(this[0], e) : n === t ? this : this.each(function() {
var t = v.queue(this, e, n);
v._queuehooks(this, e),
e === "fx" && t[0] !== "inprogress" && v.dequeue(this, e)
})
},
dequeue: function(e) {
return this.each(function() {
v.dequeue(this, e)
})
},
delay: function(e, t) {
return e = v.fx ? v.fx.speeds[e] || e : e,
t = t || "fx",
this.queue(t, function(t, n) {
var r = settimeout(t, e);
n.stop = function() {
cleartimeout(r)
}
})
},
clearqueue: function(e) {
return this.queue(e || "fx", [])
},
promise: function(e, n) {
var r, i = 1, s = v.deferred(), o = this, u = this.length, a = function() {
--i || s.resolvewith(o, [o])
};
typeof e != "string" && (n = e,
e = t),
e = e || "fx";
while (u--)
r = v._data(o[u], e + "queuehooks"),
r && r.empty && (i++,
r.empty.add(a));
return a(),
s.promise(n)
}
});
var j, f, i, q = /[\t\r\n]/g, r = /\r/g, u = /^(?:button|input)$/i, z = /^(?:button|input|object|select|textarea)$/i, w = /^a(?:rea|)$/i, x = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, v = v.support.getsetattribute;
v.fn.extend({
attr: function(e, t) {
return v.access(this, v.attr, e, t, arguments.length > 1)
},
removeattr: function(e) {
return this.each(function() {
v.removeattr(this, e)
})
},
prop: function(e, t) {
return v.access(this, v.prop, e, t, arguments.length > 1)
},
removeprop: function(e) {
return e = v.propfix[e] || e,
this.each(function() {
try {
this[e] = t,
delete this[e]
} catch (n) {}
})
},
addclass: function(e) {
var t, n, r, i, s, o, u;
if (v.isfunction(e))
return this.each(function(t) {
v(this).addclass(e.call(this, t, this.classname))
});
if (e && typeof e == "string") {
t = e.split(y);
for (n = 0,
r = this.length; n < r; n++) {
i = this[n];
if (i.nodetype === 1)
if (!i.classname && t.length === 1)
i.classname = e;
else {
s = " " + i.classname + " ";
for (o = 0,
u = t.length; o < u; o++)
s.indexof(" " + t[o] + " ") < 0 && (s += t[o] + " ");
i.classname = v.trim(s)
}
}
}
return this
},
removeclass: function(e) {
var n, r, i, s, o, u, a;
if (v.isfunction(e))
return this.each(function(t) {
v(this).removeclass(e.call(this, t, this.classname))
});
if (e && typeof e == "string" || e === t) {
n = (e || "").split(y);
for (u = 0,
a = this.length; u < a; u++) {
i = this[u];
if (i.nodetype === 1 && i.classname) {
r = (" " + i.classname + " ").replace(q, " ");
for (s = 0,
o = n.length; s < o; s++)
while (r.indexof(" " + n[s] + " ") >= 0)
r = r.replace(" " + n[s] + " ", " ");
i.classname = e ? v.trim(r) : ""
}
}
}
return this
},
toggleclass: function(e, t) {
var n = typeof e
, r = typeof t == "boolean";
return v.isfunction(e) ? this.each(function(n) {
v(this).toggleclass(e.call(this, n, this.classname, t), t)
}) : this.each(function() {
if (n === "string") {
var i, s = 0, o = v(this), u = t, a = e.split(y);
while (i = a[s++])
u = r ? u : !o.hasclass(i),
o[u ? "addclass" : "removeclass"](i)
} else if (n === "undefined" || n === "boolean")
this.classname && v._data(this, "__classname__", this.classname),
this.classname = this.classname || e === !1 ? "" : v._data(this, "__classname__") || ""
})
},
hasclass: function(e) {
var t = " " + e + " "
, n = 0
, r = this.length;
for (; n < r; n++)
if (this[n].nodetype === 1 && (" " + this[n].classname + " ").replace(q, " ").indexof(t) >= 0)
return !0;
return !1
},
val: function(e) {
var n, r, i, s = this[0];
if (!arguments.length) {
if (s)
return n = v.valhooks[s.type] || v.valhooks[s.nodename.tolowercase()],
n && "get"in n && (r = n.get(s, "value")) !== t ? r : (r = s.value,
typeof r == "string" ? r.replace(r, "") : r == null ? "" : r);
return
}
return i = v.isfunction(e),
this.each(function(r) {
var s, o = v(this);
if (this.nodetype !== 1)
return;
i ? s = e.call(this, r, o.val()) : s = e,
s == null ? s = "" : typeof s == "number" ? s += "" : v.isarray(s) && (s = v.map(s, function(e) {
return e == null ? "" : e + ""
})),
n = v.valhooks[this.type] || v.valhooks[this.nodename.tolowercase()];
if (!n || !("set"in n) || n.set(this, s, "value") === t)
this.value = s
})
}
}),
v.extend({
valhooks: {
option: {
get: function(e) {
var t = e.attributes.value;
return !t || t.specified ? e.value : e.text
}
},
select: {
get: function(e) {
var t, n, r = e.options, i = e.selectedindex, s = e.type === "select-one" || i < 0, o = s ? null : [], u = s ? i + 1 : r.length, a = i < 0 ? u : s ? i : 0;
for (; a < u; a++) {
n = r[a];
if ((n.selected || a === i) && (v.support.optdisabled ? !n.disabled : n.getattribute("disabled") === null) && (!n.parentnode.disabled || !v.nodename(n.parentnode, "optgroup"))) {
t = v(n).val();
if (s)
return t;
o.push(t)
}
}
return o
},
set: function(e, t) {
var n = v.makearray(t);
return v(e).find("option").each(function() {
this.selected = v.inarray(v(this).val(), n) >= 0
}),
n.length || (e.selectedindex = -1),
n
}
}
},
attrfn: {},
attr: function(e, n, r, i) {
var s, o, u, a = e.nodetype;
if (!e || a === 3 || a === 8 || a === 2)
return;
if (i && v.isfunction(v.fn[n]))
return v(e)[n](r);
if (typeof e.getattribute == "undefined")
return v.prop(e, n, r);
u = a !== 1 || !v.isxmldoc(e),
u && (n = n.tolowercase(),
o = v.attrhooks[n] || (x.test(n) ? f : j));
if (r !== t) {
if (r === null) {
v.removeattr(e, n);
return
}
return o && "set"in o && u && (s = o.set(e, r, n)) !== t ? s : (e.setattribute(n, r + ""),
r)
}
return o && "get"in o && u && (s = o.get(e, n)) !== null ? s : (s = e.getattribute(n),
s === null ? t : s)
},
removeattr: function(e, t) {
var n, r, i, s, o = 0;
if (t && e.nodetype === 1) {
r = t.split(y);
for (; o < r.length; o++)
i = r[o],
i && (n = v.propfix[i] || i,
s = x.test(i),
s || v.attr(e, i, ""),
e.removeattribute(v ? i : n),
s && n in e && (e[n] = !1))
}
},
attrhooks: {
type: {
set: function(e, t) {
if (u.test(e.nodename) && e.parentnode)
v.error("type property can't be changed");
else if (!v.support.radiovalue && t === "radio" && v.nodename(e, "input")) {
var n = e.value;
return e.setattribute("type", t),
n && (e.value = n),
t
}
}
},
value: {
get: function(e, t) {
return j && v.nodename(e, "button") ? j.get(e, t) : t in e ? e.value : null
},
set: function(e, t, n) {
if (j && v.nodename(e, "button"))
return j.set(e, t, n);
e.value = t
}
}
},
propfix: {
tabindex: "tabindex",
readonly: "readonly",
"for": "htmlfor",
"class": "classname",
maxlength: "maxlength",
cellspacing: "cellspacing",
cellpadding: "cellpadding",
rowspan: "rowspan",
colspan: "colspan",
usemap: "usemap",
frameborder: "frameborder",
contenteditable: "contenteditable"
},
prop: function(e, n, r) {
var i, s, o, u = e.nodetype;
if (!e || u === 3 || u === 8 || u === 2)
return;
return o = u !== 1 || !v.isxmldoc(e),
o && (n = v.propfix[n] || n,
s = v.prophooks[n]),
r !== t ? s && "set"in s && (i = s.set(e, r, n)) !== t ? i : e[n] = r : s && "get"in s && (i = s.get(e, n)) !== null ? i : e[n]
},
prophooks: {
tabindex: {
get: function(e) {
var n = e.getattributenode("tabindex");
return n && n.specified ? parseint(n.value, 10) : z.test(e.nodename) || w.test(e.nodename) && e.href ? 0 : t
}
}
}
}),
f = {
get: function(e, n) {
var r, i = v.prop(e, n);
return i === !0 || typeof i != "boolean" && (r = e.getattributenode(n)) && r.nodevalue !== !1 ? n.tolowercase() : t
},
set: function(e, t, n) {
var r;
return t === !1 ? v.removeattr(e, n) : (r = v.propfix[n] || n,
r in e && (e[r] = !0),
e.setattribute(n, n.tolowercase())),
n
}
},
v || (i = {
name: !0,
id: !0,
coords: !0
},
j = v.valhooks.button = {
get: function(e, n) {
var r;
return r = e.getattributenode(n),
r && (i[n] ? r.value !== "" : r.specified) ? r.value : t
},
set: function(e, t, n) {
var r = e.getattributenode(n);
return r || (r = i.createattribute(n),
e.setattributenode(r)),
r.value = t + ""
}
},
v.each(["width", "height"], function(e, t) {
v.attrhooks[t] = v.extend(v.attrhooks[t], {
set: function(e, n) {
if (n === "")
return e.setattribute(t, "auto"),
n
}
})
}),
v.attrhooks.contenteditable = {
get: j.get,
set: function(e, t, n) {
t === "" && (t = "false"),
j.set(e, t, n)
}
}),
v.support.hrefnormalized || v.each(["href", "src", "width", "height"], function(e, n) {
v.attrhooks[n] = v.extend(v.attrhooks[n], {
get: function(e) {
var r = e.getattribute(n, 2);
return r === null ? t : r
}
})
}),
v.support.style || (v.attrhooks.style = {
get: function(e) {
return e.style.csstext.tolowercase() || t
},
set: function(e, t) {
return e.style.csstext = t + ""
}
}),
v.support.optselected || (v.prophooks.selected = v.extend(v.prophooks.selected, {
get: function(e) {
var t = e.parentnode;
return t && (t.selectedindex,
t.parentnode && t.parentnode.selectedindex),
null
}
})),
v.support.enctype || (v.propfix.enctype = "encoding"),
v.support.checkon || v.each(["radio", "checkbox"], function() {
v.valhooks[this] = {
get: function(e) {
return e.getattribute("value") === null ? "on" : e.value
}
}
}),
v.each(["radio", "checkbox"], function() {
v.valhooks[this] = v.extend(v.valhooks[this], {
set: function(e, t) {
if (v.isarray(t))
return e.checked = v.inarray(v(e).val(), t) >= 0
}
})
});
var $ = /^(?:textarea|input|select)$/i
, j = /^([^\.]*|)(?:\.(.+)|)$/
, k = /(?:^|\s)hover(\.\s+|)\b/
, q = /^key/
, g = /^(?:mouse|contextmenu)|click/
, y = /^(?:focusinfocus|focusoutblur)$/
, z = function(e) {
return v.event.special.hover ? e : e.replace(k, "mouseenter$1 mouseleave$1")
};
v.event = {
add: function(e, n, r, i, s) {
var o, u, a, f, l, c, h, p, d, m, g;
if (e.nodetype === 3 || e.nodetype === 8 || !n || !r || !(o = v._data(e)))
return;
r.handler && (d = r,
r = d.handler,
s = d.selector),
r.guid || (r.guid = v.guid++),
a = o.events,
a || (o.events = a = {}),
u = o.handle,
u || (o.handle = u = function(e) {
return typeof v == "undefined" || !!e && v.event.triggered === e.type ? t : v.event.dispatch.apply(u.elem, arguments)
}
,
u.elem = e),
n = v.trim(z(n)).split(" ");
for (f = 0; f < n.length; f++) {
l = j.exec(n[f]) || [],
c = l[1],
h = (l[2] || "").split(".").sort(),
g = v.event.special[c] || {},
c = (s ? g.delegatetype : g.bindtype) || c,
g = v.event.special[c] || {},
p = v.extend({
type: c,
origtype: l[1],
data: i,
handler: r,
guid: r.guid,
selector: s,
needscontext: s && v.expr.match.needscontext.test(s),
namespace: h.join(".")
}, d),
m = a[c];
if (!m) {
m = a[c] = [],
m.delegatecount = 0;
if (!g.setup || g.setup.call(e, i, h, u) === !1)
e.addeventlistener ? e.addeventlistener(c, u, !1) : e.attachevent && e.attachevent("on" + c, u)
}
g.add && (g.add.call(e, p),
p.handler.guid || (p.handler.guid = r.guid)),
s ? m.splice(m.delegatecount++, 0, p) : m.push(p),
v.event.global[c] = !0
}
e = null
},
global: {},
remove: function(e, t, n, r, i) {
var s, o, u, a, f, l, c, h, p, d, m, g = v.hasdata(e) && v._data(e);
if (!g || !(h = g.events))
return;
t = v.trim(z(t || "")).split(" ");
for (s = 0; s < t.length; s++) {
o = j.exec(t[s]) || [],
u = a = o[1],
f = o[2];
if (!u) {
for (u in h)
v.event.remove(e, u + t[s], n, r, !0);
continue
}
p = v.event.special[u] || {},
u = (r ? p.delegatetype : p.bindtype) || u,
d = h[u] || [],
l = d.length,
f = f ? new regexp("(^|\\.)" + f.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
for (c = 0; c < d.length; c++)
m = d[c],
(i || a === m.origtype) && (!n || n.guid === m.guid) && (!f || f.test(m.namespace)) && (!r || r === m.selector || r === "**" && m.selector) && (d.splice(c--, 1),
m.selector && d.delegatecount--,
p.remove && p.remove.call(e, m));
d.length === 0 && l !== d.length && ((!p.teardown || p.teardown.call(e, f, g.handle) === !1) && v.removeevent(e, u, g.handle),
delete h[u])
}
v.isemptyobject(h) && (delete g.handle,
v.removedata(e, "events", !0))
},
customevent: {
getdata: !0,
setdata: !0,
changedata: !0
},
trigger: function(n, r, s, o) {
if (!s || s.nodetype !== 3 && s.nodetype !== 8) {
var u, a, f, l, c, h, p, d, m, g, y = n.type || n, b = [];
if (y.test(y + v.event.triggered))
return;
y.indexof("!") >= 0 && (y = y.slice(0, -1),
a = !0),
y.indexof(".") >= 0 && (b = y.split("."),
y = b.shift(),
b.sort());
if ((!s || v.event.customevent[y]) && !v.event.global[y])
return;
n = typeof n == "object" ? n[v.expando] ? n : new v.event(y,n) : new v.event(y),
n.type = y,
n.istrigger = !0,
n.exclusive = a,
n.namespace = b.join("."),
n.namespace_re = n.namespace ? new regexp("(^|\\.)" + b.join("\\.(?:.*\\.|)") + "(\\.|$)") : null,
h = y.indexof(":") < 0 ? "on" + y : "";
if (!s) {
u = v.cache;
for (f in u)
u[f].events && u[f].events[y] && v.event.trigger(n, r, u[f].handle.elem, !0);
return
}
n.result = t,
n.target || (n.target = s),
r = r != null ? v.makearray(r) : [],
r.unshift(n),
p = v.event.special[y] || {};
if (p.trigger && p.trigger.apply(s, r) === !1)
return;
m = [[s, p.bindtype || y]];
if (!o && !p.nobubble && !v.iswindow(s)) {
g = p.delegatetype || y,
l = y.test(g + y) ? s : s.parentnode;
for (c = s; l; l = l.parentnode)
m.push([l, g]),
c = l;
c === (s.ownerdocument || i) && m.push([c.defaultview || c.parentwindow || e, g])
}
for (f = 0; f < m.length && !n.ispropagationstopped(); f++)
l = m[f][0],
n.type = m[f][1],
d = (v._data(l, "events") || {})[n.type] && v._data(l, "handle"),
d && d.apply(l, r),
d = h && l[h],
d && v.acceptdata(l) && d.apply && d.apply(l, r) === !1 && n.preventdefault();
return n.type = y,
!o && !n.isdefaultprevented() && (!p._default || p._default.apply(s.ownerdocument, r) === !1) && (y !== "click" || !v.nodename(s, "a")) && v.acceptdata(s) && h && s[y] && (y !== "focus" && y !== "blur" || n.target.offsetwidth !== 0) && !v.iswindow(s) && (c = s[h],
c && (s[h] = null),
v.event.triggered = y,
s[y](),
v.event.triggered = t,
c && (s[h] = c)),
n.result
}
return
},
dispatch: function(n) {
n = v.event.fix(n || e.event);
var r, i, s, o, u, a, f, c, h, p, d = (v._data(this, "events") || {})[n.type] || [], m = d.delegatecount, g = l.call(arguments), y = !n.exclusive && !n.namespace, b = v.event.special[n.type] || {}, w = [];
g[0] = n,
n.delegatetarget = this;
if (b.predispatch && b.predispatch.call(this, n) === !1)
return;
if (m && (!n.button || n.type !== "click"))
for (s = n.target; s != this; s = s.parentnode || this)
if (s.disabled !== !0 || n.type !== "click") {
u = {},
f = [];
for (r = 0; r < m; r++)
c = d[r],
h = c.selector,
u[h] === t && (u[h] = c.needscontext ? v(h, this).index(s) >= 0 : v.find(h, this, null, [s]).length),
u[h] && f.push(c);
f.length && w.push({
elem: s,
matches: f
})
}
d.length > m && w.push({
elem: this,
matches: d.slice(m)
});
for (r = 0; r < w.length && !n.ispropagationstopped(); r++) {
a = w[r],
n.currenttarget = a.elem;
for (i = 0; i < a.matches.length && !n.isimmediatepropagationstopped(); i++) {
c = a.matches[i];
if (y || !n.namespace && !c.namespace || n.namespace_re && n.namespace_re.test(c.namespace))
n.data = c.data,
n.handleobj = c,
o = ((v.event.special[c.origtype] || {}).handle || c.handler).apply(a.elem, g),
o !== t && (n.result = o,
o === !1 && (n.preventdefault(),
n.stoppropagation()))
}
}
return b.postdispatch && b.postdispatch.call(this, n),
n.result
},
props: "attrchange attrname relatednode srcelement altkey bubbles cancelable ctrlkey currenttarget eventphase metakey relatedtarget shiftkey target timestamp view which".split(" "),
fixhooks: {},
keyhooks: {
props: "char charcode key keycode".split(" "),
filter: function(e, t) {
return e.which == null && (e.which = t.charcode != null ? t.charcode : t.keycode),
e
}
},
mousehooks: {
props: "button buttons clientx clienty fromelement offsetx offsety pagex pagey screenx screeny toelement".split(" "),
filter: function(e, n) {
var r, s, o, u = n.button, a = n.fromelement;
return e.pagex == null && n.clientx != null && (r = e.target.ownerdocument || i,
s = r.documentelement,
o = r.body,
e.pagex = n.clientx + (s && s.scrollleft || o && o.scrollleft || 0) - (s && s.clientleft || o && o.clientleft || 0),
e.pagey = n.clienty + (s && s.scrolltop || o && o.scrolltop || 0) - (s && s.clienttop || o && o.clienttop || 0)),
!e.relatedtarget && a && (e.relatedtarget = a === e.target ? n.toelement : a),
!e.which && u !== t && (e.which = u & 1 ? 1 : u & 2 ? 3 : u & 4 ? 2 : 0),
e
}
},
fix: function(e) {
if (e[v.expando])
return e;
var t, n, r = e, s = v.event.fixhooks[e.type] || {}, o = s.props ? this.props.concat(s.props) : this.props;
e = v.event(r);
for (t = o.length; t; )
n = o[--t],
e[n] = r[n];
return e.target || (e.target = r.srcelement || i),
e.target.nodetype === 3 && (e.target = e.target.parentnode),
e.metakey = !!e.metakey,
s.filter ? s.filter(e, r) : e
},
special: {
load: {
nobubble: !0
},
focus: {
delegatetype: "focusin"
},
blur: {
delegatetype: "focusout"
},
beforeunload: {
setup: function(e, t, n) {
v.iswindow(this) && (this.onbeforeunload = n)
},
teardown: function(e, t) {
this.onbeforeunload === t && (this.onbeforeunload = null)
}
}
},
simulate: function(e, t, n, r) {
var i = v.extend(new v.event, n, {
type: e,
issimulated: !0,
originalevent: {}
});
r ? v.event.trigger(i, null, t) : v.event.dispatch.call(t, i),
i.isdefaultprevented() && n.preventdefault()
}
},
v.event.handle = v.event.dispatch,
v.removeevent = i.removeeventlistener ? function(e, t, n) {
e.removeeventlistener && e.removeeventlistener(t, n, !1)
}
: function(e, t, n) {
var r = "on" + t;
e.detachevent && (typeof e[r] == "undefined" && (e[r] = null),
e.detachevent(r, n))
}
,
v.event = function(e, t) {
if (!(this instanceof v.event))
return new v.event(e,t);
e && e.type ? (this.originalevent = e,
this.type = e.type,
this.isdefaultprevented = e.defaultprevented || e.returnvalue === !1 || e.getpreventdefault && e.getpreventdefault() ? tt : et) : this.type = e,
t && v.extend(this, t),
this.timestamp = e && e.timestamp || v.now(),
this[v.expando] = !0
}
,
v.event.prototype = {
preventdefault: function() {
this.isdefaultprevented = tt;
var e = this.originalevent;
if (!e)
return;
e.preventdefault ? e.preventdefault() : e.returnvalue = !1
},
stoppropagation: function() {
this.ispropagationstopped = tt;
var e = this.originalevent;
if (!e)
return;
e.stoppropagation && e.stoppropagation(),
e.cancelbubble = !0
},
stopimmediatepropagation: function() {
this.isimmediatepropagationstopped = tt,
this.stoppropagation()
},
isdefaultprevented: et,
ispropagationstopped: et,
isimmediatepropagationstopped: et
},
v.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function(e, t) {
v.event.special[e] = {
delegatetype: t,
bindtype: t,
handle: function(e) {
var n, r = this, i = e.relatedtarget, s = e.handleobj, o = s.selector;
if (!i || i !== r && !v.contains(r, i))
e.type = s.origtype,
n = s.handler.apply(this, arguments),
e.type = t;
return n
}
}
}),
v.support.submitbubbles || (v.event.special.submit = {
setup: function() {
if (v.nodename(this, "form"))
return !1;
v.event.add(this, "click._submit keypress._submit", function(e) {
var n = e.target
, r = v.nodename(n, "input") || v.nodename(n, "button") ? n.form : t;
r && !v._data(r, "_submit_attached") && (v.event.add(r, "submit._submit", function(e) {
e._submit_bubble = !0
}),
v._data(r, "_submit_attached", !0))
})
},
postdispatch: function(e) {
e._submit_bubble && (delete e._submit_bubble,
this.parentnode && !e.istrigger && v.event.simulate("submit", this.parentnode, e, !0))
},
teardown: function() {
if (v.nodename(this, "form"))
return !1;
v.event.remove(this, "._submit")
}
}),
v.support.changebubbles || (v.event.special.change = {
setup: function() {
if ($.test(this.nodename)) {
if (this.type === "checkbox" || this.type === "radio")
v.event.add(this, "propertychange._change", function(e) {
e.originalevent.propertyname === "checked" && (this._just_changed = !0)
}),
v.event.add(this, "click._change", function(e) {
this._just_changed && !e.istrigger && (this._just_changed = !1),
v.event.simulate("change", this, e, !0)
});
return !1
}
v.event.add(this, "beforeactivate._change", function(e) {
var t = e.target;
$.test(t.nodename) && !v._data(t, "_change_attached") && (v.event.add(t, "change._change", function(e) {
this.parentnode && !e.issimulated && !e.istrigger && v.event.simulate("change", this.parentnode, e, !0)
}),
v._data(t, "_change_attached", !0))
})
},
handle: function(e) {
var t = e.target;
if (this !== t || e.issimulated || e.istrigger || t.type !== "radio" && t.type !== "checkbox")
return e.handleobj.handler.apply(this, arguments)
},
teardown: function() {
return v.event.remove(this, "._change"),
!$.test(this.nodename)
}
}),
v.support.focusinbubbles || v.each({
focus: "focusin",
blur: "focusout"
}, function(e, t) {
var n = 0
, r = function(e) {
v.event.simulate(t, e.target, v.event.fix(e), !0)
};
v.event.special[t] = {
setup: function() {
n++ === 0 && i.addeventlistener(e, r, !0)
},
teardown: function() {
--n === 0 && i.removeeventlistener(e, r, !0)
}
}
}),
v.fn.extend({
on: function(e, n, r, i, s) {
var o, u;
if (typeof e == "object") {
typeof n != "string" && (r = r || n,
n = t);
for (u in e)
this.on(u, n, r, e[u], s);
return this
}
r == null && i == null ? (i = n,
r = n = t) : i == null && (typeof n == "string" ? (i = r,
r = t) : (i = r,
r = n,
n = t));
if (i === !1)
i = et;
else if (!i)
return this;
return s === 1 && (o = i,
i = function(e) {
return v().off(e),
o.apply(this, arguments)
}
,
i.guid = o.guid || (o.guid = v.guid++)),
this.each(function() {
v.event.add(this, e, i, r, n)
})
},
one: function(e, t, n, r) {
return this.on(e, t, n, r, 1)
},
off: function(e, n, r) {
var i, s;
if (e && e.preventdefault && e.handleobj)
return i = e.handleobj,
v(e.delegatetarget).off(i.namespace ? i.origtype + "." + i.namespace : i.origtype, i.selector, i.handler),
this;
if (typeof e == "object") {
for (s in e)
this.off(s, n, e[s]);
return this
}
if (n === !1 || typeof n == "function")
r = n,
n = t;
return r === !1 && (r = et),
this.each(function() {
v.event.remove(this, e, r, n)
})
},
bind: function(e, t, n) {
return this.on(e, null, t, n)
},
unbind: function(e, t) {
return this.off(e, null, t)
},
live: function(e, t, n) {
return v(this.context).on(e, this.selector, t, n),
this
},
die: function(e, t) {
return v(this.context).off(e, this.selector || "**", t),
this
},
delegate: function(e, t, n, r) {
return this.on(t, e, n, r)
},
undelegate: function(e, t, n) {
return arguments.length === 1 ? this.off(e, "**") : this.off(t, e || "**", n)
},
trigger: function(e, t) {
return this.each(function() {
v.event.trigger(e, t, this)
})
},
triggerhandler: function(e, t) {
if (this[0])
return v.event.trigger(e, t, this[0], !0)
},
toggle: function(e) {
var t = arguments
, n = e.guid || v.guid++
, r = 0
, i = function(n) {
var i = (v._data(this, "lasttoggle" + e.guid) || 0) % r;
return v._data(this, "lasttoggle" + e.guid, i + 1),
n.preventdefault(),
t[i].apply(this, arguments) || !1
};
i.guid = n;
while (r < t.length)
t[r++].guid = n;
return this.click(i)
},
hover: function(e, t) {
return this.mouseenter(e).mouseleave(t || e)
}
}),
v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) {
v.fn[t] = function(e, n) {
return n == null && (n = e,
e = null),
arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
}
,
q.test(t) && (v.event.fixhooks[t] = v.event.keyhooks),
g.test(t) && (v.event.fixhooks[t] = v.event.mousehooks)
}),
function(e, t) {
function nt(e, t, n, r) {
n = n || [],
t = t || g;
var i, s, a, f, l = t.nodetype;
if (!e || typeof e != "string")
return n;
if (l !== 1 && l !== 9)
return [];
a = o(t);
if (!a && !r)
if (i = r.exec(e))
if (f = i[1]) {
if (l === 9) {
s = t.getelementbyid(f);
if (!s || !s.parentnode)
return n;
if (s.id === f)
return n.push(s),
n
} else if (t.ownerdocument && (s = t.ownerdocument.getelementbyid(f)) && u(t, s) && s.id === f)
return n.push(s),
n
} else {
if (i[2])
return s.apply(n, x.call(t.getelementsbytagname(e), 0)),
n;
if ((f = i[3]) && z && t.getelementsbyclassname)
return s.apply(n, x.call(t.getelementsbyclassname(f), 0)),
n
}
return vt(e.replace(j, "$1"), t, n, r, a)
}
function rt(e) {
return function(t) {
var n = t.nodename.tolowercase();
return n === "input" && t.type === e
}
}
function it(e) {
return function(t) {
var n = t.nodename.tolowercase();
return (n === "input" || n === "button") && t.type === e
}
}
function st(e) {
return n(function(t) {
return t = +t,
n(function(n, r) {
var i, s = e([], n.length, t), o = s.length;
while (o--)
n[i = s[o]] && (n[i] = !(r[i] = n[i]))
})
})
}
function ot(e, t, n) {
if (e === t)
return n;
var r = e.nextsibling;
while (r) {
if (r === t)
return -1;
r = r.nextsibling
}
return 1
}
function ut(e, t) {
var n, r, s, o, u, a, f, l = l[d][e + " "];
if (l)
return t ? 0 : l.slice(0);
u = e,
a = [],
f = i.prefilter;
while (u) {
if (!n || (r = f.exec(u)))
r && (u = u.slice(r[0].length) || u),
a.push(s = []);
n = !1;
if (r = i.exec(u))
s.push(n = new m(r.shift())),
u = u.slice(n.length),
n.type = r[0].replace(j, " ");
for (o in i.filter)
(r = j[o].exec(u)) && (!f[o] || (r = f[o](r))) && (s.push(n = new m(r.shift())),
u = u.slice(n.length),
n.type = o,
n.matches = r);
if (!n)
break
}
return t ? u.length : u ? nt.error(e) : l(e, a).slice(0)
}
function at(e, t, r) {
var i = t.dir
, s = r && t.dir === "parentnode"
, o = w++;
return t.first ? function(t, n, r) {
while (t = t[i])
if (s || t.nodetype === 1)
return e(t, n, r)
}
: function(t, r, u) {
if (!u) {
var a, f = b + " " + o + " ", l = f + n;
while (t = t[i])
if (s || t.nodetype === 1) {
if ((a = t[d]) === l)
return t.sizset;
if (typeof a == "string" && a.indexof(f) === 0) {
if (t.sizset)
return t
} else {
t[d] = l;
if (e(t, r, u))
return t.sizset = !0,
t;
t.sizset = !1
}
}
} else
while (t = t[i])
if (s || t.nodetype === 1)
if (e(t, r, u))
return t
}
}
function ft(e) {
return e.length > 1 ? function(t, n, r) {
var i = e.length;
while (i--)
if (!e[i](t, n, r))
return !1;
return !0
}
: e[0]
}
function lt(e, t, n, r, i) {
var s, o = [], u = 0, a = e.length, f = t != null;
for (; u < a; u++)
if (s = e[u])
if (!n || n(s, r, i))
o.push(s),
f && t.push(u);
return o
}
function ct(e, t, n, r, i, s) {
return r && !r[d] && (r = ct(r)),
i && !i[d] && (i = ct(i, s)),
n(function(s, o, u, a) {
var f, l, c, h = [], p = [], d = o.length, v = s || dt(t || "*", u.nodetype ? [u] : u, []), m = e && (s || !t) ? lt(v, h, e, u, a) : v, g = n ? i || (s ? e : d || r) ? [] : o : m;
n && n(m, g, u, a);
if (r) {
f = lt(g, p),
r(f, [], u, a),
l = f.length;
while (l--)
if (c = f[l])
g[p[l]] = !(m[p[l]] = c)
}
if (s) {
if (i || e) {
if (i) {
f = [],
l = g.length;
while (l--)
(c = g[l]) && f.push(m[l] = c);
i(null, g = [], f, a)
}
l = g.length;
while (l--)
(c = g[l]) && (f = i ? t.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c))
}
} else
g = lt(g === o ? g.splice(d, g.length) : g),
i ? i(null, o, g, a) : s.apply(o, g)
})
}
function ht(e) {
var t, n, r, s = e.length, o = i.relative[e[0].type], u = o || i.relative[" "], a = o ? 1 : 0, f = at(function(e) {
return e === t
}, u, !0), l = at(function(e) {
return t.call(t, e) > -1
}, u, !0), h = [function(e, n, r) {
return !o && (r || n !== c) || ((t = n).nodetype ? f(e, n, r) : l(e, n, r))
}
];
for (; a < s; a++)
if (n = i.relative[e[a].type])
h = [at(ft(h), n)];
else {
n = i.filter[e[a].type].apply(null, e[a].matches);
if (n[d]) {
r = ++a;
for (; r < s; r++)
if (i.relative[e[r].type])
break;
return ct(a > 1 && ft(h), a > 1 && e.slice(0, a - 1).join("").replace(j, "$1"), n, a < r && ht(e.slice(a, r)), r < s && ht(e = e.slice(r)), r < s && e.join(""))
}
h.push(n)
}
return ft(h)
}
function pt(e, t) {
var r = t.length > 0
, s = e.length > 0
, o = function(u, a, f, l, h) {
var p, d, v, m = [], y = 0, w = "0", x = u && [], t = h != null, n = c, c = u || s && i.find.tag("*", h && a.parentnode || a), k = b += n == null ? 1 : math.e;
t && (c = a !== g && a,
n = o.el);
for (; (p = c[w]) != null; w++) {
if (s && p) {
for (d = 0; v = e[d]; d++)
if (v(p, a, f)) {
l.push(p);
break
}
t && (b = k,
n = ++o.el)
}
r && ((p = !v && p) && y--,
u && x.push(p))
}
y += w;
if (r && w !== y) {
for (d = 0; v = t[d]; d++)
v(x, m, a, f);
if (u) {
if (y > 0)
while (w--)
!x[w] && !m[w] && (m[w] = e.call(l));
m = lt(m)
}
s.apply(l, m),
t && !u && m.length > 0 && y + t.length > 1 && nt.uniquesort(l)
}
return t && (b = k,
c = n),
x
};
return o.el = 0,
r ? n(o) : o
}
function dt(e, t, n) {
var r = 0
, i = t.length;
for (; r < i; r++)
nt(e, t[r], n);
return n
}
function vt(e, t, n, r, s) {
var o, u, f, l, c, h = ut(e), p = h.length;
if (!r && h.length === 1) {
u = h[0] = h[0].slice(0);
if (u.length > 2 && (f = u[0]).type === "id" && t.nodetype === 9 && !s && i.relative[u[1].type]) {
t = i.find.id(f.matches[0].replace($, ""), t, s)[0];
if (!t)
return n;
e = e.slice(u.shift().length)
}
for (o = j.pos.test(e) ? -1 : u.length - 1; o >= 0; o--) {
f = u[o];
if (i.relative[l = f.type])
break;
if (c = i.find[l])
if (r = c(f.matches[0].replace($, ""), z.test(u[0].type) && t.parentnode || t, s)) {
u.splice(o, 1),
e = r.length && u.join("");
if (!e)
return s.apply(n, x.call(r, 0)),
n;
break
}
}
}
return a(e, h)(r, t, s, n, z.test(e)),
n
}
function mt() {}
var n, r, i, s, o, u, a, f, l, c, h = !0, p = "undefined", d = ("sizcache" + math.random()).replace(".", ""), m = string, g = e.document, y = g.documentelement, b = 0, w = 0, e = [].pop, s = [].push, x = [].slice, t = [].indexof || function(e) {
var t = 0
, n = this.length;
for (; t < n; t++)
if (this[t] === e)
return t;
return -1
}
, n = function(e, t) {
return e[d] = t == null || t,
e
}, c = function() {
var e = {}
, t = [];
return n(function(n, r) {
return t.push(n) > i.cachelength && delete e[t.shift()],
e[n + " "] = r
}, e)
}, k = c(), l = c(), a = c(), o = "[\\x20\\t\\r\\n\\f]", m = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", _ = m.replace("w", "w#"), d = "([*^$|!~]?=)", p = "\\[" + o + "*(" + m + ")" + o + "*(?:" + d + o + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + _ + ")|)|)" + o + "*\\]", h = ":(" + m + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + p + ")|[^:]|\\\\.)*|.*))\\)|)", b = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + o + "*((?:-\\d)?\\d*)" + o + "*\\)|)(?=[^-]|$)", j = new regexp("^" + o + "+|((?:^|[^\\\\])(?:\\\\.)*)" + o + "+$","g"), f = new regexp("^" + o + "*," + o + "*"), i = new regexp("^" + o + "*([\\x20\\t\\r\\n\\f>+~])" + o + "*"), q = new regexp(h), r = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, u = /^:not/, z = /[\x20\t\r\n\f]*[+~]/, w = /:not\($/, x = /h\d/i, v = /input|select|textarea|button/i, $ = /\\(?!\\)/g, j = {
id: new regexp("^#(" + m + ")"),
class: new regexp("^\\.(" + m + ")"),
name: new regexp("^\\[name=['\"]?(" + m + ")['\"]?\\]"),
tag: new regexp("^(" + m.replace("w", "w*") + ")"),
attr: new regexp("^" + p),
pseudo: new regexp("^" + h),
pos: new regexp(b,"i"),
child: new regexp("^:(only|nth|first|last)-child(?:\\(" + o + "*(even|odd|(([+-]|)(\\d*)n|)" + o + "*(?:([+-]|)" + o + "*(\\d+)|))" + o + "*\\)|)","i"),
needscontext: new regexp("^" + o + "*[>+~]|" + b,"i")
}, k = function(e) {
var t = g.createelement("div");
try {
return e(t)
} catch (n) {
return !1
} finally {
t = null
}
}, q = k(function(e) {
return e.appendchild(g.createcomment("")),
!e.getelementsbytagname("*").length
}), g = k(function(e) {
return e.innerhtml = "",
e.firstchild && typeof e.firstchild.getattribute !== p && e.firstchild.getattribute("href") === "#"
}), y = k(function(e) {
e.innerhtml = "";
var t = typeof e.lastchild.getattribute("multiple");
return t !== "boolean" && t !== "string"
}), z = k(function(e) {
return e.innerhtml = "",
!e.getelementsbyclassname || !e.getelementsbyclassname("e").length ? !1 : (e.lastchild.classname = "e",
e.getelementsbyclassname("e").length === 2)
}), et = k(function(e) {
e.id = d + 0,
e.innerhtml = "",
y.insertbefore(e, y.firstchild);
var t = g.getelementsbyname && g.getelementsbyname(d).length === 2 + g.getelementsbyname(d + 0).length;
return r = !g.getelementbyid(d),
y.removechild(e),
t
});
try {
x.call(y.childnodes, 0)[0].nodetype
} catch (tt) {
x = function(e) {
var t, n = [];
for (; t = this[e]; e++)
n.push(t);
return n
}
}
nt.matches = function(e, t) {
return nt(e, null, null, t)
}
,
nt.matchesselector = function(e, t) {
return nt(t, null, null, [e]).length > 0
}
,
s = nt.gettext = function(e) {
var t, n = "", r = 0, i = e.nodetype;
if (i) {
if (i === 1 || i === 9 || i === 11) {
if (typeof e.textcontent == "string")
return e.textcontent;
for (e = e.firstchild; e; e = e.nextsibling)
n += s(e)
} else if (i === 3 || i === 4)
return e.nodevalue
} else
for (; t = e[r]; r++)
n += s(t);
return n
}
,
o = nt.isxml = function(e) {
var t = e && (e.ownerdocument || e).documentelement;
return t ? t.nodename !== "html" : !1
}
,
u = nt.contains = y.contains ? function(e, t) {
var n = e.nodetype === 9 ? e.documentelement : e
, r = t && t.parentnode;
return e === r || !!(r && r.nodetype === 1 && n.contains && n.contains(r))
}
: y.comparedocumentposition ? function(e, t) {
return t && !!(e.comparedocumentposition(t) & 16)
}
: function(e, t) {
while (t = t.parentnode)
if (t === e)
return !0;
return !1
}
,
nt.attr = function(e, t) {
var n, r = o(e);
return r || (t = t.tolowercase()),
(n = i.attrhandle[t]) ? n(e) : r || y ? e.getattribute(t) : (n = e.getattributenode(t),
n ? typeof e[t] == "boolean" ? e[t] ? t : null : n.specified ? n.value : null : null)
}
,
i = nt.selectors = {
cachelength: 50,
createpseudo: n,
match: j,
attrhandle: g ? {} : {
href: function(e) {
return e.getattribute("href", 2)
},
type: function(e) {
return e.getattribute("type")
}
},
find: {
id: r ? function(e, t, n) {
if (typeof t.getelementbyid !== p && !n) {
var r = t.getelementbyid(e);
return r && r.parentnode ? [r] : []
}
}
: function(e, n, r) {
if (typeof n.getelementbyid !== p && !r) {
var i = n.getelementbyid(e);
return i ? i.id === e || typeof i.getattributenode !== p && i.getattributenode("id").value === e ? [i] : t : []
}
}
,
tag: q ? function(e, t) {
if (typeof t.getelementsbytagname !== p)
return t.getelementsbytagname(e)
}
: function(e, t) {
var n = t.getelementsbytagname(e);
if (e === "*") {
var r, i = [], s = 0;
for (; r = n[s]; s++)
r.nodetype === 1 && i.push(r);
return i
}
return n
}
,
name: et && function(e, t) {
if (typeof t.getelementsbyname !== p)
return t.getelementsbyname(name)
}
,
class: z && function(e, t, n) {
if (typeof t.getelementsbyclassname !== p && !n)
return t.getelementsbyclassname(e)
}
},
relative: {
">": {
dir: "parentnode",
first: !0
},
" ": {
dir: "parentnode"
},
"+": {
dir: "previoussibling",
first: !0
},
"~": {
dir: "previoussibling"
}
},
prefilter: {
attr: function(e) {
return e[1] = e[1].replace($, ""),
e[3] = (e[4] || e[5] || "").replace($, ""),
e[2] === "~=" && (e[3] = " " + e[3] + " "),
e.slice(0, 4)
},
child: function(e) {
return e[1] = e[1].tolowercase(),
e[1] === "nth" ? (e[2] || nt.error(e[0]),
e[3] = +(e[3] ? e[4] + (e[5] || 1) : 2 * (e[2] === "even" || e[2] === "odd")),
e[4] = +(e[6] + e[7] || e[2] === "odd")) : e[2] && nt.error(e[0]),
e
},
pseudo: function(e) {
var t, n;
if (j.child.test(e[0]))
return null;
if (e[3])
e[2] = e[3];
else if (t = e[4])
q.test(t) && (n = ut(t, !0)) && (n = t.indexof(")", t.length - n) - t.length) && (t = t.slice(0, n),
e[0] = e[0].slice(0, n)),
e[2] = t;
return e.slice(0, 3)
}
},
filter: {
id: r ? function(e) {
return e = e.replace($, ""),
function(t) {
return t.getattribute("id") === e
}
}
: function(e) {
return e = e.replace($, ""),
function(t) {
var n = typeof t.getattributenode !== p && t.getattributenode("id");
return n && n.value === e
}
}
,
tag: function(e) {
return e === "*" ? function() {
return !0
}
: (e = e.replace($, "").tolowercase(),
function(t) {
return t.nodename && t.nodename.tolowercase() === e
}
)
},
class: function(e) {
var t = k[d][e + " "];
return t || (t = new regexp("(^|" + o + ")" + e + "(" + o + "|$)")) && k(e, function(e) {
return t.test(e.classname || typeof e.getattribute !== p && e.getattribute("class") || "")
})
},
attr: function(e, t, n) {
return function(r, i) {
var s = nt.attr(r, e);
return s == null ? t === "!=" : t ? (s += "",
t === "=" ? s === n : t === "!=" ? s !== n : t === "^=" ? n && s.indexof(n) === 0 : t === "*=" ? n && s.indexof(n) > -1 : t === "$=" ? n && s.substr(s.length - n.length) === n : t === "~=" ? (" " + s + " ").indexof(n) > -1 : t === "|=" ? s === n || s.substr(0, n.length + 1) === n + "-" : !1) : !0
}
},
child: function(e, t, n, r) {
return e === "nth" ? function(e) {
var t, i, s = e.parentnode;
if (n === 1 && r === 0)
return !0;
if (s) {
i = 0;
for (t = s.firstchild; t; t = t.nextsibling)
if (t.nodetype === 1) {
i++;
if (e === t)
break
}
}
return i -= r,
i === n || i % n === 0 && i / n >= 0
}
: function(t) {
var n = t;
switch (e) {
case "only":
case "first":
while (n = n.previoussibling)
if (n.nodetype === 1)
return !1;
if (e === "first")
return !0;
n = t;
case "last":
while (n = n.nextsibling)
if (n.nodetype === 1)
return !1;
return !0
}
}
},
pseudo: function(e, t) {
var n, r = i.pseudos[e] || i.setfilters[e.tolowercase()] || nt.error("unsupported pseudo: " + e);
return r[d] ? r(t) : r.length > 1 ? (n = [e, e, "", t],
i.setfilters.hasownproperty(e.tolowercase()) ? n(function(e, n) {
var i, s = r(e, t), o = s.length;
while (o--)
i = t.call(e, s[o]),
e[i] = !(n[i] = s[o])
}) : function(e) {
return r(e, 0, n)
}
) : r
}
},
pseudos: {
not: n(function(e) {
var t = []
, n = []
, r = a(e.replace(j, "$1"));
return r[d] ? n(function(e, t, n, i) {
var s, o = r(e, null, i, []), u = e.length;
while (u--)
if (s = o[u])
e[u] = !(t[u] = s)
}) : function(e, i, s) {
return t[0] = e,
r(t, null, s, n),
!n.pop()
}
}),
has: n(function(e) {
return function(t) {
return nt(e, t).length > 0
}
}),
contains: n(function(e) {
return function(t) {
return (t.textcontent || t.innertext || s(t)).indexof(e) > -1
}
}),
enabled: function(e) {
return e.disabled === !1
},
disabled: function(e) {
return e.disabled === !0
},
checked: function(e) {
var t = e.nodename.tolowercase();
return t === "input" && !!e.checked || t === "option" && !!e.selected
},
selected: function(e) {
return e.parentnode && e.parentnode.selectedindex,
e.selected === !0
},
parent: function(e) {
return !i.pseudos.empty(e)
},
empty: function(e) {
var t;
e = e.firstchild;
while (e) {
if (e.nodename > "@" || (t = e.nodetype) === 3 || t === 4)
return !1;
e = e.nextsibling
}
return !0
},
header: function(e) {
return x.test(e.nodename)
},
text: function(e) {
var t, n;
return e.nodename.tolowercase() === "input" && (t = e.type) === "text" && ((n = e.getattribute("type")) == null || n.tolowercase() === t)
},
radio: rt("radio"),
checkbox: rt("checkbox"),
file: rt("file"),
password: rt("password"),
image: rt("image"),
submit: it("submit"),
reset: it("reset"),
button: function(e) {
var t = e.nodename.tolowercase();
return t === "input" && e.type === "button" || t === "button"
},
input: function(e) {
return v.test(e.nodename)
},
focus: function(e) {
var t = e.ownerdocument;
return e === t.activeelement && (!t.hasfocus || t.hasfocus()) && !!(e.type || e.href || ~e.tabindex)
},
active: function(e) {
return e === e.ownerdocument.activeelement
},
first: st(function() {
return [0]
}),
last: st(function(e, t) {
return [t - 1]
}),
eq: st(function(e, t, n) {
return [n < 0 ? n + t : n]
}),
even: st(function(e, t) {
for (var n = 0; n < t; n += 2)
e.push(n);
return e
}),
odd: st(function(e, t) {
for (var n = 1; n < t; n += 2)
e.push(n);
return e
}),
lt: st(function(e, t, n) {
for (var r = n < 0 ? n + t : n; --r >= 0; )
e.push(r);
return e
}),
gt: st(function(e, t, n) {
for (var r = n < 0 ? n + t : n; ++r < t; )
e.push(r);
return e
})
}
},
f = y.comparedocumentposition ? function(e, t) {
return e === t ? (l = !0,
0) : (!e.comparedocumentposition || !t.comparedocumentposition ? e.comparedocumentposition : e.comparedocumentposition(t) & 4) ? -1 : 1
}
: function(e, t) {
if (e === t)
return l = !0,
0;
if (e.sourceindex && t.sourceindex)
return e.sourceindex - t.sourceindex;
var n, r, i = [], s = [], o = e.parentnode, u = t.parentnode, a = o;
if (o === u)
return ot(e, t);
if (!o)
return -1;
if (!u)
return 1;
while (a)
i.unshift(a),
a = a.parentnode;
a = u;
while (a)
s.unshift(a),
a = a.parentnode;
n = i.length,
r = s.length;
for (var f = 0; f < n && f < r; f++)
if (i[f] !== s[f])
return ot(i[f], s[f]);
return f === n ? ot(e, s[f], -1) : ot(i[f], t, 1)
}
,
[0, 0].sort(f),
h = !l,
nt.uniquesort = function(e) {
var t, n = [], r = 1, i = 0;
l = h,
e.sort(f);
if (l) {
for (; t = e[r]; r++)
t === e[r - 1] && (i = n.push(r));
while (i--)
e.splice(n[i], 1)
}
return e
}
,
nt.error = function(e) {
throw new error("syntax error, unrecognized expression: " + e)
}
,
a = nt.compile = function(e, t) {
var n, r = [], i = [], s = a[d][e + " "];
if (!s) {
t || (t = ut(e)),
n = t.length;
while (n--)
s = ht(t[n]),
s[d] ? r.push(s) : i.push(s);
s = a(e, pt(i, r))
}
return s
}
,
g.queryselectorall && function() {
var e, t = vt, n = /'|\\/g, r = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, i = [":focus"], s = [":active"], u = y.matchesselector || y.mozmatchesselector || y.webkitmatchesselector || y.omatchesselector || y.msmatchesselector;
k(function(e) {
e.innerhtml = "",
e.queryselectorall("[selected]").length || i.push("\\[" + o + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),
e.queryselectorall(":checked").length || i.push(":checked")
}),
k(function(e) {
e.innerhtml = "",
e.queryselectorall("[test^='']").length && i.push("[*^$]=" + o + "*(?:\"\"|'')"),
e.innerhtml = "",
e.queryselectorall(":enabled").length || i.push(":enabled", ":disabled")
}),
i = new regexp(i.join("|")),
vt = function(e, r, s, o, u) {
if (!o && !u && !i.test(e)) {
var a, f, l = !0, c = d, h = r, p = r.nodetype === 9 && e;
if (r.nodetype === 1 && r.nodename.tolowercase() !== "object") {
a = ut(e),
(l = r.getattribute("id")) ? c = l.replace(n, "\\$&") : r.setattribute("id", c),
c = "[id='" + c + "'] ",
f = a.length;
while (f--)
a[f] = c + a[f].join("");
h = z.test(e) && r.parentnode || r,
p = a.join(",")
}
if (p)
try {
return s.apply(s, x.call(h.queryselectorall(p), 0)),
s
} catch (v) {} finally {
l || r.removeattribute("id")
}
}
return t(e, r, s, o, u)
}
,
u && (k(function(t) {
e = u.call(t, "div");
try {
u.call(t, "[test!='']:sizzle"),
s.push("!=", h)
} catch (n) {}
}),
s = new regexp(s.join("|")),
nt.matchesselector = function(t, n) {
n = n.replace(r, "='$1']");
if (!o(t) && !s.test(n) && !i.test(n))
try {
var a = u.call(t, n);
if (a || e || t.document && t.document.nodetype !== 11)
return a
} catch (f) {}
return nt(n, null, null, [t]).length > 0
}
)
}(),
i.pseudos.nth = i.pseudos.eq,
i.filters = mt.prototype = i.pseudos,
i.setfilters = new mt,
nt.attr = v.attr,
v.find = nt,
v.expr = nt.selectors,
v.expr[":"] = v.expr.pseudos,
v.unique = nt.uniquesort,
v.text = nt.gettext,
v.isxmldoc = nt.isxml,
v.contains = nt.contains
}(e);
var nt = /until$/
, rt = /^(?:parents|prev(?:until|all))/
, it = /^.[^:#\[\.,]*$/
, st = v.expr.match.needscontext
, ot = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
v.fn.extend({
find: function(e) {
var t, n, r, i, s, o, u = this;
if (typeof e != "string")
return v(e).filter(function() {
for (t = 0,
n = u.length; t < n; t++)
if (v.contains(u[t], this))
return !0
});
o = this.pushstack("", "find", e);
for (t = 0,
n = this.length; t < n; t++) {
r = o.length,
v.find(e, this[t], o);
if (t > 0)
for (i = r; i < o.length; i++)
for (s = 0; s < r; s++)
if (o[s] === o[i]) {
o.splice(i--, 1);
break
}
}
return o
},
has: function(e) {
var t, n = v(e, this), r = n.length;
return this.filter(function() {
for (t = 0; t < r; t++)
if (v.contains(this, n[t]))
return !0
})
},
not: function(e) {
return this.pushstack(ft(this, e, !1), "not", e)
},
filter: function(e) {
return this.pushstack(ft(this, e, !0), "filter", e)
},
is: function(e) {
return !!e && (typeof e == "string" ? st.test(e) ? v(e, this.context).index(this[0]) >= 0 : v.filter(e, this).length > 0 : this.filter(e).length > 0)
},
closest: function(e, t) {
var n, r = 0, i = this.length, s = [], o = st.test(e) || typeof e != "string" ? v(e, t || this.context) : 0;
for (; r < i; r++) {
n = this[r];
while (n && n.ownerdocument && n !== t && n.nodetype !== 11) {
if (o ? o.index(n) > -1 : v.find.matchesselector(n, e)) {
s.push(n);
break
}
n = n.parentnode
}
}
return s = s.length > 1 ? v.unique(s) : s,
this.pushstack(s, "closest", e)
},
index: function(e) {
return e ? typeof e == "string" ? v.inarray(this[0], v(e)) : v.inarray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentnode ? this.prevall().length : -1
},
add: function(e, t) {
var n = typeof e == "string" ? v(e, t) : v.makearray(e && e.nodetype ? [e] : e)
, r = v.merge(this.get(), n);
return this.pushstack(ut(n[0]) || ut(r[0]) ? r : v.unique(r))
},
addback: function(e) {
return this.add(e == null ? this.prevobject : this.prevobject.filter(e))
}
}),
v.fn.andself = v.fn.addback,
v.each({
parent: function(e) {
var t = e.parentnode;
return t && t.nodetype !== 11 ? t : null
},
parents: function(e) {
return v.dir(e, "parentnode")
},
parentsuntil: function(e, t, n) {
return v.dir(e, "parentnode", n)
},
next: function(e) {
return at(e, "nextsibling")
},
prev: function(e) {
return at(e, "previoussibling")
},
nextall: function(e) {
return v.dir(e, "nextsibling")
},
prevall: function(e) {
return v.dir(e, "previoussibling")
},
nextuntil: function(e, t, n) {
return v.dir(e, "nextsibling", n)
},
prevuntil: function(e, t, n) {
return v.dir(e, "previoussibling", n)
},
siblings: function(e) {
return v.sibling((e.parentnode || {}).firstchild, e)
},
children: function(e) {
return v.sibling(e.firstchild)
},
contents: function(e) {
return v.nodename(e, "iframe") ? e.contentdocument || e.contentwindow.document : v.merge([], e.childnodes)
}
}, function(e, t) {
v.fn[e] = function(n, r) {
var i = v.map(this, t, n);
return nt.test(e) || (r = n),
r && typeof r == "string" && (i = v.filter(r, i)),
i = this.length > 1 && !ot[e] ? v.unique(i) : i,
this.length > 1 && rt.test(e) && (i = i.reverse()),
this.pushstack(i, e, l.call(arguments).join(","))
}
}),
v.extend({
filter: function(e, t, n) {
return n && (e = ":not(" + e + ")"),
t.length === 1 ? v.find.matchesselector(t[0], e) ? [t[0]] : [] : v.find.matches(e, t)
},
dir: function(e, n, r) {
var i = []
, s = e[n];
while (s && s.nodetype !== 9 && (r === t || s.nodetype !== 1 || !v(s).is(r)))
s.nodetype === 1 && i.push(s),
s = s[n];
return i
},
sibling: function(e, t) {
var n = [];
for (; e; e = e.nextsibling)
e.nodetype === 1 && e !== t && n.push(e);
return n
}
});
var ct = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
, ht = / jquery\d+="(?:null|\d+)"/g
, pt = /^\s+/
, dt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi
, vt = /<([\w:]+)/
, mt = /]","i")
, et = /^(?:checkbox|radio)$/
, st = /checked\s*(?:[^=]|=\s*.checked.)/i
, xt = /\/(java|ecma)script/i
, tt = /^\s*\s*$/g
, nt = {
option: [1, ""],
legend: [1, ""],
thead: [1, "