Difference between revisions of "Team:Amsterdam/test/joeri/assets/js/bootstrap"

(Created page with "/*! * Bootstrap v4.0.0-beta (https://getbootstrap.com) * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under...")
 
 
Line 4: Line 4:
 
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 
  */
 
  */
 
+
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");!function(t){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]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(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)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):undefined}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(t.style[e]!==undefined)return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(Math.random()*l)}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n=e.getAttribute("data-target");n&&"#"!==n||(n=e.getAttribute("href")||"");try{return t(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+s+'".')}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-beta",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;if(t(e).removeClass(f.SHOW),!r.supportsTransitionEnd()||!t(e).hasClass(f.FADE))return void this._destroyElement(e);t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface}}(jQuery),function(t){var e="button",i="4.0.0-beta",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" blur"+s+a},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=!0,i=t(this._element).closest(c.DATA_TOGGLE)[0];if(i){var o=t(this._element).find(c.INPUT)[0];if(o){if("radio"===o.type)if(o.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var r=t(i).find(c.ACTIVE)[0];r&&t(r).removeClass(h.ACTIVE)}if(e){if(o.hasAttribute("disabled")||i.hasAttribute("disabled")||o.classList.contains("disabled")||i.classList.contains("disabled"))return;o.checked=!t(this._element).hasClass(h.ACTIVE),t(o).trigger("change")}o.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE)),e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface}}(jQuery),function(t){var e="carousel",s="4.0.0-beta",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_=500,p={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},m={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},E={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,TOUCHEND:"touchend"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},v={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"},T={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"]'},y=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(T.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){this._isSliding||this._slide(m.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){this._isSliding||this._slide(m.PREV)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(T.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.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))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(T.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(E.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?m.NEXT:m.PREV;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},p,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(E.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(E.MOUSEENTER,function(t){return e.pause(t)}).on(E.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(E.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},_+e._config.interval)}))},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(T.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===m.NEXT,i=t===m.PREV,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=t===m.PREV?-1:1,a=(o+s)%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},h.prototype._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),o=this._getItemIndex(t(this._element).find(T.ACTIVE_ITEM)[0]),r=t.Event(E.SLIDE,{relatedTarget:e,direction:n,from:o,to:i});return t(this._element).trigger(r),r},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(T.ACTIVE).removeClass(v.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(v.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(T.ACTIVE_ITEM)[0],s=this._getItemIndex(o),a=n||o&&this._getItemByDirection(e,o),l=this._getItemIndex(a),h=Boolean(this._interval),c=void 0,d=void 0,f=void 0;if(e===m.NEXT?(c=v.LEFT,d=v.NEXT,f=m.LEFT):(c=v.RIGHT,d=v.PREV,f=m.RIGHT),a&&t(a).hasClass(v.ACTIVE))return void(this._isSliding=!1);if(!this._triggerSlideEvent(a,f).isDefaultPrevented()&&o&&a){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(a);var _=t.Event(E.SLID,{relatedTarget:a,direction:f,from:s,to:l});r.supportsTransitionEnd()&&t(this._element).hasClass(v.SLIDE)?(t(a).addClass(d),r.reflow(a),t(o).addClass(c),t(a).addClass(c),t(o).one(r.TRANSITION_END,function(){t(a).removeClass(c+" "+d).addClass(v.ACTIVE),t(o).removeClass(v.ACTIVE+" "+d+" "+c),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(_)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(v.ACTIVE),t(a).addClass(v.ACTIVE),this._isSliding=!1,t(this._element).trigger(_)),h&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},p,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(n[r]===undefined)throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(v.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return p}}]),h}();t(document).on(E.CLICK_DATA_API,T.DATA_SLIDE,y._dataApiClickHandler),t(window).on(E.LOAD_DATA_API,function(){t(T.DATA_RIDE).each(function(){var e=t(this);y._jQueryInterface.call(e,e.data())})}),t.fn[e]=y._jQueryInterface,t.fn[e].Constructor=y,t.fn[e].noConflict=function(){return t.fn[e]=c,y._jQueryInterface}}(jQuery),function(t){var e="collapse",s="4.0.0-beta",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},p={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},g={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var o=t(m.DATA_TOGGLE),s=0;s<o.length;s++){var a=o[s],h=r.getSelectorFromElement(a);null!==h&&t(h).filter(e).length>0&&this._triggerArray.push(a)}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(p.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(!this._isTransitioning&&!t(this._element).hasClass(p.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).children().children(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a))&&i._isTransitioning)){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(p.COLLAPSE).addClass(p.COLLAPSING),this._element.style[s]=0,this._triggerArray.length&&t(this._triggerArray).removeClass(p.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(p.COLLAPSING).addClass(p.COLLAPSE).addClass(p.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(p.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",r.reflow(this._element),t(this._element).addClass(p.COLLAPSING).removeClass(p.COLLAPSE).removeClass(p.SHOW),this._triggerArray.length)for(var o=0;o<this._triggerArray.length;o++){var s=this._triggerArray[o],a=r.getSelectorFromElement(s);if(null!==a){var l=t(a);l.hasClass(p.SHOW)||t(s).addClass(p.COLLAPSED).attr("aria-expanded",!1)}}this.setTransitioning(!0);var h=function(){e.setTransitioning(!1),t(e._element).removeClass(p.COLLAPSING).addClass(p.COLLAPSE).trigger(_.HIDDEN)};if(this._element.style[i]="",!r.supportsTransitionEnd())return void h();t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u)}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){return t(this._element).hasClass(g.WIDTH)?g.WIDTH:g.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(p.SHOW);n.length&&t(n).toggleClass(p.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===(void 0===e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(o[e]===undefined)throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){/input|textarea/i.test(e.target.tagName)||e.preventDefault();var n=t(this),i=r.getSelectorFromElement(this);t(i).each(function(){var e=t(this),i=e.data(a),o=i?"toggle":n.data();E._jQueryInterface.call(e,o)})}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface}}(jQuery),function(t){if("undefined"==typeof Popper)throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");var e="dropdown",s="4.0.0-beta",a="bs.dropdown",l="."+a,h=".data-api",c=t.fn[e],u=27,d=32,f=9,_=38,p=40,g=3,m=new RegExp(_+"|"+p+"|"+u),E={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,CLICK:"click"+l,CLICK_DATA_API:"click"+l+h,KEYDOWN_DATA_API:"keydown"+l+h,KEYUP_DATA_API:"keyup"+l+h},v={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left"},T={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled)"},y={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end"},A={placement:y.BOTTOM,offset:0,flip:!0},I={placement:"string",offset:"(number|string)",flip:"boolean"},C=function(){function h(t,e){n(this,h),this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}return h.prototype.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(v.DISABLED)){var e=h._getParentFromElement(this._element),n=t(this._menu).hasClass(v.SHOW);if(h._clearMenus(),!n){var i={relatedTarget:this._element},o=t.Event(E.SHOW,i);if(t(e).trigger(o),!o.isDefaultPrevented()){var r=this._element;t(e).hasClass(v.DROPUP)&&(t(this._menu).hasClass(v.MENULEFT)||t(this._menu).hasClass(v.MENURIGHT))&&(r=e),this._popper=new Popper(r,this._menu,this._getPopperConfig()),"ontouchstart"in document.documentElement&&!t(e).closest(T.NAVBAR_NAV).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(v.SHOW),t(e).toggleClass(v.SHOW).trigger(t.Event(E.SHOWN,i))}}}},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._element).off(l),this._element=null,this._menu=null,null!==this._popper&&this._popper.destroy(),this._popper=null},h.prototype.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},h.prototype._addEventListeners=function(){var e=this;t(this._element).on(E.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},h.prototype._getConfig=function(n){var i=t(this._element).data();return i.placement!==undefined&&(i.placement=y[i.placement.toUpperCase()]),n=t.extend({},this.constructor.Default,t(this._element).data(),n),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getMenuElement=function(){if(!this._menu){var e=h._getParentFromElement(this._element);this._menu=t(e).find(T.MENU)[0]}return this._menu},h.prototype._getPlacement=function(){var e=t(this._element).parent(),n=this._config.placement;return e.hasClass(v.DROPUP)||this._config.placement===y.TOP?(n=y.TOP,t(this._menu).hasClass(v.MENURIGHT)&&(n=y.TOPEND)):t(this._menu).hasClass(v.MENURIGHT)&&(n=y.BOTTOMEND),n},h.prototype._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},h.prototype._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:{offset:this._config.offset},flip:{enabled:this._config.flip}}};return this._inNavbar&&(t.modifiers.applyStyle={enabled:!this._inNavbar}),t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===(void 0===e?"undefined":i(e))?e:null;if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(n[e]===undefined)throw new Error('No method named "'+e+'"');n[e]()}})},h._clearMenus=function(e){if(!e||e.which!==g&&("keyup"!==e.type||e.which===f))for(var n=t.makeArray(t(T.DATA_TOGGLE)),i=0;i<n.length;i++){var o=h._getParentFromElement(n[i]),r=t(n[i]).data(a),s={relatedTarget:n[i]};if(r){var l=r._menu;if(t(o).hasClass(v.SHOW)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&e.which===f)&&t.contains(o,e.target))){var c=t.Event(E.HIDE,s);t(o).trigger(c),c.isDefaultPrevented()||("ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),n[i].setAttribute("aria-expanded","false"),t(l).removeClass(v.SHOW),t(o).removeClass(v.SHOW).trigger(t.Event(E.HIDDEN,s)))}}}},h._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},h._dataApiKeydownHandler=function(e){if(!(!m.test(e.which)||/button/i.test(e.target.tagName)&&e.which===d||/input|textarea/i.test(e.target.tagName)||(e.preventDefault(),e.stopPropagation(),this.disabled||t(this).hasClass(v.DISABLED)))){var n=h._getParentFromElement(this),i=t(n).hasClass(v.SHOW);if(!i&&(e.which!==u||e.which!==d)||i&&(e.which===u||e.which===d)){if(e.which===u){var o=t(n).find(T.DATA_TOGGLE)[0];t(o).trigger("focus")}return void t(this).trigger("click")}var r=t(n).find(T.VISIBLE_ITEMS).get();if(r.length){var s=r.indexOf(e.target);e.which===_&&s>0&&s--,e.which===p&&s<r.length-1&&s++,s<0&&(s=0),r[s].focus()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return A}},{key:"DefaultType",get:function(){return I}}]),h}();t(document).on(E.KEYDOWN_DATA_API,T.DATA_TOGGLE,C._dataApiKeydownHandler).on(E.KEYDOWN_DATA_API,T.MENU,C._dataApiKeydownHandler).on(E.CLICK_DATA_API+" "+E.KEYUP_DATA_API,C._clearMenus).on(E.CLICK_DATA_API,T.DATA_TOGGLE,function(e){e.preventDefault(),e.stopPropagation(),C._jQueryInterface.call(t(this),"toggle")}).on(E.CLICK_DATA_API,T.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=C._jQueryInterface,t.fn[e].Constructor=C,t.fn[e].noConflict=function(){return t.fn[e]=c,C._jQueryInterface}}(jQuery),function(t){var e="modal",s="4.0.0-beta",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},p={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},g={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(!this._isTransitioning){r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(g.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(g.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(g.MOUSEDOWN_DISMISS,function(){t(n._element).one(g.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))}},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(g.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(g.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(g.CLICK_DISMISS),t(this._dialog).off(g.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())}},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},h.prototype.handleUpdate=function(){this._adjustDialog()},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,p),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.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&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(g.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(g.FOCUSIN).on(g.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(g.KEYDOWN_DISMISS,function(t){t.which===f&&(t.preventDefault(),e.hide())}):this._isShown||t(this._element).off(g.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(g.RESIZE,function(t){return e.handleUpdate(t)}):t(window).off(g.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(g.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(g.CLICK_DISMISS,function(t){if(n._ignoreBackdropClick)return void(n._ignoreBackdropClick=!1);t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._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")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){t(E.FIXED_CONTENT).each(function(n,i){var o=t(i)[0].style.paddingRight,r=t(i).css("padding-right");t(i).data("padding-right",o).css("padding-right",parseFloat(r)+e._scrollbarWidth+"px")}),t(E.NAVBAR_TOGGLER).each(function(n,i){var o=t(i)[0].style.marginRight,r=t(i).css("margin-right");t(i).data("margin-right",o).css("margin-right",parseFloat(r)+e._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=t("body").css("padding-right");t("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},h.prototype._resetScrollbar=function(){t(E.FIXED_CONTENT).each(function(e,n){var i=t(n).data("padding-right");void 0!==i&&t(n).css("padding-right",i).removeData("padding-right")}),t(E.NAVBAR_TOGGLER).each(function(e,n){var i=t(n).data("margin-right");void 0!==i&&t(n).css("margin-right",i).removeData("margin-right")});var e=t("body").data("padding-right");void 0!==e&&t("body").css("padding-right",e).removeData("padding-right")},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===(void 0===e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(o[e]===undefined)throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();t(document).on(g.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(g.SHOW,function(e){e.isDefaultPrevented()||l.one(g.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface}}(jQuery),function(t){var e="scrollspy",s="4.0.0-beta",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},p={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},g={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+p.NAV_LINKS+","+this._config.target+" "+p.LIST_ITEMS+","+this._config.target+" "+p.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){
 
+
var e=this,n=this._scrollElement!==this._scrollElement.window?g.POSITION:g.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===g.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n=void 0,s=r.getSelectorFromElement(e);if(s&&(n=t(s)[0]),n){var a=n.getBoundingClientRect();if(a.width||a.height)return[t(n)[i]().top+o,s]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},h.prototype._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];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(this._offsets[o+1]===undefined||t<this._offsets[o+1])&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(p.DROPDOWN).find(p.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):(i.addClass(_.ACTIVE),i.parents(p.NAV_LIST_GROUP).prev(p.NAV_LINKS+", "+p.LIST_ITEMS).addClass(_.ACTIVE)),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(p.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===(void 0===e?"undefined":i(e))&&e;if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(n[e]===undefined)throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(p.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface}}(jQuery),function(t){var e="tab",i="4.0.0-beta",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.NAV_LIST_GROUP)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE)[0],a=i&&r.supportsTransitionEnd()&&s&&t(s).hasClass(d.FADE),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(o[n]===undefined)throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface}}(jQuery),function(t){if("undefined"==typeof Popper)throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");var e="tooltip",s="4.0.0-beta",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tooltip",d=new RegExp("(^|\\s)"+u+"\\S+","g"),f={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)"},_={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},p={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},g={SHOW:"show",OUT:"out"},m={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},E={FADE:"fade",SHOW:"show"},v={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner",ARROW:".arrow"},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},y=function(){function h(t,e){n(this,h),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()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(E.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(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},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(E.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a);this.addAttachmentClass(l);var c=!1===this.config.container?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(o).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Popper(this.element,o,{placement:l,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v.ARROW}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(o).addClass(E.SHOW),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};r.supportsTransitionEnd()&&t(this.tip).hasClass(E.FADE)?t(this.tip).one(r.TRANSITION_END,u).emulateTransitionEnd(h._TRANSITION_DURATION):u()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE),s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(E.SHOW),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(E.FADE)?t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c):s(),this._hoverState="")},h.prototype.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.addAttachmentClass=function(e){t(this.getTipElement()).addClass(u+"-"+e)},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(v.TOOLTIP_INNER),this.getTitle()),e.removeClass(E.FADE+" "+E.SHOW)},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===(void 0===n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.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},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(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",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(E.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger()){if(clearTimeout(n._timeout),n._hoverState=g.OUT,!n.config.delay||!n.config.delay.hide)return void n.hide();n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)}},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),n.title&&"number"==typeof n.title&&(n.title=n.title.toString()),n.content&&"number"==typeof n.content&&(n.content=n.content.toString()),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._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},h.prototype._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(d);null!==n&&n.length>0&&e.removeClass(n.join(""))},h.prototype._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},h.prototype._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(E.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===(void 0===e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(n[e]===undefined)throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return p}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return m}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=y._jQueryInterface,t.fn[e].Constructor=y,t.fn[e].noConflict=function(){return t.fn[e]=h,y._jQueryInterface},y}(jQuery));!function(r){var a="popover",l="4.0.0-beta",h="bs.popover",c="."+h,u=r.fn[a],d="bs-popover",f=new RegExp("(^|\\s)"+d+"\\S+","g"),_=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),p=r.extend({},s.DefaultType,{content:"(string|element|function)"}),g={FADE:"fade",SHOW:"show"},m={TITLE:".popover-header",CONTENT:".popover-body"},E={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},v=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.addAttachmentClass=function(t){r(this.getTipElement()).addClass(d+"-"+t)},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(m.TITLE),this.getTitle()),this.setElementContent(t.find(m.CONTENT),this._getContent()),t.removeClass(g.FADE+" "+g.SHOW)},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u.prototype._cleanTipClass=function(){var t=r(this.getTipElement()),e=t.attr("class").match(f);null!==e&&e.length>0&&t.removeClass(e.join(""))},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===(void 0===t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(e[t]===undefined)throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return _}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return E}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return p}}]),u}(s);r.fn[a]=v._jQueryInterface,r.fn[a].Constructor=v,r.fn[a].noConflict=function(){return r.fn[a]=u,v._jQueryInterface}}(jQuery)}();
if (typeof jQuery === 'undefined') {
+
  throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
+
}
+
 
+
(function ($) {
+
  var version = $.fn.jquery.split(' ')[0].split('.')
+
  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
+
    throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
+
  }
+
})(jQuery);
+
 
+
(function () {
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
 
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
 
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
 
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
 
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): util.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Util = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Private TransitionEnd Helpers
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var transition = false;
+
 
+
  var MAX_UID = 1000000;
+
 
+
  var TransitionEndEvent = {
+
    WebkitTransition: 'webkitTransitionEnd',
+
    MozTransition: 'transitionend',
+
    OTransition: 'oTransitionEnd otransitionend',
+
    transition: 'transitionend'
+
 
+
    // shoutout AngusCroll (https://goo.gl/pxwQGp)
+
  };function toType(obj) {
+
    return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
+
  }
+
 
+
  function isElement(obj) {
+
    return (obj[0] || obj).nodeType;
+
  }
+
 
+
  function getSpecialTransitionEndEvent() {
+
    return {
+
      bindType: transition.end,
+
      delegateType: transition.end,
+
      handle: function handle(event) {
+
        if ($(event.target).is(this)) {
+
          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+
        }
+
        return undefined;
+
      }
+
    };
+
  }
+
 
+
  function transitionEndTest() {
+
    if (window.QUnit) {
+
      return false;
+
    }
+
 
+
    var el = document.createElement('bootstrap');
+
 
+
    for (var name in TransitionEndEvent) {
+
      if (el.style[name] !== undefined) {
+
        return {
+
          end: TransitionEndEvent[name]
+
        };
+
      }
+
    }
+
 
+
    return false;
+
  }
+
 
+
  function transitionEndEmulator(duration) {
+
    var _this = this;
+
 
+
    var called = false;
+
 
+
    $(this).one(Util.TRANSITION_END, function () {
+
      called = true;
+
    });
+
 
+
    setTimeout(function () {
+
      if (!called) {
+
        Util.triggerTransitionEnd(_this);
+
      }
+
    }, duration);
+
 
+
    return this;
+
  }
+
 
+
  function setTransitionEndSupport() {
+
    transition = transitionEndTest();
+
 
+
    $.fn.emulateTransitionEnd = transitionEndEmulator;
+
 
+
    if (Util.supportsTransitionEnd()) {
+
      $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+
    }
+
  }
+
 
+
  /**
+
  * --------------------------------------------------------------------------
+
  * Public Util Api
+
  * --------------------------------------------------------------------------
+
  */
+
 
+
  var Util = {
+
 
+
    TRANSITION_END: 'bsTransitionEnd',
+
 
+
    getUID: function getUID(prefix) {
+
      do {
+
        // eslint-disable-next-line no-bitwise
+
        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+
      } while (document.getElementById(prefix));
+
      return prefix;
+
    },
+
    getSelectorFromElement: function getSelectorFromElement(element) {
+
      var selector = element.getAttribute('data-target');
+
      if (!selector || selector === '#') {
+
        selector = element.getAttribute('href') || '';
+
      }
+
 
+
      try {
+
        var $selector = $(selector);
+
        return $selector.length > 0 ? selector : null;
+
      } catch (error) {
+
        return null;
+
      }
+
    },
+
    reflow: function reflow(element) {
+
      return element.offsetHeight;
+
    },
+
    triggerTransitionEnd: function triggerTransitionEnd(element) {
+
      $(element).trigger(transition.end);
+
    },
+
    supportsTransitionEnd: function supportsTransitionEnd() {
+
      return Boolean(transition);
+
    },
+
    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+
      for (var property in configTypes) {
+
        if (configTypes.hasOwnProperty(property)) {
+
          var expectedTypes = configTypes[property];
+
          var value = config[property];
+
          var valueType = value && isElement(value) ? 'element' : toType(value);
+
 
+
          if (!new RegExp(expectedTypes).test(valueType)) {
+
            throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
+
          }
+
        }
+
      }
+
    }
+
  };
+
 
+
  setTransitionEndSupport();
+
 
+
  return Util;
+
}(jQuery);
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): alert.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Alert = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'alert';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.alert';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var DATA_API_KEY = '.data-api';
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
  var TRANSITION_DURATION = 150;
+
 
+
  var Selector = {
+
    DISMISS: '[data-dismiss="alert"]'
+
  };
+
 
+
  var Event = {
+
    CLOSE: 'close' + EVENT_KEY,
+
    CLOSED: 'closed' + EVENT_KEY,
+
    CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+
  };
+
 
+
  var ClassName = {
+
    ALERT: 'alert',
+
    FADE: 'fade',
+
    SHOW: 'show'
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Alert = function () {
+
    function Alert(element) {
+
      _classCallCheck(this, Alert);
+
 
+
      this._element = element;
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    Alert.prototype.close = function close(element) {
+
      element = element || this._element;
+
 
+
      var rootElement = this._getRootElement(element);
+
      var customEvent = this._triggerCloseEvent(rootElement);
+
 
+
      if (customEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      this._removeElement(rootElement);
+
    };
+
 
+
    Alert.prototype.dispose = function dispose() {
+
      $.removeData(this._element, DATA_KEY);
+
      this._element = null;
+
    };
+
 
+
    // private
+
 
+
    Alert.prototype._getRootElement = function _getRootElement(element) {
+
      var selector = Util.getSelectorFromElement(element);
+
      var parent = false;
+
 
+
      if (selector) {
+
        parent = $(selector)[0];
+
      }
+
 
+
      if (!parent) {
+
        parent = $(element).closest('.' + ClassName.ALERT)[0];
+
      }
+
 
+
      return parent;
+
    };
+
 
+
    Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
+
      var closeEvent = $.Event(Event.CLOSE);
+
 
+
      $(element).trigger(closeEvent);
+
      return closeEvent;
+
    };
+
 
+
    Alert.prototype._removeElement = function _removeElement(element) {
+
      var _this2 = this;
+
 
+
      $(element).removeClass(ClassName.SHOW);
+
 
+
      if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
+
        this._destroyElement(element);
+
        return;
+
      }
+
 
+
      $(element).one(Util.TRANSITION_END, function (event) {
+
        return _this2._destroyElement(element, event);
+
      }).emulateTransitionEnd(TRANSITION_DURATION);
+
    };
+
 
+
    Alert.prototype._destroyElement = function _destroyElement(element) {
+
      $(element).detach().trigger(Event.CLOSED).remove();
+
    };
+
 
+
    // static
+
 
+
    Alert._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var $element = $(this);
+
        var data = $element.data(DATA_KEY);
+
 
+
        if (!data) {
+
          data = new Alert(this);
+
          $element.data(DATA_KEY, data);
+
        }
+
 
+
        if (config === 'close') {
+
          data[config](this);
+
        }
+
      });
+
    };
+
 
+
    Alert._handleDismiss = function _handleDismiss(alertInstance) {
+
      return function (event) {
+
        if (event) {
+
          event.preventDefault();
+
        }
+
 
+
        alertInstance.close(this);
+
      };
+
    };
+
 
+
    _createClass(Alert, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }]);
+
 
+
    return Alert;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Data Api implementation
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Alert._jQueryInterface;
+
  $.fn[NAME].Constructor = Alert;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Alert._jQueryInterface;
+
  };
+
 
+
  return Alert;
+
}(jQuery);
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): button.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Button = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'button';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.button';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var DATA_API_KEY = '.data-api';
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
 
+
  var ClassName = {
+
    ACTIVE: 'active',
+
    BUTTON: 'btn',
+
    FOCUS: 'focus'
+
  };
+
 
+
  var Selector = {
+
    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+
    DATA_TOGGLE: '[data-toggle="buttons"]',
+
    INPUT: 'input',
+
    ACTIVE: '.active',
+
    BUTTON: '.btn'
+
  };
+
 
+
  var Event = {
+
    CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
+
    FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Button = function () {
+
    function Button(element) {
+
      _classCallCheck(this, Button);
+
 
+
      this._element = element;
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    Button.prototype.toggle = function toggle() {
+
      var triggerChangeEvent = true;
+
      var addAriaPressed = true;
+
      var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
+
 
+
      if (rootElement) {
+
        var input = $(this._element).find(Selector.INPUT)[0];
+
 
+
        if (input) {
+
          if (input.type === 'radio') {
+
            if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
+
              triggerChangeEvent = false;
+
            } else {
+
              var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
+
 
+
              if (activeElement) {
+
                $(activeElement).removeClass(ClassName.ACTIVE);
+
              }
+
            }
+
          }
+
 
+
          if (triggerChangeEvent) {
+
            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+
              return;
+
            }
+
            input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
+
            $(input).trigger('change');
+
          }
+
 
+
          input.focus();
+
          addAriaPressed = false;
+
        }
+
      }
+
 
+
      if (addAriaPressed) {
+
        this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
+
      }
+
 
+
      if (triggerChangeEvent) {
+
        $(this._element).toggleClass(ClassName.ACTIVE);
+
      }
+
    };
+
 
+
    Button.prototype.dispose = function dispose() {
+
      $.removeData(this._element, DATA_KEY);
+
      this._element = null;
+
    };
+
 
+
    // static
+
 
+
    Button._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var data = $(this).data(DATA_KEY);
+
 
+
        if (!data) {
+
          data = new Button(this);
+
          $(this).data(DATA_KEY, data);
+
        }
+
 
+
        if (config === 'toggle') {
+
          data[config]();
+
        }
+
      });
+
    };
+
 
+
    _createClass(Button, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }]);
+
 
+
    return Button;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Data Api implementation
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+
    event.preventDefault();
+
 
+
    var button = event.target;
+
 
+
    if (!$(button).hasClass(ClassName.BUTTON)) {
+
      button = $(button).closest(Selector.BUTTON);
+
    }
+
 
+
    Button._jQueryInterface.call($(button), 'toggle');
+
  }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+
    var button = $(event.target).closest(Selector.BUTTON)[0];
+
    $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+
  });
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Button._jQueryInterface;
+
  $.fn[NAME].Constructor = Button;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Button._jQueryInterface;
+
  };
+
 
+
  return Button;
+
}(jQuery);
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): carousel.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Carousel = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'carousel';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.carousel';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var DATA_API_KEY = '.data-api';
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
  var TRANSITION_DURATION = 600;
+
  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+
  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+
 
+
  var Default = {
+
    interval: 5000,
+
    keyboard: true,
+
    slide: false,
+
    pause: 'hover',
+
    wrap: true
+
  };
+
 
+
  var DefaultType = {
+
    interval: '(number|boolean)',
+
    keyboard: 'boolean',
+
    slide: '(boolean|string)',
+
    pause: '(string|boolean)',
+
    wrap: 'boolean'
+
  };
+
 
+
  var Direction = {
+
    NEXT: 'next',
+
    PREV: 'prev',
+
    LEFT: 'left',
+
    RIGHT: 'right'
+
  };
+
 
+
  var Event = {
+
    SLIDE: 'slide' + EVENT_KEY,
+
    SLID: 'slid' + EVENT_KEY,
+
    KEYDOWN: 'keydown' + EVENT_KEY,
+
    MOUSEENTER: 'mouseenter' + EVENT_KEY,
+
    MOUSELEAVE: 'mouseleave' + EVENT_KEY,
+
    TOUCHEND: 'touchend' + EVENT_KEY,
+
    LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
+
    CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+
  };
+
 
+
  var ClassName = {
+
    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'
+
  };
+
 
+
  var Selector = {
+
    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"]'
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Carousel = function () {
+
    function Carousel(element, config) {
+
      _classCallCheck(this, Carousel);
+
 
+
      this._items = null;
+
      this._interval = null;
+
      this._activeElement = null;
+
 
+
      this._isPaused = false;
+
      this._isSliding = false;
+
 
+
      this.touchTimeout = null;
+
 
+
      this._config = this._getConfig(config);
+
      this._element = $(element)[0];
+
      this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
+
 
+
      this._addEventListeners();
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    Carousel.prototype.next = function next() {
+
      if (!this._isSliding) {
+
        this._slide(Direction.NEXT);
+
      }
+
    };
+
 
+
    Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
+
      // Don't call next when the page isn't visible
+
      if (!document.hidden) {
+
        this.next();
+
      }
+
    };
+
 
+
    Carousel.prototype.prev = function prev() {
+
      if (!this._isSliding) {
+
        this._slide(Direction.PREV);
+
      }
+
    };
+
 
+
    Carousel.prototype.pause = function pause(event) {
+
      if (!event) {
+
        this._isPaused = true;
+
      }
+
 
+
      if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
+
        Util.triggerTransitionEnd(this._element);
+
        this.cycle(true);
+
      }
+
 
+
      clearInterval(this._interval);
+
      this._interval = null;
+
    };
+
 
+
    Carousel.prototype.cycle = function cycle(event) {
+
      if (!event) {
+
        this._isPaused = false;
+
      }
+
 
+
      if (this._interval) {
+
        clearInterval(this._interval);
+
        this._interval = null;
+
      }
+
 
+
      if (this._config.interval && !this._isPaused) {
+
        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+
      }
+
    };
+
 
+
    Carousel.prototype.to = function to(index) {
+
      var _this3 = this;
+
 
+
      this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+
 
+
      var activeIndex = this._getItemIndex(this._activeElement);
+
 
+
      if (index > this._items.length - 1 || index < 0) {
+
        return;
+
      }
+
 
+
      if (this._isSliding) {
+
        $(this._element).one(Event.SLID, function () {
+
          return _this3.to(index);
+
        });
+
        return;
+
      }
+
 
+
      if (activeIndex === index) {
+
        this.pause();
+
        this.cycle();
+
        return;
+
      }
+
 
+
      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+
 
+
      this._slide(direction, this._items[index]);
+
    };
+
 
+
    Carousel.prototype.dispose = function dispose() {
+
      $(this._element).off(EVENT_KEY);
+
      $.removeData(this._element, DATA_KEY);
+
 
+
      this._items = null;
+
      this._config = null;
+
      this._element = null;
+
      this._interval = null;
+
      this._isPaused = null;
+
      this._isSliding = null;
+
      this._activeElement = null;
+
      this._indicatorsElement = null;
+
    };
+
 
+
    // private
+
 
+
    Carousel.prototype._getConfig = function _getConfig(config) {
+
      config = $.extend({}, Default, config);
+
      Util.typeCheckConfig(NAME, config, DefaultType);
+
      return config;
+
    };
+
 
+
    Carousel.prototype._addEventListeners = function _addEventListeners() {
+
      var _this4 = this;
+
 
+
      if (this._config.keyboard) {
+
        $(this._element).on(Event.KEYDOWN, function (event) {
+
          return _this4._keydown(event);
+
        });
+
      }
+
 
+
      if (this._config.pause === 'hover') {
+
        $(this._element).on(Event.MOUSEENTER, function (event) {
+
          return _this4.pause(event);
+
        }).on(Event.MOUSELEAVE, function (event) {
+
          return _this4.cycle(event);
+
        });
+
        if ('ontouchstart' in document.documentElement) {
+
          // if it's a touch-enabled device, mouseenter/leave are fired as
+
          // part of the mouse compatibility events on first tap - the carousel
+
          // would stop cycling until user tapped out of it;
+
          // here, we listen for touchend, explicitly pause the carousel
+
          // (as if it's the second time we tap on it, mouseenter compat event
+
          // is NOT fired) and after a timeout (to allow for mouse compatibility
+
          // events to fire) we explicitly restart cycling
+
          $(this._element).on(Event.TOUCHEND, function () {
+
            _this4.pause();
+
            if (_this4.touchTimeout) {
+
              clearTimeout(_this4.touchTimeout);
+
            }
+
            _this4.touchTimeout = setTimeout(function (event) {
+
              return _this4.cycle(event);
+
            }, TOUCHEVENT_COMPAT_WAIT + _this4._config.interval);
+
          });
+
        }
+
      }
+
    };
+
 
+
    Carousel.prototype._keydown = function _keydown(event) {
+
      if (/input|textarea/i.test(event.target.tagName)) {
+
        return;
+
      }
+
 
+
      switch (event.which) {
+
        case ARROW_LEFT_KEYCODE:
+
          event.preventDefault();
+
          this.prev();
+
          break;
+
        case ARROW_RIGHT_KEYCODE:
+
          event.preventDefault();
+
          this.next();
+
          break;
+
        default:
+
          return;
+
      }
+
    };
+
 
+
    Carousel.prototype._getItemIndex = function _getItemIndex(element) {
+
      this._items = $.makeArray($(element).parent().find(Selector.ITEM));
+
      return this._items.indexOf(element);
+
    };
+
 
+
    Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+
      var isNextDirection = direction === Direction.NEXT;
+
      var isPrevDirection = direction === Direction.PREV;
+
      var activeIndex = this._getItemIndex(activeElement);
+
      var lastItemIndex = this._items.length - 1;
+
      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+
 
+
      if (isGoingToWrap && !this._config.wrap) {
+
        return activeElement;
+
      }
+
 
+
      var delta = direction === Direction.PREV ? -1 : 1;
+
      var itemIndex = (activeIndex + delta) % this._items.length;
+
 
+
      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+
    };
+
 
+
    Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+
      var targetIndex = this._getItemIndex(relatedTarget);
+
      var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);
+
      var slideEvent = $.Event(Event.SLIDE, {
+
        relatedTarget: relatedTarget,
+
        direction: eventDirectionName,
+
        from: fromIndex,
+
        to: targetIndex
+
      });
+
 
+
      $(this._element).trigger(slideEvent);
+
 
+
      return slideEvent;
+
    };
+
 
+
    Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+
      if (this._indicatorsElement) {
+
        $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+
 
+
        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+
 
+
        if (nextIndicator) {
+
          $(nextIndicator).addClass(ClassName.ACTIVE);
+
        }
+
      }
+
    };
+
 
+
    Carousel.prototype._slide = function _slide(direction, element) {
+
      var _this5 = this;
+
 
+
      var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+
      var activeElementIndex = this._getItemIndex(activeElement);
+
      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+
      var nextElementIndex = this._getItemIndex(nextElement);
+
      var isCycling = Boolean(this._interval);
+
 
+
      var directionalClassName = void 0;
+
      var orderClassName = void 0;
+
      var eventDirectionName = void 0;
+
 
+
      if (direction === Direction.NEXT) {
+
        directionalClassName = ClassName.LEFT;
+
        orderClassName = ClassName.NEXT;
+
        eventDirectionName = Direction.LEFT;
+
      } else {
+
        directionalClassName = ClassName.RIGHT;
+
        orderClassName = ClassName.PREV;
+
        eventDirectionName = Direction.RIGHT;
+
      }
+
 
+
      if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
+
        this._isSliding = false;
+
        return;
+
      }
+
 
+
      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+
      if (slideEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      if (!activeElement || !nextElement) {
+
        // some weirdness is happening, so we bail
+
        return;
+
      }
+
 
+
      this._isSliding = true;
+
 
+
      if (isCycling) {
+
        this.pause();
+
      }
+
 
+
      this._setActiveIndicatorElement(nextElement);
+
 
+
      var slidEvent = $.Event(Event.SLID, {
+
        relatedTarget: nextElement,
+
        direction: eventDirectionName,
+
        from: activeElementIndex,
+
        to: nextElementIndex
+
      });
+
 
+
      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
+
 
+
        $(nextElement).addClass(orderClassName);
+
 
+
        Util.reflow(nextElement);
+
 
+
        $(activeElement).addClass(directionalClassName);
+
        $(nextElement).addClass(directionalClassName);
+
 
+
        $(activeElement).one(Util.TRANSITION_END, function () {
+
          $(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
+
 
+
          $(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
+
 
+
          _this5._isSliding = false;
+
 
+
          setTimeout(function () {
+
            return $(_this5._element).trigger(slidEvent);
+
          }, 0);
+
        }).emulateTransitionEnd(TRANSITION_DURATION);
+
      } else {
+
        $(activeElement).removeClass(ClassName.ACTIVE);
+
        $(nextElement).addClass(ClassName.ACTIVE);
+
 
+
        this._isSliding = false;
+
        $(this._element).trigger(slidEvent);
+
      }
+
 
+
      if (isCycling) {
+
        this.cycle();
+
      }
+
    };
+
 
+
    // static
+
 
+
    Carousel._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var data = $(this).data(DATA_KEY);
+
        var _config = $.extend({}, Default, $(this).data());
+
 
+
        if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
+
          $.extend(_config, config);
+
        }
+
 
+
        var action = typeof config === 'string' ? config : _config.slide;
+
 
+
        if (!data) {
+
          data = new Carousel(this, _config);
+
          $(this).data(DATA_KEY, data);
+
        }
+
 
+
        if (typeof config === 'number') {
+
          data.to(config);
+
        } else if (typeof action === 'string') {
+
          if (data[action] === undefined) {
+
            throw new Error('No method named "' + action + '"');
+
          }
+
          data[action]();
+
        } else if (_config.interval) {
+
          data.pause();
+
          data.cycle();
+
        }
+
      });
+
    };
+
 
+
    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+
      var selector = Util.getSelectorFromElement(this);
+
 
+
      if (!selector) {
+
        return;
+
      }
+
 
+
      var target = $(selector)[0];
+
 
+
      if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
+
        return;
+
      }
+
 
+
      var config = $.extend({}, $(target).data(), $(this).data());
+
      var slideIndex = this.getAttribute('data-slide-to');
+
 
+
      if (slideIndex) {
+
        config.interval = false;
+
      }
+
 
+
      Carousel._jQueryInterface.call($(target), config);
+
 
+
      if (slideIndex) {
+
        $(target).data(DATA_KEY).to(slideIndex);
+
      }
+
 
+
      event.preventDefault();
+
    };
+
 
+
    _createClass(Carousel, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }, {
+
      key: 'Default',
+
      get: function get() {
+
        return Default;
+
      }
+
    }]);
+
 
+
    return Carousel;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Data Api implementation
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
+
 
+
  $(window).on(Event.LOAD_DATA_API, function () {
+
    $(Selector.DATA_RIDE).each(function () {
+
      var $carousel = $(this);
+
      Carousel._jQueryInterface.call($carousel, $carousel.data());
+
    });
+
  });
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Carousel._jQueryInterface;
+
  $.fn[NAME].Constructor = Carousel;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Carousel._jQueryInterface;
+
  };
+
 
+
  return Carousel;
+
}(jQuery);
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): collapse.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Collapse = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'collapse';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.collapse';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var DATA_API_KEY = '.data-api';
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
  var TRANSITION_DURATION = 600;
+
 
+
  var Default = {
+
    toggle: true,
+
    parent: ''
+
  };
+
 
+
  var DefaultType = {
+
    toggle: 'boolean',
+
    parent: 'string'
+
  };
+
 
+
  var Event = {
+
    SHOW: 'show' + EVENT_KEY,
+
    SHOWN: 'shown' + EVENT_KEY,
+
    HIDE: 'hide' + EVENT_KEY,
+
    HIDDEN: 'hidden' + EVENT_KEY,
+
    CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+
  };
+
 
+
  var ClassName = {
+
    SHOW: 'show',
+
    COLLAPSE: 'collapse',
+
    COLLAPSING: 'collapsing',
+
    COLLAPSED: 'collapsed'
+
  };
+
 
+
  var Dimension = {
+
    WIDTH: 'width',
+
    HEIGHT: 'height'
+
  };
+
 
+
  var Selector = {
+
    ACTIVES: '.show, .collapsing',
+
    DATA_TOGGLE: '[data-toggle="collapse"]'
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Collapse = function () {
+
    function Collapse(element, config) {
+
      _classCallCheck(this, Collapse);
+
 
+
      this._isTransitioning = false;
+
      this._element = element;
+
      this._config = this._getConfig(config);
+
      this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
+
      var tabToggles = $(Selector.DATA_TOGGLE);
+
      for (var i = 0; i < tabToggles.length; i++) {
+
        var elem = tabToggles[i];
+
        var selector = Util.getSelectorFromElement(elem);
+
        if (selector !== null && $(selector).filter(element).length > 0) {
+
          this._triggerArray.push(elem);
+
        }
+
      }
+
 
+
      this._parent = this._config.parent ? this._getParent() : null;
+
 
+
      if (!this._config.parent) {
+
        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+
      }
+
 
+
      if (this._config.toggle) {
+
        this.toggle();
+
      }
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    Collapse.prototype.toggle = function toggle() {
+
      if ($(this._element).hasClass(ClassName.SHOW)) {
+
        this.hide();
+
      } else {
+
        this.show();
+
      }
+
    };
+
 
+
    Collapse.prototype.show = function show() {
+
      var _this6 = this;
+
 
+
      if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
+
        return;
+
      }
+
 
+
      var actives = void 0;
+
      var activesData = void 0;
+
 
+
      if (this._parent) {
+
        actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
+
        if (!actives.length) {
+
          actives = null;
+
        }
+
      }
+
 
+
      if (actives) {
+
        activesData = $(actives).data(DATA_KEY);
+
        if (activesData && activesData._isTransitioning) {
+
          return;
+
        }
+
      }
+
 
+
      var startEvent = $.Event(Event.SHOW);
+
      $(this._element).trigger(startEvent);
+
      if (startEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      if (actives) {
+
        Collapse._jQueryInterface.call($(actives), 'hide');
+
        if (!activesData) {
+
          $(actives).data(DATA_KEY, null);
+
        }
+
      }
+
 
+
      var dimension = this._getDimension();
+
 
+
      $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+
 
+
      this._element.style[dimension] = 0;
+
 
+
      if (this._triggerArray.length) {
+
        $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+
      }
+
 
+
      this.setTransitioning(true);
+
 
+
      var complete = function complete() {
+
        $(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+
 
+
        _this6._element.style[dimension] = '';
+
 
+
        _this6.setTransitioning(false);
+
 
+
        $(_this6._element).trigger(Event.SHOWN);
+
      };
+
 
+
      if (!Util.supportsTransitionEnd()) {
+
        complete();
+
        return;
+
      }
+
 
+
      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+
      var scrollSize = 'scroll' + capitalizedDimension;
+
 
+
      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+
 
+
      this._element.style[dimension] = this._element[scrollSize] + 'px';
+
    };
+
 
+
    Collapse.prototype.hide = function hide() {
+
      var _this7 = this;
+
 
+
      if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
+
        return;
+
      }
+
 
+
      var startEvent = $.Event(Event.HIDE);
+
      $(this._element).trigger(startEvent);
+
      if (startEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      var dimension = this._getDimension();
+
 
+
      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + 'px';
+
 
+
      Util.reflow(this._element);
+
 
+
      $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+
 
+
      if (this._triggerArray.length) {
+
        for (var i = 0; i < this._triggerArray.length; i++) {
+
          var trigger = this._triggerArray[i];
+
          var selector = Util.getSelectorFromElement(trigger);
+
          if (selector !== null) {
+
            var $elem = $(selector);
+
            if (!$elem.hasClass(ClassName.SHOW)) {
+
              $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+
            }
+
          }
+
        }
+
      }
+
 
+
      this.setTransitioning(true);
+
 
+
      var complete = function complete() {
+
        _this7.setTransitioning(false);
+
        $(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+
      };
+
 
+
      this._element.style[dimension] = '';
+
 
+
      if (!Util.supportsTransitionEnd()) {
+
        complete();
+
        return;
+
      }
+
 
+
      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+
    };
+
 
+
    Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
+
      this._isTransitioning = isTransitioning;
+
    };
+
 
+
    Collapse.prototype.dispose = function dispose() {
+
      $.removeData(this._element, DATA_KEY);
+
 
+
      this._config = null;
+
      this._parent = null;
+
      this._element = null;
+
      this._triggerArray = null;
+
      this._isTransitioning = null;
+
    };
+
 
+
    // private
+
 
+
    Collapse.prototype._getConfig = function _getConfig(config) {
+
      config = $.extend({}, Default, config);
+
      config.toggle = Boolean(config.toggle); // coerce string values
+
      Util.typeCheckConfig(NAME, config, DefaultType);
+
      return config;
+
    };
+
 
+
    Collapse.prototype._getDimension = function _getDimension() {
+
      var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
+
      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+
    };
+
 
+
    Collapse.prototype._getParent = function _getParent() {
+
      var _this8 = this;
+
 
+
      var parent = $(this._config.parent)[0];
+
      var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
+
 
+
      $(parent).find(selector).each(function (i, element) {
+
        _this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+
      });
+
 
+
      return parent;
+
    };
+
 
+
    Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+
      if (element) {
+
        var isOpen = $(element).hasClass(ClassName.SHOW);
+
 
+
        if (triggerArray.length) {
+
          $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+
        }
+
      }
+
    };
+
 
+
    // static
+
 
+
    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+
      var selector = Util.getSelectorFromElement(element);
+
      return selector ? $(selector)[0] : null;
+
    };
+
 
+
    Collapse._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var $this = $(this);
+
        var data = $this.data(DATA_KEY);
+
        var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
+
 
+
        if (!data && _config.toggle && /show|hide/.test(config)) {
+
          _config.toggle = false;
+
        }
+
 
+
        if (!data) {
+
          data = new Collapse(this, _config);
+
          $this.data(DATA_KEY, data);
+
        }
+
 
+
        if (typeof config === 'string') {
+
          if (data[config] === undefined) {
+
            throw new Error('No method named "' + config + '"');
+
          }
+
          data[config]();
+
        }
+
      });
+
    };
+
 
+
    _createClass(Collapse, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }, {
+
      key: 'Default',
+
      get: function get() {
+
        return Default;
+
      }
+
    }]);
+
 
+
    return Collapse;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Data Api implementation
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+
    if (!/input|textarea/i.test(event.target.tagName)) {
+
      event.preventDefault();
+
    }
+
 
+
    var $trigger = $(this);
+
    var selector = Util.getSelectorFromElement(this);
+
    $(selector).each(function () {
+
      var $target = $(this);
+
      var data = $target.data(DATA_KEY);
+
      var config = data ? 'toggle' : $trigger.data();
+
      Collapse._jQueryInterface.call($target, config);
+
    });
+
  });
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Collapse._jQueryInterface;
+
  $.fn[NAME].Constructor = Collapse;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Collapse._jQueryInterface;
+
  };
+
 
+
  return Collapse;
+
}(jQuery);
+
 
+
/* global Popper */
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): dropdown.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Dropdown = function ($) {
+
 
+
  /**
+
  * Check for Popper dependency
+
  * Popper - https://popper.js.org
+
  */
+
  if (typeof Popper === 'undefined') {
+
    throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+
  }
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'dropdown';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.dropdown';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var DATA_API_KEY = '.data-api';
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+
  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
+
  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+
  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
+
  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+
  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + '|' + ARROW_DOWN_KEYCODE + '|' + ESCAPE_KEYCODE);
+
 
+
  var Event = {
+
    HIDE: 'hide' + EVENT_KEY,
+
    HIDDEN: 'hidden' + EVENT_KEY,
+
    SHOW: 'show' + EVENT_KEY,
+
    SHOWN: 'shown' + EVENT_KEY,
+
    CLICK: 'click' + EVENT_KEY,
+
    CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
+
    KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY,
+
    KEYUP_DATA_API: 'keyup' + EVENT_KEY + DATA_API_KEY
+
  };
+
 
+
  var ClassName = {
+
    DISABLED: 'disabled',
+
    SHOW: 'show',
+
    DROPUP: 'dropup',
+
    MENURIGHT: 'dropdown-menu-right',
+
    MENULEFT: 'dropdown-menu-left'
+
  };
+
 
+
  var Selector = {
+
    DATA_TOGGLE: '[data-toggle="dropdown"]',
+
    FORM_CHILD: '.dropdown form',
+
    MENU: '.dropdown-menu',
+
    NAVBAR_NAV: '.navbar-nav',
+
    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
+
  };
+
 
+
  var AttachmentMap = {
+
    TOP: 'top-start',
+
    TOPEND: 'top-end',
+
    BOTTOM: 'bottom-start',
+
    BOTTOMEND: 'bottom-end'
+
  };
+
 
+
  var Default = {
+
    placement: AttachmentMap.BOTTOM,
+
    offset: 0,
+
    flip: true
+
  };
+
 
+
  var DefaultType = {
+
    placement: 'string',
+
    offset: '(number|string)',
+
    flip: 'boolean'
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Dropdown = function () {
+
    function Dropdown(element, config) {
+
      _classCallCheck(this, Dropdown);
+
 
+
      this._element = element;
+
      this._popper = null;
+
      this._config = this._getConfig(config);
+
      this._menu = this._getMenuElement();
+
      this._inNavbar = this._detectNavbar();
+
 
+
      this._addEventListeners();
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    Dropdown.prototype.toggle = function toggle() {
+
      if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+
        return;
+
      }
+
 
+
      var parent = Dropdown._getParentFromElement(this._element);
+
      var isActive = $(this._menu).hasClass(ClassName.SHOW);
+
 
+
      Dropdown._clearMenus();
+
 
+
      if (isActive) {
+
        return;
+
      }
+
 
+
      var relatedTarget = {
+
        relatedTarget: this._element
+
      };
+
      var showEvent = $.Event(Event.SHOW, relatedTarget);
+
 
+
      $(parent).trigger(showEvent);
+
 
+
      if (showEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      var element = this._element;
+
      // for dropup with alignment we use the parent as popper container
+
      if ($(parent).hasClass(ClassName.DROPUP)) {
+
        if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
+
          element = parent;
+
        }
+
      }
+
      this._popper = new Popper(element, this._menu, this._getPopperConfig());
+
 
+
      // if this is a touch-enabled device we add extra
+
      // empty mouseover listeners to the body's immediate children;
+
      // only needed because of broken event delegation on iOS
+
      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
      if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
+
        $('body').children().on('mouseover', null, $.noop);
+
      }
+
 
+
      this._element.focus();
+
      this._element.setAttribute('aria-expanded', true);
+
 
+
      $(this._menu).toggleClass(ClassName.SHOW);
+
      $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
+
    };
+
 
+
    Dropdown.prototype.dispose = function dispose() {
+
      $.removeData(this._element, DATA_KEY);
+
      $(this._element).off(EVENT_KEY);
+
      this._element = null;
+
      this._menu = null;
+
      if (this._popper !== null) {
+
        this._popper.destroy();
+
      }
+
      this._popper = null;
+
    };
+
 
+
    Dropdown.prototype.update = function update() {
+
      this._inNavbar = this._detectNavbar();
+
      if (this._popper !== null) {
+
        this._popper.scheduleUpdate();
+
      }
+
    };
+
 
+
    // private
+
 
+
    Dropdown.prototype._addEventListeners = function _addEventListeners() {
+
      var _this9 = this;
+
 
+
      $(this._element).on(Event.CLICK, function (event) {
+
        event.preventDefault();
+
        event.stopPropagation();
+
        _this9.toggle();
+
      });
+
    };
+
 
+
    Dropdown.prototype._getConfig = function _getConfig(config) {
+
      var elementData = $(this._element).data();
+
      if (elementData.placement !== undefined) {
+
        elementData.placement = AttachmentMap[elementData.placement.toUpperCase()];
+
      }
+
 
+
      config = $.extend({}, this.constructor.Default, $(this._element).data(), config);
+
 
+
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+
 
+
      return config;
+
    };
+
 
+
    Dropdown.prototype._getMenuElement = function _getMenuElement() {
+
      if (!this._menu) {
+
        var parent = Dropdown._getParentFromElement(this._element);
+
        this._menu = $(parent).find(Selector.MENU)[0];
+
      }
+
      return this._menu;
+
    };
+
 
+
    Dropdown.prototype._getPlacement = function _getPlacement() {
+
      var $parentDropdown = $(this._element).parent();
+
      var placement = this._config.placement;
+
 
+
      // Handle dropup
+
      if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {
+
        placement = AttachmentMap.TOP;
+
        if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+
          placement = AttachmentMap.TOPEND;
+
        }
+
      } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+
        placement = AttachmentMap.BOTTOMEND;
+
      }
+
      return placement;
+
    };
+
 
+
    Dropdown.prototype._detectNavbar = function _detectNavbar() {
+
      return $(this._element).closest('.navbar').length > 0;
+
    };
+
 
+
    Dropdown.prototype._getPopperConfig = function _getPopperConfig() {
+
      var popperConfig = {
+
        placement: this._getPlacement(),
+
        modifiers: {
+
          offset: {
+
            offset: this._config.offset
+
          },
+
          flip: {
+
            enabled: this._config.flip
+
          }
+
        }
+
 
+
        // Disable Popper.js for Dropdown in Navbar
+
      };if (this._inNavbar) {
+
        popperConfig.modifiers.applyStyle = {
+
          enabled: !this._inNavbar
+
        };
+
      }
+
      return popperConfig;
+
    };
+
 
+
    // static
+
 
+
    Dropdown._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var data = $(this).data(DATA_KEY);
+
        var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
+
 
+
        if (!data) {
+
          data = new Dropdown(this, _config);
+
          $(this).data(DATA_KEY, data);
+
        }
+
 
+
        if (typeof config === 'string') {
+
          if (data[config] === undefined) {
+
            throw new Error('No method named "' + config + '"');
+
          }
+
          data[config]();
+
        }
+
      });
+
    };
+
 
+
    Dropdown._clearMenus = function _clearMenus(event) {
+
      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+
        return;
+
      }
+
 
+
      var toggles = $.makeArray($(Selector.DATA_TOGGLE));
+
      for (var i = 0; i < toggles.length; i++) {
+
        var parent = Dropdown._getParentFromElement(toggles[i]);
+
        var context = $(toggles[i]).data(DATA_KEY);
+
        var relatedTarget = {
+
          relatedTarget: toggles[i]
+
        };
+
 
+
        if (!context) {
+
          continue;
+
        }
+
 
+
        var dropdownMenu = context._menu;
+
        if (!$(parent).hasClass(ClassName.SHOW)) {
+
          continue;
+
        }
+
 
+
        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
+
          continue;
+
        }
+
 
+
        var hideEvent = $.Event(Event.HIDE, relatedTarget);
+
        $(parent).trigger(hideEvent);
+
        if (hideEvent.isDefaultPrevented()) {
+
          continue;
+
        }
+
 
+
        // if this is a touch-enabled device we remove the extra
+
        // empty mouseover listeners we added for iOS support
+
        if ('ontouchstart' in document.documentElement) {
+
          $('body').children().off('mouseover', null, $.noop);
+
        }
+
 
+
        toggles[i].setAttribute('aria-expanded', 'false');
+
 
+
        $(dropdownMenu).removeClass(ClassName.SHOW);
+
        $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
+
      }
+
    };
+
 
+
    Dropdown._getParentFromElement = function _getParentFromElement(element) {
+
      var parent = void 0;
+
      var selector = Util.getSelectorFromElement(element);
+
 
+
      if (selector) {
+
        parent = $(selector)[0];
+
      }
+
 
+
      return parent || element.parentNode;
+
    };
+
 
+
    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+
      if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) {
+
        return;
+
      }
+
 
+
      event.preventDefault();
+
      event.stopPropagation();
+
 
+
      if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+
        return;
+
      }
+
 
+
      var parent = Dropdown._getParentFromElement(this);
+
      var isActive = $(parent).hasClass(ClassName.SHOW);
+
 
+
      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
+
 
+
        if (event.which === ESCAPE_KEYCODE) {
+
          var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
+
          $(toggle).trigger('focus');
+
        }
+
 
+
        $(this).trigger('click');
+
        return;
+
      }
+
 
+
      var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
+
 
+
      if (!items.length) {
+
        return;
+
      }
+
 
+
      var index = items.indexOf(event.target);
+
 
+
      if (event.which === ARROW_UP_KEYCODE && index > 0) {
+
        // up
+
        index--;
+
      }
+
 
+
      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+
        // down
+
        index++;
+
      }
+
 
+
      if (index < 0) {
+
        index = 0;
+
      }
+
 
+
      items[index].focus();
+
    };
+
 
+
    _createClass(Dropdown, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }, {
+
      key: 'Default',
+
      get: function get() {
+
        return Default;
+
      }
+
    }, {
+
      key: 'DefaultType',
+
      get: function get() {
+
        return DefaultType;
+
      }
+
    }]);
+
 
+
    return Dropdown;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Data Api implementation
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+
    event.preventDefault();
+
    event.stopPropagation();
+
    Dropdown._jQueryInterface.call($(this), 'toggle');
+
  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+
    e.stopPropagation();
+
  });
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Dropdown._jQueryInterface;
+
  $.fn[NAME].Constructor = Dropdown;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Dropdown._jQueryInterface;
+
  };
+
 
+
  return Dropdown;
+
}(jQuery);
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): modal.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Modal = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'modal';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.modal';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var DATA_API_KEY = '.data-api';
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
  var TRANSITION_DURATION = 300;
+
  var BACKDROP_TRANSITION_DURATION = 150;
+
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
 
+
  var Default = {
+
    backdrop: true,
+
    keyboard: true,
+
    focus: true,
+
    show: true
+
  };
+
 
+
  var DefaultType = {
+
    backdrop: '(boolean|string)',
+
    keyboard: 'boolean',
+
    focus: 'boolean',
+
    show: 'boolean'
+
  };
+
 
+
  var Event = {
+
    HIDE: 'hide' + EVENT_KEY,
+
    HIDDEN: 'hidden' + EVENT_KEY,
+
    SHOW: 'show' + EVENT_KEY,
+
    SHOWN: 'shown' + EVENT_KEY,
+
    FOCUSIN: 'focusin' + EVENT_KEY,
+
    RESIZE: 'resize' + EVENT_KEY,
+
    CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
+
    KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
+
    MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
+
    MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
+
    CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+
  };
+
 
+
  var ClassName = {
+
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+
    BACKDROP: 'modal-backdrop',
+
    OPEN: 'modal-open',
+
    FADE: 'fade',
+
    SHOW: 'show'
+
  };
+
 
+
  var Selector = {
+
    DIALOG: '.modal-dialog',
+
    DATA_TOGGLE: '[data-toggle="modal"]',
+
    DATA_DISMISS: '[data-dismiss="modal"]',
+
    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+
    NAVBAR_TOGGLER: '.navbar-toggler'
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Modal = function () {
+
    function Modal(element, config) {
+
      _classCallCheck(this, Modal);
+
 
+
      this._config = this._getConfig(config);
+
      this._element = element;
+
      this._dialog = $(element).find(Selector.DIALOG)[0];
+
      this._backdrop = null;
+
      this._isShown = false;
+
      this._isBodyOverflowing = false;
+
      this._ignoreBackdropClick = false;
+
      this._originalBodyPadding = 0;
+
      this._scrollbarWidth = 0;
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    Modal.prototype.toggle = function toggle(relatedTarget) {
+
      return this._isShown ? this.hide() : this.show(relatedTarget);
+
    };
+
 
+
    Modal.prototype.show = function show(relatedTarget) {
+
      var _this10 = this;
+
 
+
      if (this._isTransitioning) {
+
        return;
+
      }
+
 
+
      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+
        this._isTransitioning = true;
+
      }
+
 
+
      var showEvent = $.Event(Event.SHOW, {
+
        relatedTarget: relatedTarget
+
      });
+
 
+
      $(this._element).trigger(showEvent);
+
 
+
      if (this._isShown || showEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      this._isShown = true;
+
 
+
      this._checkScrollbar();
+
      this._setScrollbar();
+
 
+
      $(document.body).addClass(ClassName.OPEN);
+
 
+
      this._setEscapeEvent();
+
      this._setResizeEvent();
+
 
+
      $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+
        return _this10.hide(event);
+
      });
+
 
+
      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+
        $(_this10._element).one(Event.MOUSEUP_DISMISS, function (event) {
+
          if ($(event.target).is(_this10._element)) {
+
            _this10._ignoreBackdropClick = true;
+
          }
+
        });
+
      });
+
 
+
      this._showBackdrop(function () {
+
        return _this10._showElement(relatedTarget);
+
      });
+
    };
+
 
+
    Modal.prototype.hide = function hide(event) {
+
      var _this11 = this;
+
 
+
      if (event) {
+
        event.preventDefault();
+
      }
+
 
+
      if (this._isTransitioning || !this._isShown) {
+
        return;
+
      }
+
 
+
      var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
 
+
      if (transition) {
+
        this._isTransitioning = true;
+
      }
+
 
+
      var hideEvent = $.Event(Event.HIDE);
+
 
+
      $(this._element).trigger(hideEvent);
+
 
+
      if (!this._isShown || hideEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      this._isShown = false;
+
 
+
      this._setEscapeEvent();
+
      this._setResizeEvent();
+
 
+
      $(document).off(Event.FOCUSIN);
+
 
+
      $(this._element).removeClass(ClassName.SHOW);
+
 
+
      $(this._element).off(Event.CLICK_DISMISS);
+
      $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+
 
+
      if (transition) {
+
 
+
        $(this._element).one(Util.TRANSITION_END, function (event) {
+
          return _this11._hideModal(event);
+
        }).emulateTransitionEnd(TRANSITION_DURATION);
+
      } else {
+
        this._hideModal();
+
      }
+
    };
+
 
+
    Modal.prototype.dispose = function dispose() {
+
      $.removeData(this._element, DATA_KEY);
+
 
+
      $(window, document, this._element, this._backdrop).off(EVENT_KEY);
+
 
+
      this._config = null;
+
      this._element = null;
+
      this._dialog = null;
+
      this._backdrop = null;
+
      this._isShown = null;
+
      this._isBodyOverflowing = null;
+
      this._ignoreBackdropClick = null;
+
      this._scrollbarWidth = null;
+
    };
+
 
+
    Modal.prototype.handleUpdate = function handleUpdate() {
+
      this._adjustDialog();
+
    };
+
 
+
    // private
+
 
+
    Modal.prototype._getConfig = function _getConfig(config) {
+
      config = $.extend({}, Default, config);
+
      Util.typeCheckConfig(NAME, config, DefaultType);
+
      return config;
+
    };
+
 
+
    Modal.prototype._showElement = function _showElement(relatedTarget) {
+
      var _this12 = this;
+
 
+
      var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
 
+
      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+
        // don't move modals dom position
+
        document.body.appendChild(this._element);
+
      }
+
 
+
      this._element.style.display = 'block';
+
      this._element.removeAttribute('aria-hidden');
+
      this._element.scrollTop = 0;
+
 
+
      if (transition) {
+
        Util.reflow(this._element);
+
      }
+
 
+
      $(this._element).addClass(ClassName.SHOW);
+
 
+
      if (this._config.focus) {
+
        this._enforceFocus();
+
      }
+
 
+
      var shownEvent = $.Event(Event.SHOWN, {
+
        relatedTarget: relatedTarget
+
      });
+
 
+
      var transitionComplete = function transitionComplete() {
+
        if (_this12._config.focus) {
+
          _this12._element.focus();
+
        }
+
        _this12._isTransitioning = false;
+
        $(_this12._element).trigger(shownEvent);
+
      };
+
 
+
      if (transition) {
+
        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
+
      } else {
+
        transitionComplete();
+
      }
+
    };
+
 
+
    Modal.prototype._enforceFocus = function _enforceFocus() {
+
      var _this13 = this;
+
 
+
      $(document).off(Event.FOCUSIN) // guard against infinite focus loop
+
      .on(Event.FOCUSIN, function (event) {
+
        if (document !== event.target && _this13._element !== event.target && !$(_this13._element).has(event.target).length) {
+
          _this13._element.focus();
+
        }
+
      });
+
    };
+
 
+
    Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
+
      var _this14 = this;
+
 
+
      if (this._isShown && this._config.keyboard) {
+
        $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
+
          if (event.which === ESCAPE_KEYCODE) {
+
            event.preventDefault();
+
            _this14.hide();
+
          }
+
        });
+
      } else if (!this._isShown) {
+
        $(this._element).off(Event.KEYDOWN_DISMISS);
+
      }
+
    };
+
 
+
    Modal.prototype._setResizeEvent = function _setResizeEvent() {
+
      var _this15 = this;
+
 
+
      if (this._isShown) {
+
        $(window).on(Event.RESIZE, function (event) {
+
          return _this15.handleUpdate(event);
+
        });
+
      } else {
+
        $(window).off(Event.RESIZE);
+
      }
+
    };
+
 
+
    Modal.prototype._hideModal = function _hideModal() {
+
      var _this16 = this;
+
 
+
      this._element.style.display = 'none';
+
      this._element.setAttribute('aria-hidden', true);
+
      this._isTransitioning = false;
+
      this._showBackdrop(function () {
+
        $(document.body).removeClass(ClassName.OPEN);
+
        _this16._resetAdjustments();
+
        _this16._resetScrollbar();
+
        $(_this16._element).trigger(Event.HIDDEN);
+
      });
+
    };
+
 
+
    Modal.prototype._removeBackdrop = function _removeBackdrop() {
+
      if (this._backdrop) {
+
        $(this._backdrop).remove();
+
        this._backdrop = null;
+
      }
+
    };
+
 
+
    Modal.prototype._showBackdrop = function _showBackdrop(callback) {
+
      var _this17 = this;
+
 
+
      var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+
 
+
      if (this._isShown && this._config.backdrop) {
+
        var doAnimate = Util.supportsTransitionEnd() && animate;
+
 
+
        this._backdrop = document.createElement('div');
+
        this._backdrop.className = ClassName.BACKDROP;
+
 
+
        if (animate) {
+
          $(this._backdrop).addClass(animate);
+
        }
+
 
+
        $(this._backdrop).appendTo(document.body);
+
 
+
        $(this._element).on(Event.CLICK_DISMISS, function (event) {
+
          if (_this17._ignoreBackdropClick) {
+
            _this17._ignoreBackdropClick = false;
+
            return;
+
          }
+
          if (event.target !== event.currentTarget) {
+
            return;
+
          }
+
          if (_this17._config.backdrop === 'static') {
+
            _this17._element.focus();
+
          } else {
+
            _this17.hide();
+
          }
+
        });
+
 
+
        if (doAnimate) {
+
          Util.reflow(this._backdrop);
+
        }
+
 
+
        $(this._backdrop).addClass(ClassName.SHOW);
+
 
+
        if (!callback) {
+
          return;
+
        }
+
 
+
        if (!doAnimate) {
+
          callback();
+
          return;
+
        }
+
 
+
        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+
      } else if (!this._isShown && this._backdrop) {
+
        $(this._backdrop).removeClass(ClassName.SHOW);
+
 
+
        var callbackRemove = function callbackRemove() {
+
          _this17._removeBackdrop();
+
          if (callback) {
+
            callback();
+
          }
+
        };
+
 
+
        if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+
          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+
        } else {
+
          callbackRemove();
+
        }
+
      } else if (callback) {
+
        callback();
+
      }
+
    };
+
 
+
    // ----------------------------------------------------------------------
+
    // the following methods are used to handle overflowing modals
+
    // todo (fat): these should probably be refactored out of modal.js
+
    // ----------------------------------------------------------------------
+
 
+
    Modal.prototype._adjustDialog = function _adjustDialog() {
+
      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+
 
+
      if (!this._isBodyOverflowing && isModalOverflowing) {
+
        this._element.style.paddingLeft = this._scrollbarWidth + 'px';
+
      }
+
 
+
      if (this._isBodyOverflowing && !isModalOverflowing) {
+
        this._element.style.paddingRight = this._scrollbarWidth + 'px';
+
      }
+
    };
+
 
+
    Modal.prototype._resetAdjustments = function _resetAdjustments() {
+
      this._element.style.paddingLeft = '';
+
      this._element.style.paddingRight = '';
+
    };
+
 
+
    Modal.prototype._checkScrollbar = function _checkScrollbar() {
+
      this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
+
      this._scrollbarWidth = this._getScrollbarWidth();
+
    };
+
 
+
    Modal.prototype._setScrollbar = function _setScrollbar() {
+
      var _this18 = this;
+
 
+
      if (this._isBodyOverflowing) {
+
        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+
        //  while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+
 
+
        // Adjust fixed content padding
+
        $(Selector.FIXED_CONTENT).each(function (index, element) {
+
          var actualPadding = $(element)[0].style.paddingRight;
+
          var calculatedPadding = $(element).css('padding-right');
+
          $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this18._scrollbarWidth + 'px');
+
        });
+
 
+
        // Adjust navbar-toggler margin
+
        $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+
          var actualMargin = $(element)[0].style.marginRight;
+
          var calculatedMargin = $(element).css('margin-right');
+
          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this18._scrollbarWidth + 'px');
+
        });
+
 
+
        // Adjust body padding
+
        var actualPadding = document.body.style.paddingRight;
+
        var calculatedPadding = $('body').css('padding-right');
+
        $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + 'px');
+
      }
+
    };
+
 
+
    Modal.prototype._resetScrollbar = function _resetScrollbar() {
+
      // Restore fixed content padding
+
      $(Selector.FIXED_CONTENT).each(function (index, element) {
+
        var padding = $(element).data('padding-right');
+
        if (typeof padding !== 'undefined') {
+
          $(element).css('padding-right', padding).removeData('padding-right');
+
        }
+
      });
+
 
+
      // Restore navbar-toggler margin
+
      $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+
        var margin = $(element).data('margin-right');
+
        if (typeof margin !== 'undefined') {
+
          $(element).css('margin-right', margin).removeData('margin-right');
+
        }
+
      });
+
 
+
      // Restore body padding
+
      var padding = $('body').data('padding-right');
+
      if (typeof padding !== 'undefined') {
+
        $('body').css('padding-right', padding).removeData('padding-right');
+
      }
+
    };
+
 
+
    Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
+
      // thx d.walsh
+
      var scrollDiv = document.createElement('div');
+
      scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+
      document.body.appendChild(scrollDiv);
+
      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+
      document.body.removeChild(scrollDiv);
+
      return scrollbarWidth;
+
    };
+
 
+
    // static
+
 
+
    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+
      return this.each(function () {
+
        var data = $(this).data(DATA_KEY);
+
        var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
+
 
+
        if (!data) {
+
          data = new Modal(this, _config);
+
          $(this).data(DATA_KEY, data);
+
        }
+
 
+
        if (typeof config === 'string') {
+
          if (data[config] === undefined) {
+
            throw new Error('No method named "' + config + '"');
+
          }
+
          data[config](relatedTarget);
+
        } else if (_config.show) {
+
          data.show(relatedTarget);
+
        }
+
      });
+
    };
+
 
+
    _createClass(Modal, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }, {
+
      key: 'Default',
+
      get: function get() {
+
        return Default;
+
      }
+
    }]);
+
 
+
    return Modal;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Data Api implementation
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+
    var _this19 = this;
+
 
+
    var target = void 0;
+
    var selector = Util.getSelectorFromElement(this);
+
 
+
    if (selector) {
+
      target = $(selector)[0];
+
    }
+
 
+
    var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
+
 
+
    if (this.tagName === 'A' || this.tagName === 'AREA') {
+
      event.preventDefault();
+
    }
+
 
+
    var $target = $(target).one(Event.SHOW, function (showEvent) {
+
      if (showEvent.isDefaultPrevented()) {
+
        // only register focus restorer if modal will actually get shown
+
        return;
+
      }
+
 
+
      $target.one(Event.HIDDEN, function () {
+
        if ($(_this19).is(':visible')) {
+
          _this19.focus();
+
        }
+
      });
+
    });
+
 
+
    Modal._jQueryInterface.call($(target), config, this);
+
  });
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Modal._jQueryInterface;
+
  $.fn[NAME].Constructor = Modal;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Modal._jQueryInterface;
+
  };
+
 
+
  return Modal;
+
}(jQuery);
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): scrollspy.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var ScrollSpy = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'scrollspy';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.scrollspy';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var DATA_API_KEY = '.data-api';
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
 
+
  var Default = {
+
    offset: 10,
+
    method: 'auto',
+
    target: ''
+
  };
+
 
+
  var DefaultType = {
+
    offset: 'number',
+
    method: 'string',
+
    target: '(string|element)'
+
  };
+
 
+
  var Event = {
+
    ACTIVATE: 'activate' + EVENT_KEY,
+
    SCROLL: 'scroll' + EVENT_KEY,
+
    LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
+
  };
+
 
+
  var ClassName = {
+
    DROPDOWN_ITEM: 'dropdown-item',
+
    DROPDOWN_MENU: 'dropdown-menu',
+
    ACTIVE: 'active'
+
  };
+
 
+
  var Selector = {
+
    DATA_SPY: '[data-spy="scroll"]',
+
    ACTIVE: '.active',
+
    NAV_LIST_GROUP: '.nav, .list-group',
+
    NAV_LINKS: '.nav-link',
+
    LIST_ITEMS: '.list-group-item',
+
    DROPDOWN: '.dropdown',
+
    DROPDOWN_ITEMS: '.dropdown-item',
+
    DROPDOWN_TOGGLE: '.dropdown-toggle'
+
  };
+
 
+
  var OffsetMethod = {
+
    OFFSET: 'offset',
+
    POSITION: 'position'
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var ScrollSpy = function () {
+
    function ScrollSpy(element, config) {
+
      var _this20 = this;
+
 
+
      _classCallCheck(this, ScrollSpy);
+
 
+
      this._element = element;
+
      this._scrollElement = element.tagName === 'BODY' ? window : element;
+
      this._config = this._getConfig(config);
+
      this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.LIST_ITEMS + ',') + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
+
      this._offsets = [];
+
      this._targets = [];
+
      this._activeTarget = null;
+
      this._scrollHeight = 0;
+
 
+
      $(this._scrollElement).on(Event.SCROLL, function (event) {
+
        return _this20._process(event);
+
      });
+
 
+
      this.refresh();
+
      this._process();
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    ScrollSpy.prototype.refresh = function refresh() {
+
      var _this21 = this;
+
 
+
      var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
+
 
+
      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+
 
+
      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+
 
+
      this._offsets = [];
+
      this._targets = [];
+
 
+
      this._scrollHeight = this._getScrollHeight();
+
 
+
      var targets = $.makeArray($(this._selector));
+
 
+
      targets.map(function (element) {
+
        var target = void 0;
+
        var targetSelector = Util.getSelectorFromElement(element);
+
 
+
        if (targetSelector) {
+
          target = $(targetSelector)[0];
+
        }
+
 
+
        if (target) {
+
          var targetBCR = target.getBoundingClientRect();
+
          if (targetBCR.width || targetBCR.height) {
+
            // todo (fat): remove sketch reliance on jQuery position/offset
+
            return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+
          }
+
        }
+
        return null;
+
      }).filter(function (item) {
+
        return item;
+
      }).sort(function (a, b) {
+
        return a[0] - b[0];
+
      }).forEach(function (item) {
+
        _this21._offsets.push(item[0]);
+
        _this21._targets.push(item[1]);
+
      });
+
    };
+
 
+
    ScrollSpy.prototype.dispose = function dispose() {
+
      $.removeData(this._element, DATA_KEY);
+
      $(this._scrollElement).off(EVENT_KEY);
+
 
+
      this._element = null;
+
      this._scrollElement = null;
+
      this._config = null;
+
      this._selector = null;
+
      this._offsets = null;
+
      this._targets = null;
+
      this._activeTarget = null;
+
      this._scrollHeight = null;
+
    };
+
 
+
    // private
+
 
+
    ScrollSpy.prototype._getConfig = function _getConfig(config) {
+
      config = $.extend({}, Default, config);
+
 
+
      if (typeof config.target !== 'string') {
+
        var id = $(config.target).attr('id');
+
        if (!id) {
+
          id = Util.getUID(NAME);
+
          $(config.target).attr('id', id);
+
        }
+
        config.target = '#' + id;
+
      }
+
 
+
      Util.typeCheckConfig(NAME, config, DefaultType);
+
 
+
      return config;
+
    };
+
 
+
    ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
+
      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+
    };
+
 
+
    ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
+
      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+
    };
+
 
+
    ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
+
      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+
    };
+
 
+
    ScrollSpy.prototype._process = function _process() {
+
      var scrollTop = this._getScrollTop() + this._config.offset;
+
      var scrollHeight = this._getScrollHeight();
+
      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+
 
+
      if (this._scrollHeight !== scrollHeight) {
+
        this.refresh();
+
      }
+
 
+
      if (scrollTop >= maxScroll) {
+
        var target = this._targets[this._targets.length - 1];
+
 
+
        if (this._activeTarget !== target) {
+
          this._activate(target);
+
        }
+
        return;
+
      }
+
 
+
      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+
        this._activeTarget = null;
+
        this._clear();
+
        return;
+
      }
+
 
+
      for (var i = this._offsets.length; i--;) {
+
        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
+
 
+
        if (isActiveTarget) {
+
          this._activate(this._targets[i]);
+
        }
+
      }
+
    };
+
 
+
    ScrollSpy.prototype._activate = function _activate(target) {
+
      this._activeTarget = target;
+
 
+
      this._clear();
+
 
+
      var queries = this._selector.split(',');
+
      queries = queries.map(function (selector) {
+
        return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
+
      });
+
 
+
      var $link = $(queries.join(','));
+
 
+
      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
+
        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+
        $link.addClass(ClassName.ACTIVE);
+
      } else {
+
        // Set triggered link as active
+
        $link.addClass(ClassName.ACTIVE);
+
        // Set triggered links parents as active
+
        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+
        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ', ' + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE);
+
      }
+
 
+
      $(this._scrollElement).trigger(Event.ACTIVATE, {
+
        relatedTarget: target
+
      });
+
    };
+
 
+
    ScrollSpy.prototype._clear = function _clear() {
+
      $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+
    };
+
 
+
    // static
+
 
+
    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var data = $(this).data(DATA_KEY);
+
        var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
+
 
+
        if (!data) {
+
          data = new ScrollSpy(this, _config);
+
          $(this).data(DATA_KEY, data);
+
        }
+
 
+
        if (typeof config === 'string') {
+
          if (data[config] === undefined) {
+
            throw new Error('No method named "' + config + '"');
+
          }
+
          data[config]();
+
        }
+
      });
+
    };
+
 
+
    _createClass(ScrollSpy, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }, {
+
      key: 'Default',
+
      get: function get() {
+
        return Default;
+
      }
+
    }]);
+
 
+
    return ScrollSpy;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Data Api implementation
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $(window).on(Event.LOAD_DATA_API, function () {
+
    var scrollSpys = $.makeArray($(Selector.DATA_SPY));
+
 
+
    for (var i = scrollSpys.length; i--;) {
+
      var $spy = $(scrollSpys[i]);
+
      ScrollSpy._jQueryInterface.call($spy, $spy.data());
+
    }
+
  });
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = ScrollSpy._jQueryInterface;
+
  $.fn[NAME].Constructor = ScrollSpy;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return ScrollSpy._jQueryInterface;
+
  };
+
 
+
  return ScrollSpy;
+
}(jQuery);
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): tab.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Tab = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'tab';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.tab';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var DATA_API_KEY = '.data-api';
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
  var TRANSITION_DURATION = 150;
+
 
+
  var Event = {
+
    HIDE: 'hide' + EVENT_KEY,
+
    HIDDEN: 'hidden' + EVENT_KEY,
+
    SHOW: 'show' + EVENT_KEY,
+
    SHOWN: 'shown' + EVENT_KEY,
+
    CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+
  };
+
 
+
  var ClassName = {
+
    DROPDOWN_MENU: 'dropdown-menu',
+
    ACTIVE: 'active',
+
    DISABLED: 'disabled',
+
    FADE: 'fade',
+
    SHOW: 'show'
+
  };
+
 
+
  var Selector = {
+
    DROPDOWN: '.dropdown',
+
    NAV_LIST_GROUP: '.nav, .list-group',
+
    ACTIVE: '.active',
+
    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
+
    DROPDOWN_TOGGLE: '.dropdown-toggle',
+
    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Tab = function () {
+
    function Tab(element) {
+
      _classCallCheck(this, Tab);
+
 
+
      this._element = element;
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    Tab.prototype.show = function show() {
+
      var _this22 = this;
+
 
+
      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
+
        return;
+
      }
+
 
+
      var target = void 0;
+
      var previous = void 0;
+
      var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
+
      var selector = Util.getSelectorFromElement(this._element);
+
 
+
      if (listElement) {
+
        previous = $.makeArray($(listElement).find(Selector.ACTIVE));
+
        previous = previous[previous.length - 1];
+
      }
+
 
+
      var hideEvent = $.Event(Event.HIDE, {
+
        relatedTarget: this._element
+
      });
+
 
+
      var showEvent = $.Event(Event.SHOW, {
+
        relatedTarget: previous
+
      });
+
 
+
      if (previous) {
+
        $(previous).trigger(hideEvent);
+
      }
+
 
+
      $(this._element).trigger(showEvent);
+
 
+
      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      if (selector) {
+
        target = $(selector)[0];
+
      }
+
 
+
      this._activate(this._element, listElement);
+
 
+
      var complete = function complete() {
+
        var hiddenEvent = $.Event(Event.HIDDEN, {
+
          relatedTarget: _this22._element
+
        });
+
 
+
        var shownEvent = $.Event(Event.SHOWN, {
+
          relatedTarget: previous
+
        });
+
 
+
        $(previous).trigger(hiddenEvent);
+
        $(_this22._element).trigger(shownEvent);
+
      };
+
 
+
      if (target) {
+
        this._activate(target, target.parentNode, complete);
+
      } else {
+
        complete();
+
      }
+
    };
+
 
+
    Tab.prototype.dispose = function dispose() {
+
      $.removeData(this._element, DATA_KEY);
+
      this._element = null;
+
    };
+
 
+
    // private
+
 
+
    Tab.prototype._activate = function _activate(element, container, callback) {
+
      var _this23 = this;
+
 
+
      var active = $(container).find(Selector.ACTIVE)[0];
+
      var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
+
 
+
      var complete = function complete() {
+
        return _this23._transitionComplete(element, active, isTransitioning, callback);
+
      };
+
 
+
      if (active && isTransitioning) {
+
        $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+
      } else {
+
        complete();
+
      }
+
 
+
      if (active) {
+
        $(active).removeClass(ClassName.SHOW);
+
      }
+
    };
+
 
+
    Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
+
      if (active) {
+
        $(active).removeClass(ClassName.ACTIVE);
+
 
+
        var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+
 
+
        if (dropdownChild) {
+
          $(dropdownChild).removeClass(ClassName.ACTIVE);
+
        }
+
 
+
        active.setAttribute('aria-expanded', false);
+
      }
+
 
+
      $(element).addClass(ClassName.ACTIVE);
+
      element.setAttribute('aria-expanded', true);
+
 
+
      if (isTransitioning) {
+
        Util.reflow(element);
+
        $(element).addClass(ClassName.SHOW);
+
      } else {
+
        $(element).removeClass(ClassName.FADE);
+
      }
+
 
+
      if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+
 
+
        var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
+
        if (dropdownElement) {
+
          $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+
        }
+
 
+
        element.setAttribute('aria-expanded', true);
+
      }
+
 
+
      if (callback) {
+
        callback();
+
      }
+
    };
+
 
+
    // static
+
 
+
    Tab._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var $this = $(this);
+
        var data = $this.data(DATA_KEY);
+
 
+
        if (!data) {
+
          data = new Tab(this);
+
          $this.data(DATA_KEY, data);
+
        }
+
 
+
        if (typeof config === 'string') {
+
          if (data[config] === undefined) {
+
            throw new Error('No method named "' + config + '"');
+
          }
+
          data[config]();
+
        }
+
      });
+
    };
+
 
+
    _createClass(Tab, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }]);
+
 
+
    return Tab;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Data Api implementation
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+
    event.preventDefault();
+
    Tab._jQueryInterface.call($(this), 'show');
+
  });
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Tab._jQueryInterface;
+
  $.fn[NAME].Constructor = Tab;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Tab._jQueryInterface;
+
  };
+
 
+
  return Tab;
+
}(jQuery);
+
 
+
/* global Popper */
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): tooltip.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Tooltip = function ($) {
+
 
+
  /**
+
  * Check for Popper dependency
+
  * Popper - https://popper.js.org
+
  */
+
  if (typeof Popper === 'undefined') {
+
    throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
+
  }
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'tooltip';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.tooltip';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
  var TRANSITION_DURATION = 150;
+
  var CLASS_PREFIX = 'bs-tooltip';
+
  var BSCLS_PREFIX_REGEX = new RegExp('(^|\\s)' + CLASS_PREFIX + '\\S+', 'g');
+
 
+
  var DefaultType = {
+
    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)'
+
  };
+
 
+
  var AttachmentMap = {
+
    AUTO: 'auto',
+
    TOP: 'top',
+
    RIGHT: 'right',
+
    BOTTOM: 'bottom',
+
    LEFT: 'left'
+
  };
+
 
+
  var Default = {
+
    animation: true,
+
    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
+
    trigger: 'hover focus',
+
    title: '',
+
    delay: 0,
+
    html: false,
+
    selector: false,
+
    placement: 'top',
+
    offset: 0,
+
    container: false,
+
    fallbackPlacement: 'flip'
+
  };
+
 
+
  var HoverState = {
+
    SHOW: 'show',
+
    OUT: 'out'
+
  };
+
 
+
  var Event = {
+
    HIDE: 'hide' + EVENT_KEY,
+
    HIDDEN: 'hidden' + EVENT_KEY,
+
    SHOW: 'show' + EVENT_KEY,
+
    SHOWN: 'shown' + EVENT_KEY,
+
    INSERTED: 'inserted' + EVENT_KEY,
+
    CLICK: 'click' + EVENT_KEY,
+
    FOCUSIN: 'focusin' + EVENT_KEY,
+
    FOCUSOUT: 'focusout' + EVENT_KEY,
+
    MOUSEENTER: 'mouseenter' + EVENT_KEY,
+
    MOUSELEAVE: 'mouseleave' + EVENT_KEY
+
  };
+
 
+
  var ClassName = {
+
    FADE: 'fade',
+
    SHOW: 'show'
+
  };
+
 
+
  var Selector = {
+
    TOOLTIP: '.tooltip',
+
    TOOLTIP_INNER: '.tooltip-inner',
+
    ARROW: '.arrow'
+
  };
+
 
+
  var Trigger = {
+
    HOVER: 'hover',
+
    FOCUS: 'focus',
+
    CLICK: 'click',
+
    MANUAL: 'manual'
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Tooltip = function () {
+
    function Tooltip(element, config) {
+
      _classCallCheck(this, Tooltip);
+
 
+
      // private
+
      this._isEnabled = true;
+
      this._timeout = 0;
+
      this._hoverState = '';
+
      this._activeTrigger = {};
+
      this._popper = null;
+
 
+
      // protected
+
      this.element = element;
+
      this.config = this._getConfig(config);
+
      this.tip = null;
+
 
+
      this._setListeners();
+
    }
+
 
+
    // getters
+
 
+
    // public
+
 
+
    Tooltip.prototype.enable = function enable() {
+
      this._isEnabled = true;
+
    };
+
 
+
    Tooltip.prototype.disable = function disable() {
+
      this._isEnabled = false;
+
    };
+
 
+
    Tooltip.prototype.toggleEnabled = function toggleEnabled() {
+
      this._isEnabled = !this._isEnabled;
+
    };
+
 
+
    Tooltip.prototype.toggle = function toggle(event) {
+
      if (event) {
+
        var dataKey = this.constructor.DATA_KEY;
+
        var context = $(event.currentTarget).data(dataKey);
+
 
+
        if (!context) {
+
          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+
          $(event.currentTarget).data(dataKey, context);
+
        }
+
 
+
        context._activeTrigger.click = !context._activeTrigger.click;
+
 
+
        if (context._isWithActiveTrigger()) {
+
          context._enter(null, context);
+
        } else {
+
          context._leave(null, context);
+
        }
+
      } else {
+
 
+
        if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
+
          this._leave(null, this);
+
          return;
+
        }
+
 
+
        this._enter(null, this);
+
      }
+
    };
+
 
+
    Tooltip.prototype.dispose = function dispose() {
+
      clearTimeout(this._timeout);
+
 
+
      $.removeData(this.element, this.constructor.DATA_KEY);
+
 
+
      $(this.element).off(this.constructor.EVENT_KEY);
+
      $(this.element).closest('.modal').off('hide.bs.modal');
+
 
+
      if (this.tip) {
+
        $(this.tip).remove();
+
      }
+
 
+
      this._isEnabled = null;
+
      this._timeout = null;
+
      this._hoverState = null;
+
      this._activeTrigger = null;
+
      if (this._popper !== null) {
+
        this._popper.destroy();
+
      }
+
      this._popper = null;
+
 
+
      this.element = null;
+
      this.config = null;
+
      this.tip = null;
+
    };
+
 
+
    Tooltip.prototype.show = function show() {
+
      var _this24 = this;
+
 
+
      if ($(this.element).css('display') === 'none') {
+
        throw new Error('Please use show on visible elements');
+
      }
+
 
+
      var showEvent = $.Event(this.constructor.Event.SHOW);
+
      if (this.isWithContent() && this._isEnabled) {
+
        $(this.element).trigger(showEvent);
+
 
+
        var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
+
 
+
        if (showEvent.isDefaultPrevented() || !isInTheDom) {
+
          return;
+
        }
+
 
+
        var tip = this.getTipElement();
+
        var tipId = Util.getUID(this.constructor.NAME);
+
 
+
        tip.setAttribute('id', tipId);
+
        this.element.setAttribute('aria-describedby', tipId);
+
 
+
        this.setContent();
+
 
+
        if (this.config.animation) {
+
          $(tip).addClass(ClassName.FADE);
+
        }
+
 
+
        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+
 
+
        var attachment = this._getAttachment(placement);
+
        this.addAttachmentClass(attachment);
+
 
+
        var container = this.config.container === false ? document.body : $(this.config.container);
+
 
+
        $(tip).data(this.constructor.DATA_KEY, this);
+
 
+
        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+
          $(tip).appendTo(container);
+
        }
+
 
+
        $(this.element).trigger(this.constructor.Event.INSERTED);
+
 
+
        this._popper = new Popper(this.element, tip, {
+
          placement: attachment,
+
          modifiers: {
+
            offset: {
+
              offset: this.config.offset
+
            },
+
            flip: {
+
              behavior: this.config.fallbackPlacement
+
            },
+
            arrow: {
+
              element: Selector.ARROW
+
            }
+
          },
+
          onCreate: function onCreate(data) {
+
            if (data.originalPlacement !== data.placement) {
+
              _this24._handlePopperPlacementChange(data);
+
            }
+
          },
+
          onUpdate: function onUpdate(data) {
+
            _this24._handlePopperPlacementChange(data);
+
          }
+
        });
+
 
+
        $(tip).addClass(ClassName.SHOW);
+
 
+
        // if this is a touch-enabled device we add extra
+
        // empty mouseover listeners to the body's immediate children;
+
        // only needed because of broken event delegation on iOS
+
        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
        if ('ontouchstart' in document.documentElement) {
+
          $('body').children().on('mouseover', null, $.noop);
+
        }
+
 
+
        var complete = function complete() {
+
          if (_this24.config.animation) {
+
            _this24._fixTransition();
+
          }
+
          var prevHoverState = _this24._hoverState;
+
          _this24._hoverState = null;
+
 
+
          $(_this24.element).trigger(_this24.constructor.Event.SHOWN);
+
 
+
          if (prevHoverState === HoverState.OUT) {
+
            _this24._leave(null, _this24);
+
          }
+
        };
+
 
+
        if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+
          $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
+
        } else {
+
          complete();
+
        }
+
      }
+
    };
+
 
+
    Tooltip.prototype.hide = function hide(callback) {
+
      var _this25 = this;
+
 
+
      var tip = this.getTipElement();
+
      var hideEvent = $.Event(this.constructor.Event.HIDE);
+
      var complete = function complete() {
+
        if (_this25._hoverState !== HoverState.SHOW && tip.parentNode) {
+
          tip.parentNode.removeChild(tip);
+
        }
+
 
+
        _this25._cleanTipClass();
+
        _this25.element.removeAttribute('aria-describedby');
+
        $(_this25.element).trigger(_this25.constructor.Event.HIDDEN);
+
        if (_this25._popper !== null) {
+
          _this25._popper.destroy();
+
        }
+
 
+
        if (callback) {
+
          callback();
+
        }
+
      };
+
 
+
      $(this.element).trigger(hideEvent);
+
 
+
      if (hideEvent.isDefaultPrevented()) {
+
        return;
+
      }
+
 
+
      $(tip).removeClass(ClassName.SHOW);
+
 
+
      // if this is a touch-enabled device we remove the extra
+
      // empty mouseover listeners we added for iOS support
+
      if ('ontouchstart' in document.documentElement) {
+
        $('body').children().off('mouseover', null, $.noop);
+
      }
+
 
+
      this._activeTrigger[Trigger.CLICK] = false;
+
      this._activeTrigger[Trigger.FOCUS] = false;
+
      this._activeTrigger[Trigger.HOVER] = false;
+
 
+
      if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+
 
+
        $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+
      } else {
+
        complete();
+
      }
+
 
+
      this._hoverState = '';
+
    };
+
 
+
    Tooltip.prototype.update = function update() {
+
      if (this._popper !== null) {
+
        this._popper.scheduleUpdate();
+
      }
+
    };
+
 
+
    // protected
+
 
+
    Tooltip.prototype.isWithContent = function isWithContent() {
+
      return Boolean(this.getTitle());
+
    };
+
 
+
    Tooltip.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
+
      $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+
    };
+
 
+
    Tooltip.prototype.getTipElement = function getTipElement() {
+
      return this.tip = this.tip || $(this.config.template)[0];
+
    };
+
 
+
    Tooltip.prototype.setContent = function setContent() {
+
      var $tip = $(this.getTipElement());
+
      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+
      $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
+
    };
+
 
+
    Tooltip.prototype.setElementContent = function setElementContent($element, content) {
+
      var html = this.config.html;
+
      if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
+
        // content is a DOM node or a jQuery
+
        if (html) {
+
          if (!$(content).parent().is($element)) {
+
            $element.empty().append(content);
+
          }
+
        } else {
+
          $element.text($(content).text());
+
        }
+
      } else {
+
        $element[html ? 'html' : 'text'](content);
+
      }
+
    };
+
 
+
    Tooltip.prototype.getTitle = function getTitle() {
+
      var title = this.element.getAttribute('data-original-title');
+
 
+
      if (!title) {
+
        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+
      }
+
 
+
      return title;
+
    };
+
 
+
    // private
+
 
+
    Tooltip.prototype._getAttachment = function _getAttachment(placement) {
+
      return AttachmentMap[placement.toUpperCase()];
+
    };
+
 
+
    Tooltip.prototype._setListeners = function _setListeners() {
+
      var _this26 = this;
+
 
+
      var triggers = this.config.trigger.split(' ');
+
 
+
      triggers.forEach(function (trigger) {
+
        if (trigger === 'click') {
+
          $(_this26.element).on(_this26.constructor.Event.CLICK, _this26.config.selector, function (event) {
+
            return _this26.toggle(event);
+
          });
+
        } else if (trigger !== Trigger.MANUAL) {
+
          var eventIn = trigger === Trigger.HOVER ? _this26.constructor.Event.MOUSEENTER : _this26.constructor.Event.FOCUSIN;
+
          var eventOut = trigger === Trigger.HOVER ? _this26.constructor.Event.MOUSELEAVE : _this26.constructor.Event.FOCUSOUT;
+
 
+
          $(_this26.element).on(eventIn, _this26.config.selector, function (event) {
+
            return _this26._enter(event);
+
          }).on(eventOut, _this26.config.selector, function (event) {
+
            return _this26._leave(event);
+
          });
+
        }
+
 
+
        $(_this26.element).closest('.modal').on('hide.bs.modal', function () {
+
          return _this26.hide();
+
        });
+
      });
+
 
+
      if (this.config.selector) {
+
        this.config = $.extend({}, this.config, {
+
          trigger: 'manual',
+
          selector: ''
+
        });
+
      } else {
+
        this._fixTitle();
+
      }
+
    };
+
 
+
    Tooltip.prototype._fixTitle = function _fixTitle() {
+
      var titleType = _typeof(this.element.getAttribute('data-original-title'));
+
      if (this.element.getAttribute('title') || titleType !== 'string') {
+
        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+
        this.element.setAttribute('title', '');
+
      }
+
    };
+
 
+
    Tooltip.prototype._enter = function _enter(event, context) {
+
      var dataKey = this.constructor.DATA_KEY;
+
 
+
      context = context || $(event.currentTarget).data(dataKey);
+
 
+
      if (!context) {
+
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+
        $(event.currentTarget).data(dataKey, context);
+
      }
+
 
+
      if (event) {
+
        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+
      }
+
 
+
      if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+
        context._hoverState = HoverState.SHOW;
+
        return;
+
      }
+
 
+
      clearTimeout(context._timeout);
+
 
+
      context._hoverState = HoverState.SHOW;
+
 
+
      if (!context.config.delay || !context.config.delay.show) {
+
        context.show();
+
        return;
+
      }
+
 
+
      context._timeout = setTimeout(function () {
+
        if (context._hoverState === HoverState.SHOW) {
+
          context.show();
+
        }
+
      }, context.config.delay.show);
+
    };
+
 
+
    Tooltip.prototype._leave = function _leave(event, context) {
+
      var dataKey = this.constructor.DATA_KEY;
+
 
+
      context = context || $(event.currentTarget).data(dataKey);
+
 
+
      if (!context) {
+
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+
        $(event.currentTarget).data(dataKey, context);
+
      }
+
 
+
      if (event) {
+
        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+
      }
+
 
+
      if (context._isWithActiveTrigger()) {
+
        return;
+
      }
+
 
+
      clearTimeout(context._timeout);
+
 
+
      context._hoverState = HoverState.OUT;
+
 
+
      if (!context.config.delay || !context.config.delay.hide) {
+
        context.hide();
+
        return;
+
      }
+
 
+
      context._timeout = setTimeout(function () {
+
        if (context._hoverState === HoverState.OUT) {
+
          context.hide();
+
        }
+
      }, context.config.delay.hide);
+
    };
+
 
+
    Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
+
      for (var trigger in this._activeTrigger) {
+
        if (this._activeTrigger[trigger]) {
+
          return true;
+
        }
+
      }
+
 
+
      return false;
+
    };
+
 
+
    Tooltip.prototype._getConfig = function _getConfig(config) {
+
      config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
+
 
+
      if (config.delay && typeof config.delay === 'number') {
+
        config.delay = {
+
          show: config.delay,
+
          hide: config.delay
+
        };
+
      }
+
 
+
      if (config.title && typeof config.title === 'number') {
+
        config.title = config.title.toString();
+
      }
+
 
+
      if (config.content && typeof config.content === 'number') {
+
        config.content = config.content.toString();
+
      }
+
 
+
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+
 
+
      return config;
+
    };
+
 
+
    Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
+
      var config = {};
+
 
+
      if (this.config) {
+
        for (var key in this.config) {
+
          if (this.constructor.Default[key] !== this.config[key]) {
+
            config[key] = this.config[key];
+
          }
+
        }
+
      }
+
 
+
      return config;
+
    };
+
 
+
    Tooltip.prototype._cleanTipClass = function _cleanTipClass() {
+
      var $tip = $(this.getTipElement());
+
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
      if (tabClass !== null && tabClass.length > 0) {
+
        $tip.removeClass(tabClass.join(''));
+
      }
+
    };
+
 
+
    Tooltip.prototype._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+
      this._cleanTipClass();
+
      this.addAttachmentClass(this._getAttachment(data.placement));
+
    };
+
 
+
    Tooltip.prototype._fixTransition = function _fixTransition() {
+
      var tip = this.getTipElement();
+
      var initConfigAnimation = this.config.animation;
+
      if (tip.getAttribute('x-placement') !== null) {
+
        return;
+
      }
+
      $(tip).removeClass(ClassName.FADE);
+
      this.config.animation = false;
+
      this.hide();
+
      this.show();
+
      this.config.animation = initConfigAnimation;
+
    };
+
 
+
    // static
+
 
+
    Tooltip._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var data = $(this).data(DATA_KEY);
+
        var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
+
 
+
        if (!data && /dispose|hide/.test(config)) {
+
          return;
+
        }
+
 
+
        if (!data) {
+
          data = new Tooltip(this, _config);
+
          $(this).data(DATA_KEY, data);
+
        }
+
 
+
        if (typeof config === 'string') {
+
          if (data[config] === undefined) {
+
            throw new Error('No method named "' + config + '"');
+
          }
+
          data[config]();
+
        }
+
      });
+
    };
+
 
+
    _createClass(Tooltip, null, [{
+
      key: 'VERSION',
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }, {
+
      key: 'Default',
+
      get: function get() {
+
        return Default;
+
      }
+
    }, {
+
      key: 'NAME',
+
      get: function get() {
+
        return NAME;
+
      }
+
    }, {
+
      key: 'DATA_KEY',
+
      get: function get() {
+
        return DATA_KEY;
+
      }
+
    }, {
+
      key: 'Event',
+
      get: function get() {
+
        return Event;
+
      }
+
    }, {
+
      key: 'EVENT_KEY',
+
      get: function get() {
+
        return EVENT_KEY;
+
      }
+
    }, {
+
      key: 'DefaultType',
+
      get: function get() {
+
        return DefaultType;
+
      }
+
    }]);
+
 
+
    return Tooltip;
+
  }();
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Tooltip._jQueryInterface;
+
  $.fn[NAME].Constructor = Tooltip;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Tooltip._jQueryInterface;
+
  };
+
 
+
  return Tooltip;
+
}(jQuery);
+
 
+
/**
+
* --------------------------------------------------------------------------
+
* Bootstrap (v4.0.0-beta): popover.js
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+
* --------------------------------------------------------------------------
+
*/
+
 
+
var Popover = function ($) {
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * Constants
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  var NAME = 'popover';
+
  var VERSION = '4.0.0-beta';
+
  var DATA_KEY = 'bs.popover';
+
  var EVENT_KEY = '.' + DATA_KEY;
+
  var JQUERY_NO_CONFLICT = $.fn[NAME];
+
  var CLASS_PREFIX = 'bs-popover';
+
  var BSCLS_PREFIX_REGEX = new RegExp('(^|\\s)' + CLASS_PREFIX + '\\S+', 'g');
+
 
+
  var Default = $.extend({}, Tooltip.Default, {
+
    placement: 'right',
+
    trigger: 'click',
+
    content: '',
+
    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
+
  });
+
 
+
  var DefaultType = $.extend({}, Tooltip.DefaultType, {
+
    content: '(string|element|function)'
+
  });
+
 
+
  var ClassName = {
+
    FADE: 'fade',
+
    SHOW: 'show'
+
  };
+
 
+
  var Selector = {
+
    TITLE: '.popover-header',
+
    CONTENT: '.popover-body'
+
  };
+
 
+
  var Event = {
+
    HIDE: 'hide' + EVENT_KEY,
+
    HIDDEN: 'hidden' + EVENT_KEY,
+
    SHOW: 'show' + EVENT_KEY,
+
    SHOWN: 'shown' + EVENT_KEY,
+
    INSERTED: 'inserted' + EVENT_KEY,
+
    CLICK: 'click' + EVENT_KEY,
+
    FOCUSIN: 'focusin' + EVENT_KEY,
+
    FOCUSOUT: 'focusout' + EVENT_KEY,
+
    MOUSEENTER: 'mouseenter' + EVENT_KEY,
+
    MOUSELEAVE: 'mouseleave' + EVENT_KEY
+
 
+
    /**
+
    * ------------------------------------------------------------------------
+
    * Class Definition
+
    * ------------------------------------------------------------------------
+
    */
+
 
+
  };
+
  var Popover = function (_Tooltip) {
+
    _inherits(Popover, _Tooltip);
+
 
+
    function Popover() {
+
      _classCallCheck(this, Popover);
+
 
+
      return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
+
    }
+
 
+
    // overrides
+
 
+
    Popover.prototype.isWithContent = function isWithContent() {
+
      return this.getTitle() || this._getContent();
+
    };
+
 
+
    Popover.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
+
      $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+
    };
+
 
+
    Popover.prototype.getTipElement = function getTipElement() {
+
      return this.tip = this.tip || $(this.config.template)[0];
+
    };
+
 
+
    Popover.prototype.setContent = function setContent() {
+
      var $tip = $(this.getTipElement());
+
 
+
      // we use append for html objects to maintain js events
+
      this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+
      this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
+
 
+
      $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
+
    };
+
 
+
    // private
+
 
+
    Popover.prototype._getContent = function _getContent() {
+
      return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
+
    };
+
 
+
    Popover.prototype._cleanTipClass = function _cleanTipClass() {
+
      var $tip = $(this.getTipElement());
+
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
      if (tabClass !== null && tabClass.length > 0) {
+
        $tip.removeClass(tabClass.join(''));
+
      }
+
    };
+
 
+
    // static
+
 
+
    Popover._jQueryInterface = function _jQueryInterface(config) {
+
      return this.each(function () {
+
        var data = $(this).data(DATA_KEY);
+
        var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
+
 
+
        if (!data && /destroy|hide/.test(config)) {
+
          return;
+
        }
+
 
+
        if (!data) {
+
          data = new Popover(this, _config);
+
          $(this).data(DATA_KEY, data);
+
        }
+
 
+
        if (typeof config === 'string') {
+
          if (data[config] === undefined) {
+
            throw new Error('No method named "' + config + '"');
+
          }
+
          data[config]();
+
        }
+
      });
+
    };
+
 
+
    _createClass(Popover, null, [{
+
      key: 'VERSION',
+
 
+
 
+
      // getters
+
 
+
      get: function get() {
+
        return VERSION;
+
      }
+
    }, {
+
      key: 'Default',
+
      get: function get() {
+
        return Default;
+
      }
+
    }, {
+
      key: 'NAME',
+
      get: function get() {
+
        return NAME;
+
      }
+
    }, {
+
      key: 'DATA_KEY',
+
      get: function get() {
+
        return DATA_KEY;
+
      }
+
    }, {
+
      key: 'Event',
+
      get: function get() {
+
        return Event;
+
      }
+
    }, {
+
      key: 'EVENT_KEY',
+
      get: function get() {
+
        return EVENT_KEY;
+
      }
+
    }, {
+
      key: 'DefaultType',
+
      get: function get() {
+
        return DefaultType;
+
      }
+
    }]);
+
 
+
    return Popover;
+
  }(Tooltip);
+
 
+
  /**
+
  * ------------------------------------------------------------------------
+
  * jQuery
+
  * ------------------------------------------------------------------------
+
  */
+
 
+
  $.fn[NAME] = Popover._jQueryInterface;
+
  $.fn[NAME].Constructor = Popover;
+
  $.fn[NAME].noConflict = function () {
+
    $.fn[NAME] = JQUERY_NO_CONFLICT;
+
    return Popover._jQueryInterface;
+
  };
+
 
+
  return Popover;
+
}(jQuery);
+
 
+
 
+
})();
+

Latest revision as of 09:50, 8 September 2017

/*!

* Bootstrap v4.0.0-beta (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)
*/

if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");!function(t){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]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(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)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):undefined}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(t.style[e]!==undefined)return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(Math.random()*l)}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n=e.getAttribute("data-target");n&&"#"!==n||(n=e.getAttribute("href")||"");try{return t(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+s+'".')}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-beta",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;if(t(e).removeClass(f.SHOW),!r.supportsTransitionEnd()||!t(e).hasClass(f.FADE))return void this._destroyElement(e);t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface}}(jQuery),function(t){var e="button",i="4.0.0-beta",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" blur"+s+a},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=!0,i=t(this._element).closest(c.DATA_TOGGLE)[0];if(i){var o=t(this._element).find(c.INPUT)[0];if(o){if("radio"===o.type)if(o.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var r=t(i).find(c.ACTIVE)[0];r&&t(r).removeClass(h.ACTIVE)}if(e){if(o.hasAttribute("disabled")||i.hasAttribute("disabled")||o.classList.contains("disabled")||i.classList.contains("disabled"))return;o.checked=!t(this._element).hasClass(h.ACTIVE),t(o).trigger("change")}o.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE)),e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface}}(jQuery),function(t){var e="carousel",s="4.0.0-beta",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_=500,p={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},m={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},E={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,TOUCHEND:"touchend"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},v={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"},T={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"]'},y=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(T.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){this._isSliding||this._slide(m.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){this._isSliding||this._slide(m.PREV)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(T.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.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))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(T.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(E.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?m.NEXT:m.PREV;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},p,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(E.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(E.MOUSEENTER,function(t){return e.pause(t)}).on(E.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(E.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},_+e._config.interval)}))},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(T.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===m.NEXT,i=t===m.PREV,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=t===m.PREV?-1:1,a=(o+s)%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},h.prototype._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),o=this._getItemIndex(t(this._element).find(T.ACTIVE_ITEM)[0]),r=t.Event(E.SLIDE,{relatedTarget:e,direction:n,from:o,to:i});return t(this._element).trigger(r),r},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(T.ACTIVE).removeClass(v.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(v.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(T.ACTIVE_ITEM)[0],s=this._getItemIndex(o),a=n||o&&this._getItemByDirection(e,o),l=this._getItemIndex(a),h=Boolean(this._interval),c=void 0,d=void 0,f=void 0;if(e===m.NEXT?(c=v.LEFT,d=v.NEXT,f=m.LEFT):(c=v.RIGHT,d=v.PREV,f=m.RIGHT),a&&t(a).hasClass(v.ACTIVE))return void(this._isSliding=!1);if(!this._triggerSlideEvent(a,f).isDefaultPrevented()&&o&&a){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(a);var _=t.Event(E.SLID,{relatedTarget:a,direction:f,from:s,to:l});r.supportsTransitionEnd()&&t(this._element).hasClass(v.SLIDE)?(t(a).addClass(d),r.reflow(a),t(o).addClass(c),t(a).addClass(c),t(o).one(r.TRANSITION_END,function(){t(a).removeClass(c+" "+d).addClass(v.ACTIVE),t(o).removeClass(v.ACTIVE+" "+d+" "+c),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(_)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(v.ACTIVE),t(a).addClass(v.ACTIVE),this._isSliding=!1,t(this._element).trigger(_)),h&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},p,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(n[r]===undefined)throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(v.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return p}}]),h}();t(document).on(E.CLICK_DATA_API,T.DATA_SLIDE,y._dataApiClickHandler),t(window).on(E.LOAD_DATA_API,function(){t(T.DATA_RIDE).each(function(){var e=t(this);y._jQueryInterface.call(e,e.data())})}),t.fn[e]=y._jQueryInterface,t.fn[e].Constructor=y,t.fn[e].noConflict=function(){return t.fn[e]=c,y._jQueryInterface}}(jQuery),function(t){var e="collapse",s="4.0.0-beta",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},p={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},g={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var o=t(m.DATA_TOGGLE),s=0;s<o.length;s++){var a=o[s],h=r.getSelectorFromElement(a);null!==h&&t(h).filter(e).length>0&&this._triggerArray.push(a)}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(p.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(!this._isTransitioning&&!t(this._element).hasClass(p.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).children().children(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a))&&i._isTransitioning)){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(p.COLLAPSE).addClass(p.COLLAPSING),this._element.style[s]=0,this._triggerArray.length&&t(this._triggerArray).removeClass(p.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(p.COLLAPSING).addClass(p.COLLAPSE).addClass(p.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(p.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",r.reflow(this._element),t(this._element).addClass(p.COLLAPSING).removeClass(p.COLLAPSE).removeClass(p.SHOW),this._triggerArray.length)for(var o=0;o<this._triggerArray.length;o++){var s=this._triggerArray[o],a=r.getSelectorFromElement(s);if(null!==a){var l=t(a);l.hasClass(p.SHOW)||t(s).addClass(p.COLLAPSED).attr("aria-expanded",!1)}}this.setTransitioning(!0);var h=function(){e.setTransitioning(!1),t(e._element).removeClass(p.COLLAPSING).addClass(p.COLLAPSE).trigger(_.HIDDEN)};if(this._element.style[i]="",!r.supportsTransitionEnd())return void h();t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u)}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){return t(this._element).hasClass(g.WIDTH)?g.WIDTH:g.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(p.SHOW);n.length&&t(n).toggleClass(p.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===(void 0===e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(o[e]===undefined)throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){/input|textarea/i.test(e.target.tagName)||e.preventDefault();var n=t(this),i=r.getSelectorFromElement(this);t(i).each(function(){var e=t(this),i=e.data(a),o=i?"toggle":n.data();E._jQueryInterface.call(e,o)})}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface}}(jQuery),function(t){if("undefined"==typeof Popper)throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");var e="dropdown",s="4.0.0-beta",a="bs.dropdown",l="."+a,h=".data-api",c=t.fn[e],u=27,d=32,f=9,_=38,p=40,g=3,m=new RegExp(_+"|"+p+"|"+u),E={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,CLICK:"click"+l,CLICK_DATA_API:"click"+l+h,KEYDOWN_DATA_API:"keydown"+l+h,KEYUP_DATA_API:"keyup"+l+h},v={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left"},T={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled)"},y={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end"},A={placement:y.BOTTOM,offset:0,flip:!0},I={placement:"string",offset:"(number|string)",flip:"boolean"},C=function(){function h(t,e){n(this,h),this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}return h.prototype.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(v.DISABLED)){var e=h._getParentFromElement(this._element),n=t(this._menu).hasClass(v.SHOW);if(h._clearMenus(),!n){var i={relatedTarget:this._element},o=t.Event(E.SHOW,i);if(t(e).trigger(o),!o.isDefaultPrevented()){var r=this._element;t(e).hasClass(v.DROPUP)&&(t(this._menu).hasClass(v.MENULEFT)||t(this._menu).hasClass(v.MENURIGHT))&&(r=e),this._popper=new Popper(r,this._menu,this._getPopperConfig()),"ontouchstart"in document.documentElement&&!t(e).closest(T.NAVBAR_NAV).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(v.SHOW),t(e).toggleClass(v.SHOW).trigger(t.Event(E.SHOWN,i))}}}},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._element).off(l),this._element=null,this._menu=null,null!==this._popper&&this._popper.destroy(),this._popper=null},h.prototype.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},h.prototype._addEventListeners=function(){var e=this;t(this._element).on(E.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},h.prototype._getConfig=function(n){var i=t(this._element).data();return i.placement!==undefined&&(i.placement=y[i.placement.toUpperCase()]),n=t.extend({},this.constructor.Default,t(this._element).data(),n),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getMenuElement=function(){if(!this._menu){var e=h._getParentFromElement(this._element);this._menu=t(e).find(T.MENU)[0]}return this._menu},h.prototype._getPlacement=function(){var e=t(this._element).parent(),n=this._config.placement;return e.hasClass(v.DROPUP)||this._config.placement===y.TOP?(n=y.TOP,t(this._menu).hasClass(v.MENURIGHT)&&(n=y.TOPEND)):t(this._menu).hasClass(v.MENURIGHT)&&(n=y.BOTTOMEND),n},h.prototype._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},h.prototype._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:{offset:this._config.offset},flip:{enabled:this._config.flip}}};return this._inNavbar&&(t.modifiers.applyStyle={enabled:!this._inNavbar}),t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===(void 0===e?"undefined":i(e))?e:null;if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(n[e]===undefined)throw new Error('No method named "'+e+'"');n[e]()}})},h._clearMenus=function(e){if(!e||e.which!==g&&("keyup"!==e.type||e.which===f))for(var n=t.makeArray(t(T.DATA_TOGGLE)),i=0;i<n.length;i++){var o=h._getParentFromElement(n[i]),r=t(n[i]).data(a),s={relatedTarget:n[i]};if(r){var l=r._menu;if(t(o).hasClass(v.SHOW)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&e.which===f)&&t.contains(o,e.target))){var c=t.Event(E.HIDE,s);t(o).trigger(c),c.isDefaultPrevented()||("ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),n[i].setAttribute("aria-expanded","false"),t(l).removeClass(v.SHOW),t(o).removeClass(v.SHOW).trigger(t.Event(E.HIDDEN,s)))}}}},h._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},h._dataApiKeydownHandler=function(e){if(!(!m.test(e.which)||/button/i.test(e.target.tagName)&&e.which===d||/input|textarea/i.test(e.target.tagName)||(e.preventDefault(),e.stopPropagation(),this.disabled||t(this).hasClass(v.DISABLED)))){var n=h._getParentFromElement(this),i=t(n).hasClass(v.SHOW);if(!i&&(e.which!==u||e.which!==d)||i&&(e.which===u||e.which===d)){if(e.which===u){var o=t(n).find(T.DATA_TOGGLE)[0];t(o).trigger("focus")}return void t(this).trigger("click")}var r=t(n).find(T.VISIBLE_ITEMS).get();if(r.length){var s=r.indexOf(e.target);e.which===_&&s>0&&s--,e.which===p&&s<r.length-1&&s++,s<0&&(s=0),r[s].focus()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return A}},{key:"DefaultType",get:function(){return I}}]),h}();t(document).on(E.KEYDOWN_DATA_API,T.DATA_TOGGLE,C._dataApiKeydownHandler).on(E.KEYDOWN_DATA_API,T.MENU,C._dataApiKeydownHandler).on(E.CLICK_DATA_API+" "+E.KEYUP_DATA_API,C._clearMenus).on(E.CLICK_DATA_API,T.DATA_TOGGLE,function(e){e.preventDefault(),e.stopPropagation(),C._jQueryInterface.call(t(this),"toggle")}).on(E.CLICK_DATA_API,T.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=C._jQueryInterface,t.fn[e].Constructor=C,t.fn[e].noConflict=function(){return t.fn[e]=c,C._jQueryInterface}}(jQuery),function(t){var e="modal",s="4.0.0-beta",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},p={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},g={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(!this._isTransitioning){r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(g.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(g.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(g.MOUSEDOWN_DISMISS,function(){t(n._element).one(g.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))}},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(g.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(g.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(g.CLICK_DISMISS),t(this._dialog).off(g.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())}},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},h.prototype.handleUpdate=function(){this._adjustDialog()},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,p),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.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&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(g.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(g.FOCUSIN).on(g.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(g.KEYDOWN_DISMISS,function(t){t.which===f&&(t.preventDefault(),e.hide())}):this._isShown||t(this._element).off(g.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(g.RESIZE,function(t){return e.handleUpdate(t)}):t(window).off(g.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(g.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(g.CLICK_DISMISS,function(t){if(n._ignoreBackdropClick)return void(n._ignoreBackdropClick=!1);t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._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")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){t(E.FIXED_CONTENT).each(function(n,i){var o=t(i)[0].style.paddingRight,r=t(i).css("padding-right");t(i).data("padding-right",o).css("padding-right",parseFloat(r)+e._scrollbarWidth+"px")}),t(E.NAVBAR_TOGGLER).each(function(n,i){var o=t(i)[0].style.marginRight,r=t(i).css("margin-right");t(i).data("margin-right",o).css("margin-right",parseFloat(r)+e._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=t("body").css("padding-right");t("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},h.prototype._resetScrollbar=function(){t(E.FIXED_CONTENT).each(function(e,n){var i=t(n).data("padding-right");void 0!==i&&t(n).css("padding-right",i).removeData("padding-right")}),t(E.NAVBAR_TOGGLER).each(function(e,n){var i=t(n).data("margin-right");void 0!==i&&t(n).css("margin-right",i).removeData("margin-right")});var e=t("body").data("padding-right");void 0!==e&&t("body").css("padding-right",e).removeData("padding-right")},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===(void 0===e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(o[e]===undefined)throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();t(document).on(g.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(g.SHOW,function(e){e.isDefaultPrevented()||l.one(g.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface}}(jQuery),function(t){var e="scrollspy",s="4.0.0-beta",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},p={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},g={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+p.NAV_LINKS+","+this._config.target+" "+p.LIST_ITEMS+","+this._config.target+" "+p.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){

var e=this,n=this._scrollElement!==this._scrollElement.window?g.POSITION:g.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===g.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n=void 0,s=r.getSelectorFromElement(e);if(s&&(n=t(s)[0]),n){var a=n.getBoundingClientRect();if(a.width||a.height)return[t(n)[i]().top+o,s]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},h.prototype._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];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(this._offsets[o+1]===undefined||t<this._offsets[o+1])&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(p.DROPDOWN).find(p.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):(i.addClass(_.ACTIVE),i.parents(p.NAV_LIST_GROUP).prev(p.NAV_LINKS+", "+p.LIST_ITEMS).addClass(_.ACTIVE)),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(p.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===(void 0===e?"undefined":i(e))&&e;if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(n[e]===undefined)throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(p.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface}}(jQuery),function(t){var e="tab",i="4.0.0-beta",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.NAV_LIST_GROUP)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE)[0],a=i&&r.supportsTransitionEnd()&&s&&t(s).hasClass(d.FADE),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(o[n]===undefined)throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface}}(jQuery),function(t){if("undefined"==typeof Popper)throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");var e="tooltip",s="4.0.0-beta",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tooltip",d=new RegExp("(^|\\s)"+u+"\\S+","g"),f={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)"},_={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},p={animation:!0,template:'
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},g={SHOW:"show",OUT:"out"},m={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},E={FADE:"fade",SHOW:"show"},v={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner",ARROW:".arrow"},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},y=function(){function h(t,e){n(this,h),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()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(E.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(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},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(E.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a);this.addAttachmentClass(l);var c=!1===this.config.container?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(o).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Popper(this.element,o,{placement:l,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v.ARROW}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(o).addClass(E.SHOW),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};r.supportsTransitionEnd()&&t(this.tip).hasClass(E.FADE)?t(this.tip).one(r.TRANSITION_END,u).emulateTransitionEnd(h._TRANSITION_DURATION):u()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE),s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(E.SHOW),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(E.FADE)?t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c):s(),this._hoverState="")},h.prototype.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.addAttachmentClass=function(e){t(this.getTipElement()).addClass(u+"-"+e)},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(v.TOOLTIP_INNER),this.getTitle()),e.removeClass(E.FADE+" "+E.SHOW)},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===(void 0===n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.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},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(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",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(E.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger()){if(clearTimeout(n._timeout),n._hoverState=g.OUT,!n.config.delay||!n.config.delay.hide)return void n.hide();n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)}},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),n.title&&"number"==typeof n.title&&(n.title=n.title.toString()),n.content&&"number"==typeof n.content&&(n.content=n.content.toString()),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._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},h.prototype._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(d);null!==n&&n.length>0&&e.removeClass(n.join(""))},h.prototype._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},h.prototype._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(E.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===(void 0===e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(n[e]===undefined)throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return p}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return m}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=y._jQueryInterface,t.fn[e].Constructor=y,t.fn[e].noConflict=function(){return t.fn[e]=h,y._jQueryInterface},y}(jQuery));!function(r){var a="popover",l="4.0.0-beta",h="bs.popover",c="."+h,u=r.fn[a],d="bs-popover",f=new RegExp("(^|\\s)"+d+"\\S+","g"),_=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'

'}),p=r.extend({},s.DefaultType,{content:"(string|element|function)"}),g={FADE:"fade",SHOW:"show"},m={TITLE:".popover-header",CONTENT:".popover-body"},E={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},v=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.addAttachmentClass=function(t){r(this.getTipElement()).addClass(d+"-"+t)},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(m.TITLE),this.getTitle()),this.setElementContent(t.find(m.CONTENT),this._getContent()),t.removeClass(g.FADE+" "+g.SHOW)},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u.prototype._cleanTipClass=function(){var t=r(this.getTipElement()),e=t.attr("class").match(f);null!==e&&e.length>0&&t.removeClass(e.join(""))},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===(void 0===t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(e[t]===undefined)throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return _}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return E}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return p}}]),u}(s);r.fn[a]=v._jQueryInterface,r.fn[a].Constructor=v,r.fn[a].noConflict=function(){return r.fn[a]=u,v._jQueryInterface}}(jQuery)}();