<\/td> t<\/td><\/tr><\/table>", f = u.getElementsByTagName("td"), f[0].style.cssText = "padding:0;margin:0;border:0;display:none", y = f[0].offsetHeight === 0, f[0].style.display = "", f[1].style.display = "none", t.reliableHiddenOffsets = y && f[0].offsetHeight === 0, u.innerHTML = "", u.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%;", i.swap(s, s.style.zoom != null ? {
zoom: 1
} : {}, function() {
t.boxSizing = u.offsetWidth === 4
}), n.getComputedStyle && (t.pixelPosition = (n.getComputedStyle(u, null) || {}).top !== "1%", t.boxSizingReliable = (n.getComputedStyle(u, null) || {
width: "4px"
}).width === "4px", e = u.appendChild(r.createElement("div")), e.style.cssText = u.style.cssText = c, e.style.marginRight = e.style.width = "0", u.style.width = "1px", t.reliableMarginRight = !parseFloat((n.getComputedStyle(e, null) || {}).marginRight)), typeof u.style.zoom !== o && (u.innerHTML = "", u.style.cssText = c + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = u.offsetWidth === 3, u.style.display = "block", u.innerHTML = "<\/div>", u.firstChild.style.width = "5px", t.shrinkWrapBlocks = u.offsetWidth !== 3, t.inlineBlockNeedsLayout && (s.style.zoom = 1)), s.removeChild(h), h = u = f = e = null)
}), a = h = c = l = e = f = null, t
}({});
var gf = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
ne = /([A-Z])/g;
function tr(n, r, u, f) {
if (i.acceptData(n)) {
var h, o, c = i.expando,
l = n.nodeType,
s = l ? i.cache : n,
e = l ? n[c] : n[c] && c;
if (e && s[e] && (f || s[e].data) || u !== t || typeof r != "string") return e || (e = l ? n[c] = b.pop() || i.guid++ : c), s[e] || (s[e] = l ? {} : {
toJSON: i.noop
}), (typeof r == "object" || typeof r == "function") && (f ? s[e] = i.extend(s[e], r) : s[e].data = i.extend(s[e].data, r)), o = s[e], f || (o.data || (o.data = {}), o = o.data), u !== t && (o[i.camelCase(r)] = u), typeof r == "string" ? (h = o[r], h == null && (h = o[i.camelCase(r)])) : h = o, h
}
}
function ir(n, t, r) {
if (i.acceptData(n)) {
var f, o, s = n.nodeType,
u = s ? i.cache : n,
e = s ? n[i.expando] : i.expando;
if (u[e]) {
if (t && (f = r ? u[e] : u[e].data, f)) {
for (i.isArray(t) ? t = t.concat(i.map(t, i.camelCase)) : (t in f) ? t = [t] : (t = i.camelCase(t), t = t in f ? [t] : t.split(" ")), o = t.length; o--;) delete f[t[o]];
if (r ? !dt(f) : !i.isEmptyObject(f)) return
}(r || (delete u[e].data, dt(u[e]))) && (s ? i.cleanData([n], !0) : i.support.deleteExpando || u != u.window ? delete u[e] : u[e] = null)
}
}
}
i.extend({
cache: {},
noData: {
applet: !0,
embed: !0,
object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
},
hasData: function(n) {
return n = n.nodeType ? i.cache[n[i.expando]] : n[i.expando], !!n && !dt(n)
},
data: function(n, t, i) {
return tr(n, t, i)
},
removeData: function(n, t) {
return ir(n, t)
},
_data: function(n, t, i) {
return tr(n, t, i, !0)
},
_removeData: function(n, t) {
return ir(n, t, !0)
},
acceptData: function(n) {
if (n.nodeType && n.nodeType !== 1 && n.nodeType !== 9) return !1;
var t = n.nodeName && i.noData[n.nodeName.toLowerCase()];
return !t || t !== !0 && n.getAttribute("classid") === t
}
});
i.fn.extend({
data: function(n, r) {
var e, f, o = null,
s = 0,
u = this[0];
if (n === t) {
if (this.length && (o = i.data(u), u.nodeType === 1 && !i._data(u, "parsedAttrs"))) {
for (e = u.attributes; s < e.length; s++) f = e[s].name, f.indexOf("data-") === 0 && (f = i.camelCase(f.slice(5)), rr(u, f, o[f]));
i._data(u, "parsedAttrs", !0)
}
return o
}
return typeof n == "object" ? this.each(function() {
i.data(this, n)
}) : arguments.length > 1 ? this.each(function() {
i.data(this, n, r)
}) : u ? rr(u, n, i.data(u, n)) : null
},
removeData: function(n) {
return this.each(function() {
i.removeData(this, n)
})
}
});
function rr(n, r, u) {
if (u === t && n.nodeType === 1) {
var f = "data-" + r.replace(ne, "-$1").toLowerCase();
if (u = n.getAttribute(f), typeof u == "string") {
try {
u = u === "true" ? !0 : u === "false" ? !1 : u === "null" ? null : +u + "" === u ? +u : gf.test(u) ? i.parseJSON(u) : u
} catch (e) {}
i.data(n, r, u)
} else u = t
}
return u
}
function dt(n) {
for (var t in n)
if ((t !== "data" || !i.isEmptyObject(n[t])) && t !== "toJSON") return !1;
return !0
}
i.extend({
queue: function(n, t, r) {
var u;
if (n) return t = (t || "fx") + "queue", u = i._data(n, t), r && (!u || i.isArray(r) ? u = i._data(n, t, i.makeArray(r)) : u.push(r)), u || []
},
dequeue: function(n, t) {
t = t || "fx";
var r = i.queue(n, t),
e = r.length,
u = r.shift(),
f = i._queueHooks(n, t),
o = function() {
i.dequeue(n, t)
};
u === "inprogress" && (u = r.shift(), e--);
u && (t === "fx" && r.unshift("inprogress"), delete f.stop, u.call(n, o, f));
!e && f && f.empty.fire()
},
_queueHooks: function(n, t) {
var r = t + "queueHooks";
return i._data(n, r) || i._data(n, r, {
empty: i.Callbacks("once memory").add(function() {
i._removeData(n, t + "queue");
i._removeData(n, r)
})
})
}
});
i.fn.extend({
queue: function(n, r) {
var u = 2;
return (typeof n != "string" && (r = n, n = "fx", u--), arguments.length < u) ? i.queue(this[0], n) : r === t ? this : this.each(function() {
var t = i.queue(this, n, r);
i._queueHooks(this, n);
n === "fx" && t[0] !== "inprogress" && i.dequeue(this, n)
})
},
dequeue: function(n) {
return this.each(function() {
i.dequeue(this, n)
})
},
delay: function(n, t) {
return n = i.fx ? i.fx.speeds[n] || n : n, t = t || "fx", this.queue(t, function(t, i) {
var r = setTimeout(t, n);
i.stop = function() {
clearTimeout(r)
}
})
},
clearQueue: function(n) {
return this.queue(n || "fx", [])
},
promise: function(n, r) {
var u, e = 1,
o = i.Deferred(),
f = this,
s = this.length,
h = function() {
--e || o.resolveWith(f, [f])
};
for (typeof n != "string" && (r = n, n = t), n = n || "fx"; s--;) u = i._data(f[s], n + "queueHooks"), u && u.empty && (e++, u.empty.add(h));
return h(), o.promise(r)
}
});
var d, ur, gt = /[\t\r\n\f]/g,
te = /\r/g,
ie = /^(?:input|select|textarea|button|object)$/i,
re = /^(?:a|area)$/i,
ni = /^(?:checked|selected)$/i,
a = i.support.getSetAttribute,
ht = i.support.input;
i.fn.extend({
attr: function(n, t) {
return i.access(this, i.attr, n, t, arguments.length > 1)
},
removeAttr: function(n) {
return this.each(function() {
i.removeAttr(this, n)
})
},
prop: function(n, t) {
return i.access(this, i.prop, n, t, arguments.length > 1)
},
removeProp: function(n) {
return n = i.propFix[n] || n, this.each(function() {
try {
this[n] = t;
delete this[n]
} catch (i) {}
})
},
addClass: function(n) {
var e, t, r, u, o, f = 0,
h = this.length,
c = typeof n == "string" && n;
if (i.isFunction(n)) return this.each(function(t) {
i(this).addClass(n.call(this, t, this.className))
});
if (c)
for (e = (n || "").match(s) || []; f < h; f++)
if (t = this[f], r = t.nodeType === 1 && (t.className ? (" " + t.className + " ").replace(gt, " ") : " "), r) {
for (o = 0; u = e[o++];) r.indexOf(" " + u + " ") < 0 && (r += u + " ");
t.className = i.trim(r)
}
return this
},
removeClass: function(n) {
var e, r, t, u, o, f = 0,
h = this.length,
c = arguments.length === 0 || typeof n == "string" && n;
if (i.isFunction(n)) return this.each(function(t) {
i(this).removeClass(n.call(this, t, this.className))
});
if (c)
for (e = (n || "").match(s) || []; f < h; f++)
if (r = this[f], t = r.nodeType === 1 && (r.className ? (" " + r.className + " ").replace(gt, " ") : ""), t) {
for (o = 0; u = e[o++];)
while (t.indexOf(" " + u + " ") >= 0) t = t.replace(" " + u + " ", " ");
r.className = n ? i.trim(t) : ""
}
return this
},
toggleClass: function(n, t) {
var r = typeof n;
return typeof t == "boolean" && r === "string" ? t ? this.addClass(n) : this.removeClass(n) : i.isFunction(n) ? this.each(function(r) {
i(this).toggleClass(n.call(this, r, this.className, t), t)
}) : this.each(function() {
if (r === "string")
for (var t, f = 0, u = i(this), e = n.match(s) || []; t = e[f++];) u.hasClass(t) ? u.removeClass(t) : u.addClass(t);
else(r === o || r === "boolean") && (this.className && i._data(this, "__className__", this.className), this.className = this.className || n === !1 ? "" : i._data(this, "__className__") || "")
})
},
hasClass: function(n) {
for (var i = " " + n + " ", t = 0, r = this.length; t < r; t++)
if (this[t].nodeType === 1 && (" " + this[t].className + " ").replace(gt, " ").indexOf(i) >= 0) return !0;
return !1
},
val: function(n) {
var u, r, e, f = this[0];
return arguments.length ? (e = i.isFunction(n), this.each(function(u) {
var f;
this.nodeType === 1 && (f = e ? n.call(this, u, i(this).val()) : n, f == null ? f = "" : typeof f == "number" ? f += "" : i.isArray(f) && (f = i.map(f, function(n) {
return n == null ? "" : n + ""
})), r = i.valHooks[this.type] || i.valHooks[this.nodeName.toLowerCase()], r && "set" in r && r.set(this, f, "value") !== t || (this.value = f))
})) : f ? (r = i.valHooks[f.type] || i.valHooks[f.nodeName.toLowerCase()], r && "get" in r && (u = r.get(f, "value")) !== t) ? u : (u = f.value, typeof u == "string" ? u.replace(te, "") : u == null ? "" : u) : void 0
}
});
i.extend({
valHooks: {
option: {
get: function(n) {
var t = i.find.attr(n, "value");
return t != null ? t : n.text
}
},
select: {
get: function(n) {
for (var e, t, o = n.options, r = n.selectedIndex, u = n.type === "select-one" || r < 0, s = u ? null : [], h = u ? r + 1 : o.length, f = r < 0 ? h : u ? r : 0; f < h; f++)
if (t = o[f], (t.selected || f === r) && (i.support.optDisabled ? !t.disabled : t.getAttribute("disabled") === null) && (!t.parentNode.disabled || !i.nodeName(t.parentNode, "optgroup"))) {
if (e = i(t).val(), u) return e;
s.push(e)
}
return s
},
set: function(n, t) {
for (var u, r, f = n.options, e = i.makeArray(t), o = f.length; o--;) r = f[o], (r.selected = i.inArray(i(r).val(), e) >= 0) && (u = !0);
return u || (n.selectedIndex = -1), e
}
}
},
attr: function(n, r, u) {
var f, e, s = n.nodeType;
if (n && s !== 3 && s !== 8 && s !== 2) {
if (typeof n.getAttribute === o) return i.prop(n, r, u);
if (s === 1 && i.isXMLDoc(n) || (r = r.toLowerCase(), f = i.attrHooks[r] || (i.expr.match.bool.test(r) ? ur : d)), u !== t)
if (u === null) i.removeAttr(n, r);
else return f && "set" in f && (e = f.set(n, u, r)) !== t ? e : (n.setAttribute(r, u + ""), u);
else return f && "get" in f && (e = f.get(n, r)) !== null ? e : (e = i.find.attr(n, r), e == null ? t : e)
}
},
removeAttr: function(n, t) {
var r, u, e = 0,
f = t && t.match(s);
if (f && n.nodeType === 1)
while (r = f[e++]) u = i.propFix[r] || r, i.expr.match.bool.test(r) ? ht && a || !ni.test(r) ? n[u] = !1 : n[i.camelCase("default-" + r)] = n[u] = !1 : i.attr(n, r, ""), n.removeAttribute(a ? r : u)
},
attrHooks: {
type: {
set: function(n, t) {
if (!i.support.radioValue && t === "radio" && i.nodeName(n, "input")) {
var r = n.value;
return n.setAttribute("type", t), r && (n.value = r), t
}
}
}
},
propFix: {
"for": "htmlFor",
"class": "className"
},
prop: function(n, r, u) {
var e, f, s, o = n.nodeType;
if (n && o !== 3 && o !== 8 && o !== 2) return s = o !== 1 || !i.isXMLDoc(n), s && (r = i.propFix[r] || r, f = i.propHooks[r]), u !== t ? f && "set" in f && (e = f.set(n, u, r)) !== t ? e : n[r] = u : f && "get" in f && (e = f.get(n, r)) !== null ? e : n[r]
},
propHooks: {
tabIndex: {
get: function(n) {
var t = i.find.attr(n, "tabindex");
return t ? parseInt(t, 10) : ie.test(n.nodeName) || re.test(n.nodeName) && n.href ? 0 : -1
}
}
}
});
ur = {
set: function(n, t, r) {
return t === !1 ? i.removeAttr(n, r) : ht && a || !ni.test(r) ? n.setAttribute(!a && i.propFix[r] || r, r) : n[i.camelCase("default-" + r)] = n[r] = !0, r
}
};
i.each(i.expr.match.bool.source.match(/\w+/g), function(n, r) {
var u = i.expr.attrHandle[r] || i.find.attr;
i.expr.attrHandle[r] = ht && a || !ni.test(r) ? function(n, r, f) {
var e = i.expr.attrHandle[r],
o = f ? t : (i.expr.attrHandle[r] = t) != u(n, r, f) ? r.toLowerCase() : null;
return i.expr.attrHandle[r] = e, o
} : function(n, r, u) {
return u ? t : n[i.camelCase("default-" + r)] ? r.toLowerCase() : null
}
});
ht && a || (i.attrHooks.value = {
set: function(n, t, r) {
if (i.nodeName(n, "input")) n.defaultValue = t;
else return d && d.set(n, t, r)
}
});
a || (d = {
set: function(n, i, r) {
var u = n.getAttributeNode(r);
return u || n.setAttributeNode(u = n.ownerDocument.createAttribute(r)), u.value = i += "", r === "value" || i === n.getAttribute(r) ? i : t
}
}, i.expr.attrHandle.id = i.expr.attrHandle.name = i.expr.attrHandle.coords = function(n, i, r) {
var u;
return r ? t : (u = n.getAttributeNode(i)) && u.value !== "" ? u.value : null
}, i.valHooks.button = {
get: function(n, i) {
var r = n.getAttributeNode(i);
return r && r.specified ? r.value : t
},
set: d.set
}, i.attrHooks.contenteditable = {
set: function(n, t, i) {
d.set(n, t === "" ? !1 : t, i)
}
}, i.each(["width", "height"], function(n, t) {
i.attrHooks[t] = {
set: function(n, i) {
if (i === "") return n.setAttribute(t, "auto"), i
}
}
}));
i.support.hrefNormalized || i.each(["href", "src"], function(n, t) {
i.propHooks[t] = {
get: function(n) {
return n.getAttribute(t, 4)
}
}
});
i.support.style || (i.attrHooks.style = {
get: function(n) {
return n.style.cssText || t
},
set: function(n, t) {
return n.style.cssText = t + ""
}
});
i.support.optSelected || (i.propHooks.selected = {
get: function(n) {
var t = n.parentNode;
return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null
}
});
i.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
i.propFix[this.toLowerCase()] = this
});
i.support.enctype || (i.propFix.enctype = "encoding");
i.each(["radio", "checkbox"], function() {
i.valHooks[this] = {
set: function(n, t) {
if (i.isArray(t)) return n.checked = i.inArray(i(n).val(), t) >= 0
}
};
i.support.checkOn || (i.valHooks[this].get = function(n) {
return n.getAttribute("value") === null ? "on" : n.value
})
});
var ti = /^(?:input|select|textarea)$/i,
ue = /^key/,
fe = /^(?:mouse|contextmenu)|click/,
fr = /^(?:focusinfocus|focusoutblur)$/,
er = /^([^.]*)(?:\.(.+)|)$/;
function ct() {
return !0
}
function g() {
return !1
}
function or() {
try {
return r.activeElement
} catch (n) {}
}
i.event = {
global: {},
add: function(n, r, u, f, e) {
var b, p, k, w, c, l, a, v, h, d, g, y = i._data(n);
if (y) {
for (u.handler && (w = u, u = w.handler, e = w.selector), u.guid || (u.guid = i.guid++), (p = y.events) || (p = y.events = {}), (l = y.handle) || (l = y.handle = function(n) {
return typeof i !== o && (!n || i.event.triggered !== n.type) ? i.event.dispatch.apply(l.elem, arguments) : t
}, l.elem = n), r = (r || "").match(s) || [""], k = r.length; k--;)(b = er.exec(r[k]) || [], h = g = b[1], d = (b[2] || "").split(".").sort(), h) && (c = i.event.special[h] || {}, h = (e ? c.delegateType : c.bindType) || h, c = i.event.special[h] || {}, a = i.extend({
type: h,
origType: g,
data: f,
handler: u,
guid: u.guid,
selector: e,
needsContext: e && i.expr.match.needsContext.test(e),
namespace: d.join(".")
}, w), (v = p[h]) || (v = p[h] = [], v.delegateCount = 0, c.setup && c.setup.call(n, f, d, l) !== !1 || (n.addEventListener ? n.addEventListener(h, l, !1) : n.attachEvent && n.attachEvent("on" + h, l))), c.add && (c.add.call(n, a), a.handler.guid || (a.handler.guid = u.guid)), e ? v.splice(v.delegateCount++, 0, a) : v.push(a), i.event.global[h] = !0);
n = null
}
},
remove: function(n, t, r, u, f) {
var y, o, h, b, p, a, c, l, e, w, k, v = i.hasData(n) && i._data(n);
if (v && (a = v.events)) {
for (t = (t || "").match(s) || [""], p = t.length; p--;) {
if (h = er.exec(t[p]) || [], e = k = h[1], w = (h[2] || "").split(".").sort(), !e) {
for (e in a) i.event.remove(n, e + t[p], r, u, !0);
continue
}
for (c = i.event.special[e] || {}, e = (u ? c.delegateType : c.bindType) || e, l = a[e] || [], h = h[2] && new RegExp("(^|\\.)" + w.join("\\.(?:.*\\.|)") + "(\\.|$)"), b = y = l.length; y--;) o = l[y], (f || k === o.origType) && (!r || r.guid === o.guid) && (!h || h.test(o.namespace)) && (!u || u === o.selector || u === "**" && o.selector) && (l.splice(y, 1), o.selector && l.delegateCount--, c.remove && c.remove.call(n, o));
b && !l.length && (c.teardown && c.teardown.call(n, w, v.handle) !== !1 || i.removeEvent(n, e, v.handle), delete a[e])
}
i.isEmptyObject(a) && (delete v.handle, i._removeData(n, "events"))
}
},
trigger: function(u, f, e, o) {
var a, v, s, w, l, c, b, p = [e || r],
h = k.call(u, "type") ? u.type : u,
y = k.call(u, "namespace") ? u.namespace.split(".") : [];
if ((s = c = e = e || r, e.nodeType !== 3 && e.nodeType !== 8) && !fr.test(h + i.event.triggered) && (h.indexOf(".") >= 0 && (y = h.split("."), h = y.shift(), y.sort()), v = h.indexOf(":") < 0 && "on" + h, u = u[i.expando] ? u : new i.Event(h, typeof u == "object" && u), u.isTrigger = o ? 2 : 3, u.namespace = y.join("."), u.namespace_re = u.namespace ? new RegExp("(^|\\.)" + y.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, u.result = t, u.target || (u.target = e), f = f == null ? [u] : i.makeArray(f, [u]), l = i.event.special[h] || {}, o || !l.trigger || l.trigger.apply(e, f) !== !1)) {
if (!o && !l.noBubble && !i.isWindow(e)) {
for (w = l.delegateType || h, fr.test(w + h) || (s = s.parentNode); s; s = s.parentNode) p.push(s), c = s;
c === (e.ownerDocument || r) && p.push(c.defaultView || c.parentWindow || n)
}
for (b = 0;
(s = p[b++]) && !u.isPropagationStopped();) u.type = b > 1 ? w : l.bindType || h, a = (i._data(s, "events") || {})[u.type] && i._data(s, "handle"), a && a.apply(s, f), a = v && s[v], a && i.acceptData(s) && a.apply && a.apply(s, f) === !1 && u.preventDefault();
if (u.type = h, !o && !u.isDefaultPrevented() && (!l._default || l._default.apply(p.pop(), f) === !1) && i.acceptData(e) && v && e[h] && !i.isWindow(e)) {
c = e[v];
c && (e[v] = null);
i.event.triggered = h;
try {
e[h]()
} catch (d) {}
i.event.triggered = t;
c && (e[v] = c)
}
return u.result
}
},
dispatch: function(n) {
n = i.event.fix(n);
var o, e, r, u, s, h = [],
c = l.call(arguments),
a = (i._data(this, "events") || {})[n.type] || [],
f = i.event.special[n.type] || {};
if (c[0] = n, n.delegateTarget = this, !f.preDispatch || f.preDispatch.call(this, n) !== !1) {
for (h = i.event.handlers.call(this, n, a), o = 0;
(u = h[o++]) && !n.isPropagationStopped();)
for (n.currentTarget = u.elem, s = 0;
(r = u.handlers[s++]) && !n.isImmediatePropagationStopped();)(!n.namespace_re || n.namespace_re.test(r.namespace)) && (n.handleObj = r, n.data = r.data, e = ((i.event.special[r.origType] || {}).handle || r.handler).apply(u.elem, c), e !== t && (n.result = e) === !1 && (n.preventDefault(), n.stopPropagation()));
return f.postDispatch && f.postDispatch.call(this, n), n.result
}
},
handlers: function(n, r) {
var e, o, f, s, c = [],
h = r.delegateCount,
u = n.target;
if (h && u.nodeType && (!n.button || n.type !== "click"))
for (; u != this; u = u.parentNode || this)
if (u.nodeType === 1 && (u.disabled !== !0 || n.type !== "click")) {
for (f = [], s = 0; s < h; s++) o = r[s], e = o.selector + " ", f[e] === t && (f[e] = o.needsContext ? i(e, this).index(u) >= 0 : i.find(e, this, null, [u]).length), f[e] && f.push(o);
f.length && c.push({
elem: u,
handlers: f
})
}
return h < r.length && c.push({
elem: this,
handlers: r.slice(h)
}), c
},
fix: function(n) {
if (n[i.expando]) return n;
var e, o, s, u = n.type,
f = n,
t = this.fixHooks[u];
for (t || (this.fixHooks[u] = t = fe.test(u) ? this.mouseHooks : ue.test(u) ? this.keyHooks : {}), s = t.props ? this.props.concat(t.props) : this.props, n = new i.Event(f), e = s.length; e--;) o = s[e], n[o] = f[o];
return n.target || (n.target = f.srcElement || r), n.target.nodeType === 3 && (n.target = n.target.parentNode), n.metaKey = !!n.metaKey, t.filter ? t.filter(n, f) : n
},
props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
fixHooks: {},
keyHooks: {
props: "char charCode key keyCode".split(" "),
filter: function(n, t) {
return n.which == null && (n.which = t.charCode != null ? t.charCode : t.keyCode), n
}
},
mouseHooks: {
props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
filter: function(n, i) {
var u, o, f, e = i.button,
s = i.fromElement;
return n.pageX == null && i.clientX != null && (o = n.target.ownerDocument || r, f = o.documentElement, u = o.body, n.pageX = i.clientX + (f && f.scrollLeft || u && u.scrollLeft || 0) - (f && f.clientLeft || u && u.clientLeft || 0), n.pageY = i.clientY + (f && f.scrollTop || u && u.scrollTop || 0) - (f && f.clientTop || u && u.clientTop || 0)), !n.relatedTarget && s && (n.relatedTarget = s === n.target ? i.toElement : s), n.which || e === t || (n.which = e & 1 ? 1 : e & 2 ? 3 : e & 4 ? 2 : 0), n
}
},
special: {
load: {
noBubble: !0
},
focus: {
trigger: function() {
if (this !== or() && this.focus) try {
return this.focus(), !1
} catch (n) {}
},
delegateType: "focusin"
},
blur: {
trigger: function() {
if (this === or() && this.blur) return this.blur(), !1
},
delegateType: "focusout"
},
click: {
trigger: function() {
if (i.nodeName(this, "input") && this.type === "checkbox" && this.click) return this.click(), !1
},
_default: function(n) {
return i.nodeName(n.target, "a")
}
},
beforeunload: {
postDispatch: function(n) {
n.result !== t && (n.originalEvent.returnValue = n.result)
}
}
},
simulate: function(n, t, r, u) {
var f = i.extend(new i.Event, r, {
type: n,
isSimulated: !0,
originalEvent: {}
});
u ? i.event.trigger(f, null, t) : i.event.dispatch.call(t, f);
f.isDefaultPrevented() && r.preventDefault()
}
};
i.removeEvent = r.removeEventListener ? function(n, t, i) {
n.removeEventListener && n.removeEventListener(t, i, !1)
} : function(n, t, i) {
var r = "on" + t;
n.detachEvent && (typeof n[r] === o && (n[r] = null), n.detachEvent(r, i))
};
i.Event = function(n, t) {
if (!(this instanceof i.Event)) return new i.Event(n, t);
n && n.type ? (this.originalEvent = n, this.type = n.type, this.isDefaultPrevented = n.defaultPrevented || n.returnValue === !1 || n.getPreventDefault && n.getPreventDefault() ? ct : g) : this.type = n;
t && i.extend(this, t);
this.timeStamp = n && n.timeStamp || i.now();
this[i.expando] = !0
};
i.Event.prototype = {
isDefaultPrevented: g,
isPropagationStopped: g,
isImmediatePropagationStopped: g,
preventDefault: function() {
var n = this.originalEvent;
(this.isDefaultPrevented = ct, n) && (n.preventDefault ? n.preventDefault() : n.returnValue = !1)
},
stopPropagation: function() {
var n = this.originalEvent;
(this.isPropagationStopped = ct, n) && (n.stopPropagation && n.stopPropagation(), n.cancelBubble = !0)
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = ct;
this.stopPropagation()
}
};
i.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function(n, t) {
i.event.special[n] = {
delegateType: t,
bindType: t,
handle: function(n) {
var u, f = this,
r = n.relatedTarget,
e = n.handleObj;
return r && (r === f || i.contains(f, r)) || (n.type = e.origType, u = e.handler.apply(this, arguments), n.type = t), u
}
}
});
i.support.submitBubbles || (i.event.special.submit = {
setup: function() {
if (i.nodeName(this, "form")) return !1;
i.event.add(this, "click._submit keypress._submit", function(n) {
var u = n.target,
r = i.nodeName(u, "input") || i.nodeName(u, "button") ? u.form : t;
r && !i._data(r, "submitBubbles") && (i.event.add(r, "submit._submit", function(n) {
n._submit_bubble = !0
}), i._data(r, "submitBubbles", !0))
})
},
postDispatch: function(n) {
n._submit_bubble && (delete n._submit_bubble, this.parentNode && !n.isTrigger && i.event.simulate("submit", this.parentNode, n, !0))
},
teardown: function() {
if (i.nodeName(this, "form")) return !1;
i.event.remove(this, "._submit")
}
});
i.support.changeBubbles || (i.event.special.change = {
setup: function() {
if (ti.test(this.nodeName)) return (this.type === "checkbox" || this.type === "radio") && (i.event.add(this, "propertychange._change", function(n) {
n.originalEvent.propertyName === "checked" && (this._just_changed = !0)
}), i.event.add(this, "click._change", function(n) {
this._just_changed && !n.isTrigger && (this._just_changed = !1);
i.event.simulate("change", this, n, !0)
})), !1;
i.event.add(this, "beforeactivate._change", function(n) {
var t = n.target;
ti.test(t.nodeName) && !i._data(t, "changeBubbles") && (i.event.add(t, "change._change", function(n) {
!this.parentNode || n.isSimulated || n.isTrigger || i.event.simulate("change", this.parentNode, n, !0)
}), i._data(t, "changeBubbles", !0))
})
},
handle: function(n) {
var t = n.target;
if (this !== t || n.isSimulated || n.isTrigger || t.type !== "radio" && t.type !== "checkbox") return n.handleObj.handler.apply(this, arguments)
},
teardown: function() {
return i.event.remove(this, "._change"), !ti.test(this.nodeName)
}
});
i.support.focusinBubbles || i.each({
focus: "focusin",
blur: "focusout"
}, function(n, t) {
var u = 0,
f = function(n) {
i.event.simulate(t, n.target, i.event.fix(n), !0)
};
i.event.special[t] = {
setup: function() {
u++ == 0 && r.addEventListener(n, f, !0)
},
teardown: function() {
--u == 0 && r.removeEventListener(n, f, !0)
}
}
});
i.fn.extend({
on: function(n, r, u, f, e) {
var s, o;
if (typeof n == "object") {
typeof r != "string" && (u = u || r, r = t);
for (s in n) this.on(s, r, u, n[s], e);
return this
}
if (u == null && f == null ? (f = r, u = r = t) : f == null && (typeof r == "string" ? (f = u, u = t) : (f = u, u = r, r = t)), f === !1) f = g;
else if (!f) return this;
return e === 1 && (o = f, f = function(n) {
return i().off(n), o.apply(this, arguments)
}, f.guid = o.guid || (o.guid = i.guid++)), this.each(function() {
i.event.add(this, n, f, u, r)
})
},
one: function(n, t, i, r) {
return this.on(n, t, i, r, 1)
},
off: function(n, r, u) {
var f, e;
if (n && n.preventDefault && n.handleObj) return f = n.handleObj, i(n.delegateTarget).off(f.namespace ? f.origType + "." + f.namespace : f.origType, f.selector, f.handler), this;
if (typeof n == "object") {
for (e in n) this.off(e, r, n[e]);
return this
}
return (r === !1 || typeof r == "function") && (u = r, r = t), u === !1 && (u = g), this.each(function() {
i.event.remove(this, n, u, r)
})
},
trigger: function(n, t) {
return this.each(function() {
i.event.trigger(n, t, this)
})
},
triggerHandler: function(n, t) {
var r = this[0];
if (r) return i.event.trigger(n, t, r, !0)
}
});
var ee = /^.[^:#\[\.,]*$/,
oe = /^(?:parents|prev(?:Until|All))/,
sr = i.expr.match.needsContext,
se = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
i.fn.extend({
find: function(n) {
var t, r = [],
u = this,
f = u.length;
if (typeof n != "string") return this.pushStack(i(n).filter(function() {
for (t = 0; t < f; t++)
if (i.contains(u[t], this)) return !0
}));
for (t = 0; t < f; t++) i.find(n, u[t], r);
return r = this.pushStack(f > 1 ? i.unique(r) : r), r.selector = this.selector ? this.selector + " " + n : n, r
},
has: function(n) {
var t, r = i(n, this),
u = r.length;
return this.filter(function() {
for (t = 0; t < u; t++)
if (i.contains(this, r[t])) return !0
})
},
not: function(n) {
return this.pushStack(ii(this, n || [], !0))
},
filter: function(n) {
return this.pushStack(ii(this, n || [], !1))
},
is: function(n) {
return !!ii(this, typeof n == "string" && sr.test(n) ? i(n) : n || [], !1).length
},
closest: function(n, t) {
for (var r, f = 0, o = this.length, u = [], e = sr.test(n) || typeof n != "string" ? i(n, t || this.context) : 0; f < o; f++)
for (r = this[f]; r && r !== t; r = r.parentNode)
if (r.nodeType < 11 && (e ? e.index(r) > -1 : r.nodeType === 1 && i.find.matchesSelector(r, n))) {
r = u.push(r);
break
}
return this.pushStack(u.length > 1 ? i.unique(u) : u)
},
index: function(n) {
return n ? typeof n == "string" ? i.inArray(this[0], i(n)) : i.inArray(n.jquery ? n[0] : n, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
},
add: function(n, t) {
var r = typeof n == "string" ? i(n, t) : i.makeArray(n && n.nodeType ? [n] : n),
u = i.merge(this.get(), r);
return this.pushStack(i.unique(u))
},
addBack: function(n) {
return this.add(n == null ? this.prevObject : this.prevObject.filter(n))
}
});
function hr(n, t) {
do n = n[t]; while (n && n.nodeType !== 1);
return n
}
i.each({
parent: function(n) {
var t = n.parentNode;
return t && t.nodeType !== 11 ? t : null
},
parents: function(n) {
return i.dir(n, "parentNode")
},
parentsUntil: function(n, t, r) {
return i.dir(n, "parentNode", r)
},
next: function(n) {
return hr(n, "nextSibling")
},
prev: function(n) {
return hr(n, "previousSibling")
},
nextAll: function(n) {
return i.dir(n, "nextSibling")
},
prevAll: function(n) {
return i.dir(n, "previousSibling")
},
nextUntil: function(n, t, r) {
return i.dir(n, "nextSibling", r)
},
prevUntil: function(n, t, r) {
return i.dir(n, "previousSibling", r)
},
siblings: function(n) {
return i.sibling((n.parentNode || {}).firstChild, n)
},
children: function(n) {
return i.sibling(n.firstChild)
},
contents: function(n) {
return i.nodeName(n, "iframe") ? n.contentDocument || n.contentWindow.document : i.merge([], n.childNodes)
}
}, function(n, t) {
i.fn[n] = function(r, u) {
var f = i.map(this, t, r);
return n.slice(-5) !== "Until" && (u = r), u && typeof u == "string" && (f = i.filter(u, f)), this.length > 1 && (se[n] || (f = i.unique(f)), oe.test(n) && (f = f.reverse())), this.pushStack(f)
}
});
i.extend({
filter: function(n, t, r) {
var u = t[0];
return r && (n = ":not(" + n + ")"), t.length === 1 && u.nodeType === 1 ? i.find.matchesSelector(u, n) ? [u] : [] : i.find.matches(n, i.grep(t, function(n) {
return n.nodeType === 1
}))
},
dir: function(n, r, u) {
for (var e = [], f = n[r]; f && f.nodeType !== 9 && (u === t || f.nodeType !== 1 || !i(f).is(u));) f.nodeType === 1 && e.push(f), f = f[r];
return e
},
sibling: function(n, t) {
for (var i = []; n; n = n.nextSibling) n.nodeType === 1 && n !== t && i.push(n);
return i
}
});
function ii(n, t, r) {
if (i.isFunction(t)) return i.grep(n, function(n, i) {
return !!t.call(n, i, n) !== r
});
if (t.nodeType) return i.grep(n, function(n) {
return n === t !== r
});
if (typeof t == "string") {
if (ee.test(t)) return i.filter(t, n, r);
t = i.filter(t, n)
}
return i.grep(n, function(n) {
return i.inArray(n, t) >= 0 !== r
})
}
function cr(n) {
var i = lr.split("|"),
t = n.createDocumentFragment();
if (t.createElement)
while (i.length) t.createElement(i.pop());
return t
}
var lr = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
he = / jQuery\d+="(?:null|\d+)"/g,
ar = new RegExp("<(?:" + lr + ")[\\s/>]", "i"),
ri = /^\s+/,
vr = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
yr = /<([\w:]+)/,
pr = /
\s*$/g,
e = {
option: [1, "", "<\/select>"],
legend: [1, "", "<\/fieldset>"],
area: [1, "", "<\/map>"],
param: [1, "", "<\/object>"],
thead: [1, "", "<\/table>"],
tr: [2, "", "<\/tbody><\/table>"],
col: [2, "<\/tbody>", "<\/colgroup><\/table>"],
td: [3, "", "<\/tr><\/tbody><\/table>"],
_default: i.support.htmlSerialize ? [0, "", ""] : [1, "X", "<\/div>"]
},
pe = cr(r),
fi = pe.appendChild(r.createElement("div"));
e.optgroup = e.option;
e.tbody = e.tfoot = e.colgroup = e.caption = e.thead;
e.th = e.td;
i.fn.extend({
text: function(n) {
return i.access(this, function(n) {
return n === t ? i.text(this) : this.empty().append((this[0] && this[0].ownerDocument || r).createTextNode(n))
}, null, n, arguments.length)
},
append: function() {
return this.domManip(arguments, function(n) {
if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {
var t = br(this, n);
t.appendChild(n)
}
})
},
prepend: function() {
return this.domManip(arguments, function(n) {
if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {
var t = br(this, n);
t.insertBefore(n, t.firstChild)
}
})
},
before: function() {
return this.domManip(arguments, function(n) {
this.parentNode && this.parentNode.insertBefore(n, this)
})
},
after: function() {
return this.domManip(arguments, function(n) {
this.parentNode && this.parentNode.insertBefore(n, this.nextSibling)
})
},
remove: function(n, t) {
for (var r, e = n ? i.filter(n, this) : this, f = 0;
(r = e[f]) != null; f++) t || r.nodeType !== 1 || i.cleanData(u(r)), r.parentNode && (t && i.contains(r.ownerDocument, r) && ei(u(r, "script")), r.parentNode.removeChild(r));
return this
},
empty: function() {
for (var n, t = 0;
(n = this[t]) != null; t++) {
for (n.nodeType === 1 && i.cleanData(u(n, !1)); n.firstChild;) n.removeChild(n.firstChild);
n.options && i.nodeName(n, "select") && (n.options.length = 0)
}
return this
},
clone: function(n, t) {
return n = n == null ? !1 : n, t = t == null ? n : t, this.map(function() {
return i.clone(this, n, t)
})
},
html: function(n) {
return i.access(this, function(n) {
var r = this[0] || {},
f = 0,
o = this.length;
if (n === t) return r.nodeType === 1 ? r.innerHTML.replace(he, "") : t;
if (typeof n == "string" && !le.test(n) && (i.support.htmlSerialize || !ar.test(n)) && (i.support.leadingWhitespace || !ri.test(n)) && !e[(yr.exec(n) || ["", ""])[1].toLowerCase()]) {
n = n.replace(vr, "<$1><\/$2>");
try {
for (; f < o; f++) r = this[f] || {}, r.nodeType === 1 && (i.cleanData(u(r, !1)), r.innerHTML = n);
r = 0
} catch (s) {}
}
r && this.empty().append(n)
}, null, n, arguments.length)
},
replaceWith: function() {
var t = i.map(this, function(n) {
return [n.nextSibling, n.parentNode]
}),
n = 0;
return this.domManip(arguments, function(r) {
var u = t[n++],
f = t[n++];
f && (u && u.parentNode !== f && (u = this.nextSibling), i(this).remove(), f.insertBefore(r, u))
}, !0), n ? this : this.remove()
},
detach: function(n) {
return this.remove(n, !0)
},
domManip: function(n, t, r) {
n = bi.apply([], n);
var h, f, c, o, v, s, e = 0,
l = this.length,
p = this,
w = l - 1,
a = n[0],
y = i.isFunction(a);
if (y || !(l <= 1 || typeof a != "string" || i.support.checkClone || !ae.test(a))) return this.each(function(i) {
var u = p.eq(i);
y && (n[0] = a.call(this, i, u.html()));
u.domManip(n, t, r)
});
if (l && (s = i.buildFragment(n, this[0].ownerDocument, !1, !r && this), h = s.firstChild, s.childNodes.length === 1 && (s = h), h)) {
for (o = i.map(u(s, "script"), kr), c = o.length; e < l; e++) f = s, e !== w && (f = i.clone(f, !0, !0), c && i.merge(o, u(f, "script"))), t.call(this[e], f, e);
if (c)
for (v = o[o.length - 1].ownerDocument, i.map(o, dr), e = 0; e < c; e++) f = o[e], wr.test(f.type || "") && !i._data(f, "globalEval") && i.contains(v, f) && (f.src ? i._evalUrl(f.src) : i.globalEval((f.text || f.textContent || f.innerHTML || "").replace(ye, "")));
s = h = null
}
return this
}
});
function br(n, t) {
return i.nodeName(n, "table") && i.nodeName(t.nodeType === 1 ? t : t.firstChild, "tr") ? n.getElementsByTagName("tbody")[0] || n.appendChild(n.ownerDocument.createElement("tbody")) : n
}
function kr(n) {
return n.type = (i.find.attr(n, "type") !== null) + "/" + n.type, n
}
function dr(n) {
var t = ve.exec(n.type);
return t ? n.type = t[1] : n.removeAttribute("type"), n
}
function ei(n, t) {
for (var u, r = 0;
(u = n[r]) != null; r++) i._data(u, "globalEval", !t || i._data(t[r], "globalEval"))
}
function gr(n, t) {
if (t.nodeType === 1 && i.hasData(n)) {
var u, f, o, s = i._data(n),
r = i._data(t, s),
e = s.events;
if (e) {
delete r.handle;
r.events = {};
for (u in e)
for (f = 0, o = e[u].length; f < o; f++) i.event.add(t, u, e[u][f])
}
r.data && (r.data = i.extend({}, r.data))
}
}
function we(n, t) {
var r, f, u;
if (t.nodeType === 1) {
if (r = t.nodeName.toLowerCase(), !i.support.noCloneEvent && t[i.expando]) {
u = i._data(t);
for (f in u.events) i.removeEvent(t, f, u.handle);
t.removeAttribute(i.expando)
}
r === "script" && t.text !== n.text ? (kr(t).text = n.text, dr(t)) : r === "object" ? (t.parentNode && (t.outerHTML = n.outerHTML), i.support.html5Clone && n.innerHTML && !i.trim(t.innerHTML) && (t.innerHTML = n.innerHTML)) : r === "input" && ui.test(n.type) ? (t.defaultChecked = t.checked = n.checked, t.value !== n.value && (t.value = n.value)) : r === "option" ? t.defaultSelected = t.selected = n.defaultSelected : (r === "input" || r === "textarea") && (t.defaultValue = n.defaultValue)
}
}
i.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function(n, t) {
i.fn[n] = function(n) {
for (var u, r = 0, f = [], e = i(n), o = e.length - 1; r <= o; r++) u = r === o ? this : this.clone(!0), i(e[r])[t](u), wt.apply(f, u.get());
return this.pushStack(f)
}
});
function u(n, r) {
var s, e, h = 0,
f = typeof n.getElementsByTagName !== o ? n.getElementsByTagName(r || "*") : typeof n.querySelectorAll !== o ? n.querySelectorAll(r || "*") : t;
if (!f)
for (f = [], s = n.childNodes || n;
(e = s[h]) != null; h++) !r || i.nodeName(e, r) ? f.push(e) : i.merge(f, u(e, r));
return r === t || r && i.nodeName(n, r) ? i.merge([n], f) : f
}
function be(n) {
ui.test(n.type) && (n.defaultChecked = n.checked)
}
i.extend({
clone: function(n, t, r) {
var f, h, o, e, s, c = i.contains(n.ownerDocument, n);
if (i.support.html5Clone || i.isXMLDoc(n) || !ar.test("<" + n.nodeName + ">") ? o = n.cloneNode(!0) : (fi.innerHTML = n.outerHTML, fi.removeChild(o = fi.firstChild)), (!i.support.noCloneEvent || !i.support.noCloneChecked) && (n.nodeType === 1 || n.nodeType === 11) && !i.isXMLDoc(n))
for (f = u(o), s = u(n), e = 0;
(h = s[e]) != null; ++e) f[e] && we(h, f[e]);
if (t)
if (r)
for (s = s || u(n), f = f || u(o), e = 0;
(h = s[e]) != null; e++) gr(h, f[e]);
else gr(n, o);
return f = u(o, "script"), f.length > 0 && ei(f, !c && u(n, "script")), f = s = h = null, o
},
buildFragment: function(n, t, r, f) {
for (var h, o, w, s, y, p, l, b = n.length, a = cr(t), c = [], v = 0; v < b; v++)
if (o = n[v], o || o === 0)
if (i.type(o) === "object") i.merge(c, o.nodeType ? [o] : o);
else if (ce.test(o)) {
for (s = s || a.appendChild(t.createElement("div")), y = (yr.exec(o) || ["", ""])[1].toLowerCase(), l = e[y] || e._default, s.innerHTML = l[1] + o.replace(vr, "<$1><\/$2>") + l[2], h = l[0]; h--;) s = s.lastChild;
if (!i.support.leadingWhitespace && ri.test(o) && c.push(t.createTextNode(ri.exec(o)[0])), !i.support.tbody)
for (o = y === "table" && !pr.test(o) ? s.firstChild : l[1] === "
" && !pr.test(o) ? s : 0, h = o && o.childNodes.length; h--;) i.nodeName(p = o.childNodes[h], "tbody") && !p.childNodes.length && o.removeChild(p);
for (i.merge(c, s.childNodes), s.textContent = ""; s.firstChild;) s.removeChild(s.firstChild);
s = a.lastChild
} else c.push(t.createTextNode(o));
for (s && a.removeChild(s), i.support.appendChecked || i.grep(u(c, "input"), be), v = 0; o = c[v++];)
if ((!f || i.inArray(o, f) === -1) && (w = i.contains(o.ownerDocument, o), s = u(a.appendChild(o), "script"), w && ei(s), r))
for (h = 0; o = s[h++];) wr.test(o.type || "") && r.push(o);
return s = null, a
},
cleanData: function(n, t) {
for (var r, e, u, f, c = 0, s = i.expando, h = i.cache, l = i.support.deleteExpando, a = i.event.special;
(r = n[c]) != null; c++)
if ((t || i.acceptData(r)) && (u = r[s], f = u && h[u], f)) {
if (f.events)
for (e in f.events) a[e] ? i.event.remove(r, e) : i.removeEvent(r, e, f.handle);
h[u] && (delete h[u], l ? delete r[s] : typeof r.removeAttribute !== o ? r.removeAttribute(s) : r[s] = null, b.push(u))
}
},
_evalUrl: function(n) {
return i.ajax({
url: n,
type: "GET",
dataType: "script",
async: !1,
global: !1,
throws: !0
})
}
});
i.fn.extend({
wrapAll: function(n) {
if (i.isFunction(n)) return this.each(function(t) {
i(this).wrapAll(n.call(this, t))
});
if (this[0]) {
var t = i(n, this[0].ownerDocument).eq(0).clone(!0);
this[0].parentNode && t.insertBefore(this[0]);
t.map(function() {
for (var n = this; n.firstChild && n.firstChild.nodeType === 1;) n = n.firstChild;
return n
}).append(this)
}
return this
},
wrapInner: function(n) {
return i.isFunction(n) ? this.each(function(t) {
i(this).wrapInner(n.call(this, t))
}) : this.each(function() {
var t = i(this),
r = t.contents();
r.length ? r.wrapAll(n) : t.append(n)
})
},
wrap: function(n) {
var t = i.isFunction(n);
return this.each(function(r) {
i(this).wrapAll(t ? n.call(this, r) : n)
})
},
unwrap: function() {
return this.parent().each(function() {
i.nodeName(this, "body") || i(this).replaceWith(this.childNodes)
}).end()
}
});
var rt, v, y, oi = /alpha\([^)]*\)/i,
ke = /opacity\s*=\s*([^)]*)/,
de = /^(top|right|bottom|left)$/,
ge = /^(none|table(?!-c[ea]).+)/,
nu = /^margin/,
no = new RegExp("^(" + st + ")(.*)$", "i"),
lt = new RegExp("^(" + st + ")(?!px)[a-z%]+$", "i"),
to = new RegExp("^([+-])=(" + st + ")", "i"),
tu = {
BODY: "block"
},
io = {
position: "absolute",
visibility: "hidden",
display: "block"
},
iu = {
letterSpacing: 0,
fontWeight: 400
},
p = ["Top", "Right", "Bottom", "Left"],
ru = ["Webkit", "O", "Moz", "ms"];
function uu(n, t) {
if (t in n) return t;
for (var r = t.charAt(0).toUpperCase() + t.slice(1), u = t, i = ru.length; i--;)
if (t = ru[i] + r, t in n) return t;
return u
}
function ut(n, t) {
return n = t || n, i.css(n, "display") === "none" || !i.contains(n.ownerDocument, n)
}
function fu(n, t) {
for (var f, r, o, e = [], u = 0, s = n.length; u < s; u++)(r = n[u], r.style) && (e[u] = i._data(r, "olddisplay"), f = r.style.display, t ? (e[u] || f !== "none" || (r.style.display = ""), r.style.display === "" && ut(r) && (e[u] = i._data(r, "olddisplay", hu(r.nodeName)))) : e[u] || (o = ut(r), (f && f !== "none" || !o) && i._data(r, "olddisplay", o ? f : i.css(r, "display"))));
for (u = 0; u < s; u++)(r = n[u], r.style) && (t && r.style.display !== "none" && r.style.display !== "" || (r.style.display = t ? e[u] || "" : "none"));
return n
}
i.fn.extend({
css: function(n, r) {
return i.access(this, function(n, r, u) {
var e, o, s = {},
f = 0;
if (i.isArray(r)) {
for (o = v(n), e = r.length; f < e; f++) s[r[f]] = i.css(n, r[f], !1, o);
return s
}
return u !== t ? i.style(n, r, u) : i.css(n, r)
}, n, r, arguments.length > 1)
},
show: function() {
return fu(this, !0)
},
hide: function() {
return fu(this)
},
toggle: function(n) {
return typeof n == "boolean" ? n ? this.show() : this.hide() : this.each(function() {
ut(this) ? i(this).show() : i(this).hide()
})
}
});
i.extend({
cssHooks: {
opacity: {
get: function(n, t) {
if (t) {
var i = y(n, "opacity");
return i === "" ? "1" : i
}
}
}
},
cssNumber: {
columnCount: !0,
fillOpacity: !0,
fontWeight: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {
float: i.support.cssFloat ? "cssFloat" : "styleFloat"
},
style: function(n, r, u, f) {
if (n && n.nodeType !== 3 && n.nodeType !== 8 && n.style) {
var o, s, e, h = i.camelCase(r),
c = n.style;
if (r = i.cssProps[h] || (i.cssProps[h] = uu(c, h)), e = i.cssHooks[r] || i.cssHooks[h], u !== t) {
if (s = typeof u, s === "string" && (o = to.exec(u)) && (u = (o[1] + 1) * o[2] + parseFloat(i.css(n, r)), s = "number"), u == null || s === "number" && isNaN(u)) return;
if (s !== "number" || i.cssNumber[h] || (u += "px"), i.support.clearCloneStyle || u !== "" || r.indexOf("background") !== 0 || (c[r] = "inherit"), !e || !("set" in e) || (u = e.set(n, u, f)) !== t) try {
c[r] = u
} catch (l) {}
} else return e && "get" in e && (o = e.get(n, !1, f)) !== t ? o : c[r]
}
},
css: function(n, r, u, f) {
var h, e, o, s = i.camelCase(r);
return (r = i.cssProps[s] || (i.cssProps[s] = uu(n.style, s)), o = i.cssHooks[r] || i.cssHooks[s], o && "get" in o && (e = o.get(n, !0, u)), e === t && (e = y(n, r, f)), e === "normal" && r in iu && (e = iu[r]), u === "" || u) ? (h = parseFloat(e), u === !0 || i.isNumeric(h) ? h || 0 : e) : e
}
});
n.getComputedStyle ? (v = function(t) {
return n.getComputedStyle(t, null)
}, y = function(n, r, u) {
var s, h, c, o = u || v(n),
e = o ? o.getPropertyValue(r) || o[r] : t,
f = n.style;
return o && (e !== "" || i.contains(n.ownerDocument, n) || (e = i.style(n, r)), lt.test(e) && nu.test(r) && (s = f.width, h = f.minWidth, c = f.maxWidth, f.minWidth = f.maxWidth = f.width = e, e = o.width, f.width = s, f.minWidth = h, f.maxWidth = c)), e
}) : r.documentElement.currentStyle && (v = function(n) {
return n.currentStyle
}, y = function(n, i, r) {
var s, e, o, h = r || v(n),
u = h ? h[i] : t,
f = n.style;
return u == null && f && f[i] && (u = f[i]), lt.test(u) && !de.test(i) && (s = f.left, e = n.runtimeStyle, o = e && e.left, o && (e.left = n.currentStyle.left), f.left = i === "fontSize" ? "1em" : u, u = f.pixelLeft + "px", f.left = s, o && (e.left = o)), u === "" ? "auto" : u
});
function eu(n, t, i) {
var r = no.exec(t);
return r ? Math.max(0, r[1] - (i || 0)) + (r[2] || "px") : t
}
function ou(n, t, r, u, f) {
for (var e = r === (u ? "border" : "content") ? 4 : t === "width" ? 1 : 0, o = 0; e < 4; e += 2) r === "margin" && (o += i.css(n, r + p[e], !0, f)), u ? (r === "content" && (o -= i.css(n, "padding" + p[e], !0, f)), r !== "margin" && (o -= i.css(n, "border" + p[e] + "Width", !0, f))) : (o += i.css(n, "padding" + p[e], !0, f), r !== "padding" && (o += i.css(n, "border" + p[e] + "Width", !0, f)));
return o
}
function su(n, t, r) {
var e = !0,
u = t === "width" ? n.offsetWidth : n.offsetHeight,
f = v(n),
o = i.support.boxSizing && i.css(n, "boxSizing", !1, f) === "border-box";
if (u <= 0 || u == null) {
if (u = y(n, t, f), (u < 0 || u == null) && (u = n.style[t]), lt.test(u)) return u;
e = o && (i.support.boxSizingReliable || u === n.style[t]);
u = parseFloat(u) || 0
}
return u + ou(n, t, r || (o ? "border" : "content"), e, f) + "px"
}
function hu(n) {
var u = r,
t = tu[n];
return t || (t = cu(n, u), t !== "none" && t || (rt = (rt || i("").css("cssText", "display:block !important")).appendTo(u.documentElement), u = (rt[0].contentWindow || rt[0].contentDocument).document, u.write(""), u.close(), t = cu(n, u), rt.detach()), tu[n] = t), t
}
function cu(n, t) {
var r = i(t.createElement(n)).appendTo(t.body),
u = i.css(r[0], "display");
return r.remove(), u
}
i.each(["height", "width"], function(n, t) {
i.cssHooks[t] = {
get: function(n, r, u) {
if (r) return n.offsetWidth === 0 && ge.test(i.css(n, "display")) ? i.swap(n, io, function() {
return su(n, t, u)
}) : su(n, t, u)
},
set: function(n, r, u) {
var f = u && v(n);
return eu(n, r, u ? ou(n, t, u, i.support.boxSizing && i.css(n, "boxSizing", !1, f) === "border-box", f) : 0)
}
}
});
i.support.opacity || (i.cssHooks.opacity = {
get: function(n, t) {
return ke.test((t && n.currentStyle ? n.currentStyle.filter : n.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : ""
},
set: function(n, t) {
var r = n.style,
u = n.currentStyle,
e = i.isNumeric(t) ? "alpha(opacity=" + t * 100 + ")" : "",
f = u && u.filter || r.filter || "";
(r.zoom = 1, (t >= 1 || t === "") && i.trim(f.replace(oi, "")) === "" && r.removeAttribute && (r.removeAttribute("filter"), t === "" || u && !u.filter)) || (r.filter = oi.test(f) ? f.replace(oi, e) : f + " " + e)
}
});
i(function() {
i.support.reliableMarginRight || (i.cssHooks.marginRight = {
get: function(n, t) {
if (t) return i.swap(n, {
display: "inline-block"
}, y, [n, "marginRight"])
}
});
!i.support.pixelPosition && i.fn.position && i.each(["top", "left"], function(n, t) {
i.cssHooks[t] = {
get: function(n, r) {
if (r) return r = y(n, t), lt.test(r) ? i(n).position()[t] + "px" : r
}
}
})
});
i.expr && i.expr.filters && (i.expr.filters.hidden = function(n) {
return n.offsetWidth <= 0 && n.offsetHeight <= 0 || !i.support.reliableHiddenOffsets && (n.style && n.style.display || i.css(n, "display")) === "none"
}, i.expr.filters.visible = function(n) {
return !i.expr.filters.hidden(n)
});
i.each({
margin: "",
padding: "",
border: "Width"
}, function(n, t) {
i.cssHooks[n + t] = {
expand: function(i) {
for (var r = 0, f = {}, u = typeof i == "string" ? i.split(" ") : [i]; r < 4; r++) f[n + p[r] + t] = u[r] || u[r - 2] || u[0];
return f
}
};
nu.test(n) || (i.cssHooks[n + t].set = eu)
});
var ro = /%20/g,
uo = /\[\]$/,
lu = /\r?\n/g,
fo = /^(?:submit|button|image|reset|file)$/i,
eo = /^(?:input|select|textarea|keygen)/i;
i.fn.extend({
serialize: function() {
return i.param(this.serializeArray())
},
serializeArray: function() {
return this.map(function() {
var n = i.prop(this, "elements");
return n ? i.makeArray(n) : this
}).filter(function() {
var n = this.type;
return this.name && !i(this).is(":disabled") && eo.test(this.nodeName) && !fo.test(n) && (this.checked || !ui.test(n))
}).map(function(n, t) {
var r = i(this).val();
return r == null ? null : i.isArray(r) ? i.map(r, function(n) {
return {
name: t.name,
value: n.replace(lu, "\r\n")
}
}) : {
name: t.name,
value: r.replace(lu, "\r\n")
}
}).get()
}
});
i.param = function(n, r) {
var u, f = [],
e = function(n, t) {
t = i.isFunction(t) ? t() : t == null ? "" : t;
f[f.length] = encodeURIComponent(n) + "=" + encodeURIComponent(t)
};
if (r === t && (r = i.ajaxSettings && i.ajaxSettings.traditional), i.isArray(n) || n.jquery && !i.isPlainObject(n)) i.each(n, function() {
e(this.name, this.value)
});
else
for (u in n) si(u, n[u], r, e);
return f.join("&").replace(ro, "+")
};
function si(n, t, r, u) {
var f;
if (i.isArray(t)) i.each(t, function(t, i) {
r || uo.test(n) ? u(n, i) : si(n + "[" + (typeof i == "object" ? t : "") + "]", i, r, u)
});
else if (r || i.type(t) !== "object") u(n, t);
else
for (f in t) si(n + "[" + f + "]", t[f], r, u)
}
i.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(n, t) {
i.fn[t] = function(n, i) {
return arguments.length > 0 ? this.on(t, null, n, i) : this.trigger(t)
}
});
i.fn.extend({
hover: function(n, t) {
return this.mouseenter(n).mouseleave(t || n)
},
bind: function(n, t, i) {
return this.on(n, null, t, i)
},
unbind: function(n, t) {
return this.off(n, null, t)
},
delegate: function(n, t, i, r) {
return this.on(t, n, i, r)
},
undelegate: function(n, t, i) {
return arguments.length === 1 ? this.off(n, "**") : this.off(t, n || "**", i)
}
});
var w, c, hi = i.now(),
ci = /\?/,
oo = /#.*$/,
au = /([?&])_=[^&]*/,
so = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
ho = /^(?:GET|HEAD)$/,
co = /^\/\//,
vu = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
yu = i.fn.load,
pu = {},
li = {},
wu = "*/".concat("*");
try {
c = ef.href
} catch (go) {
c = r.createElement("a");
c.href = "";
c = c.href
}
w = vu.exec(c.toLowerCase()) || [];
function bu(n) {
return function(t, r) {
typeof t != "string" && (r = t, t = "*");
var u, f = 0,
e = t.toLowerCase().match(s) || [];
if (i.isFunction(r))
while (u = e[f++]) u[0] === "+" ? (u = u.slice(1) || "*", (n[u] = n[u] || []).unshift(r)) : (n[u] = n[u] || []).push(r)
}
}
function ku(n, t, r, u) {
var f = {},
o = n === li;
function e(s) {
var h;
return f[s] = !0, i.each(n[s] || [], function(n, i) {
var s = i(t, r, u);
if (typeof s != "string" || o || f[s]) {
if (o) return !(h = s)
} else return t.dataTypes.unshift(s), e(s), !1
}), h
}
return e(t.dataTypes[0]) || !f["*"] && e("*")
}
function ai(n, r) {
var f, u, e = i.ajaxSettings.flatOptions || {};
for (u in r) r[u] !== t && ((e[u] ? n : f || (f = {}))[u] = r[u]);
return f && i.extend(!0, n, f), n
}
i.fn.load = function(n, r, u) {
if (typeof n != "string" && yu) return yu.apply(this, arguments);
var f, s, h, e = this,
o = n.indexOf(" ");
return o >= 0 && (f = n.slice(o, n.length), n = n.slice(0, o)), i.isFunction(r) ? (u = r, r = t) : r && typeof r == "object" && (h = "POST"), e.length > 0 && i.ajax({
url: n,
type: h,
dataType: "html",
data: r
}).done(function(n) {
s = arguments;
e.html(f ? i("").append(i.parseHTML(n)).find(f) : n)
}).complete(u && function(n, t) {
e.each(u, s || [n.responseText, t, n])
}), this
};
i.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(n, t) {
i.fn[t] = function(n) {
return this.on(t, n)
}
});
i.extend({
active: 0,
lastModified: {},
etag: {},
ajaxSettings: {
url: c,
type: "GET",
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(w[1]),
global: !0,
processData: !0,
async: !0,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
accepts: {
"*": wu,
text: "text/plain",
html: "text/html",
xml: "application/xml, text/xml",
json: "application/json, text/javascript"
},
contents: {
xml: /xml/,
html: /html/,
json: /json/
},
responseFields: {
xml: "responseXML",
text: "responseText",
json: "responseJSON"
},
converters: {
"* text": String,
"text html": !0,
"text json": i.parseJSON,
"text xml": i.parseXML
},
flatOptions: {
url: !0,
context: !0
}
},
ajaxSetup: function(n, t) {
return t ? ai(ai(n, i.ajaxSettings), t) : ai(i.ajaxSettings, n)
},
ajaxPrefilter: bu(pu),
ajaxTransport: bu(li),
ajax: function(n, r) {
typeof n == "object" && (r = n, n = t);
r = r || {};
var l, a, e, d, g, y, v, p, u = i.ajaxSetup({}, r),
h = u.context || u,
nt = u.context && (h.nodeType || h.jquery) ? i(h) : i.event,
tt = i.Deferred(),
it = i.Callbacks("once memory"),
b = u.statusCode || {},
rt = {},
ut = {},
o = 0,
ft = "canceled",
f = {
readyState: 0,
getResponseHeader: function(n) {
var t;
if (o === 2) {
if (!p)
for (p = {}; t = so.exec(d);) p[t[1].toLowerCase()] = t[2];
t = p[n.toLowerCase()]
}
return t == null ? null : t
},
getAllResponseHeaders: function() {
return o === 2 ? d : null
},
setRequestHeader: function(n, t) {
var i = n.toLowerCase();
return o || (n = ut[i] = ut[i] || n, rt[n] = t), this
},
overrideMimeType: function(n) {
return o || (u.mimeType = n), this
},
statusCode: function(n) {
var t;
if (n)
if (o < 2)
for (t in n) b[t] = [b[t], n[t]];
else f.always(n[f.status]);
return this
},
abort: function(n) {
var t = n || ft;
return v && v.abort(t), k(0, t), this
}
};
if (tt.promise(f).complete = it.add, f.success = f.done, f.error = f.fail, u.url = ((n || u.url || c) + "").replace(oo, "").replace(co, w[1] + "//"), u.type = r.method || r.type || u.method || u.type, u.dataTypes = i.trim(u.dataType || "*").toLowerCase().match(s) || [""], u.crossDomain == null && (l = vu.exec(u.url.toLowerCase()), u.crossDomain = !!(l && (l[1] !== w[1] || l[2] !== w[2] || (l[3] || (l[1] === "http:" ? "80" : "443")) !== (w[3] || (w[1] === "http:" ? "80" : "443"))))), u.data && u.processData && typeof u.data != "string" && (u.data = i.param(u.data, u.traditional)), ku(pu, u, r, f), o === 2) return f;
y = u.global;
y && i.active++ == 0 && i.event.trigger("ajaxStart");
u.type = u.type.toUpperCase();
u.hasContent = !ho.test(u.type);
e = u.url;
u.hasContent || (u.data && (e = u.url += (ci.test(e) ? "&" : "?") + u.data, delete u.data), u.cache === !1 && (u.url = au.test(e) ? e.replace(au, "$1_=" + hi++) : e + (ci.test(e) ? "&" : "?") + "_=" + hi++));
u.ifModified && (i.lastModified[e] && f.setRequestHeader("If-Modified-Since", i.lastModified[e]), i.etag[e] && f.setRequestHeader("If-None-Match", i.etag[e]));
(u.data && u.hasContent && u.contentType !== !1 || r.contentType) && f.setRequestHeader("Content-Type", u.contentType);
f.setRequestHeader("Accept", u.dataTypes[0] && u.accepts[u.dataTypes[0]] ? u.accepts[u.dataTypes[0]] + (u.dataTypes[0] !== "*" ? ", " + wu + "; q=0.01" : "") : u.accepts["*"]);
for (a in u.headers) f.setRequestHeader(a, u.headers[a]);
if (u.beforeSend && (u.beforeSend.call(h, f, u) === !1 || o === 2)) return f.abort();
ft = "abort";
for (a in {
success: 1,
error: 1,
complete: 1
}) f[a](u[a]);
if (v = ku(li, u, r, f), v) {
f.readyState = 1;
y && nt.trigger("ajaxSend", [f, u]);
u.async && u.timeout > 0 && (g = setTimeout(function() {
f.abort("timeout")
}, u.timeout));
try {
o = 1;
v.send(rt, k)
} catch (et) {
if (o < 2) k(-1, et);
else throw et;
}
} else k(-1, "No Transport");
function k(n, r, s, c) {
var a, rt, k, p, w, l = r;
o !== 2 && (o = 2, g && clearTimeout(g), v = t, d = c || "", f.readyState = n > 0 ? 4 : 0, a = n >= 200 && n < 300 || n === 304, s && (p = lo(u, f, s)), p = ao(u, p, f, a), a ? (u.ifModified && (w = f.getResponseHeader("Last-Modified"), w && (i.lastModified[e] = w), w = f.getResponseHeader("etag"), w && (i.etag[e] = w)), n === 204 || u.type === "HEAD" ? l = "nocontent" : n === 304 ? l = "notmodified" : (l = p.state, rt = p.data, k = p.error, a = !k)) : (k = l, (n || !l) && (l = "error", n < 0 && (n = 0))), f.status = n, f.statusText = (r || l) + "", a ? tt.resolveWith(h, [rt, l, f]) : tt.rejectWith(h, [f, l, k]), f.statusCode(b), b = t, y && nt.trigger(a ? "ajaxSuccess" : "ajaxError", [f, u, a ? rt : k]), it.fireWith(h, [f, l]), y && (nt.trigger("ajaxComplete", [f, u]), --i.active || i.event.trigger("ajaxStop")))
}
return f
},
getJSON: function(n, t, r) {
return i.get(n, t, r, "json")
},
getScript: function(n, r) {
return i.get(n, t, r, "script")
}
});
i.each(["get", "post"], function(n, r) {
i[r] = function(n, u, f, e) {
return i.isFunction(u) && (e = e || f, f = u, u = t), i.ajax({
url: n,
type: r,
dataType: e,
data: u,
success: f
})
}
});
function lo(n, i, r) {
for (var s, o, f, e, h = n.contents, u = n.dataTypes; u[0] === "*";) u.shift(), o === t && (o = n.mimeType || i.getResponseHeader("Content-Type"));
if (o)
for (e in h)
if (h[e] && h[e].test(o)) {
u.unshift(e);
break
}
if (u[0] in r) f = u[0];
else {
for (e in r) {
if (!u[0] || n.converters[e + " " + u[0]]) {
f = e;
break
}
s || (s = e)
}
f = f || s
}
if (f) return f !== u[0] && u.unshift(f), r[f]
}
function ao(n, t, i, r) {
var h, u, f, s, e, o = {},
c = n.dataTypes.slice();
if (c[1])
for (f in n.converters) o[f.toLowerCase()] = n.converters[f];
for (u = c.shift(); u;)
if (n.responseFields[u] && (i[n.responseFields[u]] = t), !e && r && n.dataFilter && (t = n.dataFilter(t, n.dataType)), e = u, u = c.shift(), u)
if (u === "*") u = e;
else if (e !== "*" && e !== u) {
if (f = o[e + " " + u] || o["* " + u], !f)
for (h in o)
if (s = h.split(" "), s[1] === u && (f = o[e + " " + s[0]] || o["* " + s[0]], f)) {
f === !0 ? f = o[h] : o[h] !== !0 && (u = s[0], c.unshift(s[1]));
break
}
if (f !== !0)
if (f && n.throws) t = f(t);
else try {
t = f(t)
} catch (l) {
return {
state: "parsererror",
error: f ? l : "No conversion from " + e + " to " + u
}
}
}
return {
state: "success",
data: t
}
}
i.ajaxSetup({
accepts: {
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents: {
script: /(?:java|ecma)script/
},
converters: {
"text script": function(n) {
return i.globalEval(n), n
}
}
});
i.ajaxPrefilter("script", function(n) {
n.cache === t && (n.cache = !1);
n.crossDomain && (n.type = "GET", n.global = !1)
});
i.ajaxTransport("script", function(n) {
if (n.crossDomain) {
var u, f = r.head || i("head")[0] || r.documentElement;
return {
send: function(t, i) {
u = r.createElement("script");
u.async = !0;
n.scriptCharset && (u.charset = n.scriptCharset);
u.src = n.url;
u.onload = u.onreadystatechange = function(n, t) {
(t || !u.readyState || /loaded|complete/.test(u.readyState)) && (u.onload = u.onreadystatechange = null, u.parentNode && u.parentNode.removeChild(u), u = null, t || i(200, "success"))
};
f.insertBefore(u, f.firstChild)
},
abort: function() {
if (u) u.onload(t, !0)
}
}
}
});
var du = [],
vi = /(=)\?(?=&|$)|\?\?/;
i.ajaxSetup({
jsonp: "callback",
jsonpCallback: function() {
var n = du.pop() || i.expando + "_" + hi++;
return this[n] = !0, n
}
});
i.ajaxPrefilter("json jsonp", function(r, u, f) {
var e, s, o, h = r.jsonp !== !1 && (vi.test(r.url) ? "url" : typeof r.data == "string" && !(r.contentType || "").indexOf("application/x-www-form-urlencoded") && vi.test(r.data) && "data");
if (h || r.dataTypes[0] === "jsonp") return e = r.jsonpCallback = i.isFunction(r.jsonpCallback) ? r.jsonpCallback() : r.jsonpCallback, h ? r[h] = r[h].replace(vi, "$1" + e) : r.jsonp !== !1 && (r.url += (ci.test(r.url) ? "&" : "?") + r.jsonp + "=" + e), r.converters["script json"] = function() {
return o || i.error(e + " was not called"), o[0]
}, r.dataTypes[0] = "json", s = n[e], n[e] = function() {
o = arguments
}, f.always(function() {
n[e] = s;
r[e] && (r.jsonpCallback = u.jsonpCallback, du.push(e));
o && i.isFunction(s) && s(o[0]);
o = s = t
}), "script"
});
var nt, tt, vo = 0,
yi = n.ActiveXObject && function() {
for (var n in nt) nt[n](t, !0)
};
function gu() {
try {
return new n.XMLHttpRequest
} catch (t) {}
}
function yo() {
try {
return new n.ActiveXObject("Microsoft.XMLHTTP")
} catch (t) {}
}
i.ajaxSettings.xhr = n.ActiveXObject ? function() {
return !this.isLocal && gu() || yo()
} : gu;
tt = i.ajaxSettings.xhr();
i.support.cors = !!tt && "withCredentials" in tt;
tt = i.support.ajax = !!tt;
tt && i.ajaxTransport(function(r) {
if (!r.crossDomain || i.support.cors) {
var u;
return {
send: function(f, e) {
var h, s, o = r.xhr();
if (r.username ? o.open(r.type, r.url, r.async, r.username, r.password) : o.open(r.type, r.url, r.async), r.xhrFields)
for (s in r.xhrFields) o[s] = r.xhrFields[s];
r.mimeType && o.overrideMimeType && o.overrideMimeType(r.mimeType);
r.crossDomain || f["X-Requested-With"] || (f["X-Requested-With"] = "XMLHttpRequest");
try {
for (s in f) o.setRequestHeader(s, f[s])
} catch (c) {}
o.send(r.hasContent && r.data || null);
u = function(n, f) {
var s, a, l, c;
try {
if (u && (f || o.readyState === 4))
if (u = t, h && (o.onreadystatechange = i.noop, yi && delete nt[h]), f) o.readyState !== 4 && o.abort();
else {
c = {};
s = o.status;
a = o.getAllResponseHeaders();
typeof o.responseText == "string" && (c.text = o.responseText);
try {
l = o.statusText
} catch (y) {
l = ""
}
s || !r.isLocal || r.crossDomain ? s === 1223 && (s = 204) : s = c.text ? 200 : 404
}
} catch (v) {
f || e(-1, v)
}
c && e(s, l, c, a)
};
r.async ? o.readyState === 4 ? setTimeout(u) : (h = ++vo, yi && (nt || (nt = {}, i(n).unload(yi)), nt[h] = u), o.onreadystatechange = u) : u()
},
abort: function() {
u && u(t, !0)
}
}
}
});
var it, at, po = /^(?:toggle|show|hide)$/,
nf = new RegExp("^(?:([+-])=|)(" + st + ")([a-z%]*)$", "i"),
wo = /queueHooks$/,
vt = [ko],
ft = {
"*": [function(n, t) {
var f = this.createTween(n, t),
s = f.cur(),
u = nf.exec(t),
e = u && u[3] || (i.cssNumber[n] ? "" : "px"),
r = (i.cssNumber[n] || e !== "px" && +s) && nf.exec(i.css(f.elem, n)),
o = 1,
h = 20;
if (r && r[3] !== e) {
e = e || r[3];
u = u || [];
r = +s || 1;
do o = o || ".5", r = r / o, i.style(f.elem, n, r + e); while (o !== (o = f.cur() / s) && o !== 1 && --h)
}
return u && (r = f.start = +r || +s || 0, f.unit = e, f.end = u[1] ? r + (u[1] + 1) * u[2] : +u[2]), f
}]
};
function tf() {
return setTimeout(function() {
it = t
}), it = i.now()
}
function rf(n, t, i) {
for (var u, f = (ft[t] || []).concat(ft["*"]), r = 0, e = f.length; r < e; r++)
if (u = f[r].call(i, t, n)) return u
}
function uf(n, t, r) {
var e, o, s = 0,
l = vt.length,
f = i.Deferred().always(function() {
delete c.elem
}),
c = function() {
if (o) return !1;
for (var s = it || tf(), t = Math.max(0, u.startTime + u.duration - s), h = t / u.duration || 0, i = 1 - h, r = 0, e = u.tweens.length; r < e; r++) u.tweens[r].run(i);
return f.notifyWith(n, [u, i, t]), i < 1 && e ? t : (f.resolveWith(n, [u]), !1)
},
u = f.promise({
elem: n,
props: i.extend({}, t),
opts: i.extend(!0, {
specialEasing: {}
}, r),
originalProperties: t,
originalOptions: r,
startTime: it || tf(),
duration: r.duration,
tweens: [],
createTween: function(t, r) {
var f = i.Tween(n, u.opts, t, r, u.opts.specialEasing[t] || u.opts.easing);
return u.tweens.push(f), f
},
stop: function(t) {
var i = 0,
r = t ? u.tweens.length : 0;
if (o) return this;
for (o = !0; i < r; i++) u.tweens[i].run(1);
return t ? f.resolveWith(n, [u, t]) : f.rejectWith(n, [u, t]), this
}
}),
h = u.props;
for (bo(h, u.opts.specialEasing); s < l; s++)
if (e = vt[s].call(u, n, h, u.opts), e) return e;
return i.map(h, rf, u), i.isFunction(u.opts.start) && u.opts.start.call(n, u), i.fx.timer(i.extend(c, {
elem: n,
anim: u,
queue: u.opts.queue
})), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always)
}
function bo(n, t) {
var r, f, e, u, o;
for (r in n)
if (f = i.camelCase(r), e = t[f], u = n[r], i.isArray(u) && (e = u[1], u = n[r] = u[0]), r !== f && (n[f] = u, delete n[r]), o = i.cssHooks[f], o && "expand" in o) {
u = o.expand(u);
delete n[f];
for (r in u) r in n || (n[r] = u[r], t[r] = e)
} else t[f] = e
}
i.Animation = i.extend(uf, {
tweener: function(n, t) {
i.isFunction(n) ? (t = n, n = ["*"]) : n = n.split(" ");
for (var r, u = 0, f = n.length; u < f; u++) r = n[u], ft[r] = ft[r] || [], ft[r].unshift(t)
},
prefilter: function(n, t) {
t ? vt.unshift(n) : vt.push(n)
}
});
function ko(n, t, r) {
var u, a, v, c, e, y, s = this,
l = {},
o = n.style,
h = n.nodeType && ut(n),
f = i._data(n, "fxshow");
r.queue || (e = i._queueHooks(n, "fx"), e.unqueued == null && (e.unqueued = 0, y = e.empty.fire, e.empty.fire = function() {
e.unqueued || y()
}), e.unqueued++, s.always(function() {
s.always(function() {
e.unqueued--;
i.queue(n, "fx").length || e.empty.fire()
})
}));
n.nodeType === 1 && ("height" in t || "width" in t) && (r.overflow = [o.overflow, o.overflowX, o.overflowY], i.css(n, "display") === "inline" && i.css(n, "float") === "none" && (i.support.inlineBlockNeedsLayout && hu(n.nodeName) !== "inline" ? o.zoom = 1 : o.display = "inline-block"));
r.overflow && (o.overflow = "hidden", i.support.shrinkWrapBlocks || s.always(function() {
o.overflow = r.overflow[0];
o.overflowX = r.overflow[1];
o.overflowY = r.overflow[2]
}));
for (u in t)
if (a = t[u], po.exec(a)) {
if (delete t[u], v = v || a === "toggle", a === (h ? "hide" : "show")) continue;
l[u] = f && f[u] || i.style(n, u)
}
if (!i.isEmptyObject(l)) {
f ? "hidden" in f && (h = f.hidden) : f = i._data(n, "fxshow", {});
v && (f.hidden = !h);
h ? i(n).show() : s.done(function() {
i(n).hide()
});
s.done(function() {
var t;
i._removeData(n, "fxshow");
for (t in l) i.style(n, t, l[t])
});
for (u in l) c = rf(h ? f[u] : 0, u, s), u in f || (f[u] = c.start, h && (c.end = c.start, c.start = u === "width" || u === "height" ? 1 : 0))
}
}
function f(n, t, i, r, u) {
return new f.prototype.init(n, t, i, r, u)
}
i.Tween = f;
f.prototype = {
constructor: f,
init: function(n, t, r, u, f, e) {
this.elem = n;
this.prop = r;
this.easing = f || "swing";
this.options = t;
this.start = this.now = this.cur();
this.end = u;
this.unit = e || (i.cssNumber[r] ? "" : "px")
},
cur: function() {
var n = f.propHooks[this.prop];
return n && n.get ? n.get(this) : f.propHooks._default.get(this)
},
run: function(n) {
var t, r = f.propHooks[this.prop];
return this.pos = this.options.duration ? t = i.easing[this.easing](n, this.options.duration * n, 0, 1, this.options.duration) : t = n, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), r && r.set ? r.set(this) : f.propHooks._default.set(this), this
}
};
f.prototype.init.prototype = f.prototype;
f.propHooks = {
_default: {
get: function(n) {
var t;
return n.elem[n.prop] != null && (!n.elem.style || n.elem.style[n.prop] == null) ? n.elem[n.prop] : (t = i.css(n.elem, n.prop, ""), !t || t === "auto" ? 0 : t)
},
set: function(n) {
i.fx.step[n.prop] ? i.fx.step[n.prop](n) : n.elem.style && (n.elem.style[i.cssProps[n.prop]] != null || i.cssHooks[n.prop]) ? i.style(n.elem, n.prop, n.now + n.unit) : n.elem[n.prop] = n.now
}
}
};
f.propHooks.scrollTop = f.propHooks.scrollLeft = {
set: function(n) {
n.elem.nodeType && n.elem.parentNode && (n.elem[n.prop] = n.now)
}
};
i.each(["toggle", "show", "hide"], function(n, t) {
var r = i.fn[t];
i.fn[t] = function(n, i, u) {
return n == null || typeof n == "boolean" ? r.apply(this, arguments) : this.animate(yt(t, !0), n, i, u)
}
});
i.fn.extend({
fadeTo: function(n, t, i, r) {
return this.filter(ut).css("opacity", 0).show().end().animate({
opacity: t
}, n, i, r)
},
animate: function(n, t, r, u) {
var o = i.isEmptyObject(n),
e = i.speed(t, r, u),
f = function() {
var t = uf(this, i.extend({}, n), e);
(o || i._data(this, "finish")) && t.stop(!0)
};
return f.finish = f, o || e.queue === !1 ? this.each(f) : this.queue(e.queue, f)
},
stop: function(n, r, u) {
var f = function(n) {
var t = n.stop;
delete n.stop;
t(u)
};
return typeof n != "string" && (u = r, r = n, n = t), r && n !== !1 && this.queue(n || "fx", []), this.each(function() {
var o = !0,
t = n != null && n + "queueHooks",
e = i.timers,
r = i._data(this);
if (t) r[t] && r[t].stop && f(r[t]);
else
for (t in r) r[t] && r[t].stop && wo.test(t) && f(r[t]);
for (t = e.length; t--;) e[t].elem === this && (n == null || e[t].queue === n) && (e[t].anim.stop(u), o = !1, e.splice(t, 1));
(o || !u) && i.dequeue(this, n)
})
},
finish: function(n) {
return n !== !1 && (n = n || "fx"), this.each(function() {
var t, f = i._data(this),
r = f[n + "queue"],
e = f[n + "queueHooks"],
u = i.timers,
o = r ? r.length : 0;
for (f.finish = !0, i.queue(this, n, []), e && e.stop && e.stop.call(this, !0), t = u.length; t--;) u[t].elem === this && u[t].queue === n && (u[t].anim.stop(!0), u.splice(t, 1));
for (t = 0; t < o; t++) r[t] && r[t].finish && r[t].finish.call(this);
delete f.finish
})
}
});
function yt(n, t) {
var r, i = {
height: n
},
u = 0;
for (t = t ? 1 : 0; u < 4; u += 2 - t) r = p[u], i["margin" + r] = i["padding" + r] = n;
return t && (i.opacity = i.width = n), i
}
i.each({
slideDown: yt("show"),
slideUp: yt("hide"),
slideToggle: yt("toggle"),
fadeIn: {
opacity: "show"
},
fadeOut: {
opacity: "hide"
},
fadeToggle: {
opacity: "toggle"
}
}, function(n, t) {
i.fn[n] = function(n, i, r) {
return this.animate(t, n, i, r)
}
});
i.speed = function(n, t, r) {
var u = n && typeof n == "object" ? i.extend({}, n) : {
complete: r || !r && t || i.isFunction(n) && n,
duration: n,
easing: r && t || t && !i.isFunction(t) && t
};
return u.duration = i.fx.off ? 0 : typeof u.duration == "number" ? u.duration : u.duration in i.fx.speeds ? i.fx.speeds[u.duration] : i.fx.speeds._default, (u.queue == null || u.queue === !0) && (u.queue = "fx"), u.old = u.complete, u.complete = function() {
i.isFunction(u.old) && u.old.call(this);
u.queue && i.dequeue(this, u.queue)
}, u
};
i.easing = {
linear: function(n) {
return n
},
swing: function(n) {
return .5 - Math.cos(n * Math.PI) / 2
}
};
i.timers = [];
i.fx = f.prototype.init;
i.fx.tick = function() {
var u, n = i.timers,
r = 0;
for (it = i.now(); r < n.length; r++) u = n[r], u() || n[r] !== u || n.splice(r--, 1);
n.length || i.fx.stop();
it = t
};
i.fx.timer = function(n) {
n() && i.timers.push(n) && i.fx.start()
};
i.fx.interval = 13;
i.fx.start = function() {
at || (at = setInterval(i.fx.tick, i.fx.interval))
};
i.fx.stop = function() {
clearInterval(at);
at = null
};
i.fx.speeds = {
slow: 600,
fast: 200,
_default: 400
};
i.fx.step = {};
i.expr && i.expr.filters && (i.expr.filters.animated = function(n) {
return i.grep(i.timers, function(t) {
return n === t.elem
}).length
});
i.fn.offset = function(n) {
if (arguments.length) return n === t ? this : this.each(function(t) {
i.offset.setOffset(this, n, t)
});
var r, e, f = {
top: 0,
left: 0
},
u = this[0],
s = u && u.ownerDocument;
if (s) return (r = s.documentElement, !i.contains(r, u)) ? f : (typeof u.getBoundingClientRect !== o && (f = u.getBoundingClientRect()), e = ff(s), {
top: f.top + (e.pageYOffset || r.scrollTop) - (r.clientTop || 0),
left: f.left + (e.pageXOffset || r.scrollLeft) - (r.clientLeft || 0)
})
};
i.offset = {
setOffset: function(n, t, r) {
var f = i.css(n, "position");
f === "static" && (n.style.position = "relative");
var e = i(n),
o = e.offset(),
l = i.css(n, "top"),
a = i.css(n, "left"),
v = (f === "absolute" || f === "fixed") && i.inArray("auto", [l, a]) > -1,
u = {},
s = {},
h, c;
v ? (s = e.position(), h = s.top, c = s.left) : (h = parseFloat(l) || 0, c = parseFloat(a) || 0);
i.isFunction(t) && (t = t.call(n, r, o));
t.top != null && (u.top = t.top - o.top + h);
t.left != null && (u.left = t.left - o.left + c);
"using" in t ? t.using.call(n, u) : e.css(u)
}
};
i.fn.extend({
position: function() {
if (this[0]) {
var n, r, t = {
top: 0,
left: 0
},
u = this[0];
return i.css(u, "position") === "fixed" ? r = u.getBoundingClientRect() : (n = this.offsetParent(), r = this.offset(), i.nodeName(n[0], "html") || (t = n.offset()), t.top += i.css(n[0], "borderTopWidth", !0), t.left += i.css(n[0], "borderLeftWidth", !0)), {
top: r.top - t.top - i.css(u, "marginTop", !0),
left: r.left - t.left - i.css(u, "marginLeft", !0)
}
}
},
offsetParent: function() {
return this.map(function() {
for (var n = this.offsetParent || wi; n && !i.nodeName(n, "html") && i.css(n, "position") === "static";) n = n.offsetParent;
return n || wi
})
}
});
i.each({
scrollLeft: "pageXOffset",
scrollTop: "pageYOffset"
}, function(n, r) {
var u = /Y/.test(r);
i.fn[n] = function(f) {
return i.access(this, function(n, f, e) {
var o = ff(n);
if (e === t) return o ? r in o ? o[r] : o.document.documentElement[f] : n[f];
o ? o.scrollTo(u ? i(o).scrollLeft() : e, u ? e : i(o).scrollTop()) : n[f] = e
}, n, f, arguments.length, null)
}
});
function ff(n) {
return i.isWindow(n) ? n : n.nodeType === 9 ? n.defaultView || n.parentWindow : !1
}
i.each({
Height: "height",
Width: "width"
}, function(n, r) {
i.each({
padding: "inner" + n,
content: r,
"": "outer" + n
}, function(u, f) {
i.fn[f] = function(f, e) {
var o = arguments.length && (u || typeof f != "boolean"),
s = u || (f === !0 || e === !0 ? "margin" : "border");
return i.access(this, function(r, u, f) {
var e;
return i.isWindow(r) ? r.document.documentElement["client" + n] : r.nodeType === 9 ? (e = r.documentElement, Math.max(r.body["scroll" + n], e["scroll" + n], r.body["offset" + n], e["offset" + n], e["client" + n])) : f === t ? i.css(r, u, s) : i.style(r, u, f, s)
}, r, o ? f : t, o, null)
}
})
});
i.fn.size = function() {
return this.length
};
i.fn.andSelf = i.fn.addBack;
typeof module == "object" && module && typeof module.exports == "object" ? module.exports = i : (n.jQuery = n.$ = i, typeof define == "function" && define.amd && define("jquery", [], function() {
return i
}))
})(window);
window.JSON || (window.JSON = {}, function() {
"use strict";
function i(n) {
return n < 10 ? "0" + n : n
}
typeof Date.prototype.toJSON != "function" && (Date.prototype.toJSON = function() {
return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + i(this.getUTCMonth() + 1) + "-" + i(this.getUTCDate()) + "T" + i(this.getUTCHours()) + ":" + i(this.getUTCMinutes()) + ":" + i(this.getUTCSeconds()) + "Z" : null
}, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() {
return this.valueOf()
});
var f = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
e = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
n, r, s = {
"\b": "\\b",
"\t": "\\t",
"\n": "\\n",
"\f": "\\f",
"\r": "\\r",
'"': '\\"',
"\\": "\\\\"
},
t;
function o(n) {
return e.lastIndex = 0, e.test(n) ? '"' + n.replace(e, function(n) {
var t = s[n];
return typeof t == "string" ? t : "\\u" + ("0000" + n.charCodeAt(0).toString(16)).slice(-4)
}) + '"' : '"' + n + '"'
}
function u(i, f) {
var s, l, h, a, v = n,
c, e = f[i];
e && typeof e == "object" && typeof e.toJSON == "function" && (e = e.toJSON(i));
typeof t == "function" && (e = t.call(f, i, e));
switch (typeof e) {
case "string":
return o(e);
case "number":
return isFinite(e) ? String(e) : "null";
case "boolean":
case "null":
return String(e);
case "object":
if (!e) return "null";
if (n += r, c = [], Object.prototype.toString.apply(e) === "[object Array]") {
for (a = e.length, s = 0; s < a; s += 1) c[s] = u(s, e) || "null";
return h = c.length === 0 ? "[]" : n ? "[\n" + n + c.join(",\n" + n) + "\n" + v + "]" : "[" + c.join(",") + "]", n = v, h
}
if (t && typeof t == "object")
for (a = t.length, s = 0; s < a; s += 1) typeof t[s] == "string" && (l = t[s], h = u(l, e), h && c.push(o(l) + (n ? ": " : ":") + h));
else
for (l in e) Object.prototype.hasOwnProperty.call(e, l) && (h = u(l, e), h && c.push(o(l) + (n ? ": " : ":") + h));
return h = c.length === 0 ? "{}" : n ? "{\n" + n + c.join(",\n" + n) + "\n" + v + "}" : "{" + c.join(",") + "}", n = v, h
}
}
typeof JSON.stringify != "function" && (JSON.stringify = function(i, f, e) {
var o;
if (n = "", r = "", typeof e == "number")
for (o = 0; o < e; o += 1) r += " ";
else typeof e == "string" && (r = e);
if (t = f, f && typeof f != "function" && (typeof f != "object" || typeof f.length != "number")) throw new Error("JSON.stringify");
return u("", {
"": i
})
});
typeof JSON.parse != "function" && (JSON.parse = function(n, t) {
var i;
function r(n, i) {
var f, e, u = n[i];
if (u && typeof u == "object")
for (f in u) Object.prototype.hasOwnProperty.call(u, f) && (e = r(u, f), e !== undefined ? u[f] = e : delete u[f]);
return t.call(n, i, u)
}
if (n = String(n), f.lastIndex = 0, f.test(n) && (n = n.replace(f, function(n) {
return "\\u" + ("0000" + n.charCodeAt(0).toString(16)).slice(-4)
})), /^[\],:{}\s]*$/.test(n.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return i = eval("(" + n + ")"), typeof t == "function" ? r({
"": i
}, "") : i;
throw new SyntaxError("JSON.parse");
})
}()),
function() {
window.PlayBuzz = window.PlayBuzz || {};
var n = {},
t = {},
i = 2e3;
PlayBuzz.Events = {
loadEvents: {
ITEM_READY_TO_PLAY: "itemReadyToPlay",
DOM_READY: "domReady",
DOM_READY_BUFFER: "domReadyBuffer",
FACEBOOK_SDK_LOADED: "facebookSDKLoaded"
},
embedEvents: {
IFRAME_HANDSHAKE: "iframeHandshake",
IFRAME_SCRIPT_READY: "iframeScriptReady"
},
register: function(i, r, u) {
var f = {
name: i,
callback: r,
listenOnce: u
};
t[i] && typeof r == "function" && (r(t[i]), u) || (n[i] = n[i] || [], n[i].push(f))
},
dispatch: function(i, r, u) {
if (u && (t[i] = r), n[i]) {
var f = [];
n[i].forEach(function(n) {
typeof n.callback == "function" && n.callback(r);
n.listenOnce || f.push(n)
});
n[i] = f
}
var e = $.Event(i, r)
},
forget: function(t, i) {
if (n[t]) {
typeof i == "undefined" && (n[t] = []);
for (var r = 0; r < n[t].length; r++)
if (n[t][r].callback === i) {
n[t].splice(r, 1);
return
}
}
}
};
try {
$(document).ready(function() {
setTimeout(function() {
PlayBuzz.Events.dispatch(PlayBuzz.Events.loadEvents.DOM_READY_BUFFER, null, !0)
}, i)
})
} catch (r) {
console.log("speed-exception", r)
}
}();
/*!
* jQuery Cookie Plugin v1.3.1
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
(function(n, t, i) {
var f = /\+/g;
function e(n) {
return n
}
function o(n) {
return s(decodeURIComponent(n.replace(f, " ")))
}
function s(n) {
return n.indexOf('"') === 0 && (n = n.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")), n
}
function u(n) {
return r.json ? JSON.parse(n) : n
}
var r = n.cookie = function(f, s, h) {
if (s !== i) {
if (h = n.extend({}, r.defaults, h), s === null && (h.expires = -1), typeof h.expires == "number") {
var k = h.expires,
a = h.expires = new Date;
a.setDate(a.getDate() + k)
}
return s = r.json ? JSON.stringify(s) : String(s), t.cookie = [encodeURIComponent(f), "=", r.raw ? s : encodeURIComponent(s), h.expires ? "; expires=" + h.expires.toUTCString() : "", h.path ? "; path=" + h.path : "", h.domain ? "; domain=" + h.domain : "", h.secure ? "; secure" : ""].join("")
}
for (var v = r.raw ? e : o, y = t.cookie.split("; "), c = f ? null : {}, l = 0, d = y.length; l < d; l++) {
var p = y[l].split("="),
w = v(p.shift()),
b = v(p.join("="));
if (f && f === w) {
c = u(b);
break
}
f || (c[w] = u(b))
}
return c
};
r.defaults = {};
n.removeCookie = function(t, i) {
return n.cookie(t) !== null ? (n.cookie(t, null, i), !0) : !1
}
})(jQuery, document);
jQuery.cookie.json = !0;
jQuery.cookie.defaults.path = "/";
jQuery.cookie.defaults.domain = ".playbuzz.com";
var BrowserDetect = {
init: function() {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS"
},
searchString: function(n) {
for (var t = 0; t < n.length; t++) {
var i = n[t].string,
r = n[t].prop;
if (this.versionSearchString = n[t].versionSearch || n[t].identity, i) {
if (i.indexOf(n[t].subString) != -1) return n[t].identity
} else if (r) return n[t].identity
}
},
searchVersion: function(n) {
var t = n.indexOf(this.versionSearchString);
if (t != -1) return parseFloat(n.substring(t + this.versionSearchString.length + 1))
},
dataBrowser: [{
string: navigator.userAgent,
subString: "Chrome",
identity: "Chrome"
}, {
string: navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
}, {
string: navigator.vendor,
subString: "Apple",
identity: "Safari",
versionSearch: "Version"
}, {
prop: window.opera,
identity: "Opera",
versionSearch: "Version"
}, {
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
}, {
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
}, {
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
}, {
string: navigator.vendor,
subString: "Camino",
identity: "Camino"
}, {
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
}, {
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
}, {
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
}, {
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}],
dataOS: [{
string: navigator.platform,
subString: "Win",
identity: "Windows"
}, {
string: navigator.platform,
subString: "Mac",
identity: "Mac"
}, {
string: navigator.userAgent,
subString: "iPhone",
identity: "iPhone/iPod"
}, {
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}]
};
BrowserDetect.init(),
function(n, t) {
var r = "utm_medium",
u = "utm_term",
e = "utm_source";
function i() {
t.cookie.json !== !0 && (t.cookie.json = !0);
this.COOKIE_NAME = "pb_utm";
this.EXPIRES = 120;
this.PARAMETERS = [r, u, e];
this.cookie = {};
this.init();
this.set()
}
i.prototype.init = function() {
var n;
if (this.hasCookie()) this.cookie = t.cookie(this.COOKIE_NAME);
else {
for (n = 0; n < this.PARAMETERS.length; n++) this.cookie[this.PARAMETERS[n]] = null;
this.setBrowserCookie()
}
};
i.prototype.setBrowserCookie = function() {
return t.cookie(this.COOKIE_NAME, this.cookie, {
expires: this.EXPIRES,
path: "/"
})
};
i.prototype.hasCookie = function() {
return t.cookie(this.COOKIE_NAME) !== null
};
i.prototype.set = function() {
var n, t;
if (!h()) {
for (n = 0; n < this.PARAMETERS.length; n++) t = o(this.PARAMETERS[n]), f(t) && s(this.PARAMETERS[n]) ? this.cookie[this.PARAMETERS[n]] = null : f(t) || (this.cookie[this.PARAMETERS[n]] = t);
this.setBrowserCookie()
}
};
i.prototype.getMedium = function() {
return this.cookie[r]
};
i.prototype.getTerm = function() {
return this.cookie[u]
};
i.prototype.getSource = function() {
return this.cookie[e]
};
function s(n) {
return n === u
}
function f(n) {
return n === ""
}
function h() {
var n = o(r),
t = o(u);
return f(n) && f(t)
}
function o(t) {
t = t.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var r = new RegExp("[\\?&]" + t + "=([^]*)"),
i = r.exec(n.location.search);
return i === null ? "" : decodeURIComponent(i[1].replace(/\+/g, " "))
}
n.UtmCookie = i
}(window, jQuery);
var CSSJSON = new function() {
var n = this;
n.init = function() {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, "")
};
String.prototype.repeat = function(n) {
return new Array(1 + n).join(this)
}
};
n.init();
var o = /\/\*[\s\S]*?\*\//g,
s = /([^\:]+):([^\;]*);/,
h = /(\/\*[\s\S]*?\*\/)|([^\s\;\{\}][^\;\{\}]*(?=\{))|(\})|([^\;\{\}]+\;(?!\s*\*\/))/gmi,
r = 1,
u = 2,
c = 3,
f = 4,
t = function(n) {
return typeof n == "undefined" || n.length == 0 || n == null
};
n.toJSON = function(e, l) {
var a = {
children: {},
attributes: {}
},
y = null,
w = 0;
if (typeof l == "undefined") var l = {
ordered: !1,
comments: !1,
stripComments: !1,
split: !1
};
for (l.stripComments && (l.comments = !1, e = e.replace(o, ""));
(y = h.exec(e)) != null;)
if (!t(y[r]) && l.comments) {
var ut = y[r].trim();
a[w++] = ut
} else if (t(y[u]))
if (t(y[c])) {
if (!t(y[f])) {
var it = y[f].trim(),
d = s.exec(it);
if (d) {
var v = d[1].trim(),
g = d[2].trim();
if (l.ordered) {
var p = {};
p.name = v;
p.value = g;
p.type = "attr";
a[w++] = p
} else if (v in a.attributes) {
var rt = a.attributes[v];
rt instanceof Array || (a.attributes[v] = [rt]);
a.attributes[v].push(g)
} else a.attributes[v] = g
} else a[w++] = it
}
} else return a;
else {
var v = y[u].trim(),
b = n.toJSON(e, l);
if (l.ordered) {
var p = {};
p.name = v;
p.value = b;
p.type = "rule";
a[w++] = p
} else {
if (l.split) var nt = v.split(",");
else var nt = [v];
for (i in nt) {
var k = nt[i].trim();
if (k in a.children)
for (var tt in b.attributes) a.children[k].attributes[tt] = b.attributes[tt];
else a.children[k] = b
}
}
}
return a
};
n.toCSS = function(n, t, r) {
var u = "";
if (typeof t == "undefined" && (t = 0), typeof r == "undefined" && (r = !1), n.attributes)
for (i in n.attributes) {
var f = n.attributes[i];
if (f instanceof Array)
for (var o = 0; o < f.length; o++) u += e(i, f[o], t);
else u += e(i, f, t)
}
if (n.children) {
var s = !0;
for (i in n.children) r && !s ? u += "\n" : s = !1, u += l(i, n.children[i], t)
}
return u
};
var e = function(n, t, i) {
return "\t".repeat(i) + n + ": " + t + ";\n"
},
l = function(t, i, r) {
var u = "\t".repeat(r) + t + " {\n";
return u += n.toCSS(i, r + 1), u + ("\t".repeat(r) + "}\n")
}
};
(function(n) {
var t = null;
n.fn.modal = function(u) {
var f = n(this);
if (f.attr("href")) {
f.click(i);
return
}
u = n.extend({}, n.fn.modal.defaults, u);
function e() {
t.blocker = n('