From 2a8c9a3c6697eb8bd18ab22606857360d0115985 Mon Sep 17 00:00:00 2001 From: Udo Schnurpfeil Date: Mon, 25 Nov 2024 21:49:36 +0100 Subject: [PATCH 01/14] feat: Show progress on file upload (#5726) PoC: logging is implemented now issue: TOBAGO-2365 --- tobago-theme/package-lock.json | 8 +-- tobago-theme/package.json | 2 +- .../src/main/js/faces.js | 2 +- .../src/main/js/faces.js.map | 2 +- .../src/main/js/tobago.js | 2 +- .../src/main/js/tobago.js.map | 2 +- .../src/main/ts/faces.d.ts | 11 +++- .../src/main/ts/tobago-behavior.ts | 66 ++++++++----------- .../src/main/ts/tobago-file.ts | 4 +- 9 files changed, 47 insertions(+), 52 deletions(-) diff --git a/tobago-theme/package-lock.json b/tobago-theme/package-lock.json index 0ab50807e5..ff06cf0575 100644 --- a/tobago-theme/package-lock.json +++ b/tobago-theme/package-lock.json @@ -12,7 +12,7 @@ "@trevoreyre/autocomplete-js": "3.0.3", "bootstrap": "5.3.3", "bootstrap-icons": "1.11.3", - "jsf.js_next_gen": "4.0.4-beta.2", + "jsf.js_next_gen": "4.0.4-beta.3", "lit-html": "3.2.1" }, "devDependencies": { @@ -4939,9 +4939,9 @@ } }, "node_modules/jsf.js_next_gen": { - "version": "4.0.4-beta.2", - "resolved": "https://registry.npmjs.org/jsf.js_next_gen/-/jsf.js_next_gen-4.0.4-beta.2.tgz", - "integrity": "sha512-oIItgP8UWmh8Tgc9Z8E3J9/BE7SCD+0Mjv52IDzfxRO3o2tytJfjh36raeGFxoYs6OVTdyHk9SpxE5xPgjczVA==", + "version": "4.0.4-beta.3", + "resolved": "https://registry.npmjs.org/jsf.js_next_gen/-/jsf.js_next_gen-4.0.4-beta.3.tgz", + "integrity": "sha512-uJvDdYmBbxevD7mHiF1MZe9ubiHzw5KcLaDQi6I+BnGR1fQy9Q3WKIeO5lJkSGEYjVCNgSduD5LrBycQEomEjQ==", "license": "Apache-2.0", "dependencies": { "mona-dish": "0.28.12" diff --git a/tobago-theme/package.json b/tobago-theme/package.json index 5fb61c6273..4305f9b28d 100644 --- a/tobago-theme/package.json +++ b/tobago-theme/package.json @@ -70,7 +70,7 @@ "@trevoreyre/autocomplete-js": "3.0.3", "bootstrap": "5.3.3", "bootstrap-icons": "1.11.3", - "jsf.js_next_gen": "4.0.4-beta.2", + "jsf.js_next_gen": "4.0.4-beta.3", "lit-html": "3.2.1" }, "devDependencies": { diff --git a/tobago-theme/tobago-theme-standard/src/main/js/faces.js b/tobago-theme/tobago-theme-standard/src/main/js/faces.js index c150d03eff..2f0033f898 100644 --- a/tobago-theme/tobago-theme-standard/src/main/js/faces.js +++ b/tobago-theme/tobago-theme-standard/src/main/js/faces.js @@ -1,3 +1,3 @@ /*! For license information please see faces.js.LICENSE.txt */ -(()=>{"use strict";var e={771:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.deepEqual=t.shallowMerge=t.simpleShallowMerge=t.deepCopy=t.buildPath=t.resolve=t.appendIf=t.assignIf=t.append=t.assign=void 0;const r=n(86);class s{constructor(e){this.parent=e}set value(e){}get value(){return this.parent}}function l(e,...t){if(t.length<1)return new s(e);const n=d(e,...t);return new class{set value(e){n.target[n.key]=e}get value(){return n.target[n.key]}}}function o(e,...t){if(t.length<1)return new s(e);const n=d(e,...t);return new class{set value(e){Array.isArray(e)||(e=[e]),n.target[n.key]?(Array.isArray(n.target[n.key])||(n.target[n.key]=[n.target[n.key]]),n.target[n.key].push(...e)):n.target[n.key]=e}}}function i(e){let t=e.indexOf("[");return t>=0?e.substring(0,t):e}function a(e){let t=e.indexOf("["),n=e.indexOf("]");return t>=0&&n>0&&te.split("["))).map((e=>-1!=e.indexOf("]")?"["+e:e)).filter((e=>""!=e))}function d(e,...t){t=c(t);let n=e,r=null,s=null,l=-1;for(let e=0;e({arr:e,keys:Object.keys(e)}))).forEach((({arr:n,keys:l})=>{l.forEach((l=>{let o=n[l];!Array.isArray(o)&&t&&(o=new r.Es2019Array(...[o])),e||!(null==s?void 0:s[l])?function(e,t,n,s,l){if(e)if(void 0===(null==t?void 0:t[n]))t[n]=l;else if(Array.isArray(t[n])){let e=t[n],r=[];l.forEach((t=>{-1==e.indexOf(t)&&r.push(t)})),t[n].push(...r)}else{let e=t[n],s=[];l.forEach((t=>{e!=t&&s.push(t)})),t[n]=new r.Es2019Array(...[]),t[n].push(e),t[n].push(...s)}else t[n]=s[n]}(t,s,l,n,o):!e&&(null==s?void 0:s[l])&&function(e,t,n,s,l){if(e)if(void 0===(null==t?void 0:t[n]))t[n]=l;else if(Array.isArray(t[n]))t[n].push(...l);else{let e=t[n];t[n]=new r.Es2019Array(...[]),t[n].push(e),t[n].push(...l)}}(t,s,l,0,o)}))})),s}t.assign=l,t.append=o,t.assignIf=function(e,t,...n){return!e||n.length<1?new s(t):l(t,...n)},t.appendIf=function(e,t,...n){return!e||n.length<1?new s(t):o(t,...n)},t.resolve=function(e,...t){let n=null;t=c(t);let r=e;for(let e=0;ee(t,n[r])))}if("object"==typeof t&&"object"==typeof n){let r=Object.keys(t),s=Object.keys(n);return r.length==s.length&&r.every((e=>-1!=s.indexOf(e)))&&r.every((r=>e(t[r],n[r])))}return!1}},517:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Config=t.CONFIG_ANY=t.CONFIG_VALUE=void 0;const r=n(86),s=n(204);var l=n(519).Lang.objAssign;const o=n(771);class i extends s.ValueEmbedder{constructor(e,t,n){super(e,t),this.arrPos=null!=n?n:-1}get value(){return""==this.key&&this.arrPos>=0?this._value[this.arrPos]:this.key&&this.arrPos>=0?this._value[this.key][this.arrPos]:this._value[this.key]}set value(e){""==this.key&&this.arrPos>=0?this._value[this.arrPos]=e:this.key&&this.arrPos>=0?this._value[this.key][this.arrPos]=e:this._value[this.key]=e}}i.absent=i.fromNullable(null),t.CONFIG_VALUE="__END_POINT__",t.CONFIG_ANY="__ANY_POINT__";class a extends s.Optional{constructor(e,t){super(e),this.configDef=t}get shallowCopy(){return this.shallowCopy$()}shallowCopy$(){let e=new a({});return e.shallowMerge(this.value),e}get deepCopy(){return this.deepCopy$()}deepCopy$(){return new a(l({},this.value))}static fromNullable(e){return new a(e)}shallowMerge(e,t=!0,n=!1){let r=(0,o.shallowMerge)(t,n,this.value,e.value);Array.isArray(this._value)?(this._value.length=0,this._value.push(...r)):(Object.getOwnPropertyNames(this._value).forEach((e=>delete this._value[e])),Object.getOwnPropertyNames(r).forEach((e=>this._value[e]=r[e])))}append(...e){return(0,o.append)(this._value,...e)}appendIf(e,...t){return(0,o.appendIf)(e,this._value,...t)}assign(...e){return(0,o.assign)(this.value,...e)}assignIf(e,...t){return(0,o.assignIf)(e,this._value,...t)}getIf(...e){return this.assertAccessPath(...e),this.getClass().fromNullable((0,o.resolve)(this.value,...e))}get(e){return this.getClass().fromNullable(super.get(e).value)}delete(e){return e in this.value&&delete this.value[e],this}toJson(){return JSON.stringify(this.value)}getClass(){return a}setVal(e){this._value=e}assertAccessPath(...e){var n,l,o,i,a,u,c,d,h;if(e=this.preprocessKeys(...e),!this.configDef)return;let E=s.Optional.fromNullable(Object.keys(this.configDef).map((e=>{let t={};return t[e]=this.configDef[e],t})));for(let v=0;v{var t;return!(null===(t=null==e?void 0:e[_])||void 0===t||!t)})))||void 0===n?void 0:n[_])||void 0===l?void 0:l[f]):s.Optional.fromNullable(null!==(a=null===(i=null===(o=E.value)||void 0===o?void 0:o[_])||void 0===i?void 0:i[f])&&void 0!==a?a:null):Array.isArray(E.value)?s.Optional.fromNullable(null===(u=E.value)||void 0===u?void 0:u[f]):s.Optional.absent:Array.isArray(E.value)?s.Optional.fromNullable(null===(c=new r.Es2019Array(...E.value).find((e=>{var t;return!(null===(t=null==e?void 0:e[_])||void 0===t||!t)})))||void 0===c?void 0:c[_]):s.Optional.fromNullable(null!==(h=null===(d=E.value)||void 0===d?void 0:d[_])&&void 0!==h?h:null),!E.isPresent())throw Error("Access Path to config invalid");if(E.value==t.CONFIG_ANY)return}}isNoArray(e){return-1==e}isArray(e){return!this.isNoArray(e)}}t.Config=a},331:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(s,l){function o(e){try{a(r.next(e))}catch(e){l(e)}}function i(e){try{a(r.throw(e))}catch(e){l(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,i)}a((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DQ$=t.DQ=t.DomQueryCollector=t.DomQuery=t.Style=t.ElementAttribute=void 0;const s=n(204),l=n(785),o=n(519),i=n(228),a=n(86);var u=o.Lang.trim,c=o.Lang.isString,d=o.Lang.equalsIgnoreCase,h=o.Lang.objToArray;const E=n(771);class v extends s.ValueEmbedder{constructor(e){super(null==e?void 0:e[0],"nonce"),this.rootElems=e}isAbsent(){const e=this.value;return void 0===e||""==e}get value(){var e,t,n,r,s;return null!==(n=null===(t=null===(e=null==this?void 0:this.rootElems)||void 0===e?void 0:e[0])||void 0===t?void 0:t.nonce)&&void 0!==n?n:null===(s=null===(r=null==this?void 0:this.rootElems)||void 0===r?void 0:r[0])||void 0===s?void 0:s.getAttribute("nonce")}set value(e){var t;(null===(t=null==this?void 0:this.rootElems)||void 0===t?void 0:t.length)&&this.rootElems.forEach((t=>{void 0!==(null==t?void 0:t.nonce)?t.nonce=e:t.setAttribute("nonce",e)}))}}var _;!function(e){e.SELECT="select",e.BUTTON="button",e.SUBMIT="submit",e.RESET="reset",e.IMAGE="image",e.RADIO="radio",e.CHECKBOX="checkbox"}(_||(_={}));class f extends s.ValueEmbedder{constructor(e,t,n=null){super(e,t),this.element=e,this.name=t,this.defaultVal=n}get value(){let e=this.element.get(0).orElse().values;return e.length?e[0].getAttribute(this.name):this.defaultVal}set value(e){let t=this.element.get(0).orElse().values;for(let n=0;n!0;class A{constructor(...e){if(this.rootNode=[],this.pos=-1,this._limits=-1,!s.Optional.fromNullable(e).isAbsent()&&e.length)for(let t=0;t!!e.checked))}set checked(e){this.eachElem((t=>t.checked=e))}get elements(){return this.querySelectorAll("input, checkbox, select, textarea, fieldset")}get deepElements(){return this.querySelectorAllDeep("input, select, textarea, checkbox, fieldset")}querySelectorAllDeep(e){let t=[],n=this.querySelectorAll(e);n.length&&t.push(n);let r=this.querySelectorAll("*").shadowRoot;if(r.length){let n=r.querySelectorAllDeep(e);n.length&&t.push(n)}return new A(...t)}get disabled(){return this.attr("disabled").isPresent()}set disabled(e){e?this.attr("disabled").value="disabled":this.removeAttribute("disabled")}removeAttribute(e){this.eachElem((t=>t.removeAttribute(e)))}get childNodes(){let e=[];return this.eachElem((t=>{e=e.concat(h(t.childNodes))})),new A(...e)}get asArray(){return new a.Es2019Array(...this.rootNode).filter((e=>null!=e)).map((e=>A.byId(e)))}get offsetWidth(){return new a.Es2019Array(...this.rootNode).filter((e=>null!=e)).map((e=>e.offsetWidth)).reduce(((e,t)=>e+t),0)}get offsetHeight(){return new a.Es2019Array(...this.rootNode).filter((e=>null!=e)).map((e=>e.offsetHeight)).reduce(((e,t)=>e+t),0)}get offsetLeft(){return new a.Es2019Array(...this.rootNode).filter((e=>null!=e)).map((e=>e.offsetLeft)).reduce(((e,t)=>e+t),0)}get offsetTop(){return new a.Es2019Array(this.rootNode).filter((e=>null!=e)).map((e=>e.offsetTop)).reduce(((e,t)=>e+t),0)}get asNodeArray(){return new a.Es2019Array(...this.rootNode.filter((e=>null!=e)))}get nonce(){return new v(this.rootNode)}static querySelectorAllDeep(e){return new A(document).querySelectorAllDeep(e)}static querySelectorAll(e){return-1!=e.indexOf("/shadow/")?new A(document)._querySelectorAllDeep(e):new A(document)._querySelectorAll(e)}static byId(e,t=!1){return c(e)?t?new A(document).byIdDeep(e):new A(document).byId(e):new A(e)}static byTagName(e){return c(e)?new A(document).byTagName(e):new A(e)}static globalEval(e,t){return new A(document).globalEval(e,t)}static globalEvalSticky(e,t){return new A(document).globalEvalSticky(e,t)}static fromMarkup(e){const t=document.implementation.createHTMLDocument("");let n=(e=u(e)).toLowerCase();if(-1!=n.search(/"].join(""),r=["<",t," "].join("");return 0==e.indexOf(n)||0==e.indexOf(r)},r=new A(document.createElement("div"));return t(n,"thead")||t(n,"tbody")?(r.html(`${e}
`),r.querySelectorAll("table").get(0).childNodes.detach()):t(n,"tfoot")?(r.html(``),r.querySelectorAll("table").get(2).childNodes.detach()):t(n,"tr")?(r.html(`
${e}
`),r.querySelectorAll("tbody").get(0).childNodes.detach()):t(n,"td")?(r.html(`${e}
`),r.querySelectorAll("tr").get(0).childNodes.detach()):(r.html(e),r.childNodes.detach())}}get(e){return e{e.parentNode&&e.parentNode.removeChild(e)}))}querySelectorAll(e){return-1!=e.indexOf("/shadow/")?this._querySelectorAllDeep(e):this._querySelectorAll(e)}closest(e){return-1!=e.indexOf("/shadow/")?this._closestDeep(e):this._closest(e)}byId(e,t){let n=[];return t&&(n=n.concat(...new a.Es2019Array(...(null==this?void 0:this.rootNode)||[]).filter((t=>e==t.id)).map((e=>new A(e))))),n=n.concat(this.querySelectorAll(`[id="${e}"]`)),new A(...n)}byIdDeep(e,t){let n=[];t&&(n=n.concat(new a.Es2019Array(...(null==this?void 0:this.rootNode)||[]).filter((t=>e==t.id)).map((e=>new A(e)))));let r=this.querySelectorAllDeep(`[id="${e}"]`);return r.length&&n.push(r),new A(...n)}byTagName(e,t,n){var r;let s=[];return t&&(s=new a.Es2019Array(...null!==(r=null==this?void 0:this.rootNode)&&void 0!==r?r:[]).filter((t=>(null==t?void 0:t.tagName)==e)).reduce(((e,t)=>e.concat([t])),s)),n?s.push(this.querySelectorAllDeep(e)):s.push(this.querySelectorAll(e)),new A(...s)}attr(e,t=null){return new f(this,e,t)}style(e,t=null){return new p(this,e,t)}hasClass(e){let t=!1;return this.eachElem((n=>{if(t=n.classList.contains(e),t)return!1})),t}addClass(e){return this.eachElem((t=>t.classList.add(e))),this}removeClass(e){return this.eachElem((t=>t.classList.remove(e))),this}isMultipartCandidate(e=!1){const t="input[type='file']";return this.matchesSelector(t)||(e?this.querySelectorAllDeep(t):this.querySelectorAll(t)).first().isPresent()}html(e){return s.Optional.fromNullable(e).isAbsent()?this.isPresent()?s.Optional.fromNullable(this.innerHTML):s.Optional.absent:(this.innerHTML=e,this)}dispatchEvent(e){return this.eachElem((t=>t.dispatchEvent(e))),this}set innerHTML(e){this.eachElem((t=>t.innerHTML=e))}get innerHTML(){let e=[];return this.eachElem((t=>e.push(t.innerHTML))),e.join("")}set innerHtml(e){this.innerHTML=e}get innerHtml(){return this.innerHTML}filterSelector(e){let t=[];return this.eachElem((n=>{this._mozMatchesSelector(n,e)&&t.push(n)})),new A(...t)}matchesSelector(e){return this.asArray.some((t=>this._mozMatchesSelector(t.getAsElem(0).value,e)))}getIf(...e){let t=this.childNodes;for(let n=0;ne){return this.rootNode.length>1&&e(this.rootNode[0],0),this}lastElem(e=e=>e){return this.rootNode.length>1&&e(this.rootNode[this.rootNode.length-1],0),this}each(e){return new a.Es2019Array(...this.rootNode).forEach(((t,n)=>{if(null!=t)return e(A.byId(t),n)})),this}replace(e){return this.each((t=>{let n=t.getAsElem(0).value,r=n.parentElement,s=n.nextElementSibling,l=n.previousElementSibling;null!=s?new A(s).insertBefore(e):l?new A(l).insertAfter(e):new A(r).append(e),t.delete()})),e}first(e=e=>e){return this.rootNode.length>=1?(e(this.get(0),0),this.get(0)):this}last(e=e=>e){if(this.rootNode.length>=1){let t=this.get(this.rootNode.length-1);return e(t,0),t}return this}filter(e){let t=[];return this.each((n=>{e(n)&&t.push(n)})),new A(...t)}globalEval(e,t){var n,r,s;const l=null!==(r=null===(n=document.getElementsByTagName("head"))||void 0===n?void 0:n[0])&&void 0!==r?r:null===(s=document.documentElement.getElementsByTagName("head"))||void 0===s?void 0:s[0],o=document.createElement("script");t&&(void 0!==(null==o?void 0:o.nonce)?o.nonce=t:o.setAttribute("nonce",t)),o.type="text/javascript",o.innerHTML=e;let i=l.appendChild(o);return l.removeChild(i),this}globalEvalSticky(e,t){let n=document.getElementsByTagName("head")[0]||document.documentElement,r=document.createElement("script");return this.applyNonce(t,r),r.type="text/javascript",r.innerHTML=e,n.appendChild(r),this}detach(){return this.eachElem((e=>{e.parentNode.removeChild(e)})),this}appendTo(e){return o.Lang.isString(e)?(this.appendTo(A.querySelectorAll(e)),this):(this.eachElem((t=>{e.getAsElem(0).orElseLazy((()=>({appendChild:()=>{}}))).value.appendChild(t)})),this)}loadScriptEval(e,t=0,n){return this._loadScriptEval(!1,e,t,n),this}loadScriptEvalSticky(e,t=0,n){return this._loadScriptEval(!0,e,t,n),this}insertAfter(...e){this.each((t=>{let n=t.getAsElem(0).value,r=n.parentNode;for(let t=0;t{s?(r.insertBefore(e,s),n=s):r.appendChild(e)}))}}));let t=[];return t.push(this),t=t.concat(e),new A(...t)}insertBefore(...e){this.each((t=>{let n=t.getAsElem(0).value,r=n.parentNode;for(let t=0;t{r.insertBefore(e,n)}))}));let t=[];return t.push(this),t=t.concat(e),new A(...t)}orElse(...e){return this.isPresent()?this:new A(...e)}orElseLazy(e){return this.isPresent()?this:new A(e())}allParents(e){let t=this.parent(),n=[];for(;t.isPresent();)t.matchesSelector(e)&&n.push(t),t=t.parent();return new A(...n)}firstParent(e){let t=this.parent();for(;t.isPresent();){if(t.matchesSelector(e))return t;t=t.parent()}return A.absent}parentsWhileMatch(e){const t=[];let n=this.parent().filter((t=>t.matchesSelector(e)));for(;n.isPresent();)t.push(n),n=n.parent().filter((t=>t.matchesSelector(e)));return new A(...t)}parent(){let e=[];return this.eachElem((t=>{let n=t.parentNode||t.host||t.shadowRoot;n&&-1==e.indexOf(n)&&e.push(n)})),new A(...e)}copyAttrs(e){return e.eachElem((e=>{let t=h(e.attributes);for(let e of t){let t=e.value,n=e.name;switch(n){case"id":this.id.value=t;break;case"disabled":this.resolveAttributeHolder("disabled").disabled=t;break;case"checked":this.resolveAttributeHolder("checked").checked=t;break;case"nonce":break;default:this.attr(n).value=t}}})),e.nonce.isPresent((()=>{this.nonce.value=e.nonce.value})),this}outerHTML(e,t,n,r=!1){var s;if(this.isAbsent())return;let l=null===(s=null===document||void 0===document?void 0:document.activeElement)||void 0===s?void 0:s.id,o=l?A.getCaretPosition(document.activeElement):null,i=A.fromMarkup(e),a=[],u=this.getAsElem(0).value,c=i.get(0),d=u.parentNode,h=c.getAsElem(0).value;if(d.replaceChild(h,u),a.push(new A(h)),this.isAbsent())return this;let E=[];i.length>1&&(E=E.concat(...i.values.slice(1)),a.push(A.byId(h).insertAfter(new A(...E)))),t&&this.runScripts(),n&&this.runCss();let v=A.byId(l);return l&&v.isPresent()&&null!=o&&void 0!==o&&v.eachElem((e=>A.setCaretPosition(e,o))),i}runScripts(e=!1,t=T){const n=t=>{if(t.length){let n=[];new a.Es2019Array(...t).forEach((t=>{t.nonce?(n.length&&(this.globalEval(n.join("\n")),n.length=0),e?this.globalEvalSticky(t.evalText,t.nonce):this.globalEval(t.evalText,t.nonce)):n.push(t.evalText)})),n.length&&(e?this.globalEvalSticky(n.join("\n")):this.globalEval(n.join("\n")),n.length=0),t=[]}return t};let r=[],s=["","script","text/javascript","text/ecmascript","ecmascript"],l=l=>{var o,i,a,c;let h=l.tagName,E=(null!==(o=null==l?void 0:l.type)&&void 0!==o?o:"").toLowerCase();if(h&&d(h,"script")&&-1!=s.indexOf(E)){let s=l.getAttribute("src");if(void 0!==s&&null!=s&&s.length>0){let o=null!==(i=null==l?void 0:l.nonce)&&void 0!==i?i:l.getAttribute("nonce").value;t(s)&&(r=n(r),e?o?this.loadScriptEvalSticky(s,0,o):this.loadScriptEvalSticky(s,0):o?this.loadScriptEval(s,0,o):this.loadScriptEval(s,0))}else{let e=u(l.text||l.innerText||l.innerHTML),t=!0;for(;t;)t=!1,"\x3c!--"==e.substring(0,4)&&(e=e.substring(4),t=!0),"//\x3c!--"==e.substring(0,4)&&(e=e.substring(6),t=!0),"//[...e.values])).sort(((e,t)=>t.compareDocumentPosition(e)-3)).forEach((e=>l(e))),n(r)}catch(e){console&&console.error&&console.error(e.message||e.description)}finally{l=null}return this}runCss(){return new A(this.filterSelector("link, style"),this.querySelectorAll("link, style")).asArray.flatMap((e=>[...e.values])).sort(((e,t)=>e.compareDocumentPosition(t)-3)).forEach((e=>(e=>{const t=A.byId(e),n=t.tagName.orElse("").value;let r=A.fromMarkup(`<${n.toLowerCase()} />`);r=r.copyAttrs(t),r.innerHTML=e.innerHTML,t.replace(r)})(e))),this}click(){return this.fireEvent("click"),this}addEventListener(e,t,n){return this.eachElem((r=>r.addEventListener(e,t,n))),this}removeEventListener(e,t,n){return this.eachElem((r=>r.removeEventListener(e,t,n))),this}fireEvent(e,t={}){let n={bubbles:!0,cancelable:!0};n=(0,E.simpleShallowMerge)(n,t),this.eachElem((t=>{let r;if(t.ownerDocument)r=t.ownerDocument;else{if(9!=t.nodeType)throw new Error("Invalid node passed to fireEvent: "+t.id);r=t}if(t.dispatchEvent){let r=Event;switch(e){case"click":case"mousedown":case"mouseup":case"mousemove":r=this.global().MouseEvent;break;case"keyup":case"keydown":case"keypress":r=this.global().KeyboardEvent;break;case"focus":case"change":case"blur":case"select":break;default:throw"fireEvent: Couldn't find an event class for event '"+e+"'."}let s=new r(e,n);s.synthetic=!0,t.dispatchEvent(s)}else if(t.fireEvent){let s=r.createEventObject();s.synthetic=!0,Object.keys(n).forEach((e=>s[e]=n[e])),t.fireEvent("on"+e,s)}}))}textContent(e=""){return this.asArray.map((e=>e.getAsElem(0).orElseLazy((()=>({textContent:""}))).value.textContent||"")).reduce(((t,n)=>[t,e,n].join("")),"")}innerText(e=""){return this.asArray.map((e=>e.getAsElem(0).orElseLazy((()=>({innerText:""}))).value.innerText||"")).reduce(((t,n)=>[t,n].join(e)),"")}encodeFormElement(e={}){if(this.name.isAbsent())return;let t=(0,E.simpleShallowMerge)(e);return this.each((e=>{var n,r;if(e.name.isAbsent())return;let s=e.name.value,l=e.tagName.orElse("__none__").value.toLowerCase(),o=e.type.orElse("__none__").value.toLowerCase();if(o=o.toLowerCase(),("input"==l||"textarea"==l||"select"==l)&&null!=s&&""!=s&&!e.disabled){if("select"==l){let n=e.getAsElem(0).value;if(n.selectedIndex>=0){let e=n.options.length;for(let r=0;re.childNodes.asArray)).filter((e=>{var t,n;return 4==(null===(n=null===(t=null==e?void 0:e.value)||void 0===t?void 0:t.value)||void 0===n?void 0:n.nodeType)})).reduce(((e,t)=>{var n,r,s;return e.push(null!==(s=null===(r=null===(n=null==t?void 0:t.value)||void 0===n?void 0:n.value)||void 0===r?void 0:r.data)&&void 0!==s?s:""),e}),[]).join("")}subNodes(e,t){return s.Optional.fromNullable(t).isAbsent()&&(t=this.length),new A(...this.rootNode.slice(e,Math.min(t,this.length)))}limits(e){return this._limits=e,this}hasNext(){let e=-1!=this._limits&&this.pos>=this._limits-1,t=this.pos>=this.values.length-1;return!(e||t)}next(){return this.hasNext()?(this.pos++,new A(this.values[this.pos])):null}lookAhead(e=1){return this.values.length-1{let r;if(!(null==n?void 0:n.attachShadow))throw new Error("Shadow dom creation not supported by the browser, please use a shim, to gain this functionality");r=A.byId(n.attachShadow(e)),t.push(r)})),new A(...t)}waitUntilDom(e,t={attributes:!0,childList:!0,subtree:!0,timeout:500,interval:100}){return r(this,void 0,void 0,(function*(){return function(e,t,n={attributes:!0,childList:!0,subtree:!0,timeout:500,interval:100}){return new Promise(((r,s)=>{let l=null;const o=new Error("Mutation observer timeout");function i(e,t){let r=null;return t(e)?e:(r=n.childList?t(e)?e:e.childNodes.filter((e=>t(e))).first().value.value:n.subtree?t(e)?e:e.querySelectorAll(" * ").filter((e=>t(e))).first().value.value:t(e)?e:null,r)}let a=e;if(a=i(a,t))r(new A(a));else if("undefined"!=typeof MutationObserver){const i=setTimeout((()=>(l.disconnect(),s(o))),n.timeout),a=n=>{const s=new A(n.map((e=>e.target))).filter((e=>t(e))).first();s.isPresent()&&(clearTimeout(i),l.disconnect(),r(new A(s||e)))};l=new MutationObserver(a);let u=Object.assign({},n);delete u.timeout,e.eachElem((e=>{l.observe(e,u)}))}else{let l=setInterval((()=>{let n=i(e,t);n&&(a&&(clearTimeout(a),clearInterval(l),l=null),r(new A(n||e)))}),n.interval),a=setTimeout((()=>{l&&(clearInterval(l),s(o))}),n.timeout)}}))}(this,e,t)}))}get shadowElements(){let e=(this.querySelectorAll("*").filter((e=>e.hasShadow)).allElems()||[]).map((e=>e.shadowRoot));return new A(...e)}get shadowRoot(){let e=[];for(let t=0;t({done:!this.hasNext(),value:this.next()})}}concat(e,t=!0){let n=this.asArray;const r=new A(...n.concat(e.asArray));if(!t)return r;let s={};return new A(...r.asArray.filter((e=>{const t=!(null==s?void 0:s[e.value.value.outerHTML]);return s[e.value.value.outerHTML]=!0,t})))}append(e){return this.each((t=>e.appendTo(t))),this}prependTo(e){return e.eachElem((e=>{e.prepend(...this.allElems())})),this}prepend(e){return this.eachElem((t=>{t.prepend(...e.allElems())})),this}_querySelectorAll(e){var t,n;if(!(null===(t=null==this?void 0:this.rootNode)||void 0===t?void 0:t.length))return this;let r=[];for(let t=0;t=0&&n.item(r)!==e;);return r>-1};return r.call(e,t)}_loadScriptEval(e,t,n=0,r){let s=this.createSourceNode(t,r),l=this.createSourceNode(null,r),o=`nonce_${Date.now()}_${Math.random()}`;l.innerHTML=`document.head["${o}"] = true`;let i=document.head;if(i.appendChild(l),i.removeChild(l),i[o]){try{n?setTimeout((()=>{i.appendChild(s),e||i.removeChild(s)}),n):(i.appendChild(s),e||i.removeChild(s))}finally{delete i[o]}return this}}resolveAttributeHolder(e="value"){let t=[];return t[e]=null,e in this.getAsElem(0).value?this.getAsElem(0).value:t}createSourceNode(e,t){let n=document.createElement("script");return n.type="text/javascript",t&&(void 0!==(null==n?void 0:n.nonce)?n.nonce=t:n.setAttribute("nonce",t)),e&&(n.src=e),n}applyNonce(e,t){e&&(void 0!==(null==t?void 0:t.nonce)?t.nonce=e:t.setAttribute("nonce",e))}}t.DomQuery=A,A.absent=new A,A.global=i._global$,t.DomQueryCollector=class{constructor(){this.data=[]}collect(e){this.data.push(e)}get finalValue(){return new A(...this.data)}},t.DQ=A,t.DQ$=A.querySelectorAll},86:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Es2019Array=t._Es2019Array=void 0;class n extends Array{constructor(...e){super(...e),e._another?this._another=e._another:this._another=e,this.flatMap=e=>this._flatMap(e),this.flat=(e=1)=>this._flat(e)}map(e,t){return new r(...Array.prototype.map.call(this._another,e,t))}concat(...e){return new r(...Array.prototype.concat.call(this._another,...e))}reverse(){return new r(...Array.prototype.reverse.call(this._another))}slice(e,t){return new r(...Array.prototype.slice.call(this._another,e,t))}splice(e,t){return new r(...Array.prototype.splice.call(this._another,e,t))}filter(e,t){return new r(...Array.prototype.filter.call(this._another,e,t))}reduce(e,t){return Array.prototype.reduce.call(this._another,e,t)}_flat(e=1){return this._flatResolve(this._another,e)}_flatResolve(e,n=1){if(0==n)return e;let r=[];return e.forEach((e=>{e=Array.isArray(e)?e:[e];let t=this._flatResolve(e,n-1);r=r.concat(t)})),new t.Es2019Array(...r)}_flatMap(e){let t=this.map((t=>e(t)));return this._flatResolve(t)}}function r(...e){let t=new n(...e);return new Proxy(t,{get:(e,t,n)=>"symbol"==typeof t?e._another[t]:isNaN(parseInt(t))?e[t]:e._another[t],set:(e,t,n)=>(e[t]=n,e._another[t]=n,!0)})}t._Es2019Array=r,t.Es2019Array=Array.prototype.flatMap?function(...e){return(null==e?void 0:e.flatMap)?e:r(...e)}:r},228:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t._global$=void 0,t._global$=function(){var e;let t="undefined"!=typeof globalThis&&globalThis.window?globalThis.window:"undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:void 0!==n.g&&(null===n.g||void 0===n.g?void 0:n.g.window)?n.g.window:void 0!==n.g?n.g:null;return null!==(e=null==t?void 0:t.window)&&void 0!==e?e:t}},519:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Lang=void 0;const r=n(204),s=n(86);var l;!function(e){function t(e){let t=/\s/,n=(e=e.replace(/^\s\s*/,"")).length;for(;t.test(e.charAt(--n)););return e.slice(0,n+1)}function n(e){return!!arguments.length&&null!=e&&("string"==typeof e||e instanceof String)}e.saveResolve=function(e,t=null){try{let n=e();return r.Optional.fromNullable(null!=n?n:t)}catch(e){return r.Optional.absent}},e.saveResolveLazy=function(e,t=null){try{let n=e();return r.Optional.fromNullable(null!=n?n:t())}catch(e){return r.Optional.absent}},e.strToArray=function(e,n=/\./gi){let r=[];return e.split(n).forEach((e=>{r.push(t(e))})),r},e.trim=t,e.objToArray=function(e,t=0,n=[]){return"__undefined__"==(null!=e?e:"__undefined__")?null!=n?n:null:e instanceof Array&&!t&&!n?e:new s.Es2019Array(...n.concat(Array.prototype.slice.call(e,t)))},e.equalsIgnoreCase=function(e,t){let n=null!=t?t:"___no_value__";return(null!=e?e:"___no_value__").toLowerCase()===n.toLowerCase()},e.assertType=function(e,t){return n(t)?typeof e==t:e instanceof t},e.isString=n,e.isFunc=function(e){return e instanceof Function||"function"==typeof e},e.objAssign=function(e,...t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");let n=Object(e);return Object.assign?(t.forEach((e=>Object.assign(n,e))),n):(t.filter((e=>null!=e)).forEach((e=>{let t=e;Object.keys(t).filter((e=>Object.prototype.hasOwnProperty.call(t,e))).forEach((e=>n[e]=t[e]))})),n)}}(l||(t.Lang=l={}))},204:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueEmbedder=t.Optional=t.Monad=void 0;const r=n(86);class s{constructor(e){this._value=e}get value(){return this._value}map(e){e||(e=e=>e);let t=e(this.value);return new s(t)}flatMap(e){let t=this.map(e);for(;(null==t?void 0:t.value)instanceof s;)t=t.value;return t}}t.Monad=s;class l extends s{constructor(e){super(e)}get value(){return this._value instanceof s?this._value.flatMap().value:this._value}static fromNullable(e){return new l(e)}isAbsent(){return void 0===this.value||null==this.value}isPresent(e){let t=this.isAbsent();return!t&&e&&e.call(this,this),!t}ifPresentLazy(e=()=>{}){return this.isPresent.call(this,e),this}orElse(e){return this.isPresent()?this:null==e?l.absent:this.flatMap((()=>e))}orElseLazy(e){return this.isPresent()?this:this.flatMap(e)}flatMap(e){let t=super.flatMap(e);return t instanceof l?t.flatMap():l.fromNullable(t.value)}getIf(...e){e=this.preprocessKeys(...e);let t=this;for(let n=0;n=0){if(t=this.getClass().fromNullable(t.value instanceof Array?t.value.length=0){if(t.getIfPresent(r).isAbsent())return t;if(t=t.getIfPresent(r).value instanceof Array?this.getClass().fromNullable(t.getIfPresent(r).value[s]):this.getClass().absent,t.isAbsent())return t}else{if(t=t.getIfPresent(r),t.isAbsent())return t;s>-1&&(t=this.getClass().fromNullable(t.value[s]))}}return t}match(e){return!this.isAbsent()&&e(this.value)}get(e=l.absent){return this.isAbsent()?this.getClass().fromNullable(e).flatMap():this.getClass().fromNullable(this.value).flatMap()}toJson(){return JSON.stringify(this.value)}getClass(){return l}arrayIndex(e){let t=e.indexOf("["),n=e.indexOf("]");return t>=0&&n>0&&t=0?e.substring(0,t):e}getIfPresent(e){return this.isAbsent()?this.getClass().absent:this.getClass().fromNullable(this.value[e]).flatMap()}resolve(e){if(this.isAbsent())return l.absent;try{return l.fromNullable(e(this.value))}catch(e){return l.absent}}preprocessKeys(...e){return new r.Es2019Array(...e).flatMap((e=>new r.Es2019Array(...e.split(/]\s*\[/gi)).map((e=>(-1==(e=e.replace(/^\s+|\s+$/g,"")).indexOf("[")&&-1!=e.indexOf("]")&&(e="["+e),-1==e.indexOf("]")&&-1!=e.indexOf("[")&&(e+="]"),e)))))}}t.Optional=l,l.absent=l.fromNullable(null);class o extends l{constructor(e,t="value"){super(e),this.key=t}get value(){return this._value?this._value[this.key]:null}set value(e){this._value&&(this._value[this.key]=e)}orElse(e){let t={};return t[this.key]=e,this.isPresent()?this:new o(t,this.key)}orElseLazy(e){if(this.isPresent())return this;{let t={};return t[this.key]=e(),new o(t,this.key)}}getClass(){return o}static fromNullable(e,t="value"){return new o(e,t)}}t.ValueEmbedder=o,o.absent=o.fromNullable(null)},785:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayCollector=t.QueryFormStringCollector=t.QueryFormDataCollector=t.FormDataCollector=t.ConfigCollector=t.AssocArrayCollector=t.Run=t.ArrayAssocArrayCollector=t.InverseArrayCollector=t.ShimArrayCollector=t.MappedStreamDataSource=t.FilteredStreamDatasource=t.ArrayStreamDataSource=t.SequenceDataSource=t.MultiStreamDatasource=t.calculateSkips=t.ITERATION_STATUS=void 0;const r=n(86),s=n(517);var l;function o(e){let t=1;for(;e.lookAhead(t)!=l.EO_STRM;)t++;return--t}!function(e){e.EO_STRM="__EO_STRM__",e.BEF_STRM="___BEF_STRM__"}(l||(t.ITERATION_STATUS=l={})),t.calculateSkips=o,t.MultiStreamDatasource=class{constructor(e,...t){this.first=e,this.selectedPos=0,this.strms=[e].concat(...t),this.activeStrm=this.strms[this.selectedPos]}current(){return this.activeStrm.current()}hasNext(){return!!this.activeStrm.hasNext()||!(this.selectedPos>=this.strms.length)&&-1!=this.findNextStrm()}findNextStrm(){let e=!1,t=this.selectedPos;for(;!e&&tthis.total-1?l.EO_STRM:this.value+e}reset(){this.value=this.start-1}current(){return this.start-1?l.BEF_STRM:this.value}},t.ArrayStreamDataSource=class{constructor(...e){this.dataPos=-1,this.value=e}lookAhead(e=1){return this.dataPos+e>this.value.length-1?l.EO_STRM:this.value[this.dataPos+e]}hasNext(){return this.value.length-1>this.dataPos}next(){var e;return this.dataPos++,null!==(e=null==this?void 0:this.value[this.dataPos])&&void 0!==e?e:l.EO_STRM}reset(){this.dataPos=-1}current(){return this.value[Math.max(0,this.dataPos)]}},t.FilteredStreamDatasource=class{constructor(e,t){this._current=l.BEF_STRM,this._filterIdx={},this._unfilteredPos=0,this.filterFunc=e,this.inputDataSource=t}hasNext(){let e,t=1,n=!1;for(;!n&&(e=this.inputDataSource.lookAhead(t))!=l.EO_STRM;)this.filterFunc(e)?(this._filterIdx[this._unfilteredPos+t]=!0,n=!0):t++;return n}next(){var e,t;let n=l.EO_STRM;for(;this.inputDataSource.hasNext();){this._unfilteredPos++;let r=this.inputDataSource.next();if(r!=l.EO_STRM&&(null!==(t=null===(e=this._filterIdx)||void 0===e?void 0:e[this._unfilteredPos])&&void 0!==t&&t||this.filterFunc(r))){this._filterIdx[this._unfilteredPos]=!0,n=r;break}}return this._current=n,n}lookAhead(e=1){var t;let n;for(let r=1;e>0&&(n=this.inputDataSource.lookAhead(r))!=l.EO_STRM;r++)((null===(t=this._filterIdx)||void 0===t?void 0:t[this._unfilteredPos+r])||this.filterFunc(n))&&(e--,this._filterIdx[this._unfilteredPos+r]=!0);return n}current(){return this._current}reset(){this._current=l.BEF_STRM,this._filterIdx={},this._unfilteredPos=0,this.inputDataSource.reset()}},t.MappedStreamDataSource=class{constructor(e,t){this.mapFunc=e,this.inputDataSource=t}hasNext(){return this.inputDataSource.hasNext()}next(){return this.mapFunc(this.inputDataSource.next())}reset(){this.inputDataSource.reset()}current(){return this.mapFunc(this.inputDataSource.current())}lookAhead(e=1){const t=this.inputDataSource.lookAhead(e);return t==l.EO_STRM?t:this.mapFunc(t)}},t.ShimArrayCollector=class{constructor(){this.data=new r.Es2019Array(...[])}collect(e){this.data.push(e)}get finalValue(){return this.data}},t.InverseArrayCollector=class{constructor(){this.data=[]}collect(e){this.data.unshift(e)}get finalValue(){return this.data}},t.ArrayAssocArrayCollector=class{constructor(){this.finalValue={}}collect(e){var t,n,r,s;let l=null!==(t=null==e?void 0:e[0])&&void 0!==t?t:e;this.finalValue[l]=null!==(r=null===(n=this.finalValue)||void 0===n?void 0:n[l])&&void 0!==r?r:[],this.finalValue[l].push(null===(s=null==e?void 0:e[1])||void 0===s||s)}},t.Run=class{collect(e){}get finalValue(){return null}},t.AssocArrayCollector=class{constructor(){this.finalValue={}}collect(e){var t,n;this.finalValue[null!==(t=e[0])&&void 0!==t?t:e]=null===(n=e[1])||void 0===n||n}},t.ConfigCollector=class{constructor(){this.finalValue=new s.Config({})}collect(e){this.finalValue.append(e.key).value=e.value}},t.FormDataCollector=class{constructor(){this.finalValue=new FormData}collect(e){this.finalValue.append(e.key,e.value)}},t.QueryFormDataCollector=class{constructor(){this.finalValue=new FormData}collect(e){let t=e.encodeFormElement();t.isPresent()&&this.finalValue.append(e.name.value,t.get(e.name).value)}},t.QueryFormStringCollector=class{constructor(){this.formData=[]}collect(e){let t=e.encodeFormElement();t.isPresent()&&this.formData.push([e.name.value,t.get(e.name).value])}get finalValue(){return new r.Es2019Array(...this.formData).map((e=>e.join("="))).reduce(((e,t)=>[e,t].join("&")))}},t.ArrayCollector=class{constructor(){this.data=[]}collect(e){this.data.push(e)}get finalValue(){return this.data}}},100:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XQ=t.XMLQuery=void 0;const r=n(519),s=n(331);var l=r.Lang.isString;const o=n(228);class i extends s.DomQuery{constructor(e,t="text/xml"){var n;l(e)?super(null==(n=e)?null:r.Lang.saveResolveLazy((()=>new((0,o._global$)().DOMParser)),(()=>(()=>{let e=new ActiveXObject("Microsoft.XMLDOM");return e.async=!1,{parseFromString:(t,n)=>e.loadXML(t)}})())).value.parseFromString(n,t)):super(e)}isXMLParserError(){return this.querySelectorAll("parsererror").isPresent()}toString(){let e=[];return this.eachElem((t=>{var n,r,s,l;let i=null!==(l=null===(s=null===(r=null===(n=(0,o._global$)())||void 0===n?void 0:n.XMLSerializer)||void 0===r?void 0:r.constructor())||void 0===s?void 0:s.serializeToString(t))&&void 0!==l?l:null==t?void 0:t.xml;i&&e.push(i)})),e.join("")}parserErrorText(e){return this.querySelectorAll("parsererror").textContent(e)}static parseXML(e){return new i(e)}static parseHTML(e){return new i(e,"text/html")}static fromString(e,t="text/xml"){return new i(e,t)}}t.XMLQuery=i,t.XQ=i},257:function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t._Es2019Array=t.Es2019Array=t.Assoc=t.CONFIG_VALUE=t.CONFIG_ANY=t.Config=t.shallowMerge=t.simpleShallowMerge=t.append=t.assignIf=t.assign=t.XQ=t.XMLQuery=t.ValueEmbedder=t.Optional=t.Monad=t.Lang=t.DQ$=t.DQ=t.DomQueryCollector=t.ElementAttribute=t.DomQuery=void 0;var o=n(331);Object.defineProperty(t,"DomQuery",{enumerable:!0,get:function(){return o.DomQuery}}),Object.defineProperty(t,"ElementAttribute",{enumerable:!0,get:function(){return o.ElementAttribute}}),Object.defineProperty(t,"DomQueryCollector",{enumerable:!0,get:function(){return o.DomQueryCollector}}),Object.defineProperty(t,"DQ",{enumerable:!0,get:function(){return o.DQ}}),Object.defineProperty(t,"DQ$",{enumerable:!0,get:function(){return o.DQ$}});var i=n(519);Object.defineProperty(t,"Lang",{enumerable:!0,get:function(){return i.Lang}});var a=n(204);Object.defineProperty(t,"Monad",{enumerable:!0,get:function(){return a.Monad}}),Object.defineProperty(t,"Optional",{enumerable:!0,get:function(){return a.Optional}}),Object.defineProperty(t,"ValueEmbedder",{enumerable:!0,get:function(){return a.ValueEmbedder}});var u=n(100);Object.defineProperty(t,"XMLQuery",{enumerable:!0,get:function(){return u.XMLQuery}}),Object.defineProperty(t,"XQ",{enumerable:!0,get:function(){return u.XQ}});var c=n(771);Object.defineProperty(t,"assign",{enumerable:!0,get:function(){return c.assign}}),Object.defineProperty(t,"assignIf",{enumerable:!0,get:function(){return c.assignIf}}),Object.defineProperty(t,"append",{enumerable:!0,get:function(){return c.append}}),Object.defineProperty(t,"simpleShallowMerge",{enumerable:!0,get:function(){return c.simpleShallowMerge}}),Object.defineProperty(t,"shallowMerge",{enumerable:!0,get:function(){return c.shallowMerge}});var d=n(517);Object.defineProperty(t,"Config",{enumerable:!0,get:function(){return d.Config}});var h=n(517);Object.defineProperty(t,"CONFIG_ANY",{enumerable:!0,get:function(){return h.CONFIG_ANY}});var E=n(517);Object.defineProperty(t,"CONFIG_VALUE",{enumerable:!0,get:function(){return E.CONFIG_VALUE}}),t.Assoc=l(n(771));var v=n(86);Object.defineProperty(t,"Es2019Array",{enumerable:!0,get:function(){return v.Es2019Array}}),Object.defineProperty(t,"_Es2019Array",{enumerable:!0,get:function(){return v._Es2019Array}})},973:(e,t,n)=>{t.$A=t.J_=void 0;const r=n(644),s=n(54),l=n(19),o=n(351);var i,a;!function(e){let t,n,l;e.specversion=4e5,e.implversion=0,e.separatorchar=function(){const e="#{facesContext.namingContainerSeparatorChar}";return e.match(/\#\{facesContext.namingContainerSeparatorChar\}/gi)?r.Implementation.getSeparatorChar():e}(),e.contextpath="#{facesContext.externalContext.requestContextPath}",e.getProjectStage=function(){return r.Implementation.getProjectStage()},e.getViewState=function(e){return r.Implementation.getViewState(e)},e.getClientWindow=function(e){return r.Implementation.getClientWindow(e)},function(e){e.request=function(e,t,n){r.Implementation.request(e,t,n)},e.response=function(e,t){r.Implementation.response(e,t)},e.addOnError=function(e){r.Implementation.addOnError(e)},e.addOnEvent=function(e){r.Implementation.addOnEvent(e)}}(t=e.ajax||(e.ajax={})),function(e){e.chain=function(e,t,...n){return r.Implementation.chain(e,t,...n)}}(n=e.util||(e.util={})),function(e){e.init=function(e,t,n,r,l,o,i,a,u){s.PushImpl.init(e,t,n,r,l,o,i,a,u)},e.open=function(e){s.PushImpl.open(e)},e.close=function(e){s.PushImpl.close(e)}}(l=e.push||(e.push={}))}(i||(t.J_=i={})),function(e){e.ab=function(e,t,n,r,s,l={}){var i,a;n&&(l[o.CTX_OPTIONS_PARAMS]=null!==(i=null==l?void 0:l[o.CTX_OPTIONS_PARAMS])&&void 0!==i?i:{},l[o.CTX_OPTIONS_PARAMS][(0,o.$nsp)(o.P_BEHAVIOR_EVENT)]=n),r&&(l[o.CTX_OPTIONS_EXECUTE]=r),s&&(l[o.CTX_PARAM_RENDER]=s),(null!==(a=null===window||void 0===window?void 0:window.faces)&&void 0!==a?a:window.jsf).ajax.request(e,t,l)};const t=[];let n=null;e.onDomReady=function(e){"complete"!==document.readyState?(t.push(e),n||(n=()=>{window.removeEventListener("DOMContentLoaded",n),n=null;try{t.forEach((e=>e()))}finally{t.length=0}},window.addEventListener("DOMContentLoaded",n))):(n&&n(),e())},e.oam=l.oam}(a||(t.$A=a={}))},644:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Implementation=void 0;const r=n(121),s=n(229),l=n(257),o=n(22),i=n(780),a=n(234),u=n(471),c=n(351),d=n(7),h=n(680),E=n(666);var v,_,f;!function(e){e.Production="Production",e.Development="Development",e.SystemTest="SystemTest",e.UnitTest="UnitTest"}(v||(v={})),function(e){e.onerror="onerror",e.onevent="onevent",e.render="render",e.execute="execute",e.myfaces="myfaces",e.delay="delay",e.timeout="timeout",e.resetValues="resetValues",e.windowId="windowId",e.params="params"}(_||(_={})),function(e){var t=l.Lang.trim,n=u.ExtLang.getMessage,f=u.ExtLang.getGlobalConfig,p=o.Assertions.assert,T=u.ExtLang.ofAssoc,A=u.ExtLang.collectAssoc;let m=null,R=null,g=[],S=[];function y(){const e=i.ExtDomQuery.searchJsfJsFor(/stage=([^&;]*)/).value;return e in v?e:v.Production}function O(e,t=function(e){}){t(e),S.forEach((t=>{t(e)})),f("defaultErrorOutput",console?console.error:alert)(e)}function P(e,t){const n=(0,d.resolveViewRootId)(t);n&&(e.assign(c.NAMED_VIEWROOT).value=!0,e.assign(c.NAMING_CONTAINER_ID).value=n)}function M(e,n,r,s,l,o=""){const i=(0,c.$faces)().separatorchar;let a=r?t(r).split(/\s+/gi):[],u=[],d={};const h=e=>{const t=o.length?o+i:c.EMPTY_STR;let n=s.id.value;const r=n.substring(0,n.lastIndexOf(i)),l=r.length?r+i:c.EMPTY_STR,a=0===e.indexOf(i);let u;return a||o.length&&0==e.indexOf(t)?u=[t,e=0==(e=a?e.substring(1):e).indexOf(t)?e.substring(t.length):e].join(c.EMPTY_STR):(0==n.indexOf(t)&&(n=n.substring(t.length)),u=0==e.indexOf(n)?[t,e].join(c.EMPTY_STR):[l,e].join(c.EMPTY_STR)),document.getElementById(u)?u:e};for(let t=0;t{let l=function(e,n,r){if("string"!=typeof r)return!1!==r.call(e,n);{let s=t(r);return 0==s.indexOf("function ")&&(s=`return ${s} (event)`),!1!==new Function("event",s).call(e,n)}}(e,n,r);return!1===l&&(s=!1),s})),s},e.request=function(t,n,r){var s,a,u,h,E,v,f,p,m,R,g,S,y,O,I,N,C,w,b,D,L,x,X,V,k,F,j,U,H;const{options:G,elem:Q,elementId:q,windowId:W,isResetValues:$}=(0,d.resolveDefaults)(n,r,t),Y=new i.ExtConfig({}),B=new i.ExtConfig({});o.Assertions.assertRequestIntegrity(G,Q);const z=(0,d.resolveForm)(Q,n),J=(0,d.resolveViewId)(z),K=z.id.value,Z=(0,d.resolveDelay)(G),ee=(0,d.resolveTimeout)(G);var te;Y.assignIf(!!W,c.P_WINDOW_ID).value=W,Y.assign(c.CTX_PARAM_REQ_PASS_THR).value=(te=G.value,T(te).filter((e=>!(e[0]in _))).reduce(A,{}));const ne=(re=G.getIf(c.CTX_OPTIONS_PARAMS).orElse({}).value,Array.isArray(re)?re.reduce(A,{}):re);var re;let se=Y.getIf(c.CTX_PARAM_REQ_PASS_THR);var le,oe,ie,ae;se.$nspEnabled=!1,se.shallowMerge(new l.Config(ne),!0),se.$nspEnabled=!0,Y.assignIf(!!n,c.CTX_PARAM_REQ_PASS_THR,c.P_EVT).value=null==n?void 0:n.type,Y.assign(c.SOURCE).value=q,Y.assign(c.VIEW_ID).value=J,Y.assign(c.ON_EVENT).value=null===(s=G.value)||void 0===s?void 0:s.onevent,Y.assign(c.ON_ERROR).value=null===(a=G.value)||void 0===a?void 0:a.onerror,Y.assign(c.MYFACES).value=null===(u=G.value)||void 0===u?void 0:u.myfaces,Y.assign(c.CTX_PARAM_REQ_PASS_THR,c.P_AJAX_SOURCE).value=q,Y.assign(c.CTX_PARAM_REQ_PASS_THR,c.P_AJAX).value=!0,Y.assignIf($,c.CTX_PARAM_REQ_PASS_THR,c.P_RESET_VALUES).value=!0,B.assign(c.CTX_PARAM_SRC_FRM_ID).value=K,B.assign(c.CTX_PARAM_UPLOAD_PREINIT).value=null===(v=null===(E=null===(h=G.value)||void 0===h?void 0:h.myfaces)||void 0===E?void 0:E.upload)||void 0===v?void 0:v.preInit,B.assign(c.CTX_PARAM_UPLOAD_LOADSTART).value=null===(m=null===(p=null===(f=G.value)||void 0===f?void 0:f.myfaces)||void 0===p?void 0:p.upload)||void 0===m?void 0:m.loadStart,B.assign(c.CTX_PARAM_UPLOAD_ON_PROGRESS).value=null===(S=null===(g=null===(R=G.value)||void 0===R?void 0:R.myfaces)||void 0===g?void 0:g.upload)||void 0===S?void 0:S.onProgress,B.assign(c.CTX_PARAM_UPLOAD_LOADEND).value=null===(I=null===(O=null===(y=G.value)||void 0===y?void 0:y.myfaces)||void 0===O?void 0:O.upload)||void 0===I?void 0:I.loadEnd,B.assign(c.CTX_PARAM_UPLOAD_LOAD).value=null===(w=null===(C=null===(N=G.value)||void 0===N?void 0:N.myfaces)||void 0===C?void 0:C.upload)||void 0===w?void 0:w.load,B.assign(c.CTX_PARAM_UPLOAD_ERROR).value=null===(L=null===(D=null===(b=G.value)||void 0===b?void 0:b.myfaces)||void 0===D?void 0:D.upload)||void 0===L?void 0:L.error,B.assign(c.CTX_PARAM_UPLOAD_ABORT).value=null===(V=null===(X=null===(x=G.value)||void 0===x?void 0:x.myfaces)||void 0===X?void 0:X.upload)||void 0===V?void 0:V.abort,B.assign(c.CTX_PARAM_UPLOAD_TIMEOUT).value=null===(j=null===(F=null===(k=G.value)||void 0===k?void 0:k.myfaces)||void 0===F?void 0:F.upload)||void 0===j?void 0:j.timeout,Y.assign(c.CTX_PARAM_REQ_PASS_THR,K).value=K,B.assign(c.CTX_PARAM_SRC_CTL_ID).value=q,B.assign(c.CTX_PARAM_PPS).value=null!==(H=null===(U=function(e){var t;return null===(t=T(e).filter((e=>"myfaces"==e[0])).reduce(A,{}))||void 0===t?void 0:t[c.MYFACES]}(G.value))||void 0===U?void 0:U[c.MYFACES_OPTION_PPS])&&void 0!==H&&H,function(e,t){let n=(0,c.$faces)().getClientWindow(e.getAsElem(0).value);n&&(t.assign(c.CTX_PARAM_REQ_PASS_THR,c.P_CLIENT_WINDOW).value=n)}(z,Y),oe=Y,ie=z,ae=q,(le=G).getIf(c.CTX_OPTIONS_EXECUTE).isPresent()?(le.assign(c.CTX_OPTIONS_EXECUTE).value=[le.getIf(c.CTX_OPTIONS_EXECUTE).value,c.IDENT_THIS].join(" "),M(oe.getIf(c.CTX_PARAM_REQ_PASS_THR).get({}),c.P_EXECUTE,le.getIf(c.CTX_OPTIONS_EXECUTE).value,ie,ae,oe.getIf(c.VIEW_ID).value)):oe.assign(c.CTX_PARAM_REQ_PASS_THR,c.P_EXECUTE).value=ae,function(e,t,n,r){e.getIf(c.CTX_PARAM_RENDER).isPresent()&&M(t.getIf(c.CTX_PARAM_REQ_PASS_THR).get({}),c.P_RENDER,e.getIf(c.CTX_PARAM_RENDER).value,n,r,t.getIf(c.VIEW_ID).value)}(G,Y,z,q),P(B,z),e.queueHandler.addRequestToQueue(Q,z,Y,B,Z,ee)},e.response=function(e,t){r.Response.processResponse(e,t)},e.addOnError=function(e){S.push(e)},e.addOnEvent=function(e){g.push(e)},e.sendEvent=function(e,t=function(e){}){t(e),g.forEach((t=>t(e)))},e.stdErrorHandler=function(t,n,r,s=!1){try{O(a.ErrorData.fromClient(r))}finally{s&&e.requestQueue.clear()}},e.sendError=O,e.getClientWindow=function(e){const t="___mf_id_altered__",n="___init____";let r=e?l.DQ.byId(e):(0,l.DQ$)("form"),s=r.filterSelector(`input[name='${(0,c.$nsp)(c.P_CLIENT_WINDOW)}']`).orElseLazy((()=>r.querySelectorAll(`input[name='${(0,c.$nsp)(c.P_CLIENT_WINDOW)}']`))).asArray.map((e=>e.val)).reduce(((e,r)=>e==n?r:e==t||e!=r?t:r),n);return p(t!=s,"Multiple different windowIds found in document"),s!=n?s:(function(){const e=window.location.href,t=new RegExp("[\\?&]jfwid=([^&#\\;]*)").exec(e);return null!=t?l.Optional.fromNullable(t[1]):l.Optional.fromNullable(null)}()||i.ExtDomQuery.searchJsfJsFor(/jfwid=([^&;]*)/).orElse(null)).value},e.getViewState=function(e){let t=l.DQ.byId(e,!0);if(!t.isTag(c.HTML_TAG_FORM))throw new Error(n("ERR_VIEWSTATE"));const r=new l.Config({});P(r,l.DQ.byId(e));let s=t.deepElements.encodeFormElement();return(0,h.encodeFormData)(new i.ExtConfig(s),(0,d.resoveNamingContainerMapper)(r))},e.queueHandler={addRequestToQueue:function(t,n,r,l,o=0,i=0){e.requestQueue=null!==e.requestQueue&&void 0!==e.requestQueue?e.requestQueue:new E.XhrQueueController,e.requestQueue.enqueue(new s.XhrRequest(r,l,i),o)}}}(f||(t.Implementation=f={}))},54:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PushImpl=void 0;const r=n(351),s=n(257);var l;!function(e){const t=s.DQ.global().location.protocol.replace("http","ws")+"//";e.sockets={},e.components={},e.clientIdsByTokens={},e.reset=function(){e.sockets={},e.components={},e.clientIdsByTokens={}},e.init=function(r,l,i,a,u,c,d,h,E){var v,_,f;if(d=o(d),!s.DQ.global().WebSocket)return void d(-1,i);let p=l.substr(l.indexOf("?")+1);e.components[r]||(e.components[r]={channelToken:p,onopen:o(a),onmessage:o(u),onerror:o(c),onclose:d,behaviors:h,autoconnect:E},e.clientIdsByTokens[p]||(e.clientIdsByTokens[p]=[]),e.clientIdsByTokens[p].push(r),e.sockets[p]||(e.sockets[p]=new n(p,function(e){if(e.indexOf("://")<0){let n=s.DQ.global().location.hostname+":"+s.DQ.global().location.port;return t+n+e}return e}(l),i))),E&&(null!==(_=null===(v=s.DQ.global())||void 0===v?void 0:v.faces)&&void 0!==_?_:null===(f=s.DQ.global())||void 0===f?void 0:f.jsf).push.open(r)},e.open=function(t){var n;l(null===(n=e.components[t])||void 0===n?void 0:n.channelToken).open()},e.close=function(t){l(e.components[t].channelToken).close()};class n{constructor(e,t,n){this.channelToken=e,this.url=t,this.channel=n,this.reconnectAttempts=0}open(){this.socket&&1==this.socket.readyState||(this.socket=new WebSocket(this.url),this.bindCallbacks())}onopen(t){var n,r;if(!this.reconnectAttempts){let t=e.clientIdsByTokens[this.channelToken];for(let s=t.length-1;s>=0;s--){let l=t[s];null===(r=null===(n=e.components[l])||void 0===n?void 0:n.onopen)||void 0===r||r.call(n,this.channel)}}this.reconnectAttempts=0}onerror(t){var n,r,s;let l=JSON.parse(null!==(n=null==t?void 0:t.data)&&void 0!==n?n:null);for(let n=e.clientIdsByTokens[this.channelToken].length-1;n>=0;n--){let o=e.clientIdsByTokens[this.channelToken][n];if(document.getElementById(o))try{null===(s=null===(r=e.components[o])||void 0===r?void 0:r.onerror)||void 0===s||s.call(r,l,this.channel,t)}catch(e){}else e.clientIdsByTokens[this.channelToken].splice(n,1)}0==e.clientIdsByTokens[this.channelToken].length&&this.close()}onmmessage(t){var n,r,s;let l=JSON.parse(t.data);for(let o=e.clientIdsByTokens[this.channelToken].length-1;o>=0;o--){let i=e.clientIdsByTokens[this.channelToken][o];if(document.getElementById(i)){try{null===(r=null===(n=e.components[i])||void 0===n?void 0:n.onmessage)||void 0===r||r.call(n,l,this.channel,t)}catch(e){}let o=null===(s=null===e.components||void 0===e.components?void 0:e.components[i])||void 0===s?void 0:s.behaviors,a=null==o?void 0:o[l];if(a&&a.length)for(let e=0;e=r.MAX_RECONNECT_ATTEMPTS){let r=e.clientIdsByTokens[this.channelToken];for(let l=r.length-1;l>=0;l--){let o=r[l];null===(s=null===(n=null===e.components||void 0===e.components?void 0:e.components[o])||void 0===n?void 0:n.onclose)||void 0===s||s.call(n,null==t?void 0:t.code,null==this?void 0:this.channel,t)}}else setTimeout(this.open,r.RECONNECT_INTERVAL*this.reconnectAttempts++)}close(){if(this.socket){let e=this.socket;this.socket=null,e.close()}}bindCallbacks(){this.socket.onopen=e=>this.onopen(e),this.socket.onmessage=e=>this.onmmessage(e),this.socket.onclose=e=>this.onclose(e),this.socket.onerror=e=>this.onerror(e)}}function l(t){let n=e.sockets[t];if(n)return n;throw new Error("Unknown channelToken: "+t)}function o(e=()=>{}){return"function"!=typeof e&&(e=s.DQ.global()[e]),e}}(l||(t.PushImpl=l={}))},351:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CTX_OPTIONS_PARAMS=t.TIMEOUT_EVENT=t.CLIENT_ERROR=t.SERVER_ERROR=t.MALFORMEDXML=t.EMPTY_RESPONSE=t.HTTP_ERROR=t.RESPONSE_XML=t.RESPONSE_TEXT=t.ERROR_MESSAGE=t.ERROR_NAME=t.STATUS=t.SOURCE=t.SUCCESS=t.COMPLETE=t.BEGIN=t.ON_EVENT=t.ON_ERROR=t.EVENT=t.ERROR=t.WINDOW_ID=t.CTX_PARAM_RENDER=t.P_BEHAVIOR_EVENT=t.P_WINDOW_ID=t.P_RESET_VALUES=t.P_EVT=t.P_RENDER_OVERRIDE=t.P_RENDER=t.P_EXECUTE=t.P_AJAX=t.IDENT_FORM=t.IDENT_THIS=t.IDENT_NONE=t.IDENT_ALL=t.HTML_CLIENT_WINDOW=t.HTML_VIEWSTATE=t.EMPTY_MAP=t.EMPTY_STR=t.EMPTY_FUNC=t.P_RESOURCE=t.P_VIEWBODY=t.P_VIEWHEAD=t.P_VIEWROOT=t.P_CLIENT_WINDOW=t.P_VIEWSTATE=t.VIEW_ID=t.NAMING_CONTAINER_ID=t.P_AJAX_SOURCE=t.NAMED_VIEWROOT=t.XML_ATTR_NAMED_VIEWROOT=void 0,t.XML_TAG_CHANGES=t.XML_TAG_PARTIAL_RESP=t.ATTR_ID=t.ATTR_VALUE=t.ATTR_NAME=t.ATTR_URL=t.MYFACES_OPTION_PPS=t.ERR_NO_PARTIAL_RESPONSE=t.PHASE_PROCESS_RESPONSE=t.SEL_RESPONSE_XML=t.SEL_CLIENT_WINDOW_ELEM=t.SEL_VIEWSTATE_ELEM=t.HTML_TAG_STYLE=t.HTML_TAG_SCRIPT=t.HTML_TAG_LINK=t.HTML_TAG_BODY=t.HTML_TAG_FORM=t.HTML_TAG_HEAD=t.STD_ACCEPT=t.NO_TIMEOUT=t.MULTIPART=t.URL_ENCODED=t.STATE_EVT_COMPLETE=t.STATE_EVT_TIMEOUT=t.STATE_EVT_BEGIN=t.REQ_TYPE_POST=t.REQ_TYPE_GET=t.ENCODED_URL=t.VAL_AJAX=t.REQ_ACCEPT=t.HEAD_FACES_REQ=t.CONTENT_TYPE=t.CTX_PARAM_PPS=t.CTX_PARAM_REQ_PASS_THR=t.CTX_PARAM_SRC_CTL_ID=t.CTX_PARAM_UPLOAD_TIMEOUT=t.CTX_PARAM_UPLOAD_ABORT=t.CTX_PARAM_UPLOAD_ERROR=t.CTX_PARAM_UPLOAD_LOAD=t.CTX_PARAM_UPLOAD_LOADEND=t.CTX_PARAM_UPLOAD_LOADSTART=t.CTX_PARAM_UPLOAD_PREINIT=t.CTX_PARAM_UPLOAD_ON_PROGRESS=t.CTX_PARAM_SRC_FRM_ID=t.CTX_PARAM_MF_INTERNAL=t.CTX_OPTIONS_EXECUTE=t.CTX_OPTIONS_RESET=t.CTX_OPTIONS_TIMEOUT=t.DELAY_NONE=t.CTX_OPTIONS_DELAY=void 0,t.$nsp=t.$faces=t.UNKNOWN=t.MAX_RECONNECT_ATTEMPTS=t.RECONNECT_INTERVAL=t.APPLIED_CLIENT_WINDOW=t.APPLIED_VST=t.REASON_EXPIRED=t.MF_NONE=t.MYFACES=t.DEFERRED_HEAD_INSERTS=t.UPDATE_ELEMS=t.UPDATE_FORMS=t.XML_TAG_ATTR=t.XML_TAG_AFTER=t.XML_TAG_BEFORE=t.XML_TAG_REDIRECT=t.XML_TAG_EXTENSION=t.XML_TAG_ATTRIBUTES=t.XML_TAG_ERROR=t.XML_TAG_EVAL=t.XML_TAG_INSERT=t.XML_TAG_DELETE=t.XML_TAG_UPDATE=void 0,t.XML_ATTR_NAMED_VIEWROOT="namedViewRoot",t.NAMED_VIEWROOT="namedViewRoot",t.P_AJAX_SOURCE="jakarta.faces.source",t.NAMING_CONTAINER_ID="myfaces.NamingContainerId",t.VIEW_ID="myfaces.viewId",t.P_VIEWSTATE="jakarta.faces.ViewState",t.P_CLIENT_WINDOW="jakarta.faces.ClientWindow",t.P_VIEWROOT="jakarta.faces.ViewRoot",t.P_VIEWHEAD="jakarta.faces.ViewHead",t.P_VIEWBODY="jakarta.faces.ViewBody",t.P_RESOURCE="jakarta.faces.Resource",t.EMPTY_FUNC=Object.freeze((()=>{})),t.EMPTY_STR="",t.EMPTY_MAP=Object.freeze({}),t.HTML_VIEWSTATE=[""].join(t.EMPTY_STR),t.HTML_CLIENT_WINDOW=[""].join(t.EMPTY_STR),t.IDENT_ALL="@all",t.IDENT_NONE="@none",t.IDENT_THIS="@this",t.IDENT_FORM="@form",t.P_AJAX="jakarta.faces.partial.ajax",t.P_EXECUTE="jakarta.faces.partial.execute",t.P_RENDER="jakarta.faces.partial.render",t.P_RENDER_OVERRIDE="_myfaces.rendeOverride",t.P_EVT="jakarta.faces.partial.event",t.P_RESET_VALUES="jakarta.faces.partial.resetValues",t.P_WINDOW_ID="jakarta.faces.windowId",t.P_BEHAVIOR_EVENT="jakarta.faces.behavior.event",t.CTX_PARAM_RENDER="render",t.WINDOW_ID="windowId",t.ERROR="error",t.EVENT="event",t.ON_ERROR="onerror",t.ON_EVENT="onevent",t.BEGIN="begin",t.COMPLETE="complete",t.SUCCESS="success",t.SOURCE="source",t.STATUS="status",t.ERROR_NAME="error-name",t.ERROR_MESSAGE="error-message",t.RESPONSE_TEXT="responseText",t.RESPONSE_XML="responseXML",t.HTTP_ERROR="httpError",t.EMPTY_RESPONSE="emptyResponse",t.MALFORMEDXML="malformedXML",t.SERVER_ERROR="serverError",t.CLIENT_ERROR="clientError",t.TIMEOUT_EVENT="timeout",t.CTX_OPTIONS_PARAMS="params",t.CTX_OPTIONS_DELAY="delay",t.DELAY_NONE="none",t.CTX_OPTIONS_TIMEOUT="timeout",t.CTX_OPTIONS_RESET="resetValues",t.CTX_OPTIONS_EXECUTE="execute",t.CTX_PARAM_MF_INTERNAL="myfaces.internal",t.CTX_PARAM_SRC_FRM_ID="myfaces.source.formId",t.CTX_PARAM_UPLOAD_ON_PROGRESS="myfaces.upload.onProgress",t.CTX_PARAM_UPLOAD_PREINIT="myfaces.upload.preInit",t.CTX_PARAM_UPLOAD_LOADSTART="myfaces.upload.loadStart",t.CTX_PARAM_UPLOAD_LOADEND="myfaces.upload.loadEnd",t.CTX_PARAM_UPLOAD_LOAD="myfaces.upload.load",t.CTX_PARAM_UPLOAD_ERROR="myfaces.upload.error",t.CTX_PARAM_UPLOAD_ABORT="myfaces.upload.abort",t.CTX_PARAM_UPLOAD_TIMEOUT="myfaces.upload.timeout",t.CTX_PARAM_SRC_CTL_ID="myfaces.source.controlId",t.CTX_PARAM_REQ_PASS_THR="myfaces.request.passThrough",t.CTX_PARAM_PPS="myfaces.request.pps",t.CONTENT_TYPE="Content-Type",t.HEAD_FACES_REQ="Faces-Request",t.REQ_ACCEPT="Accept",t.VAL_AJAX="partial/ajax",t.ENCODED_URL="jakarta.faces.encodedURL",t.REQ_TYPE_GET="GET",t.REQ_TYPE_POST="POST",t.STATE_EVT_BEGIN="begin",t.STATE_EVT_TIMEOUT="TIMEOUT_EVENT",t.STATE_EVT_COMPLETE="complete",t.URL_ENCODED="application/x-www-form-urlencoded",t.MULTIPART="multipart/form-data",t.NO_TIMEOUT=0,t.STD_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",t.HTML_TAG_HEAD="HEAD",t.HTML_TAG_FORM="FORM",t.HTML_TAG_BODY="BODY",t.HTML_TAG_LINK="LINK",t.HTML_TAG_SCRIPT="SCRIPT",t.HTML_TAG_STYLE="STYLE",t.SEL_VIEWSTATE_ELEM="[name='"+t.P_VIEWSTATE+"']",t.SEL_CLIENT_WINDOW_ELEM="[name='"+t.P_CLIENT_WINDOW+"']",t.SEL_RESPONSE_XML="responseXML",t.PHASE_PROCESS_RESPONSE="processResponse",t.ERR_NO_PARTIAL_RESPONSE="Partial response not set",t.MYFACES_OPTION_PPS="pps",t.ATTR_URL="url",t.ATTR_NAME="name",t.ATTR_VALUE="value",t.ATTR_ID="id",t.XML_TAG_PARTIAL_RESP="partial-response",t.XML_TAG_CHANGES="changes",t.XML_TAG_UPDATE="update",t.XML_TAG_DELETE="delete",t.XML_TAG_INSERT="insert",t.XML_TAG_EVAL="eval",t.XML_TAG_ERROR="error",t.XML_TAG_ATTRIBUTES="attributes",t.XML_TAG_EXTENSION="extension",t.XML_TAG_REDIRECT="redirect",t.XML_TAG_BEFORE="before",t.XML_TAG_AFTER="after",t.XML_TAG_ATTR="attribute",t.UPDATE_FORMS="myfaces.updateForms",t.UPDATE_ELEMS="myfaces.updateElems",t.DEFERRED_HEAD_INSERTS="myfaces.headElems",t.MYFACES="myfaces",t.MF_NONE="__mf_none__",t.REASON_EXPIRED="Expired",t.APPLIED_VST="myfaces.appliedViewState",t.APPLIED_CLIENT_WINDOW="myfaces.appliedClientWindow",t.RECONNECT_INTERVAL=500,t.MAX_RECONNECT_ATTEMPTS=25,t.UNKNOWN="UNKNOWN",t.$faces=function(){var e;return null!==(e=null===window||void 0===window?void 0:window.faces)&&void 0!==e?e:null===window||void 0===window?void 0:window.jsf},t.$nsp=function(e){return e&&(null==e?void 0:e.replace)?(null===window||void 0===window?void 0:window.faces)?e.replace(/javax\.faces/gi,"jakarta.faces"):e.replace(/jakarta\.faces/gi,"javax.faces"):e}},315:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StateHolder=void 0;const r=n(351);t.StateHolder=class{constructor(e,t){this.id=e,this.value=t;let n=e.indexOf(r.P_VIEWSTATE);this.nameSpace=n>0?e.substr(0,n-1):r.EMPTY_STR}get hasNameSpace(){var e;return!!(null!==(e=null==this?void 0:this.nameSpace)&&void 0!==e?e:r.EMPTY_STR).length}}},207:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Messages=void 0,t.Messages=class{constructor(){this.MSG_TEST="Testmessage",this.MSG_DEV_MODE="Note, this message is only sent, because project stage is development and no other error listeners are registered.",this.MSG_AFFECTED_CLASS="Affected Class=",this.MSG_AFFECTED_METHOD="Affected Method=",this.MSG_ERROR_NAME="Error Name=",this.MSG_ERROR_MESSAGE="Error Message=",this.MSG_SERVER_ERROR_NAME="Server Error Name=",this.MSG_ERROR_DESC="Error Description=",this.MSG_ERROR_NO="Error Number=",this.MSG_ERROR_LINENO="Error Line Number=",this.ERR_FORM="Sourceform could not be determined, either because element is not attached to a form or we have multiple forms with named elements of the same identifier or name, stopping the ajax processing",this.ERR_VIEWSTATE="faces.viewState= param value not of type form!",this.ERR_TRANSPORT="Transport type {0} does not exist",this.ERR_EVT_PASS="an event must be passed down (either a an event object null or undefined) ",this.ERR_CONSTRUCT="Parts of the response couldn't be retrieved when constructing the event data= {0} ",this.ERR_MALFORMEDXML="The server response could not be parsed, the server has returned with a response which is not xml !",this.ERR_SOURCE_FUNC="source cannot be a function (probably source and event were not defined or set to null",this.ERR_EV_OR_UNKNOWN="An event object or unknown must be passed as second parameter",this.ERR_SOURCE_NOSTR="source cannot be a string",this.ERR_SOURCE_DEF_NULL="source must be defined or null",this.ERR_MUST_STRING="{0}: {1} namespace must be of type String",this.ERR_REF_OR_ID="{0}: {1} a reference node or identifier must be provided",this.ERR_PARAM_GENERIC="{0}: parameter {1} must be of type {2}",this.ERR_PARAM_STR="{0}: {1} param must be of type string",this.ERR_PARAM_STR_RE="{0}: {1} param must be of type string or a regular expression",this.ERR_PARAM_MIXMAPS="{0}: both a source as well as a destination map must be provided",this.ERR_MUST_BE_PROVIDED="{0}: an {1} and a {2} must be provided",this.ERR_MUST_BE_PROVIDED1="{0}: {1} must be set",this.ERR_REPLACE_EL="replaceElements called while evalNodes is not an array",this.ERR_EMPTY_RESPONSE="{0}: The response cannot be null or empty!",this.ERR_ITEM_ID_NOTFOUND="{0}: item with identifier {1} could not be found",this.ERR_PPR_IDREQ="{0}: Error in PPR Insert, id must be present",this.ERR_PPR_INSERTBEFID="{0}: Error in PPR Insert, before id or after id must be present",this.ERR_PPR_INSERTBEFID_1="{0}: Error in PPR Insert, before node of id {1} does not exist in document",this.ERR_PPR_INSERTBEFID_2="{0}: Error in PPR Insert, after node of id {1} does not exist in document",this.ERR_PPR_DELID="{0}: Error in delete, id not in xml markup",this.ERR_PPR_UNKNOWNCID="{0}: Unknown Html-Component-ID= {1}",this.ERR_NO_VIEWROOTATTR="{0}: Changing of ViewRoot attributes is not supported",this.ERR_NO_HEADATTR="{0}: Changing of Head attributes is not supported",this.ERR_RED_URL="{0}: Redirect without url",this.ERR_REQ_FAILED_UNKNOWN="Request failed with unknown status",this.ERR_REQU_FAILED="Request failed with status {0} and reason {1}",this.UNKNOWN="UNKNOWN"}}},22:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Assertions=void 0;const r=n(257),s=n(351),l=n(471);var o;!function(e){function t(t,n=s.EMPTY_STR,r=s.EMPTY_STR,l="Assertion Error"){if(!t)throw e.raiseError(new Error,n,r,l)}function n(t,n,l=s.EMPTY_STR,o=s.EMPTY_STR,i="Type Assertion Error"){if(t&&!r.Lang.assertType(t,n))throw e.raiseError(new Error,l,o,i)}function o(e,t=s.EMPTY_STR,r=s.EMPTY_STR,l="Assertion Error"){n(e,"function",t,r,l)}e.assertRequestIntegrity=function(e,n){o(e.getIf(s.ON_ERROR).value),o(e.getIf(s.ON_EVENT).value),t(n.isPresent(),l.ExtLang.getMessage("ERR_MUST_BE_PROVIDED1","{0}: source must be provided or exist","source element id"),"faces.ajax.request","ArgNotSet")},e.assertUrlExists=function(t){if(t.attr(s.ATTR_URL).isAbsent())throw e.raiseError(new Error,l.ExtLang.getMessage("ERR_RED_URL",null,"processRedirect"),"processRedirect")},e.assertValidXMLResponse=function(e){t(!e.isAbsent(),s.EMPTY_RESPONSE,s.PHASE_PROCESS_RESPONSE),t(!e.isXMLParserError(),e.parserErrorText(s.EMPTY_STR),s.PHASE_PROCESS_RESPONSE),t(e.querySelectorAll(s.XML_TAG_PARTIAL_RESP).isPresent(),s.ERR_NO_PARTIAL_RESPONSE,s.PHASE_PROCESS_RESPONSE)},e.raiseError=function(e,t,n,r,o){let i=null!=r?r:s.MALFORMEDXML,a=null!=o?o:s.MALFORMEDXML,u=null!=t?t:s.EMPTY_STR;return l.ExtLang.makeException(e,i,a,"Response",n||(arguments.caller?arguments.caller.toString():"_raiseError"),u)},e.assert=t,e.assertType=n,e.assertFunction=o,e.assertDelay=function(e){if(!(e>=0))throw new Error("Invalid delay value: "+e)}}(o||(t.Assertions=o={}))},726:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AsyncRunnable=void 0,t.AsyncRunnable=class{constructor(){this.catchFunctions=[],this.thenFunctions=[]}resolve(e){this.thenFunctions.reduce(((e,t)=>t(e)),e)}reject(e){this.catchFunctions.reduce(((e,t)=>t(e)),e)}catch(e){return this.catchFunctions.push(e),this}finally(e){return this.catchFunctions.push(e),this.thenFunctions.push(e),this}then(e){return this.thenFunctions.push(e),this}}},780:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtConfig=t.ExtDQ=t.ExtDomQuery=void 0;const r=n(257),s=n(351),l=e=>e&&!(-1==(null==e?void 0:e.search(/\/jakarta\.faces\.resource.*\/faces\.js.*/))&&-1==(null==e?void 0:e.search(/\/faces-development\.js.*/))&&-1==(null==e?void 0:e.search(/\/faces-uncompressed\.js.*/))&&-1==(null==e?void 0:e.search(/\/faces[^.]*\.js.*ln=jakarta.faces.*/gi))&&-1==(null==e?void 0:e.search(/\/javax\.faces\.resource.*\/jsf\.js.*/))&&-1==(null==e?void 0:e.search(/\/jsf-development\.js.*/))&&-1==(null==e?void 0:e.search(/\/jsf-uncompressed\.js.*/))&&-1==(null==e?void 0:e.search(/\/jsf[^.]*\.js.*ln=javax.faces.*/gi))),o="src";class i extends r.DQ{static get windowId(){return new i(document.body).windowId}static get nonce(){return new i(document.body).nonce}get windowId(){const e=function(){let e=window.location.href,t=new RegExp("[\\?&]windowId=([^&#\\;]*)").exec(e);return null!=t?t[1]:null};if(this.value.isPresent()){let t=this.querySelectorAll("form input[name='"+s.P_WINDOW_ID+"']");if(t.length>1)throw Error("Multiple different windowIds found in document");return r.Optional.fromNullable(t.isPresent()?t.getAsElem(0).value.value:e())}return r.Optional.fromNullable(e())}get nonce(){var e;let t=new a(window.myfaces).getIf("config","cspMeta","nonce");if(t.value)return r.ValueEmbedder.fromNullable(t);let n=new r.DQ(document.currentScript).nonce;if(n.isPresent())return r.ValueEmbedder.fromNullable(n);let s=r.Optional.fromNullable(null===(e=r.DQ.querySelectorAll("script[src], link[src]").asArray.filter((e=>e.nonce.isPresent()&&null!=e.attr(o))).filter((e=>l(e.attr(o).value))))||void 0===e?void 0:e[0]);return(null==s?void 0:s.value)?new r.DomQuery(s.value).nonce:r.ValueEmbedder.absent}static searchJsfJsFor(e){return new i(document).searchJsfJsFor(e)}searchJsfJsFor(e){var t;return r.Optional.fromNullable(null===(t=r.DQ.querySelectorAll("script[src], link[src]").asArray.filter((e=>l(e.attr(o).value))).map((t=>t.attr(o).value.match(e))).filter((e=>null!=e&&e.length>1)).map((e=>decodeURIComponent(e[1]))))||void 0===t?void 0:t[0])}globalEval(e,t){return new i(super.globalEval(e,null!=t?t:this.nonce.value))}globalEvalSticky(e,t){return new i(super.globalEvalSticky(e,null!=t?t:this.nonce.value))}runScripts(e=!1,t){return super.runScripts(e,(e=>{var n,r;return(null===(n=null==t?void 0:t(e))||void 0===n||n)&&!l(e)&&!(-1!=(r=e).search(/\/faces[^.]*\.js.*ln=myfaces.testscripts.*/gi)||-1!=r.search(/\/jsf[^.]*\.js.*ln=myfaces.testscripts.*/gi))}))}runHeadInserts(e=!0){let t=i.byId(document.head),n=[];this.filter((function(n){if(!e)return!0;const r=n.tagName.value;if(!r)return!0;let s=n.attr("href").orElseLazy((()=>n.attr("src").value)).orElseLazy((()=>n.attr("rel").value));return!s.isPresent()||!t.querySelectorAll(`${r}[href='${s.value}']`).length&&!t.querySelectorAll(`${r}[src='${s.value}']`).length&&!t.querySelectorAll(`${r}[rel='${s.value}']`).length})).each((e=>{"SCRIPT"!=e.tagName.value?(new i(...n).runScripts(!0),n=[],t.append(e)):n.push(e)})),new i(...n).runScripts(!0)}static byId(e,t=!1){const n=r.DomQuery.byId(e,t);return new i(n)}filter(e){return new i(super.filter(e))}}t.ExtDomQuery=i,t.ExtDQ=i;class a extends r.Config{constructor(e){super(e),this.$nspEnabled=!0}assignIf(e,...t){const n=this.remap(t);return super.assignIf(e,...n)}assign(...e){const t=this.remap(e);return super.assign(...t)}append(...e){return super.append(...e)}appendIf(e,...t){const n=this.remap(t);return super.appendIf(e,...n)}getIf(...e){const t=this.remap(e);return super.getIf(...t)}get(e){return super.get((0,s.$nsp)(e))}delete(e){return super.delete((0,s.$nsp)(e))}static fromNullable(e){return new a(e)}getClass(){return a}shallowCopy$(){const e=super.shallowCopy$();return new a(e)}get deepCopy(){return new a(super.deepCopy$())}remap(e){return this.$nspEnabled?new r.Es2019Array(...e).map((e=>(0,s.$nsp)(e))):e}}t.ExtConfig=a},680:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getFormInputsAsArr=t.fixEmptyParameters=t.resolveFiles=t.decodeEncodedValues=t.encodeFormData=void 0;const r=n(257),s=n(780),l=n(351);function o(e){return e.split(/&/gi).filter((e=>!!(e||"").replace(/\s+/g,""))).map((e=>{let t=decodeURIComponent(e),n=t.indexOf("=");return-1==n?[t]:[t.substring(0,n),t.substring(n+1)]}))}function i(e){return e.querySelectorAllDeep("input[type='file']").asArray.map((e=>[e.name.value||e.id.value,e.filesFromElem(0)])).flatMap((([e,t])=>[...t].map((t=>[e,t]))))}t.encodeFormData=function(e,t=(e,t)=>[e,t],n=l.EMPTY_STR){if(e.isAbsent())return n;const o=e.value;return new r.Es2019Array(...Object.keys(o)).filter((e=>o.hasOwnProperty(e))).flatMap((e=>o[e].map((n=>t(e,n))))).filter((([,e])=>!(e instanceof s.ExtDomQuery.global().File))).map((e=>`${encodeURIComponent(e[0])}=${encodeURIComponent(e[1])}`)).join("&")},t.decodeEncodedValues=o,t.resolveFiles=i,t.fixEmptyParameters=function(e){var t,n;return e.length<3?[null!==(t=null==e?void 0:e[0])&&void 0!==t?t:[],null!==(n=null==e?void 0:e[1])&&void 0!==n?n:[]]:e},t.getFormInputsAsArr=function(e){const t=function(e){return o((0,l.$faces)().getViewState(e.getAsElem(0).value))}(e),n=i(e);return t.concat(n)}},248:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HiddenInputBuilder=void 0;const r=n(257),s=n(351);t.HiddenInputBuilder=class{constructor(e){this.selector=e,this.namedViewRoot=!1;const t=-1!=e.indexOf((0,s.$nsp)(s.P_VIEWSTATE));this.name=t?s.P_VIEWSTATE:s.P_CLIENT_WINDOW,this.template=t?s.HTML_VIEWSTATE:s.HTML_CLIENT_WINDOW}withNamingContainerId(e){return this.namingContainerId=e,this}withParent(e){return this.parent=e,this}withNamedViewRoot(e){return this.namedViewRoot=e,this}build(){var e,t,n;const l=(0,s.$faces)().separatorchar;let o=(0,r.DQ$)(`[name*='${(0,s.$nsp)(this.name)}']`).asArray.map((e=>{let t=e.id.orElse("0").value;return t=t.substring(t.lastIndexOf(l)+1),parseInt(t)})).filter((e=>!isNaN(e))).reduce(((e,t)=>Math.max(e,t)),0);o++;const i=r.DQ.fromMarkup((0,s.$nsp)(this.template));return i.id.value=((null===(e=this.namingContainerId)||void 0===e?void 0:e.length)?[this.namingContainerId,(0,s.$nsp)(this.name),o]:[(0,s.$nsp)(this.name),o]).join(l),this.namedViewRoot?i.name.value=(null===(t=this.namingContainerId)||void 0===t?void 0:t.length)?[this.namingContainerId,(0,s.$nsp)(this.name)].join(l):(0,s.$nsp)(this.name):i.name.value=(0,s.$nsp)(this.name),null===(n=null==this?void 0:this.parent)||void 0===n||n.append(i),i}}},471:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtLang=void 0;const r=n(257),s=n(207),l=n(351),o=n(7),i=n(257);var a;!function(e){let t;function n(e,n,...r){var o,i;t=null!=t?t:new s.Messages;let a=null!==(i=null!==(o=t[e])&&void 0!==o?o:n)&&void 0!==i?i:e;return r.forEach(((e,t)=>{a=a.replace(new RegExp(["\\{",t,"\\}"].join(l.EMPTY_STR),"g"),e)})),a}function a(e,t,n,r,s,o){var i;return new Error(null!==(i=o+(null!=r?r:"impl/util/Lang/")+s)&&void 0!==i?i:l.EMPTY_STR+arguments.caller.toString())}e.getLanguage=function(){var e,t;let n=null!==(t=null===(e=navigator.languages)||void 0===e?void 0:e[0])&&void 0!==t?t:null===navigator||void 0===navigator?void 0:navigator.language;return n=n.split("-")[0],n},e.failSaveResolve=function(e,t=null){return r.Lang.saveResolve(e,t)},e.failSaveExecute=function(e,t=null){r.Lang.saveResolve(e,t)},e.getMessage=n,e.keyValToStr=function(e,t,n="\n"){return[e,t].join(n)},e.makeException=a,e.getGlobalConfig=function(e,t){var n,r,s;return null!==(s=null===(r=null===(n=null===window||void 0===window?void 0:window.myfaces)||void 0===n?void 0:n.config)||void 0===r?void 0:r[e])&&void 0!==s?s:t},e.getForm=function(e,t){let s=new r.DQ(e),i=t?new r.DQ((0,o.getEventTarget)(t)):r.DomQuery.absent;if(s.isTag(l.HTML_TAG_FORM))return s;if(s.attr(l.HTML_TAG_FORM).isPresent()){let e=s.attr(l.HTML_TAG_FORM).value,t=r.DQ.byId(e,!0);if(t.isPresent())return t}let u=s.firstParent(l.HTML_TAG_FORM).orElseLazy((()=>s.byTagName(l.HTML_TAG_FORM,!0))).orElseLazy((()=>i.firstParent(l.HTML_TAG_FORM))).orElseLazy((()=>i.byTagName(l.HTML_TAG_FORM))).first();return u=u.orElseLazy((()=>r.DQ.byTagName(l.HTML_TAG_FORM))),function(e){if(e.isAbsent()||e.length>1)throw a(new Error,null,null,"Impl","getForm",n("ERR_FORM"))}(u),u},e.getLocalOrGlobalConfig=function(e,t,n){var r,s,l,o,i,a,u;return null!==(u=null!==(o=null===(l=null===(s=null===(r=e.value)||void 0===r?void 0:r.myfaces)||void 0===s?void 0:s.config)||void 0===l?void 0:l[t])&&void 0!==o?o:null===(a=null===(i=null===window||void 0===window?void 0:window.myfaces)||void 0===i?void 0:i.config)||void 0===a?void 0:a[t])&&void 0!==u?u:n},e.ofAssoc=function(e){return new i.Es2019Array(...Object.keys(e)).map((t=>[t,e[t]]))},e.collectAssoc=function(e,t){return e[t[0]]=t[1],e};let u={};e.debounce=function(e,t,n){function r(){clearTimeout(u[e]),delete u[e]}(null==u?void 0:u[e])&&r(),n>0?u[e]=setTimeout((()=>{try{t()}finally{r()}}),n):t()}}(a||(t.ExtLang=a={}))},666:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XhrQueueController=void 0;var r=n(471).ExtLang.debounce;t.XhrQueueController=class{constructor(){this.queue=[],this.taskRunning=!1}enqueue(e,t=0){r("xhrQueue",(()=>{const t=this.enrichRunnable(e);this.taskRunning?this.queue.push(t):(this.signalTaskRunning(),t.start())}),t)}next(){this.updateTaskRunning();const e=this.queue.shift();null==e||e.start()}clear(){this.queue.length=0,this.updateTaskRunning()}get isEmpty(){return!this.queue.length}enrichRunnable(e){return e.then((()=>this.next())).catch((()=>this.clear()))}signalTaskRunning(){this.taskRunning=!0}updateTaskRunning(){this.taskRunning=!this.isEmpty}}},234:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorData=t.ErrorType=void 0;const r=n(351),s=n(560);var l,o=n(471).ExtLang.getMessage;!function(e){e.SERVER_ERROR="serverError",e.HTTP_ERROR="httpError",e.CLIENT_ERROR="clientErrror",e.TIMEOUT="timeout"}(l||(t.ErrorType=l={}));class i extends s.EventData{constructor(e,t,n,s=null,o=null,i=-1,a=null,u=l.CLIENT_ERROR){super(),this.type="error",this.source=e,this.type=r.ERROR,this.errorName=t,this.errorMessage=n,this.responseCode=`${i}`,this.responseText=s,this.responseXML=o,this.status=a,this.description=`Status: ${this.status}\nResponse Code: ${this.responseCode}\nError Message: ${this.errorMessage}`,this.typeDetails=u,u==l.SERVER_ERROR&&(this.serverErrorName=this.errorName,this.serverErrorMessage=this.errorMessage)}static fromClient(e){var t,n,s,l;return new i(null!==(t=null==e?void 0:e.source)&&void 0!==t?t:"client",null!==(n=null==e?void 0:e.name)&&void 0!==n?n:r.EMPTY_STR,null!==(s=null==e?void 0:e.message)&&void 0!==s?s:r.EMPTY_STR,null!==(l=null==e?void 0:e.stack)&&void 0!==l?l:r.EMPTY_STR)}static fromHttpConnection(e,t,n,s,o,a,u=r.EMPTY_STR){return new i(e,t,n,s,o,a,u,l.HTTP_ERROR)}static fromGeneric(e,t,n=l.SERVER_ERROR){let s=this.getMsg,o=s(e,r.SOURCE),a=s(e,r.ERROR_NAME),u=s(e,r.ERROR_MESSAGE),c=s(e,r.STATUS),d=s(e,r.RESPONSE_TEXT),h=e.getIf(r.RESPONSE_XML).value;return new i(o,a,u,d,h,t,c,n)}static getMsg(e,t){return o(e.getIf(t).orElse(r.EMPTY_STR).value)}static fromServerError(e){return this.fromGeneric(e,-1)}}t.ErrorData=i},560:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventData=void 0;const r=n(257),s=n(351);class l{static createFromRequest(e,t,n){var o;let i=new l;i.type=s.EVENT,i.status=n;let a=t.getIf(s.SOURCE).orElseLazy((()=>t.getIf(s.P_AJAX_SOURCE).value)).orElseLazy((()=>t.getIf(s.CTX_PARAM_REQ_PASS_THR,s.P_AJAX_SOURCE).value)).value;return a&&(i.source=r.DQ.byId(a,!0).first().value.value),n!==s.BEGIN&&(i.responseCode=null===(o=null==e?void 0:e.status)||void 0===o?void 0:o.toString(),i.responseText=null==e?void 0:e.responseText,i.responseXML=null==e?void 0:e.responseXML),i}}t.EventData=l},7:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveDefaults=t.getEventTarget=t.resolveWindowId=t.resolveDelay=t.resolveTimeout=t.resoveNamingContainerMapper=t.resolveViewRootId=t.resolveViewId=t.resolveForm=t.resolveFinalUrl=t.resolveTargetUrl=t.resolveHandlerFunc=void 0;const r=n(257),s=n(351),l=n(471),o=n(780),i=n(22);function a(e){return void 0===e.elements[s.ENCODED_URL]?e.action:e.elements[s.ENCODED_URL].value}function u(e){var t,n;return null!==(n=null===(t=null==e?void 0:e.value)||void 0===t?void 0:t.windowId)&&void 0!==n?n:o.ExtDomQuery.windowId.value}t.resolveHandlerFunc=function(e,t,n){return(t=t||new r.Config({})).getIf(n).orElseLazy((()=>e.getIf(n).value)).orElse(s.EMPTY_FUNC).value},t.resolveTargetUrl=a,t.resolveFinalUrl=function(e,t,n=s.REQ_TYPE_POST){return a(e.getAsElem(0).value)+(n==s.REQ_TYPE_GET?"?"+t.toString():s.EMPTY_STR)},t.resolveForm=function(e,t){return l.ExtLang.getForm(e.getAsElem(0).value,t)},t.resolveViewId=function(e){const t=e.querySelectorAll(`input[type='hidden'][name*='${(0,s.$nsp)(s.P_VIEWSTATE)}']`).id.orElse("").value,n=(0,s.$faces)().separatorchar,r=t.split(n,2)[0],l=-1===r.indexOf((0,s.$nsp)(s.P_VIEWSTATE))?r:"";return 0===e.id.value.indexOf(l)?l:""},t.resolveViewRootId=function(e){const t=e.querySelectorAll(`input[type='hidden'][name*='${(0,s.$nsp)(s.P_VIEWSTATE)}']`).attr("name").orElse("").value,n=(0,s.$faces)().separatorchar,r=t.split(n,2)[0];return-1===r.indexOf((0,s.$nsp)(s.P_VIEWSTATE))?r:""},t.resoveNamingContainerMapper=function(e){if(!e.getIf(s.NAMED_VIEWROOT).isPresent())return(e,t)=>[e,t];const t=e.getIf(s.NAMING_CONTAINER_ID).value+(0,s.$faces)().separatorchar;return(e,n)=>0==e.indexOf(t)?[e,n]:[t+e,n]},t.resolveTimeout=function(e){var t;let n=l.ExtLang.getLocalOrGlobalConfig;return null!==(t=e.getIf(s.CTX_OPTIONS_TIMEOUT).value)&&void 0!==t?t:n(e.value,s.CTX_OPTIONS_TIMEOUT,0)},t.resolveDelay=function(e){let t=e.getIf(s.CTX_OPTIONS_DELAY).orElse(0).value;return t=s.DELAY_NONE===t?0:t,i.Assertions.assertDelay(t),t},t.resolveWindowId=u,t.getEventTarget=function(e){var t,n;let r=e,s=null!==(n=null!==(t=null==r?void 0:r.srcElement)&&void 0!==t?t:null==r?void 0:r.target)&&void 0!==n?n:null==r?void 0:r.source;for(;s&&1!=s.nodeType;)s=s.parentNode;return s},t.resolveDefaults=function(e,t,n=null){var s;const l=r.DQ.byId(n||e.target,!0),i=new o.ExtConfig(t).deepCopy;return{options:i,elem:l,elementId:l.id.value,windowId:u(i),isResetValues:!0===(null===(s=i.value)||void 0===s?void 0:s.resetValues)}}},413:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSourceForm=t.resolveSourceElement=t.resolveContexts=t.resolveResponseXML=void 0;const r=n(257),s=n(22),l=n(257),o=n(351),i=n(780);t.resolveResponseXML=function(e){let t=new r.XMLQuery((0,o.$nsp)(e.getIf(o.SEL_RESPONSE_XML).value));return s.Assertions.assertValidXMLResponse(t),t},t.resolveContexts=function(e){let t=i.ExtConfig.fromNullable(e),n=t.getIf(o.CTX_PARAM_MF_INTERNAL);return n.isPresent()||(n=i.ExtConfig.fromNullable({})),n.assign(o.DEFERRED_HEAD_INSERTS).value=[],n.assign(o.UPDATE_FORMS).value=[],n.assign(o.UPDATE_ELEMS).value=[],{externalContext:t,internalContext:n}},t.resolveSourceElement=function(e,t){let n=function(e,t){return t.getIf(o.CTX_PARAM_SRC_CTL_ID).orElseLazy((()=>e.getIf(o.SOURCE,"id").value))}(e,t);return l.DQ.byId(n.value,!0)},t.resolveSourceForm=function(e,t){let n=e.getIf(o.CTX_PARAM_SRC_FRM_ID),r=new l.DQ(n.isPresent()?document.forms[n.value]:null);return r=r.orElseLazy((()=>t.firstParent(o.HTML_TAG_FORM))).orElseLazy((()=>t.querySelectorAll(o.HTML_TAG_FORM))).orElseLazy((()=>l.DQ.querySelectorAll(o.HTML_TAG_FORM))),r}},121:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Response=void 0;const r=n(257),s=n(797),l=n(351),o=n(413),i=n(780);var a;!function(e){e.processResponse=function(e,n){let a=i.ExtConfig.fromNullable(e),{externalContext:u,internalContext:c}=(0,o.resolveContexts)(n),d=(0,o.resolveResponseXML)(a),h=new s.ResponseProcessor(a,u,c);c.assign(l.RESPONSE_XML).value=d,d.querySelectorAll(l.XML_TAG_PARTIAL_RESP).each((e=>function(e,n,s){var o;let i=null===(o=null==e?void 0:e.id)||void 0===o?void 0:o.value;s.assignIf(!!i,l.NAMING_CONTAINER_ID).value=i,n.updateNamedViewRootState();const a=[l.XML_TAG_ERROR,l.XML_TAG_REDIRECT,l.XML_TAG_CHANGES].join(",");e.querySelectorAll(a).each((e=>{switch(e.tagName.value){case l.XML_TAG_ERROR:n.error(e);break;case l.XML_TAG_REDIRECT:n.redirect(e);break;case l.XML_TAG_CHANGES:!function(e,n){const s=[l.XML_TAG_UPDATE,l.XML_TAG_EVAL,l.XML_TAG_INSERT,l.XML_TAG_DELETE,l.XML_TAG_ATTRIBUTES,l.XML_TAG_EXTENSION].join(", ");e.querySelectorAll(s).each((e=>{switch(e.tagName.value){case l.XML_TAG_UPDATE:!function(e,t){(function(e,t){return e.processViewState(t)||e.processClientWindow(t)})(t,e)||function(e,t){let n=e.cDATAAsString;switch(e.id.value){case(0,l.$nsp)(l.P_VIEWROOT):t.replaceViewRoot(r.DQ.fromMarkup(n.substring(n.indexOf("{Object.defineProperty(t,"__esModule",{value:!0}),t.ResponseProcessor=void 0;const r=n(257),s=n(644),l=n(22),o=n(234),i=n(315),a=n(560),u=n(351),c=n(780),d=n(248);var h=r.Lang.trim,E=n(471).ExtLang.ofAssoc;class v{constructor(e,t,n){this.request=e,this.externalContext=t,this.internalContext=n}replaceHead(e){const t=e.querySelectorAll(u.HTML_TAG_HEAD);if(!t.isPresent())return;const n=c.ExtDomQuery.querySelectorAll(u.HTML_TAG_HEAD);n.childNodes.delete(),this.addToHead(t),n.copyAttrs(t)}addToHead(e){const t=new c.ExtDomQuery(e),n=[u.HTML_TAG_SCRIPT];t.filter((e=>-1==n.indexOf(e.tagName.orElse("").value))).runHeadInserts(!0);const s="HEAD"===e.tagName.value?e.childNodes:e,l=new r.DomQuery(...s.asArray.filter((e=>-1!=n.indexOf(e.tagName.orElse("").value))));this.addToHeadDeferred(l)}addToHeadDeferred(e){this.internalContext.assign(u.DEFERRED_HEAD_INSERTS).value.push(e)}replaceBody(e){const t=e.querySelectorAll(u.HTML_TAG_BODY);if(!t.isPresent())return;const n=t.innerHTML,r=c.ExtDomQuery.querySelectorAll(u.HTML_TAG_BODY),s=r.querySelectorAll(u.HTML_TAG_FORM);r.html(n).copyAttrs(t),this.externalContext.assign((0,u.$nsp)(u.P_RENDER_OVERRIDE)).value="@all",this.storeForPostProcessing(s,r)}eval(e){c.ExtDomQuery.globalEval(e.cDATAAsString)}error(e){const t=new c.ExtConfig({});t.assign(u.SOURCE).value=this.externalContext.getIf(u.P_AJAX_SOURCE).get(0).value,t.assign(u.ERROR_NAME).value=e.querySelectorAll(u.ERROR_NAME).textContent(u.EMPTY_STR),t.assign(u.ERROR_MESSAGE).value=e.querySelectorAll(u.ERROR_MESSAGE).cDATAAsString;const n=this.internalContext.get(u.RESPONSE_XML).isPresent();t.assignIf(n,u.RESPONSE_XML).value=this.internalContext.getIf(u.RESPONSE_XML).value.get(0).value;const r=o.ErrorData.fromServerError(t);this.triggerOnError(r),s.Implementation.sendError(r)}redirect(e){l.Assertions.assertUrlExists(e);const t=h(e.attr(u.ATTR_URL).value);t!=u.EMPTY_STR&&(window.location.href=t)}update(e,t){const n=c.ExtDomQuery.byId(e.id.value,!0).outerHTML(t,!1,!1),r=null==n?void 0:n.firstParent(u.HTML_TAG_FORM).orElseLazy((()=>n.byTagName(u.HTML_TAG_FORM,!0)));r&&this.storeForPostProcessing(r,n)}delete(e){r.DQ.byId(e.id.value,!0).delete()}attributes(e){const t=r.DQ.byId(e.id.value,!0);e.byTagName(u.XML_TAG_ATTR).each((e=>{t.attr(e.attr(u.ATTR_NAME).value).value=e.attr(u.ATTR_VALUE).value}))}replaceViewRoot(e){this.replaceHead(e),this.replaceBody(e)}insert(e){const t=e.attr(u.XML_TAG_BEFORE),n=e.attr(u.XML_TAG_AFTER),s=r.DQ.fromMarkup(e.cDATAAsString);t.isPresent()&&(r.DQ.byId(t.value,!0).insertBefore(s),this.internalContext.assign(u.UPDATE_ELEMS).value.push(s)),n.isPresent()&&(r.DQ.byId(n.value,!0).insertAfter(s),this.internalContext.assign(u.UPDATE_ELEMS).value.push(s))}insertWithSubTags(e){const t=e.querySelectorAll(u.XML_TAG_BEFORE),n=e.querySelectorAll(u.XML_TAG_AFTER);t.each((e=>{const t=e.attr(u.ATTR_ID),n=r.DQ.fromMarkup(e.cDATAAsString);t.isPresent()&&(r.DQ.byId(t.value,!0).insertBefore(n),this.internalContext.assign(u.UPDATE_ELEMS).value.push(n))})),n.each((e=>{const t=e.attr(u.ATTR_ID),n=r.DQ.fromMarkup(e.cDATAAsString);t.isPresent()&&(r.DQ.byId(t.value,!0).insertAfter(n),this.internalContext.assign(u.UPDATE_ELEMS).value.push(n))}))}processViewState(e){if(v.isViewStateNode(e)){const t=e.cDATAAsString;return this.internalContext.assign(u.APPLIED_VST,e.id.value).value=new i.StateHolder((0,u.$nsp)(e.id.value),t),!0}return!1}processClientWindow(e){if(v.isClientWindowNode(e)){const t=e.cDATAAsString;return this.internalContext.assign(u.APPLIED_CLIENT_WINDOW,e.id.value).value=new i.StateHolder((0,u.$nsp)(e.id.value),t),!0}}globalEval(){new c.ExtDomQuery(...this.internalContext.getIf(u.DEFERRED_HEAD_INSERTS).value).runHeadInserts(!0);let e=new c.ExtDomQuery(...this.internalContext.getIf(u.UPDATE_ELEMS).value);e.runCss(),e.runScripts()}fixViewStates(){E(this.internalContext.getIf(u.APPLIED_VST).orElse({}).value).forEach((([,e])=>{const t=this.internalContext.getIf(u.NAMING_CONTAINER_ID),n=!!this.internalContext.getIf(u.NAMED_VIEWROOT).value,r=this.getContainerForms(t).filter((e=>this.isInExecuteOrRender(e)));this.appendViewStateToForms(r,n,e.value,t.orElse("").value)}))}fixClientWindow(){E(this.internalContext.getIf(u.APPLIED_CLIENT_WINDOW).orElse({}).value).forEach((([,e])=>{const t=this.internalContext.getIf(u.NAMING_CONTAINER_ID),n=!!this.internalContext.getIf(u.NAMED_VIEWROOT).value,r=this.getContainerForms(t).filter((e=>this.isInExecuteOrRender(e)));this.appendClientWindowToForms(r,n,e.value,t.orElse("").value)}))}updateNamedViewRootState(){let e=this.internalContext.getIf(u.NAMING_CONTAINER_ID),t=this.internalContext.getIf(u.NAMED_VIEWROOT);if(e.isPresent()&&(t.isAbsent()||!t.value)){const t=(0,u.$faces)().separatorchar;this.internalContext.assign(u.NAMED_VIEWROOT).value=!!document.getElementById(e.value)||(0,r.DQ$)(`input[name*='${(0,u.$nsp)(u.P_VIEWSTATE)}']`).filter((n=>0==n.attr("name").value.indexOf(e.value+t))).length>0}}done(){const e=a.EventData.createFromRequest(this.request.value,this.externalContext,u.SUCCESS),t=this.externalContext.getIf(u.ON_EVENT).orElseLazy((()=>this.internalContext.getIf(u.ON_EVENT).value)).orElse(u.EMPTY_FUNC).value;s.Implementation.sendEvent(e,t)}appendViewStateToForms(e,t,n,r=""){this.assignState(e,(0,u.$nsp)(u.SEL_VIEWSTATE_ELEM),t,n,r)}appendClientWindowToForms(e,t,n,r=""){this.assignState(e,(0,u.$nsp)(u.SEL_CLIENT_WINDOW_ELEM),t,n,r)}assignState(e,t,n,r,s){e.each((e=>{e.querySelectorAll(t).orElseLazy((()=>(e=>new d.HiddenInputBuilder(t).withNamingContainerId(s).withParent(e).withNamedViewRoot(n).build())(e))).val=r}))}storeForPostProcessing(e,t){this.storeForUpdate(e),this.storeForEval(t)}storeForUpdate(e){this.internalContext.assign(u.UPDATE_FORMS).value.push(e)}storeForEval(e){this.internalContext.assign(u.UPDATE_ELEMS).value.push(e)}static isViewStateNode(e){var t,n,r,s,l,o;const i=(0,u.$faces)().separatorchar;return void 0!==(null===(t=null==e?void 0:e.id)||void 0===t?void 0:t.value)&&((null===(n=null==e?void 0:e.id)||void 0===n?void 0:n.value)==(0,u.$nsp)(u.P_VIEWSTATE)||-1!=(null===(s=null===(r=null==e?void 0:e.id)||void 0===r?void 0:r.value)||void 0===s?void 0:s.indexOf([i,(0,u.$nsp)(u.P_VIEWSTATE)].join(u.EMPTY_STR)))||-1!=(null===(o=null===(l=null==e?void 0:e.id)||void 0===l?void 0:l.value)||void 0===o?void 0:o.indexOf([(0,u.$nsp)(u.P_VIEWSTATE),i].join(u.EMPTY_STR))))}static isClientWindowNode(e){var t,n,r,s,l,o;const i=(0,u.$faces)().separatorchar;return void 0!==(null===(t=null==e?void 0:e.id)||void 0===t?void 0:t.value)&&((null===(n=null==e?void 0:e.id)||void 0===n?void 0:n.value)==(0,u.$nsp)(u.P_CLIENT_WINDOW)||-1!=(null===(s=null===(r=null==e?void 0:e.id)||void 0===r?void 0:r.value)||void 0===s?void 0:s.indexOf([i,(0,u.$nsp)(u.P_CLIENT_WINDOW)].join(u.EMPTY_STR)))||-1!=(null===(o=null===(l=null==e?void 0:e.id)||void 0===l?void 0:l.value)||void 0===o?void 0:o.indexOf([(0,u.$nsp)(u.P_CLIENT_WINDOW),i].join(u.EMPTY_STR))))}triggerOnError(e){this.externalContext.getIf(u.ON_ERROR).orElseLazy((()=>this.internalContext.getIf(u.ON_ERROR).value)).orElse(u.EMPTY_FUNC).value(e)}isInExecuteOrRender(e){const t=this.externalContext.getIf((0,u.$nsp)(u.P_EXECUTE)).orElse("@none").value.split(/\s+/gi),n=this.externalContext.getIf(u.P_RENDER_OVERRIDE).orElseLazy((()=>this.externalContext.getIf((0,u.$nsp)(u.P_RENDER)).value)).orElse(u.IDENT_NONE).value.split(/\s+/gi);return[...t.concat(...n)].filter((t=>{if(-1!=[u.IDENT_ALL,u.IDENT_NONE].indexOf(t))return!0;const n=this.getNameOrIdSelector(t);return e.matchesSelector(n)||e.querySelectorAll(n).isPresent()||e.firstParent(n).isPresent()})).length>0}getContainerForms(e){return e.isPresent()?(0,r.DQ$)(this.getNameOrIdSelector(e.value)).orElseLazy((()=>r.DQ.byTagName(u.HTML_TAG_BODY))).byTagName(u.HTML_TAG_FORM,!0):r.DQ.byTagName(u.HTML_TAG_FORM)}getNameOrIdSelector(e){return`[id='${e}'], [name='${e}']`}}t.ResponseProcessor=v},944:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XhrFormData=void 0;const r=n(257),s=n(351),l=n(680);var o=n(471).ExtLang.ofAssoc;const i=n(257),a=(e,t)=>[e,t];class u extends r.Config{constructor(e,t=a,n,r){super({}),this.dataSource=e,this.paramsMapper=t,this.partialIds=r,this.isMultipartRequest=!1,this.resolveRequestType(this.dataSource,n),this.encodeSubmittableFields(this.dataSource,this.partialIds),this.applyViewState(this.dataSource)}toFormData(){return o(this.value).flatMap((([e,t])=>Array.isArray(t)?new i.Es2019Array(...t).map((t=>({key:e,value:t}))):[{key:e,value:t}])).map((({key:e,value:t})=>({key:e=this.remapKeyForNamingContainer(e),value:t}))).reduce(((e,{key:t,value:n})=>(e.append(t,n),e)),new FormData)}toString(e=s.EMPTY_STR){return(0,l.encodeFormData)(this,this.paramsMapper,e)}resolveRequestType(e,t){t&&-1==t.indexOf(s.IDENT_NONE)&&(this.isMultipartRequest=e.isMultipartCandidate(!0))}applyViewState(e){if(this.getIf((0,s.$nsp)(s.P_VIEWSTATE)).isPresent())return;let t=e.querySelectorAllDeep(`[name*='${(0,s.$nsp)(s.P_VIEWSTATE)}'`),n=t.inputValue;this.appendIf(n.isPresent(),this.remapKeyForNamingContainer(t.name.value)).value=n.value}encodeSubmittableFields(e,t=[]){const n=t.map((e=>this.remapKeyForNamingContainer(e)));(0,l.getFormInputsAsArr)(e).map(l.fixEmptyParameters).map((([e,t])=>this.paramsMapper(e,t))).filter((([e,t])=>!n.length||0==e.indexOf("@")||-1!=n.indexOf(e))).forEach((([e,t])=>this.append(e).value=t))}remapKeyForNamingContainer(e){return this.paramsMapper(e,"")[0]}}t.XhrFormData=u},229:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XhrRequest=void 0;const r=n(726),s=n(257),l=n(644),o=n(944),i=n(234),a=n(560),u=n(471),c=n(351),d=n(7);var h=u.ExtLang.failSaveExecute;const E=n(780);class v extends r.AsyncRunnable{constructor(e,t,n=c.NO_TIMEOUT,r=c.REQ_TYPE_POST,s=c.URL_ENCODED){super(),this.requestContext=e,this.internalContext=t,this.timeout=n,this.ajaxType=r,this.contentType=s,this.stopProgress=!1,this.xhrObject=new XMLHttpRequest,this.registerXhrCallbacks((e=>this.resolve(e)),(e=>this.reject(e)))}start(){let e=h,t=this.xhrObject,n=s.DQ.byId(this.internalContext.getIf(c.CTX_PARAM_SRC_FRM_ID).value),r=()=>this.requestContext.getIf(c.CTX_PARAM_REQ_PASS_THR,c.P_EXECUTE).get(c.IDENT_NONE).value.split(/\s+/gi);try{const s=r(),l=!0===this.internalContext.getIf(c.CTX_PARAM_PPS).value?s:[],i=new o.XhrFormData(n,(0,d.resoveNamingContainerMapper)(this.internalContext),s,l);this.contentType=i.isMultipartRequest?"undefined":this.contentType,this.requestContext.$nspEnabled=!1;const a=this.requestContext,u=a.getIf(c.CTX_PARAM_REQ_PASS_THR);u.$nspEnabled=!1;try{i.shallowMerge(u,!0,!0)}finally{this.requestContext.$nspEnabled=!0,u.$nspEnabled=!0}this.appendIssuingItem(i),this.responseContext=u.deepCopy;const h=this.responseContext;h.assign(c.CTX_PARAM_MF_INTERNAL).value=this.internalContext.value,h.assign(c.ON_EVENT).value=a.getIf(c.ON_EVENT).value,h.assign(c.ON_ERROR).value=a.getIf(c.ON_ERROR).value,t.open(this.ajaxType,(0,d.resolveFinalUrl)(n,i,this.ajaxType),!0),this.timeout&&(t.timeout=this.timeout),"undefined"!=this.contentType&&e((()=>t.setRequestHeader(c.CONTENT_TYPE,`${this.contentType}; charset=utf-8`))),e((()=>t.setRequestHeader(c.HEAD_FACES_REQ,c.VAL_AJAX))),e((()=>t.setRequestHeader(c.REQ_ACCEPT,c.STD_ACCEPT))),this.sendEvent(c.BEGIN),this.sendRequest(i)}catch(e){throw this.handleErrorAndClearQueue(e),e}return this}cancel(){try{this.xhrObject.abort()}catch(e){this.handleError(e)}}registerXhrCallbacks(e,t){var n,r;const s=this.xhrObject;s.onabort=()=>{this.onAbort(e,t)},s.ontimeout=()=>{this.onTimeout(e,t)},s.onload=()=>{this.onResponseReceived(e)},s.onloadend=()=>{this.onResponseProcessed(this.xhrObject,e)},(null==s?void 0:s.upload)&&(null===(r=(n=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_PREINIT)).value)||void 0===r||r.call(n,s.upload),s.upload.addEventListener("progress",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_ON_PROGRESS)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("load",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_LOAD)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("loadstart",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_LOADSTART)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("loadend",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_LOADEND)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("abort",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_ABORT)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("timeout",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_TIMEOUT)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("error",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_ERROR)).value)||void 0===n||n.call(t,s.upload,e)}))),s.onerror=e=>{if(this.isCancelledResponse(this.xhrObject))return this.stopProgress=!0,void t();this.stopProgress||this.handleError(e)}}isCancelledResponse(e){return 0===(null==e?void 0:e.status)&&4===(null==e?void 0:e.readyState)&&""===(null==e?void 0:e.responseText)&&null===(null==e?void 0:e.responseXML)}onAbort(e,t){this.handleHttpError(t)}onTimeout(e,t){this.sendEvent(c.STATE_EVT_TIMEOUT),this.handleHttpError(e)}onResponseReceived(e){var t;this.sendEvent(c.COMPLETE),this.processRequestErrors(e)||(0,c.$faces)().ajax.response(this.xhrObject,null!==(t=this.responseContext.value)&&void 0!==t?t:{})}processRequestErrors(e){var t,n,r;const l=new s.XMLQuery(null===(t=this.xhrObject)||void 0===t?void 0:t.responseXML),o=null!==(r=null===(n=this.xhrObject)||void 0===n?void 0:n.status)&&void 0!==r?r:-1;if(l.isXMLParserError()){const t="Invalid Response",n="The response xml is invalid";return this.handleGenericResponseError(t,n,c.MALFORMEDXML,e),!0}if(l.isAbsent()){const t="Empty Response",n="The response has provided no data";return this.handleGenericResponseError(t,n,c.EMPTY_RESPONSE,e),!0}return(o>=300||o<200)&&(this.handleHttpError(e),!0)}handleGenericResponseError(e,t,n,r){var s,l,o,a;const u=new i.ErrorData(this.internalContext.getIf(c.CTX_PARAM_SRC_CTL_ID).value,e,t,null!==(l=null===(s=this.xhrObject)||void 0===s?void 0:s.responseText)&&void 0!==l?l:"",null!==(a=null===(o=this.xhrObject)||void 0===o?void 0:o.responseXML)&&void 0!==a?a:null,this.xhrObject.status,n);this.finalizeError(u,r)}handleHttpError(e,t="Generic HTTP Serror"){var n,r,s,l,o,a;this.stopProgress=!0;const u=new i.ErrorData(this.internalContext.getIf(c.CTX_PARAM_SRC_CTL_ID).value,c.HTTP_ERROR,t,null!==(r=null===(n=this.xhrObject)||void 0===n?void 0:n.responseText)&&void 0!==r?r:"",null!==(l=null===(s=this.xhrObject)||void 0===s?void 0:s.responseXML)&&void 0!==l?l:null,null!==(a=null===(o=this.xhrObject)||void 0===o?void 0:o.status)&&void 0!==a?a:-1,c.HTTP_ERROR);this.finalizeError(u,e)}finalizeError(e,t){try{this.handleError(e,!0)}finally{t(e),this.stopProgress=!0}}onResponseProcessed(e,t){this.stopProgress||t(e)}sendRequest(e){const t=this.ajaxType!=c.REQ_TYPE_GET;e.isMultipartRequest?this.xhrObject.send(t?e.toFormData():null):this.xhrObject.send(t?e.toString():null)}sendEvent(e){var t;const n=a.EventData.createFromRequest(this.xhrObject,this.requestContext,e);try{let e=(0,d.resolveHandlerFunc)(this.requestContext,this.responseContext,c.ON_EVENT);l.Implementation.sendEvent(n,e)}catch(e){throw e.source=null!==(t=null==e?void 0:e.source)&&void 0!==t?t:this.requestContext.getIf(c.SOURCE).value,this.handleErrorAndClearQueue(e),e}}handleErrorAndClearQueue(e,t=!1){this.handleError(e,t),this.reject(e)}handleError(e,t=!1){var n;const r=t?i.ErrorData.fromHttpConnection(e.source,e.type,null!==(n=e.message)&&void 0!==n?n:c.EMPTY_STR,e.responseText,e.responseXML,e.responseCode,e.status):i.ErrorData.fromClient(e),s=(0,d.resolveHandlerFunc)(this.requestContext,this.responseContext,c.ON_ERROR);l.Implementation.sendError(r,s)}appendIssuingItem(e){var t,n;const r=this.internalContext.getIf(c.CTX_PARAM_SRC_CTL_ID).value,l=null!==(n=null===(t=e.getIf((0,c.$nsp)(c.P_BEHAVIOR_EVENT)).value)||void 0===t?void 0:t[0])&&void 0!==n?n:null,o=!!l&&"click"!=l;if(r&&e.getIf(r).isAbsent()&&!o){const t=s.DQ.byId(r),n=t.inputValue,l=new E.ExtConfig({}),o=t.type.orElse("").value.toLowerCase();if(!(o!=v.TYPE_CHECKBOX&&o!=v.TYPE_RADIO||t.checked))return;o==v.TYPE_CHECKBOX||o==v.TYPE_RADIO?l.assign(r).value=n.orElse(!0).value:n.isPresent()&&(l.assign(r).value=n.value),e.shallowMerge(l,!0,!0)}}}t.XhrRequest=v,v.TYPE_CHECKBOX="checkbox",v.TYPE_RADIO="radio"},19:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.oam=void 0;const r=n(257),s=n(471);var l;!function(e){var t=s.ExtLang.ofAssoc;e.setHiddenInput=function(e,t,n){r.DQ.byId(document.forms[e]).each((e=>{const s=e.querySelectorAll(`input[type='hidden'][name='${t}']`);if(s.isPresent())s.inputValue.value=n;else{const s=r.DQ.fromMarkup(``);s.inputValue.value=n,s.appendTo(e)}}))},e.clearHiddenInput=function(e,t){var n,s,l;let o=null===(l=null===(s=null===(n=document.forms)||void 0===n?void 0:n[e])||void 0===s?void 0:s.elements)||void 0===l?void 0:l[t];o&&r.DQ.byId(o).delete()},e.submitForm=function(e,n=null,s=null,l={}){var o,i,a,u,c,d;l=l||{};let h="clearFormHiddenParams_"+e.replace(/-/g,"$:").replace(/:/g,"_");null===(o=null===window||void 0===window?void 0:window[h])||void 0===o||o.call(window,e),(null===(u=null===(a=null===(i=null===window||void 0===window?void 0:window.myfaces)||void 0===i?void 0:i.core)||void 0===a?void 0:a.config)||void 0===u?void 0:u.autoScroll)&&(null===window||void 0===window?void 0:window.getScrolling)&&myfaces.oam.setHiddenInput(e,"autoScroll",null===window||void 0===window?void 0:window.getScrolling());let E=Array.isArray(l)?[...l]:t(l);return E.forEach((([t,n])=>myfaces.oam.setHiddenInput(e,t,n))),myfaces.oam.setHiddenInput(e,`${e}:_idcl`,null!=n?n:""),r.DQ.byId(null!==(d=null===(c=document.forms)||void 0===c?void 0:c[e])&&void 0!==d?d:document.getElementById(e)).each((t=>{var n;const r=t.getAsElem(0).value,l=t.getAsElem(0).value.getAttribute("target");"null"!=s&&s&&t.getAsElem(0).value.setAttribute("target",s);const o=null===(n=null==r?void 0:r.onsubmit)||void 0===n?void 0:n.call(r,null);try{(o||void 0===o)&&r.submit()}catch(e){null===window||void 0===window||window.console.error(e)}finally{null==l||"null"==l?t.getAsElem(0).value.removeAttribute("target"):t.getAsElem(0).value.setAttribute("target",l),E.forEach((([t,n])=>{myfaces.oam.clearHiddenInput(e,t)})),myfaces.oam.clearHiddenInput(e,`${e}:_idcl`)}})),!1}}(l||(t.oam=l={}))}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var l=t[r]={exports:{}};return e[r].call(l.exports,l,l.exports,n),l.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var r={};(()=>{var e,t,s,l=r;if(Object.defineProperty(l,"__esModule",{value:!0}),l.myfaces=l.faces=void 0,!window.faces){const t=n(973).J_;window.faces=null!==(e=null===window||void 0===window?void 0:window.faces)&&void 0!==e?e:t}if(!(null===(t=null===window||void 0===window?void 0:window.myfaces)||void 0===t?void 0:t.ab)){const e=n(973).$A;window.myfaces=null!==(s=null===window||void 0===window?void 0:window.myfaces)&&void 0!==s?s:{},Object.keys(e).forEach((t=>{var n,r;return window.myfaces[t]=null!==(r=null===(n=window.myfaces)||void 0===n?void 0:n[t])&&void 0!==r?r:e[t]}))}l.faces=window.faces,l.myfaces=window.myfaces})();var s=window;for(var l in r)s[l]=r[l];r.__esModule&&Object.defineProperty(s,"__esModule",{value:!0})})(); +(()=>{"use strict";var e={771:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.deepEqual=t.shallowMerge=t.simpleShallowMerge=t.deepCopy=t.buildPath=t.resolve=t.appendIf=t.assignIf=t.append=t.assign=void 0;const r=n(86);class s{constructor(e){this.parent=e}set value(e){}get value(){return this.parent}}function l(e,...t){if(t.length<1)return new s(e);const n=d(e,...t);return new class{set value(e){n.target[n.key]=e}get value(){return n.target[n.key]}}}function o(e,...t){if(t.length<1)return new s(e);const n=d(e,...t);return new class{set value(e){Array.isArray(e)||(e=[e]),n.target[n.key]?(Array.isArray(n.target[n.key])||(n.target[n.key]=[n.target[n.key]]),n.target[n.key].push(...e)):n.target[n.key]=e}}}function i(e){let t=e.indexOf("[");return t>=0?e.substring(0,t):e}function a(e){let t=e.indexOf("["),n=e.indexOf("]");return t>=0&&n>0&&te.split("["))).map((e=>-1!=e.indexOf("]")?"["+e:e)).filter((e=>""!=e))}function d(e,...t){t=c(t);let n=e,r=null,s=null,l=-1;for(let e=0;e({arr:e,keys:Object.keys(e)}))).forEach((({arr:n,keys:l})=>{l.forEach((l=>{let o=n[l];!Array.isArray(o)&&t&&(o=new r.Es2019Array(...[o])),e||!(null==s?void 0:s[l])?function(e,t,n,s,l){if(e)if(void 0===(null==t?void 0:t[n]))t[n]=l;else if(Array.isArray(t[n])){let e=t[n],r=[];l.forEach((t=>{-1==e.indexOf(t)&&r.push(t)})),t[n].push(...r)}else{let e=t[n],s=[];l.forEach((t=>{e!=t&&s.push(t)})),t[n]=new r.Es2019Array(...[]),t[n].push(e),t[n].push(...s)}else t[n]=s[n]}(t,s,l,n,o):!e&&(null==s?void 0:s[l])&&function(e,t,n,s,l){if(e)if(void 0===(null==t?void 0:t[n]))t[n]=l;else if(Array.isArray(t[n]))t[n].push(...l);else{let e=t[n];t[n]=new r.Es2019Array(...[]),t[n].push(e),t[n].push(...l)}}(t,s,l,0,o)}))})),s}t.assign=l,t.append=o,t.assignIf=function(e,t,...n){return!e||n.length<1?new s(t):l(t,...n)},t.appendIf=function(e,t,...n){return!e||n.length<1?new s(t):o(t,...n)},t.resolve=function(e,...t){let n=null;t=c(t);let r=e;for(let e=0;ee(t,n[r])))}if("object"==typeof t&&"object"==typeof n){let r=Object.keys(t),s=Object.keys(n);return r.length==s.length&&r.every((e=>-1!=s.indexOf(e)))&&r.every((r=>e(t[r],n[r])))}return!1}},517:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Config=t.CONFIG_ANY=t.CONFIG_VALUE=void 0;const r=n(86),s=n(204);var l=n(519).Lang.objAssign;const o=n(771);class i extends s.ValueEmbedder{constructor(e,t,n){super(e,t),this.arrPos=null!=n?n:-1}get value(){return""==this.key&&this.arrPos>=0?this._value[this.arrPos]:this.key&&this.arrPos>=0?this._value[this.key][this.arrPos]:this._value[this.key]}set value(e){""==this.key&&this.arrPos>=0?this._value[this.arrPos]=e:this.key&&this.arrPos>=0?this._value[this.key][this.arrPos]=e:this._value[this.key]=e}}i.absent=i.fromNullable(null),t.CONFIG_VALUE="__END_POINT__",t.CONFIG_ANY="__ANY_POINT__";class a extends s.Optional{constructor(e,t){super(e),this.configDef=t}get shallowCopy(){return this.shallowCopy$()}shallowCopy$(){let e=new a({});return e.shallowMerge(this.value),e}get deepCopy(){return this.deepCopy$()}deepCopy$(){return new a(l({},this.value))}static fromNullable(e){return new a(e)}shallowMerge(e,t=!0,n=!1){let r=(0,o.shallowMerge)(t,n,this.value,e.value);Array.isArray(this._value)?(this._value.length=0,this._value.push(...r)):(Object.getOwnPropertyNames(this._value).forEach((e=>delete this._value[e])),Object.getOwnPropertyNames(r).forEach((e=>this._value[e]=r[e])))}append(...e){return(0,o.append)(this._value,...e)}appendIf(e,...t){return(0,o.appendIf)(e,this._value,...t)}assign(...e){return(0,o.assign)(this.value,...e)}assignIf(e,...t){return(0,o.assignIf)(e,this._value,...t)}getIf(...e){return this.assertAccessPath(...e),this.getClass().fromNullable((0,o.resolve)(this.value,...e))}get(e){return this.getClass().fromNullable(super.get(e).value)}delete(e){return e in this.value&&delete this.value[e],this}toJson(){return JSON.stringify(this.value)}getClass(){return a}setVal(e){this._value=e}assertAccessPath(...e){var n,l,o,i,a,u,c,d,h;if(e=this.preprocessKeys(...e),!this.configDef)return;let E=s.Optional.fromNullable(Object.keys(this.configDef).map((e=>{let t={};return t[e]=this.configDef[e],t})));for(let v=0;v{var t;return!(null===(t=null==e?void 0:e[_])||void 0===t||!t)})))||void 0===n?void 0:n[_])||void 0===l?void 0:l[f]):s.Optional.fromNullable(null!==(a=null===(i=null===(o=E.value)||void 0===o?void 0:o[_])||void 0===i?void 0:i[f])&&void 0!==a?a:null):Array.isArray(E.value)?s.Optional.fromNullable(null===(u=E.value)||void 0===u?void 0:u[f]):s.Optional.absent:Array.isArray(E.value)?s.Optional.fromNullable(null===(c=new r.Es2019Array(...E.value).find((e=>{var t;return!(null===(t=null==e?void 0:e[_])||void 0===t||!t)})))||void 0===c?void 0:c[_]):s.Optional.fromNullable(null!==(h=null===(d=E.value)||void 0===d?void 0:d[_])&&void 0!==h?h:null),!E.isPresent())throw Error("Access Path to config invalid");if(E.value==t.CONFIG_ANY)return}}isNoArray(e){return-1==e}isArray(e){return!this.isNoArray(e)}}t.Config=a},331:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(s,l){function o(e){try{a(r.next(e))}catch(e){l(e)}}function i(e){try{a(r.throw(e))}catch(e){l(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,i)}a((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DQ$=t.DQ=t.DomQueryCollector=t.DomQuery=t.Style=t.ElementAttribute=void 0;const s=n(204),l=n(785),o=n(519),i=n(228),a=n(86);var u=o.Lang.trim,c=o.Lang.isString,d=o.Lang.equalsIgnoreCase,h=o.Lang.objToArray;const E=n(771);class v extends s.ValueEmbedder{constructor(e){super(null==e?void 0:e[0],"nonce"),this.rootElems=e}isAbsent(){const e=this.value;return void 0===e||""==e}get value(){var e,t,n,r,s;return null!==(n=null===(t=null===(e=null==this?void 0:this.rootElems)||void 0===e?void 0:e[0])||void 0===t?void 0:t.nonce)&&void 0!==n?n:null===(s=null===(r=null==this?void 0:this.rootElems)||void 0===r?void 0:r[0])||void 0===s?void 0:s.getAttribute("nonce")}set value(e){var t;(null===(t=null==this?void 0:this.rootElems)||void 0===t?void 0:t.length)&&this.rootElems.forEach((t=>{void 0!==(null==t?void 0:t.nonce)?t.nonce=e:t.setAttribute("nonce",e)}))}}var _;!function(e){e.SELECT="select",e.BUTTON="button",e.SUBMIT="submit",e.RESET="reset",e.IMAGE="image",e.RADIO="radio",e.CHECKBOX="checkbox"}(_||(_={}));class f extends s.ValueEmbedder{constructor(e,t,n=null){super(e,t),this.element=e,this.name=t,this.defaultVal=n}get value(){let e=this.element.get(0).orElse().values;return e.length?e[0].getAttribute(this.name):this.defaultVal}set value(e){let t=this.element.get(0).orElse().values;for(let n=0;n!0;class A{constructor(...e){if(this.rootNode=[],this.pos=-1,this._limits=-1,!s.Optional.fromNullable(e).isAbsent()&&e.length)for(let t=0;t!!e.checked))}set checked(e){this.eachElem((t=>t.checked=e))}get elements(){return this.querySelectorAll("input, checkbox, select, textarea, fieldset")}get deepElements(){return this.querySelectorAllDeep("input, select, textarea, checkbox, fieldset")}querySelectorAllDeep(e){let t=[],n=this.querySelectorAll(e);n.length&&t.push(n);let r=this.querySelectorAll("*").shadowRoot;if(r.length){let n=r.querySelectorAllDeep(e);n.length&&t.push(n)}return new A(...t)}get disabled(){return this.attr("disabled").isPresent()}set disabled(e){e?this.attr("disabled").value="disabled":this.removeAttribute("disabled")}removeAttribute(e){this.eachElem((t=>t.removeAttribute(e)))}get childNodes(){let e=[];return this.eachElem((t=>{e=e.concat(h(t.childNodes))})),new A(...e)}get asArray(){return new a.Es2019Array(...this.rootNode).filter((e=>null!=e)).map((e=>A.byId(e)))}get offsetWidth(){return new a.Es2019Array(...this.rootNode).filter((e=>null!=e)).map((e=>e.offsetWidth)).reduce(((e,t)=>e+t),0)}get offsetHeight(){return new a.Es2019Array(...this.rootNode).filter((e=>null!=e)).map((e=>e.offsetHeight)).reduce(((e,t)=>e+t),0)}get offsetLeft(){return new a.Es2019Array(...this.rootNode).filter((e=>null!=e)).map((e=>e.offsetLeft)).reduce(((e,t)=>e+t),0)}get offsetTop(){return new a.Es2019Array(this.rootNode).filter((e=>null!=e)).map((e=>e.offsetTop)).reduce(((e,t)=>e+t),0)}get asNodeArray(){return new a.Es2019Array(...this.rootNode.filter((e=>null!=e)))}get nonce(){return new v(this.rootNode)}static querySelectorAllDeep(e){return new A(document).querySelectorAllDeep(e)}static querySelectorAll(e){return-1!=e.indexOf("/shadow/")?new A(document)._querySelectorAllDeep(e):new A(document)._querySelectorAll(e)}static byId(e,t=!1){return c(e)?t?new A(document).byIdDeep(e):new A(document).byId(e):new A(e)}static byTagName(e){return c(e)?new A(document).byTagName(e):new A(e)}static globalEval(e,t){return new A(document).globalEval(e,t)}static globalEvalSticky(e,t){return new A(document).globalEvalSticky(e,t)}static fromMarkup(e){const t=document.implementation.createHTMLDocument("");let n=(e=u(e)).toLowerCase();if(-1!=n.search(/"].join(""),r=["<",t," "].join("");return 0==e.indexOf(n)||0==e.indexOf(r)},r=new A(document.createElement("div"));return t(n,"thead")||t(n,"tbody")?(r.html(`${e}
`),r.querySelectorAll("table").get(0).childNodes.detach()):t(n,"tfoot")?(r.html(``),r.querySelectorAll("table").get(2).childNodes.detach()):t(n,"tr")?(r.html(`
${e}
`),r.querySelectorAll("tbody").get(0).childNodes.detach()):t(n,"td")?(r.html(`${e}
`),r.querySelectorAll("tr").get(0).childNodes.detach()):(r.html(e),r.childNodes.detach())}}get(e){return e{e.parentNode&&e.parentNode.removeChild(e)}))}querySelectorAll(e){return-1!=e.indexOf("/shadow/")?this._querySelectorAllDeep(e):this._querySelectorAll(e)}closest(e){return-1!=e.indexOf("/shadow/")?this._closestDeep(e):this._closest(e)}byId(e,t){let n=[];return t&&(n=n.concat(...new a.Es2019Array(...(null==this?void 0:this.rootNode)||[]).filter((t=>e==t.id)).map((e=>new A(e))))),n=n.concat(this.querySelectorAll(`[id="${e}"]`)),new A(...n)}byIdDeep(e,t){let n=[];t&&(n=n.concat(new a.Es2019Array(...(null==this?void 0:this.rootNode)||[]).filter((t=>e==t.id)).map((e=>new A(e)))));let r=this.querySelectorAllDeep(`[id="${e}"]`);return r.length&&n.push(r),new A(...n)}byTagName(e,t,n){var r;let s=[];return t&&(s=new a.Es2019Array(...null!==(r=null==this?void 0:this.rootNode)&&void 0!==r?r:[]).filter((t=>(null==t?void 0:t.tagName)==e)).reduce(((e,t)=>e.concat([t])),s)),n?s.push(this.querySelectorAllDeep(e)):s.push(this.querySelectorAll(e)),new A(...s)}attr(e,t=null){return new f(this,e,t)}style(e,t=null){return new p(this,e,t)}hasClass(e){let t=!1;return this.eachElem((n=>{if(t=n.classList.contains(e),t)return!1})),t}addClass(e){return this.eachElem((t=>t.classList.add(e))),this}removeClass(e){return this.eachElem((t=>t.classList.remove(e))),this}isMultipartCandidate(e=!1){const t="input[type='file']";return this.matchesSelector(t)||(e?this.querySelectorAllDeep(t):this.querySelectorAll(t)).first().isPresent()}html(e){return s.Optional.fromNullable(e).isAbsent()?this.isPresent()?s.Optional.fromNullable(this.innerHTML):s.Optional.absent:(this.innerHTML=e,this)}dispatchEvent(e){return this.eachElem((t=>t.dispatchEvent(e))),this}set innerHTML(e){this.eachElem((t=>t.innerHTML=e))}get innerHTML(){let e=[];return this.eachElem((t=>e.push(t.innerHTML))),e.join("")}set innerHtml(e){this.innerHTML=e}get innerHtml(){return this.innerHTML}filterSelector(e){let t=[];return this.eachElem((n=>{this._mozMatchesSelector(n,e)&&t.push(n)})),new A(...t)}matchesSelector(e){return this.asArray.some((t=>this._mozMatchesSelector(t.getAsElem(0).value,e)))}getIf(...e){let t=this.childNodes;for(let n=0;ne){return this.rootNode.length>1&&e(this.rootNode[0],0),this}lastElem(e=e=>e){return this.rootNode.length>1&&e(this.rootNode[this.rootNode.length-1],0),this}each(e){return new a.Es2019Array(...this.rootNode).forEach(((t,n)=>{if(null!=t)return e(A.byId(t),n)})),this}replace(e){return this.each((t=>{let n=t.getAsElem(0).value,r=n.parentElement,s=n.nextElementSibling,l=n.previousElementSibling;null!=s?new A(s).insertBefore(e):l?new A(l).insertAfter(e):new A(r).append(e),t.delete()})),e}first(e=e=>e){return this.rootNode.length>=1?(e(this.get(0),0),this.get(0)):this}last(e=e=>e){if(this.rootNode.length>=1){let t=this.get(this.rootNode.length-1);return e(t,0),t}return this}filter(e){let t=[];return this.each((n=>{e(n)&&t.push(n)})),new A(...t)}globalEval(e,t){var n,r,s;const l=null!==(r=null===(n=document.getElementsByTagName("head"))||void 0===n?void 0:n[0])&&void 0!==r?r:null===(s=document.documentElement.getElementsByTagName("head"))||void 0===s?void 0:s[0],o=document.createElement("script");t&&(void 0!==(null==o?void 0:o.nonce)?o.nonce=t:o.setAttribute("nonce",t)),o.type="text/javascript",o.innerHTML=e;let i=l.appendChild(o);return l.removeChild(i),this}globalEvalSticky(e,t){let n=document.getElementsByTagName("head")[0]||document.documentElement,r=document.createElement("script");return this.applyNonce(t,r),r.type="text/javascript",r.innerHTML=e,n.appendChild(r),this}detach(){return this.eachElem((e=>{e.parentNode.removeChild(e)})),this}appendTo(e){return o.Lang.isString(e)?(this.appendTo(A.querySelectorAll(e)),this):(this.eachElem((t=>{e.getAsElem(0).orElseLazy((()=>({appendChild:()=>{}}))).value.appendChild(t)})),this)}loadScriptEval(e,t=0,n){return this._loadScriptEval(!1,e,t,n),this}loadScriptEvalSticky(e,t=0,n){return this._loadScriptEval(!0,e,t,n),this}insertAfter(...e){this.each((t=>{let n=t.getAsElem(0).value,r=n.parentNode;for(let t=0;t{s?(r.insertBefore(e,s),n=s):r.appendChild(e)}))}}));let t=[];return t.push(this),t=t.concat(e),new A(...t)}insertBefore(...e){this.each((t=>{let n=t.getAsElem(0).value,r=n.parentNode;for(let t=0;t{r.insertBefore(e,n)}))}));let t=[];return t.push(this),t=t.concat(e),new A(...t)}orElse(...e){return this.isPresent()?this:new A(...e)}orElseLazy(e){return this.isPresent()?this:new A(e())}allParents(e){let t=this.parent(),n=[];for(;t.isPresent();)t.matchesSelector(e)&&n.push(t),t=t.parent();return new A(...n)}firstParent(e){let t=this.parent();for(;t.isPresent();){if(t.matchesSelector(e))return t;t=t.parent()}return A.absent}parentsWhileMatch(e){const t=[];let n=this.parent().filter((t=>t.matchesSelector(e)));for(;n.isPresent();)t.push(n),n=n.parent().filter((t=>t.matchesSelector(e)));return new A(...t)}parent(){let e=[];return this.eachElem((t=>{let n=t.parentNode||t.host||t.shadowRoot;n&&-1==e.indexOf(n)&&e.push(n)})),new A(...e)}copyAttrs(e){return e.eachElem((e=>{let t=h(e.attributes);for(let e of t){let t=e.value,n=e.name;switch(n){case"id":this.id.value=t;break;case"disabled":this.resolveAttributeHolder("disabled").disabled=t;break;case"checked":this.resolveAttributeHolder("checked").checked=t;break;case"nonce":break;default:this.attr(n).value=t}}})),e.nonce.isPresent((()=>{this.nonce.value=e.nonce.value})),this}outerHTML(e,t,n,r=!1){var s;if(this.isAbsent())return;let l=null===(s=null===document||void 0===document?void 0:document.activeElement)||void 0===s?void 0:s.id,o=l?A.getCaretPosition(document.activeElement):null,i=A.fromMarkup(e),a=[],u=this.getAsElem(0).value,c=i.get(0),d=u.parentNode,h=c.getAsElem(0).value;if(d.replaceChild(h,u),a.push(new A(h)),this.isAbsent())return this;let E=[];i.length>1&&(E=E.concat(...i.values.slice(1)),a.push(A.byId(h).insertAfter(new A(...E)))),t&&this.runScripts(),n&&this.runCss();let v=A.byId(l);return l&&v.isPresent()&&null!=o&&void 0!==o&&v.eachElem((e=>A.setCaretPosition(e,o))),i}runScripts(e=!1,t=T){const n=t=>{if(t.length){let n=[];new a.Es2019Array(...t).forEach((t=>{t.nonce?(n.length&&(this.globalEval(n.join("\n")),n.length=0),e?this.globalEvalSticky(t.evalText,t.nonce):this.globalEval(t.evalText,t.nonce)):n.push(t.evalText)})),n.length&&(e?this.globalEvalSticky(n.join("\n")):this.globalEval(n.join("\n")),n.length=0),t=[]}return t};let r=[],s=["","script","text/javascript","text/ecmascript","ecmascript"],l=l=>{var o,i,a,c;let h=l.tagName,E=(null!==(o=null==l?void 0:l.type)&&void 0!==o?o:"").toLowerCase();if(h&&d(h,"script")&&-1!=s.indexOf(E)){let s=l.getAttribute("src");if(void 0!==s&&null!=s&&s.length>0){let o=null!==(i=null==l?void 0:l.nonce)&&void 0!==i?i:l.getAttribute("nonce").value;t(s)&&(r=n(r),e?o?this.loadScriptEvalSticky(s,0,o):this.loadScriptEvalSticky(s,0):o?this.loadScriptEval(s,0,o):this.loadScriptEval(s,0))}else{let e=u(l.text||l.innerText||l.innerHTML),t=!0;for(;t;)t=!1,"\x3c!--"==e.substring(0,4)&&(e=e.substring(4),t=!0),"//\x3c!--"==e.substring(0,4)&&(e=e.substring(6),t=!0),"//[...e.values])).sort(((e,t)=>t.compareDocumentPosition(e)-3)).forEach((e=>l(e))),n(r)}catch(e){console&&console.error&&console.error(e.message||e.description)}finally{l=null}return this}runCss(){return new A(this.filterSelector("link, style"),this.querySelectorAll("link, style")).asArray.flatMap((e=>[...e.values])).sort(((e,t)=>e.compareDocumentPosition(t)-3)).forEach((e=>(e=>{const t=A.byId(e),n=t.tagName.orElse("").value;let r=A.fromMarkup(`<${n.toLowerCase()} />`);r=r.copyAttrs(t),r.innerHTML=e.innerHTML,t.replace(r)})(e))),this}click(){return this.fireEvent("click"),this}addEventListener(e,t,n){return this.eachElem((r=>r.addEventListener(e,t,n))),this}removeEventListener(e,t,n){return this.eachElem((r=>r.removeEventListener(e,t,n))),this}fireEvent(e,t={}){let n={bubbles:!0,cancelable:!0};n=(0,E.simpleShallowMerge)(n,t),this.eachElem((t=>{let r;if(t.ownerDocument)r=t.ownerDocument;else{if(9!=t.nodeType)throw new Error("Invalid node passed to fireEvent: "+t.id);r=t}if(t.dispatchEvent){let r=Event;switch(e){case"click":case"mousedown":case"mouseup":case"mousemove":r=this.global().MouseEvent;break;case"keyup":case"keydown":case"keypress":r=this.global().KeyboardEvent;break;case"focus":case"change":case"blur":case"select":break;default:throw"fireEvent: Couldn't find an event class for event '"+e+"'."}let s=new r(e,n);s.synthetic=!0,t.dispatchEvent(s)}else if(t.fireEvent){let s=r.createEventObject();s.synthetic=!0,Object.keys(n).forEach((e=>s[e]=n[e])),t.fireEvent("on"+e,s)}}))}textContent(e=""){return this.asArray.map((e=>e.getAsElem(0).orElseLazy((()=>({textContent:""}))).value.textContent||"")).reduce(((t,n)=>[t,e,n].join("")),"")}innerText(e=""){return this.asArray.map((e=>e.getAsElem(0).orElseLazy((()=>({innerText:""}))).value.innerText||"")).reduce(((t,n)=>[t,n].join(e)),"")}encodeFormElement(e={}){if(this.name.isAbsent())return;let t=(0,E.simpleShallowMerge)(e);return this.each((e=>{var n,r;if(e.name.isAbsent())return;let s=e.name.value,l=e.tagName.orElse("__none__").value.toLowerCase(),o=e.type.orElse("__none__").value.toLowerCase();if(o=o.toLowerCase(),("input"==l||"textarea"==l||"select"==l)&&null!=s&&""!=s&&!e.disabled){if("select"==l){let n=e.getAsElem(0).value;if(n.selectedIndex>=0){let e=n.options.length;for(let r=0;re.childNodes.asArray)).filter((e=>{var t,n;return 4==(null===(n=null===(t=null==e?void 0:e.value)||void 0===t?void 0:t.value)||void 0===n?void 0:n.nodeType)})).reduce(((e,t)=>{var n,r,s;return e.push(null!==(s=null===(r=null===(n=null==t?void 0:t.value)||void 0===n?void 0:n.value)||void 0===r?void 0:r.data)&&void 0!==s?s:""),e}),[]).join("")}subNodes(e,t){return s.Optional.fromNullable(t).isAbsent()&&(t=this.length),new A(...this.rootNode.slice(e,Math.min(t,this.length)))}limits(e){return this._limits=e,this}hasNext(){let e=-1!=this._limits&&this.pos>=this._limits-1,t=this.pos>=this.values.length-1;return!(e||t)}next(){return this.hasNext()?(this.pos++,new A(this.values[this.pos])):null}lookAhead(e=1){return this.values.length-1{let r;if(!(null==n?void 0:n.attachShadow))throw new Error("Shadow dom creation not supported by the browser, please use a shim, to gain this functionality");r=A.byId(n.attachShadow(e)),t.push(r)})),new A(...t)}waitUntilDom(e,t={attributes:!0,childList:!0,subtree:!0,timeout:500,interval:100}){return r(this,void 0,void 0,(function*(){return function(e,t,n={attributes:!0,childList:!0,subtree:!0,timeout:500,interval:100}){return new Promise(((r,s)=>{let l=null;const o=new Error("Mutation observer timeout");function i(e,t){let r=null;return t(e)?e:(r=n.childList?t(e)?e:e.childNodes.filter((e=>t(e))).first().value.value:n.subtree?t(e)?e:e.querySelectorAll(" * ").filter((e=>t(e))).first().value.value:t(e)?e:null,r)}let a=e;if(a=i(a,t))r(new A(a));else if("undefined"!=typeof MutationObserver){const i=setTimeout((()=>(l.disconnect(),s(o))),n.timeout),a=n=>{const s=new A(n.map((e=>e.target))).filter((e=>t(e))).first();s.isPresent()&&(clearTimeout(i),l.disconnect(),r(new A(s||e)))};l=new MutationObserver(a);let u=Object.assign({},n);delete u.timeout,e.eachElem((e=>{l.observe(e,u)}))}else{let l=setInterval((()=>{let n=i(e,t);n&&(a&&(clearTimeout(a),clearInterval(l),l=null),r(new A(n||e)))}),n.interval),a=setTimeout((()=>{l&&(clearInterval(l),s(o))}),n.timeout)}}))}(this,e,t)}))}get shadowElements(){let e=(this.querySelectorAll("*").filter((e=>e.hasShadow)).allElems()||[]).map((e=>e.shadowRoot));return new A(...e)}get shadowRoot(){let e=[];for(let t=0;t({done:!this.hasNext(),value:this.next()})}}concat(e,t=!0){let n=this.asArray;const r=new A(...n.concat(e.asArray));if(!t)return r;let s={};return new A(...r.asArray.filter((e=>{const t=!(null==s?void 0:s[e.value.value.outerHTML]);return s[e.value.value.outerHTML]=!0,t})))}append(e){return this.each((t=>e.appendTo(t))),this}prependTo(e){return e.eachElem((e=>{e.prepend(...this.allElems())})),this}prepend(e){return this.eachElem((t=>{t.prepend(...e.allElems())})),this}_querySelectorAll(e){var t,n;if(!(null===(t=null==this?void 0:this.rootNode)||void 0===t?void 0:t.length))return this;let r=[];for(let t=0;t=0&&n.item(r)!==e;);return r>-1};return r.call(e,t)}_loadScriptEval(e,t,n=0,r){let s=this.createSourceNode(t,r),l=this.createSourceNode(null,r),o=`nonce_${Date.now()}_${Math.random()}`;l.innerHTML=`document.head["${o}"] = true`;let i=document.head;if(i.appendChild(l),i.removeChild(l),i[o]){try{n?setTimeout((()=>{i.appendChild(s),e||i.removeChild(s)}),n):(i.appendChild(s),e||i.removeChild(s))}finally{delete i[o]}return this}}resolveAttributeHolder(e="value"){let t=[];return t[e]=null,e in this.getAsElem(0).value?this.getAsElem(0).value:t}createSourceNode(e,t){let n=document.createElement("script");return n.type="text/javascript",t&&(void 0!==(null==n?void 0:n.nonce)?n.nonce=t:n.setAttribute("nonce",t)),e&&(n.src=e),n}applyNonce(e,t){e&&(void 0!==(null==t?void 0:t.nonce)?t.nonce=e:t.setAttribute("nonce",e))}}t.DomQuery=A,A.absent=new A,A.global=i._global$,t.DomQueryCollector=class{constructor(){this.data=[]}collect(e){this.data.push(e)}get finalValue(){return new A(...this.data)}},t.DQ=A,t.DQ$=A.querySelectorAll},86:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Es2019Array=t._Es2019Array=void 0;class n extends Array{constructor(...e){super(...e),e._another?this._another=e._another:this._another=e,this.flatMap=e=>this._flatMap(e),this.flat=(e=1)=>this._flat(e)}map(e,t){return new r(...Array.prototype.map.call(this._another,e,t))}concat(...e){return new r(...Array.prototype.concat.call(this._another,...e))}reverse(){return new r(...Array.prototype.reverse.call(this._another))}slice(e,t){return new r(...Array.prototype.slice.call(this._another,e,t))}splice(e,t){return new r(...Array.prototype.splice.call(this._another,e,t))}filter(e,t){return new r(...Array.prototype.filter.call(this._another,e,t))}reduce(e,t){return Array.prototype.reduce.call(this._another,e,t)}_flat(e=1){return this._flatResolve(this._another,e)}_flatResolve(e,n=1){if(0==n)return e;let r=[];return e.forEach((e=>{e=Array.isArray(e)?e:[e];let t=this._flatResolve(e,n-1);r=r.concat(t)})),new t.Es2019Array(...r)}_flatMap(e){let t=this.map((t=>e(t)));return this._flatResolve(t)}}function r(...e){let t=new n(...e);return new Proxy(t,{get:(e,t,n)=>"symbol"==typeof t?e._another[t]:isNaN(parseInt(t))?e[t]:e._another[t],set:(e,t,n)=>(e[t]=n,e._another[t]=n,!0)})}t._Es2019Array=r,t.Es2019Array=Array.prototype.flatMap?function(...e){return(null==e?void 0:e.flatMap)?e:r(...e)}:r},228:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t._global$=void 0,t._global$=function(){var e;let t="undefined"!=typeof globalThis&&globalThis.window?globalThis.window:"undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:void 0!==n.g&&(null===n.g||void 0===n.g?void 0:n.g.window)?n.g.window:void 0!==n.g?n.g:null;return null!==(e=null==t?void 0:t.window)&&void 0!==e?e:t}},519:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Lang=void 0;const r=n(204),s=n(86);var l;!function(e){function t(e){let t=/\s/,n=(e=e.replace(/^\s\s*/,"")).length;for(;t.test(e.charAt(--n)););return e.slice(0,n+1)}function n(e){return!!arguments.length&&null!=e&&("string"==typeof e||e instanceof String)}e.saveResolve=function(e,t=null){try{let n=e();return r.Optional.fromNullable(null!=n?n:t)}catch(e){return r.Optional.absent}},e.saveResolveLazy=function(e,t=null){try{let n=e();return r.Optional.fromNullable(null!=n?n:t())}catch(e){return r.Optional.absent}},e.strToArray=function(e,n=/\./gi){let r=[];return e.split(n).forEach((e=>{r.push(t(e))})),r},e.trim=t,e.objToArray=function(e,t=0,n=[]){return"__undefined__"==(null!=e?e:"__undefined__")?null!=n?n:null:e instanceof Array&&!t&&!n?e:new s.Es2019Array(...n.concat(Array.prototype.slice.call(e,t)))},e.equalsIgnoreCase=function(e,t){let n=null!=t?t:"___no_value__";return(null!=e?e:"___no_value__").toLowerCase()===n.toLowerCase()},e.assertType=function(e,t){return n(t)?typeof e==t:e instanceof t},e.isString=n,e.isFunc=function(e){return e instanceof Function||"function"==typeof e},e.objAssign=function(e,...t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");let n=Object(e);return Object.assign?(t.forEach((e=>Object.assign(n,e))),n):(t.filter((e=>null!=e)).forEach((e=>{let t=e;Object.keys(t).filter((e=>Object.prototype.hasOwnProperty.call(t,e))).forEach((e=>n[e]=t[e]))})),n)}}(l||(t.Lang=l={}))},204:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueEmbedder=t.Optional=t.Monad=void 0;const r=n(86);class s{constructor(e){this._value=e}get value(){return this._value}map(e){e||(e=e=>e);let t=e(this.value);return new s(t)}flatMap(e){let t=this.map(e);for(;(null==t?void 0:t.value)instanceof s;)t=t.value;return t}}t.Monad=s;class l extends s{constructor(e){super(e)}get value(){return this._value instanceof s?this._value.flatMap().value:this._value}static fromNullable(e){return new l(e)}isAbsent(){return void 0===this.value||null==this.value}isPresent(e){let t=this.isAbsent();return!t&&e&&e.call(this,this),!t}ifPresentLazy(e=()=>{}){return this.isPresent.call(this,e),this}orElse(e){return this.isPresent()?this:null==e?l.absent:this.flatMap((()=>e))}orElseLazy(e){return this.isPresent()?this:this.flatMap(e)}flatMap(e){let t=super.flatMap(e);return t instanceof l?t.flatMap():l.fromNullable(t.value)}getIf(...e){e=this.preprocessKeys(...e);let t=this;for(let n=0;n=0){if(t=this.getClass().fromNullable(t.value instanceof Array?t.value.length=0){if(t.getIfPresent(r).isAbsent())return t;if(t=t.getIfPresent(r).value instanceof Array?this.getClass().fromNullable(t.getIfPresent(r).value[s]):this.getClass().absent,t.isAbsent())return t}else{if(t=t.getIfPresent(r),t.isAbsent())return t;s>-1&&(t=this.getClass().fromNullable(t.value[s]))}}return t}match(e){return!this.isAbsent()&&e(this.value)}get(e=l.absent){return this.isAbsent()?this.getClass().fromNullable(e).flatMap():this.getClass().fromNullable(this.value).flatMap()}toJson(){return JSON.stringify(this.value)}getClass(){return l}arrayIndex(e){let t=e.indexOf("["),n=e.indexOf("]");return t>=0&&n>0&&t=0?e.substring(0,t):e}getIfPresent(e){return this.isAbsent()?this.getClass().absent:this.getClass().fromNullable(this.value[e]).flatMap()}resolve(e){if(this.isAbsent())return l.absent;try{return l.fromNullable(e(this.value))}catch(e){return l.absent}}preprocessKeys(...e){return new r.Es2019Array(...e).flatMap((e=>new r.Es2019Array(...e.split(/]\s*\[/gi)).map((e=>(-1==(e=e.replace(/^\s+|\s+$/g,"")).indexOf("[")&&-1!=e.indexOf("]")&&(e="["+e),-1==e.indexOf("]")&&-1!=e.indexOf("[")&&(e+="]"),e)))))}}t.Optional=l,l.absent=l.fromNullable(null);class o extends l{constructor(e,t="value"){super(e),this.key=t}get value(){return this._value?this._value[this.key]:null}set value(e){this._value&&(this._value[this.key]=e)}orElse(e){let t={};return t[this.key]=e,this.isPresent()?this:new o(t,this.key)}orElseLazy(e){if(this.isPresent())return this;{let t={};return t[this.key]=e(),new o(t,this.key)}}getClass(){return o}static fromNullable(e,t="value"){return new o(e,t)}}t.ValueEmbedder=o,o.absent=o.fromNullable(null)},785:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayCollector=t.QueryFormStringCollector=t.QueryFormDataCollector=t.FormDataCollector=t.ConfigCollector=t.AssocArrayCollector=t.Run=t.ArrayAssocArrayCollector=t.InverseArrayCollector=t.ShimArrayCollector=t.MappedStreamDataSource=t.FilteredStreamDatasource=t.ArrayStreamDataSource=t.SequenceDataSource=t.MultiStreamDatasource=t.calculateSkips=t.ITERATION_STATUS=void 0;const r=n(86),s=n(517);var l;function o(e){let t=1;for(;e.lookAhead(t)!=l.EO_STRM;)t++;return--t}!function(e){e.EO_STRM="__EO_STRM__",e.BEF_STRM="___BEF_STRM__"}(l||(t.ITERATION_STATUS=l={})),t.calculateSkips=o,t.MultiStreamDatasource=class{constructor(e,...t){this.first=e,this.selectedPos=0,this.strms=[e].concat(...t),this.activeStrm=this.strms[this.selectedPos]}current(){return this.activeStrm.current()}hasNext(){return!!this.activeStrm.hasNext()||!(this.selectedPos>=this.strms.length)&&-1!=this.findNextStrm()}findNextStrm(){let e=!1,t=this.selectedPos;for(;!e&&tthis.total-1?l.EO_STRM:this.value+e}reset(){this.value=this.start-1}current(){return this.start-1?l.BEF_STRM:this.value}},t.ArrayStreamDataSource=class{constructor(...e){this.dataPos=-1,this.value=e}lookAhead(e=1){return this.dataPos+e>this.value.length-1?l.EO_STRM:this.value[this.dataPos+e]}hasNext(){return this.value.length-1>this.dataPos}next(){var e;return this.dataPos++,null!==(e=null==this?void 0:this.value[this.dataPos])&&void 0!==e?e:l.EO_STRM}reset(){this.dataPos=-1}current(){return this.value[Math.max(0,this.dataPos)]}},t.FilteredStreamDatasource=class{constructor(e,t){this._current=l.BEF_STRM,this._filterIdx={},this._unfilteredPos=0,this.filterFunc=e,this.inputDataSource=t}hasNext(){let e,t=1,n=!1;for(;!n&&(e=this.inputDataSource.lookAhead(t))!=l.EO_STRM;)this.filterFunc(e)?(this._filterIdx[this._unfilteredPos+t]=!0,n=!0):t++;return n}next(){var e,t;let n=l.EO_STRM;for(;this.inputDataSource.hasNext();){this._unfilteredPos++;let r=this.inputDataSource.next();if(r!=l.EO_STRM&&(null!==(t=null===(e=this._filterIdx)||void 0===e?void 0:e[this._unfilteredPos])&&void 0!==t&&t||this.filterFunc(r))){this._filterIdx[this._unfilteredPos]=!0,n=r;break}}return this._current=n,n}lookAhead(e=1){var t;let n;for(let r=1;e>0&&(n=this.inputDataSource.lookAhead(r))!=l.EO_STRM;r++)((null===(t=this._filterIdx)||void 0===t?void 0:t[this._unfilteredPos+r])||this.filterFunc(n))&&(e--,this._filterIdx[this._unfilteredPos+r]=!0);return n}current(){return this._current}reset(){this._current=l.BEF_STRM,this._filterIdx={},this._unfilteredPos=0,this.inputDataSource.reset()}},t.MappedStreamDataSource=class{constructor(e,t){this.mapFunc=e,this.inputDataSource=t}hasNext(){return this.inputDataSource.hasNext()}next(){return this.mapFunc(this.inputDataSource.next())}reset(){this.inputDataSource.reset()}current(){return this.mapFunc(this.inputDataSource.current())}lookAhead(e=1){const t=this.inputDataSource.lookAhead(e);return t==l.EO_STRM?t:this.mapFunc(t)}},t.ShimArrayCollector=class{constructor(){this.data=new r.Es2019Array(...[])}collect(e){this.data.push(e)}get finalValue(){return this.data}},t.InverseArrayCollector=class{constructor(){this.data=[]}collect(e){this.data.unshift(e)}get finalValue(){return this.data}},t.ArrayAssocArrayCollector=class{constructor(){this.finalValue={}}collect(e){var t,n,r,s;let l=null!==(t=null==e?void 0:e[0])&&void 0!==t?t:e;this.finalValue[l]=null!==(r=null===(n=this.finalValue)||void 0===n?void 0:n[l])&&void 0!==r?r:[],this.finalValue[l].push(null===(s=null==e?void 0:e[1])||void 0===s||s)}},t.Run=class{collect(e){}get finalValue(){return null}},t.AssocArrayCollector=class{constructor(){this.finalValue={}}collect(e){var t,n;this.finalValue[null!==(t=e[0])&&void 0!==t?t:e]=null===(n=e[1])||void 0===n||n}},t.ConfigCollector=class{constructor(){this.finalValue=new s.Config({})}collect(e){this.finalValue.append(e.key).value=e.value}},t.FormDataCollector=class{constructor(){this.finalValue=new FormData}collect(e){this.finalValue.append(e.key,e.value)}},t.QueryFormDataCollector=class{constructor(){this.finalValue=new FormData}collect(e){let t=e.encodeFormElement();t.isPresent()&&this.finalValue.append(e.name.value,t.get(e.name).value)}},t.QueryFormStringCollector=class{constructor(){this.formData=[]}collect(e){let t=e.encodeFormElement();t.isPresent()&&this.formData.push([e.name.value,t.get(e.name).value])}get finalValue(){return new r.Es2019Array(...this.formData).map((e=>e.join("="))).reduce(((e,t)=>[e,t].join("&")))}},t.ArrayCollector=class{constructor(){this.data=[]}collect(e){this.data.push(e)}get finalValue(){return this.data}}},100:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XQ=t.XMLQuery=void 0;const r=n(519),s=n(331);var l=r.Lang.isString;const o=n(228);class i extends s.DomQuery{constructor(e,t="text/xml"){var n;l(e)?super(null==(n=e)?null:r.Lang.saveResolveLazy((()=>new((0,o._global$)().DOMParser)),(()=>(()=>{let e=new ActiveXObject("Microsoft.XMLDOM");return e.async=!1,{parseFromString:(t,n)=>e.loadXML(t)}})())).value.parseFromString(n,t)):super(e)}isXMLParserError(){return this.querySelectorAll("parsererror").isPresent()}toString(){let e=[];return this.eachElem((t=>{var n,r,s,l;let i=null!==(l=null===(s=null===(r=null===(n=(0,o._global$)())||void 0===n?void 0:n.XMLSerializer)||void 0===r?void 0:r.constructor())||void 0===s?void 0:s.serializeToString(t))&&void 0!==l?l:null==t?void 0:t.xml;i&&e.push(i)})),e.join("")}parserErrorText(e){return this.querySelectorAll("parsererror").textContent(e)}static parseXML(e){return new i(e)}static parseHTML(e){return new i(e,"text/html")}static fromString(e,t="text/xml"){return new i(e,t)}}t.XMLQuery=i,t.XQ=i},257:function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t._Es2019Array=t.Es2019Array=t.Assoc=t.CONFIG_VALUE=t.CONFIG_ANY=t.Config=t.shallowMerge=t.simpleShallowMerge=t.append=t.assignIf=t.assign=t.XQ=t.XMLQuery=t.ValueEmbedder=t.Optional=t.Monad=t.Lang=t.DQ$=t.DQ=t.DomQueryCollector=t.ElementAttribute=t.DomQuery=void 0;var o=n(331);Object.defineProperty(t,"DomQuery",{enumerable:!0,get:function(){return o.DomQuery}}),Object.defineProperty(t,"ElementAttribute",{enumerable:!0,get:function(){return o.ElementAttribute}}),Object.defineProperty(t,"DomQueryCollector",{enumerable:!0,get:function(){return o.DomQueryCollector}}),Object.defineProperty(t,"DQ",{enumerable:!0,get:function(){return o.DQ}}),Object.defineProperty(t,"DQ$",{enumerable:!0,get:function(){return o.DQ$}});var i=n(519);Object.defineProperty(t,"Lang",{enumerable:!0,get:function(){return i.Lang}});var a=n(204);Object.defineProperty(t,"Monad",{enumerable:!0,get:function(){return a.Monad}}),Object.defineProperty(t,"Optional",{enumerable:!0,get:function(){return a.Optional}}),Object.defineProperty(t,"ValueEmbedder",{enumerable:!0,get:function(){return a.ValueEmbedder}});var u=n(100);Object.defineProperty(t,"XMLQuery",{enumerable:!0,get:function(){return u.XMLQuery}}),Object.defineProperty(t,"XQ",{enumerable:!0,get:function(){return u.XQ}});var c=n(771);Object.defineProperty(t,"assign",{enumerable:!0,get:function(){return c.assign}}),Object.defineProperty(t,"assignIf",{enumerable:!0,get:function(){return c.assignIf}}),Object.defineProperty(t,"append",{enumerable:!0,get:function(){return c.append}}),Object.defineProperty(t,"simpleShallowMerge",{enumerable:!0,get:function(){return c.simpleShallowMerge}}),Object.defineProperty(t,"shallowMerge",{enumerable:!0,get:function(){return c.shallowMerge}});var d=n(517);Object.defineProperty(t,"Config",{enumerable:!0,get:function(){return d.Config}});var h=n(517);Object.defineProperty(t,"CONFIG_ANY",{enumerable:!0,get:function(){return h.CONFIG_ANY}});var E=n(517);Object.defineProperty(t,"CONFIG_VALUE",{enumerable:!0,get:function(){return E.CONFIG_VALUE}}),t.Assoc=l(n(771));var v=n(86);Object.defineProperty(t,"Es2019Array",{enumerable:!0,get:function(){return v.Es2019Array}}),Object.defineProperty(t,"_Es2019Array",{enumerable:!0,get:function(){return v._Es2019Array}})},973:(e,t,n)=>{t.$A=t.J_=void 0;const r=n(644),s=n(54),l=n(19),o=n(351);var i,a;!function(e){let t,n,l;e.specversion=4e5,e.implversion=0,e.separatorchar=function(){const e="#{facesContext.namingContainerSeparatorChar}";return e.match(/\#\{facesContext.namingContainerSeparatorChar\}/gi)?r.Implementation.getSeparatorChar():e}(),e.contextpath="#{facesContext.externalContext.requestContextPath}",e.getProjectStage=function(){return r.Implementation.getProjectStage()},e.getViewState=function(e){return r.Implementation.getViewState(e)},e.getClientWindow=function(e){return r.Implementation.getClientWindow(e)},function(e){e.request=function(e,t,n){r.Implementation.request(e,t,n)},e.response=function(e,t){r.Implementation.response(e,t)},e.addOnError=function(e){r.Implementation.addOnError(e)},e.addOnEvent=function(e){r.Implementation.addOnEvent(e)}}(t=e.ajax||(e.ajax={})),function(e){e.chain=function(e,t,...n){return r.Implementation.chain(e,t,...n)}}(n=e.util||(e.util={})),function(e){e.init=function(e,t,n,r,l,o,i,a,u){s.PushImpl.init(e,t,n,r,l,o,i,a,u)},e.open=function(e){s.PushImpl.open(e)},e.close=function(e){s.PushImpl.close(e)}}(l=e.push||(e.push={}))}(i||(t.J_=i={})),function(e){e.ab=function(e,t,n,r,s,l={}){var i,a;n&&(l[o.CTX_OPTIONS_PARAMS]=null!==(i=null==l?void 0:l[o.CTX_OPTIONS_PARAMS])&&void 0!==i?i:{},l[o.CTX_OPTIONS_PARAMS][(0,o.$nsp)(o.P_BEHAVIOR_EVENT)]=n),r&&(l[o.CTX_OPTIONS_EXECUTE]=r),s&&(l[o.CTX_PARAM_RENDER]=s),(null!==(a=null===window||void 0===window?void 0:window.faces)&&void 0!==a?a:window.jsf).ajax.request(e,t,l)};const t=[];let n=null;e.onDomReady=function(e){"complete"!==document.readyState?(t.push(e),n||(n=()=>{window.removeEventListener("DOMContentLoaded",n),n=null;try{t.forEach((e=>e()))}finally{t.length=0}},window.addEventListener("DOMContentLoaded",n))):(n&&n(),e())},e.oam=l.oam}(a||(t.$A=a={}))},644:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Implementation=void 0;const r=n(121),s=n(229),l=n(257),o=n(22),i=n(780),a=n(234),u=n(471),c=n(351),d=n(7),h=n(680),E=n(666);var v,_,f;!function(e){e.Production="Production",e.Development="Development",e.SystemTest="SystemTest",e.UnitTest="UnitTest"}(v||(v={})),function(e){e.onerror="onerror",e.onevent="onevent",e.render="render",e.execute="execute",e.myfaces="myfaces",e.delay="delay",e.timeout="timeout",e.resetValues="resetValues",e.windowId="windowId",e.params="params"}(_||(_={})),function(e){var t=l.Lang.trim,n=u.ExtLang.getMessage,f=u.ExtLang.getGlobalConfig,p=o.Assertions.assert,T=u.ExtLang.ofAssoc,A=u.ExtLang.collectAssoc;let m=null,R=null,g=[],S=[];function y(){const e=i.ExtDomQuery.searchJsfJsFor(/stage=([^&;]*)/).value;return e in v?e:v.Production}function O(e,t=function(e){}){t(e),S.forEach((t=>{t(e)})),f("defaultErrorOutput",console?console.error:alert)(e)}function P(e,t){const n=(0,d.resolveViewRootId)(t);n&&(e.assign(c.NAMED_VIEWROOT).value=!0,e.assign(c.NAMING_CONTAINER_ID).value=n)}function M(e,n,r,s,l,o=""){const i=(0,c.$faces)().separatorchar;let a=r?t(r).split(/\s+/gi):[],u=[],d={};const h=e=>{const t=o.length?o+i:c.EMPTY_STR;let n=s.id.value;const r=n.substring(0,n.lastIndexOf(i)),l=r.length?r+i:c.EMPTY_STR,a=0===e.indexOf(i);let u;return a||o.length&&0==e.indexOf(t)?u=[t,e=0==(e=a?e.substring(1):e).indexOf(t)?e.substring(t.length):e].join(c.EMPTY_STR):(0==n.indexOf(t)&&(n=n.substring(t.length)),u=0==e.indexOf(n)?[t,e].join(c.EMPTY_STR):[l,e].join(c.EMPTY_STR)),document.getElementById(u)?u:e};for(let t=0;t{let l=function(e,n,r){if("string"!=typeof r)return!1!==r.call(e,n);{let s=t(r);return 0==s.indexOf("function ")&&(s=`return ${s} (event)`),!1!==new Function("event",s).call(e,n)}}(e,n,r);return!1===l&&(s=!1),s})),s},e.request=function(t,n,r){var s,a,u,h,E,v,f,p,m,R,g,S,y,O,I,N,C,w,b,D,L,x,X,V,k,F,j,U,H;const{options:G,elem:Q,elementId:q,windowId:W,isResetValues:$}=(0,d.resolveDefaults)(n,r,t),Y=new i.ExtConfig({}),B=new i.ExtConfig({});o.Assertions.assertRequestIntegrity(G,Q);const z=(0,d.resolveForm)(Q,n),J=(0,d.resolveViewId)(z),K=z.id.value,Z=(0,d.resolveDelay)(G),ee=(0,d.resolveTimeout)(G);var te;Y.assignIf(!!W,c.P_WINDOW_ID).value=W,Y.assign(c.CTX_PARAM_REQ_PASS_THR).value=(te=G.value,T(te).filter((e=>!(e[0]in _))).reduce(A,{}));const ne=(re=G.getIf(c.CTX_OPTIONS_PARAMS).orElse({}).value,Array.isArray(re)?re.reduce(A,{}):re);var re;let se=Y.getIf(c.CTX_PARAM_REQ_PASS_THR);var le,oe,ie,ae;se.$nspEnabled=!1,se.shallowMerge(new l.Config(ne),!0),se.$nspEnabled=!0,Y.assignIf(!!n,c.CTX_PARAM_REQ_PASS_THR,c.P_EVT).value=null==n?void 0:n.type,Y.assign(c.SOURCE).value=q,Y.assign(c.VIEW_ID).value=J,Y.assign(c.ON_EVENT).value=null===(s=G.value)||void 0===s?void 0:s.onevent,Y.assign(c.ON_ERROR).value=null===(a=G.value)||void 0===a?void 0:a.onerror,Y.assign(c.MYFACES).value=null===(u=G.value)||void 0===u?void 0:u.myfaces,Y.assign(c.CTX_PARAM_REQ_PASS_THR,c.P_AJAX_SOURCE).value=q,Y.assign(c.CTX_PARAM_REQ_PASS_THR,c.P_AJAX).value=!0,Y.assignIf($,c.CTX_PARAM_REQ_PASS_THR,c.P_RESET_VALUES).value=!0,B.assign(c.CTX_PARAM_SRC_FRM_ID).value=K,B.assign(c.CTX_PARAM_UPLOAD_PREINIT).value=null===(v=null===(E=null===(h=G.value)||void 0===h?void 0:h.myfaces)||void 0===E?void 0:E.upload)||void 0===v?void 0:v.preinit,B.assign(c.CTX_PARAM_UPLOAD_LOADSTART).value=null===(m=null===(p=null===(f=G.value)||void 0===f?void 0:f.myfaces)||void 0===p?void 0:p.upload)||void 0===m?void 0:m.loadstart,B.assign(c.CTX_PARAM_UPLOAD_ON_PROGRESS).value=null===(S=null===(g=null===(R=G.value)||void 0===R?void 0:R.myfaces)||void 0===g?void 0:g.upload)||void 0===S?void 0:S.progress,B.assign(c.CTX_PARAM_UPLOAD_LOADEND).value=null===(I=null===(O=null===(y=G.value)||void 0===y?void 0:y.myfaces)||void 0===O?void 0:O.upload)||void 0===I?void 0:I.loadend,B.assign(c.CTX_PARAM_UPLOAD_LOAD).value=null===(w=null===(C=null===(N=G.value)||void 0===N?void 0:N.myfaces)||void 0===C?void 0:C.upload)||void 0===w?void 0:w.load,B.assign(c.CTX_PARAM_UPLOAD_ERROR).value=null===(L=null===(D=null===(b=G.value)||void 0===b?void 0:b.myfaces)||void 0===D?void 0:D.upload)||void 0===L?void 0:L.error,B.assign(c.CTX_PARAM_UPLOAD_ABORT).value=null===(V=null===(X=null===(x=G.value)||void 0===x?void 0:x.myfaces)||void 0===X?void 0:X.upload)||void 0===V?void 0:V.abort,B.assign(c.CTX_PARAM_UPLOAD_TIMEOUT).value=null===(j=null===(F=null===(k=G.value)||void 0===k?void 0:k.myfaces)||void 0===F?void 0:F.upload)||void 0===j?void 0:j.timeout,Y.assign(c.CTX_PARAM_REQ_PASS_THR,K).value=K,B.assign(c.CTX_PARAM_SRC_CTL_ID).value=q,B.assign(c.CTX_PARAM_PPS).value=null!==(H=null===(U=function(e){var t;return null===(t=T(e).filter((e=>"myfaces"==e[0])).reduce(A,{}))||void 0===t?void 0:t[c.MYFACES]}(G.value))||void 0===U?void 0:U[c.MYFACES_OPTION_PPS])&&void 0!==H&&H,function(e,t){let n=(0,c.$faces)().getClientWindow(e.getAsElem(0).value);n&&(t.assign(c.CTX_PARAM_REQ_PASS_THR,c.P_CLIENT_WINDOW).value=n)}(z,Y),oe=Y,ie=z,ae=q,(le=G).getIf(c.CTX_OPTIONS_EXECUTE).isPresent()?(le.assign(c.CTX_OPTIONS_EXECUTE).value=[le.getIf(c.CTX_OPTIONS_EXECUTE).value,c.IDENT_THIS].join(" "),M(oe.getIf(c.CTX_PARAM_REQ_PASS_THR).get({}),c.P_EXECUTE,le.getIf(c.CTX_OPTIONS_EXECUTE).value,ie,ae,oe.getIf(c.VIEW_ID).value)):oe.assign(c.CTX_PARAM_REQ_PASS_THR,c.P_EXECUTE).value=ae,function(e,t,n,r){e.getIf(c.CTX_PARAM_RENDER).isPresent()&&M(t.getIf(c.CTX_PARAM_REQ_PASS_THR).get({}),c.P_RENDER,e.getIf(c.CTX_PARAM_RENDER).value,n,r,t.getIf(c.VIEW_ID).value)}(G,Y,z,q),P(B,z),e.queueHandler.addRequestToQueue(Q,z,Y,B,Z,ee)},e.response=function(e,t){r.Response.processResponse(e,t)},e.addOnError=function(e){S.push(e)},e.addOnEvent=function(e){g.push(e)},e.sendEvent=function(e,t=function(e){}){t(e),g.forEach((t=>t(e)))},e.stdErrorHandler=function(t,n,r,s=!1){try{O(a.ErrorData.fromClient(r))}finally{s&&e.requestQueue.clear()}},e.sendError=O,e.getClientWindow=function(e){const t="___mf_id_altered__",n="___init____";let r=e?l.DQ.byId(e):(0,l.DQ$)("form"),s=r.filterSelector(`input[name='${(0,c.$nsp)(c.P_CLIENT_WINDOW)}']`).orElseLazy((()=>r.querySelectorAll(`input[name='${(0,c.$nsp)(c.P_CLIENT_WINDOW)}']`))).asArray.map((e=>e.val)).reduce(((e,r)=>e==n?r:e==t||e!=r?t:r),n);return p(t!=s,"Multiple different windowIds found in document"),s!=n?s:(function(){const e=window.location.href,t=new RegExp("[\\?&]jfwid=([^&#\\;]*)").exec(e);return null!=t?l.Optional.fromNullable(t[1]):l.Optional.fromNullable(null)}()||i.ExtDomQuery.searchJsfJsFor(/jfwid=([^&;]*)/).orElse(null)).value},e.getViewState=function(e){let t=l.DQ.byId(e,!0);if(!t.isTag(c.HTML_TAG_FORM))throw new Error(n("ERR_VIEWSTATE"));const r=new l.Config({});P(r,l.DQ.byId(e));let s=t.deepElements.encodeFormElement();return(0,h.encodeFormData)(new i.ExtConfig(s),(0,d.resoveNamingContainerMapper)(r))},e.queueHandler={addRequestToQueue:function(t,n,r,l,o=0,i=0){e.requestQueue=null!==e.requestQueue&&void 0!==e.requestQueue?e.requestQueue:new E.XhrQueueController,e.requestQueue.enqueue(new s.XhrRequest(r,l,i),o)}}}(f||(t.Implementation=f={}))},54:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PushImpl=void 0;const r=n(351),s=n(257);var l;!function(e){const t=s.DQ.global().location.protocol.replace("http","ws")+"//";e.sockets={},e.components={},e.clientIdsByTokens={},e.reset=function(){e.sockets={},e.components={},e.clientIdsByTokens={}},e.init=function(r,l,i,a,u,c,d,h,E){var v,_,f;if(d=o(d),!s.DQ.global().WebSocket)return void d(-1,i);let p=l.substr(l.indexOf("?")+1);e.components[r]||(e.components[r]={channelToken:p,onopen:o(a),onmessage:o(u),onerror:o(c),onclose:d,behaviors:h,autoconnect:E},e.clientIdsByTokens[p]||(e.clientIdsByTokens[p]=[]),e.clientIdsByTokens[p].push(r),e.sockets[p]||(e.sockets[p]=new n(p,function(e){if(e.indexOf("://")<0){let n=s.DQ.global().location.hostname+":"+s.DQ.global().location.port;return t+n+e}return e}(l),i))),E&&(null!==(_=null===(v=s.DQ.global())||void 0===v?void 0:v.faces)&&void 0!==_?_:null===(f=s.DQ.global())||void 0===f?void 0:f.jsf).push.open(r)},e.open=function(t){var n;l(null===(n=e.components[t])||void 0===n?void 0:n.channelToken).open()},e.close=function(t){l(e.components[t].channelToken).close()};class n{constructor(e,t,n){this.channelToken=e,this.url=t,this.channel=n,this.reconnectAttempts=0}open(){this.socket&&1==this.socket.readyState||(this.socket=new WebSocket(this.url),this.bindCallbacks())}onopen(t){var n,r;if(!this.reconnectAttempts){let t=e.clientIdsByTokens[this.channelToken];for(let s=t.length-1;s>=0;s--){let l=t[s];null===(r=null===(n=e.components[l])||void 0===n?void 0:n.onopen)||void 0===r||r.call(n,this.channel)}}this.reconnectAttempts=0}onerror(t){var n,r,s;let l=JSON.parse(null!==(n=null==t?void 0:t.data)&&void 0!==n?n:null);for(let n=e.clientIdsByTokens[this.channelToken].length-1;n>=0;n--){let o=e.clientIdsByTokens[this.channelToken][n];if(document.getElementById(o))try{null===(s=null===(r=e.components[o])||void 0===r?void 0:r.onerror)||void 0===s||s.call(r,l,this.channel,t)}catch(e){}else e.clientIdsByTokens[this.channelToken].splice(n,1)}0==e.clientIdsByTokens[this.channelToken].length&&this.close()}onmmessage(t){var n,r,s;let l=JSON.parse(t.data);for(let o=e.clientIdsByTokens[this.channelToken].length-1;o>=0;o--){let i=e.clientIdsByTokens[this.channelToken][o];if(document.getElementById(i)){try{null===(r=null===(n=e.components[i])||void 0===n?void 0:n.onmessage)||void 0===r||r.call(n,l,this.channel,t)}catch(e){}let o=null===(s=null===e.components||void 0===e.components?void 0:e.components[i])||void 0===s?void 0:s.behaviors,a=null==o?void 0:o[l];if(a&&a.length)for(let e=0;e=r.MAX_RECONNECT_ATTEMPTS){let r=e.clientIdsByTokens[this.channelToken];for(let l=r.length-1;l>=0;l--){let o=r[l];null===(s=null===(n=null===e.components||void 0===e.components?void 0:e.components[o])||void 0===n?void 0:n.onclose)||void 0===s||s.call(n,null==t?void 0:t.code,null==this?void 0:this.channel,t)}}else setTimeout(this.open,r.RECONNECT_INTERVAL*this.reconnectAttempts++)}close(){if(this.socket){let e=this.socket;this.socket=null,e.close()}}bindCallbacks(){this.socket.onopen=e=>this.onopen(e),this.socket.onmessage=e=>this.onmmessage(e),this.socket.onclose=e=>this.onclose(e),this.socket.onerror=e=>this.onerror(e)}}function l(t){let n=e.sockets[t];if(n)return n;throw new Error("Unknown channelToken: "+t)}function o(e=()=>{}){return"function"!=typeof e&&(e=s.DQ.global()[e]),e}}(l||(t.PushImpl=l={}))},351:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CTX_OPTIONS_PARAMS=t.TIMEOUT_EVENT=t.CLIENT_ERROR=t.SERVER_ERROR=t.MALFORMEDXML=t.EMPTY_RESPONSE=t.HTTP_ERROR=t.RESPONSE_XML=t.RESPONSE_TEXT=t.ERROR_MESSAGE=t.ERROR_NAME=t.STATUS=t.SOURCE=t.SUCCESS=t.COMPLETE=t.BEGIN=t.ON_EVENT=t.ON_ERROR=t.EVENT=t.ERROR=t.WINDOW_ID=t.CTX_PARAM_RENDER=t.P_BEHAVIOR_EVENT=t.P_WINDOW_ID=t.P_RESET_VALUES=t.P_EVT=t.P_RENDER_OVERRIDE=t.P_RENDER=t.P_EXECUTE=t.P_AJAX=t.IDENT_FORM=t.IDENT_THIS=t.IDENT_NONE=t.IDENT_ALL=t.HTML_CLIENT_WINDOW=t.HTML_VIEWSTATE=t.EMPTY_MAP=t.EMPTY_STR=t.EMPTY_FUNC=t.P_RESOURCE=t.P_VIEWBODY=t.P_VIEWHEAD=t.P_VIEWROOT=t.P_CLIENT_WINDOW=t.P_VIEWSTATE=t.VIEW_ID=t.NAMING_CONTAINER_ID=t.P_AJAX_SOURCE=t.NAMED_VIEWROOT=t.XML_ATTR_NAMED_VIEWROOT=void 0,t.XML_TAG_CHANGES=t.XML_TAG_PARTIAL_RESP=t.ATTR_ID=t.ATTR_VALUE=t.ATTR_NAME=t.ATTR_URL=t.MYFACES_OPTION_PPS=t.ERR_NO_PARTIAL_RESPONSE=t.PHASE_PROCESS_RESPONSE=t.SEL_RESPONSE_XML=t.SEL_CLIENT_WINDOW_ELEM=t.SEL_VIEWSTATE_ELEM=t.HTML_TAG_STYLE=t.HTML_TAG_SCRIPT=t.HTML_TAG_LINK=t.HTML_TAG_BODY=t.HTML_TAG_FORM=t.HTML_TAG_HEAD=t.STD_ACCEPT=t.NO_TIMEOUT=t.MULTIPART=t.URL_ENCODED=t.STATE_EVT_COMPLETE=t.STATE_EVT_TIMEOUT=t.STATE_EVT_BEGIN=t.REQ_TYPE_POST=t.REQ_TYPE_GET=t.ENCODED_URL=t.VAL_AJAX=t.REQ_ACCEPT=t.HEAD_FACES_REQ=t.CONTENT_TYPE=t.CTX_PARAM_PPS=t.CTX_PARAM_REQ_PASS_THR=t.CTX_PARAM_SRC_CTL_ID=t.CTX_PARAM_UPLOAD_TIMEOUT=t.CTX_PARAM_UPLOAD_ABORT=t.CTX_PARAM_UPLOAD_ERROR=t.CTX_PARAM_UPLOAD_LOAD=t.CTX_PARAM_UPLOAD_LOADEND=t.CTX_PARAM_UPLOAD_LOADSTART=t.CTX_PARAM_UPLOAD_PREINIT=t.CTX_PARAM_UPLOAD_ON_PROGRESS=t.CTX_PARAM_SRC_FRM_ID=t.CTX_PARAM_MF_INTERNAL=t.CTX_OPTIONS_EXECUTE=t.CTX_OPTIONS_RESET=t.CTX_OPTIONS_TIMEOUT=t.DELAY_NONE=t.CTX_OPTIONS_DELAY=void 0,t.$nsp=t.$faces=t.UNKNOWN=t.MAX_RECONNECT_ATTEMPTS=t.RECONNECT_INTERVAL=t.APPLIED_CLIENT_WINDOW=t.APPLIED_VST=t.REASON_EXPIRED=t.MF_NONE=t.MYFACES=t.DEFERRED_HEAD_INSERTS=t.UPDATE_ELEMS=t.UPDATE_FORMS=t.XML_TAG_ATTR=t.XML_TAG_AFTER=t.XML_TAG_BEFORE=t.XML_TAG_REDIRECT=t.XML_TAG_EXTENSION=t.XML_TAG_ATTRIBUTES=t.XML_TAG_ERROR=t.XML_TAG_EVAL=t.XML_TAG_INSERT=t.XML_TAG_DELETE=t.XML_TAG_UPDATE=void 0,t.XML_ATTR_NAMED_VIEWROOT="namedViewRoot",t.NAMED_VIEWROOT="namedViewRoot",t.P_AJAX_SOURCE="jakarta.faces.source",t.NAMING_CONTAINER_ID="myfaces.NamingContainerId",t.VIEW_ID="myfaces.viewId",t.P_VIEWSTATE="jakarta.faces.ViewState",t.P_CLIENT_WINDOW="jakarta.faces.ClientWindow",t.P_VIEWROOT="jakarta.faces.ViewRoot",t.P_VIEWHEAD="jakarta.faces.ViewHead",t.P_VIEWBODY="jakarta.faces.ViewBody",t.P_RESOURCE="jakarta.faces.Resource",t.EMPTY_FUNC=Object.freeze((()=>{})),t.EMPTY_STR="",t.EMPTY_MAP=Object.freeze({}),t.HTML_VIEWSTATE=[""].join(t.EMPTY_STR),t.HTML_CLIENT_WINDOW=[""].join(t.EMPTY_STR),t.IDENT_ALL="@all",t.IDENT_NONE="@none",t.IDENT_THIS="@this",t.IDENT_FORM="@form",t.P_AJAX="jakarta.faces.partial.ajax",t.P_EXECUTE="jakarta.faces.partial.execute",t.P_RENDER="jakarta.faces.partial.render",t.P_RENDER_OVERRIDE="_myfaces.rendeOverride",t.P_EVT="jakarta.faces.partial.event",t.P_RESET_VALUES="jakarta.faces.partial.resetValues",t.P_WINDOW_ID="jakarta.faces.windowId",t.P_BEHAVIOR_EVENT="jakarta.faces.behavior.event",t.CTX_PARAM_RENDER="render",t.WINDOW_ID="windowId",t.ERROR="error",t.EVENT="event",t.ON_ERROR="onerror",t.ON_EVENT="onevent",t.BEGIN="begin",t.COMPLETE="complete",t.SUCCESS="success",t.SOURCE="source",t.STATUS="status",t.ERROR_NAME="error-name",t.ERROR_MESSAGE="error-message",t.RESPONSE_TEXT="responseText",t.RESPONSE_XML="responseXML",t.HTTP_ERROR="httpError",t.EMPTY_RESPONSE="emptyResponse",t.MALFORMEDXML="malformedXML",t.SERVER_ERROR="serverError",t.CLIENT_ERROR="clientError",t.TIMEOUT_EVENT="timeout",t.CTX_OPTIONS_PARAMS="params",t.CTX_OPTIONS_DELAY="delay",t.DELAY_NONE="none",t.CTX_OPTIONS_TIMEOUT="timeout",t.CTX_OPTIONS_RESET="resetValues",t.CTX_OPTIONS_EXECUTE="execute",t.CTX_PARAM_MF_INTERNAL="myfaces.internal",t.CTX_PARAM_SRC_FRM_ID="myfaces.source.formId",t.CTX_PARAM_UPLOAD_ON_PROGRESS="myfaces.upload.progress",t.CTX_PARAM_UPLOAD_PREINIT="myfaces.upload.preinit",t.CTX_PARAM_UPLOAD_LOADSTART="myfaces.upload.loadstart",t.CTX_PARAM_UPLOAD_LOADEND="myfaces.upload.loadend",t.CTX_PARAM_UPLOAD_LOAD="myfaces.upload.load",t.CTX_PARAM_UPLOAD_ERROR="myfaces.upload.error",t.CTX_PARAM_UPLOAD_ABORT="myfaces.upload.abort",t.CTX_PARAM_UPLOAD_TIMEOUT="myfaces.upload.timeout",t.CTX_PARAM_SRC_CTL_ID="myfaces.source.controlId",t.CTX_PARAM_REQ_PASS_THR="myfaces.request.passThrough",t.CTX_PARAM_PPS="myfaces.request.pps",t.CONTENT_TYPE="Content-Type",t.HEAD_FACES_REQ="Faces-Request",t.REQ_ACCEPT="Accept",t.VAL_AJAX="partial/ajax",t.ENCODED_URL="jakarta.faces.encodedURL",t.REQ_TYPE_GET="GET",t.REQ_TYPE_POST="POST",t.STATE_EVT_BEGIN="begin",t.STATE_EVT_TIMEOUT="TIMEOUT_EVENT",t.STATE_EVT_COMPLETE="complete",t.URL_ENCODED="application/x-www-form-urlencoded",t.MULTIPART="multipart/form-data",t.NO_TIMEOUT=0,t.STD_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",t.HTML_TAG_HEAD="HEAD",t.HTML_TAG_FORM="FORM",t.HTML_TAG_BODY="BODY",t.HTML_TAG_LINK="LINK",t.HTML_TAG_SCRIPT="SCRIPT",t.HTML_TAG_STYLE="STYLE",t.SEL_VIEWSTATE_ELEM="[name='"+t.P_VIEWSTATE+"']",t.SEL_CLIENT_WINDOW_ELEM="[name='"+t.P_CLIENT_WINDOW+"']",t.SEL_RESPONSE_XML="responseXML",t.PHASE_PROCESS_RESPONSE="processResponse",t.ERR_NO_PARTIAL_RESPONSE="Partial response not set",t.MYFACES_OPTION_PPS="pps",t.ATTR_URL="url",t.ATTR_NAME="name",t.ATTR_VALUE="value",t.ATTR_ID="id",t.XML_TAG_PARTIAL_RESP="partial-response",t.XML_TAG_CHANGES="changes",t.XML_TAG_UPDATE="update",t.XML_TAG_DELETE="delete",t.XML_TAG_INSERT="insert",t.XML_TAG_EVAL="eval",t.XML_TAG_ERROR="error",t.XML_TAG_ATTRIBUTES="attributes",t.XML_TAG_EXTENSION="extension",t.XML_TAG_REDIRECT="redirect",t.XML_TAG_BEFORE="before",t.XML_TAG_AFTER="after",t.XML_TAG_ATTR="attribute",t.UPDATE_FORMS="myfaces.updateForms",t.UPDATE_ELEMS="myfaces.updateElems",t.DEFERRED_HEAD_INSERTS="myfaces.headElems",t.MYFACES="myfaces",t.MF_NONE="__mf_none__",t.REASON_EXPIRED="Expired",t.APPLIED_VST="myfaces.appliedViewState",t.APPLIED_CLIENT_WINDOW="myfaces.appliedClientWindow",t.RECONNECT_INTERVAL=500,t.MAX_RECONNECT_ATTEMPTS=25,t.UNKNOWN="UNKNOWN",t.$faces=function(){var e;return null!==(e=null===window||void 0===window?void 0:window.faces)&&void 0!==e?e:null===window||void 0===window?void 0:window.jsf},t.$nsp=function(e){return e&&(null==e?void 0:e.replace)?(null===window||void 0===window?void 0:window.faces)?e.replace(/javax\.faces/gi,"jakarta.faces"):e.replace(/jakarta\.faces/gi,"javax.faces"):e}},315:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StateHolder=void 0;const r=n(351);t.StateHolder=class{constructor(e,t){this.id=e,this.value=t;let n=e.indexOf(r.P_VIEWSTATE);this.nameSpace=n>0?e.substr(0,n-1):r.EMPTY_STR}get hasNameSpace(){var e;return!!(null!==(e=null==this?void 0:this.nameSpace)&&void 0!==e?e:r.EMPTY_STR).length}}},207:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Messages=void 0,t.Messages=class{constructor(){this.MSG_TEST="Testmessage",this.MSG_DEV_MODE="Note, this message is only sent, because project stage is development and no other error listeners are registered.",this.MSG_AFFECTED_CLASS="Affected Class=",this.MSG_AFFECTED_METHOD="Affected Method=",this.MSG_ERROR_NAME="Error Name=",this.MSG_ERROR_MESSAGE="Error Message=",this.MSG_SERVER_ERROR_NAME="Server Error Name=",this.MSG_ERROR_DESC="Error Description=",this.MSG_ERROR_NO="Error Number=",this.MSG_ERROR_LINENO="Error Line Number=",this.ERR_FORM="Sourceform could not be determined, either because element is not attached to a form or we have multiple forms with named elements of the same identifier or name, stopping the ajax processing",this.ERR_VIEWSTATE="faces.viewState= param value not of type form!",this.ERR_TRANSPORT="Transport type {0} does not exist",this.ERR_EVT_PASS="an event must be passed down (either a an event object null or undefined) ",this.ERR_CONSTRUCT="Parts of the response couldn't be retrieved when constructing the event data= {0} ",this.ERR_MALFORMEDXML="The server response could not be parsed, the server has returned with a response which is not xml !",this.ERR_SOURCE_FUNC="source cannot be a function (probably source and event were not defined or set to null",this.ERR_EV_OR_UNKNOWN="An event object or unknown must be passed as second parameter",this.ERR_SOURCE_NOSTR="source cannot be a string",this.ERR_SOURCE_DEF_NULL="source must be defined or null",this.ERR_MUST_STRING="{0}: {1} namespace must be of type String",this.ERR_REF_OR_ID="{0}: {1} a reference node or identifier must be provided",this.ERR_PARAM_GENERIC="{0}: parameter {1} must be of type {2}",this.ERR_PARAM_STR="{0}: {1} param must be of type string",this.ERR_PARAM_STR_RE="{0}: {1} param must be of type string or a regular expression",this.ERR_PARAM_MIXMAPS="{0}: both a source as well as a destination map must be provided",this.ERR_MUST_BE_PROVIDED="{0}: an {1} and a {2} must be provided",this.ERR_MUST_BE_PROVIDED1="{0}: {1} must be set",this.ERR_REPLACE_EL="replaceElements called while evalNodes is not an array",this.ERR_EMPTY_RESPONSE="{0}: The response cannot be null or empty!",this.ERR_ITEM_ID_NOTFOUND="{0}: item with identifier {1} could not be found",this.ERR_PPR_IDREQ="{0}: Error in PPR Insert, id must be present",this.ERR_PPR_INSERTBEFID="{0}: Error in PPR Insert, before id or after id must be present",this.ERR_PPR_INSERTBEFID_1="{0}: Error in PPR Insert, before node of id {1} does not exist in document",this.ERR_PPR_INSERTBEFID_2="{0}: Error in PPR Insert, after node of id {1} does not exist in document",this.ERR_PPR_DELID="{0}: Error in delete, id not in xml markup",this.ERR_PPR_UNKNOWNCID="{0}: Unknown Html-Component-ID= {1}",this.ERR_NO_VIEWROOTATTR="{0}: Changing of ViewRoot attributes is not supported",this.ERR_NO_HEADATTR="{0}: Changing of Head attributes is not supported",this.ERR_RED_URL="{0}: Redirect without url",this.ERR_REQ_FAILED_UNKNOWN="Request failed with unknown status",this.ERR_REQU_FAILED="Request failed with status {0} and reason {1}",this.UNKNOWN="UNKNOWN"}}},22:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Assertions=void 0;const r=n(257),s=n(351),l=n(471);var o;!function(e){function t(t,n=s.EMPTY_STR,r=s.EMPTY_STR,l="Assertion Error"){if(!t)throw e.raiseError(new Error,n,r,l)}function n(t,n,l=s.EMPTY_STR,o=s.EMPTY_STR,i="Type Assertion Error"){if(t&&!r.Lang.assertType(t,n))throw e.raiseError(new Error,l,o,i)}function o(e,t=s.EMPTY_STR,r=s.EMPTY_STR,l="Assertion Error"){n(e,"function",t,r,l)}e.assertRequestIntegrity=function(e,n){o(e.getIf(s.ON_ERROR).value),o(e.getIf(s.ON_EVENT).value),t(n.isPresent(),l.ExtLang.getMessage("ERR_MUST_BE_PROVIDED1","{0}: source must be provided or exist","source element id"),"faces.ajax.request","ArgNotSet")},e.assertUrlExists=function(t){if(t.attr(s.ATTR_URL).isAbsent())throw e.raiseError(new Error,l.ExtLang.getMessage("ERR_RED_URL",null,"processRedirect"),"processRedirect")},e.assertValidXMLResponse=function(e){t(!e.isAbsent(),s.EMPTY_RESPONSE,s.PHASE_PROCESS_RESPONSE),t(!e.isXMLParserError(),e.parserErrorText(s.EMPTY_STR),s.PHASE_PROCESS_RESPONSE),t(e.querySelectorAll(s.XML_TAG_PARTIAL_RESP).isPresent(),s.ERR_NO_PARTIAL_RESPONSE,s.PHASE_PROCESS_RESPONSE)},e.raiseError=function(e,t,n,r,o){let i=null!=r?r:s.MALFORMEDXML,a=null!=o?o:s.MALFORMEDXML,u=null!=t?t:s.EMPTY_STR;return l.ExtLang.makeException(e,i,a,"Response",n||(arguments.caller?arguments.caller.toString():"_raiseError"),u)},e.assert=t,e.assertType=n,e.assertFunction=o,e.assertDelay=function(e){if(!(e>=0))throw new Error("Invalid delay value: "+e)}}(o||(t.Assertions=o={}))},726:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AsyncRunnable=void 0,t.AsyncRunnable=class{constructor(){this.catchFunctions=[],this.thenFunctions=[]}resolve(e){this.thenFunctions.reduce(((e,t)=>t(e)),e)}reject(e){this.catchFunctions.reduce(((e,t)=>t(e)),e)}catch(e){return this.catchFunctions.push(e),this}finally(e){return this.catchFunctions.push(e),this.thenFunctions.push(e),this}then(e){return this.thenFunctions.push(e),this}}},780:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtConfig=t.ExtDQ=t.ExtDomQuery=void 0;const r=n(257),s=n(351),l=e=>e&&!(-1==(null==e?void 0:e.search(/\/jakarta\.faces\.resource.*\/faces\.js.*/))&&-1==(null==e?void 0:e.search(/\/faces-development\.js.*/))&&-1==(null==e?void 0:e.search(/\/faces-uncompressed\.js.*/))&&-1==(null==e?void 0:e.search(/\/faces[^.]*\.js.*ln=jakarta.faces.*/gi))&&-1==(null==e?void 0:e.search(/\/javax\.faces\.resource.*\/jsf\.js.*/))&&-1==(null==e?void 0:e.search(/\/jsf-development\.js.*/))&&-1==(null==e?void 0:e.search(/\/jsf-uncompressed\.js.*/))&&-1==(null==e?void 0:e.search(/\/jsf[^.]*\.js.*ln=javax.faces.*/gi))),o="src";class i extends r.DQ{static get windowId(){return new i(document.body).windowId}static get nonce(){return new i(document.body).nonce}get windowId(){const e=function(){let e=window.location.href,t=new RegExp("[\\?&]windowId=([^&#\\;]*)").exec(e);return null!=t?t[1]:null};if(this.value.isPresent()){let t=this.querySelectorAll("form input[name='"+s.P_WINDOW_ID+"']");if(t.length>1)throw Error("Multiple different windowIds found in document");return r.Optional.fromNullable(t.isPresent()?t.getAsElem(0).value.value:e())}return r.Optional.fromNullable(e())}get nonce(){var e;let t=new a(window.myfaces).getIf("config","cspMeta","nonce");if(t.value)return r.ValueEmbedder.fromNullable(t);let n=new r.DQ(document.currentScript).nonce;if(n.isPresent())return r.ValueEmbedder.fromNullable(n);let s=r.Optional.fromNullable(null===(e=r.DQ.querySelectorAll("script[src], link[src]").asArray.filter((e=>e.nonce.isPresent()&&null!=e.attr(o))).filter((e=>l(e.attr(o).value))))||void 0===e?void 0:e[0]);return(null==s?void 0:s.value)?new r.DomQuery(s.value).nonce:r.ValueEmbedder.absent}static searchJsfJsFor(e){return new i(document).searchJsfJsFor(e)}searchJsfJsFor(e){var t;return r.Optional.fromNullable(null===(t=r.DQ.querySelectorAll("script[src], link[src]").asArray.filter((e=>l(e.attr(o).value))).map((t=>t.attr(o).value.match(e))).filter((e=>null!=e&&e.length>1)).map((e=>decodeURIComponent(e[1]))))||void 0===t?void 0:t[0])}globalEval(e,t){return new i(super.globalEval(e,null!=t?t:this.nonce.value))}globalEvalSticky(e,t){return new i(super.globalEvalSticky(e,null!=t?t:this.nonce.value))}runScripts(e=!1,t){return super.runScripts(e,(e=>{var n,r;return(null===(n=null==t?void 0:t(e))||void 0===n||n)&&!l(e)&&!(-1!=(r=e).search(/\/faces[^.]*\.js.*ln=myfaces.testscripts.*/gi)||-1!=r.search(/\/jsf[^.]*\.js.*ln=myfaces.testscripts.*/gi))}))}runHeadInserts(e=!0){let t=i.byId(document.head),n=[];this.filter((function(n){if(!e)return!0;const r=n.tagName.value;if(!r)return!0;let s=n.attr("href").orElseLazy((()=>n.attr("src").value)).orElseLazy((()=>n.attr("rel").value));return!s.isPresent()||!t.querySelectorAll(`${r}[href='${s.value}']`).length&&!t.querySelectorAll(`${r}[src='${s.value}']`).length&&!t.querySelectorAll(`${r}[rel='${s.value}']`).length})).each((e=>{"SCRIPT"!=e.tagName.value?(new i(...n).runScripts(!0),n=[],t.append(e)):n.push(e)})),new i(...n).runScripts(!0)}static byId(e,t=!1){const n=r.DomQuery.byId(e,t);return new i(n)}filter(e){return new i(super.filter(e))}}t.ExtDomQuery=i,t.ExtDQ=i;class a extends r.Config{constructor(e){super(e),this.$nspEnabled=!0}assignIf(e,...t){const n=this.remap(t);return super.assignIf(e,...n)}assign(...e){const t=this.remap(e);return super.assign(...t)}append(...e){return super.append(...e)}appendIf(e,...t){const n=this.remap(t);return super.appendIf(e,...n)}getIf(...e){const t=this.remap(e);return super.getIf(...t)}get(e){return super.get((0,s.$nsp)(e))}delete(e){return super.delete((0,s.$nsp)(e))}static fromNullable(e){return new a(e)}getClass(){return a}shallowCopy$(){const e=super.shallowCopy$();return new a(e)}get deepCopy(){return new a(super.deepCopy$())}remap(e){return this.$nspEnabled?new r.Es2019Array(...e).map((e=>(0,s.$nsp)(e))):e}}t.ExtConfig=a},680:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getFormInputsAsArr=t.fixEmptyParameters=t.resolveFiles=t.decodeEncodedValues=t.encodeFormData=void 0;const r=n(257),s=n(780),l=n(351);function o(e){return e.split(/&/gi).filter((e=>!!(e||"").replace(/\s+/g,""))).map((e=>{let t=decodeURIComponent(e),n=t.indexOf("=");return-1==n?[t]:[t.substring(0,n),t.substring(n+1)]}))}function i(e){return e.querySelectorAllDeep("input[type='file']").asArray.map((e=>[e.name.value||e.id.value,e.filesFromElem(0)])).flatMap((([e,t])=>[...t].map((t=>[e,t]))))}t.encodeFormData=function(e,t=(e,t)=>[e,t],n=l.EMPTY_STR){if(e.isAbsent())return n;const o=e.value;return new r.Es2019Array(...Object.keys(o)).filter((e=>o.hasOwnProperty(e))).flatMap((e=>o[e].map((n=>t(e,n))))).filter((([,e])=>!(e instanceof s.ExtDomQuery.global().File))).map((e=>`${encodeURIComponent(e[0])}=${encodeURIComponent(e[1])}`)).join("&")},t.decodeEncodedValues=o,t.resolveFiles=i,t.fixEmptyParameters=function(e){var t,n;return e.length<3?[null!==(t=null==e?void 0:e[0])&&void 0!==t?t:[],null!==(n=null==e?void 0:e[1])&&void 0!==n?n:[]]:e},t.getFormInputsAsArr=function(e){const t=function(e){return o((0,l.$faces)().getViewState(e.getAsElem(0).value))}(e),n=i(e);return t.concat(n)}},248:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HiddenInputBuilder=void 0;const r=n(257),s=n(351);t.HiddenInputBuilder=class{constructor(e){this.selector=e,this.namedViewRoot=!1;const t=-1!=e.indexOf((0,s.$nsp)(s.P_VIEWSTATE));this.name=t?s.P_VIEWSTATE:s.P_CLIENT_WINDOW,this.template=t?s.HTML_VIEWSTATE:s.HTML_CLIENT_WINDOW}withNamingContainerId(e){return this.namingContainerId=e,this}withParent(e){return this.parent=e,this}withNamedViewRoot(e){return this.namedViewRoot=e,this}build(){var e,t,n;const l=(0,s.$faces)().separatorchar;let o=(0,r.DQ$)(`[name*='${(0,s.$nsp)(this.name)}']`).asArray.map((e=>{let t=e.id.orElse("0").value;return t=t.substring(t.lastIndexOf(l)+1),parseInt(t)})).filter((e=>!isNaN(e))).reduce(((e,t)=>Math.max(e,t)),0);o++;const i=r.DQ.fromMarkup((0,s.$nsp)(this.template));return i.id.value=((null===(e=this.namingContainerId)||void 0===e?void 0:e.length)?[this.namingContainerId,(0,s.$nsp)(this.name),o]:[(0,s.$nsp)(this.name),o]).join(l),this.namedViewRoot?i.name.value=(null===(t=this.namingContainerId)||void 0===t?void 0:t.length)?[this.namingContainerId,(0,s.$nsp)(this.name)].join(l):(0,s.$nsp)(this.name):i.name.value=(0,s.$nsp)(this.name),null===(n=null==this?void 0:this.parent)||void 0===n||n.append(i),i}}},471:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtLang=void 0;const r=n(257),s=n(207),l=n(351),o=n(7),i=n(257);var a;!function(e){let t;function n(e,n,...r){var o,i;t=null!=t?t:new s.Messages;let a=null!==(i=null!==(o=t[e])&&void 0!==o?o:n)&&void 0!==i?i:e;return r.forEach(((e,t)=>{a=a.replace(new RegExp(["\\{",t,"\\}"].join(l.EMPTY_STR),"g"),e)})),a}function a(e,t,n,r,s,o){var i;return new Error(null!==(i=o+(null!=r?r:"impl/util/Lang/")+s)&&void 0!==i?i:l.EMPTY_STR+arguments.caller.toString())}e.getLanguage=function(){var e,t;let n=null!==(t=null===(e=navigator.languages)||void 0===e?void 0:e[0])&&void 0!==t?t:null===navigator||void 0===navigator?void 0:navigator.language;return n=n.split("-")[0],n},e.failSaveResolve=function(e,t=null){return r.Lang.saveResolve(e,t)},e.failSaveExecute=function(e,t=null){r.Lang.saveResolve(e,t)},e.getMessage=n,e.keyValToStr=function(e,t,n="\n"){return[e,t].join(n)},e.makeException=a,e.getGlobalConfig=function(e,t){var n,r,s;return null!==(s=null===(r=null===(n=null===window||void 0===window?void 0:window.myfaces)||void 0===n?void 0:n.config)||void 0===r?void 0:r[e])&&void 0!==s?s:t},e.getForm=function(e,t){let s=new r.DQ(e),i=t?new r.DQ((0,o.getEventTarget)(t)):r.DomQuery.absent;if(s.isTag(l.HTML_TAG_FORM))return s;if(s.attr(l.HTML_TAG_FORM).isPresent()){let e=s.attr(l.HTML_TAG_FORM).value,t=r.DQ.byId(e,!0);if(t.isPresent())return t}let u=s.firstParent(l.HTML_TAG_FORM).orElseLazy((()=>s.byTagName(l.HTML_TAG_FORM,!0))).orElseLazy((()=>i.firstParent(l.HTML_TAG_FORM))).orElseLazy((()=>i.byTagName(l.HTML_TAG_FORM))).first();return u=u.orElseLazy((()=>r.DQ.byTagName(l.HTML_TAG_FORM))),function(e){if(e.isAbsent()||e.length>1)throw a(new Error,null,null,"Impl","getForm",n("ERR_FORM"))}(u),u},e.getLocalOrGlobalConfig=function(e,t,n){var r,s,l,o,i,a,u;return null!==(u=null!==(o=null===(l=null===(s=null===(r=e.value)||void 0===r?void 0:r.myfaces)||void 0===s?void 0:s.config)||void 0===l?void 0:l[t])&&void 0!==o?o:null===(a=null===(i=null===window||void 0===window?void 0:window.myfaces)||void 0===i?void 0:i.config)||void 0===a?void 0:a[t])&&void 0!==u?u:n},e.ofAssoc=function(e){return new i.Es2019Array(...Object.keys(e)).map((t=>[t,e[t]]))},e.collectAssoc=function(e,t){return e[t[0]]=t[1],e};let u={};e.debounce=function(e,t,n){function r(){clearTimeout(u[e]),delete u[e]}(null==u?void 0:u[e])&&r(),n>0?u[e]=setTimeout((()=>{try{t()}finally{r()}}),n):t()}}(a||(t.ExtLang=a={}))},666:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XhrQueueController=void 0;var r=n(471).ExtLang.debounce;t.XhrQueueController=class{constructor(){this.queue=[],this.taskRunning=!1}enqueue(e,t=0){r("xhrQueue",(()=>{const t=this.enrichRunnable(e);this.taskRunning?this.queue.push(t):(this.signalTaskRunning(),t.start())}),t)}next(){this.updateTaskRunning();const e=this.queue.shift();null==e||e.start()}clear(){this.queue.length=0,this.updateTaskRunning()}get isEmpty(){return!this.queue.length}enrichRunnable(e){return e.then((()=>this.next())).catch((()=>this.clear()))}signalTaskRunning(){this.taskRunning=!0}updateTaskRunning(){this.taskRunning=!this.isEmpty}}},234:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorData=t.ErrorType=void 0;const r=n(351),s=n(560);var l,o=n(471).ExtLang.getMessage;!function(e){e.SERVER_ERROR="serverError",e.HTTP_ERROR="httpError",e.CLIENT_ERROR="clientErrror",e.TIMEOUT="timeout"}(l||(t.ErrorType=l={}));class i extends s.EventData{constructor(e,t,n,s=null,o=null,i=-1,a=null,u=l.CLIENT_ERROR){super(),this.type="error",this.source=e,this.type=r.ERROR,this.errorName=t,this.errorMessage=n,this.responseCode=`${i}`,this.responseText=s,this.responseXML=o,this.status=a,this.description=`Status: ${this.status}\nResponse Code: ${this.responseCode}\nError Message: ${this.errorMessage}`,this.typeDetails=u,u==l.SERVER_ERROR&&(this.serverErrorName=this.errorName,this.serverErrorMessage=this.errorMessage)}static fromClient(e){var t,n,s,l;return new i(null!==(t=null==e?void 0:e.source)&&void 0!==t?t:"client",null!==(n=null==e?void 0:e.name)&&void 0!==n?n:r.EMPTY_STR,null!==(s=null==e?void 0:e.message)&&void 0!==s?s:r.EMPTY_STR,null!==(l=null==e?void 0:e.stack)&&void 0!==l?l:r.EMPTY_STR)}static fromHttpConnection(e,t,n,s,o,a,u=r.EMPTY_STR){return new i(e,t,n,s,o,a,u,l.HTTP_ERROR)}static fromGeneric(e,t,n=l.SERVER_ERROR){let s=this.getMsg,o=s(e,r.SOURCE),a=s(e,r.ERROR_NAME),u=s(e,r.ERROR_MESSAGE),c=s(e,r.STATUS),d=s(e,r.RESPONSE_TEXT),h=e.getIf(r.RESPONSE_XML).value;return new i(o,a,u,d,h,t,c,n)}static getMsg(e,t){return o(e.getIf(t).orElse(r.EMPTY_STR).value)}static fromServerError(e){return this.fromGeneric(e,-1)}}t.ErrorData=i},560:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventData=void 0;const r=n(257),s=n(351);class l{static createFromRequest(e,t,n){var o;let i=new l;i.type=s.EVENT,i.status=n;let a=t.getIf(s.SOURCE).orElseLazy((()=>t.getIf(s.P_AJAX_SOURCE).value)).orElseLazy((()=>t.getIf(s.CTX_PARAM_REQ_PASS_THR,s.P_AJAX_SOURCE).value)).value;return a&&(i.source=r.DQ.byId(a,!0).first().value.value),n!==s.BEGIN&&(i.responseCode=null===(o=null==e?void 0:e.status)||void 0===o?void 0:o.toString(),i.responseText=null==e?void 0:e.responseText,i.responseXML=null==e?void 0:e.responseXML),i}}t.EventData=l},7:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveDefaults=t.getEventTarget=t.resolveWindowId=t.resolveDelay=t.resolveTimeout=t.resoveNamingContainerMapper=t.resolveViewRootId=t.resolveViewId=t.resolveForm=t.resolveFinalUrl=t.resolveTargetUrl=t.resolveHandlerFunc=void 0;const r=n(257),s=n(351),l=n(471),o=n(780),i=n(22);function a(e){return void 0===e.elements[s.ENCODED_URL]?e.action:e.elements[s.ENCODED_URL].value}function u(e){var t,n;return null!==(n=null===(t=null==e?void 0:e.value)||void 0===t?void 0:t.windowId)&&void 0!==n?n:o.ExtDomQuery.windowId.value}t.resolveHandlerFunc=function(e,t,n){return(t=t||new r.Config({})).getIf(n).orElseLazy((()=>e.getIf(n).value)).orElse(s.EMPTY_FUNC).value},t.resolveTargetUrl=a,t.resolveFinalUrl=function(e,t,n=s.REQ_TYPE_POST){return a(e.getAsElem(0).value)+(n==s.REQ_TYPE_GET?"?"+t.toString():s.EMPTY_STR)},t.resolveForm=function(e,t){return l.ExtLang.getForm(e.getAsElem(0).value,t)},t.resolveViewId=function(e){const t=e.querySelectorAll(`input[type='hidden'][name*='${(0,s.$nsp)(s.P_VIEWSTATE)}']`).id.orElse("").value,n=(0,s.$faces)().separatorchar,r=t.split(n,2)[0],l=-1===r.indexOf((0,s.$nsp)(s.P_VIEWSTATE))?r:"";return 0===e.id.value.indexOf(l)?l:""},t.resolveViewRootId=function(e){const t=e.querySelectorAll(`input[type='hidden'][name*='${(0,s.$nsp)(s.P_VIEWSTATE)}']`).attr("name").orElse("").value,n=(0,s.$faces)().separatorchar,r=t.split(n,2)[0];return-1===r.indexOf((0,s.$nsp)(s.P_VIEWSTATE))?r:""},t.resoveNamingContainerMapper=function(e){if(!e.getIf(s.NAMED_VIEWROOT).isPresent())return(e,t)=>[e,t];const t=e.getIf(s.NAMING_CONTAINER_ID).value+(0,s.$faces)().separatorchar;return(e,n)=>0==e.indexOf(t)?[e,n]:[t+e,n]},t.resolveTimeout=function(e){var t;let n=l.ExtLang.getLocalOrGlobalConfig;return null!==(t=e.getIf(s.CTX_OPTIONS_TIMEOUT).value)&&void 0!==t?t:n(e.value,s.CTX_OPTIONS_TIMEOUT,0)},t.resolveDelay=function(e){let t=e.getIf(s.CTX_OPTIONS_DELAY).orElse(0).value;return t=s.DELAY_NONE===t?0:t,i.Assertions.assertDelay(t),t},t.resolveWindowId=u,t.getEventTarget=function(e){var t,n;let r=e,s=null!==(n=null!==(t=null==r?void 0:r.srcElement)&&void 0!==t?t:null==r?void 0:r.target)&&void 0!==n?n:null==r?void 0:r.source;for(;s&&1!=s.nodeType;)s=s.parentNode;return s},t.resolveDefaults=function(e,t,n=null){var s;const l=r.DQ.byId(n||e.target,!0),i=new o.ExtConfig(t).deepCopy;return{options:i,elem:l,elementId:l.id.value,windowId:u(i),isResetValues:!0===(null===(s=i.value)||void 0===s?void 0:s.resetValues)}}},413:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSourceForm=t.resolveSourceElement=t.resolveContexts=t.resolveResponseXML=void 0;const r=n(257),s=n(22),l=n(257),o=n(351),i=n(780);t.resolveResponseXML=function(e){let t=new r.XMLQuery((0,o.$nsp)(e.getIf(o.SEL_RESPONSE_XML).value));return s.Assertions.assertValidXMLResponse(t),t},t.resolveContexts=function(e){let t=i.ExtConfig.fromNullable(e),n=t.getIf(o.CTX_PARAM_MF_INTERNAL);return n.isPresent()||(n=i.ExtConfig.fromNullable({})),n.assign(o.DEFERRED_HEAD_INSERTS).value=[],n.assign(o.UPDATE_FORMS).value=[],n.assign(o.UPDATE_ELEMS).value=[],{externalContext:t,internalContext:n}},t.resolveSourceElement=function(e,t){let n=function(e,t){return t.getIf(o.CTX_PARAM_SRC_CTL_ID).orElseLazy((()=>e.getIf(o.SOURCE,"id").value))}(e,t);return l.DQ.byId(n.value,!0)},t.resolveSourceForm=function(e,t){let n=e.getIf(o.CTX_PARAM_SRC_FRM_ID),r=new l.DQ(n.isPresent()?document.forms[n.value]:null);return r=r.orElseLazy((()=>t.firstParent(o.HTML_TAG_FORM))).orElseLazy((()=>t.querySelectorAll(o.HTML_TAG_FORM))).orElseLazy((()=>l.DQ.querySelectorAll(o.HTML_TAG_FORM))),r}},121:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Response=void 0;const r=n(257),s=n(797),l=n(351),o=n(413),i=n(780);var a;!function(e){e.processResponse=function(e,n){let a=i.ExtConfig.fromNullable(e),{externalContext:u,internalContext:c}=(0,o.resolveContexts)(n),d=(0,o.resolveResponseXML)(a),h=new s.ResponseProcessor(a,u,c);c.assign(l.RESPONSE_XML).value=d,d.querySelectorAll(l.XML_TAG_PARTIAL_RESP).each((e=>function(e,n,s){var o;let i=null===(o=null==e?void 0:e.id)||void 0===o?void 0:o.value;s.assignIf(!!i,l.NAMING_CONTAINER_ID).value=i,n.updateNamedViewRootState();const a=[l.XML_TAG_ERROR,l.XML_TAG_REDIRECT,l.XML_TAG_CHANGES].join(",");e.querySelectorAll(a).each((e=>{switch(e.tagName.value){case l.XML_TAG_ERROR:n.error(e);break;case l.XML_TAG_REDIRECT:n.redirect(e);break;case l.XML_TAG_CHANGES:!function(e,n){const s=[l.XML_TAG_UPDATE,l.XML_TAG_EVAL,l.XML_TAG_INSERT,l.XML_TAG_DELETE,l.XML_TAG_ATTRIBUTES,l.XML_TAG_EXTENSION].join(", ");e.querySelectorAll(s).each((e=>{switch(e.tagName.value){case l.XML_TAG_UPDATE:!function(e,t){(function(e,t){return e.processViewState(t)||e.processClientWindow(t)})(t,e)||function(e,t){let n=e.cDATAAsString;switch(e.id.value){case(0,l.$nsp)(l.P_VIEWROOT):t.replaceViewRoot(r.DQ.fromMarkup(n.substring(n.indexOf("{Object.defineProperty(t,"__esModule",{value:!0}),t.ResponseProcessor=void 0;const r=n(257),s=n(644),l=n(22),o=n(234),i=n(315),a=n(560),u=n(351),c=n(780),d=n(248);var h=r.Lang.trim,E=n(471).ExtLang.ofAssoc;class v{constructor(e,t,n){this.request=e,this.externalContext=t,this.internalContext=n}replaceHead(e){const t=e.querySelectorAll(u.HTML_TAG_HEAD);if(!t.isPresent())return;const n=c.ExtDomQuery.querySelectorAll(u.HTML_TAG_HEAD);n.childNodes.delete(),this.addToHead(t),n.copyAttrs(t)}addToHead(e){const t=new c.ExtDomQuery(e),n=[u.HTML_TAG_SCRIPT];t.filter((e=>-1==n.indexOf(e.tagName.orElse("").value))).runHeadInserts(!0);const s="HEAD"===e.tagName.value?e.childNodes:e,l=new r.DomQuery(...s.asArray.filter((e=>-1!=n.indexOf(e.tagName.orElse("").value))));this.addToHeadDeferred(l)}addToHeadDeferred(e){this.internalContext.assign(u.DEFERRED_HEAD_INSERTS).value.push(e)}replaceBody(e){const t=e.querySelectorAll(u.HTML_TAG_BODY);if(!t.isPresent())return;const n=t.innerHTML,r=c.ExtDomQuery.querySelectorAll(u.HTML_TAG_BODY),s=r.querySelectorAll(u.HTML_TAG_FORM);r.html(n).copyAttrs(t),this.externalContext.assign((0,u.$nsp)(u.P_RENDER_OVERRIDE)).value="@all",this.storeForPostProcessing(s,r)}eval(e){c.ExtDomQuery.globalEval(e.cDATAAsString)}error(e){const t=new c.ExtConfig({});t.assign(u.SOURCE).value=this.externalContext.getIf(u.P_AJAX_SOURCE).get(0).value,t.assign(u.ERROR_NAME).value=e.querySelectorAll(u.ERROR_NAME).textContent(u.EMPTY_STR),t.assign(u.ERROR_MESSAGE).value=e.querySelectorAll(u.ERROR_MESSAGE).cDATAAsString;const n=this.internalContext.get(u.RESPONSE_XML).isPresent();t.assignIf(n,u.RESPONSE_XML).value=this.internalContext.getIf(u.RESPONSE_XML).value.get(0).value;const r=o.ErrorData.fromServerError(t);this.triggerOnError(r),s.Implementation.sendError(r)}redirect(e){l.Assertions.assertUrlExists(e);const t=h(e.attr(u.ATTR_URL).value);t!=u.EMPTY_STR&&(window.location.href=t)}update(e,t){const n=c.ExtDomQuery.byId(e.id.value,!0).outerHTML(t,!1,!1),r=null==n?void 0:n.firstParent(u.HTML_TAG_FORM).orElseLazy((()=>n.byTagName(u.HTML_TAG_FORM,!0)));r&&this.storeForPostProcessing(r,n)}delete(e){r.DQ.byId(e.id.value,!0).delete()}attributes(e){const t=r.DQ.byId(e.id.value,!0);e.byTagName(u.XML_TAG_ATTR).each((e=>{t.attr(e.attr(u.ATTR_NAME).value).value=e.attr(u.ATTR_VALUE).value}))}replaceViewRoot(e){this.replaceHead(e),this.replaceBody(e)}insert(e){const t=e.attr(u.XML_TAG_BEFORE),n=e.attr(u.XML_TAG_AFTER),s=r.DQ.fromMarkup(e.cDATAAsString);t.isPresent()&&(r.DQ.byId(t.value,!0).insertBefore(s),this.internalContext.assign(u.UPDATE_ELEMS).value.push(s)),n.isPresent()&&(r.DQ.byId(n.value,!0).insertAfter(s),this.internalContext.assign(u.UPDATE_ELEMS).value.push(s))}insertWithSubTags(e){const t=e.querySelectorAll(u.XML_TAG_BEFORE),n=e.querySelectorAll(u.XML_TAG_AFTER);t.each((e=>{const t=e.attr(u.ATTR_ID),n=r.DQ.fromMarkup(e.cDATAAsString);t.isPresent()&&(r.DQ.byId(t.value,!0).insertBefore(n),this.internalContext.assign(u.UPDATE_ELEMS).value.push(n))})),n.each((e=>{const t=e.attr(u.ATTR_ID),n=r.DQ.fromMarkup(e.cDATAAsString);t.isPresent()&&(r.DQ.byId(t.value,!0).insertAfter(n),this.internalContext.assign(u.UPDATE_ELEMS).value.push(n))}))}processViewState(e){if(v.isViewStateNode(e)){const t=e.cDATAAsString;return this.internalContext.assign(u.APPLIED_VST,e.id.value).value=new i.StateHolder((0,u.$nsp)(e.id.value),t),!0}return!1}processClientWindow(e){if(v.isClientWindowNode(e)){const t=e.cDATAAsString;return this.internalContext.assign(u.APPLIED_CLIENT_WINDOW,e.id.value).value=new i.StateHolder((0,u.$nsp)(e.id.value),t),!0}}globalEval(){new c.ExtDomQuery(...this.internalContext.getIf(u.DEFERRED_HEAD_INSERTS).value).runHeadInserts(!0);let e=new c.ExtDomQuery(...this.internalContext.getIf(u.UPDATE_ELEMS).value);e.runCss(),e.runScripts()}fixViewStates(){E(this.internalContext.getIf(u.APPLIED_VST).orElse({}).value).forEach((([,e])=>{const t=this.internalContext.getIf(u.NAMING_CONTAINER_ID),n=!!this.internalContext.getIf(u.NAMED_VIEWROOT).value,r=this.getContainerForms(t).filter((e=>this.isInExecuteOrRender(e)));this.appendViewStateToForms(r,n,e.value,t.orElse("").value)}))}fixClientWindow(){E(this.internalContext.getIf(u.APPLIED_CLIENT_WINDOW).orElse({}).value).forEach((([,e])=>{const t=this.internalContext.getIf(u.NAMING_CONTAINER_ID),n=!!this.internalContext.getIf(u.NAMED_VIEWROOT).value,r=this.getContainerForms(t).filter((e=>this.isInExecuteOrRender(e)));this.appendClientWindowToForms(r,n,e.value,t.orElse("").value)}))}updateNamedViewRootState(){let e=this.internalContext.getIf(u.NAMING_CONTAINER_ID),t=this.internalContext.getIf(u.NAMED_VIEWROOT);if(e.isPresent()&&(t.isAbsent()||!t.value)){const t=(0,u.$faces)().separatorchar;this.internalContext.assign(u.NAMED_VIEWROOT).value=!!document.getElementById(e.value)||(0,r.DQ$)(`input[name*='${(0,u.$nsp)(u.P_VIEWSTATE)}']`).filter((n=>0==n.attr("name").value.indexOf(e.value+t))).length>0}}done(){const e=a.EventData.createFromRequest(this.request.value,this.externalContext,u.SUCCESS),t=this.externalContext.getIf(u.ON_EVENT).orElseLazy((()=>this.internalContext.getIf(u.ON_EVENT).value)).orElse(u.EMPTY_FUNC).value;s.Implementation.sendEvent(e,t)}appendViewStateToForms(e,t,n,r=""){this.assignState(e,(0,u.$nsp)(u.SEL_VIEWSTATE_ELEM),t,n,r)}appendClientWindowToForms(e,t,n,r=""){this.assignState(e,(0,u.$nsp)(u.SEL_CLIENT_WINDOW_ELEM),t,n,r)}assignState(e,t,n,r,s){e.each((e=>{e.querySelectorAll(t).orElseLazy((()=>(e=>new d.HiddenInputBuilder(t).withNamingContainerId(s).withParent(e).withNamedViewRoot(n).build())(e))).val=r}))}storeForPostProcessing(e,t){this.storeForUpdate(e),this.storeForEval(t)}storeForUpdate(e){this.internalContext.assign(u.UPDATE_FORMS).value.push(e)}storeForEval(e){this.internalContext.assign(u.UPDATE_ELEMS).value.push(e)}static isViewStateNode(e){var t,n,r,s,l,o;const i=(0,u.$faces)().separatorchar;return void 0!==(null===(t=null==e?void 0:e.id)||void 0===t?void 0:t.value)&&((null===(n=null==e?void 0:e.id)||void 0===n?void 0:n.value)==(0,u.$nsp)(u.P_VIEWSTATE)||-1!=(null===(s=null===(r=null==e?void 0:e.id)||void 0===r?void 0:r.value)||void 0===s?void 0:s.indexOf([i,(0,u.$nsp)(u.P_VIEWSTATE)].join(u.EMPTY_STR)))||-1!=(null===(o=null===(l=null==e?void 0:e.id)||void 0===l?void 0:l.value)||void 0===o?void 0:o.indexOf([(0,u.$nsp)(u.P_VIEWSTATE),i].join(u.EMPTY_STR))))}static isClientWindowNode(e){var t,n,r,s,l,o;const i=(0,u.$faces)().separatorchar;return void 0!==(null===(t=null==e?void 0:e.id)||void 0===t?void 0:t.value)&&((null===(n=null==e?void 0:e.id)||void 0===n?void 0:n.value)==(0,u.$nsp)(u.P_CLIENT_WINDOW)||-1!=(null===(s=null===(r=null==e?void 0:e.id)||void 0===r?void 0:r.value)||void 0===s?void 0:s.indexOf([i,(0,u.$nsp)(u.P_CLIENT_WINDOW)].join(u.EMPTY_STR)))||-1!=(null===(o=null===(l=null==e?void 0:e.id)||void 0===l?void 0:l.value)||void 0===o?void 0:o.indexOf([(0,u.$nsp)(u.P_CLIENT_WINDOW),i].join(u.EMPTY_STR))))}triggerOnError(e){this.externalContext.getIf(u.ON_ERROR).orElseLazy((()=>this.internalContext.getIf(u.ON_ERROR).value)).orElse(u.EMPTY_FUNC).value(e)}isInExecuteOrRender(e){const t=this.externalContext.getIf((0,u.$nsp)(u.P_EXECUTE)).orElse("@none").value.split(/\s+/gi),n=this.externalContext.getIf(u.P_RENDER_OVERRIDE).orElseLazy((()=>this.externalContext.getIf((0,u.$nsp)(u.P_RENDER)).value)).orElse(u.IDENT_NONE).value.split(/\s+/gi);return[...t.concat(...n)].filter((t=>{if(-1!=[u.IDENT_ALL,u.IDENT_NONE].indexOf(t))return!0;const n=this.getNameOrIdSelector(t);return e.matchesSelector(n)||e.querySelectorAll(n).isPresent()||e.firstParent(n).isPresent()})).length>0}getContainerForms(e){return e.isPresent()?(0,r.DQ$)(this.getNameOrIdSelector(e.value)).orElseLazy((()=>r.DQ.byTagName(u.HTML_TAG_BODY))).byTagName(u.HTML_TAG_FORM,!0):r.DQ.byTagName(u.HTML_TAG_FORM)}getNameOrIdSelector(e){return`[id='${e}'], [name='${e}']`}}t.ResponseProcessor=v},944:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XhrFormData=void 0;const r=n(257),s=n(351),l=n(680);var o=n(471).ExtLang.ofAssoc;const i=n(257),a=(e,t)=>[e,t];class u extends r.Config{constructor(e,t=a,n,r){super({}),this.dataSource=e,this.paramsMapper=t,this.partialIds=r,this.isMultipartRequest=!1,this.resolveRequestType(this.dataSource,n),this.encodeSubmittableFields(this.dataSource,this.partialIds),this.applyViewState(this.dataSource)}toFormData(){return o(this.value).flatMap((([e,t])=>Array.isArray(t)?new i.Es2019Array(...t).map((t=>({key:e,value:t}))):[{key:e,value:t}])).map((({key:e,value:t})=>({key:e=this.remapKeyForNamingContainer(e),value:t}))).reduce(((e,{key:t,value:n})=>(e.append(t,n),e)),new FormData)}toString(e=s.EMPTY_STR){return(0,l.encodeFormData)(this,this.paramsMapper,e)}resolveRequestType(e,t){t&&-1==t.indexOf(s.IDENT_NONE)&&(this.isMultipartRequest=e.isMultipartCandidate(!0))}applyViewState(e){if(this.getIf((0,s.$nsp)(s.P_VIEWSTATE)).isPresent())return;let t=e.querySelectorAllDeep(`[name*='${(0,s.$nsp)(s.P_VIEWSTATE)}'`),n=t.inputValue;this.appendIf(n.isPresent(),this.remapKeyForNamingContainer(t.name.value)).value=n.value}encodeSubmittableFields(e,t=[]){const n=t.map((e=>this.remapKeyForNamingContainer(e)));(0,l.getFormInputsAsArr)(e).map(l.fixEmptyParameters).map((([e,t])=>this.paramsMapper(e,t))).filter((([e,t])=>!n.length||0==e.indexOf("@")||-1!=n.indexOf(e))).forEach((([e,t])=>this.append(e).value=t))}remapKeyForNamingContainer(e){return this.paramsMapper(e,"")[0]}}t.XhrFormData=u},229:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XhrRequest=void 0;const r=n(726),s=n(257),l=n(644),o=n(944),i=n(234),a=n(560),u=n(471),c=n(351),d=n(7);var h=u.ExtLang.failSaveExecute;const E=n(780);class v extends r.AsyncRunnable{constructor(e,t,n=c.NO_TIMEOUT,r=c.REQ_TYPE_POST,s=c.URL_ENCODED){super(),this.requestContext=e,this.internalContext=t,this.timeout=n,this.ajaxType=r,this.contentType=s,this.stopProgress=!1,this.xhrObject=new XMLHttpRequest,this.registerXhrCallbacks((e=>this.resolve(e)),(e=>this.reject(e)))}start(){let e=h,t=this.xhrObject,n=s.DQ.byId(this.internalContext.getIf(c.CTX_PARAM_SRC_FRM_ID).value),r=()=>this.requestContext.getIf(c.CTX_PARAM_REQ_PASS_THR,c.P_EXECUTE).get(c.IDENT_NONE).value.split(/\s+/gi);try{const s=r(),l=!0===this.internalContext.getIf(c.CTX_PARAM_PPS).value?s:[],i=new o.XhrFormData(n,(0,d.resoveNamingContainerMapper)(this.internalContext),s,l);this.contentType=i.isMultipartRequest?"undefined":this.contentType,this.requestContext.$nspEnabled=!1;const a=this.requestContext,u=a.getIf(c.CTX_PARAM_REQ_PASS_THR);u.$nspEnabled=!1;try{i.shallowMerge(u,!0,!0)}finally{this.requestContext.$nspEnabled=!0,u.$nspEnabled=!0}this.appendIssuingItem(i),this.responseContext=u.deepCopy;const h=this.responseContext;h.assign(c.CTX_PARAM_MF_INTERNAL).value=this.internalContext.value,h.assign(c.ON_EVENT).value=a.getIf(c.ON_EVENT).value,h.assign(c.ON_ERROR).value=a.getIf(c.ON_ERROR).value,t.open(this.ajaxType,(0,d.resolveFinalUrl)(n,i,this.ajaxType),!0),this.timeout&&(t.timeout=this.timeout),"undefined"!=this.contentType&&e((()=>t.setRequestHeader(c.CONTENT_TYPE,`${this.contentType}; charset=utf-8`))),e((()=>t.setRequestHeader(c.HEAD_FACES_REQ,c.VAL_AJAX))),e((()=>t.setRequestHeader(c.REQ_ACCEPT,c.STD_ACCEPT))),this.sendEvent(c.BEGIN),this.sendRequest(i)}catch(e){throw this.handleErrorAndClearQueue(e),e}return this}cancel(){try{this.xhrObject.abort()}catch(e){this.handleError(e)}}registerXhrCallbacks(e,t){var n,r;const s=this.xhrObject;s.onabort=()=>{this.onAbort(e,t)},s.ontimeout=()=>{this.onTimeout(e,t)},s.onload=()=>{this.onResponseReceived(e)},s.onloadend=()=>{this.onResponseProcessed(this.xhrObject,e)},(null==s?void 0:s.upload)&&(null===(r=(n=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_PREINIT)).value)||void 0===r||r.call(n,s.upload),s.upload.addEventListener("progress",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_ON_PROGRESS)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("load",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_LOAD)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("loadstart",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_LOADSTART)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("loadend",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_LOADEND)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("abort",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_ABORT)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("timeout",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_TIMEOUT)).value)||void 0===n||n.call(t,s.upload,e)})),s.upload.addEventListener("error",(e=>{var t,n;null===(n=(t=this.internalContext.getIf(c.CTX_PARAM_UPLOAD_ERROR)).value)||void 0===n||n.call(t,s.upload,e)}))),s.onerror=e=>{if(this.isCancelledResponse(this.xhrObject))return this.stopProgress=!0,void t();this.stopProgress||this.handleError(e)}}isCancelledResponse(e){return 0===(null==e?void 0:e.status)&&4===(null==e?void 0:e.readyState)&&""===(null==e?void 0:e.responseText)&&null===(null==e?void 0:e.responseXML)}onAbort(e,t){this.handleHttpError(t)}onTimeout(e,t){this.sendEvent(c.STATE_EVT_TIMEOUT),this.handleHttpError(e)}onResponseReceived(e){var t;this.sendEvent(c.COMPLETE),this.processRequestErrors(e)||(0,c.$faces)().ajax.response(this.xhrObject,null!==(t=this.responseContext.value)&&void 0!==t?t:{})}processRequestErrors(e){var t,n,r;const l=new s.XMLQuery(null===(t=this.xhrObject)||void 0===t?void 0:t.responseXML),o=null!==(r=null===(n=this.xhrObject)||void 0===n?void 0:n.status)&&void 0!==r?r:-1;if(l.isXMLParserError()){const t="Invalid Response",n="The response xml is invalid";return this.handleGenericResponseError(t,n,c.MALFORMEDXML,e),!0}if(l.isAbsent()){const t="Empty Response",n="The response has provided no data";return this.handleGenericResponseError(t,n,c.EMPTY_RESPONSE,e),!0}return(o>=300||o<200)&&(this.handleHttpError(e),!0)}handleGenericResponseError(e,t,n,r){var s,l,o,a;const u=new i.ErrorData(this.internalContext.getIf(c.CTX_PARAM_SRC_CTL_ID).value,e,t,null!==(l=null===(s=this.xhrObject)||void 0===s?void 0:s.responseText)&&void 0!==l?l:"",null!==(a=null===(o=this.xhrObject)||void 0===o?void 0:o.responseXML)&&void 0!==a?a:null,this.xhrObject.status,n);this.finalizeError(u,r)}handleHttpError(e,t="Generic HTTP Serror"){var n,r,s,l,o,a;this.stopProgress=!0;const u=new i.ErrorData(this.internalContext.getIf(c.CTX_PARAM_SRC_CTL_ID).value,c.HTTP_ERROR,t,null!==(r=null===(n=this.xhrObject)||void 0===n?void 0:n.responseText)&&void 0!==r?r:"",null!==(l=null===(s=this.xhrObject)||void 0===s?void 0:s.responseXML)&&void 0!==l?l:null,null!==(a=null===(o=this.xhrObject)||void 0===o?void 0:o.status)&&void 0!==a?a:-1,c.HTTP_ERROR);this.finalizeError(u,e)}finalizeError(e,t){try{this.handleError(e,!0)}finally{t(e),this.stopProgress=!0}}onResponseProcessed(e,t){this.stopProgress||t(e)}sendRequest(e){const t=this.ajaxType!=c.REQ_TYPE_GET;e.isMultipartRequest?this.xhrObject.send(t?e.toFormData():null):this.xhrObject.send(t?e.toString():null)}sendEvent(e){var t;const n=a.EventData.createFromRequest(this.xhrObject,this.requestContext,e);try{let e=(0,d.resolveHandlerFunc)(this.requestContext,this.responseContext,c.ON_EVENT);l.Implementation.sendEvent(n,e)}catch(e){throw e.source=null!==(t=null==e?void 0:e.source)&&void 0!==t?t:this.requestContext.getIf(c.SOURCE).value,this.handleErrorAndClearQueue(e),e}}handleErrorAndClearQueue(e,t=!1){this.handleError(e,t),this.reject(e)}handleError(e,t=!1){var n;const r=t?i.ErrorData.fromHttpConnection(e.source,e.type,null!==(n=e.message)&&void 0!==n?n:c.EMPTY_STR,e.responseText,e.responseXML,e.responseCode,e.status):i.ErrorData.fromClient(e),s=(0,d.resolveHandlerFunc)(this.requestContext,this.responseContext,c.ON_ERROR);l.Implementation.sendError(r,s)}appendIssuingItem(e){var t,n;const r=this.internalContext.getIf(c.CTX_PARAM_SRC_CTL_ID).value,l=null!==(n=null===(t=e.getIf((0,c.$nsp)(c.P_BEHAVIOR_EVENT)).value)||void 0===t?void 0:t[0])&&void 0!==n?n:null,o=!!l&&"click"!=l;if(r&&e.getIf(r).isAbsent()&&!o){const t=s.DQ.byId(r),n=t.inputValue,l=new E.ExtConfig({}),o=t.type.orElse("").value.toLowerCase();if(!(o!=v.TYPE_CHECKBOX&&o!=v.TYPE_RADIO||t.checked))return;o==v.TYPE_CHECKBOX||o==v.TYPE_RADIO?l.assign(r).value=n.orElse(!0).value:n.isPresent()&&(l.assign(r).value=n.value),e.shallowMerge(l,!0,!0)}}}t.XhrRequest=v,v.TYPE_CHECKBOX="checkbox",v.TYPE_RADIO="radio"},19:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.oam=void 0;const r=n(257),s=n(471);var l;!function(e){var t=s.ExtLang.ofAssoc;e.setHiddenInput=function(e,t,n){r.DQ.byId(document.forms[e]).each((e=>{const s=e.querySelectorAll(`input[type='hidden'][name='${t}']`);if(s.isPresent())s.inputValue.value=n;else{const s=r.DQ.fromMarkup(``);s.inputValue.value=n,s.appendTo(e)}}))},e.clearHiddenInput=function(e,t){var n,s,l;let o=null===(l=null===(s=null===(n=document.forms)||void 0===n?void 0:n[e])||void 0===s?void 0:s.elements)||void 0===l?void 0:l[t];o&&r.DQ.byId(o).delete()},e.submitForm=function(e,n=null,s=null,l={}){var o,i,a,u,c,d;l=l||{};let h="clearFormHiddenParams_"+e.replace(/-/g,"$:").replace(/:/g,"_");null===(o=null===window||void 0===window?void 0:window[h])||void 0===o||o.call(window,e),(null===(u=null===(a=null===(i=null===window||void 0===window?void 0:window.myfaces)||void 0===i?void 0:i.core)||void 0===a?void 0:a.config)||void 0===u?void 0:u.autoScroll)&&(null===window||void 0===window?void 0:window.getScrolling)&&myfaces.oam.setHiddenInput(e,"autoScroll",null===window||void 0===window?void 0:window.getScrolling());let E=Array.isArray(l)?[...l]:t(l);return E.forEach((([t,n])=>myfaces.oam.setHiddenInput(e,t,n))),myfaces.oam.setHiddenInput(e,`${e}:_idcl`,null!=n?n:""),r.DQ.byId(null!==(d=null===(c=document.forms)||void 0===c?void 0:c[e])&&void 0!==d?d:document.getElementById(e)).each((t=>{var n;const r=t.getAsElem(0).value,l=t.getAsElem(0).value.getAttribute("target");"null"!=s&&s&&t.getAsElem(0).value.setAttribute("target",s);const o=null===(n=null==r?void 0:r.onsubmit)||void 0===n?void 0:n.call(r,null);try{(o||void 0===o)&&r.submit()}catch(e){null===window||void 0===window||window.console.error(e)}finally{null==l||"null"==l?t.getAsElem(0).value.removeAttribute("target"):t.getAsElem(0).value.setAttribute("target",l),E.forEach((([t,n])=>{myfaces.oam.clearHiddenInput(e,t)})),myfaces.oam.clearHiddenInput(e,`${e}:_idcl`)}})),!1}}(l||(t.oam=l={}))}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var l=t[r]={exports:{}};return e[r].call(l.exports,l,l.exports,n),l.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var r={};(()=>{var e,t,s,l=r;if(Object.defineProperty(l,"__esModule",{value:!0}),l.myfaces=l.faces=void 0,!window.faces){const t=n(973).J_;window.faces=null!==(e=null===window||void 0===window?void 0:window.faces)&&void 0!==e?e:t}if(!(null===(t=null===window||void 0===window?void 0:window.myfaces)||void 0===t?void 0:t.ab)){const e=n(973).$A;window.myfaces=null!==(s=null===window||void 0===window?void 0:window.myfaces)&&void 0!==s?s:{},Object.keys(e).forEach((t=>{var n,r;return window.myfaces[t]=null!==(r=null===(n=window.myfaces)||void 0===n?void 0:n[t])&&void 0!==r?r:e[t]}))}l.faces=window.faces,l.myfaces=window.myfaces})();var s=window;for(var l in r)s[l]=r[l];r.__esModule&&Object.defineProperty(s,"__esModule",{value:!0})})(); //# sourceMappingURL=faces.js.map \ No newline at end of file diff --git a/tobago-theme/tobago-theme-standard/src/main/js/faces.js.map b/tobago-theme/tobago-theme-standard/src/main/js/faces.js.map index f72d29d57b..c0482dc8e6 100644 --- a/tobago-theme/tobago-theme-standard/src/main/js/faces.js.map +++ b/tobago-theme/tobago-theme-standard/src/main/js/faces.js.map @@ -1 +1 @@ -{"version":3,"file":"faces.js","mappings":"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","sources":["webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/AssocArray.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/Config.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/DomQuery.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/Es2019Array.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/Global.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/Lang.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/Monad.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/SourcesCollectors.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/XmlQuery.ts","webpack://jsf.js_next_gen/./node_modules/mona-dish/src/main/typescript/index_core.ts","webpack://jsf.js_next_gen/./src/main/typescript/api/_api.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/AjaxImpl.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/PushImpl.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/core/Const.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/core/ImplTypes.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/i18n/Messages.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/util/Assertions.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/util/AsyncRunnable.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/util/ExtDomQuery.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/util/FileUtils.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/util/HiddenInputBuilder.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/util/Lang.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/util/XhrQueueController.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/xhrCore/ErrorData.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/xhrCore/EventData.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/xhrCore/RequestDataResolver.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/xhrCore/ResonseDataResolver.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/xhrCore/Response.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/xhrCore/ResponseProcessor.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/xhrCore/XhrFormData.ts","webpack://jsf.js_next_gen/./src/main/typescript/impl/xhrCore/XhrRequest.ts","webpack://jsf.js_next_gen/./src/main/typescript/myfaces/OamSubmit.ts","webpack://jsf.js_next_gen/webpack/bootstrap","webpack://jsf.js_next_gen/webpack/runtime/global","webpack://jsf.js_next_gen/./src/main/typescript/api/faces.ts"],"sourcesContent":["/*!\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * various helpers to deal with associative\n * arrays. If someone feels uncomfortable using\n * The config system, this is similar!\n */\nimport {IValueHolder} from \"./Monad\";\nimport {Es2019Array} from \"./Es2019Array\";\n\n/**\n * A nop as assign functionality (aka ignore assign)\n */\nclass IgnoreAssign implements IValueHolder {\n constructor(private parent: any) {}\n\n set value(value: any | Array) {\n }\n get value(): any | Array {\n return this.parent;\n }\n};\n\n/**\n * uses the known pattern from config\n * assign(target, key1, key2, key3).value = value;\n * @param target\n * @param keys\n */\nexport function assign(target: {[key: string]: any}, ...accessPath: string[]): IValueHolder {\n if (accessPath.length < 1) {\n return new IgnoreAssign(target);\n }\n const lastPathItem = buildPath(target, ...accessPath);\n let assigner: IValueHolder = new (class {\n set value(value: T | Array) {\n lastPathItem.target[lastPathItem.key] = value;\n }\n\n get value(): T | Array {\n return lastPathItem.target[lastPathItem.key];\n }\n })();\n return assigner;\n}\n\n\nexport function append(target: {[key: string]: any}, ...accessPath: string[]): IValueHolder {\n if (accessPath.length < 1) {\n return new IgnoreAssign(target);\n }\n const lastPathItem = buildPath(target, ...accessPath);\n let appender: IValueHolder = new (class {\n set value(value: T | Array) {\n if(!Array.isArray(value)) {\n value = [value];\n }\n if(!lastPathItem.target[lastPathItem.key]) {\n lastPathItem.target[lastPathItem.key] = value\n } else {\n if(!Array.isArray(lastPathItem.target[lastPathItem.key])) {\n lastPathItem.target[lastPathItem.key] = [lastPathItem.target[lastPathItem.key]];\n }\n lastPathItem.target[lastPathItem.key].push(...value);\n }\n }\n })();\n return appender;\n}\n\n/**\n * uses the known pattern from config\n * assign(target, key1, key2, key3).value = value;\n * @param target\n * @param keys\n */\nexport function assignIf(condition: boolean, target: {[key: string]: any}, ...accessPath: string[]): IValueHolder {\n if ((!condition) || accessPath.length < 1) {\n return new IgnoreAssign(target);\n }\n return assign(target, ...accessPath);\n}\n\n\n/**\n * uses the known pattern from config\n * assign(target, key1, key2, key3).value = value;\n * @param target\n * @param keys\n */\nexport function appendIf(condition: boolean, target: {[key: string]: any}, ...accessPath: string[]): IValueHolder {\n if ((!condition) || accessPath.length < 1) {\n return new IgnoreAssign(target);\n }\n return append(target, ...accessPath);\n}\n\nexport function resolve(target, ...accessPath: string[]): T | null {\n let ret = null;\n accessPath = flattenAccessPath(accessPath);\n let currPtr = target;\n for(let cnt = 0; cnt < accessPath.length; cnt++) {\n let accessKeyIndex: number | string = accessPath[cnt];\n accessKeyIndex = arrayIndex(accessKeyIndex) != -1 ? arrayIndex(accessKeyIndex) : accessKeyIndex;\n currPtr = currPtr?.[accessKeyIndex];\n if('undefined' == typeof currPtr) {\n return null;\n }\n ret = currPtr;\n }\n return currPtr;\n}\n\n\nfunction keyVal(key: string): string {\n let start = key.indexOf(\"[\");\n\n if (start >= 0) {\n return key.substring(0, start);\n } else {\n return key;\n }\n}\n\nfunction arrayIndex(key: string): number {\n let start = key.indexOf(\"[\");\n let end = key.indexOf(\"]\");\n if (start >= 0 && end > 0 && start < end) {\n return parseInt(key.substring(start + 1, end));\n } else {\n return -1;\n }\n}\n\nfunction isArrayPos(currKey: string, arrPos: number): boolean {\n return currKey === \"\" && arrPos >= 0;\n}\n\nfunction isNoArray(arrPos: number): boolean {\n return arrPos == -1;\n}\n\nfunction alloc(arr: Array, length: number, defaultVal = {}) {\n let toAdd = [];\n toAdd.length = length;\n toAdd[length - 1] = defaultVal;\n arr.push(...toAdd);\n}\n\n\nfunction flattenAccessPath(accessPath: string[]) {\n return new Es2019Array(...accessPath).flatMap(path => path.split(\"[\"))\n .map(path => path.indexOf(\"]\") != -1 ? \"[\" + path : path)\n .filter(path => path != \"\");\n}\n\n/**\n * builds up a path, only done if no data is present!\n * @param target\n * @param accessPath\n * @returns the last assignable entry\n */\nexport function buildPath(target, ...accessPath: string[]) {\n accessPath = flattenAccessPath(accessPath);\n //we now have a pattern of having the array accessors always in separate items\n let parentPtr = target;\n let parKeyArrPos = null;\n let currKey = null;\n let arrPos = -1;\n\n for (let cnt = 0; cnt < accessPath.length; cnt++) {\n currKey = keyVal(accessPath[cnt]);\n arrPos = arrayIndex(accessPath[cnt]);\n //it now is either key or arrPos\n if (arrPos != -1) {\n //case root(array)[5] -> root must be array and allocate 5 elements\n //case root.item[5] root.item must be array and of 5 elements\n if(!Array.isArray(parentPtr)) {\n throw Error(\"Associative array referenced as index array in path reference\");\n }\n\n //we need to look ahead for proper allocation\n //not end reached\n let nextArrPos = -1;\n if(cnt < accessPath.length - 1) {\n nextArrPos = arrayIndex(accessPath[cnt + 1])\n }\n let dataPresent = 'undefined' != typeof parentPtr?.[arrPos];\n //no data present check here is needed, because alloc only reserves if not present\n alloc(parentPtr, arrPos + 1, nextArrPos != -1 ?[]: {});\n parKeyArrPos = arrPos;\n //we now go to the reserved element\n if(cnt == accessPath.length - 1) {\n parentPtr[arrPos] = (dataPresent) ? parentPtr[arrPos] : null;\n } else {\n parentPtr = parentPtr[arrPos];\n }\n } else {\n if(Array.isArray(parentPtr)) {\n throw Error(\"Index array referenced as associative array in path reference\");\n }\n //again look ahead whether the next value is an array or assoc array\n let nextArrPos = -1;\n if(cnt < accessPath.length - 1) {\n nextArrPos = arrayIndex(accessPath[cnt + 1])\n }\n parKeyArrPos = currKey;\n let dataPresent = 'undefined' != typeof parentPtr?.[currKey];\n if(cnt == accessPath.length - 1) {\n if(!dataPresent) {\n parentPtr[currKey] = null;\n }\n } else {\n if(!dataPresent) {\n parentPtr[currKey] = nextArrPos == -1 ? {} : [];\n }\n parentPtr = parentPtr[currKey];\n }\n }\n }\n\n return {target: parentPtr, key: parKeyArrPos};\n\n}\n\nexport function deepCopy(fromAssoc: {[key: string]: any}): {[key: string]: any} {\n return JSON.parse(JSON.stringify(fromAssoc));\n}\n\n/**\n * simple left to right merge\n *\n * @param assocArrays\n */\nexport function simpleShallowMerge(...assocArrays) {\n return shallowMerge(true, false, ...assocArrays);\n}\n\nfunction _appendWithOverwrite(withAppend: boolean, target: { [p: string]: any }, key, arr, toAssign) {\n if (!withAppend) {\n target[key] = arr[key];\n } else {\n //overwrite means in this case, no double entries!\n //we do not a deep compare for now a single value compare suffices\n if ('undefined' == typeof target?.[key]) {\n target[key] = toAssign\n } else if (!Array.isArray(target[key])) {\n\n let oldVal = target[key];\n let newVals = [];\n //TODO maybe deep deep compare here, but on the other hand it is\n //shallow\n toAssign.forEach(item => {\n if (oldVal != item) {\n newVals.push(item);\n }\n });\n target[key] = new Es2019Array(...[]);\n target[key].push(oldVal);\n target[key].push(...newVals);\n } else {\n let oldVal = target[key];\n let newVals = [];\n //TODO deep compare here\n toAssign.forEach(item => {\n if (oldVal.indexOf(item) == -1) {\n newVals.push(item);\n }\n });\n\n target[key].push(...newVals);\n }\n }\n}\n\nfunction _appendWithoutOverwrite(withAppend: boolean, target: { [p: string]: any }, key, arr, toAssign) {\n if (!withAppend) {\n return;\n } else {\n //overwrite means in this case, no double entries!\n //we do not a deep compare for now a single value compare suffices\n if ('undefined' == typeof target?.[key]) {\n target[key] = toAssign\n } else if (!Array.isArray(target[key])) {\n let oldVal = target[key];\n target[key] = new Es2019Array(...[]);\n target[key].push(oldVal);\n target[key].push(...toAssign);\n } else {\n target[key].push(...toAssign);\n }\n }\n}\n\n/**\n * Shallow merge as in config, but on raw associative arrays\n *\n * @param overwrite overwrite existing keys, if they exist with their subtrees\n * @param withAppend if a key exist append the values or drop them\n * Combination overwrite withappend filters doubles out of merged arrays\n * @param assocArrays array of assoc arres reduced right to left\n */\nexport function shallowMerge(overwrite = true, withAppend = false, ...assocArrays) {\n let target: {[key: string]: any} = {};\n new Es2019Array(...assocArrays).map(arr => {\n return {arr, keys: Object.keys(arr)};\n }).forEach(({arr, keys}) => {\n keys.forEach(key => {\n let toAssign = arr[key];\n if(!Array.isArray(toAssign) && withAppend) {\n toAssign = new Es2019Array(...[toAssign]);\n }\n if(overwrite || !target?.[key]) {\n _appendWithOverwrite(withAppend, target, key, arr, toAssign);\n } else if(!overwrite && target?.[key]) {\n _appendWithoutOverwrite(withAppend, target, key, arr, toAssign);\n }\n\n\n\n })\n });\n return target;\n}\n\n//TODO test this, slightly altered from https://medium.com/@pancemarko/deep-equality-in-javascript-determining-if-two-objects-are-equal-bf98cf47e934\n//he overlooked some optimizations and a shortcut at typeof!\nexport function deepEqual(obj1, obj2) {\n if(obj1 == obj2) {\n return false;\n }\n if(typeof obj1 != typeof obj2) {\n return false;\n }\n if(Array.isArray(obj1) && Array.isArray(obj2)) {\n if(obj1.length != obj2.length) {\n return;\n }\n //arrays must be equal, order as well, there is no way around it\n //this is the major limitation we have\n return obj1.every((item, cnt) => deepEqual(item, obj2[cnt]));\n }\n //string number and other primitives are filtered out here\n if(\"object\" == typeof obj1 && \"object\" == typeof obj2) {\n let keys1 = Object.keys(obj1);\n let keys2 = Object.keys(obj2);\n if(keys1.length != keys2.length) {\n return false;\n }\n return keys1.every(key => keys2.indexOf(key) != -1) &&\n keys1.every(key => deepEqual(obj1[key], obj2[key]));\n }\n return false;\n //done here no match found\n}\n\n","import {Es2019Array} from \"./Es2019Array\";\nimport {IValueHolder, Optional, ValueEmbedder} from \"./Monad\";\nimport {Lang} from \"./Lang\";\nimport objAssign = Lang.objAssign;\nimport {append, appendIf, assign, assignIf, resolve, shallowMerge} from \"./AssocArray\";\n\n/**\n * specialized value embedder\n * for our Configuration\n */\nclass ConfigEntry extends ValueEmbedder {\n\n /*default value for absent*/\n static absent = ConfigEntry.fromNullable(null);\n\n /**\n * arrayed value positions\n */\n arrPos: number;\n\n constructor(rootElem: any, key: any, arrPos?: number) {\n super(rootElem, key);\n\n this.arrPos = arrPos ?? -1;\n }\n\n get value() {\n if (this.key == \"\" && this.arrPos >= 0) {\n return this._value[this.arrPos];\n } else if (this.key && this.arrPos >= 0) {\n return this._value[this.key][this.arrPos];\n }\n return this._value[this.key];\n }\n\n set value(val: T) {\n if (this.key == \"\" && this.arrPos >= 0) {\n this._value[this.arrPos] = val;\n return;\n } else if (this.key && this.arrPos >= 0) {\n this._value[this.key][this.arrPos] = val;\n return;\n }\n this._value[this.key] = val;\n }\n}\n\nexport const CONFIG_VALUE = \"__END_POINT__\";\nexport const CONFIG_ANY = \"__ANY_POINT__\";\nexport type ConfigDef = { [key: string]: any };\n\n/**\n * Config, basically an optional wrapper for a json structure\n * (not Side - effect free, since we can alter the internal config state\n * without generating a new config), not sure if we should make it side - effect free\n * since this would swallow a lot of performance and ram\n */\nexport class Config extends Optional {\n constructor(root: any, private configDef ?: ConfigDef) {\n super(root);\n }\n\n /**\n * shallow copy getter, copies only the first level, references the deeper nodes\n * in a shared manner\n */\n get shallowCopy(): Config {\n return this.shallowCopy$();\n }\n\n protected shallowCopy$(): Config {\n let ret = new Config({});\n ret.shallowMerge(this.value);\n return ret;\n }\n\n /**\n * deep copy, copies all config nodes\n */\n get deepCopy(): Config {\n return this.deepCopy$();\n }\n\n protected deepCopy$(): Config {\n return new Config(objAssign({}, this.value));\n }\n\n /**\n * creates a config from an initial value or null\n * @param value\n */\n static fromNullable(value?: T | null): Config {\n return new Config(value);\n }\n\n /**\n * simple merge for the root configs\n */\n shallowMerge(other: Config, overwrite = true, withAppend = false) {\n //shallow merge must be mutable so we have to remap\n let newThis = shallowMerge(overwrite, withAppend, this.value, other.value);\n if (Array.isArray(this._value)) {\n this._value.length = 0;\n this._value.push(...(newThis as any));\n } else {\n Object.getOwnPropertyNames(this._value).forEach(key => delete this._value[key]);\n Object.getOwnPropertyNames(newThis).forEach(key => this._value[key] = newThis[key]);\n }\n }\n\n /**\n * assigns a single value as array, or appends it\n * to an existing value mapping a single value to array\n *\n *\n * usage myConfig.append(\"foobaz\").value = \"newValue\"\n * myConfig.append(\"foobaz\").value = \"newValue2\"\n *\n * resulting in myConfig.foobaz == [\"newValue, newValue2\"]\n *\n * @param {string[]} accessPath\n */\n append(...accessPath: string[]): IValueHolder {\n return append(this._value, ...accessPath);\n }\n\n /**\n * appends to an existing entry (or extends into an array and appends)\n * if the condition is met\n * @param {boolean} condition\n * @param {string[]} accessPath\n */\n appendIf(condition: boolean, ...accessPath: string[]): IValueHolder {\n return appendIf(condition, this._value, ...accessPath);\n }\n\n /**\n * assigns a new value on the given access path\n * @param accessPath\n */\n assign(...accessPath): IValueHolder {\n return assign(this.value, ...accessPath);\n }\n\n\n /**\n * assign a value if the condition is set to true, otherwise skip it\n *\n * @param condition the condition, the access accessPath into the config\n * @param accessPath\n */\n assignIf(condition: boolean, ...accessPath: Array): IValueHolder {\n return assignIf(condition, this._value, ...accessPath);\n }\n\n /**\n * get if the access path is present (get is reserved as getter with a default, on the current path)\n * TODO will be renamed to something more meaningful and deprecated, the name is ambiguous\n * @param accessPath the access path\n */\n getIf(...accessPath: Array): Config {\n this.assertAccessPath(...accessPath);\n return this.getClass().fromNullable(resolve(this.value, ...accessPath));\n }\n\n\n /**\n * gets the current node and if none is present returns a config with a default value\n * @param defaultVal\n */\n get(defaultVal: any): Config {\n return this.getClass().fromNullable(super.get(defaultVal).value);\n }\n\n //empties the current config entry\n delete(key: string): Config {\n if (key in this.value) {\n delete this.value[key];\n }\n return this;\n }\n\n /**\n * converts the entire config into a json object\n */\n toJson(): any {\n return JSON.stringify(this.value);\n }\n\n\n protected getClass(): any {\n return Config;\n }\n\n private setVal(val: any) {\n this._value = val;\n }\n\n\n /**\n * asserts the access path for a semi typed access\n * @param accessPath\n * @private\n */\n private assertAccessPath(...accessPath: Array) {\n accessPath = this.preprocessKeys(...accessPath);\n if (!this.configDef) {\n //untyped\n return;\n }\n\n const ERR_ACCESS_PATH = \"Access Path to config invalid\";\n let currAccessPos: any = Optional.fromNullable(Object.keys(this.configDef).map(key => {\n let ret = {};\n ret[key] = this.configDef[key];\n return ret;\n }));\n\n for (let cnt = 0; cnt < accessPath.length; cnt++) {\n let currKey = this.keyVal(accessPath[cnt]);\n let arrPos: any = this.arrayIndex(accessPath[cnt]);\n\n //key index\n if (this.isArray(arrPos)) {\n if (currKey != \"\") {\n currAccessPos = Array.isArray(currAccessPos.value) ?\n Optional.fromNullable(new Es2019Array(...currAccessPos.value)\n .find(item => {\n return !!(item?.[currKey] ?? false)\n })?.[currKey]?.[arrPos]) :\n Optional.fromNullable(currAccessPos.value?.[currKey]?.[arrPos] ?? null);\n\n } else {\n currAccessPos = (Array.isArray(currAccessPos.value)) ?\n Optional.fromNullable(currAccessPos.value?.[arrPos]) : Optional.absent;\n }\n //we noe store either the current array or the filtered look ahead to go further\n } else {\n //we now have an array and go further with a singular key\n currAccessPos = (Array.isArray(currAccessPos.value)) ? Optional.fromNullable(new Es2019Array(...currAccessPos.value)\n .find(item => {\n return !!(item?.[currKey] ?? false);\n })?.[currKey]) :\n Optional.fromNullable(currAccessPos.value?.[currKey] ?? null);\n }\n if (!currAccessPos.isPresent()) {\n throw Error(ERR_ACCESS_PATH)\n }\n if (currAccessPos.value == CONFIG_ANY) {\n return;\n }\n }\n }\n\n private isNoArray(arrPos: number) {\n return arrPos == -1;\n }\n\n private isArray(arrPos: number) {\n return !this.isNoArray(arrPos);\n }\n\n}","/*!\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http:// www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {IValueHolder, Optional, ValueEmbedder} from \"./Monad\";\nimport {XMLQuery} from \"./XmlQuery\";\n\nimport {ICollector, IStreamDataSource, ITERATION_STATUS} from \"./SourcesCollectors\";\nimport {Lang} from \"./Lang\";\nimport {_global$} from \"./Global\";\nimport {Es2019Array} from \"./Es2019Array\";\nimport trim = Lang.trim;\n\nimport isString = Lang.isString;\nimport eqi = Lang.equalsIgnoreCase;\nimport objToArray = Lang.objToArray;\nimport {append, assign, simpleShallowMerge} from \"./AssocArray\";\nimport {IDomQuery} from \"./IDomQuery\";\n\ndeclare var ownerDocument: any;\n\n/**\n * in order to poss custom parameters we need to extend the mutation observer init\n */\nexport interface WAIT_OPTS extends MutationObserverInit {\n timeout?: number;\n /**\n * interval on non legacy browsers\n */\n interval?: number;\n}\n\n\nclass NonceValueEmbedder extends ValueEmbedder {\n\n constructor(private rootElems: HTMLElement[]) {\n super(rootElems?.[0], \"nonce\");\n }\n\n isAbsent(): boolean {\n const value = this.value;\n return 'undefined' == typeof value || '' == value;\n }\n\n get value(): string {\n return (this?.rootElems?.[0] as HTMLElement)?.nonce ?? (this?.rootElems?.[0] as HTMLElement)?.getAttribute(\"nonce\")\n }\n\n\n set value(newVal: string) {\n if (!this?.rootElems?.length) {\n return;\n }\n\n this.rootElems.forEach((rootElem: HTMLElement) => {\n if(\"undefined\" != typeof rootElem?.nonce) {\n rootElem.nonce = newVal\n } else {\n rootElem.setAttribute(\"nonce\", newVal);\n }\n });\n\n }\n}\n\n/**\n *\n * // - submit checkboxes and radio inputs only if checked\n if ((tagName != \"select\" && elemType != \"button\"\n && elemType != \"reset\" && elemType != \"submit\" && elemType != \"image\")\n && ((elemType != \"checkbox\" && elemType != \"radio\"\n */\n\nenum ALLOWED_SUBMITTABLE_ELEMENTS {\n SELECT = \"select\",\n BUTTON = \"button\",\n SUBMIT = \"submit\",\n RESET = \"reset\",\n IMAGE = \"image\",\n RADIO = \"radio\",\n CHECKBOX = \"checkbox\"\n\n}\n\n/**\n * helper to fix a common problem that a system has to wait, until a certain condition is reached.\n * Depending on the browser this uses either the Mutation Observer or a semi compatible interval as fallback.\n * @param root the root DomQuery element to start from\n * @param condition the condition lambda to be fulfilled\n * @param options options for the search\n */\nfunction waitUntilDom(root: DomQuery, condition: (element: DomQuery) => boolean, options: WAIT_OPTS = {\n attributes: true,\n childList: true,\n subtree: true,\n timeout: 500,\n interval: 100\n}): Promise {\n return new Promise((success, error) => {\n let observer: MutationObserver = null;\n const MUT_ERROR = new Error(\"Mutation observer timeout\");\n\n // we do the same but for now ignore the options on the dom query\n // we cannot use absent here, because the condition might search for an absent element\n function findElement(root: DomQuery, condition: (element: DomQuery) => boolean): DomQuery | null {\n let found = null;\n if (!!condition(root)) {\n return root;\n }\n if (options.childList) {\n found = (condition(root)) ? root : root.childNodes.filter(item => condition(item)).first().value.value;\n } else if (options.subtree) {\n found = (condition(root)) ? root : root.querySelectorAll(\" * \").filter(item => condition(item)).first().value.value;\n } else {\n found = (condition(root)) ? root : null;\n }\n return found;\n }\n\n let foundElement = root;\n if (!!(foundElement = findElement(foundElement, condition))) {\n success(new DomQuery(foundElement));\n return;\n }\n\n if ('undefined' != typeof MutationObserver) {\n const mutTimeout = setTimeout(() => {\n observer.disconnect();\n return error(MUT_ERROR);\n }, options.timeout);\n\n const callback: MutationCallback = (mutationList: MutationRecord[]) => {\n const found = new DomQuery(mutationList.map((mut) => mut.target)).filter(item => condition(item)).first();\n if (found.isPresent()) {\n clearTimeout(mutTimeout);\n observer.disconnect();\n success(new DomQuery(found || root));\n }\n }\n observer = new MutationObserver(callback);\n\n // browsers might ignore it, but we cannot break the api in the case\n // hence no timeout is passed\n let observableOpts = {...options};\n delete observableOpts.timeout;\n root.eachElem(item => {\n observer.observe(item, observableOpts)\n })\n } else { // fallback for legacy browsers without mutation observer\n\n let interval = setInterval(() => {\n let found = findElement(root, condition);\n if (!!found) {\n if (timeout) {\n clearTimeout(timeout);\n clearInterval(interval);\n interval = null;\n }\n success(new DomQuery(found || root));\n }\n }, options.interval);\n let timeout = setTimeout(() => {\n if (interval) {\n clearInterval(interval);\n error(MUT_ERROR);\n }\n }, options.timeout)\n\n }\n });\n}\n\nexport class ElementAttribute extends ValueEmbedder {\n\n constructor(private element: DomQuery, private name: string, private defaultVal: string = null) {\n super(element, name);\n }\n\n get value(): string {\n let val: Element[] = this.element.get(0).orElse(...[]).values;\n if (!val.length) {\n return this.defaultVal;\n }\n return val[0].getAttribute(this.name);\n }\n\n set value(value: string) {\n let val: Element[] = this.element.get(0).orElse(...[]).values;\n for (let cnt = 0; cnt < val.length; cnt++) {\n val[cnt].setAttribute(this.name, value);\n }\n val[0].setAttribute(this.name, value);\n }\n\n protected getClass(): any {\n return ElementAttribute;\n }\n\n static fromNullable(value?: any, valueKey: string = \"value\"): ElementAttribute {\n return new ElementAttribute(value, valueKey);\n }\n\n}\n\nexport class Style extends ValueEmbedder {\n\n constructor(private element: DomQuery, private name: string, private defaultVal: string = null) {\n super(element, name);\n }\n\n get value(): string {\n let val: Element[] = this.element.values;\n if (!val.length) {\n return this.defaultVal;\n }\n return (val[0] as HTMLElement).style[this.name];\n }\n\n set value(value: string) {\n let val: HTMLElement[] = this.element.values as HTMLElement[];\n for (let cnt = 0; cnt < val.length; cnt++) {\n val[cnt].style[this.name] = value;\n }\n }\n\n protected getClass(): any {\n return ElementAttribute;\n }\n\n static fromNullable(value?: any, valueKey: string = \"value\"): ElementAttribute {\n return new ElementAttribute(value, valueKey);\n }\n\n}\n\n/**\n * small helper for the specialized jsf case\n * @constructor\n */\nconst DEFAULT_WHITELIST = () => {\n return true;\n};\n\n\n\n/**\n * Monadic DomNode representation, ala jquery\n * This is a thin wrapper over querySelectorAll\n * to get slim monadic support\n * to reduce implementation code on the users side.\n * This is vital for frameworks which want to rely on\n * plain dom but still do not want to lose\n * the reduced code footprint of querying dom trees and traversing\n * by using functional patterns.\n *\n * Also, a few convenience methods are added to reduce\n * the code footprint of standard dom processing\n * operations like eval\n *\n * in most older systems\n * Note parts of this code still stem from the Dom.js I have written 10 years\n * ago, those parts look a bit ancient and will be replaced over time.\n *\n */\nexport class DomQuery implements IDomQuery, IStreamDataSource, Iterable {\n\n static absent = new DomQuery();\n\n /**\n * reference to the environmental global object\n */\n static global = _global$;\n\n private rootNode: Array = [];\n\n pos = -1;\n\n constructor(...rootNode: Array | string>) {\n\n if (Optional.fromNullable(rootNode).isAbsent() || !rootNode.length) {\n return;\n } else {\n // we need to flatten out the arrays\n\n for (let cnt = 0; cnt < rootNode.length; cnt++) {\n if (!rootNode[cnt]) {\n // we skip possible null entries which can happen in\n // certain corner conditions due to the constructor re-wrapping single elements into arrays.\n } else if (isString(rootNode[cnt])) {\n let foundElement = DomQuery.querySelectorAll(rootNode[cnt]);\n if (!foundElement.isAbsent()) {\n rootNode.push(...foundElement.values)\n }\n } else if (rootNode[cnt] instanceof DomQuery) {\n this.rootNode.push(...(rootNode[cnt]).values);\n } else {\n this.rootNode.push(rootNode[cnt]);\n }\n }\n }\n }\n\n\n /**\n * returns the first element\n */\n get value(): Optional {\n return this.getAsElem(0);\n }\n\n get values(): Element[] {\n return this.allElems();\n }\n\n get global(): any {\n return _global$;\n }\n\n get stream(): any {\n throw Error(\"Not implemented, include Stream.ts for this to work\")\n }\n\n get lazyStream(): any {\n throw Error(\"Not implemented, include Stream.ts for this to work\")\n }\n\n /**\n * returns the id of the first element\n */\n get id(): ValueEmbedder {\n return new ElementAttribute(this.get(0), \"id\");\n }\n\n /**\n * length of the entire query set\n */\n get length(): number {\n return this.rootNode.length\n }\n\n /**\n * convenience method for tagName\n */\n get tagName(): Optional {\n return >this.getAsElem(0).getIf(\"tagName\");\n }\n\n /**\n * convenience method for nodeName\n */\n get nodeName(): Optional {\n return >this.getAsElem(0).getIf(\"nodeName\");\n }\n\n isTag(tagName: string): boolean {\n return !this.isAbsent()\n && (this.nodeName.orElse(\"__none___\")\n .value.toLowerCase() == tagName.toLowerCase()\n || this.tagName.orElse(\"__none___\")\n .value.toLowerCase() == tagName.toLowerCase()\n )\n }\n\n /**\n * convenience property for type\n *\n * returns null in case of no type existing otherwise\n * the type of the first element\n */\n get type(): Optional {\n return this.getAsElem(0).getIf(\"type\");\n }\n\n /**\n * convenience property for name\n *\n * returns null in case of no type existing otherwise\n * the name of the first element\n */\n get name(): ValueEmbedder {\n return new ValueEmbedder(this.getAsElem(0).value, \"name\");\n }\n\n /**\n * convenience property for value\n *\n * returns null in case of no type existing otherwise\n * the value of the first element\n */\n get inputValue(): ValueEmbedder {\n if (this.getAsElem(0).getIf(\"value\").isPresent()) {\n return new ValueEmbedder(this.getAsElem(0).value);\n } else {\n return ValueEmbedder.absent;\n }\n }\n\n get val(): string | boolean {\n return this.inputValue.value;\n }\n\n set val(value: string | boolean) {\n this.inputValue.value = value;\n }\n\n get nodeId(): string {\n return this.id.value;\n }\n\n set nodeId(value: string) {\n this.id.value = value;\n }\n\n get checked(): boolean {\n return new Es2019Array(...this.values).every(el => !!(el).checked);\n }\n\n set checked(newChecked: boolean) {\n this.eachElem(el => (el).checked = newChecked);\n }\n\n get elements(): DomQuery {\n // a simple querySelectorAll should suffice\n return this.querySelectorAll(\"input, checkbox, select, textarea, fieldset\");\n }\n\n get deepElements(): DomQuery {\n let elemStr = \"input, select, textarea, checkbox, fieldset\";\n return this.querySelectorAllDeep(elemStr);\n }\n\n /**\n * a deep search which treats the single isolated shadow dom areas\n * separately and runs the query on each shadow dom\n * @param queryStr\n */\n querySelectorAllDeep(queryStr: string): DomQuery {\n let found: Array = [];\n let queryRes = this.querySelectorAll(queryStr);\n if (queryRes.length) {\n found.push(queryRes);\n }\n let shadowRoots = this.querySelectorAll(\"*\").shadowRoot;\n if (shadowRoots.length) {\n let shadowRes = shadowRoots.querySelectorAllDeep(queryStr);\n if (shadowRes.length) {\n found.push(shadowRes);\n }\n }\n return new DomQuery(...found);\n }\n\n\n /**\n * disabled flag\n */\n get disabled(): boolean {\n return this.attr(\"disabled\").isPresent();\n }\n\n set disabled(disabled: boolean) {\n // this.attr(\"disabled\").value = disabled + \"\";\n if (!disabled) {\n this.removeAttribute(\"disabled\");\n } else {\n this.attr(\"disabled\").value = \"disabled\";\n }\n\n }\n\n removeAttribute(name: string) {\n this.eachElem(item => item.removeAttribute(name));\n }\n\n get childNodes(): DomQuery {\n let childNodeArr: Array = [];\n this.eachElem((item: Element) => {\n childNodeArr = childNodeArr.concat(objToArray(item.childNodes));\n });\n return new DomQuery(...childNodeArr);\n }\n\n\n get asArray(): DomQuery[] {\n // filter not supported by IE11\n let items = new Es2019Array(...this.rootNode).filter(item => {\n return item != null\n }).map(item => {\n return DomQuery.byId(item)\n });\n return items as DomQuery[];\n }\n\n get offsetWidth(): number {\n return new Es2019Array(...this.rootNode)\n .filter(item => item != null)\n .map(elem => (elem as HTMLElement).offsetWidth)\n .reduce((accumulate, incoming) => accumulate + incoming, 0);\n }\n\n get offsetHeight(): number {\n return new Es2019Array(...this.rootNode)\n .filter(item => item != null)\n .map(elem => (elem as HTMLElement).offsetHeight)\n .reduce((accumulate, incoming) => accumulate + incoming, 0);\n }\n\n get offsetLeft(): number {\n return new Es2019Array(...this.rootNode)\n .filter(item => item != null)\n .map(elem => (elem as HTMLElement).offsetLeft)\n .reduce((accumulate, incoming) => accumulate + incoming, 0);\n }\n\n get offsetTop(): number {\n return new Es2019Array(this.rootNode)\n .filter(item => item != null)\n .map(elem => (elem as any).offsetTop)\n .reduce((accumulate, incoming) => accumulate + incoming, 0);\n }\n\n get asNodeArray(): Array {\n return new Es2019Array(...this.rootNode.filter(item => item != null));\n }\n\n get nonce(): ValueEmbedder {\n return new NonceValueEmbedder(this.rootNode as HTMLElement[]);\n }\n\n static querySelectorAllDeep(selector: string) {\n return new DomQuery(document).querySelectorAllDeep(selector);\n }\n\n /**\n * easy query selector all producer\n *\n * @param selector the selector\n * @returns a results dom query object\n */\n static querySelectorAll(selector: string): DomQuery {\n if (selector.indexOf(\"/shadow/\") != -1) {\n return new DomQuery(document)._querySelectorAllDeep(selector);\n } else {\n return new DomQuery(document)._querySelectorAll(selector);\n }\n }\n\n /**\n * byId producer\n *\n * @param selector id\n * @param deep true if you want to go into shadow areas\n * @return a DomQuery containing the found elements\n */\n static byId(selector: string | DomQuery | Element, deep = false): DomQuery {\n if (isString(selector)) {\n return (!deep) ? new DomQuery(document).byId(selector) : new DomQuery(document).byIdDeep(selector);\n } else {\n return new DomQuery(selector);\n }\n }\n\n /**\n * byTagName producer\n *\n * @param selector name\n * @return a DomQuery containing the found elements\n */\n static byTagName(selector: string | DomQuery | Element): DomQuery {\n if (isString(selector)) {\n return new DomQuery(document).byTagName(selector);\n } else {\n return new DomQuery(selector);\n }\n }\n\n static globalEval(code: string, nonce?: string): DomQuery {\n return new DomQuery(document).globalEval(code, nonce);\n }\n\n static globalEvalSticky(code: string, nonce?: string): DomQuery {\n return new DomQuery(document).globalEvalSticky(code, nonce);\n }\n\n /**\n * builds the ie nodes properly in a placeholder\n * and bypasses a non script insert bug that way\n * @param markup the markup code to be executed from\n */\n static fromMarkup(markup: string): DomQuery {\n\n // https:// developer.mozilla.org/de/docs/Web/API/DOMParser license creative commons\n const doc = document.implementation.createHTMLDocument(\"\");\n markup = trim(markup);\n let lowerMarkup = markup.toLowerCase();\n if (lowerMarkup.search(/\"].join(\"\");\n let tag2 = [\"<\", tagName, \" \"].join(\"\");\n return (str.indexOf(tag1) == 0) || (str.indexOf(tag2) == 0);\n };\n\n let dummyPlaceHolder = new DomQuery(document.createElement(\"div\"));\n\n // table needs special treatment due to the browsers auto creation\n if (startsWithTag(lowerMarkup, \"thead\") || startsWithTag(lowerMarkup, \"tbody\")) {\n dummyPlaceHolder.html(`${markup}
`);\n return dummyPlaceHolder.querySelectorAll(\"table\").get(0).childNodes.detach();\n } else if (startsWithTag(lowerMarkup, \"tfoot\")) {\n dummyPlaceHolder.html(``);\n return dummyPlaceHolder.querySelectorAll(\"table\").get(2).childNodes.detach();\n } else if (startsWithTag(lowerMarkup, \"tr\")) {\n dummyPlaceHolder.html(`
${markup}
`);\n return dummyPlaceHolder.querySelectorAll(\"tbody\").get(0).childNodes.detach();\n } else if (startsWithTag(lowerMarkup, \"td\")) {\n dummyPlaceHolder.html(`${markup}
`);\n return dummyPlaceHolder.querySelectorAll(\"tr\").get(0).childNodes.detach();\n }\n\n dummyPlaceHolder.html(markup);\n return dummyPlaceHolder.childNodes.detach();\n }\n\n }\n\n /**\n * returns the nth element as DomQuery\n * from the internal elements\n * note if you try to reach a non-existing element position\n * you will get back an absent entry\n *\n * @param index the nth index\n */\n get(index: number): DomQuery {\n return (index < this.rootNode.length) ? new DomQuery(this.rootNode[index]) : DomQuery.absent;\n }\n\n\n /**\n * returns the nth element as optional of an Element object\n * @param index the number from the index\n * @param defaults the default value if the index is overrun default Optional\\.absent\n */\n getAsElem(index: number, defaults: Optional = Optional.absent): Optional {\n return (index < this.rootNode.length) ? Optional.fromNullable(this.rootNode[index]) : defaults;\n }\n\n /**\n * returns the files from a given element\n * @param index\n */\n filesFromElem(index: number): Array {\n return (index < this.rootNode.length) ? (this.rootNode[index])?.files ? (this.rootNode[index]).files : [] : [];\n }\n\n /**\n * returns the value array< of all elements\n */\n allElems(): Array {\n return this.rootNode;\n }\n\n /**\n * absent no values reached?\n */\n isAbsent(): boolean {\n return this.length == 0;\n }\n\n /**\n * should make the code clearer\n * note if you pass a function\n * this refers to the active DomQuery object\n */\n isPresent(presentRunnable ?: (elem ?: DomQuery) => void): boolean {\n let absent = this.isAbsent();\n if (!absent && presentRunnable) {\n presentRunnable.call(this, this)\n }\n return !absent;\n }\n\n /**\n * should make the code clearer\n * note if you pass a function\n * this refers to the active DomQuery object\n *\n *\n * @param presentRunnable\n */\n ifPresentLazy(presentRunnable: (elem ?: DomQuery) => void = function () {\n }): DomQuery {\n this.isPresent.call(this, presentRunnable);\n return this;\n }\n\n /**\n * remove all affected nodes from this query object from the dom tree\n */\n delete() {\n this.eachElem((node: Element) => {\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n });\n }\n\n querySelectorAll(selector): DomQuery {\n // We could merge both methods, but for now this is more readable\n if (selector.indexOf(\"/shadow/\") != -1) {\n return this._querySelectorAllDeep(selector);\n } else {\n return this._querySelectorAll(selector);\n }\n }\n\n closest(selector): DomQuery {\n // We could merge both methods, but for now this is more readable\n if (selector.indexOf(\"/shadow/\") != -1) {\n return this._closestDeep(selector);\n } else {\n return this._closest(selector);\n }\n }\n\n\n /**\n * core byId method\n * @param id the id to search for\n * @param includeRoot also match the root element?\n */\n byId(id: string, includeRoot?: boolean): DomQuery {\n let res: Array = [];\n if (includeRoot) {\n res = res.concat(...\n new Es2019Array(...(this?.rootNode || []))\n .filter(((item) => id == item.id) as any)\n .map(item => new DomQuery(item))\n );\n }\n\n // for some strange kind of reason the # selector fails\n // on hidden elements we use the attributes match selector\n // that works\n res = res.concat(this.querySelectorAll(`[id=\"${id}\"]`));\n return new DomQuery(...res);\n }\n\n\n byIdDeep(id: string, includeRoot?: boolean): DomQuery {\n let res: Array = [];\n if (includeRoot) {\n res = res.concat(\n new Es2019Array(...(this?.rootNode || []))\n .filter(item => id == item.id)\n .map(item => new DomQuery(item))\n );\n }\n\n let subItems = this.querySelectorAllDeep(`[id=\"${id}\"]`);\n if (subItems.length) {\n res.push(subItems);\n }\n\n return new DomQuery(...res);\n }\n\n /**\n * same as byId just for the tag name\n * @param tagName the tag-name to search for\n * @param includeRoot shall the root element be part of this search\n * @param deep do we also want to go into shadow dom areas\n */\n byTagName(tagName: string, includeRoot ?: boolean, deep ?: boolean): DomQuery {\n let res: Array = [];\n if (includeRoot) {\n res = new Es2019Array(...(this?.rootNode ?? []))\n .filter(element => element?.tagName == tagName)\n .reduce((reduction: any, item: Element) => reduction.concat([item]), res);\n }\n\n (deep) ? res.push(this.querySelectorAllDeep(tagName)) : res.push(this.querySelectorAll(tagName));\n return new DomQuery(...res);\n }\n\n /**\n * attr accessor, usage myQuery.attr(\"class\").value = \"bla\"\n * or let value myQuery.attr(\"class\").value\n * @param attr the attribute to set\n * @param defaultValue the default value in case nothing is presented (defaults to null)\n */\n attr(attr: string, defaultValue: string = null): ElementAttribute {\n return new ElementAttribute(this, attr, defaultValue);\n }\n\n style(cssProperty: string, defaultValue: string = null): Style {\n return new Style(this, cssProperty, defaultValue);\n }\n\n\n /**\n * Checks for an existing class in the class attributes\n *\n * @param clazz the class to search for\n */\n hasClass(clazz: string) {\n let hasIt = false;\n this.eachElem(node => {\n hasIt = node.classList.contains(clazz);\n if (hasIt) {\n return false;\n }\n });\n return hasIt;\n }\n\n /**\n * appends a class string if not already in the element(s)\n *\n * @param clazz the style class to append\n */\n addClass(clazz: string): DomQuery {\n this.eachElem(item => item.classList.add(clazz))\n return this;\n }\n\n /**\n * remove the style class if in the class definitions\n *\n * @param clazz\n */\n removeClass(clazz: string): DomQuery {\n this.eachElem(item => item.classList.remove(clazz));\n return this;\n }\n\n /**\n * checks whether we have a multipart element in our children\n * or are one\n */\n isMultipartCandidate(deep = false): boolean {\n const FILE_INPUT = \"input[type='file']\";\n return this.matchesSelector(FILE_INPUT) ||\n ((!deep) ? this.querySelectorAll(FILE_INPUT) :\n this.querySelectorAllDeep(FILE_INPUT)).first().isPresent();\n }\n\n /**\n * innerHtml\n * equivalent to jQueries html\n * as setter the html is set and the\n * DomQuery is given back\n * as getter the html string is returned\n *\n * @param newInnerHTML the inner html to be inserted\n */\n html(newInnerHTML?: string): DomQuery | Optional {\n if (Optional.fromNullable(newInnerHTML).isAbsent()) {\n return this.isPresent() ? Optional.fromNullable(this.innerHTML) : Optional.absent;\n }\n this.innerHTML = newInnerHTML;\n\n return this;\n }\n\n /**\n * Standard dispatch event method, delegated from node\n */\n dispatchEvent(evt: Event): DomQuery {\n this.eachElem(elem => elem.dispatchEvent(evt));\n return this;\n }\n\n /**\n * abbreviation property to use innerHTML directly like on the dom tree\n * @param newInnerHTML the new inner html which should be attached to \"this\" domQuery\n */\n set innerHTML(newInnerHTML: string) {\n this.eachElem(elem => elem.innerHTML = newInnerHTML);\n }\n\n /**\n * getter abbreviation to use innerHTML directly\n */\n get innerHTML(): string {\n let retArr = [];\n this.eachElem(elem => retArr.push(elem.innerHTML));\n return retArr.join(\"\");\n }\n\n /**\n * since the dom allows both innerHTML and innerHtml we also have to implement both\n * @param newInnerHtml see above\n */\n set innerHtml(newInnerHtml: string) {\n this.innerHTML = newInnerHtml;\n }\n\n /**\n * same here, getter for allowing innerHtml directly\n */\n get innerHtml(): string {\n return this.innerHTML;\n }\n\n /**\n * filters the current dom query elements\n * upon a given selector\n *\n * @param selector\n */\n filterSelector(selector: string): DomQuery {\n let matched = [];\n\n this.eachElem(item => {\n if (this._mozMatchesSelector(item, selector)) {\n matched.push(item)\n }\n });\n return new DomQuery(...matched);\n }\n\n /**\n * checks whether any item in this domQuery level matches the selector\n * if there is one element only attached, as root the match is only\n * performed on this element.\n * @param selector\n */\n matchesSelector(selector: string): boolean {\n return this.asArray\n .some(item => this._mozMatchesSelector(item.getAsElem(0).value, selector));\n }\n\n /**\n * easy node traversal, you can pass\n * a set of node selectors which are joined as direct children\n *\n * Note!!! The root nodes are not in the getIf, those are always the child nodes\n *\n * @param nodeSelector\n */\n getIf(...nodeSelector: Array): DomQuery {\n\n let selectorStage: DomQuery = this.childNodes;\n for (let cnt = 0; cnt < nodeSelector.length; cnt++) {\n selectorStage = selectorStage.filterSelector(nodeSelector[cnt]);\n if (selectorStage.isAbsent()) {\n return selectorStage;\n }\n }\n return selectorStage;\n }\n\n eachElem(func: (item: Element, cnt?: number) => any): DomQuery {\n\n for (let cnt = 0, len = this.rootNode.length; cnt < len; cnt++) {\n if (func(this.rootNode[cnt], cnt) === false) {\n break;\n }\n }\n return this;\n }\n\n firstElem(func: (item: Element, cnt?: number) => any = item => item): DomQuery {\n if (this.rootNode.length > 1) {\n func(this.rootNode[0], 0);\n }\n return this;\n }\n\n lastElem(func: (item: Element, cnt?: number) => any = item => item): DomQuery {\n if (this.rootNode.length > 1) {\n func(this.rootNode[this.rootNode.length - 1], 0);\n }\n return this;\n }\n\n each(func: (item: DomQuery, cnt?: number) => any): DomQuery {\n new Es2019Array(...this.rootNode)\n .forEach((item, cnt) => {\n // we could use a filter, but for the best performance we don´t\n if (item == null) {\n return;\n }\n return func(DomQuery.byId(item), cnt);\n });\n\n return this;\n }\n\n /**\n * replace convenience function, replaces one or more elements with\n * a set of elements passed as DomQuery\n * @param toReplace the replaced nodes as reference (original node has been replaced)\n */\n replace(toReplace: DomQuery): DomQuery {\n this.each(item => {\n let asElem = item.getAsElem(0).value;\n let parent = asElem.parentElement;\n let nextElement = asElem.nextElementSibling;\n let previousElement = asElem.previousElementSibling;\n if(nextElement != null) {\n new DomQuery(nextElement).insertBefore(toReplace);\n } else if(previousElement) {\n new DomQuery(previousElement).insertAfter(toReplace)\n } else {\n new DomQuery(parent).append(toReplace);\n }\n item.delete();\n });\n return toReplace;\n }\n\n /**\n * returns a new dom query containing only the first element max\n *\n * @param func a an optional callback function to perform an operation on the first element\n */\n first(func: (item: DomQuery, cnt?: number) => any = (item) => item): DomQuery {\n if (this.rootNode.length >= 1) {\n func(this.get(0), 0);\n return this.get(0);\n }\n return this;\n }\n\n /**\n * returns a new dom query containing only the first element max\n *\n * @param func a an optional callback function to perform an operation on the first element\n */\n last(func: (item: DomQuery, cnt?: number) => any = (item) => item): DomQuery {\n if (this.rootNode.length >= 1) {\n let lastNode = this.get(this.rootNode.length - 1);\n func(lastNode, 0);\n return lastNode;\n }\n return this;\n }\n\n /**\n * filter function which filters a subset\n *\n * @param func\n */\n filter(func: (item: DomQuery) => boolean): DomQuery {\n let reArr: Array = [];\n this.each((item: DomQuery) => {\n func(item) ? reArr.push(item) : null;\n });\n return new DomQuery(...reArr);\n }\n\n /**\n * global eval head appendix method\n * no other methods are supported anymore\n * @param code the code to be evaluated\n * @param nonce optional nonce key for higher security\n */\n globalEval(code: string, nonce ?: string): DomQuery {\n const head = document.getElementsByTagName(\"head\")?.[0]\n ?? document.documentElement.getElementsByTagName(\"head\")?.[0];\n const script = document.createElement(\"script\");\n if (nonce) {\n if ('undefined' != typeof script?.nonce) {\n script.nonce = nonce;\n } else {\n script.setAttribute(\"nonce\", nonce);\n }\n }\n script.type = \"text/javascript\";\n script.innerHTML = code;\n let newScriptElement = head.appendChild(script);\n head.removeChild(newScriptElement);\n return this;\n }\n\n /**\n * global eval head appendix method\n * no other methods are supported anymore\n * @param code the code to be evaluated\n * @param nonce optional nonce key for higher security\n */\n globalEvalSticky(code: string, nonce ?: string): DomQuery {\n let head = document.getElementsByTagName(\"head\")[0] || document.documentElement;\n let script = document.createElement(\"script\");\n this.applyNonce(nonce, script);\n script.type = \"text/javascript\";\n script.innerHTML = code;\n head.appendChild(script);\n return this;\n }\n\n /**\n * detaches a set of nodes from their parent elements\n * in a browser independent manner\n * @return {Array} an array of nodes with the detached dom nodes\n */\n detach(): DomQuery {\n this.eachElem((item: Element) => {\n item.parentNode.removeChild(item);\n });\n return this;\n }\n\n /**\n * appends the current set of elements\n * to the element or first element passed via elem\n * @param elem\n */\n appendTo(elem: DomQuery | string): DomQuery {\n if (Lang.isString(elem)) {\n this.appendTo(DomQuery.querySelectorAll(elem as string));\n return this;\n }\n this.eachElem((item) => {\n let value1: Element = (elem as DomQuery).getAsElem(0).orElseLazy(() => {\n return {\n appendChild: () => {\n }\n }\n }).value;\n value1.appendChild(item);\n });\n return this;\n }\n\n /**\n * loads and evaluates a script from a source uri\n *\n * @param src the source to be loaded and evaluated\n * @param delay in milliseconds execution default (0 == no delay)\n * @param nonce optional nonce value to allow increased security via nonce crypto token\n */\n loadScriptEval(src: string, delay: number = 0, nonce?: string) {\n this._loadScriptEval(false, src, delay, nonce);\n\n return this;\n }\n\n\n /**\n * loads and evaluates a script from a source uri\n *\n * @param src the source to be loaded and evaluated\n * @param delay in milliseconds execution default (0 == no delay)\n * @param nonce optional nonce parameter for increased security via nonce crypto token\n */\n loadScriptEvalSticky(src: string, delay: number = 0, nonce?: string) {\n this._loadScriptEval(true, src, delay, nonce);\n\n return this;\n }\n\n insertAfter(...toInsertParams: Array): DomQuery {\n\n this.each(existingItem => {\n let existingElement = existingItem.getAsElem(0).value;\n let rootNode = existingElement.parentNode;\n for (let cnt = 0; cnt < toInsertParams.length; cnt++) {\n let nextSibling: Element = existingElement.nextSibling;\n toInsertParams[cnt].eachElem(insertElem => {\n if (nextSibling) {\n rootNode.insertBefore(insertElem, nextSibling);\n existingElement = nextSibling;\n } else {\n rootNode.appendChild(insertElem);\n }\n });\n\n }\n });\n\n let res = [];\n res.push(this);\n res = res.concat(toInsertParams);\n return new DomQuery(...res);\n }\n\n insertBefore(...toInsertParams: Array): DomQuery {\n this.each(existingItem => {\n let existingElement = existingItem.getAsElem(0).value;\n let rootNode = existingElement.parentNode;\n for (let cnt = 0; cnt < toInsertParams.length; cnt++) {\n toInsertParams[cnt].eachElem(insertElem => {\n rootNode.insertBefore(insertElem, existingElement);\n });\n }\n });\n let res = [];\n res.push(this);\n res = res.concat(toInsertParams);\n return new DomQuery(...res);\n }\n\n orElse(...elseValue: any): DomQuery {\n if (this.isPresent()) {\n return this;\n } else {\n return new DomQuery(...elseValue);\n }\n }\n\n orElseLazy(func: () => any): DomQuery {\n if (this.isPresent()) {\n return this;\n } else {\n return new DomQuery(func());\n }\n }\n\n /**\n * find all parents in the hierarchy for which the selector matches\n * @param selector\n */\n allParents(selector: string): DomQuery {\n let parent = this.parent();\n let ret = [];\n while(parent.isPresent()) {\n if(parent.matchesSelector(selector)) {\n ret.push(parent);\n }\n parent = parent.parent();\n }\n return new DomQuery(...ret);\n }\n\n /**\n * finds the first parent in the hierarchy for which the selector matches\n * @param selector\n */\n firstParent(selector: string): DomQuery {\n let parent = this.parent();\n while(parent.isPresent()) {\n if(parent.matchesSelector(selector)) {\n return parent;\n }\n parent = parent.parent();\n }\n return DomQuery.absent;\n }\n\n /**\n * fetches all parents as long as the filter criterium matches\n * @param selector\n */\n parentsWhileMatch(selector: string): DomQuery {\n const retArr: Array = [];\n let parent = this.parent().filter(item => item.matchesSelector(selector));\n while(parent.isPresent()) {\n retArr.push(parent);\n parent = parent.parent().filter(item => item.matchesSelector(selector));\n }\n\n return new DomQuery(...retArr);\n }\n\n parent(): DomQuery {\n let ret = [];\n this.eachElem((item: Element) => {\n let parent = item.parentNode || (item).host || item.shadowRoot;\n if (parent && ret.indexOf(parent) == -1) {\n ret.push(parent);\n }\n });\n\n return new DomQuery(...ret);\n }\n\n copyAttrs(sourceItem: DomQuery | XMLQuery): DomQuery {\n sourceItem.eachElem((sourceNode: Element) => {\n let attrs: Array = objToArray(sourceNode.attributes);\n for (let item of attrs) {\n let value: string = item.value;\n let name: string = item.name;\n\n switch (name) {\n case \"id\":\n this.id.value = value;\n break;\n case \"disabled\":\n this.resolveAttributeHolder(\"disabled\").disabled = value;\n break;\n case \"checked\":\n this.resolveAttributeHolder(\"checked\").checked = value;\n break;\n case \"nonce\":\n // nonce will be handled below!\n break;\n default:\n this.attr(name).value = value;\n }\n }\n });\n\n //special nonce handling\n sourceItem.nonce.isPresent(() => {\n this.nonce.value = sourceItem.nonce.value;\n });\n\n return this;\n }\n\n /**\n * outerHTML convenience method\n * browsers only support innerHTML but\n * for instance for your jsf.js we have a full\n * replace pattern which needs outerHTML processing\n *\n * @param markup the markup which should replace the root element\n * @param runEmbeddedScripts if true the embedded scripts are executed\n * @param runEmbeddedCss if true the embedded css are executed\n * @param deep should this also work for shadow dom (run scripts etc...)\n */\n outerHTML(markup: string, runEmbeddedScripts ?: boolean, runEmbeddedCss ?: boolean, deep = false): DomQuery {\n if (this.isAbsent()) {\n return;\n }\n\n let focusElementId = document?.activeElement?.id;\n let caretPosition = (focusElementId) ? DomQuery.getCaretPosition(document.activeElement) : null;\n let nodes = DomQuery.fromMarkup(markup);\n let res = [];\n let toReplace = this.getAsElem(0).value;\n let firstInsert = nodes.get(0);\n let parentNode = toReplace.parentNode;\n let replaced = firstInsert.getAsElem(0).value;\n parentNode.replaceChild(replaced, toReplace);\n res.push(new DomQuery(replaced));\n // no replacement possible\n if (this.isAbsent()) {\n return this;\n }\n\n let insertAdditionalItems = [];\n\n if (nodes.length > 1) {\n insertAdditionalItems = insertAdditionalItems.concat(...nodes.values.slice(1));\n res.push(DomQuery.byId(replaced).insertAfter(new DomQuery(...insertAdditionalItems)));\n }\n\n if (runEmbeddedScripts) {\n this.runScripts();\n }\n if (runEmbeddedCss) {\n this.runCss();\n }\n\n let focusElement = DomQuery.byId(focusElementId);\n if (focusElementId && focusElement.isPresent() &&\n caretPosition != null && \"undefined\" != typeof caretPosition) {\n focusElement.eachElem(item => DomQuery.setCaretPosition(item, caretPosition));\n }\n\n return nodes;\n }\n\n /**\n * Run through the given nodes in the DomQuery execute the inline scripts\n * @param sticky if set to true the evaluated elements will stick to the head, default false\n * @param whitelisted: optional whitelist function which can filter out script tags which are not processed\n * defaults to the standard jsf.js exclusion (we use this code for myfaces)\n */\n runScripts(sticky = false, whitelisted: (val: string) => boolean = DEFAULT_WHITELIST): DomQuery {\n const evalCollectedScripts = (scriptsToProcess: { evalText: string, nonce: string }[]) => {\n if (scriptsToProcess.length) {\n // script source means we have to eval the existing\n // scripts before we run the 'include' command\n // this.globalEval(finalScripts.join(\"\\n\"));\n let joinedScripts = [];\n new Es2019Array(...scriptsToProcess).forEach(item => {\n if (!item.nonce) {\n joinedScripts.push(item.evalText)\n } else {\n if (joinedScripts.length) {\n this.globalEval(joinedScripts.join(\"\\n\"));\n joinedScripts.length = 0;\n }\n\n (!sticky) ?\n this.globalEval(item.evalText, item.nonce) :\n this.globalEvalSticky(item.evalText, item.nonce);\n }\n });\n if (joinedScripts.length) {\n (!sticky) ? this.globalEval(joinedScripts.join(\"\\n\")) :\n this.globalEvalSticky(joinedScripts.join(\"\\n\"));\n joinedScripts.length = 0;\n }\n\n scriptsToProcess = [];\n }\n return scriptsToProcess;\n }\n\n let finalScripts = [],\n allowedItemTypes = [\"\", \"script\", \"text/javascript\", \"text/ecmascript\", \"ecmascript\"],\n execScript = (item) => {\n let tagName = item.tagName;\n let itemType = (item?.type ?? '').toLowerCase();\n if (tagName &&\n eqi(tagName, \"script\") &&\n allowedItemTypes.indexOf(itemType) != -1) {\n let src = item.getAttribute('src');\n if ('undefined' != typeof src\n && null != src\n && src.length > 0\n ) {\n let nonce = item?.nonce ?? item.getAttribute('nonce').value;\n // we have to move this into an inner if because chrome otherwise chokes\n // due to changing the and order instead of relying on left to right\n // if jsf.js is already registered we do not replace it anymore\n if (whitelisted(src)) {\n // we run the collected scripts, before we run the 'include' command\n finalScripts = evalCollectedScripts(finalScripts);\n if (!sticky) {\n (!!nonce) ? this.loadScriptEval(src, 0, nonce) :\n // if no nonce is set we do not pass any once\n this.loadScriptEval(src, 0);\n } else {\n (!!nonce) ? this.loadScriptEvalSticky(src, 0, nonce) :\n // if no nonce is set we do not pass any once\n this.loadScriptEvalSticky(src, 0);\n }\n }\n\n } else {\n // embedded script auto eval\n // probably not needed anymore\n let evalText = trim(item.text || item.innerText || item.innerHTML);\n let go = true;\n\n while (go) {\n go = false;\n if (evalText.substring(0, 4) == \" 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n const $ = getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n const evt = hydrateObj(new Event(event, {\n bubbles,\n cancelable: true\n }), args);\n if (defaultPrevented) {\n evt.preventDefault();\n }\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n return evt;\n }\n};\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value;\n }\n });\n }\n }\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === Number(value).toString()) {\n return Number(value);\n }\n if (value === '' || value === 'null') {\n return null;\n }\n if (typeof value !== 'string') {\n return value;\n }\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);\n}\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\n },\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\n },\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n const attributes = {};\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n return attributes;\n },\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n static get DefaultType() {\n return {};\n }\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n return config;\n }\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.3';\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n if (!element) {\n return;\n }\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);\n }\n static get VERSION() {\n return VERSION;\n }\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target');\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href');\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;\n }\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;\n};\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector));\n },\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n return parents;\n },\n prev(element, selector) {\n let previous = element.previousElementSibling;\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n previous = previous.previousElementSibling;\n }\n return [];\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n next = next.nextElementSibling;\n }\n return [];\n },\n focusableChildren(element) {\n const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n },\n getSelectorFromElement(element) {\n const selector = getSelector(element);\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null;\n }\n return null;\n },\n getElementFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.findOne(selector) : null;\n },\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.find(selector) : [];\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`);\n const instance = component.getOrCreateInstance(target);\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n if (closeEvent.defaultPrevented) {\n return;\n }\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n }\n\n // Private\n _destroyElement() {\n this._element.remove();\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close');\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n if (!element || !Swipe.isSupported()) {\n return;\n }\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n this._initEvents();\n }\n\n // Getters\n static get Default() {\n return Default$c;\n }\n static get DefaultType() {\n return DefaultType$c;\n }\n static get NAME() {\n return NAME$d;\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n this._handleSwipe();\n execute(this._config.endCallback);\n }\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n if (!direction) {\n return;\n }\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = 'active';\nconst CLASS_NAME_SLIDE = 'slide';\nconst CLASS_NAME_END = 'carousel-item-end';\nconst CLASS_NAME_START = 'carousel-item-start';\nconst CLASS_NAME_NEXT = 'carousel-item-next';\nconst CLASS_NAME_PREV = 'carousel-item-prev';\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n this._addEventListeners();\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$b;\n }\n static get DefaultType() {\n return DefaultType$b;\n }\n static get NAME() {\n return NAME$c;\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT);\n }\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n prev() {\n this._slide(ORDER_PREV);\n }\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n this._clearInterval();\n }\n cycle() {\n this._clearInterval();\n this._updateInterval();\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n this.cycle();\n }\n to(index) {\n const items = this._getItems();\n if (index > items.length - 1 || index < 0) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\n return;\n }\n const activeIndex = this._getItemIndex(this._getActive());\n if (activeIndex === index) {\n return;\n }\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n this._slide(order, items[index]);\n }\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause();\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n const direction = KEY_TO_DIRECTION[event.key];\n if (direction) {\n event.preventDefault();\n this._slide(this._directionToOrder(direction));\n }\n }\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n if (!element) {\n return;\n }\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n const activeElement = this._getActive();\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n if (nextElement === activeElement) {\n return;\n }\n const nextElementIndex = this._getItemIndex(nextElement);\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n const slideEvent = triggerEvent(EVENT_SLIDE);\n if (slideEvent.defaultPrevented) {\n return;\n }\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return;\n }\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n this._setActiveIndicatorElement(nextElementIndex);\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n if (isCycling) {\n this.cycle();\n }\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n if (slideIndex) {\n carousel.to(slideIndex);\n carousel._maybeEnableCycle();\n return;\n }\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n carousel._maybeEnableCycle();\n return;\n }\n carousel.prev();\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = 'show';\nconst CLASS_NAME_COLLAPSE = 'collapse';\nconst CLASS_NAME_COLLAPSING = 'collapsing';\nconst CLASS_NAME_COLLAPSED = 'collapsed';\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem);\n }\n }\n this._initializeChildren();\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\n }\n if (this._config.toggle) {\n this.toggle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$a;\n }\n static get DefaultType() {\n return DefaultType$a;\n }\n static get NAME() {\n return NAME$b;\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n show() {\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n let activeChildren = [];\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n const dimension = this._getDimension();\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\n };\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n this._queueCallback(complete, this._element, true);\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\n }\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n const dimension = this._getDimension();\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger);\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\n };\n this._element.style[dimension] = '';\n this._queueCallback(complete, this._element, true);\n }\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW$7);\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n config.parent = getElement(config.parent);\n return config;\n }\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element);\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {};\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n }\n\n // Getters\n static get Default() {\n return Default$9;\n }\n static get DefaultType() {\n return DefaultType$9;\n }\n static get NAME() {\n return NAME$a;\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n if (showEvent.defaultPrevented) {\n return;\n }\n this._createPopper();\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n this._element.focus();\n this._element.setAttribute('aria-expanded', true);\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n this._element.classList.add(CLASS_NAME_SHOW$6);\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n this._completeHide(relatedTarget);\n }\n dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n super.dispose();\n }\n update() {\n this._inNavbar = this._detectNavbar();\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n if (this._popper) {\n this._popper.destroy();\n }\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n this._element.setAttribute('aria-expanded', 'false');\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n _getConfig(config) {\n config = super._getConfig(config);\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n return config;\n }\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n let referenceElement = this._element;\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n const popperConfig = this._getPopperConfig();\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n _getPlacement() {\n const parentDropdown = this._parent;\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n };\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n if (!items.length) {\n return;\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n if (!context || context._config.autoClose === false) {\n continue;\n }\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n const relatedTarget = {\n relatedTarget: context._element\n };\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n context._completeHide(relatedTarget);\n }\n }\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n if (isInput && !isEscapeEvent) {\n return;\n }\n event.preventDefault();\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n instance._selectMenuItem(event);\n return;\n }\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n};\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n }\n\n // Getters\n static get Default() {\n return Default$8;\n }\n static get DefaultType() {\n return DefaultType$8;\n }\n static get NAME() {\n return NAME$9;\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._append();\n const element = this._getElement();\n if (this._config.isAnimated) {\n reflow(element);\n }\n element.classList.add(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n execute(callback);\n });\n }\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\n }\n dispose() {\n if (!this._isAppended) {\n return;\n }\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n this._element.remove();\n this._isAppended = false;\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n this._element = backdrop;\n }\n return this._element;\n }\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n _append() {\n if (this._isAppended) {\n return;\n }\n const element = this._getElement();\n this._config.rootElement.append(element);\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n};\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n }\n\n // Getters\n static get Default() {\n return Default$7;\n }\n static get DefaultType() {\n return DefaultType$7;\n }\n static get NAME() {\n return NAME$8;\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return;\n }\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n this._isActive = true;\n }\n deactivate() {\n if (!this._isActive) {\n return;\n }\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n }\n\n // Private\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n const elements = SelectorEngine.focusableChildren(trapElement);\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n hide() {\n const width = this.getWidth();\n this._disableOverFlow();\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n isOverflowing() {\n return this.getWidth() > 0;\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n this._element.style.overflow = 'hidden';\n }\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n this._saveInitialAttribute(element, styleProperty);\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty);\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n this._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$6;\n }\n static get DefaultType() {\n return DefaultType$6;\n }\n static get NAME() {\n return NAME$7;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._isTransitioning = true;\n this._scrollBar.hide();\n document.body.classList.add(CLASS_NAME_OPEN);\n this._adjustDialog();\n this._backdrop.show(() => this._showElement(relatedTarget));\n }\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._isShown = false;\n this._isTransitioning = true;\n this._focustrap.deactivate();\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n dispose() {\n EventHandler.off(window, EVENT_KEY$4);\n EventHandler.off(this._dialog, EVENT_KEY$4);\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n handleUpdate() {\n this._adjustDialog();\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n this._element.style.display = 'block';\n this._element.removeAttribute('aria-hidden');\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_SHOW$4);\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate();\n }\n this._isTransitioning = false;\n EventHandler.trigger(this._element, EVENT_SHOWN$4, {\n relatedTarget\n });\n };\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n return;\n }\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n _hideModal() {\n this._element.style.display = 'none';\n this._element.setAttribute('aria-hidden', true);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n this._isTransitioning = false;\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n this._resetAdjustments();\n this._scrollBar.reset();\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n if (hideEvent.defaultPrevented) {\n return;\n }\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY;\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n this._element.classList.add(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n this._element.focus();\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const scrollbarWidth = this._scrollBar.getWidth();\n const isBodyOverflowing = scrollbarWidth > 0;\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](relatedTarget);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n EventHandler.one(target, EVENT_SHOW$4, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n });\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$5;\n }\n static get DefaultType() {\n return DefaultType$5;\n }\n static get NAME() {\n return NAME$6;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._backdrop.show();\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n this._element.classList.add(CLASS_NAME_SHOW$3);\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\n };\n this._queueCallback(completeCallBack, this._element, true);\n }\n hide() {\n if (!this._isShown) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._focustrap.deactivate();\n this._element.blur();\n this._isShown = false;\n this._element.classList.add(CLASS_NAME_HIDING);\n this._backdrop.hide();\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n this._queueCallback(completeCallback, this._element, true);\n }\n dispose() {\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n this.hide();\n };\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n });\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n });\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n// js-docs-end allow-list\n\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));\n }\n return true;\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n }\n\n // Getters\n static get Default() {\n return Default$4;\n }\n static get DefaultType() {\n return DefaultType$4;\n }\n static get NAME() {\n return NAME$5;\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n hasContent() {\n return this.getContent().length > 0;\n }\n changeContent(content) {\n this._checkContent(content);\n this._config.content = {\n ...this._config.content,\n ...content\n };\n return this;\n }\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n const template = templateWrapper.children[0];\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n return template;\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n this._checkContent(config.content);\n }\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n if (!templateElement) {\n return;\n }\n content = this._resolvePossibleFunction(content);\n if (!content) {\n templateElement.remove();\n return;\n }\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n return;\n }\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n templateElement.textContent = content;\n }\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this]);\n }\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n templateElement.textContent = element.textContent;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' + '
' + '
' + '
',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n super(element, config);\n\n // Private\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null;\n\n // Protected\n this.tip = null;\n this._setListeners();\n if (!this._config.selector) {\n this._fixTitle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$3;\n }\n static get DefaultType() {\n return DefaultType$3;\n }\n static get NAME() {\n return NAME$4;\n }\n\n // Public\n enable() {\n this._isEnabled = true;\n }\n disable() {\n this._isEnabled = false;\n }\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n this._activeTrigger.click = !this._activeTrigger.click;\n if (this._isShown()) {\n this._leave();\n return;\n }\n this._enter();\n }\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n this._disposePopper();\n super.dispose();\n }\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper();\n const tip = this._getTipElement();\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n const {\n container\n } = this._config;\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n if (this._isHovered === false) {\n this._leave();\n }\n this._isHovered = false;\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n hide() {\n if (!this._isShown()) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n if (hideEvent.defaultPrevented) {\n return;\n }\n const tip = this._getTipElement();\n tip.classList.remove(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n if (!this._isHovered) {\n this._disposePopper();\n }\n this._element.removeAttribute('aria-describedby');\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n update() {\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n return this.tip;\n }\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml();\n\n // TODO: remove this check in v6\n if (!tip) {\n return null;\n }\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n return tip;\n }\n setContent(content) {\n this._newContent = content;\n if (this._isShown()) {\n this._disposePopper();\n this.show();\n }\n }\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n return this._templateFactory;\n }\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element]);\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element]);\n }\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n context._leave();\n });\n }\n }\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n _fixTitle() {\n const title = this._element.getAttribute('title');\n if (!title) {\n return;\n }\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title');\n }\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n this._isHovered = true;\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n this._isHovered = false;\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n return config;\n }\n _getDelegateConfig() {\n const config = {};\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value;\n }\n }\n config.selector = false;\n config.trigger = 'manual';\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config;\n }\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' + '
' + '

' + '
' + '
',\n trigger: 'click'\n};\nconst DefaultType$2 = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n static get DefaultType() {\n return DefaultType$2;\n }\n static get NAME() {\n return NAME$3;\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent();\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n }\n\n // Getters\n static get Default() {\n return Default$1;\n }\n static get DefaultType() {\n return DefaultType$1;\n }\n static get NAME() {\n return NAME$2;\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables();\n this._maybeEnableSmoothScroll();\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n dispose() {\n this._observer.disconnect();\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body;\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n return config;\n }\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height;\n }\n });\n }\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n this._process(targetElement(entry));\n };\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n this._clearActiveClass(targetElement(entry));\n continue;\n }\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop;\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry);\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return;\n }\n continue;\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor);\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n this._clearActiveClass(this._config.target);\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n this._activateParents(target);\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
    and