diff --git a/ecosystem/changelog/index.html b/ecosystem/changelog/index.html index 4dcceb139..19b51c315 100644 --- a/ecosystem/changelog/index.html +++ b/ecosystem/changelog/index.html @@ -73,7 +73,7 @@ */(()=>{var n,s,a,r,j,k,A,B,Je,ee,S,ge,he,ue,et,Ze,Qe,Ke,Ue,Fe,Me,Ae,ke,xe,nn=Object.create,me=Object.defineProperty,Dn=Object.getOwnPropertyDescriptor,En=Object.getOwnPropertyNames,On=Object.getPrototypeOf,Qt=Object.prototype.hasOwnProperty,e=(e,t)=>()=>(e&&(t=e(e=0)),t),t=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Cn=(e,t)=>{for(var n in t)me(e,n,{get:t[n],enumerable:!0})},zt=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of En(t))!Qt.call(e,o)&&o!==n&&me(e,o,{get:()=>t[o],enumerable:!(s=Dn(t,o))||s.enumerable});return e},c=(e,t,n)=>(n=e!=null?nn(On(e)):{},zt(t||!e||!e.__esModule?me(n,"default",{value:e,enumerable:!0}):n,e)),Tt=e=>zt(me({},"__esModule",{value:!0}),e),u=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s():typeof define=="function"&&define.amd?define(s):(n=typeof globalThis<"u"?globalThis:n||self,n.EventHandler=s())})(e,function(){"use strict";let f=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},j=/[^.]*(?=\..*)\.|.*/,g=/\..*/,h=/::\d+$/,e={},i=1,b={mouseenter:"mouseover",mouseleave:"mouseout"},p=/^(mouseenter|mouseleave)/i,c=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function l(e,t){return t&&`${t}::${i++}`||e.uidEvent||i++}function s(t){let n=l(t);return t.uidEvent=n,e[n]=e[n]||{},e[n]}function m(e,n){return function s(o){return o.delegateTarget=e,s.oneOff&&t.off(e,o.type,n),n.apply(e,[o])}}function u(e,n,s){return function o(i){let a=e.querySelectorAll(n);for(let{target:r}=i;r&&r!==this;r=r.parentNode)for(let c=a.length;c--;)if(a[c]===r)return i.delegateTarget=r,o.oneOff&&t.off(e,i.type,n,s),s.apply(r,[i]);return null}}function o(e,t,n=null){let s=Object.keys(e);for(let o=0,a=s.length;ofunction(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};i?i=e(i):n=e(n)}let[c,h,f]=d(t,n,i),v=s(e),b=v[f]||(v[f]={}),g=o(b,h,c?n:null);if(g){g.oneOff=g.oneOff&&a;return}let y=l(h,t.replace(j,"")),r=c?u(e,n,i):m(e,n);r.delegationSelector=c?n:null,r.originalHandler=h,r.oneOff=a,r.uidEvent=y,b[y]=r,e.addEventListener(f,r,c)}function n(e,t,n,s,i){let a=o(t[n],s,i);a&&(e.removeEventListener(n,a,!!i),delete t[n][a.uidEvent])}function v(e,t,s,o){let i=t[s]||{};Object.keys(i).forEach(a=>{if(a.includes(o)){let o=i[a];n(e,t,s,o.originalHandler,o.delegationSelector)}})}function a(e){return e=e.replace(g,""),b[e]||e}let t={on(e,t,n,s){r(e,t,n,s,!1)},one(e,t,n,s){r(e,t,n,s,!0)},off(e,t,o,i){if(typeof t!="string"||!e)return;let[u,c,r]=d(t,o,i),m=r!==t,a=s(e),f=t.startsWith(".");if(typeof c<"u"){if(!a||!a[r])return;n(e,a,r,c,u?o:null);return}f&&Object.keys(a).forEach(n=>{v(e,a,n,t.slice(1))});let l=a[r]||{};Object.keys(l).forEach(s=>{let o=s.replace(h,"");if(!m||t.includes(o)){let t=l[s];n(e,a,r,t.originalHandler,t.delegationSelector)}})},trigger(e,t,n){if(typeof t!="string"||!e)return null;let i=f(),r=a(t),h=t!==r,m=c.has(r),o,l=!0,d=!0,u=!1,s=null;return h&&i&&(o=i.Event(t,n),i(e).trigger(o),l=!o.isPropagationStopped(),d=!o.isImmediatePropagationStopped(),u=o.isDefaultPrevented()),m?(s=document.createEvent("HTMLEvents"),s.initEvent(r,l,!0)):s=new CustomEvent(t,{bubbles:l,cancelable:!0}),typeof n<"u"&&Object.keys(n).forEach(e=>{Object.defineProperty(s,e,{get(){return n[e]}})}),u&&s.preventDefault(),d&&e.dispatchEvent(s),s.defaultPrevented&&typeof o<"u"&&o.preventDefault(),s}};return t})}),qe=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s():typeof define=="function"&&define.amd?define(s):(n=typeof globalThis<"u"?globalThis:n||self,n.Data=s())})(e,function(){"use strict";let e=new Map;return{set(t,n,s){e.has(t)||e.set(t,new Map);let o=e.get(t);if(!o.has(n)&&o.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(o.keys())[0]}.`);return}o.set(n,s)},get(t,n){return e.has(t)&&e.get(t).get(n)||null},remove(t,n){if(!e.has(t))return;let s=e.get(t);s.delete(n),s.size===0&&e.delete(t)}}})}),l=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(qe(),u()):typeof define=="function"&&define.amd?define(["./dom/data","./dom/event-handler"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Base=s(n.Data,n.EventHandler))})(e,function(e,t){"use strict";let a=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},n=a(e),u=a(t),r=1e3,s="transitionend",d=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e),s=Number.parseFloat(t),o=Number.parseFloat(n);return!s&&!o?0:(t=t.split(",")[0],n=n.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(n))*r)},c=e=>{e.dispatchEvent(new Event(s))},l=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),o=e=>l(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(e):null,i=e=>{typeof e=="function"&&e()},h=(e,t,n=!0)=>{if(!n){i(e);return}let r=d(t)+5,o=!1,a=({target:n})=>{n===t&&(o=!0,t.removeEventListener(s,a),i(e))};t.addEventListener(s,a),setTimeout(()=>{o||c(t)},r)},m="5.1.3";class f{constructor(e){e=o(e),e&&(this._element=e,n.default.set(this._element,this.constructor.DATA_KEY,this))}dispose(){n.default.remove(this._element,this.constructor.DATA_KEY),u.default.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(e=>{this[e]=null})}_queueCallback(e,t,n=!0){h(e,t,n)}static getInstance(e){return n.default.get(o(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,typeof t=="object"?t:null)}static get VERSION(){return m}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}return f})}),An=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(u(),l()):typeof define=="function"&&define.amd?define(["./dom/event-handler","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Alert=s(n.EventHandler,n.Base))})(e,function(e,t){"use strict";let a=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=a(e),j=a(t),f=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},r=e=>{let t=f(e);return t?document.querySelector(t):null},l=e=>!!(!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled"))||(typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false"),c=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},s=[],d=e=>{document.readyState==="loading"?(s.length||document.addEventListener("DOMContentLoaded",()=>{s.forEach(e=>e())}),s.push(e)):e()},u=e=>{d(()=>{let t=c();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},h=(e,t="hide")=>{let s=`click.dismiss${e.EVENT_KEY}`,n=e.NAME;o.default.on(document,s,`[data-bs-dismiss="${n}"]`,function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),l(this))return;let o=r(this)||this.closest(`.${n}`);e.getOrCreateInstance(o)[t]()})},m="alert",i=".bs.alert",p=`close${i}`,g=`closed${i}`,v="fade",b="show";class n extends j.default{static get NAME(){return m}close(){if(o.default.trigger(this._element,p).defaultPrevented)return;this._element.classList.remove(b);let e=this._element.classList.contains(v);this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),o.default.trigger(this._element,g),this.dispose()}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}return h(n,"close"),u(n),n})}),Tn=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(u(),l()):typeof define=="function"&&define.amd?define(["./dom/event-handler","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Button=s(n.EventHandler,n.Base))})(e,function(e,t){"use strict";let i=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},p=i(e),m=i(t),c=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},s=[],r=e=>{document.readyState==="loading"?(s.length||document.addEventListener("DOMContentLoaded",()=>{s.forEach(e=>e())}),s.push(e)):e()},a=e=>{r(()=>{let t=c();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},l="button",d=".bs.button",u=".data-api",h="active",o='[data-bs-toggle="button"]',f=`click${d}${u}`;class n extends m.default{static get NAME(){return l}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(h))}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this);e==="toggle"&&t[e]()})}}return p.default.on(document,f,o,e=>{e.preventDefault();let t=e.target.closest(o);n.getOrCreateInstance(t).toggle()}),a(n),n})}),x=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s():typeof define=="function"&&define.amd?define(s):(n=typeof globalThis<"u"?globalThis:n||self,n.Manipulator=s())})(e,function(){"use strict";function t(e){return e==="true"||e!=="false"&&(e===Number(e).toString()?Number(e):e===""||e==="null"?null:e)}function e(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}return{setDataAttribute(t,n,s){t.setAttribute(`data-bs-${e(n)}`,s)},removeDataAttribute(t,n){t.removeAttribute(`data-bs-${e(n)}`)},getDataAttributes(e){if(!e)return{};let n={};return Object.keys(e.dataset).filter(e=>e.startsWith("bs")).forEach(s=>{let o=s.replace(/^bs/,"");o=o.charAt(0).toLowerCase()+o.slice(1,o.length),n[o]=t(e.dataset[s])}),n},getDataAttribute(n,s){return t(n.getAttribute(`data-bs-${e(s)}`))},offset(e){let t=e.getBoundingClientRect();return{top:t.top+window.pageYOffset,left:t.left+window.pageXOffset}},position(e){return{top:e.offsetTop,left:e.offsetLeft}}}})}),O=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s():typeof define=="function"&&define.amd?define(s):(n=typeof globalThis<"u"?globalThis:n||self,n.SelectorEngine=s())})(e,function(){"use strict";let e=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),t=t=>!!e(t)&&t.getClientRects().length!==0&&getComputedStyle(t).getPropertyValue("visibility")==="visible",n=e=>!!(!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled"))||(typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false");return{find(e,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,e))},findOne(e,t=document.documentElement){return Element.prototype.querySelector.call(t,e)},children(e,t){return[].concat(...e.children).filter(e=>e.matches(t))},parents(e,t){let s=[],n=e.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&n.nodeType!==3;)n.matches(t)&&s.push(n),n=n.parentNode;return s},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){let s=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(", ");return this.find(s,e).filter(e=>!n(e)&&t(e))}}})}),Nn=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(u(),x(),O(),l()):typeof define=="function"&&define.amd?define(["./dom/event-handler","./dom/manipulator","./dom/selector-engine","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Carousel=s(n.EventHandler,n.Manipulator,n.SelectorEngine,n.Base))})(e,function(e,t,n,s){"use strict";let f=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=f(e),g=f(t),a=f(n),ge=f(s),ae="transitionend",Z=e=>e==null?`${e}`:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),L=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},N=e=>{let t=L(e);return t?document.querySelector(t):null},D=e=>{e.dispatchEvent(new Event(ae))},y=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),C=(e,t,n)=>{Object.keys(n).forEach(s=>{let i=n[s],o=t[s],a=o&&y(o)?"element":Z(o);if(!new RegExp(i).test(a))throw new TypeError(`${e.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)})},F=e=>!!y(e)&&e.getClientRects().length!==0&&getComputedStyle(e).getPropertyValue("visibility")==="visible",H=e=>{e.offsetHeight},W=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},p=[],z=e=>{document.readyState==="loading"?(p.length||document.addEventListener("DOMContentLoaded",()=>{p.forEach(e=>e())}),p.push(e)):e()},v=()=>document.documentElement.dir==="rtl",E=e=>{z(()=>{let t=W();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},K=(e,t,n,s)=>{let o=e.indexOf(t);if(o===-1)return e[!n&&s?e.length-1:0];let i=e.length;return o+=n?1:-1,s&&(o=(o+i)%i),e[Math.max(0,Math.min(o,i-1))]},b="carousel",i=".bs.carousel",w=".data-api",k="ArrowLeft",A="ArrowRight",S=500,M=40,_={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},T={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},u="next",d="prev",l="left",h="right",U={[k]:h,[A]:l},P=`slide${i}`,j=`slid${i}`,I=`keydown${i}`,B=`mouseenter${i}`,V=`mouseleave${i}`,$=`touchstart${i}`,O=`touchmove${i}`,R=`touchend${i}`,ue=`pointerdown${i}`,te=`pointerup${i}`,Y=`dragstart${i}`,G=`load${i}${w}`,X=`click${i}${w}`,Q="carousel",c="active",J="slide",ee="carousel-item-end",q="carousel-item-start",ne="carousel-item-next",se="carousel-item-prev",oe="pointer-event",ie=".active",m=".active.carousel-item",re=".carousel-item",ce=".carousel-item img",le=".carousel-item-next, .carousel-item-prev",de=".carousel-indicators",x="[data-bs-target]",he="[data-bs-slide], [data-bs-slide-to]",me='[data-bs-ride="carousel"]',fe="touch",pe="pen";class r extends ge.default{constructor(e,t){super(e),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._indicatorsElement=a.default.findOne(de,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=!!window.PointerEvent,this._addEventListeners()}static get Default(){return _}static get NAME(){return b}next(){this._slide(u)}nextWhenVisible(){!document.hidden&&F(this._element)&&this.next()}prev(){this._slide(d)}pause(e){e||(this._isPaused=!0),a.default.findOne(le,this._element)&&(D(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(e){this._activeElement=a.default.findOne(m,this._element);let t=this._getItemIndex(this._activeElement);if(e>this._items.length-1||e<0)return;if(this._isSliding){o.default.one(this._element,j,()=>this.to(e));return}if(t===e){this.pause(),this.cycle();return}let n=e>t?u:d;this._slide(n,this._items[e])}_getConfig(e){return e={..._,...g.default.getDataAttributes(this._element),...typeof e=="object"?e:{}},C(b,e,T),e}_handleSwipe(){let e=Math.abs(this.touchDeltaX);if(e<=M)return;let t=e/this.touchDeltaX;this.touchDeltaX=0,t&&this._slide(t>0?h:l)}_addEventListeners(){this._config.keyboard&&o.default.on(this._element,I,e=>this._keydown(e)),this._config.pause==="hover"&&(o.default.on(this._element,B,e=>this.pause(e)),o.default.on(this._element,V,e=>this.cycle(e))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){let e=e=>this._pointerEvent&&(e.pointerType===pe||e.pointerType===fe),t=t=>{e(t)?this.touchStartX=t.clientX:this._pointerEvent||(this.touchStartX=t.touches[0].clientX)},s=e=>{this.touchDeltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this.touchStartX},n=t=>{e(t)&&(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(e=>this.cycle(e),S+this._config.interval))};a.default.find(ce,this._element).forEach(e=>{o.default.on(e,Y,e=>e.preventDefault())}),this._pointerEvent?(o.default.on(this._element,ue,e=>t(e)),o.default.on(this._element,te,e=>n(e)),this._element.classList.add(oe)):(o.default.on(this._element,$,e=>t(e)),o.default.on(this._element,O,e=>s(e)),o.default.on(this._element,R,e=>n(e)))}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;let t=U[e.key];t&&(e.preventDefault(),this._slide(t))}_getItemIndex(e){return this._items=e&&e.parentNode?a.default.find(re,e.parentNode):[],this._items.indexOf(e)}_getItemByOrder(e,t){let n=e===u;return K(this._items,t,n,this._config.wrap)}_triggerSlideEvent(e,t){let n=this._getItemIndex(e),s=this._getItemIndex(a.default.findOne(m,this._element));return o.default.trigger(this._element,P,{relatedTarget:e,direction:t,from:s,to:n})}_setActiveIndicatorElement(e){if(this._indicatorsElement){let n=a.default.findOne(ie,this._indicatorsElement);n.classList.remove(c),n.removeAttribute("aria-current");let t=a.default.find(x,this._indicatorsElement);for(let n=0;n{o.default.trigger(this._element,j,{relatedTarget:n,direction:f,from:g,to:v})};if(this._element.classList.contains(J)){n.classList.add(l),H(n),s.classList.add(i),n.classList.add(i);let e=()=>{n.classList.remove(i,l),n.classList.add(c),s.classList.remove(c,l,i),this._isSliding=!1,setTimeout(p,0)};this._queueCallback(e,s,!0)}else s.classList.remove(c),n.classList.add(c),this._isSliding=!1,p();d&&this.cycle()}_directionToOrder(e){return[h,l].includes(e)?v()?e===l?d:u:e===l?u:d:e}_orderToDirection(e){return[u,d].includes(e)?v()?e===d?l:h:e===d?h:l:e}static carouselInterface(e,t){let n=r.getOrCreateInstance(e,t),{_config:s}=n;typeof t=="object"&&(s={...s,...t});let o=typeof t=="string"?t:s.slide;if(typeof t=="number")n.to(t);else if(typeof o=="string"){if(typeof n[o]>"u")throw new TypeError(`No method named "${o}"`);n[o]()}else s.interval&&s.ride&&(n.pause(),n.cycle())}static jQueryInterface(e){return this.each(function(){r.carouselInterface(this,e)})}static dataApiClickHandler(e){let t=N(this);if(!t||!t.classList.contains(Q))return;let s={...g.default.getDataAttributes(t),...g.default.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(s.interval=!1),r.carouselInterface(t,s),n&&r.getInstance(t).to(n),e.preventDefault()}}return o.default.on(document,X,he,r.dataApiClickHandler),o.default.on(window,G,()=>{let e=a.default.find(me);for(let t=0,n=e.length;t{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(qe(),u(),x(),O(),l()):typeof define=="function"&&define.amd?define(["./dom/data","./dom/event-handler","./dom/manipulator","./dom/selector-engine","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Collapse=s(n.Data,n.EventHandler,n.Manipulator,n.SelectorEngine,n.Base))})(e,function(e,t,n,s,o){"use strict";let l=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},W=l(e),d=l(t),k=l(n),i=l(s),L=l(o),E=e=>e==null?`${e}`:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),y=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},_=e=>{let t=y(e);return t&&document.querySelector(t)?t:null},g=e=>{let t=y(e);return t?document.querySelector(t):null},w=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),P=e=>w(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(e):null,R=(e,t,n)=>{Object.keys(n).forEach(s=>{let i=n[s],o=t[s],a=o&&w(o)?"element":E(o);if(!new RegExp(i).test(a))throw new TypeError(`${e.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)})},D=e=>{e.offsetHeight},S=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},f=[],x=e=>{document.readyState==="loading"?(f.length||document.addEventListener("DOMContentLoaded",()=>{f.forEach(e=>e())}),f.push(e)):e()},A=e=>{x(()=>{let t=S();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},O="collapse",p="bs.collapse",c=`.${p}`,C=".data-api",v={toggle:!0,parent:null},M={toggle:"boolean",parent:"(null|element)"},$=`show${c}`,N=`shown${c}`,F=`hide${c}`,T=`hidden${c}`,z=`click${c}${C}`,m="show",r="collapse",u="collapsing",j="collapsed",b=`:scope .${r} .${r}`,H="collapse-horizontal",I="width",B="height",V=".collapse.show, .collapse.collapsing",h='[data-bs-toggle="collapse"]';class a extends L.default{constructor(e,t){super(e),this._isTransitioning=!1,this._config=this._getConfig(t),this._triggerArray=[];let n=i.default.find(h);for(let e=0,o=n.length;ee===this._element);t!==null&&a.length&&(this._selector=t,this._triggerArray.push(s))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return v}static get NAME(){return O}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[],n;if(this._config.parent){let e=i.default.find(b,this._config.parent);t=i.default.find(V,this._config.parent).filter(t=>!e.includes(t))}let s=i.default.findOne(this._selector);if(t.length){let e=t.find(e=>s!==e);if(n=e?a.getInstance(e):null,n&&n._isTransitioning)return}if(d.default.trigger(this._element,$).defaultPrevented)return;t.forEach(e=>{s!==e&&a.getOrCreateInstance(e,{toggle:!1}).hide(),n||W.default.set(e,p,null)});let e=this._getDimension();this._element.classList.remove(r),this._element.classList.add(u),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;let o=()=>{this._isTransitioning=!1,this._element.classList.remove(u),this._element.classList.add(r,m),this._element.style[e]="",d.default.trigger(this._element,N)},c=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(o,this._element,!0),this._element.style[e]=`${this._element[c]}px`}hide(){if(this._isTransitioning||!this._isShown()||d.default.trigger(this._element,F).defaultPrevented)return;let e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,D(this._element),this._element.classList.add(u),this._element.classList.remove(r,m);let t=this._triggerArray.length;for(let e=0;e{this._isTransitioning=!1,this._element.classList.remove(u),this._element.classList.add(r),d.default.trigger(this._element,T)};this._element.style[e]="",this._queueCallback(n,this._element,!0)}_isShown(e=this._element){return e.classList.contains(m)}_getConfig(e){return e={...v,...k.default.getDataAttributes(this._element),...e},e.toggle=!!e.toggle,e.parent=P(e.parent),R(O,e,M),e}_getDimension(){return this._element.classList.contains(H)?I:B}_initializeChildren(){if(!this._config.parent)return;let e=i.default.find(b,this._config.parent);i.default.find(h,this._config.parent).filter(t=>!e.includes(t)).forEach(e=>{let t=g(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))})}_addAriaAndCollapsedClass(e,t){e.length&&e.forEach(e=>{t?e.classList.remove(j):e.classList.add(j),e.setAttribute("aria-expanded",t)})}static jQueryInterface(e){return this.each(function(){let t={};typeof e=="string"&&/show|hide/.test(e)&&(t.toggle=!1);let n=a.getOrCreateInstance(this,t);if(typeof e=="string"){if(typeof n[e]>"u")throw new TypeError(`No method named "${e}"`);n[e]()}})}}return d.default.on(document,z,h,function(e){(e.target.tagName==="A"||e.delegateTarget&&e.delegateTarget.tagName==="A")&&e.preventDefault();let t=_(this);i.default.find(t).forEach(e=>{a.getOrCreateInstance(e,{toggle:!1}).toggle()})}),A(a),a})}),o=e(()=>{n="top",r="bottom",a="right",s="left",B="auto",k=[n,r,a,s],j="start",A="end",Je="clippingParents",ee="viewport",S="popper",ge="reference",he=k.reduce(function(e,t){return e.concat([t+"-"+j,t+"-"+A])},[]),ue=[].concat(k,[B]).reduce(function(e,t){return e.concat([t,t+"-"+j,t+"-"+A])},[]),et="beforeRead",Ze="read",Qe="afterRead",Ke="beforeMain",Ue="main",Fe="afterMain",Me="beforeWrite",Ae="write",ke="afterWrite",xe=[et,Ze,Qe,Ke,Ue,Fe,Me,Ae,ke]});function p(e){return e?(e.nodeName||"").toLowerCase():null}C=e(()=>{});function h(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}m=e(()=>{});function F(e){var t=h(e).Element;return e instanceof t||e instanceof Element}function d(e){var t=h(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Kt(e){if(typeof ShadowRoot>"u")return!1;var t=h(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}i=e(()=>{m()});function tn(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var o=t.styles[e]||{},s=t.attributes[e]||{},n=t.elements[e];!d(n)||!p(n)||(Object.assign(n.style,o),Object.keys(s).forEach(function(e){var t=s[e];t===!1?n.removeAttribute(e):n.setAttribute(e,t===!0?"":t)}))})}function sn(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var s=t.elements[e],o=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]),a=i.reduce(function(e,t){return e[t]="",e},{});!d(s)||!p(s)||(Object.assign(s.style,a),Object.keys(o).forEach(function(e){s.removeAttribute(e)}))})}}Y=e(()=>{C(),i(),se={name:"applyStyles",enabled:!0,phase:"write",fn:tn,effect:sn,requires:["computeStyles"]}});function f(e){return e.split("-")[0]}b=e(()=>{o()}),_=e(()=>{y=Math.max,H=Math.min,M=Math.round});function D(e,t){t===void 0&&(t=!1);var i,a,n=e.getBoundingClientRect(),s=1,o=1;return d(e)&&t&&(i=e.offsetHeight,a=e.offsetWidth,a>0&&(s=M(n.width)/a||1),i>0&&(o=M(n.height)/i||1)),{width:n.width/s,height:n.height/o,top:n.top/o,right:n.right/s,bottom:n.bottom/o,left:n.left/s,x:n.left/s,y:n.top/o}}z=e(()=>{i(),_()});function be(e){var t=D(e),n=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:s}}fe=e(()=>{z()});function pt(e,t){var n,s=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(s&&Kt(s)){n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}ye=e(()=>{i()});function v(e){return h(e).getComputedStyle(e)}E=e(()=>{m()});function xn(e){return["table","td","th"].indexOf(p(e))>=0}Ct=e(()=>{C()});function w(e){return((F(e)?e.ownerDocument:e.document)||window.document).documentElement}g=e(()=>{i()});function J(e){return p(e)==="html"?e:e.assignedSlot||e.parentNode||(Kt(e)?e.host:null)||w(e)}U=e(()=>{C(),g(),i()});function qt(e){return!d(e)||v(e).position==="fixed"?null:e.offsetParent}function an(e){var t,n,o,s=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,i=navigator.userAgent.indexOf("Trident")!==-1;if(i&&d(e)&&(o=v(e),o.position==="fixed"))return null;for(n=J(e);d(n)&&["html","body"].indexOf(p(n))<0;){if(t=v(n),t.transform!=="none"||t.perspective!=="none"||t.contain==="paint"||["transform","perspective"].indexOf(t.willChange)!==-1||s&&t.willChange==="filter"||s&&t.filter&&t.filter!=="none")return n;n=n.parentNode}return null}function W(e){for(var n=h(e),t=qt(e);t&&xn(t)&&v(t).position==="static";)t=qt(t);return t&&(p(t)==="html"||p(t)==="body"&&v(t).position==="static")?n:t||an(e)||n}N=e(()=>{m(),C(),E(),i(),Ct(),U()});function Se(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}te=e(()=>{});function I(e,t,n){return y(e,H(t,n))}function cn(e,t,n){var s=I(e,t,n);return s>n?n:s}ze=e(()=>{_()});function Ht(){return{top:0,right:0,bottom:0,left:0}}Ne=e(()=>{});function Pt(e){return Object.assign({},Ht(),e)}Re=e(()=>{Ne()});function Ft(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}He=e(()=>{});function wn(e){var i,t=e.state,A=e.name,k=e.options,d=t.elements.arrow,u=t.modifiersData.popperOffsets,p=f(t.placement),o=Se(p),O=[s,a].indexOf(p)>=0,c=O?"height":"width";if(!!d&&!!u){var g=wt(k.padding,t),v=be(d),j=o==="y"?n:s,w=o==="y"?r:a,y=t.rects.reference[c]+t.rects.reference[o]-u[o]-t.rects.popper[c],_=u[o]-t.rects.reference[o],l=W(d),m=l?o==="y"?l.clientHeight||0:l.clientWidth||0:0,x=y/2-_/2,C=g[j],E=m-v[c]-g[w],h=m/2-v[c]/2+x,b=I(C,h,E),S=o;t.modifiersData[A]=(i={},i[S]=b,i.centerOffset=b-h,i)}}function Yt(e){var n=e.state,o=e.options,s=o.element,t=s===void 0?"[data-popper-arrow]":s;t!=null&&(typeof t=="string"&&(t=n.elements.popper.querySelector(t),!t)||pt(n.elements.popper,t)&&(n.elements.arrow=t))}We=e(()=>{b(),fe(),ye(),N(),te(),ze(),Re(),He(),o(),i(),wt=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,Pt(typeof e!="number"?e:Ft(e,k))},$e={name:"arrow",enabled:!0,phase:"main",fn:wn,effect:Yt,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}});function L(e){return e.split("-")[1]}P=e(()=>{});function Zt(e){var n=e.x,s=e.y,o=window,t=o.devicePixelRatio||1;return{x:M(n*t)/t||0,y:M(s*t)/t||0}}function vt(e){var l,d,f,g,z,D,j=e.popper,S=e.popperRect,c=e.placement,C=e.variation,m=e.offsets,F=e.position,p=e.gpuAcceleration,O=e.adaptive,b=e.roundOffsets,M=e.isFixed,E=m.x,t=E===void 0?0:E,k=m.y,o=k===void 0?0:k,R=typeof b=="function"?b({x:t,y:o}):{x:t,y:o},t=R.x,o=R.y,T=m.hasOwnProperty("x"),N=m.hasOwnProperty("y"),y=s,_=n,u=window;if(O){var i=W(j),x="clientHeight",L="clientWidth";(i===h(j)&&(i=w(j),v(i).position!=="static"&&F==="absolute"&&(x="scrollHeight",L="scrollWidth")),i=i,c===n||(c===s||c===a)&&C===A)&&(_=r,z=M&&u.visualViewport?u.visualViewport.height:i[x],o-=z-S.height,o*=p?1:-1),(c===s||(c===n||c===r)&&C===A)&&(y=a,D=M&&u.visualViewport?u.visualViewport.width:i[L],t-=D-S.width,t*=p?1:-1)}return g=Object.assign({position:F},O&<),f=b===!0?Zt({x:t,y:o}):{x:t,y:o},t=f.x,o=f.y,p?Object.assign({},g,(d={},d[_]=N?"0":"",d[y]=T?"0":"",d.transform=(u.devicePixelRatio||1)<=1?"translate("+t+"px, "+o+"px)":"translate3d("+t+"px, "+o+"px, 0)",d)):Object.assign({},g,(l={},l[_]=N?o+"px":"",l[y]=T?t+"px":"",l.transform="",l))}function zn(e){var d,t=e.state,n=e.options,s=n.gpuAcceleration,c=s===void 0||s,o=n.adaptive,l=o===void 0||o,i=n.roundOffsets,a=i===void 0||i,r={placement:f(t.placement),variation:L(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:c,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,vt(Object.assign({},r,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:l,roundOffsets:a})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,vt(Object.assign({},r,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:a})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}ce=e(()=>{o(),N(),m(),g(),E(),b(),P(),_(),lt={top:"auto",right:"auto",bottom:"auto",left:"auto"},ne={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:zn,data:{}}});function Mn(e){var n=e.state,t=e.instance,s=e.options,o=s.scroll,i=o===void 0||o,a=s.resize,r=a===void 0||a,c=h(n.elements.popper),l=[].concat(n.scrollParents.reference,n.scrollParents.popper);return i&&l.forEach(function(e){e.addEventListener("scroll",t.update,V)}),r&&c.addEventListener("resize",t.update,V),function(){i&&l.forEach(function(e){e.removeEventListener("scroll",t.update,V)}),r&&c.removeEventListener("resize",t.update,V)}}oe=e(()=>{m(),V={passive:!0},Q={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Mn,data:{}}});function G(e){return e.replace(/left|right|bottom|top/g,function(e){return ot[e]})}it=e(()=>{ot={left:"right",right:"left",bottom:"top",top:"bottom"}});function at(e){return e.replace(/start|end/g,function(e){return rt[e]})}ct=e(()=>{rt={start:"end",end:"start"}});function Xe(e){var t=h(e),n=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:n,scrollTop:s}}X=e(()=>{m()});function Ge(e){return D(w(e)).left+Xe(e).scrollLeft}q=e(()=>{z(),g(),X()});function Fn(e){var r=h(e),n=w(e),t=r.visualViewport,s=n.clientWidth,o=n.clientHeight,i=0,a=0;return t&&(s=t.width,o=t.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(i=t.offsetLeft,a=t.offsetTop)),{width:s,height:o,x:i+Ge(e),y:a}}ft=e(()=>{m(),g(),q()});function Sn(e){var s,n=w(e),o=Xe(e),t=(s=e.ownerDocument)==null?void 0:s.body,i=y(n.scrollWidth,n.clientWidth,t?t.scrollWidth:0,t?t.clientWidth:0),r=y(n.scrollHeight,n.clientHeight,t?t.scrollHeight:0,t?t.clientHeight:0),a=-o.scrollLeft+Ge(e),c=-o.scrollTop;return v(t||n).direction==="rtl"&&(a+=y(n.clientWidth,t?t.clientWidth:0)-i),{width:i,height:r,x:a,y:c}}gt=e(()=>{g(),E(),q(),X(),_()});function Ye(e){var t=v(e),n=t.overflow,s=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+s)}Z=e(()=>{E()});function jt(e){return["html","body","#document"].indexOf(p(e))>=0?e.ownerDocument.body:d(e)&&Ye(e)?e:jt(J(e))}yt=e(()=>{U(),Z(),C(),i()});function K(e,t){t===void 0&&(t=[]);var s,n=jt(e),o=n===((s=e.ownerDocument)==null?void 0:s.body),i=h(n),a=o?[i].concat(i.visualViewport||[],Ye(n)?n:[]):n,r=t.concat(a);return o?r:r.concat(K(J(a)))}Ve=e(()=>{yt(),U(),m(),Z()});function Be(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}Ie=e(()=>{});function _n(e){var t=D(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function Et(e,t){return t===ee?Be(Fn(e)):F(t)?_n(t):Be(Sn(w(e)))}function jn(e){var n=K(J(e)),s=["absolute","fixed"].indexOf(v(e).position)>=0,t=s&&d(e)?W(e):e;return F(t)?n.filter(function(e){return F(e)&&pt(e,t)&&p(e)!=="body"}):[]}function bn(e,t,n){var i=t==="clippingParents"?jn(e):[].concat(t),o=[].concat(i,[n]),a=o[0],s=o.reduce(function(t,n){var s=Et(e,n);return t.top=y(s.top,t.top),t.right=H(s.right,t.right),t.bottom=H(s.bottom,t.bottom),t.left=y(s.left,t.left),t},Et(e,a));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}St=e(()=>{o(),ft(),gt(),Ve(),N(),g(),E(),i(),z(),U(),ye(),C(),Ie(),_()});function Mt(e){var o,i,l,t=e.reference,c=e.element,d=e.placement,u=d?f(d):null,p=d?L(d):null,h=t.x+t.width/2-c.width/2,m=t.y+t.height/2-c.height/2;switch(u){case n:o={x:h,y:t.y-c.height};break;case r:o={x:h,y:t.y+t.height};break;case a:o={x:t.x+t.width,y:m};break;case s:o={x:t.x-c.width,y:m};break;default:o={x:t.x,y:t.y}}if(i=u?Se(u):null,i!=null)switch(l=i==="y"?"height":"width",p){case j:o[i]=o[i]-(t[l]/2-c[l]/2);break;case A:o[i]=o[i]+(t[l]/2-c[l]/2);break;default:}return o}Pe=e(()=>{b(),P(),te(),o()});function T(e,t){t===void 0&&(t={});var p,s=t,O=s.placement,f=O===void 0?e.placement:O,x=s.boundary,M=x===void 0?Je:x,_=s.rootBoundary,C=_===void 0?ee:_,v=s.elementContext,o=v===void 0?S:v,b=s.altBoundary,z=b!==void 0&&b,g=s.padding,h=g===void 0?0:g,l=Pt(typeof h!="number"?h:Ft(h,k)),T=o===S?ge:S,y=e.rects.popper,u=e.elements[z?T:o],c=bn(F(u)?u:u.contextElement||w(e.elements.popper),M,C),m=D(e.elements.reference),A=Mt({reference:m,element:y,strategy:"absolute",placement:f}),E=Be(Object.assign({},y,A)),i=o===S?E:m,d={top:c.top-i.top+l.top,bottom:i.bottom-c.bottom+l.bottom,left:c.left-i.left+l.left,right:i.right-c.right+l.right},j=e.modifiersData.offset;return o===S&&j&&(p=j[f],Object.keys(d).forEach(function(e){var t=[a,r].indexOf(e)>=0?1:-1,s=[n,r].indexOf(e)>=0?"y":"x";d[e]+=p[s]*t})),d}R=e(()=>{St(),g(),z(),Pe(),Ie(),o(),i(),Re(),He()});function vn(e,t){t===void 0&&(t={});var s,n=t,c=n.placement,l=n.boundary,d=n.rootBoundary,u=n.padding,h=n.flipVariations,i=n.allowedAutoPlacements,m=i===void 0?ue:i,a=L(c),r=a?h?he:he.filter(function(e){return L(e)===a}):k,o=r.filter(function(e){return m.indexOf(e)>=0});return o.length===0&&(o=r),s=o.reduce(function(t,n){return t[n]=T(e,{placement:n,boundary:l,rootBoundary:d,padding:u})[f(n)],t},{}),Object.keys(s).sort(function(e,t){return s[e]-s[t]})}Nt=e(()=>{P(),o(),R(),b()});function gn(e){if(f(e)===B)return[];var t=G(e);return[at(e),t,at(t)]}function fn(e){var t=e.state,o=e.options,w=e.name;if(!t.modifiersData[w]._skip){for(var i,_,x,O=o.mainAxis,V=O===void 0||O,C=o.altAxis,N=C===void 0||C,R=o.fallbackPlacements,y=o.padding,F=o.boundary,E=o.rootBoundary,q=o.altBoundary,z=o.flipVariations,m=z===void 0||z,Y=o.allowedAutoPlacements,l=t.options.placement,W=f(l),$=W===l,I=R||($||!m?[G(l)]:gn(l)),h=[l].concat(I).reduce(function(e,n){return e.concat(f(n)===B?vn(t,{placement:n,boundary:F,rootBoundary:E,padding:y,flipVariations:m,allowedAutoPlacements:Y}):n)},[]),H=t.rects.reference,P=t.rects.popper,S=new Map,M=!0,u=h[0],v=0;v=0,k=A?"width":"height",g=T(t,{placement:c,boundary:F,rootBoundary:E,altBoundary:q,padding:y}),d=A?D?a:s:D?r:n;if(H[k]>P[k]&&(d=G(d)),x=G(d),i=[],V&&i.push(g[b]<=0),N&&i.push(g[d]<=0,g[x]<=0),i.every(function(e){return e})){u=c,M=!1;break}S.set(c,i)}if(M)for(var U=m?3:1,K=function(e){var t=h.find(function(t){var n=S.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return u=t,"break"},p=U;p>0;p--)if(_=K(p),_==="break")break;t.placement!==u&&(t.modifiersData[w]._skip=!0,t.placement=u,t.reset=!0)}}De=e(()=>{it(),b(),ct(),R(),Nt(),o(),P(),Le={name:"flip",enabled:!0,phase:"main",fn,requiresIfExists:["offset"],data:{_skip:!1}}});function It(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Bt(e){return[n,a,r,s].some(function(t){return e[t]>=0})}function un(e){var t=e.state,a=e.name,r=t.rects.reference,c=t.rects.popper,l=t.modifiersData.preventOverflow,d=T(t,{elementContext:"reference"}),u=T(t,{altBoundary:!0}),n=It(d,r),s=It(u,c,l),o=Bt(n),i=Bt(s);t.modifiersData[a]={referenceClippingOffsets:n,popperEscapeOffsets:s,isReferenceHidden:o,hasPopperEscaped:i},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":o,"data-popper-escaped":i})}Ee=e(()=>{o(),R(),Te={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:un}});function Jt(e,t,o){var c=f(e),d=[s,n].indexOf(c)>=0?-1:1,l=typeof o=="function"?o(Object.assign({},t,{placement:e})):o,i=l[0],r=l[1];return i=i||0,r=(r||0)*d,[s,a].indexOf(c)>=0?{x:r,y:i}:{x:i,y:r}}function Xt(e){var t=e.state,i=e.options,a=e.name,n=i.offset,r=n===void 0?[0,0]:n,s=ue.reduce(function(e,n){return e[n]=Jt(n,t.rects,r),e},{}),o=s[t.placement],c=o.x,l=o.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[a]=s}Oe=e(()=>{b(),o(),Ce={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Xt}});function kn(e){var t=e.state,n=e.name;t.modifiersData[n]=Mt({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}ae=e(()=>{Pe(),ie={name:"popperOffsets",enabled:!0,phase:"read",fn:kn,data:{}}});function Gt(e){return e==="x"?"y":"x"}Ut=e(()=>{});function en(e){var t=e.state,c=e.options,pe=e.name,ne=c.mainAxis,fe=ne===void 0||ne,U=c.altAxis,je=U!==void 0&&U,ye=c.boundary,_e=c.rootBoundary,we=c.altBoundary,Oe=c.padding,R=c.tether,l=R===void 0||R,$=c.tetherOffset,k=$===void 0?0:$,O=T(t,{boundary:ye,rootBoundary:_e,padding:Oe,altBoundary:we}),Z=f(t.placement),x=L(t.placement),ie=!x,o=Se(Z),p=Gt(o),v=t.modifiersData.popperOffsets,u=t.rects.reference,g=t.rects.popper,_=typeof k=="function"?k(Object.assign({},t.rects,{placement:t.placement})):k,m=typeof _=="number"?{mainAxis:_,altAxis:_}:Object.assign({mainAxis:0,altAxis:0},_),N=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,C={x:0,y:0};if(v){if(fe){var P,B=o==="y"?n:s,V=o==="y"?r:a,i=o==="y"?"height":"width",h=v[o],K=h+O[B],M=h-O[V],Y=l?-g[i]/2:0,ve=x===j?u[i]:g[i],ge=x===j?-g[i]:-u[i],Q=t.elements.arrow,ae=l&&Q?be(Q):{width:0,height:0},J=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Ht(),ee=J[B],te=J[V],b=I(0,u[i],ae[i]),ue=ie?u[i]/2-Y-b-ee-m.mainAxis:ve-b-ee-m.mainAxis,de=ie?-u[i]/2+Y+b+te+m.mainAxis:ge+b+te+m.mainAxis,E=t.elements.arrow&&W(t.elements.arrow),re=E?o==="y"?E.clientTop||0:E.clientLeft||0:0,z=(P=N?.[o])!=null?P:0,ce=h+ue-z-re,le=h+de-z,oe=I(l?H(K,ce):K,h,l?y(M,le):M);v[o]=oe,C[o]=oe-h}if(je){var se,he=o==="x"?n:s,me=o==="x"?r:a,d=v[p],w=p==="y"?"height":"width",X=d+O[he],G=d-O[me],A=[n,s].indexOf(Z)!==-1,D=(se=N?.[p])!=null?se:0,S=A?X:d-u[w]-g[w]-D+m.altAxis,F=A?d+u[w]+g[w]-D-m.altAxis:G,q=l&&A?cn(S,d,F):I(l?S:X,d,l?F:G);v[p]=q,C[p]=q-d}t.modifiersData[pe]=C}}pe=e(()=>{o(),b(),te(),Ut(),ze(),fe(),N(),R(),P(),Ne(),_(),we={name:"preventOverflow",enabled:!0,phase:"main",fn:en,requiresIfExists:["offset"]}}),_e=e(()=>{Y(),We(),ce(),oe(),De(),Ee(),Oe(),ae(),pe()});function on(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}Wt=e(()=>{});function rn(e){return e===h(e)||!d(e)?Xe(e):on(e)}$t=e(()=>{X(),m(),i(),Wt()});function ln(e){var t=e.getBoundingClientRect(),n=M(t.width)/e.offsetWidth||1,s=M(t.height)/e.offsetHeight||1;return n!==1||s!==1}function dn(e,t,n){n===void 0&&(n=!1);var r=d(t),c=d(t)&&ln(t),i=w(t),o=D(e,c),a={scrollLeft:0,scrollTop:0},s={x:0,y:0};return(r||!r&&!n)&&((p(t)!=="body"||Ye(i))&&(a=rn(t)),d(t)?(s=D(t,!0),s.x+=t.clientLeft,s.y+=t.clientTop):i&&(s.x=Ge(i))),{x:o.left+a.scrollLeft-s.x,y:o.top+a.scrollTop-s.y,width:o.width,height:o.height}}Vt=e(()=>{z(),$t(),C(),i(),q(),g(),Z(),_()});function hn(e){var n=new Map,t=new Set,s=[];e.forEach(function(e){n.set(e.name,e)});function o(e){t.add(e.name);var i=[].concat(e.requires||[],e.requiresIfExists||[]);i.forEach(function(e){if(!t.has(e)){var s=n.get(e);s&&o(s)}}),s.push(e)}return e.forEach(function(e){t.has(e.name)||o(e)}),s}function mn(e){var t=hn(e);return xe.reduce(function(e,n){return e.concat(t.filter(function(e){return e.phase===n}))},[])}Rt=e(()=>{o()});function pn(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}Lt=e(()=>{}),Dt=e(()=>{}),At=e(()=>{Dt(),o()}),kt=e(()=>{});function yn(e){var t=e.reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}tt=e(()=>{});function xt(){for(var t=arguments.length,n=new Array(t),e=0;e{Vt(),fe(),Ve(),N(),E(),Rt(),Lt(),At(),kt(),b(),tt(),R(),i(),o(),je={placement:"bottom",modifiers:[],strategy:"absolute"},Ot=re()}),ve=e(()=>{le(),oe(),ae(),ce(),Y(),_t=[Q,ie,ne,se],bt=re({defaultModifiers:_t})}),ht=e(()=>{le(),oe(),ae(),ce(),Y(),Oe(),De(),pe(),We(),Ee(),ve(),_e(),nt=[Q,ie,ne,se,Ce,Le,we,$e,Te],mt=re({defaultModifiers:nt})}),ut=e(()=>{o(),_e(),le(),ht(),ve()}),de={},Cn(de,{afterMain:()=>Fe,afterRead:()=>Qe,afterWrite:()=>ke,applyStyles:()=>se,arrow:()=>$e,auto:()=>B,basePlacements:()=>k,beforeMain:()=>Ke,beforeRead:()=>et,beforeWrite:()=>Me,bottom:()=>r,clippingParents:()=>Je,computeStyles:()=>ne,createPopper:()=>mt,createPopperBase:()=>Ot,createPopperLite:()=>bt,detectOverflow:()=>T,end:()=>A,eventListeners:()=>Q,flip:()=>Le,hide:()=>Te,left:()=>s,main:()=>Ue,modifierPhases:()=>xe,offset:()=>Ce,placements:()=>ue,popper:()=>S,popperGenerator:()=>re,popperOffsets:()=>ie,preventOverflow:()=>we,read:()=>Ze,reference:()=>ge,right:()=>a,start:()=>j,top:()=>n,variationPlacements:()=>he,viewport:()=>ee,write:()=>Ae});var n,s,a,r,j,k,A,B,Je,ee,S,ge,he,ue,et,Ze,Qe,Ke,Ue,Fe,Me,Ae,ke,xe,i,m,C,se,b,y,_,M,z,H,fe,ye,E,Ct,g,N,U,te,ze,Ne,Re,He,wt,$e,We,P,Y,lt,ne,ce,R,V,Q,oe,ot,it,rt,ct,q,X,ft,gt,Z,yt,Ve,Ie,St,Pe,Nt,Le,De,Te,Ee,Ce,Oe,ie,ae,Ut,we,pe,_e,Wt,$t,Vt,Rt,Lt,Dt,At,kt,tt,je,Ot,le,_t,bt,ve,nt,mt,ht,ut,de,dt=e(()=>{ut()}),Ln=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s((dt(),Tt(de)),u(),x(),O(),l()):typeof define=="function"&&define.amd?define(["@popperjs/core","./dom/event-handler","./dom/manipulator","./dom/selector-engine","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Dropdown=s(n.Popper,n.EventHandler,n.Manipulator,n.SelectorEngine,n.Base))})(e,function(e,t,n,s,o){"use strict";let g=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function re(e){if(e&&e.__esModule)return e;let t=Object.create(null);if(e)for(let n in e)if(n!=="default"){let s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}return t.default=e,Object.freeze(t)}let C=re(e),a=g(t),f=g(n),m=g(s),G=g(o),W=e=>e==null?`${e}`:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),D=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},S=e=>{let t=D(e);return t?document.querySelector(t):null},d=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),K=e=>d(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(e):null,F=(e,t,n)=>{Object.keys(n).forEach(s=>{let i=n[s],o=t[s],a=o&&d(o)?"element":W(o);if(!new RegExp(i).test(a))throw new TypeError(`${e.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)})},T=e=>!!d(e)&&e.getClientRects().length!==0&&getComputedStyle(e).getPropertyValue("visibility")==="visible",y=e=>!!(!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled"))||(typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false"),O=()=>{},B=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},w=[],z=e=>{document.readyState==="loading"?(w.length||document.addEventListener("DOMContentLoaded",()=>{w.forEach(e=>e())}),w.push(e)):e()},l=()=>document.documentElement.dir==="rtl",X=e=>{z(()=>{let t=B();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},V=(e,t,n,s)=>{let o=e.indexOf(t);if(o===-1)return e[!n&&s?e.length-1:0];let i=e.length;return o+=n?1:-1,s&&(o=(o+i)%i),e[Math.max(0,Math.min(o,i-1))]},_="dropdown",r=".bs.dropdown",b=".data-api",p="Escape",x="Space",A="Tab",v="ArrowUp",h="ArrowDown",N=2,L=new RegExp(`${v}|${h}|${p}`),R=`hide${r}`,P=`hidden${r}`,H=`show${r}`,I=`shown${r}`,k=`click${r}${b}`,E=`keydown${r}${b}`,$=`keyup${r}${b}`,c="show",U="dropup",M="dropend",q="dropstart",Y="navbar",u='[data-bs-toggle="dropdown"]',j=".dropdown-menu",Q=".navbar-nav",Z=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",J=l()?"top-end":"top-start",ee=l()?"top-start":"top-end",te=l()?"bottom-end":"bottom-start",ne=l()?"bottom-start":"bottom-end",se=l()?"left-start":"right-start",oe=l()?"right-start":"left-start",ie={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},ae={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class i extends G.default{constructor(e,t){super(e),this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar()}static get Default(){return ie}static get DefaultType(){return ae}static get NAME(){return _}toggle(){return this._isShown()?this.hide():this.show()}show(){if(y(this._element)||this._isShown(this._menu))return;let e={relatedTarget:this._element};if(a.default.trigger(this._element,H,e).defaultPrevented)return;let t=i.getParentFromElement(this._element);this._inNavbar?f.default.setDataAttribute(this._menu,"popper","none"):this._createPopper(t),"ontouchstart"in document.documentElement&&!t.closest(Q)&&[].concat(...document.body.children).forEach(e=>a.default.on(e,"mouseover",O)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(c),this._element.classList.add(c),a.default.trigger(this._element,I,e)}hide(){if(y(this._element)||!this._isShown(this._menu))return;let e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){a.default.trigger(this._element,R,e).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(e=>a.default.off(e,"mouseover",O)),this._popper&&this._popper.destroy(),this._menu.classList.remove(c),this._element.classList.remove(c),this._element.setAttribute("aria-expanded","false"),f.default.removeDataAttribute(this._menu,"popper"),a.default.trigger(this._element,P,e))}_getConfig(e){if(e={...this.constructor.Default,...f.default.getDataAttributes(this._element),...e},F(_,e,this.constructor.DefaultType),typeof e.reference=="object"&&!d(e.reference)&&typeof e.reference.getBoundingClientRect!="function")throw new TypeError(`${_.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(e){if(typeof C>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=e:d(this._config.reference)?t=K(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);let n=this._getPopperConfig(),s=n.modifiers.find(e=>e.name==="applyStyles"&&e.enabled===!1);this._popper=C.createPopper(t,this._menu,n),s&&f.default.setDataAttribute(this._menu,"popper","static")}_isShown(e=this._element){return e.classList.contains(c)}_getMenuElement(){return m.default.next(this._element,j)[0]}_getPlacement(){let e=this._element.parentNode;if(e.classList.contains(M))return se;if(e.classList.contains(q))return oe;let t=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return e.classList.contains(U)?t?ee:J:t?ne:te}_detectNavbar(){return this._element.closest(`.${Y}`)!==null}_getOffset(){let{offset:e}=this._config;return typeof e=="string"?e.split(",").map(e=>Number.parseInt(e,10)):typeof e=="function"?t=>e(t,this._element):e}_getPopperConfig(){let e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return this._config.display==="static"&&(e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...typeof this._config.popperConfig=="function"?this._config.popperConfig(e):this._config.popperConfig}}_selectMenuItem({key:e,target:t}){let n=m.default.find(Z,this._menu).filter(T);n.length&&V(n,t,e===h,!n.includes(t)).focus()}static jQueryInterface(e){return this.each(function(){let t=i.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}static clearMenus(e){if(e&&(e.button===N||e.type==="keyup"&&e.key!==A))return;let t=m.default.find(u);for(let s=0,a=t.length;s{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(u(),x(),O(),l()):typeof define=="function"&&define.amd?define(["./dom/event-handler","./dom/manipulator","./dom/selector-engine","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Modal=s(n.EventHandler,n.Manipulator,n.SelectorEngine,n.Base))})(e,function(e,t,n,s){"use strict";let d=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=d(e),u=d(t),c=d(n),_e=d(s),ge=1e3,f="transitionend",ie=e=>e==null?`${e}`:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),Q=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},N=e=>{let t=Q(e);return t?document.querySelector(t):null},oe=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e),s=Number.parseFloat(t),o=Number.parseFloat(n);return!s&&!o?0:(t=t.split(",")[0],n=n.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(n))*ge)},ce=e=>{e.dispatchEvent(new Event(f))},m=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),ue=e=>m(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(e):null,g=(e,t,n)=>{Object.keys(n).forEach(s=>{let i=n[s],o=t[s],a=o&&m(o)?"element":ie(o);if(!new RegExp(i).test(a))throw new TypeError(`${e.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)})},X=e=>!!m(e)&&e.getClientRects().length!==0&&getComputedStyle(e).getPropertyValue("visibility")==="visible",pe=e=>!!(!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled"))||(typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false"),_=e=>{e.offsetHeight},me=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},v=[],le=e=>{document.readyState==="loading"?(v.length||document.addEventListener("DOMContentLoaded",()=>{v.forEach(e=>e())}),v.push(e)):e()},h=()=>document.documentElement.dir==="rtl",re=e=>{le(()=>{let t=me();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},a=e=>{typeof e=="function"&&e()},ee=(e,t,n=!0)=>{if(!n){a(e);return}let i=oe(t)+5,s=!1,o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(f,o),a(e))};t.addEventListener(f,o),setTimeout(()=>{s||ce(t)},i)},S=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",M=".sticky-top";class J{constructor(){this._element=document.body}getWidth(){let e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){let e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",t=>t+e),this._setElementAttributes(S,"paddingRight",t=>t+e),this._setElementAttributes(M,"marginRight",t=>t-e)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){let s=this.getWidth(),o=e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+s)return;this._saveInitialAttribute(e,t);let o=window.getComputedStyle(e)[t];e.style[t]=`${n(Number.parseFloat(o))}px`};this._applyManipulationCallback(e,o)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(S,"paddingRight"),this._resetElementAttributes(M,"marginRight")}_saveInitialAttribute(e,t){let n=e.style[t];n&&u.default.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){let n=e=>{let n=u.default.getDataAttribute(e,t);typeof n>"u"?e.style.removeProperty(t):(u.default.removeDataAttribute(e,t),e.style[t]=n)};this._applyManipulationCallback(e,n)}_applyManipulationCallback(e,t){m(e)?t(e):c.default.find(e,this._element).forEach(t)}isOverflowing(){return this.getWidth()>0}}let R={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},q={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},D="backdrop",V="fade",L="show",j=`mousedown.bs.${D}`;class ne{constructor(e){this._config=this._getConfig(e),this._isAppended=!1,this._element=null}show(e){if(!this._config.isVisible){a(e);return}this._append(),this._config.isAnimated&&_(this._getElement()),this._getElement().classList.add(L),this._emulateAnimation(()=>{a(e)})}hide(e){if(!this._config.isVisible){a(e);return}this._getElement().classList.remove(L),this._emulateAnimation(()=>{this.dispose(),a(e)})}_getElement(){if(!this._element){let e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add(V),this._element=e}return this._element}_getConfig(e){return e={...R,...typeof e=="object"?e:{}},e.rootElement=ue(e.rootElement),g(D,e,q),e}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),o.default.on(this._getElement(),j,()=>{a(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(o.default.off(this._element,j),this._element.remove(),this._isAppended=!1)}_emulateAnimation(e){ee(e,this._getElement(),this._config.isAnimated)}}let H={trapElement:null,autofocus:!0},I={trapElement:"element",autofocus:"boolean"},B="focustrap",l=".bs.focustrap",$=`focusin${l}`,W=`keydown.tab${l}`,U="Tab",K="forward",z="backward";class Y{constructor(e){this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}activate(){let{trapElement:e,autofocus:t}=this._config;this._isActive||(t&&e.focus(),o.default.off(document,l),o.default.on(document,$,e=>this._handleFocusin(e)),o.default.on(document,W,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,o.default.off(document,l))}_handleFocusin(e){let{target:s}=e,{trapElement:t}=this._config;if(s===document||s===t||t.contains(s))return;let n=c.default.focusableChildren(t);n.length===0?t.focus():this._lastTabNavDirection===z?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){e.key===U&&(this._lastTabNavDirection=e.shiftKey?z:K)}_getConfig(e){return e={...H,...typeof e=="object"?e:{}},g(B,e,I),e}}let G=(e,t="hide")=>{let s=`click.dismiss${e.EVENT_KEY}`,n=e.NAME;o.default.on(document,s,`[data-bs-dismiss="${n}"]`,function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),pe(this))return;let o=N(this)||this.closest(`.${n}`);e.getOrCreateInstance(o)[t]()})},T="modal",i=".bs.modal",Z=".data-api",F="Escape",A={backdrop:!0,keyboard:!0,focus:!0},te={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},P=`hide${i}`,se=`hidePrevented${i}`,k=`hidden${i}`,b=`show${i}`,ae=`shown${i}`,E=`resize${i}`,C=`click.dismiss${i}`,x=`keydown.dismiss${i}`,de=`mouseup.dismiss${i}`,O=`mousedown.dismiss${i}`,he=`click${i}${Z}`,w="modal-open",fe="fade",y="show",p="modal-static",ve=".modal.show",be=".modal-dialog",je=".modal-body",ye='[data-bs-toggle="modal"]';class r extends _e.default{constructor(e,t){super(e),this._config=this._getConfig(t),this._dialog=c.default.findOne(be,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new J}static get Default(){return A}static get NAME(){return T}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||this._isTransitioning||o.default.trigger(this._element,b,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(w),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),o.default.on(this._dialog,O,()=>{o.default.one(this._element,de,e=>{e.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(e)))}hide(){if(!this._isShown||this._isTransitioning||o.default.trigger(this._element,P).defaultPrevented)return;this._isShown=!1;let e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(y),o.default.off(this._element,C),o.default.off(this._dialog,O),this._queueCallback(()=>this._hideModal(),this._element,e)}dispose(){[window,this._dialog].forEach(e=>o.default.off(e,i)),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ne({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Y({trapElement:this._element})}_getConfig(e){return e={...A,...u.default.getDataAttributes(this._element),...typeof e=="object"?e:{}},g(T,e,te),e}_showElement(e){let t=this._isAnimated(),n=c.default.findOne(je,this._dialog);(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE)&&document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,n&&(n.scrollTop=0),t&&_(this._element),this._element.classList.add(y);let s=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,o.default.trigger(this._element,ae,{relatedTarget:e})};this._queueCallback(s,this._dialog,t)}_setEscapeEvent(){this._isShown?o.default.on(this._element,x,e=>{this._config.keyboard&&e.key===F?(e.preventDefault(),this.hide()):!this._config.keyboard&&e.key===F&&this._triggerBackdropTransition()}):o.default.off(this._element,x)}_setResizeEvent(){this._isShown?o.default.on(window,E,()=>this._adjustDialog()):o.default.off(window,E)}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(w),this._resetAdjustments(),this._scrollBar.reset(),o.default.trigger(this._element,k)})}_showBackdrop(e){o.default.on(this._element,C,e=>{if(this._ignoreBackdropClick){this._ignoreBackdropClick=!1;return}e.target===e.currentTarget&&(this._config.backdrop===!0?this.hide():this._config.backdrop==="static"&&this._triggerBackdropTransition())}),this._backdrop.show(e)}_isAnimated(){return this._element.classList.contains(fe)}_triggerBackdropTransition(){if(o.default.trigger(this._element,se).defaultPrevented)return;let{classList:e,scrollHeight:s,style:t}=this._element,n=s>document.documentElement.clientHeight;!n&&t.overflowY==="hidden"||e.contains(p)||(n||(t.overflowY="hidden"),e.add(p),this._queueCallback(()=>{e.remove(p),n||this._queueCallback(()=>{t.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){let e=this._element.scrollHeight>document.documentElement.clientHeight,n=this._scrollBar.getWidth(),t=n>0;(!t&&e&&!h()||t&&!e&&h())&&(this._element.style.paddingLeft=`${n}px`),(t&&!e&&!h()||!t&&e&&h())&&(this._element.style.paddingRight=`${n}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each(function(){let n=r.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof n[e]>"u")throw new TypeError(`No method named "${e}"`);n[e](t)}})}}return o.default.on(document,he,ye,function(e){let t=N(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),o.default.one(t,b,e=>{e.defaultPrevented||o.default.one(t,k,()=>{X(this)&&this.focus()})});let n=c.default.findOne(ve);n&&r.getInstance(n).hide(),r.getOrCreateInstance(t).toggle(this)}),G(r),re(r),r})}),Pn=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(O(),x(),u(),l()):typeof define=="function"&&define.amd?define(["./dom/selector-engine","./dom/manipulator","./dom/event-handler","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Offcanvas=s(n.SelectorEngine,n.Manipulator,n.EventHandler,n.Base))})(e,function(e,t,n,s){"use strict";let h=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},l=h(e),d=h(t),o=h(n),he=h(s),X=1e3,m="transitionend",F=e=>e==null?`${e}`:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),N=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},E=e=>{let t=N(e);return t?document.querySelector(t):null},Q=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e),s=Number.parseFloat(t),o=Number.parseFloat(n);return!s&&!o?0:(t=t.split(",")[0],n=n.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(n))*X)},ce=e=>{e.dispatchEvent(new Event(m))},c=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),B=e=>c(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(e):null,p=(e,t,n)=>{Object.keys(n).forEach(s=>{let i=n[s],o=t[s],a=o&&c(o)?"element":F(o);if(!new RegExp(i).test(a))throw new TypeError(`${e.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)})},oe=e=>!!c(e)&&e.getClientRects().length!==0&&getComputedStyle(e).getPropertyValue("visibility")==="visible",y=e=>!!(!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled"))||(typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false"),ne=e=>{e.offsetHeight},ee=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},f=[],G=e=>{document.readyState==="loading"?(f.length||document.addEventListener("DOMContentLoaded",()=>{f.forEach(e=>e())}),f.push(e)):e()},K=e=>{G(()=>{let t=ee();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},r=e=>{typeof e=="function"&&e()},L=(e,t,n=!0)=>{if(!n){r(e);return}let i=Q(t)+5,s=!1,o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(m,o),r(e))};t.addEventListener(m,o),setTimeout(()=>{s||ce(t)},i)},A=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",S=".sticky-top";class M{constructor(){this._element=document.body}getWidth(){let e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){let e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",t=>t+e),this._setElementAttributes(A,"paddingRight",t=>t+e),this._setElementAttributes(S,"marginRight",t=>t-e)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){let s=this.getWidth(),o=e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+s)return;this._saveInitialAttribute(e,t);let o=window.getComputedStyle(e)[t];e.style[t]=`${n(Number.parseFloat(o))}px`};this._applyManipulationCallback(e,o)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(A,"paddingRight"),this._resetElementAttributes(S,"marginRight")}_saveInitialAttribute(e,t){let n=e.style[t];n&&d.default.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){let n=e=>{let n=d.default.getDataAttribute(e,t);typeof n>"u"?e.style.removeProperty(t):(d.default.removeDataAttribute(e,t),e.style[t]=n)};this._applyManipulationCallback(e,n)}_applyManipulationCallback(e,t){c(e)?t(e):l.default.find(e,this._element).forEach(t)}isOverflowing(){return this.getWidth()>0}}let z={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Y={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},v="backdrop",D="fade",g="show",k=`mousedown.bs.${v}`;class R{constructor(e){this._config=this._getConfig(e),this._isAppended=!1,this._element=null}show(e){if(!this._config.isVisible){r(e);return}this._append(),this._config.isAnimated&&ne(this._getElement()),this._getElement().classList.add(g),this._emulateAnimation(()=>{r(e)})}hide(e){if(!this._config.isVisible){r(e);return}this._getElement().classList.remove(g),this._emulateAnimation(()=>{this.dispose(),r(e)})}_getElement(){if(!this._element){let e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add(D),this._element=e}return this._element}_getConfig(e){return e={...z,...typeof e=="object"?e:{}},e.rootElement=B(e.rootElement),p(v,e,Y),e}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),o.default.on(this._getElement(),k,()=>{r(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(o.default.off(this._element,k),this._element.remove(),this._isAppended=!1)}_emulateAnimation(e){L(e,this._getElement(),this._config.isAnimated)}}let P={trapElement:null,autofocus:!0},H={trapElement:"element",autofocus:"boolean"},I="focustrap",u=".bs.focustrap",V=`focusin${u}`,$=`keydown.tab${u}`,W="Tab",U="forward",C="backward";class q{constructor(e){this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}activate(){let{trapElement:e,autofocus:t}=this._config;this._isActive||(t&&e.focus(),o.default.off(document,u),o.default.on(document,V,e=>this._handleFocusin(e)),o.default.on(document,$,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,o.default.off(document,u))}_handleFocusin(e){let{target:s}=e,{trapElement:t}=this._config;if(s===document||s===t||t.contains(s))return;let n=l.default.focusableChildren(t);n.length===0?t.focus():this._lastTabNavDirection===C?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){e.key===W&&(this._lastTabNavDirection=e.shiftKey?C:U)}_getConfig(e){return e={...P,...typeof e=="object"?e:{}},p(I,e,H),e}}let T=(e,t="hide")=>{let s=`click.dismiss${e.EVENT_KEY}`,n=e.NAME;o.default.on(document,s,`[data-bs-dismiss="${n}"]`,function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),y(this))return;let o=E(this)||this.closest(`.${n}`);e.getOrCreateInstance(o)[t]()})},x="offcanvas",a=".bs.offcanvas",O=".data-api",Z=`load${a}${O}`,J="Escape",w={backdrop:!0,keyboard:!0,scroll:!1},te={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},_="show",se="offcanvas-backdrop",j=".offcanvas.show",ie=`show${a}`,ae=`shown${a}`,re=`hide${a}`,b=`hidden${a}`,le=`click${a}${O}`,de=`keydown.dismiss${a}`,ue='[data-bs-toggle="offcanvas"]';class i extends he.default{constructor(e,t){super(e),this._config=this._getConfig(t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return x}static get Default(){return w}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||o.default.trigger(this._element,ie,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new M).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(_);let t=()=>{this._config.scroll||this._focustrap.activate(),o.default.trigger(this._element,ae,{relatedTarget:e})};this._queueCallback(t,this._element,!0)}hide(){if(!this._isShown||o.default.trigger(this._element,re).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove(_),this._backdrop.hide();let e=()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new M).reset(),o.default.trigger(this._element,b)};this._queueCallback(e,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(e){return e={...w,...d.default.getDataAttributes(this._element),...typeof e=="object"?e:{}},p(x,e,te),e}_initializeBackDrop(){return new R({className:se,isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new q({trapElement:this._element})}_addEventListeners(){o.default.on(this._element,de,e=>{this._config.keyboard&&e.key===J&&this.hide()})}static jQueryInterface(e){return this.each(function(){let t=i.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}return o.default.on(document,le,ue,function(e){let t=E(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),y(this))return;o.default.one(t,b,()=>{oe(this)&&this.focus()});let n=l.default.findOne(j);n&&n!==t&&i.getInstance(n).hide(),i.getOrCreateInstance(t).toggle(this)}),o.default.on(window,Z,()=>l.default.find(j).forEach(e=>i.getOrCreateInstance(e).show())),T(i),K(i),i})}),st=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s((dt(),Tt(de)),qe(),u(),x(),O(),l()):typeof define=="function"&&define.amd?define(["@popperjs/core","./dom/data","./dom/event-handler","./dom/manipulator","./dom/selector-engine","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Tooltip=s(n.Popper,n.Data,n.EventHandler,n.Manipulator,n.SelectorEngine,n.Base))})(e,function(e,t,n,s,o,i){"use strict";let c=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function ee(e){if(e&&e.__esModule)return e;let t=Object.create(null);if(e)for(let n in e)if(n!=="default"){let s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}return t.default=e,Object.freeze(t)}let w=ee(e),X=c(t),a=c(n),K=c(s),U=c(o),W=c(i),V=1e6,N=e=>e==null?`${e}`:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),G=e=>{do e+=Math.floor(Math.random()*V);while(document.getElementById(e))return e},v=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),b=e=>v(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(e):null,R=(e,t,n)=>{Object.keys(n).forEach(s=>{let i=n[s],o=t[s],a=o&&v(o)?"element":N(o);if(!new RegExp(i).test(a))throw new TypeError(`${e.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)})},y=e=>{if(!document.documentElement.attachShadow)return null;if(typeof e.getRootNode=="function"){let t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?y(e.parentNode):null},_=()=>{},Q=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},g=[],Y=e=>{document.readyState==="loading"?(g.length||document.addEventListener("DOMContentLoaded",()=>{g.forEach(e=>e())}),g.push(e)):e()},C=()=>document.documentElement.dir==="rtl",q=e=>{Y(()=>{let t=Q();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},D=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),z=/^aria-[\w-]*$/i,B=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,M=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,F=(e,t)=>{let n=e.nodeName.toLowerCase();if(t.includes(n))return!D.has(n)||!!(B.test(e.nodeValue)||M.test(e.nodeValue));let s=t.filter(e=>e instanceof RegExp);for(let e=0,t=s.length;e{F(t,r)||e.removeAttribute(t.nodeName)})}return s.body.innerHTML}let k="tooltip",r=".bs.tooltip",L="bs-tooltip",A=new Set(["sanitize","allowList","sanitizeFn"]),P={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},H={AUTO:"auto",TOP:"top",RIGHT:C()?"left":"right",BOTTOM:"bottom",LEFT:C()?"right":"left"},I={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:T,popperConfig:null},S={HIDE:`hide${r}`,HIDDEN:`hidden${r}`,SHOW:`show${r}`,SHOWN:`shown${r}`,INSERTED:`inserted${r}`,CLICK:`click${r}`,FOCUSIN:`focusin${r}`,FOCUSOUT:`focusout${r}`,MOUSEENTER:`mouseenter${r}`,MOUSELEAVE:`mouseleave${r}`},h="fade",$="modal",u="show",d="show",p="out",E=".tooltip-inner",x=`.${$}`,O="hide.bs.modal",l="hover",f="focus",Z="click",J="manual";class m extends W.default{constructor(e,t){if(typeof w>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(t),this.tip=null,this._setListeners()}static get Default(){return I}static get NAME(){return k}static get Event(){return S}static get DefaultType(){return P}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(e){if(this._isEnabled)if(e){let t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!t._activeTrigger.click,t._isWithActiveTrigger()?t._enter(null,t):t._leave(null,t)}else{if(this.getTipElement().classList.contains(u)){this._leave(null,this);return}this._enter(null,this)}}dispose(){clearTimeout(this._timeout),a.default.off(this._element.closest(x),O,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;let i=a.default.trigger(this._element,this.constructor.Event.SHOW),t=y(this._element),r=t===null?this._element.ownerDocument.documentElement.contains(this._element):t.contains(this._element);if(i.defaultPrevented||!r)return;this.constructor.NAME==="tooltip"&&this.tip&&this.getTitle()!==this.tip.querySelector(E).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);let e=this.getTipElement(),n=G(this.constructor.NAME);e.setAttribute("id",n),this._element.setAttribute("aria-describedby",n),this._config.animation&&e.classList.add(h);let c=typeof this._config.placement=="function"?this._config.placement.call(this,e,this._element):this._config.placement,s=this._getAttachment(c);this._addAttachmentClass(s);let{container:l}=this._config;X.default.set(e,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.append(e),a.default.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=w.createPopper(this._element,e,this._getPopperConfig(s)),e.classList.add(u);let o=this._resolvePossibleFunction(this._config.customClass);o&&e.classList.add(...o.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(e=>{a.default.on(e,"mouseover",_)});let d=()=>{let e=this._hoverState;this._hoverState=null,a.default.trigger(this._element,this.constructor.Event.SHOWN),e===p&&this._leave(null,this)},m=this.tip.classList.contains(h);this._queueCallback(d,this.tip,m)}hide(){if(!this._popper)return;let e=this.getTipElement(),t=()=>{this._isWithActiveTrigger()||(this._hoverState!==d&&e.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),a.default.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())};if(a.default.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;e.classList.remove(u),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(e=>a.default.off(e,"mouseover",_)),this._activeTrigger[Z]=!1,this._activeTrigger[f]=!1,this._activeTrigger[l]=!1;let n=this.tip.classList.contains(h);this._queueCallback(t,this.tip,n),this._hoverState=""}update(){this._popper!==null&&this._popper.update()}isWithContent(){return!!this.getTitle()}getTipElement(){if(this.tip)return this.tip;let t=document.createElement("div");t.innerHTML=this._config.template;let e=t.children[0];return this.setContent(e),e.classList.remove(h,u),this.tip=e,this.tip}setContent(e){this._sanitizeAndSetContent(e,this.getTitle(),E)}_sanitizeAndSetContent(e,t,n){let s=U.default.findOne(n,e);if(!t&&s){s.remove();return}this.setElementContent(s,t)}setElementContent(e,t){if(e!==null){if(v(t)){t=b(t),this._config.html?t.parentNode!==e&&(e.innerHTML="",e.append(t)):e.textContent=t.textContent;return}this._config.html?(this._config.sanitize&&(t=j(t,this._config.allowList,this._config.sanitizeFn)),e.innerHTML=t):e.textContent=t}}getTitle(){let e=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(e)}updateAttachment(e){return e==="right"?"end":e==="left"?"start":e}_initializeOnDelegatedTarget(e,t){return t||this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_getOffset(){let{offset:e}=this._config;return typeof e=="string"?e.split(",").map(e=>Number.parseInt(e,10)):typeof e=="function"?t=>e(t,this._element):e}_resolvePossibleFunction(e){return typeof e=="function"?e.call(this._element):e}_getPopperConfig(e){let t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:e=>this._handlePopperPlacementChange(e)}],onFirstUpdate:e=>{e.options.placement!==e.placement&&this._handlePopperPlacementChange(e)}};return{...t,...typeof this._config.popperConfig=="function"?this._config.popperConfig(t):this._config.popperConfig}}_addAttachmentClass(e){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(e)}`)}_getAttachment(e){return H[e.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(e=>{if(e==="click")a.default.on(this._element,this.constructor.Event.CLICK,this._config.selector,e=>this.toggle(e));else if(e!==J){let t=e===l?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,n=e===l?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;a.default.on(this._element,t,this._config.selector,e=>this._enter(e)),a.default.on(this._element,n,this._config.selector,e=>this._leave(e))}}),this._hideModalHandler=()=>{this._element&&this.hide()},a.default.on(this._element.closest(x),O,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){let e=this._element.getAttribute("title"),t=typeof this._element.getAttribute("data-bs-original-title");(e||t!=="string")&&(this._element.setAttribute("data-bs-original-title",e||""),e&&!this._element.getAttribute("aria-label")&&!this._element.textContent&&this._element.setAttribute("aria-label",e),this._element.setAttribute("title",""))}_enter(e,t){if(t=this._initializeOnDelegatedTarget(e,t),e&&(t._activeTrigger[e.type==="focusin"?f:l]=!0),t.getTipElement().classList.contains(u)||t._hoverState===d){t._hoverState=d;return}if(clearTimeout(t._timeout),t._hoverState=d,!t._config.delay||!t._config.delay.show){t.show();return}t._timeout=setTimeout(()=>{t._hoverState===d&&t.show()},t._config.delay.show)}_leave(e,t){if(t=this._initializeOnDelegatedTarget(e,t),e&&(t._activeTrigger[e.type==="focusout"?f:l]=t._element.contains(e.relatedTarget)),!t._isWithActiveTrigger()){if(clearTimeout(t._timeout),t._hoverState=p,!t._config.delay||!t._config.delay.hide){t.hide();return}t._timeout=setTimeout(()=>{t._hoverState===p&&t.hide()},t._config.delay.hide)}}_isWithActiveTrigger(){for(let e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1}_getConfig(e){let t=K.default.getDataAttributes(this._element);return Object.keys(t).forEach(e=>{A.has(e)&&delete t[e]}),e={...this.constructor.Default,...t,...typeof e=="object"&&e?e:{}},e.container=e.container===!1?document.body:b(e.container),typeof e.delay=="number"&&(e.delay={show:e.delay,hide:e.delay}),typeof e.title=="number"&&(e.title=e.title.toString()),typeof e.content=="number"&&(e.content=e.content.toString()),R(k,e,this.constructor.DefaultType),e.sanitize&&(e.template=j(e.template,e.allowList,e.sanitizeFn)),e}_getDelegateConfig(){let e={};for(let t in this._config)this.constructor.Default[t]!==this._config[t]&&(e[t]=this._config[t]);return e}_cleanTipClass(){let t=this.getTipElement(),n=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),e=t.getAttribute("class").match(n);e!==null&&e.length>0&&e.map(e=>e.trim()).forEach(e=>t.classList.remove(e))}_getBasicClassPrefix(){return L}_handlePopperPlacementChange(e){let{state:t}=e;t&&(this.tip=t.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(e){return this.each(function(){let t=m.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}return q(m),m})}),In=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(st()):typeof define=="function"&&define.amd?define(["./tooltip"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Popover=s(n.Tooltip))})(e,function(e){"use strict";let o=(e=>e&&typeof e=="object"&&"default"in e?e:{default:e})(e),f=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},s=[],i=e=>{document.readyState==="loading"?(s.length||document.addEventListener("DOMContentLoaded",()=>{s.forEach(e=>e())}),s.push(e)):e()},r=e=>{i(()=>{let t=f();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},a="popover",t=".bs.popover",c="bs-popover",l={...o.default.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},d={...o.default.DefaultType,content:"(string|element|function)"},u={HIDE:`hide${t}`,HIDDEN:`hidden${t}`,SHOW:`show${t}`,SHOWN:`shown${t}`,INSERTED:`inserted${t}`,CLICK:`click${t}`,FOCUSIN:`focusin${t}`,FOCUSOUT:`focusout${t}`,MOUSEENTER:`mouseenter${t}`,MOUSELEAVE:`mouseleave${t}`},h=".popover-header",m=".popover-body";class n extends o.default{static get Default(){return l}static get NAME(){return a}static get Event(){return u}static get DefaultType(){return d}isWithContent(){return this.getTitle()||this._getContent()}setContent(e){this._sanitizeAndSetContent(e,this.getTitle(),h),this._sanitizeAndSetContent(e,this._getContent(),m)}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return c}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}return r(n),n})}),Bn=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(u(),x(),O(),l()):typeof define=="function"&&define.amd?define(["./dom/event-handler","./dom/manipulator","./dom/selector-engine","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.ScrollSpy=s(n.EventHandler,n.Manipulator,n.SelectorEngine,n.Base))})(e,function(e,t,n,s){"use strict";let c=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=c(e),p=c(t),o=c(n),D=c(s),F=e=>e==null?`${e}`:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),A=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},w=e=>{let t=A(e);return t&&document.querySelector(t)?t:null},f=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),P=e=>f(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(e):null,E=(e,t,n)=>{Object.keys(n).forEach(s=>{let i=n[s],o=t[s],a=o&&f(o)?"element":F(o);if(!new RegExp(i).test(a))throw new TypeError(`${e.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)})},H=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},d=[],z=e=>{document.readyState==="loading"?(d.length||document.addEventListener("DOMContentLoaded",()=>{d.forEach(e=>e())}),d.push(e)):e()},k=e=>{z(()=>{let t=H();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},j="scrollspy",l=".bs.scrollspy",S=".data-api",m={offset:10,method:"auto",target:""},O={offset:"number",method:"string",target:"(string|element)"},x=`activate${l}`,C=`scroll${l}`,y=`load${l}${S}`,b="dropdown-item",i="active",_='[data-bs-spy="scroll"]',M=".nav, .list-group",h=".nav-link",T=".nav-item",v=".list-group-item",u=`${h}, ${v}, .${b}`,N=".dropdown",L=".dropdown-toggle",R="offset",g="position";class r extends D.default{constructor(e,t){super(e),this._scrollElement=this._element.tagName==="BODY"?window:this._element,this._config=this._getConfig(t),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,a.default.on(this._scrollElement,C,()=>this._process()),this.refresh(),this._process()}static get Default(){return m}static get NAME(){return j}refresh(){let t=this._scrollElement===this._scrollElement.window?R:g,e=this._config.method==="auto"?t:this._config.method,n=e===g?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),o.default.find(u,this._config.target).map(t=>{let s=w(t),i=s?o.default.findOne(s):null;if(i){let t=i.getBoundingClientRect();if(t.width||t.height)return[p.default[e](i).top+n,s]}return null}).filter(e=>e).sort((e,t)=>e[0]-t[0]).forEach(e=>{this._offsets.push(e[0]),this._targets.push(e[1])})}dispose(){a.default.off(this._scrollElement,l),super.dispose()}_getConfig(e){return e={...m,...p.default.getDataAttributes(this._element),...typeof e=="object"&&e?e:{}},e.target=P(e.target)||document.documentElement,E(j,e,O),e}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){let e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),e>=n){let e=this._targets[this._targets.length-1];this._activeTarget!==e&&this._activate(e);return}if(this._activeTarget&&e0){this._activeTarget=null,this._clear();return}for(let t=this._offsets.length;t--;)this._activeTarget!==this._targets[t]&&e>=this._offsets[t]&&(typeof this._offsets[t+1]>"u"||e`${t}[data-bs-target="${e}"],${t}[href="${e}"]`),t=o.default.findOne(n.join(","),this._config.target);t.classList.add(i),t.classList.contains(b)?o.default.findOne(L,t.closest(N)).classList.add(i):o.default.parents(t,M).forEach(e=>{o.default.prev(e,`${h}, ${v}`).forEach(e=>e.classList.add(i)),o.default.prev(e,T).forEach(e=>{o.default.children(e,h).forEach(e=>e.classList.add(i))})}),a.default.trigger(this._scrollElement,x,{relatedTarget:e})}_clear(){o.default.find(u,this._config.target).filter(e=>e.classList.contains(i)).forEach(e=>e.classList.remove(i))}static jQueryInterface(e){return this.each(function(){let t=r.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}return a.default.on(window,y,()=>{o.default.find(_).forEach(e=>new r(e))}),k(r),r})}),Vn=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(u(),O(),l()):typeof define=="function"&&define.amd?define(["./dom/event-handler","./dom/selector-engine","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Tab=s(n.EventHandler,n.SelectorEngine,n.Base))})(e,function(e,t,n){"use strict";let l=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},o=l(e),i=l(t),D=l(n),M=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},S=e=>{let t=M(e);return t?document.querySelector(t):null},E=e=>!!(!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled"))||(typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false"),p=e=>{e.offsetHeight},x=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},c=[],j=e=>{document.readyState==="loading"?(c.length||document.addEventListener("DOMContentLoaded",()=>{c.forEach(e=>e())}),c.push(e)):e()},g=e=>{j(()=>{let t=x();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},C="tab",s=".bs.tab",v=".data-api",b=`hide${s}`,f=`hidden${s}`,y=`show${s}`,_=`shown${s}`,w=`click${s}${v}`,O="dropdown-menu",a="active",m="fade",h="show",k=".dropdown",A=".nav, .list-group",u=".active",d=":scope > li > .active",F='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',T=".dropdown-toggle",z=":scope > .dropdown-menu .active";class r extends D.default{static get NAME(){return C}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(a))return;let e,n=S(this._element),t=this._element.closest(A);if(t){let n=t.nodeName==="UL"||t.nodeName==="OL"?d:u;e=i.default.find(n,t),e=e[e.length-1]}let s=e?o.default.trigger(e,b,{relatedTarget:this._element}):null;if(o.default.trigger(this._element,y,{relatedTarget:e}).defaultPrevented||s!==null&&s.defaultPrevented)return;this._activate(this._element,t);let r=()=>{o.default.trigger(e,f,{relatedTarget:this._element}),o.default.trigger(this._element,_,{relatedTarget:e})};n?this._activate(n,n.parentNode,r):r()}_activate(e,t,n){let s=(t&&(t.nodeName==="UL"||t.nodeName==="OL")?i.default.find(d,t):i.default.children(t,u))[0],a=n&&s&&s.classList.contains(m),o=()=>this._transitionComplete(e,s,n);s&&a?(s.classList.remove(h),this._queueCallback(o,e,!0)):o()}_transitionComplete(e,t,n){if(t){t.classList.remove(a);let e=i.default.findOne(z,t.parentNode);e&&e.classList.remove(a),t.getAttribute("role")==="tab"&&t.setAttribute("aria-selected",!1)}e.classList.add(a),e.getAttribute("role")==="tab"&&e.setAttribute("aria-selected",!0),p(e),e.classList.contains(m)&&e.classList.add(h);let s=e.parentNode;if(s&&s.nodeName==="LI"&&(s=s.parentNode),s&&s.classList.contains(O)){let t=e.closest(k);t&&i.default.find(T,t).forEach(e=>e.classList.add(a)),e.setAttribute("aria-expanded",!0)}n&&n()}static jQueryInterface(e){return this.each(function(){let t=r.getOrCreateInstance(this);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}return o.default.on(document,w,F,function(e){if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),E(this))return;r.getOrCreateInstance(this).show()}),g(r),r})}),$n=t((e,t)=>{(function(n,s){typeof e=="object"&&typeof t<"u"?t.exports=s(u(),x(),l()):typeof define=="function"&&define.amd?define(["./dom/event-handler","./dom/manipulator","./base-component"],s):(n=typeof globalThis<"u"?globalThis:n||self,n.Toast=s(n.EventHandler,n.Manipulator,n.Base))})(e,function(e,t,n){"use strict";let l=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},s=l(e),N=l(t),D=l(n),T=e=>e==null?`${e}`:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),F=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t},M=e=>{let t=F(e);return t?document.querySelector(t):null},y=e=>!!e&&typeof e=="object"&&(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),m=(e,t,n)=>{Object.keys(n).forEach(s=>{let i=n[s],o=t[s],a=o&&y(o)?"element":T(o);if(!new RegExp(i).test(a))throw new TypeError(`${e.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${i}".`)})},j=e=>!!(!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled"))||(typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false"),p=e=>{e.offsetHeight},x=()=>{let{jQuery:e}=window;return e&&!document.body.hasAttribute("data-bs-no-jquery")?e:null},c=[],g=e=>{document.readyState==="loading"?(c.length||document.addEventListener("DOMContentLoaded",()=>{c.forEach(e=>e())}),c.push(e)):e()},v=e=>{g(()=>{let t=x();if(t){let n=e.NAME,s=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=s,e.jQueryInterface)}})},b=(e,t="hide")=>{let o=`click.dismiss${e.EVENT_KEY}`,n=e.NAME;s.default.on(document,o,`[data-bs-dismiss="${n}"]`,function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),j(this))return;let o=M(this)||this.closest(`.${n}`);e.getOrCreateInstance(o)[t]()})},h="toast",o=".bs.toast",_=`mouseover${o}`,w=`mouseout${o}`,O=`focusin${o}`,f=`focusout${o}`,C=`hide${o}`,E=`hidden${o}`,k=`show${o}`,A=`shown${o}`,S="fade",u="hide",i="show",r="showing",z={animation:"boolean",autohide:"boolean",delay:"number"},d={animation:!0,autohide:!0,delay:5e3};class a extends D.default{constructor(e,t){super(e),this._config=this._getConfig(t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return z}static get Default(){return d}static get NAME(){return h}show(){if(s.default.trigger(this._element,k).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(S);let e=()=>{this._element.classList.remove(r),s.default.trigger(this._element,A),this._maybeScheduleHide()};this._element.classList.remove(u),p(this._element),this._element.classList.add(i),this._element.classList.add(r),this._queueCallback(e,this._element,this._config.animation)}hide(){if(!this._element.classList.contains(i)||s.default.trigger(this._element,C).defaultPrevented)return;let e=()=>{this._element.classList.add(u),this._element.classList.remove(r),this._element.classList.remove(i),s.default.trigger(this._element,E)};this._element.classList.add(r),this._queueCallback(e,this._element,this._config.animation)}dispose(){this._clearTimeout(),this._element.classList.contains(i)&&this._element.classList.remove(i),super.dispose()}_getConfig(e){return e={...d,...N.default.getDataAttributes(this._element),...typeof e=="object"&&e?e:{}},m(h,e,this.constructor.DefaultType),e}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t;break}if(t){this._clearTimeout();return}let n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){s.default.on(this._element,_,e=>this._onInteraction(e,!0)),s.default.on(this._element,w,e=>this._onInteraction(e,!1)),s.default.on(this._element,O,e=>this._onInteraction(e,!0)),s.default.on(this._element,f,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each(function(){let t=a.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}return b(a),v(a),a})}),Gn=c(An()),Un=c(l()),Kn=c(Tn()),qn=c(Nn()),Yn=c(Hn()),Wn=c(Ln()),Xn=c(Rn()),Jn=c(Pn()),Zn=c(In()),Qn=c(Bn()),es=c(Vn()),ts=c($n()),ns=c(st());$(window).keydown(function(e){(e.metaKey||e.ctrlKey)&&e.keyCode===75&&(e.preventDefault(),$("#search").focus())})})()

Changelog

Changelog

This list is not intended to be all-encompassing - it will document major and breaking API -changes with their rationale when appropriate:

v5.44.0.0

  • http4k-* : Upgrade some dependency versions.
  • http4k-testing-approval : [Possible Break] HtmlApprovalTest formatter improved handling of HTML attributes which may require re-approving files.
  • http4k-connect-amazon-iamidentitycenter* : Read AWS profile configuration both from credentials and config files. H/T @aharin
  • http4k-core : Deprecate lens’ regex() in favour of regexGroup. In v6 regex() will match fully, changing its current behaviour.

v5.43.0.0

  • http4k-* : Upgrade some dependency versions.
  • http4k-connect-amazon-iamidentitycenter* : Files containing tokens should only be readable by owner. H/T @aharin
  • http4k-connect-slack : [New module!] Minimal support for Slack and Slack Webhooks.

v5.42.0.0

  • http4k-* : Upgrade some dependency versions.
  • http4k-template : Fix line separators for templates to allow working across platform with templates.
  • http4k-connect-amazon-iamidentitycenter* :[Fix 1239] CredentialsProvider.SSO - Credentials caching issue.
  • http4k-connect-amazon-iamidentitycenter* : [Unlikely break] PKCE-based Authorization for AWS SSO. Tweaks should be easy to remedy in previous SSO implementation. H/T @aharin

v5.41.0.0

  • http4k-format-xml : [Fix CVE-2024-55875: Possible Break] Fixed XML processing by disabling entity expansion in DocumentBuilderFactory configuration. +changes with their rationale when appropriate:

    v5.44.1.0 (uncut)

    • http4k-template-thymeleaf : Support template fragments. H/T @mikaelstaldal

    v5.44.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-testing-approval : [Possible Break] HtmlApprovalTest formatter improved handling of HTML attributes which may require re-approving files.
    • http4k-connect-amazon-iamidentitycenter* : Read AWS profile configuration both from credentials and config files. H/T @aharin
    • http4k-core : Deprecate lens’ regex() in favour of regexGroup. In v6 regex() will match fully, changing its current behaviour.

    v5.43.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-connect-amazon-iamidentitycenter* : Files containing tokens should only be readable by owner. H/T @aharin
    • http4k-connect-slack : [New module!] Minimal support for Slack and Slack Webhooks.

    v5.42.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-template : Fix line separators for templates to allow working across platform with templates.
    • http4k-connect-amazon-iamidentitycenter* :[Fix 1239] CredentialsProvider.SSO - Credentials caching issue.
    • http4k-connect-amazon-iamidentitycenter* : [Unlikely break] PKCE-based Authorization for AWS SSO. Tweaks should be easy to remedy in previous SSO implementation. H/T @aharin

    v5.41.0.0

    • http4k-format-xml : [Fix CVE-2024-55875: Possible Break] Fixed XML processing by disabling entity expansion in DocumentBuilderFactory configuration. Note: This change affects how XML entity references are handled. If your code relies on XML entity expansion (like replacing &entity; references with their defined content), it will need to be updated to provide the correct configuration when deserialising the XML body. Entity references will now remain as unexpanded text in the document.

    Full details at: https://www.http4k.org/security/cve-2024-12345/

    H/T to @@JAckLosingHeart for the report.

    v5.40.0.0

    • http4k-core : Allow invalidation of cookie with a path. H/T @ollieabbey
    • http4k-core : Allow setting cookie value without quotes. H/T @ollieabbey
    • http4k-core : Fix cookie format for cookie with no attributes. H/T @ollieabbey
    • http4k-testing-webdriver : Remove usages of deprecated getAttribute API. Now use getDomAttribute instead.
    • http4k-cloudnative : [Breaking] Deprecation of various functions and re-homing into http4k-platform-k8s module. Some classes and functions have been repackaged.
    • http4k-* : [PRE RELEASE PREPARATION] As a part of the upcoming V6, several modules are being rehoused to new Maven coordinates within http4k Community edition (and retaining the Apache2 license). In preparation, we have introduced these modules to give users the time to migrate without taking on-board other breaking changes from v6 - essentially allowing the upgrade cycle to be:
    1. Upgrade to latest v5 release. Deal with deprecations and module changes.
    2. Upgrade to v6 when it is released. Deal with other breaking changes. We expect these to be mainly imports and will be detailed in the v6 release note when we have the chance. In the meantime, this is the list of modules that are being rehoused:
    SOURCE MODULE - v5.X.X.XDESTINATION MODULE(S) - v6.X.X.X
    http4k-awshttp4k-platform-aws
    http4k-azurehttp4k-platform-azure
    http4k-cloudeventshttp4k-api-cloudevents
    http4k-cloudnativeSplit into http4k-config, http4k-platform-core, http4k-platform-k8s
    http4k-contracthttp4k-api-openapi
    http4k-contract-jsonschemahttp4k-api-jsonschema
    http4k-contract-ui-redochttp4k-api-ui-redoc
    http4k-contract-ui-swaggerhttp4k-api-ui-swagger
    http4k-failsafehttp4k-ops-failsafe
    http4k-gcphttp4k-platform-gcp
    http4k-graphqlhttp4k-api-graphql
    http4k-htmxhttp4k-web-htmx
    http4k-jsonrpchttp4k-api-jsonrpc
    http4k-metrics-micrometerhttp4k-ops-micrometer
    http4k-opentelemetryhttp4k-ops-opentelemetry
    http4k-resilience4jhttp4k-ops-resilience4j

    v5.39.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-amazon-*-fake : [Unlikely break] Rename AmazonRestfulFake to AmazonRestJsonFake
    • http4k-amazon-evidently-fake : Fixed Project status value to be a valid value instead of an empty string

    v5.38.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-core : [Unlikely break] Split of RequestWithRoute into Request and RoutedMessage
    • http4k-realtime-core-* : Further rework on Sse and Ws to add functionalities missing (which are present in HTTP)

    v5.37.1.1

    • http4k-format-* : [Fix 1225] Issue with Datastar module being required on the classpath. Causes NoClassDefFoundError.

    v5.37.1.0

    • http4k-format-jackson : Fixed issue with Jackson pulling in a dependency that it didn’t need.

    v5.37.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-contract-* : Ability to model binary downloads in OpenAPI format. H/T @hektorKS
    • http4k-server-* : [Possible Break] The return type to sse.send() is now Sse instead of Unit
    • http4k-server-helidon : Add WebSocket support.
    • http4k-server-* : Fixes to SSE support for various servers.

    v5.36.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-realtime-core* : [Possible Break] SSE responses now contain a “handled” flag, so we can now fallback from SSE to HTTP if the route is unbound in SSE. SSE now also returns a 404 if the route is unbound.
    • http4k-server-helidon* : [Possible Break] Slight refactor of SSE code to support SSE -> HTTP fallback
    • http4k-server-helidon* : [Possible Break] Throw exception if configured with Immediate stop mode as it’s not supported.
    • http4k-server-jetty* : [Possible Break] Slight refactor of SSE code to support SSE -> HTTP fallback
    • http4k-server-jetty11* : [Possible Break] Slight refactor of SSE code to support SSE -> HTTP fallback
    • http4k-server-netty* : [Possible Break] Throw exception if configured with Immediate stop mode as it’s not supported.
    • http4k-server-undertow* : [Possible Break] Slight refactor of SSE code to support SSE -> HTTP fallback

    v5.35.5.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-server-helidon* : Fixes to SSE support
    • http4k-server-helidon* : Throw exception if configured with Graceful stop mode as it’s not supported.
    • http4k-server-undertow* : Fixes to SSE support

    v5.35.4.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-server-helidon* : Add support for SSE. There are some limitations - see HelidonSseTest for details.
    • http4k-server-helidon* : Add support for SSE. There are some limitations - see HelidonSseTest for details.

    v5.35.4.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-server-helidon* : Add support for SSE. There are some limitations - see HeliconSseTest for details.
    • http4k-realtime-core* : Added Debugging for Websocket and SSE connections.
    • http4k-realtime-core* : Can now route SSE based on the method as well as the path.

    v5.35.3.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-gcp : [New module!] SDK support for GCP services.

    v5.35.2.0

    • http4k-server-ktorcio : Upgrade to Ktor 3
    • http4k-server-ktornetty : Upgrade to Ktor 3
    • http4k-* : Upgrade some dependency versions.

    v5.35.1.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-* - [Fix again!] Missing dependencies in various modules
    • http4k-connect* - [Fix again!] Missing dependencies in various modules

    v5.35.0.0

    • http4k-bom : Now includes all http4k-connect modules.

    v5.34.1.0

    • http4k-* : Upgrade some dependency versions.

    v5.34.0.0

    • http4k-core : [Unlikely break] Fix parsing of accept header. It may break direct usages of Accept class
    • http4k-core : Fix tracking of uri templates during in-memory request redirection
    • http4k-core : Make LocalCookie serialisable
    • http4k-testing-tracerbullet : Render other types of participant in PlantUML diagrams

    v5.33.1.0

    • http4k-* : Upgrade some dependency versions.

    v5.33.0.1

    • http4k-multipart* : [Fix #1188] MultiPartFormBody reads body into memory even when stream is available

    v5.33.0.0

    • http4k-* : Upgrade some dependency versions, including Kotlin to 2.0.21
    • http4k-core : [Unlikely break] Adding start time to HTTP Transaction. Should be a simple fix if you are already creating your own for some reason. :) H/T @npryce
    • http4k-resilience4j : Add resilience4j timeout filter. H/T @ollieabbey
    • http4k-format-* : Adding ability to create BiDiMapping lens. H/T @potfur
    • http4k-server-apache - [Fix] Apache httpcomponents server throws when returning 204.

    v5.32.4.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-testing-approval Better diffing of failures in the IDE. @H/T @frednordin
    • http4k-core Gzip mixed compression mode H/T @IlyaNerd

    v5.32.3.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-testing-approval Support for binary comparisons using BinaryApprovalTest. @H/T @oharaandrew314

    v5.32.2.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-testing-approval : Fix withNameSuffix which wasn’t checking the content type when you overrode the name suffix.ยง

    v5.32.1.0

    • http4k-core : Fix ordering of params on Body.webForm()
    • http4k-* : Tightened up nullable types and data class constructor visibility on various APIs

    v5.32.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-client-apache* : [Unlikely break]: Removed insecureApacheHttpClient() due to deprecated API.
    • http4k-webdriver* : [Unlikely break]: New Nullable types on WebDriver API led to tightening up our implementations.

    v5.31.1.0

    • http4k-* : Upgrade some dependency versions.

    v5.31.0.0

    • http4k-server-apache : [Possible Break] Upgrade httpcore to 5.3, which introduces stricter authority validation. This may break projects with custom version of ApacheServer.

    v5.30.1.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-client-jetty : [Fix] encoding of binary content in Jetty client. H/T @kwydler
    • http4k-client-* : All websocket implementations implement a unified WebsocketFactory. @H/T @oharaandrew314

    v5.30.0.0

    • http4k-* : Upgrade some dependency versions.
    • http4k-multipart : [Fix] Further fixes to deletion of temporary files. Should fix memory leak. @H/T @oharaandrew314
    • http4k-server-jetty11 : [Fix] Received binary Websocket frames will no longer have their content coerced to text. @H/T @oharaandrew314
    • http4k-* : [Breaking] Make WsMessage mode explicit. @H/T @oharaandrew314

    Migration Guide

    Previously, a WsMessage was sent in either TEXT or BINARY mode based on whether the Body was a MemoryBody or StreamBody, respectively.

    :warning: Warning: If you were using the primary constructor of WsMessage, you will need to explicitly provide a WsMessage.Mode to resolve the new compiler errors.

    val textMessage = WsMessage(MemoryBody("hi"), WsMessage.Mode.Text)