/*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-2017 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=7f156200940723989f909ec5280656c3) * Config saved to config.json and https://gist.github.com/7f156200940723989f909ec5280656c3 */ if ("undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery"); +function(t) { "use strict"; var e = t.fn.jquery.split(" ")[0].split("."); if (e[0] < 2 && e[1] < 9 || 1 == e[0] && 9 == e[1] && e[2] < 1 || e[0] > 3) throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4") }(jQuery), +function(t) { "use strict"; function e(e) { return this.each(function() { var o = t(this) , n = o.data("bs.tooltip") , s = "object" == typeof e && e; !n && /destroy|hide/.test(e) || (n || o.data("bs.tooltip", n = new i(this,s)), "string" == typeof e && n[e]()) }) } var i = function(t, e) { this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", t, e) }; i.VERSION = "3.3.7", i.TRANSITION_DURATION = 150, i.DEFAULTS = { animation: !0, placement: "top", selector: !1, template: '', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1, viewport: { selector: "body", padding: 0 } }, i.prototype.init = function(e, i, o) { if (this.enabled = !0, this.type = e, this.$element = t(i), this.options = this.getOptions(o), this.$viewport = this.options.viewport && t(t.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = { click: !1, hover: !1, focus: !1 }, this.$element[0]instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!"); for (var n = this.options.trigger.split(" "), s = n.length; s--; ) { var r = n[s]; if ("click" == r) this.$element.on("click." + this.type, this.options.selector, t.proxy(this.toggle, this)); else if ("manual" != r) { var a = "hover" == r ? "mouseenter" : "focusin" , l = "hover" == r ? "mouseleave" : "focusout"; this.$element.on(a + "." + this.type, this.options.selector, t.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, t.proxy(this.leave, this)) } } this.options.selector ? this._options = t.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle() } , i.prototype.getDefaults = function() { return i.DEFAULTS } , i.prototype.getOptions = function(e) { return e = t.extend({}, this.getDefaults(), this.$element.data(), e), e.delay && "number" == typeof e.delay && (e.delay = { show: e.delay, hide: e.delay }), e } , i.prototype.getDelegateOptions = function() { var e = {} , i = this.getDefaults(); return this._options && t.each(this._options, function(t, o) { i[t] != o && (e[t] = o) }), e } , i.prototype.enter = function(e) { var i = e instanceof this.constructor ? e : t(e.currentTarget).data("bs." + this.type); return i || (i = new this.constructor(e.currentTarget,this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i)), e instanceof t.Event && (i.inState["focusin" == e.type ? "focus" : "hover"] = !0), i.tip().hasClass("in") || "in" == i.hoverState ? void (i.hoverState = "in") : (clearTimeout(i.timeout), i.hoverState = "in", i.options.delay && i.options.delay.show ? void (i.timeout = setTimeout(function() { "in" == i.hoverState && i.show() }, i.options.delay.show)) : i.show()) } , i.prototype.isInStateTrue = function() { for (var t in this.inState) if (this.inState[t]) return !0; return !1 } , i.prototype.leave = function(e) { var i = e instanceof this.constructor ? e : t(e.currentTarget).data("bs." + this.type); return i || (i = new this.constructor(e.currentTarget,this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i)), e instanceof t.Event && (i.inState["focusout" == e.type ? "focus" : "hover"] = !1), i.isInStateTrue() ? void 0 : (clearTimeout(i.timeout), i.hoverState = "out", i.options.delay && i.options.delay.hide ? void (i.timeout = setTimeout(function() { "out" == i.hoverState && i.hide() }, i.options.delay.hide)) : i.hide()) } , i.prototype.show = function() { var e = t.Event("show.bs." + this.type); if (this.hasContent() && this.enabled) { this.$element.trigger(e); var o = t.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]); if (e.isDefaultPrevented() || !o) return; var n = this , s = this.tip() , r = this.getUID(this.type); this.setContent(), s.attr("id", r), this.$element.attr("aria-describedby", r), this.options.animation && s.addClass("fade"); var a = "function" == typeof this.options.placement ? this.options.placement.call(this, s[0], this.$element[0]) : this.options.placement , l = /\s?auto?\s?/i , p = l.test(a); p && (a = a.replace(l, "") || "top"), s.detach().css({ top: 0, left: 0, display: "block" }).addClass(a).data("bs." + this.type, this), this.options.container ? s.appendTo(this.options.container) : s.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type); var h = this.getPosition() , f = s[0].offsetWidth , u = s[0].offsetHeight; if (p) { var c = a , d = this.getPosition(this.$viewport); a = "bottom" == a && h.bottom + u > d.bottom ? "top" : "top" == a && h.top - u < d.top ? "bottom" : "right" == a && h.right + f > d.width ? "left" : "left" == a && h.left - f < d.left ? "right" : a, s.removeClass(c).addClass(a) } var v = this.getCalculatedOffset(a, h, f, u); this.applyPlacement(v, a); var g = function() { var t = n.hoverState; n.$element.trigger("shown.bs." + n.type), n.hoverState = null, "out" == t && n.leave(n) }; t.support.transition && this.$tip.hasClass("fade") ? s.one("bsTransitionEnd", g).emulateTransitionEnd(i.TRANSITION_DURATION) : g() } } , i.prototype.applyPlacement = function(e, i) { var o = this.tip() , n = o[0].offsetWidth , s = o[0].offsetHeight , r = parseInt(o.css("margin-top"), 10) , a = parseInt(o.css("margin-left"), 10); isNaN(r) && (r = 0), isNaN(a) && (a = 0), e.top += r, e.left += a, t.offset.setOffset(o[0], t.extend({ using: function(t) { o.css({ top: Math.round(t.top), left: Math.round(t.left) }) } }, e), 0), o.addClass("in"); var l = o[0].offsetWidth , p = o[0].offsetHeight; "top" == i && p != s && (e.top = e.top + s - p); var h = this.getViewportAdjustedDelta(i, e, l, p); h.left ? e.left += h.left : e.top += h.top; var f = /top|bottom/.test(i) , u = f ? 2 * h.left - n + l : 2 * h.top - s + p , c = f ? "offsetWidth" : "offsetHeight"; o.offset(e), this.replaceArrow(u, o[0][c], f) } , i.prototype.replaceArrow = function(t, e, i) { this.arrow().css(i ? "left" : "top", 50 * (1 - t / e) + "%").css(i ? "top" : "left", "") } , i.prototype.setContent = function() { var t = this.tip() , e = this.getTitle(); t.find(".tooltip-inner")[this.options.html ? "html" : "text"](e), t.removeClass("fade in top bottom left right") } , i.prototype.hide = function(e) { function o() { "in" != n.hoverState && s.detach(), n.$element && n.$element.removeAttr("aria-describedby").trigger("hidden.bs." + n.type), e && e() } var n = this , s = t(this.$tip) , r = t.Event("hide.bs." + this.type); return this.$element.trigger(r), r.isDefaultPrevented() ? void 0 : (s.removeClass("in"), t.support.transition && s.hasClass("fade") ? s.one("bsTransitionEnd", o).emulateTransitionEnd(i.TRANSITION_DURATION) : o(), this.hoverState = null, this) } , i.prototype.fixTitle = function() { var t = this.$element; (t.attr("title") || "string" != typeof t.attr("data-original-title")) && t.attr("data-original-title", t.attr("title") || "").attr("title", "") } , i.prototype.hasContent = function() { return this.getTitle() } , i.prototype.getPosition = function(e) { e = e || this.$element; var i = e[0] , o = "BODY" == i.tagName , n = i.getBoundingClientRect(); null == n.width && (n = t.extend({}, n, { width: n.right - n.left, height: n.bottom - n.top })); var s = window.SVGElement && i instanceof window.SVGElement , r = o ? { top: 0, left: 0 } : s ? null : e.offset() , a = { scroll: o ? document.documentElement.scrollTop || document.body.scrollTop : e.scrollTop() } , l = o ? { width: t(window).width(), height: t(window).height() } : null; return t.extend({}, n, a, l, r) } , i.prototype.getCalculatedOffset = function(t, e, i, o) { return "bottom" == t ? { top: e.top + e.height, left: e.left + e.width / 2 - i / 2 } : "top" == t ? { top: e.top - o, left: e.left + e.width / 2 - i / 2 } : "left" == t ? { top: e.top + e.height / 2 - o / 2, left: e.left - i } : { top: e.top + e.height / 2 - o / 2, left: e.left + e.width } } , i.prototype.getViewportAdjustedDelta = function(t, e, i, o) { var n = { top: 0, left: 0 }; if (!this.$viewport) return n; var s = this.options.viewport && this.options.viewport.padding || 0 , r = this.getPosition(this.$viewport); if (/right|left/.test(t)) { var a = e.top - s - r.scroll , l = e.top + s - r.scroll + o; a < r.top ? n.top = r.top - a : l > r.top + r.height && (n.top = r.top + r.height - l) } else { var p = e.left - s , h = e.left + s + i; p < r.left ? n.left = r.left - p : h > r.right && (n.left = r.left + r.width - h) } return n } , i.prototype.getTitle = function() { var t, e = this.$element, i = this.options; return t = e.attr("data-original-title") || ("function" == typeof i.title ? i.title.call(e[0]) : i.title) } , i.prototype.getUID = function(t) { do t += ~~(1e6 * Math.random()); while (document.getElementById(t));return t } , i.prototype.tip = function() { if (!this.$tip && (this.$tip = t(this.options.template), 1 != this.$tip.length)) throw new Error(this.type + " `template` option must consist of exactly 1 top-level element!"); return this.$tip } , i.prototype.arrow = function() { return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") } , i.prototype.enable = function() { this.enabled = !0 } , i.prototype.disable = function() { this.enabled = !1 } , i.prototype.toggleEnabled = function() { this.enabled = !this.enabled } , i.prototype.toggle = function(e) { var i = this; e && (i = t(e.currentTarget).data("bs." + this.type), i || (i = new this.constructor(e.currentTarget,this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i))), e ? (i.inState.click = !i.inState.click, i.isInStateTrue() ? i.enter(i) : i.leave(i)) : i.tip().hasClass("in") ? i.leave(i) : i.enter(i) } , i.prototype.destroy = function() { var t = this; clearTimeout(this.timeout), this.hide(function() { t.$element.off("." + t.type).removeData("bs." + t.type), t.$tip && t.$tip.detach(), t.$tip = null, t.$arrow = null, t.$viewport = null, t.$element = null }) } ; var o = t.fn.tooltip; t.fn.tooltip = e, t.fn.tooltip.Constructor = i, t.fn.tooltip.noConflict = function() { return t.fn.tooltip = o, this } }(jQuery);