/*! jQuery UI - v1.12.1 - 2017-01-12
* http://jqueryui.com
* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/mouse.js, widgets/slider.js, widgets/tooltip.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
(function (t) {
"function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery)
})(function (t) {
t(document).ready(function()
{
t.ui = t.ui || {}, t.ui.version = "1.12.1";
var e = 0, i = Array.prototype.slice;
t.cleanData = function (e) {
return function (i) {
var s, n, o;
for (o = 0; null != (n = i[o]); o++) try {
s = t._data(n, "events"), s && s.remove && t(n).triggerHandler("remove")
} catch (a) {
}
e(i)
}
}(t.cleanData), t.widget = function (e, i, s) {
var n, o, a, r = {}, l = e.split(".")[0];
e = e.split(".")[1];
var h = l + "-" + e;
return s || (s = i, i = t.Widget), t.isArray(s) && (s = t.extend.apply(null, [{}].concat(s))), t.expr[":"][h.toLowerCase()] = function (e) {
return !!t.data(e, h)
}, t[l] = t[l] || {}, n = t[l][e], o = t[l][e] = function (t, e) {
return this._createWidget ? (arguments.length && this._createWidget(t, e), void 0) : new o(t, e)
}, t.extend(o, n, {
version: s.version,
_proto: t.extend({}, s),
_childConstructors: []
}), a = new i, a.options = t.widget.extend({}, a.options), t.each(s, function (e, s) {
return t.isFunction(s) ? (r[e] = function () {
function t() {
return i.prototype[e].apply(this, arguments)
}
function n(t) {
return i.prototype[e].apply(this, t)
}
return function () {
var e, i = this._super, o = this._superApply;
return this._super = t, this._superApply = n, e = s.apply(this, arguments), this._super = i, this._superApply = o, e
}
}(), void 0) : (r[e] = s, void 0)
}), o.prototype = t.widget.extend(a, {widgetEventPrefix: n ? a.widgetEventPrefix || e : e}, r, {
constructor: o,
namespace: l,
widgetName: e,
widgetFullName: h
}), n ? (t.each(n._childConstructors, function (e, i) {
var s = i.prototype;
t.widget(s.namespace + "." + s.widgetName, o, i._proto)
}), delete n._childConstructors) : i._childConstructors.push(o), t.widget.bridge(e, o), o
}, t.widget.extend = function (e) {
for (var s, n, o = i.call(arguments, 1), a = 0, r = o.length; r > a; a++) for (s in o[a]) n = o[a][s], o[a].hasOwnProperty(s) && void 0 !== n && (e[s] = t.isPlainObject(n) ? t.isPlainObject(e[s]) ? t.widget.extend({}, e[s], n) : t.widget.extend({}, n) : n);
return e
}, t.widget.bridge = function (e, s) {
var n = s.prototype.widgetFullName || e;
t.fn[e] = function (o) {
var a = "string" == typeof o, r = i.call(arguments, 1), l = this;
return a ? this.length || "instance" !== o ? this.each(function () {
var i, s = t.data(this, n);
return "instance" === o ? (l = s, !1) : s ? t.isFunction(s[o]) && "_" !== o.charAt(0) ? (i = s[o].apply(s, r), i !== s && void 0 !== i ? (l = i && i.jquery ? l.pushStack(i.get()) : i, !1) : void 0) : t.error("no such method '" + o + "' for " + e + " widget instance") : t.error("cannot call methods on " + e + " prior to initialization; " + "attempted to call method '" + o + "'")
}) : l = void 0 : (r.length && (o = t.widget.extend.apply(null, [o].concat(r))), this.each(function () {
var e = t.data(this, n);
e ? (e.option(o || {}), e._init && e._init()) : t.data(this, n, new s(o, this))
})), l
}
}, t.Widget = function () {
}, t.Widget._childConstructors = [], t.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
defaultElement: "
",
options: {classes: {}, disabled: !1, create: null},
_createWidget: function (i, s) {
s = t(s || this.defaultElement || this)[0], this.element = t(s), this.uuid = e++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = t(), this.hoverable = t(), this.focusable = t(), this.classesElementLookup = {}, s !== this && (t.data(s, this.widgetFullName, this), this._on(!0, this.element, {
remove: function (t) {
t.target === s && this.destroy()
}
}), this.document = t(s.style ? s.ownerDocument : s.document || s), this.window = t(this.document[0].defaultView || this.document[0].parentWindow)), this.options = t.widget.extend({}, this.options, this._getCreateOptions(), i), this._create(), this.options.disabled && this._setOptionDisabled(this.options.disabled), this._trigger("create", null, this._getCreateEventData()), this._init()
},
_getCreateOptions: function () {
return {}
},
_getCreateEventData: t.noop,
_create: t.noop,
_init: t.noop,
destroy: function () {
var e = this;
this._destroy(), t.each(this.classesElementLookup, function (t, i) {
e._removeClass(i, t)
}), this.element.off(this.eventNamespace).removeData(this.widgetFullName), this.widget().off(this.eventNamespace).removeAttr("aria-disabled"), this.bindings.off(this.eventNamespace)
},
_destroy: t.noop,
widget: function () {
return this.element
},
option: function (e, i) {
var s, n, o, a = e;
if (0 === arguments.length) return t.widget.extend({}, this.options);
if ("string" == typeof e) if (a = {}, s = e.split("."), e = s.shift(), s.length) {
for (n = a[e] = t.widget.extend({}, this.options[e]), o = 0; s.length - 1 > o; o++) n[s[o]] = n[s[o]] || {}, n = n[s[o]];
if (e = s.pop(), 1 === arguments.length) return void 0 === n[e] ? null : n[e];
n[e] = i
} else {
if (1 === arguments.length) return void 0 === this.options[e] ? null : this.options[e];
a[e] = i
}
return this._setOptions(a), this
},
_setOptions: function (t) {
var e;
for (e in t) this._setOption(e, t[e]);
return this
},
_setOption: function (t, e) {
return "classes" === t && this._setOptionClasses(e), this.options[t] = e, "disabled" === t && this._setOptionDisabled(e), this
},
_setOptionClasses: function (e) {
var i, s, n;
for (i in e) n = this.classesElementLookup[i], e[i] !== this.options.classes[i] && n && n.length && (s = t(n.get()), this._removeClass(n, i), s.addClass(this._classes({
element: s,
keys: i,
classes: e,
add: !0
})))
},
_setOptionDisabled: function (t) {
this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus"))
},
enable: function () {
return this._setOptions({disabled: !1})
},
disable: function () {
return this._setOptions({disabled: !0})
},
_classes: function (e) {
function i(i, o) {
var a, r;
for (r = 0; i.length > r; r++) a = n.classesElementLookup[i[r]] || t(), a = e.add ? t(t.unique(a.get().concat(e.element.get()))) : t(a.not(e.element).get()), n.classesElementLookup[i[r]] = a, s.push(i[r]), o && e.classes[i[r]] && s.push(e.classes[i[r]])
}
var s = [], n = this;
return e = t.extend({
element: this.element,
classes: this.options.classes || {}
}, e), this._on(e.element, {remove: "_untrackClassesElement"}), e.keys && i(e.keys.match(/\S+/g) || [], !0), e.extra && i(e.extra.match(/\S+/g) || []), s.join(" ")
},
_untrackClassesElement: function (e) {
var i = this;
t.each(i.classesElementLookup, function (s, n) {
-1 !== t.inArray(e.target, n) && (i.classesElementLookup[s] = t(n.not(e.target).get()))
})
},
_removeClass: function (t, e, i) {
return this._toggleClass(t, e, i, !1)
},
_addClass: function (t, e, i) {
return this._toggleClass(t, e, i, !0)
},
_toggleClass: function (t, e, i, s) {
s = "boolean" == typeof s ? s : i;
var n = "string" == typeof t || null === t,
o = {extra: n ? e : i, keys: n ? t : e, element: n ? this.element : t, add: s};
return o.element.toggleClass(this._classes(o), s), this
},
_on: function (e, i, s) {
var n, o = this;
"boolean" != typeof e && (s = i, i = e, e = !1), s ? (i = n = t(i), this.bindings = this.bindings.add(i)) : (s = i, i = this.element, n = this.widget()), t.each(s, function (s, a) {
function r() {
return e || o.options.disabled !== !0 && !t(this).hasClass("ui-state-disabled") ? ("string" == typeof a ? o[a] : a).apply(o, arguments) : void 0
}
"string" != typeof a && (r.guid = a.guid = a.guid || r.guid || t.guid++);
var l = s.match(/^([\w:-]*)\s*(.*)$/), h = l[1] + o.eventNamespace, c = l[2];
c ? n.on(h, c, r) : i.on(h, r)
})
},
_off: function (e, i) {
i = (i || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, e.off(i).off(i), this.bindings = t(this.bindings.not(e).get()), this.focusable = t(this.focusable.not(e).get()), this.hoverable = t(this.hoverable.not(e).get())
},
_delay: function (t, e) {
function i() {
return ("string" == typeof t ? s[t] : t).apply(s, arguments)
}
var s = this;
return setTimeout(i, e || 0)
},
_hoverable: function (e) {
this.hoverable = this.hoverable.add(e), this._on(e, {
mouseenter: function (e) {
this._addClass(t(e.currentTarget), null, "ui-state-hover")
}, mouseleave: function (e) {
this._removeClass(t(e.currentTarget), null, "ui-state-hover")
}
})
},
_focusable: function (e) {
this.focusable = this.focusable.add(e), this._on(e, {
focusin: function (e) {
this._addClass(t(e.currentTarget), null, "ui-state-focus")
}, focusout: function (e) {
this._removeClass(t(e.currentTarget), null, "ui-state-focus")
}
})
},
_trigger: function (e, i, s) {
var n, o, a = this.options[e];
if (s = s || {}, i = t.Event(i), i.type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix + e).toLowerCase(), i.target = this.element[0], o = i.originalEvent) for (n in o) n in i || (i[n] = o[n]);
return this.element.trigger(i, s), !(t.isFunction(a) && a.apply(this.element[0], [i].concat(s)) === !1 || i.isDefaultPrevented())
}
}, t.each({show: "fadeIn", hide: "fadeOut"}, function (e, i) {
t.Widget.prototype["_" + e] = function (s, n, o) {
"string" == typeof n && (n = {effect: n});
var a, r = n ? n === !0 || "number" == typeof n ? i : n.effect || i : e;
n = n || {}, "number" == typeof n && (n = {duration: n}), a = !t.isEmptyObject(n), n.complete = o, n.delay && s.delay(n.delay), a && t.effects && t.effects.effect[r] ? s[e](n) : r !== e && s[r] ? s[r](n.duration, n.easing, o) : s.queue(function (i) {
t(this)[e](), o && o.call(s[0]), i()
})
}
}), t.widget, function () {
function e(t, e, i) {
return [parseFloat(t[0]) * (u.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (u.test(t[1]) ? i / 100 : 1)]
}
function i(e, i) {
return parseInt(t.css(e, i), 10) || 0
}
function s(e) {
var i = e[0];
return 9 === i.nodeType ? {
width: e.width(),
height: e.height(),
offset: {top: 0, left: 0}
} : t.isWindow(i) ? {
width: e.width(),
height: e.height(),
offset: {top: e.scrollTop(), left: e.scrollLeft()}
} : i.preventDefault ? {
width: 0,
height: 0,
offset: {top: i.pageY, left: i.pageX}
} : {width: e.outerWidth(), height: e.outerHeight(), offset: e.offset()}
}
var n, o = Math.max, a = Math.abs, r = /left|center|right/, l = /top|center|bottom/,
h = /[\+\-]\d+(\.[\d]+)?%?/, c = /^\w+/, u = /%$/, d = t.fn.position;
t.position = {
scrollbarWidth: function () {
if (void 0 !== n) return n;
var e, i,
s = t("
"),
o = s.children()[0];
return t("body").append(s), e = o.offsetWidth, s.css("overflow", "scroll"), i = o.offsetWidth, e === i && (i = s[0].clientWidth), s.remove(), n = e - i
}, getScrollInfo: function (e) {
var i = e.isWindow || e.isDocument ? "" : e.element.css("overflow-x"),
s = e.isWindow || e.isDocument ? "" : e.element.css("overflow-y"),
n = "scroll" === i || "auto" === i && e.width < e.element[0].scrollWidth,
o = "scroll" === s || "auto" === s && e.height < e.element[0].scrollHeight;
return {width: o ? t.position.scrollbarWidth() : 0, height: n ? t.position.scrollbarWidth() : 0}
}, getWithinInfo: function (e) {
var i = t(e || window), s = t.isWindow(i[0]), n = !!i[0] && 9 === i[0].nodeType, o = !s && !n;
return {
element: i,
isWindow: s,
isDocument: n,
offset: o ? t(e).offset() : {left: 0, top: 0},
scrollLeft: i.scrollLeft(),
scrollTop: i.scrollTop(),
width: i.outerWidth(),
height: i.outerHeight()
}
}
}, t.fn.position = function (n) {
if (!n || !n.of) return d.apply(this, arguments);
n = t.extend({}, n);
var u, p, f, g, m, _, v = t(n.of), b = t.position.getWithinInfo(n.within),
y = t.position.getScrollInfo(b),
w = (n.collision || "flip").split(" "), k = {};
return _ = s(v), v[0].preventDefault && (n.at = "left top"), p = _.width, f = _.height, g = _.offset, m = t.extend({}, g), t.each(["my", "at"], function () {
var t, e, i = (n[this] || "").split(" ");
1 === i.length && (i = r.test(i[0]) ? i.concat(["center"]) : l.test(i[0]) ? ["center"].concat(i) : ["center", "center"]), i[0] = r.test(i[0]) ? i[0] : "center", i[1] = l.test(i[1]) ? i[1] : "center", t = h.exec(i[0]), e = h.exec(i[1]), k[this] = [t ? t[0] : 0, e ? e[0] : 0], n[this] = [c.exec(i[0])[0], c.exec(i[1])[0]]
}), 1 === w.length && (w[1] = w[0]), "right" === n.at[0] ? m.left += p : "center" === n.at[0] && (m.left += p / 2), "bottom" === n.at[1] ? m.top += f : "center" === n.at[1] && (m.top += f / 2), u = e(k.at, p, f), m.left += u[0], m.top += u[1], this.each(function () {
var s, r, l = t(this), h = l.outerWidth(), c = l.outerHeight(), d = i(this, "marginLeft"),
_ = i(this, "marginTop"), x = h + d + i(this, "marginRight") + y.width,
C = c + _ + i(this, "marginBottom") + y.height, D = t.extend({}, m),
T = e(k.my, l.outerWidth(), l.outerHeight());
"right" === n.my[0] ? D.left -= h : "center" === n.my[0] && (D.left -= h / 2), "bottom" === n.my[1] ? D.top -= c : "center" === n.my[1] && (D.top -= c / 2), D.left += T[0], D.top += T[1], s = {
marginLeft: d,
marginTop: _
}, t.each(["left", "top"], function (e, i) {
t.ui.position[w[e]] && t.ui.position[w[e]][i](D, {
targetWidth: p,
targetHeight: f,
elemWidth: h,
elemHeight: c,
collisionPosition: s,
collisionWidth: x,
collisionHeight: C,
offset: [u[0] + T[0], u[1] + T[1]],
my: n.my,
at: n.at,
within: b,
elem: l
})
}), n.using && (r = function (t) {
var e = g.left - D.left, i = e + p - h, s = g.top - D.top, r = s + f - c, u = {
target: {element: v, left: g.left, top: g.top, width: p, height: f},
element: {element: l, left: D.left, top: D.top, width: h, height: c},
horizontal: 0 > i ? "left" : e > 0 ? "right" : "center",
vertical: 0 > r ? "top" : s > 0 ? "bottom" : "middle"
};
h > p && p > a(e + i) && (u.horizontal = "center"), c > f && f > a(s + r) && (u.vertical = "middle"), u.important = o(a(e), a(i)) > o(a(s), a(r)) ? "horizontal" : "vertical", n.using.call(this, t, u)
}), l.offset(t.extend(D, {using: r}))
})
}, t.ui.position = {
fit: {
left: function (t, e) {
var i, s = e.within, n = s.isWindow ? s.scrollLeft : s.offset.left, a = s.width,
r = t.left - e.collisionPosition.marginLeft, l = n - r, h = r + e.collisionWidth - a - n;
e.collisionWidth > a ? l > 0 && 0 >= h ? (i = t.left + l + e.collisionWidth - a - n, t.left += l - i) : t.left = h > 0 && 0 >= l ? n : l > h ? n + a - e.collisionWidth : n : l > 0 ? t.left += l : h > 0 ? t.left -= h : t.left = o(t.left - r, t.left)
}, top: function (t, e) {
var i, s = e.within, n = s.isWindow ? s.scrollTop : s.offset.top, a = e.within.height,
r = t.top - e.collisionPosition.marginTop, l = n - r, h = r + e.collisionHeight - a - n;
e.collisionHeight > a ? l > 0 && 0 >= h ? (i = t.top + l + e.collisionHeight - a - n, t.top += l - i) : t.top = h > 0 && 0 >= l ? n : l > h ? n + a - e.collisionHeight : n : l > 0 ? t.top += l : h > 0 ? t.top -= h : t.top = o(t.top - r, t.top)
}
}, flip: {
left: function (t, e) {
var i, s, n = e.within, o = n.offset.left + n.scrollLeft, r = n.width,
l = n.isWindow ? n.scrollLeft : n.offset.left, h = t.left - e.collisionPosition.marginLeft,
c = h - l, u = h + e.collisionWidth - r - l,
d = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0,
p = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0,
f = -2 * e.offset[0];
0 > c ? (i = t.left + d + p + f + e.collisionWidth - r - o, (0 > i || a(c) > i) && (t.left += d + p + f)) : u > 0 && (s = t.left - e.collisionPosition.marginLeft + d + p + f - l, (s > 0 || u > a(s)) && (t.left += d + p + f))
}, top: function (t, e) {
var i, s, n = e.within, o = n.offset.top + n.scrollTop, r = n.height,
l = n.isWindow ? n.scrollTop : n.offset.top, h = t.top - e.collisionPosition.marginTop,
c = h - l, u = h + e.collisionHeight - r - l, d = "top" === e.my[1],
p = d ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0,
f = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0,
g = -2 * e.offset[1];
0 > c ? (s = t.top + p + f + g + e.collisionHeight - r - o, (0 > s || a(c) > s) && (t.top += p + f + g)) : u > 0 && (i = t.top - e.collisionPosition.marginTop + p + f + g - l, (i > 0 || u > a(i)) && (t.top += p + f + g))
}
}, flipfit: {
left: function () {
t.ui.position.flip.left.apply(this, arguments), t.ui.position.fit.left.apply(this, arguments)
}, top: function () {
t.ui.position.flip.top.apply(this, arguments), t.ui.position.fit.top.apply(this, arguments)
}
}
}
}(), t.ui.position, t.ui.keyCode = {
BACKSPACE: 8,
COMMA: 188,
DELETE: 46,
DOWN: 40,
END: 35,
ENTER: 13,
ESCAPE: 27,
HOME: 36,
LEFT: 37,
PAGE_DOWN: 34,
PAGE_UP: 33,
PERIOD: 190,
RIGHT: 39,
SPACE: 32,
TAB: 9,
UP: 38
}, t.fn.extend({
uniqueId: function () {
var t = 0;
return function () {
return this.each(function () {
this.id || (this.id = "ui-id-" + ++t)
})
}
}(), removeUniqueId: function () {
return this.each(function () {
/^ui-id-\d+$/.test(this.id) && t(this).removeAttr("id")
})
}
}), t.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());
var s = !1;
t(document).on("mouseup", function () {
s = !1
}), t.widget("ui.mouse", {
version: "1.12.1",
options: {cancel: "input, textarea, button, select, option", distance: 1, delay: 0},
_mouseInit: function () {
var e = this;
this.element.on("mousedown." + this.widgetName, function (t) {
return e._mouseDown(t)
}).on("click." + this.widgetName, function (i) {
return !0 === t.data(i.target, e.widgetName + ".preventClickEvent") ? (t.removeData(i.target, e.widgetName + ".preventClickEvent"), i.stopImmediatePropagation(), !1) : void 0
}), this.started = !1
},
_mouseDestroy: function () {
this.element.off("." + this.widgetName), this._mouseMoveDelegate && this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate)
},
_mouseDown: function (e) {
if (!s) {
this._mouseMoved = !1, this._mouseStarted && this._mouseUp(e), this._mouseDownEvent = e;
var i = this, n = 1 === e.which,
o = "string" == typeof this.options.cancel && e.target.nodeName ? t(e.target).closest(this.options.cancel).length : !1;
return n && !o && this._mouseCapture(e) ? (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function () {
i.mouseDelayMet = !0
}, this.options.delay)), this._mouseDistanceMet(e) && this._mouseDelayMet(e) && (this._mouseStarted = this._mouseStart(e) !== !1, !this._mouseStarted) ? (e.preventDefault(), !0) : (!0 === t.data(e.target, this.widgetName + ".preventClickEvent") && t.removeData(e.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function (t) {
return i._mouseMove(t)
}, this._mouseUpDelegate = function (t) {
return i._mouseUp(t)
}, this.document.on("mousemove." + this.widgetName, this._mouseMoveDelegate).on("mouseup." + this.widgetName, this._mouseUpDelegate), e.preventDefault(), s = !0, !0)) : !0
}
},
_mouseMove: function (e) {
if (this._mouseMoved) {
if (t.ui.ie && (!document.documentMode || 9 > document.documentMode) && !e.button) return this._mouseUp(e);
if (!e.which) if (e.originalEvent.altKey || e.originalEvent.ctrlKey || e.originalEvent.metaKey || e.originalEvent.shiftKey) this.ignoreMissingWhich = !0; else if (!this.ignoreMissingWhich) return this._mouseUp(e)
}
return (e.which || e.button) && (this._mouseMoved = !0), this._mouseStarted ? (this._mouseDrag(e), e.preventDefault()) : (this._mouseDistanceMet(e) && this._mouseDelayMet(e) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, e) !== !1, this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e)), !this._mouseStarted)
},
_mouseUp: function (e) {
this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, e.target === this._mouseDownEvent.target && t.data(e.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(e)), this._mouseDelayTimer && (clearTimeout(this._mouseDelayTimer), delete this._mouseDelayTimer), this.ignoreMissingWhich = !1, s = !1, e.preventDefault()
},
_mouseDistanceMet: function (t) {
return Math.max(Math.abs(this._mouseDownEvent.pageX - t.pageX), Math.abs(this._mouseDownEvent.pageY - t.pageY)) >= this.options.distance
},
_mouseDelayMet: function () {
return this.mouseDelayMet
},
_mouseStart: function () {
},
_mouseDrag: function () {
},
_mouseStop: function () {
},
_mouseCapture: function () {
return !0
}
}), t.widget("ui.slider", t.ui.mouse, {
version: "1.12.1",
widgetEventPrefix: "slide",
options: {
animate: !1,
classes: {
"ui-slider": "ui-corner-all",
"ui-slider-handle": "ui-corner-all",
"ui-slider-range": "ui-corner-all ui-widget-header"
},
distance: 0,
max: 100,
min: 0,
orientation: "horizontal",
range: !1,
step: 1,
value: 0,
values: null,
change: null,
slide: null,
start: null,
stop: null
},
numPages: 5,
_create: function () {
this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this._calculateNewMax(), this._addClass("ui-slider ui-slider-" + this.orientation, "ui-widget ui-widget-content"), this._refresh(), this._animateOff = !1
},
_refresh: function () {
this._createRange(), this._createHandles(), this._setupEvents(), this._refreshValue()
},
_createHandles: function () {
var e, i, s = this.options, n = this.element.find(".ui-slider-handle"),
o = "
",
a = [];
for (i = s.values && s.values.length || 1, n.length > i && (n.slice(i).remove(), n = n.slice(0, i)), e = n.length; i > e; e++) a.push(o);
this.handles = n.add(t(a.join("")).appendTo(this.element)), this._addClass(this.handles, "ui-slider-handle", "ui-state-default"), this.handle = this.handles.eq(0), this.handles.each(function (e) {
t(this).data("ui-slider-handle-index", e).attr("tabIndex", 0)
})
},
_createRange: function () {
var e = this.options;
e.range ? (e.range === !0 && (e.values ? e.values.length && 2 !== e.values.length ? e.values = [e.values[0], e.values[0]] : t.isArray(e.values) && (e.values = e.values.slice(0)) : e.values = [this._valueMin(), this._valueMin()]), this.range && this.range.length ? (this._removeClass(this.range, "ui-slider-range-min ui-slider-range-max"), this.range.css({
left: "",
bottom: ""
})) : (this.range = t("
").appendTo(this.element), this._addClass(this.range, "ui-slider-range")), ("min" === e.range || "max" === e.range) && this._addClass(this.range, "ui-slider-range-" + e.range)) : (this.range && this.range.remove(), this.range = null)
},
_setupEvents: function () {
this._off(this.handles), this._on(this.handles, this._handleEvents), this._hoverable(this.handles), this._focusable(this.handles)
},
_destroy: function () {
this.handles.remove(), this.range && this.range.remove(), this._mouseDestroy()
},
_mouseCapture: function (e) {
var i, s, n, o, a, r, l, h, c = this, u = this.options;
return u.disabled ? !1 : (this.elementSize = {
width: this.element.outerWidth(),
height: this.element.outerHeight()
}, this.elementOffset = this.element.offset(), i = {
x: e.pageX,
y: e.pageY
}, s = this._normValueFromMouse(i), n = this._valueMax() - this._valueMin() + 1, this.handles.each(function (e) {
var i = Math.abs(s - c.values(e));
(n > i || n === i && (e === c._lastChangedValue || c.values(e) === u.min)) && (n = i, o = t(this), a = e)
}), r = this._start(e, a), r === !1 ? !1 : (this._mouseSliding = !0, this._handleIndex = a, this._addClass(o, null, "ui-state-active"), o.trigger("focus"), l = o.offset(), h = !t(e.target).parents().addBack().is(".ui-slider-handle"), this._clickOffset = h ? {
left: 0,
top: 0
} : {
left: e.pageX - l.left - o.width() / 2,
top: e.pageY - l.top - o.height() / 2 - (parseInt(o.css("borderTopWidth"), 10) || 0) - (parseInt(o.css("borderBottomWidth"), 10) || 0) + (parseInt(o.css("marginTop"), 10) || 0)
}, this.handles.hasClass("ui-state-hover") || this._slide(e, a, s), this._animateOff = !0, !0))
},
_mouseStart: function () {
return !0
},
_mouseDrag: function (t) {
var e = {x: t.pageX, y: t.pageY}, i = this._normValueFromMouse(e);
return this._slide(t, this._handleIndex, i), !1
},
_mouseStop: function (t) {
return this._removeClass(this.handles, null, "ui-state-active"), this._mouseSliding = !1, this._stop(t, this._handleIndex), this._change(t, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1
},
_detectOrientation: function () {
this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal"
},
_normValueFromMouse: function (t) {
var e, i, s, n, o;
return "horizontal" === this.orientation ? (e = this.elementSize.width, i = t.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (e = this.elementSize.height, i = t.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)), s = i / e, s > 1 && (s = 1), 0 > s && (s = 0), "vertical" === this.orientation && (s = 1 - s), n = this._valueMax() - this._valueMin(), o = this._valueMin() + s * n, this._trimAlignValue(o)
},
_uiHash: function (t, e, i) {
var s = {handle: this.handles[t], handleIndex: t, value: void 0 !== e ? e : this.value()};
return this._hasMultipleValues() && (s.value = void 0 !== e ? e : this.values(t), s.values = i || this.values()), s
},
_hasMultipleValues: function () {
return this.options.values && this.options.values.length
},
_start: function (t, e) {
return this._trigger("start", t, this._uiHash(e))
},
_slide: function (t, e, i) {
var s, n, o = this.value(), a = this.values();
this._hasMultipleValues() && (n = this.values(e ? 0 : 1), o = this.values(e), 2 === this.options.values.length && this.options.range === !0 && (i = 0 === e ? Math.min(n, i) : Math.max(n, i)), a[e] = i), i !== o && (s = this._trigger("slide", t, this._uiHash(e, i, a)), s !== !1 && (this._hasMultipleValues() ? this.values(e, i) : this.value(i)))
},
_stop: function (t, e) {
this._trigger("stop", t, this._uiHash(e))
},
_change: function (t, e) {
this._keySliding || this._mouseSliding || (this._lastChangedValue = e, this._trigger("change", t, this._uiHash(e)))
},
value: function (t) {
return arguments.length ? (this.options.value = this._trimAlignValue(t), this._refreshValue(), this._change(null, 0), void 0) : this._value()
},
values: function (e, i) {
var s, n, o;
if (arguments.length > 1) return this.options.values[e] = this._trimAlignValue(i), this._refreshValue(), this._change(null, e), void 0;
if (!arguments.length) return this._values();
if (!t.isArray(arguments[0])) return this._hasMultipleValues() ? this._values(e) : this.value();
for (s = this.options.values, n = arguments[0], o = 0; s.length > o; o += 1) s[o] = this._trimAlignValue(n[o]), this._change(null, o);
this._refreshValue()
},
_setOption: function (e, i) {
var s, n = 0;
switch ("range" === e && this.options.range === !0 && ("min" === i ? (this.options.value = this._values(0), this.options.values = null) : "max" === i && (this.options.value = this._values(this.options.values.length - 1), this.options.values = null)), t.isArray(this.options.values) && (n = this.options.values.length), this._super(e, i), e) {
case"orientation":
this._detectOrientation(), this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-" + this.orientation), this._refreshValue(), this.options.range && this._refreshRange(i), this.handles.css("horizontal" === i ? "bottom" : "left", "");
break;
case"value":
this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;
break;
case"values":
for (this._animateOff = !0, this._refreshValue(), s = n - 1; s >= 0; s--) this._change(null, s);
this._animateOff = !1;
break;
case"step":
case"min":
case"max":
this._animateOff = !0, this._calculateNewMax(), this._refreshValue(), this._animateOff = !1;
break;
case"range":
this._animateOff = !0, this._refresh(), this._animateOff = !1
}
},
_setOptionDisabled: function (t) {
this._super(t), this._toggleClass(null, "ui-state-disabled", !!t)
},
_value: function () {
var t = this.options.value;
return t = this._trimAlignValue(t)
},
_values: function (t) {
var e, i, s;
if (arguments.length) return e = this.options.values[t], e = this._trimAlignValue(e);
if (this._hasMultipleValues()) {
for (i = this.options.values.slice(), s = 0; i.length > s; s += 1) i[s] = this._trimAlignValue(i[s]);
return i
}
return []
},
_trimAlignValue: function (t) {
if (this._valueMin() >= t) return this._valueMin();
if (t >= this._valueMax()) return this._valueMax();
var e = this.options.step > 0 ? this.options.step : 1, i = (t - this._valueMin()) % e, s = t - i;
return 2 * Math.abs(i) >= e && (s += i > 0 ? e : -e), parseFloat(s.toFixed(5))
},
_calculateNewMax: function () {
var t = this.options.max, e = this._valueMin(), i = this.options.step, s = Math.round((t - e) / i) * i;
t = s + e, t > this.options.max && (t -= i), this.max = parseFloat(t.toFixed(this._precision()))
},
_precision: function () {
var t = this._precisionOf(this.options.step);
return null !== this.options.min && (t = Math.max(t, this._precisionOf(this.options.min))), t
},
_precisionOf: function (t) {
var e = "" + t, i = e.indexOf(".");
return -1 === i ? 0 : e.length - i - 1
},
_valueMin: function () {
return this.options.min
},
_valueMax: function () {
return this.max
},
_refreshRange: function (t) {
"vertical" === t && this.range.css({width: "", left: ""}), "horizontal" === t && this.range.css({
height: "",
bottom: ""
})
},
_refreshValue: function () {
var e, i, s, n, o, a = this.options.range, r = this.options, l = this,
h = this._animateOff ? !1 : r.animate, c = {};
this._hasMultipleValues() ? this.handles.each(function (s) {
i = 100 * ((l.values(s) - l._valueMin()) / (l._valueMax() - l._valueMin())), c["horizontal" === l.orientation ? "left" : "bottom"] = i + "%", t(this).stop(1, 1)[h ? "animate" : "css"](c, r.animate), l.options.range === !0 && ("horizontal" === l.orientation ? (0 === s && l.range.stop(1, 1)[h ? "animate" : "css"]({left: i + "%"}, r.animate), 1 === s && l.range[h ? "animate" : "css"]({width: i - e + "%"}, {
queue: !1,
duration: r.animate
})) : (0 === s && l.range.stop(1, 1)[h ? "animate" : "css"]({bottom: i + "%"}, r.animate), 1 === s && l.range[h ? "animate" : "css"]({height: i - e + "%"}, {
queue: !1,
duration: r.animate
}))), e = i
}) : (s = this.value(), n = this._valueMin(), o = this._valueMax(), i = o !== n ? 100 * ((s - n) / (o - n)) : 0, c["horizontal" === this.orientation ? "left" : "bottom"] = i + "%", this.handle.stop(1, 1)[h ? "animate" : "css"](c, r.animate), "min" === a && "horizontal" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({width: i + "%"}, r.animate), "max" === a && "horizontal" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({width: 100 - i + "%"}, r.animate), "min" === a && "vertical" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({height: i + "%"}, r.animate), "max" === a && "vertical" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({height: 100 - i + "%"}, r.animate))
},
_handleEvents: {
keydown: function (e) {
var i, s, n, o, a = t(e.target).data("ui-slider-handle-index");
switch (e.keyCode) {
case t.ui.keyCode.HOME:
case t.ui.keyCode.END:
case t.ui.keyCode.PAGE_UP:
case t.ui.keyCode.PAGE_DOWN:
case t.ui.keyCode.UP:
case t.ui.keyCode.RIGHT:
case t.ui.keyCode.DOWN:
case t.ui.keyCode.LEFT:
if (e.preventDefault(), !this._keySliding && (this._keySliding = !0, this._addClass(t(e.target), null, "ui-state-active"), i = this._start(e, a), i === !1)) return
}
switch (o = this.options.step, s = n = this._hasMultipleValues() ? this.values(a) : this.value(), e.keyCode) {
case t.ui.keyCode.HOME:
n = this._valueMin();
break;
case t.ui.keyCode.END:
n = this._valueMax();
break;
case t.ui.keyCode.PAGE_UP:
n = this._trimAlignValue(s + (this._valueMax() - this._valueMin()) / this.numPages);
break;
case t.ui.keyCode.PAGE_DOWN:
n = this._trimAlignValue(s - (this._valueMax() - this._valueMin()) / this.numPages);
break;
case t.ui.keyCode.UP:
case t.ui.keyCode.RIGHT:
if (s === this._valueMax()) return;
n = this._trimAlignValue(s + o);
break;
case t.ui.keyCode.DOWN:
case t.ui.keyCode.LEFT:
if (s === this._valueMin()) return;
n = this._trimAlignValue(s - o)
}
this._slide(e, a, n)
}, keyup: function (e) {
var i = t(e.target).data("ui-slider-handle-index");
this._keySliding && (this._keySliding = !1, this._stop(e, i), this._change(e, i), this._removeClass(t(e.target), null, "ui-state-active"))
}
}
}), t.widget("ui.tooltip", {
version: "1.12.1", options: {
classes: {"ui-tooltip": "ui-corner-all ui-widget-shadow"},
content: function () {
var e = t(this).attr("title") || "";
return t("
").text(e).html()
},
hide: !0,
items: "[title]:not([disabled])",
position: {my: "left top+15", at: "left bottom", collision: "flipfit flip"},
show: !0,
track: !1,
close: null,
open: null
}, _addDescribedBy: function (e, i) {
var s = (e.attr("aria-describedby") || "").split(/\s+/);
s.push(i), e.data("ui-tooltip-id", i).attr("aria-describedby", t.trim(s.join(" ")))
}, _removeDescribedBy: function (e) {
var i = e.data("ui-tooltip-id"), s = (e.attr("aria-describedby") || "").split(/\s+/),
n = t.inArray(i, s);
-1 !== n && s.splice(n, 1), e.removeData("ui-tooltip-id"), s = t.trim(s.join(" ")), s ? e.attr("aria-describedby", s) : e.removeAttr("aria-describedby")
}, _create: function () {
this._on({
mouseover: "open",
focusin: "open"
}), this.tooltips = {}, this.parents = {}, this.liveRegion = t("").attr({
role: "log",
"aria-live": "assertive",
"aria-relevant": "additions"
}).appendTo(this.document[0].body), this._addClass(this.liveRegion, null, "ui-helper-hidden-accessible"), this.disabledTitles = t([])
}, _setOption: function (e, i) {
var s = this;
this._super(e, i), "content" === e && t.each(this.tooltips, function (t, e) {
s._updateContent(e.element)
})
}, _setOptionDisabled: function (t) {
this[t ? "_disable" : "_enable"]()
}, _disable: function () {
var e = this;
t.each(this.tooltips, function (i, s) {
var n = t.Event("blur");
n.target = n.currentTarget = s.element[0], e.close(n, !0)
}), this.disabledTitles = this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function () {
var e = t(this);
return e.is("[title]") ? e.data("ui-tooltip-title", e.attr("title")).removeAttr("title") : void 0
}))
}, _enable: function () {
this.disabledTitles.each(function () {
var e = t(this);
e.data("ui-tooltip-title") && e.attr("title", e.data("ui-tooltip-title"))
}), this.disabledTitles = t([])
}, open: function (e) {
var i = this, s = t(e ? e.target : this.element).closest(this.options.items);
s.length && !s.data("ui-tooltip-id") && (s.attr("title") && s.data("ui-tooltip-title", s.attr("title")), s.data("ui-tooltip-open", !0), e && "mouseover" === e.type && s.parents().each(function () {
var e, s = t(this);
s.data("ui-tooltip-open") && (e = t.Event("blur"), e.target = e.currentTarget = this, i.close(e, !0)), s.attr("title") && (s.uniqueId(), i.parents[this.id] = {
element: this,
title: s.attr("title")
}, s.attr("title", ""))
}), this._registerCloseHandlers(e, s), this._updateContent(s, e))
}, _updateContent: function (t, e) {
var i, s = this.options.content, n = this, o = e ? e.type : null;
return "string" == typeof s || s.nodeType || s.jquery ? this._open(e, t, s) : (i = s.call(t[0], function (i) {
n._delay(function () {
t.data("ui-tooltip-open") && (e && (e.type = o), this._open(e, t, i))
})
}), i && this._open(e, t, i), void 0)
}, _open: function (e, i, s) {
function n(t) {
h.of = t, a.is(":hidden") || a.position(h)
}
var o, a, r, l, h = t.extend({}, this.options.position);
if (s) {
if (o = this._find(i)) return o.tooltip.find(".ui-tooltip-content").html(s), void 0;
i.is("[title]") && (e && "mouseover" === e.type ? i.attr("title", "") : i.removeAttr("title")), o = this._tooltip(i), a = o.tooltip, this._addDescribedBy(i, a.attr("id")), a.find(".ui-tooltip-content").html(s), this.liveRegion.children().hide(), l = t("
").html(a.find(".ui-tooltip-content").html()), l.removeAttr("name").find("[name]").removeAttr("name"), l.removeAttr("id").find("[id]").removeAttr("id"), l.appendTo(this.liveRegion), this.options.track && e && /^mouse/.test(e.type) ? (this._on(this.document, {mousemove: n}), n(e)) : a.position(t.extend({of: i}, this.options.position)), a.hide(), this._show(a, this.options.show), this.options.track && this.options.show && this.options.show.delay && (r = this.delayedShow = setInterval(function () {
a.is(":visible") && (n(h.of), clearInterval(r))
}, t.fx.interval)), this._trigger("open", e, {tooltip: a})
}
}, _registerCloseHandlers: function (e, i) {
var s = {
keyup: function (e) {
if (e.keyCode === t.ui.keyCode.ESCAPE) {
var s = t.Event(e);
s.currentTarget = i[0], this.close(s, !0)
}
}
};
i[0] !== this.element[0] && (s.remove = function () {
this._removeTooltip(this._find(i).tooltip)
}), e && "mouseover" !== e.type || (s.mouseleave = "close"), e && "focusin" !== e.type || (s.focusout = "close"), this._on(!0, i, s)
}, close: function (e) {
var i, s = this, n = t(e ? e.currentTarget : this.element), o = this._find(n);
return o ? (i = o.tooltip, o.closing || (clearInterval(this.delayedShow), n.data("ui-tooltip-title") && !n.attr("title") && n.attr("title", n.data("ui-tooltip-title")), this._removeDescribedBy(n), o.hiding = !0, i.stop(!0), this._hide(i, this.options.hide, function () {
s._removeTooltip(t(this))
}), n.removeData("ui-tooltip-open"), this._off(n, "mouseleave focusout keyup"), n[0] !== this.element[0] && this._off(n, "remove"), this._off(this.document, "mousemove"), e && "mouseleave" === e.type && t.each(this.parents, function (e, i) {
t(i.element).attr("title", i.title), delete s.parents[e]
}), o.closing = !0, this._trigger("close", e, {tooltip: i}), o.hiding || (o.closing = !1)), void 0) : (n.removeData("ui-tooltip-open"), void 0)
}, _tooltip: function (e) {
var i = t("
").attr("role", "tooltip"), s = t("
").appendTo(i), n = i.uniqueId().attr("id");
return this._addClass(s, "ui-tooltip-content"), this._addClass(i, "ui-tooltip", "ui-widget ui-widget-content"), i.appendTo(this._appendTo(e)), this.tooltips[n] = {
element: e,
tooltip: i
}
}, _find: function (t) {
var e = t.data("ui-tooltip-id");
return e ? this.tooltips[e] : null
}, _removeTooltip: function (t) {
t.remove(), delete this.tooltips[t.attr("id")]
}, _appendTo: function (t) {
var e = t.closest(".ui-front, dialog");
return e.length || (e = this.document[0].body), e
}, _destroy: function () {
var e = this;
t.each(this.tooltips, function (i, s) {
var n = t.Event("blur"), o = s.element;
n.target = n.currentTarget = o[0], e.close(n, !0), t("#" + i).remove(), o.data("ui-tooltip-title") && (o.attr("title") || o.attr("title", o.data("ui-tooltip-title")), o.removeData("ui-tooltip-title"))
}), this.liveRegion.remove()
}
}), t.uiBackCompat !== !1 && t.widget("ui.tooltip", t.ui.tooltip, {
options: {tooltipClass: null},
_tooltip: function () {
var t = this._superApply(arguments);
return this.options.tooltipClass && t.tooltip.addClass(this.options.tooltipClass), t
}
}), t.ui.tooltip
});
});