From 787a18ea4e46f8221f0f76f7f5d9aa5457482572 Mon Sep 17 00:00:00 2001 From: Carson Date: Thu, 15 Apr 2021 10:37:05 -0500 Subject: [PATCH] Port https://github.com/twbs/bootstrap/pull/33649 into 4.6.0 --- R/sysdata.rda | Bin 81774 -> 82109 bytes inst/lib/bs/dist/js/bootstrap.bundle.min.js | 2 +- .../bs/dist/js/bootstrap.bundle.min.js.map | 2 +- tools/patches/023-li-dropdown-item-bs4.patch | 21 ++++++++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 tools/patches/023-li-dropdown-item-bs4.patch diff --git a/R/sysdata.rda b/R/sysdata.rda index 9f0345c66fdca98b4c6ac2105edbe0e7b73ea12d..3aa443b197272639d167d6ded763402a7676bebd 100644 GIT binary patch literal 82109 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
)5i~tk+mRIg7b+d$2yBAH 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 literal 81774 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 I1WHCWFrzmdxBvhE diff --git a/inst/lib/bs/dist/js/bootstrap.bundle.min.js b/inst/lib/bs/dist/js/bootstrap.bundle.min.js index 7961bdaf8..a9eb3db16 100644 --- a/inst/lib/bs/dist/js/bootstrap.bundle.min.js +++ b/inst/lib/bs/dist/js/bootstrap.bundle.min.js @@ -3,5 +3,5 @@ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery)}(this,(function(t,e){"use strict";function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=n(e);function o(t,e){for(var n=0;n=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};l.jQueryDetection(),i.default.fn.emulateTransitionEnd=s,i.default.event.special[l.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(i.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var u="alert",f=i.default.fn[u],d=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){i.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=l.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=i.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=i.default.Event("close.bs.alert");return i.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(i.default(t).removeClass("show"),i.default(t).hasClass("fade")){var n=l.getTransitionDurationFromElement(t);i.default(t).one(l.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){i.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.alert");o||(o=new t(this),n.data("bs.alert",o)),"close"===e&&o[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();i.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',d._handleDismiss(new d)),i.default.fn[u]=d._jQueryInterface,i.default.fn[u].Constructor=d,i.default.fn[u].noConflict=function(){return i.default.fn[u]=f,d._jQueryInterface};var c=i.default.fn.button,h=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=i.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var r=n.querySelector(".active");r&&i.default(r).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||i.default(o).trigger("change")),o.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&i.default(this._element).toggleClass("active"))},e.dispose=function(){i.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var o=i.default(this),r=o.data("bs.button");r||(r=new t(this),o.data("bs.button",r)),r.shouldAvoidTriggerChange=n,"toggle"===e&&r[e]()}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();i.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(i.default(e).hasClass("btn")||(e=i.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var o=e.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||h._jQueryInterface.call(i.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=i.default(t.target).closest(".btn")[0];i.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),i.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=i.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(l.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)i.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var o=t>n?"next":"prev";this._slide(o,this._items[t])}},e.dispose=function(){i.default(this._element).off(m),i.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=a({},v,t),l.typeCheckConfig(p,t,_),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&i.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&i.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};i.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(i.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),i.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(i.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),i.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),i.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var a=(o+("prev"===t?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),r=i.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:o,to:n});return i.default(this._element).trigger(r),r},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));i.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&i.default(n).addClass("active")}},e._updateInterval=function(){var t=this._activeElement||this._element.querySelector(".active.carousel-item");if(t){var e=parseInt(t.getAttribute("data-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}},e._slide=function(t,e){var n,o,r,a=this,s=this._element.querySelector(".active.carousel-item"),u=this._getItemIndex(s),f=e||s&&this._getItemByDirection(t,s),d=this._getItemIndex(f),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",o="carousel-item-next",r="left"):(n="carousel-item-right",o="carousel-item-prev",r="right"),f&&i.default(f).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(f,r).isDefaultPrevented()&&s&&f){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(f),this._activeElement=f;var h=i.default.Event("slid.bs.carousel",{relatedTarget:f,direction:r,from:u,to:d});if(i.default(this._element).hasClass("slide")){i.default(f).addClass(o),l.reflow(f),i.default(s).addClass(n),i.default(f).addClass(n);var p=l.getTransitionDurationFromElement(s);i.default(s).one(l.TRANSITION_END,(function(){i.default(f).removeClass(n+" "+o).addClass("active"),i.default(s).removeClass("active "+o+" "+n),a._isSliding=!1,setTimeout((function(){return i.default(a._element).trigger(h)}),0)})).emulateTransitionEnd(p)}else i.default(s).removeClass("active"),i.default(f).addClass("active"),this._isSliding=!1,i.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.carousel"),o=a({},v,i.default(this).data());"object"==typeof e&&(o=a({},o,e));var r="string"==typeof e?e:o.slide;if(n||(n=new t(this,o),i.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if("undefined"==typeof n[r])throw new TypeError('No method named "'+r+'"');n[r]()}else o.interval&&o.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=l.getSelectorFromElement(this);if(n){var o=i.default(n)[0];if(o&&i.default(o).hasClass("carousel")){var r=a({},i.default(o).data(),i.default(this).data()),s=this.getAttribute("data-slide-to");s&&(r.interval=!1),t._jQueryInterface.call(i.default(o),r),s&&i.default(o).data("bs.carousel").to(s),e.preventDefault()}}},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return v}}]),t}();i.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",y._dataApiClickHandler),i.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e0&&(this._selector=a,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){i.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,o=this;if(!this._isTransitioning&&!i.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=i.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var r=i.default.Event("show.bs.collapse");if(i.default(this._element).trigger(r),!r.isDefaultPrevented()){e&&(t._jQueryInterface.call(i.default(e).not(this._selector),"hide"),n||i.default(e).data("bs.collapse",null));var a=this._getDimension();i.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[a]=0,this._triggerArray.length&&i.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var s="scroll"+(a[0].toUpperCase()+a.slice(1)),u=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,(function(){i.default(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[a]="",o.setTransitioning(!1),i.default(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(u),this._element.style[a]=this._element[s]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&i.default(this._element).hasClass("show")){var e=i.default.Event("hide.bs.collapse");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",l.reflow(this._element),i.default(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var r=0;r=0)return 1;return 0}();var k=D&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),N))}};function A(t){return t&&"[object Function]"==={}.toString.call(t)}function I(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function O(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function x(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=I(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:x(O(t))}function j(t){return t&&t.referenceNode?t.referenceNode:t}var L=D&&!(!window.MSInputMethodContext||!document.documentMode),P=D&&/MSIE 10/.test(navigator.userAgent);function F(t){return 11===t?L:10===t?P:L||P}function R(t){if(!t)return document.documentElement;for(var e=F(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===I(n,"position")?R(n):n:t?t.ownerDocument.documentElement:document.documentElement}function H(t){return null!==t.parentNode?H(t.parentNode):t}function M(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a,s,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&R(a.firstElementChild)!==a?R(l):l;var u=H(t);return u.host?M(u.host,e):M(t,H(e).host)}function q(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function B(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=q(e,"top"),o=q(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function Q(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function W(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],F(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function U(t){var e=t.body,n=t.documentElement,i=F(10)&&getComputedStyle(n);return{height:W("Height",e,n,i),width:W("Width",e,n,i)}}var V=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Y=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=F(10),o="HTML"===e.nodeName,r=G(t),a=G(e),s=x(t),l=I(e),u=parseFloat(l.borderTopWidth),f=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var d=K({top:r.top-a.top-u,left:r.left-a.left-f,width:r.width,height:r.height});if(d.marginTop=0,d.marginLeft=0,!i&&o){var c=parseFloat(l.marginTop),h=parseFloat(l.marginLeft);d.top-=u-c,d.bottom-=u-c,d.left-=f-h,d.right-=f-h,d.marginTop=c,d.marginLeft=h}return(i&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(d=B(d,e)),d}function J(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=$(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:q(n),s=e?0:q(n,"left"),l={top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:o,height:r};return K(l)}function Z(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===I(t,"position"))return!0;var n=O(t);return!!n&&Z(n)}function tt(t){if(!t||!t.parentElement||F())return document.documentElement;for(var e=t.parentElement;e&&"none"===I(e,"transform");)e=e.parentElement;return e||document.documentElement}function et(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},a=o?tt(t):M(t,j(e));if("viewport"===i)r=J(a,o);else{var s=void 0;"scrollParent"===i?"BODY"===(s=x(O(e))).nodeName&&(s=t.ownerDocument.documentElement):s="window"===i?t.ownerDocument.documentElement:i;var l=$(s,a,o);if("HTML"!==s.nodeName||Z(a))r=l;else{var u=U(t.ownerDocument),f=u.height,d=u.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=d+l.left}}var c="number"==typeof(n=n||0);return r.left+=c?n:n.left||0,r.top+=c?n:n.top||0,r.right-=c?n:n.right||0,r.bottom-=c?n:n.bottom||0,r}function nt(t){return t.width*t.height}function it(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=et(n,i,r,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return X({key:t},s[t],{area:nt(s[t])})})).sort((function(t,e){return e.area-t.area})),u=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),f=u.length>0?u[0].key:l[0].key,d=t.split("-")[1];return f+(d?"-"+d:"")}function ot(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?tt(e):M(e,j(n));return $(n,o,i)}function rt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function at(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function st(t,e,n){n=n.split("-")[0];var i=rt(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),a=r?"top":"left",s=r?"left":"top",l=r?"height":"width",u=r?"width":"height";return o[a]=e[a]+e[l]/2-i[l]/2,o[s]=n===s?e[s]-i[u]:e[at(s)],o}function lt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ut(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=lt(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&A(n)&&(e.offsets.popper=K(e.offsets.popper),e.offsets.reference=K(e.offsets.reference),e=n(e,t))})),e}function ft(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=ot(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=it(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=st(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ut(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function dt(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function ct(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Tt.indexOf(t),i=Tt.slice(n+1).concat(Tt.slice(0,n));return e?i.reverse():i}var St="flip",Dt="clockwise",Nt="counterclockwise";function kt(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),a=t.split(/(\+|\-)/).map((function(t){return t.trim()})),s=a.indexOf(lt(a,(function(t){return-1!==t.search(/,|\s/)})));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,u=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return(u=u.map((function(t,i){var o=(1===i?!r:r)?"height":"width",a=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],a=o[2];if(!r)return t;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}return K(s)[e]/100*r}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){_t(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var At={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",u=s?"width":"height",f={start:z({},l,r[l]),end:z({},l,r[l]+r[u]-a[u])};t.offsets.popper=X({},a,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,a=o.reference,s=i.split("-")[0],l=void 0;return l=_t(+n)?[+n,0]:kt(n,r,a,s),"left"===s?(r.top+=l[0],r.left-=l[1]):"right"===s?(r.top+=l[0],r.left+=l[1]):"top"===s?(r.left+=l[0],r.top-=l[1]):"bottom"===s&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||R(t.instance.popper);t.instance.reference===n&&(n=R(n));var i=ct("transform"),o=t.instance.popper.style,r=o.top,a=o.left,s=o[i];o.top="",o.left="",o[i]="";var l=et(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=a,o[i]=s,e.boundaries=l;var u=e.priority,f=t.offsets.popper,d={primary:function(t){var n=f[t];return f[t]l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),z({},n,i)}};return u.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=X({},f,d[e](t))})),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",u=a?"width":"height";return n[s]r(i[s])&&(t.offsets.popper[l]=r(i[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!wt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,a=r.popper,s=r.reference,l=-1!==["left","right"].indexOf(o),u=l?"height":"width",f=l?"Top":"Left",d=f.toLowerCase(),c=l?"left":"top",h=l?"bottom":"right",p=rt(i)[u];s[h]-pa[h]&&(t.offsets.popper[d]+=s[d]+p-a[h]),t.offsets.popper=K(t.offsets.popper);var m=s[d]+s[u]/2-p/2,g=I(t.instance.popper),v=parseFloat(g["margin"+f]),_=parseFloat(g["border"+f+"Width"]),b=m-t.offsets.popper[d]-v-_;return b=Math.max(Math.min(a[u]-p,b),0),t.arrowElement=i,t.offsets.arrow=(z(n={},d,Math.round(b)),z(n,c,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(dt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=et(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=at(i),r=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case St:a=[i,o];break;case Dt:a=Ct(i);break;case Nt:a=Ct(i,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(i!==s||a.length===l+1)return t;i=t.placement.split("-")[0],o=at(i);var u=t.offsets.popper,f=t.offsets.reference,d=Math.floor,c="left"===i&&d(u.right)>d(f.left)||"right"===i&&d(u.left)d(f.top)||"bottom"===i&&d(u.top)d(n.right),m=d(u.top)d(n.bottom),v="left"===i&&h||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&h||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&h||!_&&"start"===r&&g||!_&&"end"===r&&m),w=b||y;(c||v||w)&&(t.flipped=!0,(c||v)&&(i=a[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=X({},t.offsets.popper,st(t.instance.popper,t.offsets.reference,t.placement)),t=ut(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=r[n]-(s?o[a?"width":"height"]:0),t.placement=at(e),t.offsets.popper=K(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!wt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=lt(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};V(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=k(this.update.bind(this)),this.options=X({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(X({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=X({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return X({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&A(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Y(t,[{key:"update",value:function(){return ft.call(this)}},{key:"destroy",value:function(){return ht.call(this)}},{key:"enableEventListeners",value:function(){return gt.call(this)}},{key:"disableEventListeners",value:function(){return vt.call(this)}}]),t}();It.Utils=("undefined"!=typeof window?window:global).PopperUtils,It.placements=Et,It.Defaults=At;var Ot="dropdown",xt=i.default.fn[Ot],jt=new RegExp("38|40|27"),Lt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Pt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Ft=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!i.default(this._element).hasClass("disabled")){var e=i.default(this._menu).hasClass("show");t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||i.default(this._element).hasClass("disabled")||i.default(this._menu).hasClass("show"))){var n={relatedTarget:this._element},o=i.default.Event("show.bs.dropdown",n),r=t._getParentFromElement(this._element);if(i.default(r).trigger(o),!o.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof It)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");var a=this._element;"parent"===this._config.reference?a=r:l.isElement(this._config.reference)&&(a=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(a=this._config.reference[0])),"scrollParent"!==this._config.boundary&&i.default(r).addClass("position-static"),this._popper=new It(a,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===i.default(r).closest(".navbar-nav").length&&i.default(document.body).children().on("mouseover",null,i.default.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),i.default(this._menu).toggleClass("show"),i.default(r).toggleClass("show").trigger(i.default.Event("shown.bs.dropdown",n))}}},e.hide=function(){if(!this._element.disabled&&!i.default(this._element).hasClass("disabled")&&i.default(this._menu).hasClass("show")){var e={relatedTarget:this._element},n=i.default.Event("hide.bs.dropdown",e),o=t._getParentFromElement(this._element);i.default(o).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),i.default(this._menu).toggleClass("show"),i.default(o).toggleClass("show").trigger(i.default.Event("hidden.bs.dropdown",e)))}},e.dispose=function(){i.default.removeData(this._element,"bs.dropdown"),i.default(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;i.default(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=a({},this.constructor.Default,i.default(this._element).data(),t),l.typeCheckConfig(Ot,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},e._getPlacement=function(){var t=i.default(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?e=i.default(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":i.default(this._menu).hasClass("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return i.default(this._element).closest(".navbar").length>0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),i.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,r=n.length;o0&&a--,40===e.which&&adocument.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var o=l.getTransitionDurationFromElement(this._dialog);i.default(this._element).off(l.TRANSITION_END),i.default(this._element).one(l.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||i.default(t._element).one(l.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,o)})).emulateTransitionEnd(o),this._element.focus()}},e._showElement=function(t){var e=this,n=i.default(this._element).hasClass("fade"),o=this._dialog?this._dialog.querySelector(".modal-body"):null;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.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),i.default(this._dialog).hasClass("modal-dialog-scrollable")&&o?o.scrollTop=0:this._element.scrollTop=0,n&&l.reflow(this._element),i.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var r=i.default.Event("shown.bs.modal",{relatedTarget:t}),a=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,i.default(e._element).trigger(r)};if(n){var s=l.getTransitionDurationFromElement(this._dialog);i.default(this._dialog).one(l.TRANSITION_END,a).emulateTransitionEnd(s)}else a()},e._enforceFocus=function(){var t=this;i.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===i.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?i.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||i.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?i.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):i.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){i.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),i.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(i.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=i.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),i.default(this._backdrop).appendTo(document.body),i.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._triggerBackdropTransition():e.hide())})),n&&l.reflow(this._backdrop),i.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var o=l.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(l.TRANSITION_END,t).emulateTransitionEnd(o)}else if(!this._isShown&&this._backdrop){i.default(this._backdrop).removeClass("show");var r=function(){e._removeBackdrop(),t&&t()};if(i.default(this._element).hasClass("fade")){var a=l.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r()}else t&&t()},e._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")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:!0,sanitizeFn:null,whiteList:Qt,popperConfig:null},Zt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},te=function(){function t(t,e){if("undefined"==typeof It)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=i.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(i.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),i.default.removeData(this.element,this.constructor.DATA_KEY),i.default(this.element).off(this.constructor.EVENT_KEY),i.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&i.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===i.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=i.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){i.default(this.element).trigger(e);var n=l.findShadowRoot(this.element),o=i.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!o)return;var r=this.getTipElement(),a=l.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&i.default(r).addClass("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);this.addAttachmentClass(u);var f=this._getContainer();i.default(r).data(this.constructor.DATA_KEY,this),i.default.contains(this.element.ownerDocument.documentElement,this.tip)||i.default(r).appendTo(f),i.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new It(this.element,r,this._getPopperConfig(u)),i.default(r).addClass("show"),i.default(r).addClass(this.config.customClass),"ontouchstart"in document.documentElement&&i.default(document.body).children().on("mouseover",null,i.default.noop);var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,i.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(i.default(this.tip).hasClass("fade")){var c=l.getTransitionDurationFromElement(this.tip);i.default(this.tip).one(l.TRANSITION_END,d).emulateTransitionEnd(c)}else d()}},e.hide=function(t){var e=this,n=this.getTipElement(),o=i.default.Event(this.constructor.Event.HIDE),r=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),i.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(i.default(this.element).trigger(o),!o.isDefaultPrevented()){if(i.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&i.default(document.body).children().off("mouseover",null,i.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,i.default(this.tip).hasClass("fade")){var a=l.getTransitionDurationFromElement(n);i.default(n).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(i.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),i.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Vt(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?i.default(e).parent().is(t)||t.empty().append(e):t.text(i.default(e).text())},e.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},e._getPopperConfig=function(t){var e=this;return a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:l.isElement(this.config.container)?i.default(this.config.container):i.default(document).find(this.config.container)},e._getAttachment=function(t){return $t[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)i.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;i.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},i.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),i.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=i.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==Kt.indexOf(t)&&delete e[t]})),"number"==typeof(t=a({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l.typeCheckConfig(Yt,t,this.constructor.DefaultType),t.sanitize&&(t.template=Vt(t.template,t.whiteList,t.sanitizeFn)),t},e._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},e._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(Xt);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(i.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tooltip"),r="object"==typeof e&&e;if((o||!/dispose|hide/.test(e))&&(o||(o=new t(this,r),n.data("bs.tooltip",o)),"string"==typeof e)){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return Jt}},{key:"NAME",get:function(){return Yt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Zt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Gt}}]),t}();i.default.fn[Yt]=te._jQueryInterface,i.default.fn[Yt].Constructor=te,i.default.fn[Yt].noConflict=function(){return i.default.fn[Yt]=zt,te._jQueryInterface};var ee="popover",ne=i.default.fn[ee],ie=new RegExp("(^|\\s)bs-popover\\S+","g"),oe=a({},te.Default,{placement:"right",trigger:"click",content:"",template:''}),re=a({},te.DefaultType,{content:"(string|element|function)"}),ae={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},se=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=o.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},a.setContent=function(){var t=i.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(ie);null!==e&&e.length>0&&t.removeClass(e.join(""))},o._jQueryInterface=function(t){return this.each((function(){var e=i.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),i.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},r(o,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return oe}},{key:"NAME",get:function(){return ee}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ae}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return re}}]),o}(te);i.default.fn[ee]=se._jQueryInterface,i.default.fn[ee].Constructor=se,i.default.fn[ee].noConflict=function(){return i.default.fn[ee]=ne,se._jQueryInterface};var le="scrollspy",ue=i.default.fn[le],fe={offset:10,method:"auto",target:""},de={offset:"number",method:"string",target:"(string|element)"},ce=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,i.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,o="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,r=l.getSelectorFromElement(t);if(r&&(e=document.querySelector(r)),e){var a=e.getBoundingClientRect();if(a.width||a.height)return[i.default(e)[n]().top+o,r]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){i.default.removeData(this._element,"bs.scrollspy"),i.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=a({},fe,"object"==typeof t&&t?t:{})).target&&l.isElement(t.target)){var e=i.default(t.target).attr("id");e||(e=l.getUID(le),i.default(t.target).attr("id",e)),t.target="#"+e}return l.typeCheckConfig(le,t,de),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=i.default.makeArray(i.default(o).find(a)))[n.length-1]}var s=i.default.Event("hide.bs.tab",{relatedTarget:this._element}),u=i.default.Event("show.bs.tab",{relatedTarget:n});if(n&&i.default(n).trigger(s),i.default(this._element).trigger(u),!u.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,o);var f=function(){var e=i.default.Event("hidden.bs.tab",{relatedTarget:t._element}),o=i.default.Event("shown.bs.tab",{relatedTarget:n});i.default(n).trigger(e),i.default(t._element).trigger(o)};e?this._activate(e,e.parentNode,f):f()}}},e.dispose=function(){i.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?i.default(e).children(".active"):i.default(e).find("> li > .active"))[0],a=n&&r&&i.default(r).hasClass("fade"),s=function(){return o._transitionComplete(t,r,n)};if(r&&a){var u=l.getTransitionDurationFromElement(r);i.default(r).removeClass("show").one(l.TRANSITION_END,s).emulateTransitionEnd(u)}else s()},e._transitionComplete=function(t,e,n){if(e){i.default(e).removeClass("active");var o=i.default(e.parentNode).find("> .dropdown-menu .active")[0];o&&i.default(o).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(i.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),l.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&i.default(t.parentNode).hasClass("dropdown-menu")){var r=i.default(t).closest(".dropdown")[0];if(r){var a=[].slice.call(r.querySelectorAll(".dropdown-toggle"));i.default(a).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tab");if(o||(o=new t(this),n.data("bs.tab",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();i.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),pe._jQueryInterface.call(i.default(this),"show")})),i.default.fn.tab=pe._jQueryInterface,i.default.fn.tab.Constructor=pe,i.default.fn.tab.noConflict=function(){return i.default.fn.tab=he,pe._jQueryInterface};var me=i.default.fn.toast,ge={animation:"boolean",autohide:"boolean",delay:"number"},ve={animation:!0,autohide:!0,delay:500},_e=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=i.default.Event("show.bs.toast");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),i.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),l.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,n).emulateTransitionEnd(o)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=i.default.Event("hide.bs.toast");i.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),i.default(this._element).off("click.dismiss.bs.toast"),i.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=a({},ve,i.default(this._element).data(),"object"==typeof t&&t?t:{}),l.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;i.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),i.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.toast");if(o||(o=new t(this,"object"==typeof e&&e),n.data("bs.toast",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e](this)}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"DefaultType",get:function(){return ge}},{key:"Default",get:function(){return ve}}]),t}();i.default.fn.toast=_e._jQueryInterface,i.default.fn.toast.Constructor=_e,i.default.fn.toast.noConflict=function(){return i.default.fn.toast=me,_e._jQueryInterface},t.Alert=d,t.Button=h,t.Carousel=y,t.Collapse=S,t.Dropdown=Ft,t.Modal=qt,t.Popover=se,t.Scrollspy=ce,t.Tab=pe,t.Toast=_e,t.Tooltip=te,t.Util=l,Object.defineProperty(t,"__esModule",{value:!0})})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery)}(this,(function(t,e){"use strict";function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=n(e);function o(t,e){for(var n=0;n=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};l.jQueryDetection(),i.default.fn.emulateTransitionEnd=s,i.default.event.special[l.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(i.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var u="alert",f=i.default.fn[u],d=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){i.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=l.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=i.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=i.default.Event("close.bs.alert");return i.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(i.default(t).removeClass("show"),i.default(t).hasClass("fade")){var n=l.getTransitionDurationFromElement(t);i.default(t).one(l.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){i.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.alert");o||(o=new t(this),n.data("bs.alert",o)),"close"===e&&o[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();i.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',d._handleDismiss(new d)),i.default.fn[u]=d._jQueryInterface,i.default.fn[u].Constructor=d,i.default.fn[u].noConflict=function(){return i.default.fn[u]=f,d._jQueryInterface};var c=i.default.fn.button,h=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=i.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var r=n.querySelector(".active");r&&i.default(r).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||i.default(o).trigger("change")),o.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&i.default(this._element).toggleClass("active"))},e.dispose=function(){i.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var o=i.default(this),r=o.data("bs.button");r||(r=new t(this),o.data("bs.button",r)),r.shouldAvoidTriggerChange=n,"toggle"===e&&r[e]()}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();i.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(i.default(e).hasClass("btn")||(e=i.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var o=e.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||h._jQueryInterface.call(i.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=i.default(t.target).closest(".btn")[0];i.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),i.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=i.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(l.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)i.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var o=t>n?"next":"prev";this._slide(o,this._items[t])}},e.dispose=function(){i.default(this._element).off(m),i.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=a({},v,t),l.typeCheckConfig(p,t,_),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&i.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&i.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};i.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(i.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),i.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(i.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),i.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),i.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var a=(o+("prev"===t?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),r=i.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:o,to:n});return i.default(this._element).trigger(r),r},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));i.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&i.default(n).addClass("active")}},e._updateInterval=function(){var t=this._activeElement||this._element.querySelector(".active.carousel-item");if(t){var e=parseInt(t.getAttribute("data-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}},e._slide=function(t,e){var n,o,r,a=this,s=this._element.querySelector(".active.carousel-item"),u=this._getItemIndex(s),f=e||s&&this._getItemByDirection(t,s),d=this._getItemIndex(f),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",o="carousel-item-next",r="left"):(n="carousel-item-right",o="carousel-item-prev",r="right"),f&&i.default(f).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(f,r).isDefaultPrevented()&&s&&f){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(f),this._activeElement=f;var h=i.default.Event("slid.bs.carousel",{relatedTarget:f,direction:r,from:u,to:d});if(i.default(this._element).hasClass("slide")){i.default(f).addClass(o),l.reflow(f),i.default(s).addClass(n),i.default(f).addClass(n);var p=l.getTransitionDurationFromElement(s);i.default(s).one(l.TRANSITION_END,(function(){i.default(f).removeClass(n+" "+o).addClass("active"),i.default(s).removeClass("active "+o+" "+n),a._isSliding=!1,setTimeout((function(){return i.default(a._element).trigger(h)}),0)})).emulateTransitionEnd(p)}else i.default(s).removeClass("active"),i.default(f).addClass("active"),this._isSliding=!1,i.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.carousel"),o=a({},v,i.default(this).data());"object"==typeof e&&(o=a({},o,e));var r="string"==typeof e?e:o.slide;if(n||(n=new t(this,o),i.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if("undefined"==typeof n[r])throw new TypeError('No method named "'+r+'"');n[r]()}else o.interval&&o.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=l.getSelectorFromElement(this);if(n){var o=i.default(n)[0];if(o&&i.default(o).hasClass("carousel")){var r=a({},i.default(o).data(),i.default(this).data()),s=this.getAttribute("data-slide-to");s&&(r.interval=!1),t._jQueryInterface.call(i.default(o),r),s&&i.default(o).data("bs.carousel").to(s),e.preventDefault()}}},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return v}}]),t}();i.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",y._dataApiClickHandler),i.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e0&&(this._selector=a,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){i.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,o=this;if(!this._isTransitioning&&!i.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=i.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var r=i.default.Event("show.bs.collapse");if(i.default(this._element).trigger(r),!r.isDefaultPrevented()){e&&(t._jQueryInterface.call(i.default(e).not(this._selector),"hide"),n||i.default(e).data("bs.collapse",null));var a=this._getDimension();i.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[a]=0,this._triggerArray.length&&i.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var s="scroll"+(a[0].toUpperCase()+a.slice(1)),u=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,(function(){i.default(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[a]="",o.setTransitioning(!1),i.default(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(u),this._element.style[a]=this._element[s]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&i.default(this._element).hasClass("show")){var e=i.default.Event("hide.bs.collapse");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",l.reflow(this._element),i.default(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var r=0;r=0)return 1;return 0}();var k=N&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),D))}};function A(t){return t&&"[object Function]"==={}.toString.call(t)}function I(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function O(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function x(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=I(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:x(O(t))}function j(t){return t&&t.referenceNode?t.referenceNode:t}var L=N&&!(!window.MSInputMethodContext||!document.documentMode),P=N&&/MSIE 10/.test(navigator.userAgent);function F(t){return 11===t?L:10===t?P:L||P}function R(t){if(!t)return document.documentElement;for(var e=F(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===I(n,"position")?R(n):n:t?t.ownerDocument.documentElement:document.documentElement}function H(t){return null!==t.parentNode?H(t.parentNode):t}function M(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a,s,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&R(a.firstElementChild)!==a?R(l):l;var u=H(t);return u.host?M(u.host,e):M(t,H(e).host)}function q(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function B(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=q(e,"top"),o=q(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function Q(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function W(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],F(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function U(t){var e=t.body,n=t.documentElement,i=F(10)&&getComputedStyle(n);return{height:W("Height",e,n,i),width:W("Width",e,n,i)}}var V=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Y=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=F(10),o="HTML"===e.nodeName,r=G(t),a=G(e),s=x(t),l=I(e),u=parseFloat(l.borderTopWidth),f=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var d=K({top:r.top-a.top-u,left:r.left-a.left-f,width:r.width,height:r.height});if(d.marginTop=0,d.marginLeft=0,!i&&o){var c=parseFloat(l.marginTop),h=parseFloat(l.marginLeft);d.top-=u-c,d.bottom-=u-c,d.left-=f-h,d.right-=f-h,d.marginTop=c,d.marginLeft=h}return(i&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(d=B(d,e)),d}function J(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=$(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:q(n),s=e?0:q(n,"left"),l={top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:o,height:r};return K(l)}function Z(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===I(t,"position"))return!0;var n=O(t);return!!n&&Z(n)}function tt(t){if(!t||!t.parentElement||F())return document.documentElement;for(var e=t.parentElement;e&&"none"===I(e,"transform");)e=e.parentElement;return e||document.documentElement}function et(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},a=o?tt(t):M(t,j(e));if("viewport"===i)r=J(a,o);else{var s=void 0;"scrollParent"===i?"BODY"===(s=x(O(e))).nodeName&&(s=t.ownerDocument.documentElement):s="window"===i?t.ownerDocument.documentElement:i;var l=$(s,a,o);if("HTML"!==s.nodeName||Z(a))r=l;else{var u=U(t.ownerDocument),f=u.height,d=u.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=d+l.left}}var c="number"==typeof(n=n||0);return r.left+=c?n:n.left||0,r.top+=c?n:n.top||0,r.right-=c?n:n.right||0,r.bottom-=c?n:n.bottom||0,r}function nt(t){return t.width*t.height}function it(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=et(n,i,r,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return X({key:t},s[t],{area:nt(s[t])})})).sort((function(t,e){return e.area-t.area})),u=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),f=u.length>0?u[0].key:l[0].key,d=t.split("-")[1];return f+(d?"-"+d:"")}function ot(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?tt(e):M(e,j(n));return $(n,o,i)}function rt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function at(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function st(t,e,n){n=n.split("-")[0];var i=rt(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),a=r?"top":"left",s=r?"left":"top",l=r?"height":"width",u=r?"width":"height";return o[a]=e[a]+e[l]/2-i[l]/2,o[s]=n===s?e[s]-i[u]:e[at(s)],o}function lt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ut(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=lt(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&A(n)&&(e.offsets.popper=K(e.offsets.popper),e.offsets.reference=K(e.offsets.reference),e=n(e,t))})),e}function ft(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=ot(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=it(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=st(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ut(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function dt(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function ct(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Tt.indexOf(t),i=Tt.slice(n+1).concat(Tt.slice(0,n));return e?i.reverse():i}var St="flip",Nt="clockwise",Dt="counterclockwise";function kt(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),a=t.split(/(\+|\-)/).map((function(t){return t.trim()})),s=a.indexOf(lt(a,(function(t){return-1!==t.search(/,|\s/)})));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,u=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return(u=u.map((function(t,i){var o=(1===i?!r:r)?"height":"width",a=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],a=o[2];if(!r)return t;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}return K(s)[e]/100*r}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){_t(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var At={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",u=s?"width":"height",f={start:z({},l,r[l]),end:z({},l,r[l]+r[u]-a[u])};t.offsets.popper=X({},a,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,a=o.reference,s=i.split("-")[0],l=void 0;return l=_t(+n)?[+n,0]:kt(n,r,a,s),"left"===s?(r.top+=l[0],r.left-=l[1]):"right"===s?(r.top+=l[0],r.left+=l[1]):"top"===s?(r.left+=l[0],r.top-=l[1]):"bottom"===s&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||R(t.instance.popper);t.instance.reference===n&&(n=R(n));var i=ct("transform"),o=t.instance.popper.style,r=o.top,a=o.left,s=o[i];o.top="",o.left="",o[i]="";var l=et(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=a,o[i]=s,e.boundaries=l;var u=e.priority,f=t.offsets.popper,d={primary:function(t){var n=f[t];return f[t]l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),z({},n,i)}};return u.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=X({},f,d[e](t))})),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",u=a?"width":"height";return n[s]r(i[s])&&(t.offsets.popper[l]=r(i[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!wt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,a=r.popper,s=r.reference,l=-1!==["left","right"].indexOf(o),u=l?"height":"width",f=l?"Top":"Left",d=f.toLowerCase(),c=l?"left":"top",h=l?"bottom":"right",p=rt(i)[u];s[h]-pa[h]&&(t.offsets.popper[d]+=s[d]+p-a[h]),t.offsets.popper=K(t.offsets.popper);var m=s[d]+s[u]/2-p/2,g=I(t.instance.popper),v=parseFloat(g["margin"+f]),_=parseFloat(g["border"+f+"Width"]),b=m-t.offsets.popper[d]-v-_;return b=Math.max(Math.min(a[u]-p,b),0),t.arrowElement=i,t.offsets.arrow=(z(n={},d,Math.round(b)),z(n,c,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(dt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=et(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=at(i),r=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case St:a=[i,o];break;case Nt:a=Ct(i);break;case Dt:a=Ct(i,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(i!==s||a.length===l+1)return t;i=t.placement.split("-")[0],o=at(i);var u=t.offsets.popper,f=t.offsets.reference,d=Math.floor,c="left"===i&&d(u.right)>d(f.left)||"right"===i&&d(u.left)d(f.top)||"bottom"===i&&d(u.top)d(n.right),m=d(u.top)d(n.bottom),v="left"===i&&h||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&h||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&h||!_&&"start"===r&&g||!_&&"end"===r&&m),w=b||y;(c||v||w)&&(t.flipped=!0,(c||v)&&(i=a[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=X({},t.offsets.popper,st(t.instance.popper,t.offsets.reference,t.placement)),t=ut(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=r[n]-(s?o[a?"width":"height"]:0),t.placement=at(e),t.offsets.popper=K(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!wt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=lt(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};V(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=k(this.update.bind(this)),this.options=X({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(X({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=X({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return X({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&A(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Y(t,[{key:"update",value:function(){return ft.call(this)}},{key:"destroy",value:function(){return ht.call(this)}},{key:"enableEventListeners",value:function(){return gt.call(this)}},{key:"disableEventListeners",value:function(){return vt.call(this)}}]),t}();It.Utils=("undefined"!=typeof window?window:global).PopperUtils,It.placements=Et,It.Defaults=At;var Ot="dropdown",xt=i.default.fn[Ot],jt=new RegExp("38|40|27"),Lt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Pt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Ft=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!i.default(this._element).hasClass("disabled")){var e=i.default(this._menu).hasClass("show");t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||i.default(this._element).hasClass("disabled")||i.default(this._menu).hasClass("show"))){var n={relatedTarget:this._element},o=i.default.Event("show.bs.dropdown",n),r=t._getParentFromElement(this._element);if(i.default(r).trigger(o),!o.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof It)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");var a=this._element;"parent"===this._config.reference?a=r:l.isElement(this._config.reference)&&(a=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(a=this._config.reference[0])),"scrollParent"!==this._config.boundary&&i.default(r).addClass("position-static"),this._popper=new It(a,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===i.default(r).closest(".navbar-nav").length&&i.default(document.body).children().on("mouseover",null,i.default.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),i.default(this._menu).toggleClass("show"),i.default(r).toggleClass("show").trigger(i.default.Event("shown.bs.dropdown",n))}}},e.hide=function(){if(!this._element.disabled&&!i.default(this._element).hasClass("disabled")&&i.default(this._menu).hasClass("show")){var e={relatedTarget:this._element},n=i.default.Event("hide.bs.dropdown",e),o=t._getParentFromElement(this._element);i.default(o).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),i.default(this._menu).toggleClass("show"),i.default(o).toggleClass("show").trigger(i.default.Event("hidden.bs.dropdown",e)))}},e.dispose=function(){i.default.removeData(this._element,"bs.dropdown"),i.default(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;i.default(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=a({},this.constructor.Default,i.default(this._element).data(),t),l.typeCheckConfig(Ot,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},e._getPlacement=function(){var t=i.default(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?e=i.default(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":i.default(this._menu).hasClass("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return i.default(this._element).closest(".navbar").length>0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),i.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,r=n.length;o0&&a--,40===e.which&&adocument.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var o=l.getTransitionDurationFromElement(this._dialog);i.default(this._element).off(l.TRANSITION_END),i.default(this._element).one(l.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||i.default(t._element).one(l.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,o)})).emulateTransitionEnd(o),this._element.focus()}},e._showElement=function(t){var e=this,n=i.default(this._element).hasClass("fade"),o=this._dialog?this._dialog.querySelector(".modal-body"):null;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.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),i.default(this._dialog).hasClass("modal-dialog-scrollable")&&o?o.scrollTop=0:this._element.scrollTop=0,n&&l.reflow(this._element),i.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var r=i.default.Event("shown.bs.modal",{relatedTarget:t}),a=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,i.default(e._element).trigger(r)};if(n){var s=l.getTransitionDurationFromElement(this._dialog);i.default(this._dialog).one(l.TRANSITION_END,a).emulateTransitionEnd(s)}else a()},e._enforceFocus=function(){var t=this;i.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===i.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?i.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||i.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?i.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):i.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){i.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),i.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(i.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=i.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),i.default(this._backdrop).appendTo(document.body),i.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._triggerBackdropTransition():e.hide())})),n&&l.reflow(this._backdrop),i.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var o=l.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(l.TRANSITION_END,t).emulateTransitionEnd(o)}else if(!this._isShown&&this._backdrop){i.default(this._backdrop).removeClass("show");var r=function(){e._removeBackdrop(),t&&t()};if(i.default(this._element).hasClass("fade")){var a=l.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r()}else t&&t()},e._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")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:!0,sanitizeFn:null,whiteList:Qt,popperConfig:null},Zt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},te=function(){function t(t,e){if("undefined"==typeof It)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=i.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(i.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),i.default.removeData(this.element,this.constructor.DATA_KEY),i.default(this.element).off(this.constructor.EVENT_KEY),i.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&i.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===i.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=i.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){i.default(this.element).trigger(e);var n=l.findShadowRoot(this.element),o=i.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!o)return;var r=this.getTipElement(),a=l.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&i.default(r).addClass("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);this.addAttachmentClass(u);var f=this._getContainer();i.default(r).data(this.constructor.DATA_KEY,this),i.default.contains(this.element.ownerDocument.documentElement,this.tip)||i.default(r).appendTo(f),i.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new It(this.element,r,this._getPopperConfig(u)),i.default(r).addClass("show"),i.default(r).addClass(this.config.customClass),"ontouchstart"in document.documentElement&&i.default(document.body).children().on("mouseover",null,i.default.noop);var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,i.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(i.default(this.tip).hasClass("fade")){var c=l.getTransitionDurationFromElement(this.tip);i.default(this.tip).one(l.TRANSITION_END,d).emulateTransitionEnd(c)}else d()}},e.hide=function(t){var e=this,n=this.getTipElement(),o=i.default.Event(this.constructor.Event.HIDE),r=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),i.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(i.default(this.element).trigger(o),!o.isDefaultPrevented()){if(i.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&i.default(document.body).children().off("mouseover",null,i.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,i.default(this.tip).hasClass("fade")){var a=l.getTransitionDurationFromElement(n);i.default(n).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(i.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),i.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Vt(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?i.default(e).parent().is(t)||t.empty().append(e):t.text(i.default(e).text())},e.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},e._getPopperConfig=function(t){var e=this;return a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:l.isElement(this.config.container)?i.default(this.config.container):i.default(document).find(this.config.container)},e._getAttachment=function(t){return $t[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)i.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;i.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},i.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),i.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=i.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==Kt.indexOf(t)&&delete e[t]})),"number"==typeof(t=a({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l.typeCheckConfig(Yt,t,this.constructor.DefaultType),t.sanitize&&(t.template=Vt(t.template,t.whiteList,t.sanitizeFn)),t},e._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},e._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(Xt);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(i.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tooltip"),r="object"==typeof e&&e;if((o||!/dispose|hide/.test(e))&&(o||(o=new t(this,r),n.data("bs.tooltip",o)),"string"==typeof e)){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return Jt}},{key:"NAME",get:function(){return Yt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Zt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Gt}}]),t}();i.default.fn[Yt]=te._jQueryInterface,i.default.fn[Yt].Constructor=te,i.default.fn[Yt].noConflict=function(){return i.default.fn[Yt]=zt,te._jQueryInterface};var ee="popover",ne=i.default.fn[ee],ie=new RegExp("(^|\\s)bs-popover\\S+","g"),oe=a({},te.Default,{placement:"right",trigger:"click",content:"",template:''}),re=a({},te.DefaultType,{content:"(string|element|function)"}),ae={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},se=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=o.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},a.setContent=function(){var t=i.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(ie);null!==e&&e.length>0&&t.removeClass(e.join(""))},o._jQueryInterface=function(t){return this.each((function(){var e=i.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),i.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},r(o,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return oe}},{key:"NAME",get:function(){return ee}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ae}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return re}}]),o}(te);i.default.fn[ee]=se._jQueryInterface,i.default.fn[ee].Constructor=se,i.default.fn[ee].noConflict=function(){return i.default.fn[ee]=ne,se._jQueryInterface};var le="scrollspy",ue=i.default.fn[le],fe={offset:10,method:"auto",target:""},de={offset:"number",method:"string",target:"(string|element)"},ce=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,i.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,o="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,r=l.getSelectorFromElement(t);if(r&&(e=document.querySelector(r)),e){var a=e.getBoundingClientRect();if(a.width||a.height)return[i.default(e)[n]().top+o,r]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){i.default.removeData(this._element,"bs.scrollspy"),i.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=a({},fe,"object"==typeof t&&t?t:{})).target&&l.isElement(t.target)){var e=i.default(t.target).attr("id");e||(e=l.getUID(le),i.default(t.target).attr("id",e)),t.target="#"+e}return l.typeCheckConfig(le,t,de),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=i.default.makeArray(i.default(o).find(a)))[n.length-1]}var s=i.default.Event("hide.bs.tab",{relatedTarget:this._element}),u=i.default.Event("show.bs.tab",{relatedTarget:n});if(n&&i.default(n).trigger(s),i.default(this._element).trigger(u),!u.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,o);var f=function(){var e=i.default.Event("hidden.bs.tab",{relatedTarget:t._element}),o=i.default.Event("shown.bs.tab",{relatedTarget:n});i.default(n).trigger(e),i.default(t._element).trigger(o)};e?this._activate(e,e.parentNode,f):f()}}},e.dispose=function(){i.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?i.default(e).children(".active"):i.default(e).find("> li > .active"))[0],a=n&&r&&i.default(r).hasClass("fade"),s=function(){return o._transitionComplete(t,r,n)};if(r&&a){var u=l.getTransitionDurationFromElement(r);i.default(r).removeClass("show").one(l.TRANSITION_END,s).emulateTransitionEnd(u)}else s()},e._transitionComplete=function(t,e,n){if(e){i.default(e).removeClass("active");var o=i.default(e.parentNode).find("> .dropdown-menu .active")[0];o&&i.default(o).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}i.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),l.reflow(t),t.classList.contains("fade")&&t.classList.add("show");var r=t.parentNode;if(r&&"LI"===r.nodeName&&(r=r.parentNode),r&&i.default(r).hasClass("dropdown-menu")){var a=i.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));i.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tab");if(o||(o=new t(this),n.data("bs.tab",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();i.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),pe._jQueryInterface.call(i.default(this),"show")})),i.default.fn.tab=pe._jQueryInterface,i.default.fn.tab.Constructor=pe,i.default.fn.tab.noConflict=function(){return i.default.fn.tab=he,pe._jQueryInterface};var me=i.default.fn.toast,ge={animation:"boolean",autohide:"boolean",delay:"number"},ve={animation:!0,autohide:!0,delay:500},_e=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=i.default.Event("show.bs.toast");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),i.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),l.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,n).emulateTransitionEnd(o)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=i.default.Event("hide.bs.toast");i.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),i.default(this._element).off("click.dismiss.bs.toast"),i.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=a({},ve,i.default(this._element).data(),"object"==typeof t&&t?t:{}),l.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;i.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),i.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.toast");if(o||(o=new t(this,"object"==typeof e&&e),n.data("bs.toast",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e](this)}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"DefaultType",get:function(){return ge}},{key:"Default",get:function(){return ve}}]),t}();i.default.fn.toast=_e._jQueryInterface,i.default.fn.toast.Constructor=_e,i.default.fn.toast.noConflict=function(){return i.default.fn.toast=me,_e._jQueryInterface},t.Alert=d,t.Button=h,t.Carousel=y,t.Collapse=S,t.Dropdown=Ft,t.Modal=qt,t.Popover=se,t.Scrollspy=ce,t.Tab=pe,t.Toast=_e,t.Tooltip=te,t.Util=l,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/inst/lib/bs/dist/js/bootstrap.bundle.min.js.map b/inst/lib/bs/dist/js/bootstrap.bundle.min.js.map index 7fcd06e5c..432d04b7b 100644 --- a/inst/lib/bs/dist/js/bootstrap.bundle.min.js.map +++ b/inst/lib/bs/dist/js/bootstrap.bundle.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["transitionEndEmulator","duration","_this","this","called","$","one","Util","TRANSITION_END","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","_","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","JQUERY_NO_CONFLICT","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","shouldAvoidTriggerChange","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","avoidTriggerChange","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_extends","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","elementInterval","parseInt","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","CLASS_NAME_ACTIVE","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","currentTarget","$trigger","selectors","$target","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","undefined","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","instance","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","assign","source","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","boundary","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","referenceElement","_getPopperConfig","noop","hideEvent","stopPropagation","constructor","_getPlacement","$parentDropdown","_getOffset","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","isModalOverflowing","scrollHeight","modalTransitionDuration","modalBody","ELEMENT_NODE","appendChild","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","container","fallbackPlacement","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","content","text","empty","append","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","join","popperData","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","$this","autohide","Toast","_clearTimeout","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (_) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, event => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n this.shouldAvoidTriggerChange = false\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $(input).trigger('change')\n }\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $element.data(DATA_KEY, data)\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($(button), 'toggle', initialButton.tagName === 'INPUT')\n }\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n const $element = $(this._element)\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($element.is(':visible') && $element.css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, event => this.pause(event))\n .on(EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, e => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, event => start(event))\n $(this._element).on(EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, event => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, event => move(event))\n $(this._element).on(EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) :\n []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$element.data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for
elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter(item => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, event => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, event => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.isDefaultPrevented()) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n $(this._element).off(Util.TRANSITION_END)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n .emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, event => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, showEvent => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
' +\n '
' +\n '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n $(tip).addClass(this.config.customClass)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, event => this._enter(event))\n .on(eventOut, this.config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
' +\n '
' +\n '

' +\n '
'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both