/*! * bootstrap v4.0.0-beta.2 (https://getbootstrap.com) * copyright 2011-2017 the bootstrap authors (https://github.com/twbs/bootstrap/graphs/contributors) * licensed under mit (https://github.com/twbs/bootstrap/blob/master/license) */ var bootstrap = function(t, e, n) { "use strict"; function i(t, e) { for (var n = 0; n < e.length; n++) { var i = e[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), object.defineproperty(t, i.key, i) } } e = e && e.hasownproperty("default") ? e.default : e, n = n && n.hasownproperty("default") ? n.default : n; var s = function() { function t(t) { return {}.tostring.call(t).match(/\s([a-za-z]+)/)[1].tolowercase() } function n() { return { bindtype: r.end, delegatetype: r.end, handle: function(t) { if (e(t.target).is(this)) return t.handleobj.handler.apply(this, arguments) } } } function i() { if (window.qunit) return !1; var t = document.createelement("bootstrap"); for (var e in o) if ("undefined" != typeof t.style[e]) return { end: o[e] }; return !1 } function s(t) { var n = this, i = !1; return e(this).one(a.transition_end, function() { i = !0 }), settimeout(function() { i || a.triggertransitionend(n) }, t), this } var r = !1, o = { webkittransition: "webkittransitionend", moztransition: "transitionend", otransition: "otransitionend otransitionend", transition: "transitionend" }, a = { transition_end: "bstransitionend", getuid: function(t) { do { t += ~~(1e6 * math.random()) } while (document.getelementbyid(t)); return t }, getselectorfromelement: function(t) { var n = t.getattribute("data-target"); n && "#" !== n || (n = t.getattribute("href") || ""); try { return e(document).find(n).length > 0 ? n : null } catch (t) { return null } }, reflow: function(t) { return t.offsetheight }, triggertransitionend: function(t) { e(t).trigger(r.end) }, supportstransitionend: function() { return boolean(r) }, iselement: function(t) { return (t[0] || t).nodetype }, typecheckconfig: function(e, n, i) { for (var s in i) if (object.prototype.hasownproperty.call(i, s)) { var r = i[s], o = n[s], l = o && a.iselement(o) ? "element" : t(o); if (!new regexp(r).test(l)) throw new error(e.touppercase() + ': option "' + s + '" provided type "' + l + '" but expected type "' + r + '".') } } }; return r = i(), e.fn.emulatetransitionend = s, a.supportstransitionend() && (e.event.special[a.transition_end] = n()), a }(), r = function(t, e, n) { return e && i(t.prototype, e), n && i(t, n), t }, o = function(t, e) { t.prototype = object.create(e.prototype), t.prototype.constructor = t, t.__proto__ = e }, a = function() { var t = "alert", n = e.fn[t], i = { close: "close.bs.alert", closed: "closed.bs.alert", click_data_api: "click.bs.alert.data-api" }, o = { alert: "alert", fade: "fade", show: "show" }, a = function() { function t(t) { this._element = t } var n = t.prototype; return n.close = function(t) { t = t || this._element; var e = this._getrootelement(t); this._triggercloseevent(e).isdefaultprevented() || this._removeelement(e) }, n.dispose = function() { e.removedata(this._element, "bs.alert"), this._element = null }, n._getrootelement = function(t) { var n = s.getselectorfromelement(t), i = !1; return n && (i = e(n)[0]), i || (i = e(t).closest("." + o.alert)[0]), i }, n._triggercloseevent = function(t) { var n = e.event(i.close); return e(t).trigger(n), n }, n._removeelement = function(t) { var n = this; e(t).removeclass(o.show), s.supportstransitionend() && e(t).hasclass(o.fade) ? e(t).one(s.transition_end, function(e) { return n._destroyelement(t, e) }).emulatetransitionend(150) : this._destroyelement(t) }, n._destroyelement = function(t) { e(t).detach().trigger(i.closed).remove() }, t._jqueryinterface = function(n) { return this.each(function() { var i = e(this), s = i.data("bs.alert"); s || (s = new t(this), i.data("bs.alert", s)), "close" === n && s[n](this) }) }, t._handledismiss = function(t) { return function(e) { e && e.preventdefault(), t.close(this) } }, r(t, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }]), t }(); return e(document).on(i.click_data_api, { dismiss: '[data-dismiss="alert"]' }.dismiss, a._handledismiss(new a)), e.fn[t] = a._jqueryinterface, e.fn[t].constructor = a, e.fn[t].noconflict = function() { return e.fn[t] = n, a._jqueryinterface }, a }(), l = function() { var t = "button", n = e.fn[t], i = { active: "active", button: "btn", focus: "focus" }, s = { data_toggle_carrot: '[data-toggle^="button"]', data_toggle: '[data-toggle="buttons"]', input: "input", active: ".active", button: ".btn" }, o = { click_data_api: "click.bs.button.data-api", focus_blur_data_api: "focus.bs.button.data-api blur.bs.button.data-api" }, a = function() { function t(t) { this._element = t } var n = t.prototype; return n.toggle = function() { var t = !0, n = !0, r = e(this._element).closest(s.data_toggle)[0]; if (r) { var o = e(this._element).find(s.input)[0]; if (o) { if ("radio" === o.type) if (o.checked && e(this._element).hasclass(i.active)) t = !1; else { var a = e(r).find(s.active)[0]; a && e(a).removeclass(i.active) } if (t) { if (o.hasattribute("disabled") || r.hasattribute("disabled") || o.classlist.contains("disabled") || r.classlist.contains("disabled")) return; o.checked = !e(this._element).hasclass(i.active), e(o).trigger("change") } o.focus(), n = !1 } } n && this._element.setattribute("aria-pressed", !e(this._element).hasclass(i.active)), t && e(this._element).toggleclass(i.active) }, n.dispose = function() { e.removedata(this._element, "bs.button"), this._element = null }, t._jqueryinterface = function(n) { return this.each(function() { var i = e(this).data("bs.button"); i || (i = new t(this), e(this).data("bs.button", i)), "toggle" === n && i[n]() }) }, r(t, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }]), t }(); return e(document).on(o.click_data_api, s.data_toggle_carrot, function(t) { t.preventdefault(); var n = t.target; e(n).hasclass(i.button) || (n = e(n).closest(s.button)), a._jqueryinterface.call(e(n), "toggle") }).on(o.focus_blur_data_api, s.data_toggle_carrot, function(t) { var n = e(t.target).closest(s.button)[0]; e(n).toggleclass(i.focus, /^focus(in)?$/.test(t.type)) }), e.fn[t] = a._jqueryinterface, e.fn[t].constructor = a, e.fn[t].noconflict = function() { return e.fn[t] = n, a._jqueryinterface }, a }(), h = function() { var t = "carousel", n = "bs.carousel", i = "." + n, o = e.fn[t], a = { interval: 5e3, keyboard: !0, slide: !1, pause: "hover", wrap: !0 }, l = { interval: "(number|boolean)", keyboard: "boolean", slide: "(boolean|string)", pause: "(string|boolean)", wrap: "boolean" }, h = { next: "next", prev: "prev", left: "left", right: "right" }, c = { slide: "slide" + i, slid: "slid" + i, keydown: "keydown" + i, mouseenter: "mouseenter" + i, mouseleave: "mouseleave" + i, touchend: "touchend" + i, load_data_api: "load.bs.carousel.data-api", click_data_api: "click.bs.carousel.data-api" }, u = { carousel: "carousel", active: "active", slide: "slide", right: "carousel-item-right", left: "carousel-item-left", next: "carousel-item-next", prev: "carousel-item-prev", item: "carousel-item" }, d = { active: ".active", active_item: ".active.carousel-item", item: ".carousel-item", next_prev: ".carousel-item-next, .carousel-item-prev", indicators: ".carousel-indicators", data_slide: "[data-slide], [data-slide-to]", data_ride: '[data-ride="carousel"]' }, f = function() { function o(t, n) { this._items = null, this._interval = null, this._activeelement = null, this._ispaused = !1, this._issliding = !1, this.touchtimeout = null, this._config = this._getconfig(n), this._element = e(t)[0], this._indicatorselement = e(this._element).find(d.indicators)[0], this._addeventlisteners() } var f = o.prototype; return f.next = function() { this._issliding || this._slide(h.next) }, f.nextwhenvisible = function() { !document.hidden && e(this._element).is(":visible") && "hidden" !== e(this._element).css("visibility") && this.next() }, f.prev = function() { this._issliding || this._slide(h.prev) }, f.pause = function(t) { t || (this._ispaused = !0), e(this._element).find(d.next_prev)[0] && s.supportstransitionend() && (s.triggertransitionend(this._element), this.cycle(!0)), clearinterval(this._interval), this._interval = null }, f.cycle = function(t) { t || (this._ispaused = !1), this._interval && (clearinterval(this._interval), this._interval = null), this._config.interval && !this._ispaused && (this._interval = setinterval((document.visibilitystate ? this.nextwhenvisible : this.next).bind(this), this._config.interval)) }, f.to = function(t) { var n = this; this._activeelement = e(this._element).find(d.active_item)[0]; var i = this._getitemindex(this._activeelement); if (!(t > this._items.length - 1 || t < 0)) if (this._issliding) e(this._element).one(c.slid, function() { return n.to(t) }); else { if (i === t) return this.pause(), void this.cycle(); var s = t > i ? h.next : h.prev; this._slide(s, this._items[t]) } }, f.dispose = function() { e(this._element).off(i), e.removedata(this._element, n), this._items = null, this._config = null, this._element = null, this._interval = null, this._ispaused = null, this._issliding = null, this._activeelement = null, this._indicatorselement = null }, f._getconfig = function(n) { return n = e.extend({}, a, n), s.typecheckconfig(t, n, l), n }, f._addeventlisteners = function() { var t = this; this._config.keyboard && e(this._element).on(c.keydown, function(e) { return t._keydown(e) }), "hover" === this._config.pause && (e(this._element).on(c.mouseenter, function(e) { return t.pause(e) }).on(c.mouseleave, function(e) { return t.cycle(e) }), "ontouchstart" in document.documentelement && e(this._element).on(c.touchend, function() { t.pause(), t.touchtimeout && cleartimeout(t.touchtimeout), t.touchtimeout = settimeout(function(e) { return t.cycle(e) }, 500 + t._config.interval) })) }, f._keydown = function(t) { if (!/input|textarea/i.test(t.target.tagname)) switch (t.which) { case 37: t.preventdefault(), this.prev(); break; case 39: t.preventdefault(), this.next(); break; default: return } }, f._getitemindex = function(t) { return this._items = e.makearray(e(t).parent().find(d.item)), this._items.indexof(t) }, f._getitembydirection = function(t, e) { var n = t === h.next, i = t === h.prev, s = this._getitemindex(e), r = this._items.length - 1; if ((i && 0 === s || n && s === r) && !this._config.wrap) return e; var o = (s + (t === h.prev ? -1 : 1)) % this._items.length; return -1 === o ? this._items[this._items.length - 1] : this._items[o] }, f._triggerslideevent = function(t, n) { var i = this._getitemindex(t), s = this._getitemindex(e(this._element).find(d.active_item)[0]), r = e.event(c.slide, { relatedtarget: t, direction: n, from: s, to: i }); return e(this._element).trigger(r), r }, f._setactiveindicatorelement = function(t) { if (this._indicatorselement) { e(this._indicatorselement).find(d.active).removeclass(u.active); var n = this._indicatorselement.children[this._getitemindex(t)]; n && e(n).addclass(u.active) } }, f._slide = function(t, n) { var i, r, o, a = this, l = e(this._element).find(d.active_item)[0], f = this._getitemindex(l), _ = n || l && this._getitembydirection(t, l), g = this._getitemindex(_), m = boolean(this._interval); if (t === h.next ? (i = u.left, r = u.next, o = h.left) : (i = u.right, r = u.prev, o = h.right), _ && e(_).hasclass(u.active)) this._issliding = !1; else if (!this._triggerslideevent(_, o).isdefaultprevented() && l && _) { this._issliding = !0, m && this.pause(), this._setactiveindicatorelement(_); var p = e.event(c.slid, { relatedtarget: _, direction: o, from: f, to: g }); s.supportstransitionend() && e(this._element).hasclass(u.slide) ? (e(_).addclass(r), s.reflow(_), e(l).addclass(i), e(_).addclass(i), e(l).one(s.transition_end, function() { e(_).removeclass(i + " " + r).addclass(u.active), e(l).removeclass(u.active + " " + r + " " + i), a._issliding = !1, settimeout(function() { return e(a._element).trigger(p) }, 0) }).emulatetransitionend(600)) : (e(l).removeclass(u.active), e(_).addclass(u.active), this._issliding = !1, e(this._element).trigger(p)), m && this.cycle() } }, o._jqueryinterface = function(t) { return this.each(function() { var i = e(this).data(n), s = e.extend({}, a, e(this).data()); "object" == typeof t && e.extend(s, t); var r = "string" == typeof t ? t : s.slide; if (i || (i = new o(this, s), e(this).data(n, i)), "number" == typeof t) i.to(t); else if ("string" == typeof r) { if ("undefined" == typeof i[r]) throw new error('no method named "' + r + '"'); i[r]() } else s.interval && (i.pause(), i.cycle()) }) }, o._dataapiclickhandler = function(t) { var i = s.getselectorfromelement(this); if (i) { var r = e(i)[0]; if (r && e(r).hasclass(u.carousel)) { var a = e.extend({}, e(r).data(), e(this).data()), l = this.getattribute("data-slide-to"); l && (a.interval = !1), o._jqueryinterface.call(e(r), a), l && e(r).data(n).to(l), t.preventdefault() } } }, r(o, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }, { key: "default", get: function() { return a } }]), o }(); return e(document).on(c.click_data_api, d.data_slide, f._dataapiclickhandler), e(window).on(c.load_data_api, function() { e(d.data_ride).each(function() { var t = e(this); f._jqueryinterface.call(t, t.data()) }) }), e.fn[t] = f._jqueryinterface, e.fn[t].constructor = f, e.fn[t].noconflict = function() { return e.fn[t] = o, f._jqueryinterface }, f }(), c = function() { var t = "collapse", n = "bs.collapse", i = e.fn[t], o = { toggle: !0, parent: "" }, a = { toggle: "boolean", parent: "(string|element)" }, l = { show: "show.bs.collapse", shown: "shown.bs.collapse", hide: "hide.bs.collapse", hidden: "hidden.bs.collapse", click_data_api: "click.bs.collapse.data-api" }, h = { show: "show", collapse: "collapse", collapsing: "collapsing", collapsed: "collapsed" }, c = { width: "width", height: "height" }, u = { actives: ".show, .collapsing", data_toggle: '[data-toggle="collapse"]' }, d = function() { function i(t, n) { this._istransitioning = !1, this._element = t, this._config = this._getconfig(n), this._triggerarray = e.makearray(e('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]')); for (var i = e(u.data_toggle), r = 0; r < i.length; r++) { var o = i[r], a = s.getselectorfromelement(o); null !== a && e(a).filter(t).length > 0 && this._triggerarray.push(o) } this._parent = this._config.parent ? this._getparent() : null, this._config.parent || this._addariaandcollapsedclass(this._element, this._triggerarray), this._config.toggle && this.toggle() } var d = i.prototype; return d.toggle = function() { e(this._element).hasclass(h.show) ? this.hide() : this.show() }, d.show = function() { var t = this; if (!this._istransitioning && !e(this._element).hasclass(h.show)) { var r, o; if (this._parent && ((r = e.makearray(e(this._parent).children().children(u.actives))).length || (r = null)), !(r && (o = e(r).data(n)) && o._istransitioning)) { var a = e.event(l.show); if (e(this._element).trigger(a), !a.isdefaultprevented()) { r && (i._jqueryinterface.call(e(r), "hide"), o || e(r).data(n, null)); var c = this._getdimension(); e(this._element).removeclass(h.collapse).addclass(h.collapsing), this._element.style[c] = 0, this._triggerarray.length && e(this._triggerarray).removeclass(h.collapsed).attr("aria-expanded", !0), this.settransitioning(!0); var d = function() { e(t._element).removeclass(h.collapsing).addclass(h.collapse).addclass(h.show), t._element.style[c] = "", t.settransitioning(!1), e(t._element).trigger(l.shown) }; if (s.supportstransitionend()) { var f = "scroll" + (c[0].touppercase() + c.slice(1)); e(this._element).one(s.transition_end, d).emulatetransitionend(600), this._element.style[c] = this._element[f] + "px" } else d() } } } }, d.hide = function() { var t = this; if (!this._istransitioning && e(this._element).hasclass(h.show)) { var n = e.event(l.hide); if (e(this._element).trigger(n), !n.isdefaultprevented()) { var i = this._getdimension(); if (this._element.style[i] = this._element.getboundingclientrect()[i] + "px", s.reflow(this._element), e(this._element).addclass(h.collapsing).removeclass(h.collapse).removeclass(h.show), this._triggerarray.length) for (var r = 0; r < this._triggerarray.length; r++) { var o = this._triggerarray[r], a = s.getselectorfromelement(o); null !== a && (e(a).hasclass(h.show) || e(o).addclass(h.collapsed).attr("aria-expanded", !1)) } this.settransitioning(!0); var c = function() { t.settransitioning(!1), e(t._element).removeclass(h.collapsing).addclass(h.collapse).trigger(l.hidden) }; this._element.style[i] = "", s.supportstransitionend() ? e(this._element).one(s.transition_end, c).emulatetransitionend(600) : c() } } }, d.settransitioning = function(t) { this._istransitioning = t }, d.dispose = function() { e.removedata(this._element, n), this._config = null, this._parent = null, this._element = null, this._triggerarray = null, this._istransitioning = null }, d._getconfig = function(n) { return n = e.extend({}, o, n), n.toggle = boolean(n.toggle), s.typecheckconfig(t, n, a), n }, d._getdimension = function() { return e(this._element).hasclass(c.width) ? c.width : c.height }, d._getparent = function() { var t = this, n = null; s.iselement(this._config.parent) ? (n = this._config.parent, "undefined" != typeof this._config.parent.jquery && (n = this._config.parent[0])) : n = e(this._config.parent)[0]; var r = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]'; return e(n).find(r).each(function(e, n) { t._addariaandcollapsedclass(i._gettargetfromelement(n), [n]) }), n }, d._addariaandcollapsedclass = function(t, n) { if (t) { var i = e(t).hasclass(h.show); n.length && e(n).toggleclass(h.collapsed, !i).attr("aria-expanded", i) } }, i._gettargetfromelement = function(t) { var n = s.getselectorfromelement(t); return n ? e(n)[0] : null }, i._jqueryinterface = function(t) { return this.each(function() { var s = e(this), r = s.data(n), a = e.extend({}, o, s.data(), "object" == typeof t && t); if (!r && a.toggle && /show|hide/.test(t) && (a.toggle = !1), r || (r = new i(this, a), s.data(n, r)), "string" == typeof t) { if ("undefined" == typeof r[t]) throw new error('no method named "' + t + '"'); r[t]() } }) }, r(i, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }, { key: "default", get: function() { return o } }]), i }(); return e(document).on(l.click_data_api, u.data_toggle, function(t) { "a" === t.currenttarget.tagname && t.preventdefault(); var i = e(this), r = s.getselectorfromelement(this); e(r).each(function() { var t = e(this), s = t.data(n) ? "toggle" : i.data(); d._jqueryinterface.call(t, s) }) }), e.fn[t] = d._jqueryinterface, e.fn[t].constructor = d, e.fn[t].noconflict = function() { return e.fn[t] = i, d._jqueryinterface }, d }(), u = function() { if ("undefined" == typeof n) throw new error("bootstrap dropdown require popper.js (https://popper.js.org)"); var t = "dropdown", i = "bs.dropdown", o = "." + i, a = e.fn[t], l = new regexp("38|40|27"), h = { hide: "hide" + o, hidden: "hidden" + o, show: "show" + o, shown: "shown" + o, click: "click" + o, click_data_api: "click.bs.dropdown.data-api", keydown_data_api: "keydown.bs.dropdown.data-api", keyup_data_api: "keyup.bs.dropdown.data-api" }, c = { disabled: "disabled", show: "show", dropup: "dropup", menuright: "dropdown-menu-right", menuleft: "dropdown-menu-left" }, u = { data_toggle: '[data-toggle="dropdown"]', form_child: ".dropdown form", menu: ".dropdown-menu", navbar_nav: ".navbar-nav", visible_items: ".dropdown-menu .dropdown-item:not(.disabled)" }, d = { top: "top-start", topend: "top-end", bottom: "bottom-start", bottomend: "bottom-end" }, f = { offset: 0, flip: !0 }, _ = { offset: "(number|string|function)", flip: "boolean" }, g = function() { function a(t, e) { this._element = t, this._popper = null, this._config = this._getconfig(e), this._menu = this._getmenuelement(), this._innavbar = this._detectnavbar(), this._addeventlisteners() } var g = a.prototype; return g.toggle = function() { if (!this._element.disabled && !e(this._element).hasclass(c.disabled)) { var t = a._getparentfromelement(this._element), i = e(this._menu).hasclass(c.show); if (a._clearmenus(), !i) { var s = { relatedtarget: this._element }, r = e.event(h.show, s); if (e(t).trigger(r), !r.isdefaultprevented()) { var o = this._element; e(t).hasclass(c.dropup) && (e(this._menu).hasclass(c.menuleft) || e(this._menu).hasclass(c.menuright)) && (o = t), this._popper = new n(o, this._menu, this._getpopperconfig()), "ontouchstart" in document.documentelement && !e(t).closest(u.navbar_nav).length && e("body").children().on("mouseover", null, e.noop), this._element.focus(), this._element.setattribute("aria-expanded", !0), e(this._menu).toggleclass(c.show), e(t).toggleclass(c.show).trigger(e.event(h.shown, s)) } } } }, g.dispose = function() { e.removedata(this._element, i), e(this._element).off(o), this._element = null, this._menu = null, null !== this._popper && this._popper.destroy(), this._popper = null }, g.update = function() { this._innavbar = this._detectnavbar(), null !== this._popper && this._popper.scheduleupdate() }, g._addeventlisteners = function() { var t = this; e(this._element).on(h.click, function(e) { e.preventdefault(), e.stoppropagation(), t.toggle() }) }, g._getconfig = function(n) { return n = e.extend({}, this.constructor.default, e(this._element).data(), n), s.typecheckconfig(t, n, this.constructor.defaulttype), n }, g._getmenuelement = function() { if (!this._menu) { var t = a._getparentfromelement(this._element); this._menu = e(t).find(u.menu)[0] } return this._menu }, g._getplacement = function() { var t = e(this._element).parent(), n = d.bottom; return t.hasclass(c.dropup) ? (n = d.top, e(this._menu).hasclass(c.menuright) && (n = d.topend)) : e(this._menu).hasclass(c.menuright) && (n = d.bottomend), n }, g._detectnavbar = function() { return e(this._element).closest(".navbar").length > 0 }, g._getpopperconfig = function() { var t = this, n = {}; "function" == typeof this._config.offset ? n.fn = function(n) { return n.offsets = e.extend({}, n.offsets, t._config.offset(n.offsets) || {}), n } : n.offset = this._config.offset; var i = { placement: this._getplacement(), modifiers: { offset: n, flip: { enabled: this._config.flip } } }; return this._innavbar && (i.modifiers.applystyle = { enabled: !this._innavbar }), i }, a._jqueryinterface = function(t) { return this.each(function() { var n = e(this).data(i), s = "object" == typeof t ? t : null; if (n || (n = new a(this, s), e(this).data(i, n)), "string" == typeof t) { if ("undefined" == typeof n[t]) throw new error('no method named "' + t + '"'); n[t]() } }) }, a._clearmenus = function(t) { if (!t || 3 !== t.which && ("keyup" !== t.type || 9 === t.which)) for (var n = e.makearray(e(u.data_toggle)), s = 0; s < n.length; s++) { var r = a._getparentfromelement(n[s]), o = e(n[s]).data(i), l = { relatedtarget: n[s] }; if (o) { var d = o._menu; if (e(r).hasclass(c.show) && !(t && ("click" === t.type && /input|textarea/i.test(t.target.tagname) || "keyup" === t.type && 9 === t.which) && e.contains(r, t.target))) { var f = e.event(h.hide, l); e(r).trigger(f), f.isdefaultprevented() || ("ontouchstart" in document.documentelement && e("body").children().off("mouseover", null, e.noop), n[s].setattribute("aria-expanded", "false"), e(d).removeclass(c.show), e(r).removeclass(c.show).trigger(e.event(h.hidden, l))) } } } }, a._getparentfromelement = function(t) { var n, i = s.getselectorfromelement(t); return i && (n = e(i)[0]), n || t.parentnode }, a._dataapikeydownhandler = function(t) { if (!(!l.test(t.which) || /button/i.test(t.target.tagname) && 32 === t.which || /input|textarea/i.test(t.target.tagname) || (t.preventdefault(), t.stoppropagation(), this.disabled || e(this).hasclass(c.disabled)))) { var n = a._getparentfromelement(this), i = e(n).hasclass(c.show); if ((i || 27 === t.which && 32 === t.which) && (!i || 27 !== t.which && 32 !== t.which)) { var s = e(n).find(u.visible_items).get(); if (s.length) { var r = s.indexof(t.target); 38 === t.which && r > 0 && r--, 40 === t.which && r < s.length - 1 && r++, r < 0 && (r = 0), s[r].focus() } } else { if (27 === t.which) { var o = e(n).find(u.data_toggle)[0]; e(o).trigger("focus") } e(this).trigger("click") } } }, r(a, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }, { key: "default", get: function() { return f } }, { key: "defaulttype", get: function() { return _ } }]), a }(); return e(document).on(h.keydown_data_api, u.data_toggle, g._dataapikeydownhandler).on(h.keydown_data_api, u.menu, g._dataapikeydownhandler).on(h.click_data_api + " " + h.keyup_data_api, g._clearmenus).on(h.click_data_api, u.data_toggle, function(t) { t.preventdefault(), t.stoppropagation(), g._jqueryinterface.call(e(this), "toggle") }).on(h.click_data_api, u.form_child, function(t) { t.stoppropagation() }), e.fn[t] = g._jqueryinterface, e.fn[t].constructor = g, e.fn[t].noconflict = function() { return e.fn[t] = a, g._jqueryinterface }, g }(), d = function() { var t = "modal", n = ".bs.modal", i = e.fn[t], o = { backdrop: !0, keyboard: !0, focus: !0, show: !0 }, a = { backdrop: "(boolean|string)", keyboard: "boolean", focus: "boolean", show: "boolean" }, l = { hide: "hide.bs.modal", hidden: "hidden.bs.modal", show: "show.bs.modal", shown: "shown.bs.modal", focusin: "focusin.bs.modal", resize: "resize.bs.modal", click_dismiss: "click.dismiss.bs.modal", keydown_dismiss: "keydown.dismiss.bs.modal", mouseup_dismiss: "mouseup.dismiss.bs.modal", mousedown_dismiss: "mousedown.dismiss.bs.modal", click_data_api: "click.bs.modal.data-api" }, h = { scrollbar_measurer: "modal-scrollbar-measure", backdrop: "modal-backdrop", open: "modal-open", fade: "fade", show: "show" }, c = { dialog: ".modal-dialog", data_toggle: '[data-toggle="modal"]', data_dismiss: '[data-dismiss="modal"]', fixed_content: ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", sticky_content: ".sticky-top", navbar_toggler: ".navbar-toggler" }, u = function() { function i(t, n) { this._config = this._getconfig(n), this._element = t, this._dialog = e(t).find(c.dialog)[0], this._backdrop = null, this._isshown = !1, this._isbodyoverflowing = !1, this._ignorebackdropclick = !1, this._originalbodypadding = 0, this._scrollbarwidth = 0 } var u = i.prototype; return u.toggle = function(t) { return this._isshown ? this.hide() : this.show(t) }, u.show = function(t) { var n = this; if (!this._istransitioning && !this._isshown) { s.supportstransitionend() && e(this._element).hasclass(h.fade) && (this._istransitioning = !0); var i = e.event(l.show, { relatedtarget: t }); e(this._element).trigger(i), this._isshown || i.isdefaultprevented() || (this._isshown = !0, this._checkscrollbar(), this._setscrollbar(), this._adjustdialog(), e(document.body).addclass(h.open), this._setescapeevent(), this._setresizeevent(), e(this._element).on(l.click_dismiss, c.data_dismiss, function(t) { return n.hide(t) }), e(this._dialog).on(l.mousedown_dismiss, function() { e(n._element).one(l.mouseup_dismiss, function(t) { e(t.target).is(n._element) && (n._ignorebackdropclick = !0) }) }), this._showbackdrop(function() { return n._showelement(t) })) } }, u.hide = function(t) { var n = this; if (t && t.preventdefault(), !this._istransitioning && this._isshown) { var i = e.event(l.hide); if (e(this._element).trigger(i), this._isshown && !i.isdefaultprevented()) { this._isshown = !1; var r = s.supportstransitionend() && e(this._element).hasclass(h.fade); r && (this._istransitioning = !0), this._setescapeevent(), this._setresizeevent(), e(document).off(l.focusin), e(this._element).removeclass(h.show), e(this._element).off(l.click_dismiss), e(this._dialog).off(l.mousedown_dismiss), r ? e(this._element).one(s.transition_end, function(t) { return n._hidemodal(t) }).emulatetransitionend(300) : this._hidemodal() } } }, u.dispose = function() { e.removedata(this._element, "bs.modal"), e(window, document, this._element, this._backdrop).off(n), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isshown = null, this._isbodyoverflowing = null, this._ignorebackdropclick = null, this._scrollbarwidth = null }, u.handleupdate = function() { this._adjustdialog() }, u._getconfig = function(n) { return n = e.extend({}, o, n), s.typecheckconfig(t, n, a), n }, u._showelement = function(t) { var n = this, i = s.supportstransitionend() && e(this._element).hasclass(h.fade); this._element.parentnode && this._element.parentnode.nodetype === node.element_node || document.body.appendchild(this._element), this._element.style.display = "block", this._element.removeattribute("aria-hidden"), this._element.scrolltop = 0, i && s.reflow(this._element), e(this._element).addclass(h.show), this._config.focus && this._enforcefocus(); var r = e.event(l.shown, { relatedtarget: t }), o = function() { n._config.focus && n._element.focus(), n._istransitioning = !1, e(n._element).trigger(r) }; i ? e(this._dialog).one(s.transition_end, o).emulatetransitionend(300) : o() }, u._enforcefocus = function() { var t = this; e(document).off(l.focusin).on(l.focusin, function(n) { document === n.target || t._element === n.target || e(t._element).has(n.target).length || t._element.focus() }) }, u._setescapeevent = function() { var t = this; this._isshown && this._config.keyboard ? e(this._element).on(l.keydown_dismiss, function(e) { 27 === e.which && (e.preventdefault(), t.hide()) }) : this._isshown || e(this._element).off(l.keydown_dismiss) }, u._setresizeevent = function() { var t = this; this._isshown ? e(window).on(l.resize, function(e) { return t.handleupdate(e) }) : e(window).off(l.resize) }, u._hidemodal = function() { var t = this; this._element.style.display = "none", this._element.setattribute("aria-hidden", !0), this._istransitioning = !1, this._showbackdrop(function() { e(document.body).removeclass(h.open), t._resetadjustments(), t._resetscrollbar(), e(t._element).trigger(l.hidden) }) }, u._removebackdrop = function() { this._backdrop && (e(this._backdrop).remove(), this._backdrop = null) }, u._showbackdrop = function(t) { var n = this, i = e(this._element).hasclass(h.fade) ? h.fade : ""; if (this._isshown && this._config.backdrop) { var r = s.supportstransitionend() && i; if (this._backdrop = document.createelement("div"), this._backdrop.classname = h.backdrop, i && e(this._backdrop).addclass(i), e(this._backdrop).appendto(document.body), e(this._element).on(l.click_dismiss, function(t) { n._ignorebackdropclick ? n._ignorebackdropclick = !1 : t.target === t.currenttarget && ("static" === n._config.backdrop ? n._element.focus() : n.hide()) }), r && s.reflow(this._backdrop), e(this._backdrop).addclass(h.show), !t) return; if (!r) return void t(); e(this._backdrop).one(s.transition_end, t).emulatetransitionend(150) } else if (!this._isshown && this._backdrop) { e(this._backdrop).removeclass(h.show); var o = function() { n._removebackdrop(), t && t() }; s.supportstransitionend() && e(this._element).hasclass(h.fade) ? e(this._backdrop).one(s.transition_end, o).emulatetransitionend(150) : o() } else t && t() }, u._adjustdialog = function() { var t = this._element.scrollheight > document.documentelement.clientheight; !this._isbodyoverflowing && t && (this._element.style.paddingleft = this._scrollbarwidth + "px"), this._isbodyoverflowing && !t && (this._element.style.paddingright = this._scrollbarwidth + "px") }, u._resetadjustments = function() { this._element.style.paddingleft = "", this._element.style.paddingright = "" }, u._checkscrollbar = function() { var t = document.body.getboundingclientrect(); this._isbodyoverflowing = t.left + t.right < window.innerwidth, this._scrollbarwidth = this._getscrollbarwidth() }, u._setscrollbar = function() { var t = this; if (this._isbodyoverflowing) { e(c.fixed_content).each(function(n, i) { var s = e(i)[0].style.paddingright, r = e(i).css("padding-right"); e(i).data("padding-right", s).css("padding-right", parsefloat(r) + t._scrollbarwidth + "px") }), e(c.sticky_content).each(function(n, i) { var s = e(i)[0].style.marginright, r = e(i).css("margin-right"); e(i).data("margin-right", s).css("margin-right", parsefloat(r) - t._scrollbarwidth + "px") }), e(c.navbar_toggler).each(function(n, i) { var s = e(i)[0].style.marginright, r = e(i).css("margin-right"); e(i).data("margin-right", s).css("margin-right", parsefloat(r) + t._scrollbarwidth + "px") }); var n = document.body.style.paddingright, i = e("body").css("padding-right"); e("body").data("padding-right", n).css("padding-right", parsefloat(i) + this._scrollbarwidth + "px") } }, u._resetscrollbar = function() { e(c.fixed_content).each(function(t, n) { var i = e(n).data("padding-right"); "undefined" != typeof i && e(n).css("padding-right", i).removedata("padding-right") }), e(c.sticky_content + ", " + c.navbar_toggler).each(function(t, n) { var i = e(n).data("margin-right"); "undefined" != typeof i && e(n).css("margin-right", i).removedata("margin-right") }); var t = e("body").data("padding-right"); "undefined" != typeof t && e("body").css("padding-right", t).removedata("padding-right") }, u._getscrollbarwidth = function() { var t = document.createelement("div"); t.classname = h.scrollbar_measurer, document.body.appendchild(t); var e = t.getboundingclientrect().width - t.clientwidth; return document.body.removechild(t), e }, i._jqueryinterface = function(t, n) { return this.each(function() { var s = e(this).data("bs.modal"), r = e.extend({}, i.default, e(this).data(), "object" == typeof t && t); if (s || (s = new i(this, r), e(this).data("bs.modal", s)), "string" == typeof t) { if ("undefined" == typeof s[t]) throw new error('no method named "' + t + '"'); s[t](n) } else r.show && s.show(n) }) }, r(i, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }, { key: "default", get: function() { return o } }]), i }(); return e(document).on(l.click_data_api, c.data_toggle, function(t) { var n, i = this, r = s.getselectorfromelement(this); r && (n = e(r)[0]); var o = e(n).data("bs.modal") ? "toggle" : e.extend({}, e(n).data(), e(this).data()); "a" !== this.tagname && "area" !== this.tagname || t.preventdefault(); var a = e(n).one(l.show, function(t) { t.isdefaultprevented() || a.one(l.hidden, function() { e(i).is(":visible") && i.focus() }) }); u._jqueryinterface.call(e(n), o, this) }), e.fn[t] = u._jqueryinterface, e.fn[t].constructor = u, e.fn[t].noconflict = function() { return e.fn[t] = i, u._jqueryinterface }, u }(), f = function() { if ("undefined" == typeof n) throw new error("bootstrap tooltips require popper.js (https://popper.js.org)"); var t = "tooltip", i = ".bs.tooltip", o = e.fn[t], a = new regexp("(^|\\s)bs-tooltip\\s+", "g"), l = { animation: "boolean", template: "string", title: "(string|element|function)", trigger: "string", delay: "(number|object)", html: "boolean", selector: "(string|boolean)", placement: "(string|function)", offset: "(number|string)", container: "(string|element|boolean)", fallbackplacement: "(string|array)" }, h = { auto: "auto", top: "top", right: "right", bottom: "bottom", left: "left" }, c = { animation: !0, template: '', trigger: "hover focus", title: "", delay: 0, html: !1, selector: !1, placement: "top", offset: 0, container: !1, fallbackplacement: "flip" }, u = { show: "show", out: "out" }, d = { hide: "hide" + i, hidden: "hidden" + i, show: "show" + i, shown: "shown" + i, inserted: "inserted" + i, click: "click" + i, focusin: "focusin" + i, focusout: "focusout" + i, mouseenter: "mouseenter" + i, mouseleave: "mouseleave" + i }, f = { fade: "fade", show: "show" }, _ = { tooltip: ".tooltip", tooltip_inner: ".tooltip-inner", arrow: ".arrow" }, g = { hover: "hover", focus: "focus", click: "click", manual: "manual" }, m = function() { function o(t, e) { this._isenabled = !0, this._timeout = 0, this._hoverstate = "", this._activetrigger = {}, this._popper = null, this.element = t, this.config = this._getconfig(e), this.tip = null, this._setlisteners() } var m = o.prototype; return m.enable = function() { this._isenabled = !0 }, m.disable = function() { this._isenabled = !1 }, m.toggleenabled = function() { this._isenabled = !this._isenabled }, m.toggle = function(t) { if (this._isenabled) if (t) { var n = this.constructor.data_key, i = e(t.currenttarget).data(n); i || (i = new this.constructor(t.currenttarget, this._getdelegateconfig()), e(t.currenttarget).data(n, i)), i._activetrigger.click = !i._activetrigger.click, i._iswithactivetrigger() ? i._enter(null, i) : i._leave(null, i) } else { if (e(this.gettipelement()).hasclass(f.show)) return void this._leave(null, this); this._enter(null, this) } }, m.dispose = function() { cleartimeout(this._timeout), e.removedata(this.element, this.constructor.data_key), e(this.element).off(this.constructor.event_key), e(this.element).closest(".modal").off("hide.bs.modal"), this.tip && e(this.tip).remove(), this._isenabled = null, this._timeout = null, this._hoverstate = null, this._activetrigger = null, null !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null }, m.show = function() { var t = this; if ("none" === e(this.element).css("display")) throw new error("please use show on visible elements"); var i = e.event(this.constructor.event.show); if (this.iswithcontent() && this._isenabled) { e(this.element).trigger(i); var r = e.contains(this.element.ownerdocument.documentelement, this.element); if (i.isdefaultprevented() || !r) return; var a = this.gettipelement(), l = s.getuid(this.constructor.name); a.setattribute("id", l), this.element.setattribute("aria-describedby", l), this.setcontent(), this.config.animation && e(a).addclass(f.fade); var h = "function" == typeof this.config.placement ? this.config.placement.call(this, a, this.element) : this.config.placement, c = this._getattachment(h); this.addattachmentclass(c); var d = !1 === this.config.container ? document.body : e(this.config.container); e(a).data(this.constructor.data_key, this), e.contains(this.element.ownerdocument.documentelement, this.tip) || e(a).appendto(d), e(this.element).trigger(this.constructor.event.inserted), this._popper = new n(this.element, a, { placement: c, modifiers: { offset: { offset: this.config.offset }, flip: { behavior: this.config.fallbackplacement }, arrow: { element: _.arrow } }, oncreate: function(e) { e.originalplacement !== e.placement && t._handlepopperplacementchange(e) }, onupdate: function(e) { t._handlepopperplacementchange(e) } }), e(a).addclass(f.show), "ontouchstart" in document.documentelement && e("body").children().on("mouseover", null, e.noop); var g = function() { t.config.animation && t._fixtransition(); var n = t._hoverstate; t._hoverstate = null, e(t.element).trigger(t.constructor.event.shown), n === u.out && t._leave(null, t) }; s.supportstransitionend() && e(this.tip).hasclass(f.fade) ? e(this.tip).one(s.transition_end, g).emulatetransitionend(o._transition_duration) : g() } }, m.hide = function(t) { var n = this, i = this.gettipelement(), r = e.event(this.constructor.event.hide), o = function() { n._hoverstate !== u.show && i.parentnode && i.parentnode.removechild(i), n._cleantipclass(), n.element.removeattribute("aria-describedby"), e(n.element).trigger(n.constructor.event.hidden), null !== n._popper && n._popper.destroy(), t && t() }; e(this.element).trigger(r), r.isdefaultprevented() || (e(i).removeclass(f.show), "ontouchstart" in document.documentelement && e("body").children().off("mouseover", null, e.noop), this._activetrigger[g.click] = !1, this._activetrigger[g.focus] = !1, this._activetrigger[g.hover] = !1, s.supportstransitionend() && e(this.tip).hasclass(f.fade) ? e(i).one(s.transition_end, o).emulatetransitionend(150) : o(), this._hoverstate = "") }, m.update = function() { null !== this._popper && this._popper.scheduleupdate() }, m.iswithcontent = function() { return boolean(this.gettitle()) }, m.addattachmentclass = function(t) { e(this.gettipelement()).addclass("bs-tooltip-" + t) }, m.gettipelement = function() { return this.tip = this.tip || e(this.config.template)[0], this.tip }, m.setcontent = function() { var t = e(this.gettipelement()); this.setelementcontent(t.find(_.tooltip_inner), this.gettitle()), t.removeclass(f.fade + " " + f.show) }, m.setelementcontent = function(t, n) { var i = this.config.html; "object" == typeof n && (n.nodetype || n.jquery) ? i ? e(n).parent().is(t) || t.empty().append(n) : t.text(e(n).text()) : t[i ? "html" : "text"](n) }, m.gettitle = function() { var t = this.element.getattribute("data-original-title"); return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t }, m._getattachment = function(t) { return h[t.touppercase()] }, m._setlisteners = function() { var t = this; this.config.trigger.split(" ").foreach(function(n) { if ("click" === n) e(t.element).on(t.constructor.event.click, t.config.selector, function(e) { return t.toggle(e) }); else if (n !== g.manual) { var i = n === g.hover ? t.constructor.event.mouseenter : t.constructor.event.focusin, s = n === g.hover ? t.constructor.event.mouseleave : t.constructor.event.focusout; e(t.element).on(i, t.config.selector, function(e) { return t._enter(e) }).on(s, t.config.selector, function(e) { return t._leave(e) }) } e(t.element).closest(".modal").on("hide.bs.modal", function() { return t.hide() }) }), this.config.selector ? this.config = e.extend({}, this.config, { trigger: "manual", selector: "" }) : this._fixtitle() }, m._fixtitle = function() { var t = typeof this.element.getattribute("data-original-title"); (this.element.getattribute("title") || "string" !== t) && (this.element.setattribute("data-original-title", this.element.getattribute("title") || ""), this.element.setattribute("title", "")) }, m._enter = function(t, n) { var i = this.constructor.data_key; (n = n || e(t.currenttarget).data(i)) || (n = new this.constructor(t.currenttarget, this._getdelegateconfig()), e(t.currenttarget).data(i, n)), t && (n._activetrigger["focusin" === t.type ? g.focus : g.hover] = !0), e(n.gettipelement()).hasclass(f.show) || n._hoverstate === u.show ? n._hoverstate = u.show : (cleartimeout(n._timeout), n._hoverstate = u.show, n.config.delay && n.config.delay.show ? n._timeout = settimeout(function() { n._hoverstate === u.show && n.show() }, n.config.delay.show) : n.show()) }, m._leave = function(t, n) { var i = this.constructor.data_key; (n = n || e(t.currenttarget).data(i)) || (n = new this.constructor(t.currenttarget, this._getdelegateconfig()), e(t.currenttarget).data(i, n)), t && (n._activetrigger["focusout" === t.type ? g.focus : g.hover] = !1), n._iswithactivetrigger() || (cleartimeout(n._timeout), n._hoverstate = u.out, n.config.delay && n.config.delay.hide ? n._timeout = settimeout(function() { n._hoverstate === u.out && n.hide() }, n.config.delay.hide) : n.hide()) }, m._iswithactivetrigger = function() { for (var t in this._activetrigger) if (this._activetrigger[t]) return !0; return !1 }, m._getconfig = function(n) { return "number" == typeof(n = e.extend({}, this.constructor.default, e(this.element).data(), n)).delay && (n.delay = { show: n.delay, hide: n.delay }), "number" == typeof n.title && (n.title = n.title.tostring()), "number" == typeof n.content && (n.content = n.content.tostring()), s.typecheckconfig(t, n, this.constructor.defaulttype), n }, m._getdelegateconfig = function() { var t = {}; if (this.config) for (var e in this.config) this.constructor.default[e] !== this.config[e] && (t[e] = this.config[e]); return t }, m._cleantipclass = function() { var t = e(this.gettipelement()), n = t.attr("class").match(a); null !== n && n.length > 0 && t.removeclass(n.join("")) }, m._handlepopperplacementchange = function(t) { this._cleantipclass(), this.addattachmentclass(this._getattachment(t.placement)) }, m._fixtransition = function() { var t = this.gettipelement(), n = this.config.animation; null === t.getattribute("x-placement") && (e(t).removeclass(f.fade), this.config.animation = !1, this.hide(), this.show(), this.config.animation = n) }, o._jqueryinterface = function(t) { return this.each(function() { var n = e(this).data("bs.tooltip"), i = "object" == typeof t && t; if ((n || !/dispose|hide/.test(t)) && (n || (n = new o(this, i), e(this).data("bs.tooltip", n)), "string" == typeof t)) { if ("undefined" == typeof n[t]) throw new error('no method named "' + t + '"'); n[t]() } }) }, r(o, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }, { key: "default", get: function() { return c } }, { key: "name", get: function() { return t } }, { key: "data_key", get: function() { return "bs.tooltip" } }, { key: "event", get: function() { return d } }, { key: "event_key", get: function() { return i } }, { key: "defaulttype", get: function() { return l } }]), o }(); return e.fn[t] = m._jqueryinterface, e.fn[t].constructor = m, e.fn[t].noconflict = function() { return e.fn[t] = o, m._jqueryinterface }, m }(), _ = function() { var t = "popover", n = ".bs.popover", i = e.fn[t], s = new regexp("(^|\\s)bs-popover\\s+", "g"), a = e.extend({}, f.default, { placement: "right", trigger: "click", content: "", template: '' }), l = e.extend({}, f.defaulttype, { content: "(string|element|function)" }), h = { fade: "fade", show: "show" }, c = { title: ".popover-header", content: ".popover-body" }, u = { hide: "hide" + n, hidden: "hidden" + n, show: "show" + n, shown: "shown" + n, inserted: "inserted" + n, click: "click" + n, focusin: "focusin" + n, focusout: "focusout" + n, mouseenter: "mouseenter" + n, mouseleave: "mouseleave" + n }, d = function(i) { function d() { return i.apply(this, arguments) || this } o(d, i); var f = d.prototype; return f.iswithcontent = function() { return this.gettitle() || this._getcontent() }, f.addattachmentclass = function(t) { e(this.gettipelement()).addclass("bs-popover-" + t) }, f.gettipelement = function() { return this.tip = this.tip || e(this.config.template)[0], this.tip }, f.setcontent = function() { var t = e(this.gettipelement()); this.setelementcontent(t.find(c.title), this.gettitle()), this.setelementcontent(t.find(c.content), this._getcontent()), t.removeclass(h.fade + " " + h.show) }, f._getcontent = function() { return this.element.getattribute("data-content") || ("function" == typeof this.config.content ? this.config.content.call(this.element) : this.config.content) }, f._cleantipclass = function() { var t = e(this.gettipelement()), n = t.attr("class").match(s); null !== n && n.length > 0 && t.removeclass(n.join("")) }, d._jqueryinterface = function(t) { return this.each(function() { var n = e(this).data("bs.popover"), i = "object" == typeof t ? t : null; if ((n || !/destroy|hide/.test(t)) && (n || (n = new d(this, i), e(this).data("bs.popover", n)), "string" == typeof t)) { if ("undefined" == typeof n[t]) throw new error('no method named "' + t + '"'); n[t]() } }) }, r(d, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }, { key: "default", get: function() { return a } }, { key: "name", get: function() { return t } }, { key: "data_key", get: function() { return "bs.popover" } }, { key: "event", get: function() { return u } }, { key: "event_key", get: function() { return n } }, { key: "defaulttype", get: function() { return l } }]), d }(f); return e.fn[t] = d._jqueryinterface, e.fn[t].constructor = d, e.fn[t].noconflict = function() { return e.fn[t] = i, d._jqueryinterface }, d }(), g = function() { var t = "scrollspy", n = e.fn[t], i = { offset: 10, method: "auto", target: "" }, o = { offset: "number", method: "string", target: "(string|element)" }, a = { activate: "activate.bs.scrollspy", scroll: "scroll.bs.scrollspy", load_data_api: "load.bs.scrollspy.data-api" }, l = { dropdown_item: "dropdown-item", dropdown_menu: "dropdown-menu", active: "active" }, h = { data_spy: '[data-spy="scroll"]', active: ".active", nav_list_group: ".nav, .list-group", nav_links: ".nav-link", nav_items: ".nav-item", list_items: ".list-group-item", dropdown: ".dropdown", dropdown_items: ".dropdown-item", dropdown_toggle: ".dropdown-toggle" }, c = { offset: "offset", position: "position" }, u = function() { function n(t, n) { var i = this; this._element = t, this._scrollelement = "body" === t.tagname ? window : t, this._config = this._getconfig(n), this._selector = this._config.target + " " + h.nav_links + "," + this._config.target + " " + h.list_items + "," + this._config.target + " " + h.dropdown_items, this._offsets = [], this._targets = [], this._activetarget = null, this._scrollheight = 0, e(this._scrollelement).on(a.scroll, function(t) { return i._process(t) }), this.refresh(), this._process() } var u = n.prototype; return u.refresh = function() { var t = this, n = this._scrollelement !== this._scrollelement.window ? c.position : c.offset, i = "auto" === this._config.method ? n : this._config.method, r = i === c.position ? this._getscrolltop() : 0; this._offsets = [], this._targets = [], this._scrollheight = this._getscrollheight(), e.makearray(e(this._selector)).map(function(t) { var n, o = s.getselectorfromelement(t); if (o && (n = e(o)[0]), n) { var a = n.getboundingclientrect(); if (a.width || a.height) return [e(n)[i]().top + r, o] } return null }).filter(function(t) { return t }).sort(function(t, e) { return t[0] - e[0] }).foreach(function(e) { t._offsets.push(e[0]), t._targets.push(e[1]) }) }, u.dispose = function() { e.removedata(this._element, "bs.scrollspy"), e(this._scrollelement).off(".bs.scrollspy"), this._element = null, this._scrollelement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activetarget = null, this._scrollheight = null }, u._getconfig = function(n) { if ("string" != typeof(n = e.extend({}, i, n)).target) { var r = e(n.target).attr("id"); r || (r = s.getuid(t), e(n.target).attr("id", r)), n.target = "#" + r } return s.typecheckconfig(t, n, o), n }, u._getscrolltop = function() { return this._scrollelement === window ? this._scrollelement.pageyoffset : this._scrollelement.scrolltop }, u._getscrollheight = function() { return this._scrollelement.scrollheight || math.max(document.body.scrollheight, document.documentelement.scrollheight) }, u._getoffsetheight = function() { return this._scrollelement === window ? window.innerheight : this._scrollelement.getboundingclientrect().height }, u._process = function() { var t = this._getscrolltop() + this._config.offset, e = this._getscrollheight(), n = this._config.offset + e - this._getoffsetheight(); if (this._scrollheight !== e && this.refresh(), t >= n) { var i = this._targets[this._targets.length - 1]; this._activetarget !== i && this._activate(i) } else { if (this._activetarget && t < this._offsets[0] && this._offsets[0] > 0) return this._activetarget = null, void this._clear(); for (var s = this._offsets.length; s--;) this._activetarget !== this._targets[s] && t >= this._offsets[s] && ("undefined" == typeof this._offsets[s + 1] || t < this._offsets[s + 1]) && this._activate(this._targets[s]) } }, u._activate = function(t) { this._activetarget = t, this._clear(); var n = this._selector.split(","); n = n.map(function(e) { return e + '[data-target="' + t + '"],' + e + '[href="' + t + '"]' }); var i = e(n.join(",")); i.hasclass(l.dropdown_item) ? (i.closest(h.dropdown).find(h.dropdown_toggle).addclass(l.active), i.addclass(l.active)) : (i.addclass(l.active), i.parents(h.nav_list_group).prev(h.nav_links + ", " + h.list_items).addclass(l.active), i.parents(h.nav_list_group).prev(h.nav_items).children(h.nav_links).addclass(l.active)), e(this._scrollelement).trigger(a.activate, { relatedtarget: t }) }, u._clear = function() { e(this._selector).filter(h.active).removeclass(l.active) }, n._jqueryinterface = function(t) { return this.each(function() { var i = e(this).data("bs.scrollspy"), s = "object" == typeof t && t; if (i || (i = new n(this, s), e(this).data("bs.scrollspy", i)), "string" == typeof t) { if ("undefined" == typeof i[t]) throw new error('no method named "' + t + '"'); i[t]() } }) }, r(n, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }, { key: "default", get: function() { return i } }]), n }(); return e(window).on(a.load_data_api, function() { for (var t = e.makearray(e(h.data_spy)), n = t.length; n--;) { var i = e(t[n]); u._jqueryinterface.call(i, i.data()) } }), e.fn[t] = u._jqueryinterface, e.fn[t].constructor = u, e.fn[t].noconflict = function() { return e.fn[t] = n, u._jqueryinterface }, u }(), m = function() { var t = e.fn.tab, n = { hide: "hide.bs.tab", hidden: "hidden.bs.tab", show: "show.bs.tab", shown: "shown.bs.tab", click_data_api: "click.bs.tab.data-api" }, i = { dropdown_menu: "dropdown-menu", active: "active", disabled: "disabled", fade: "fade", show: "show" }, o = { dropdown: ".dropdown", nav_list_group: ".nav, .list-group", active: ".active", active_ul: "> li > .active", data_toggle: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', dropdown_toggle: ".dropdown-toggle", dropdown_active_child: "> .dropdown-menu .active" }, a = function() { function t(t) { this._element = t } var a = t.prototype; return a.show = function() { var t = this; if (!(this._element.parentnode && this._element.parentnode.nodetype === node.element_node && e(this._element).hasclass(i.active) || e(this._element).hasclass(i.disabled))) { var r, a, l = e(this._element).closest(o.nav_list_group)[0], h = s.getselectorfromelement(this._element); if (l) { var c = "ul" === l.nodename ? o.active_ul : o.active; a = e.makearray(e(l).find(c)), a = a[a.length - 1] } var u = e.event(n.hide, { relatedtarget: this._element }), d = e.event(n.show, { relatedtarget: a }); if (a && e(a).trigger(u), e(this._element).trigger(d), !d.isdefaultprevented() && !u.isdefaultprevented()) { h && (r = e(h)[0]), this._activate(this._element, l); var f = function() { var i = e.event(n.hidden, { relatedtarget: t._element }), s = e.event(n.shown, { relatedtarget: a }); e(a).trigger(i), e(t._element).trigger(s) }; r ? this._activate(r, r.parentnode, f) : f() } } }, a.dispose = function() { e.removedata(this._element, "bs.tab"), this._element = null }, a._activate = function(t, n, r) { var a, l = this, h = (a = "ul" === n.nodename ? e(n).find(o.active_ul) : e(n).children(o.active))[0], c = r && s.supportstransitionend() && h && e(h).hasclass(i.fade), u = function() { return l._transitioncomplete(t, h, c, r) }; h && c ? e(h).one(s.transition_end, u).emulatetransitionend(150) : u(), h && e(h).removeclass(i.show) }, a._transitioncomplete = function(t, n, r, a) { if (n) { e(n).removeclass(i.active); var l = e(n.parentnode).find(o.dropdown_active_child)[0]; l && e(l).removeclass(i.active), "tab" === n.getattribute("role") && n.setattribute("aria-selected", !1) } if (e(t).addclass(i.active), "tab" === t.getattribute("role") && t.setattribute("aria-selected", !0), r ? (s.reflow(t), e(t).addclass(i.show)) : e(t).removeclass(i.fade), t.parentnode && e(t.parentnode).hasclass(i.dropdown_menu)) { var h = e(t).closest(o.dropdown)[0]; h && e(h).find(o.dropdown_toggle).addclass(i.active), t.setattribute("aria-expanded", !0) } a && a() }, t._jqueryinterface = function(n) { return this.each(function() { var i = e(this), s = i.data("bs.tab"); if (s || (s = new t(this), i.data("bs.tab", s)), "string" == typeof n) { if ("undefined" == typeof s[n]) throw new error('no method named "' + n + '"'); s[n]() } }) }, r(t, null, [{ key: "version", get: function() { return "4.0.0-beta.2" } }]), t }(); return e(document).on(n.click_data_api, o.data_toggle, function(t) { t.preventdefault(), a._jqueryinterface.call(e(this), "show") }), e.fn.tab = a._jqueryinterface, e.fn.tab.constructor = a, e.fn.tab.noconflict = function() { return e.fn.tab = t, a._jqueryinterface }, a }(); return function() { if ("undefined" == typeof e) throw new error("bootstrap's javascript requires jquery. jquery must be included before bootstrap's javascript."); var t = e.fn.jquery.split(" ")[0].split("."); if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || t[0] >= 4) throw new error("bootstrap's javascript requires at least jquery v1.9.1 but less than v4.0.0") }(), t.util = s, t.alert = a, t.button = l, t.carousel = h, t.collapse = c, t.dropdown = u, t.modal = d, t.popover = _, t.scrollspy = g, t.tab = m, t.tooltip = f, t }({}, $, popper); //# sourcemappingurl=bootstrap.min.js.map