From 9a1a7a4c7dd7e3bf88909dcc563b9675699ecba9 Mon Sep 17 00:00:00 2001 From: Paul Garner Date: Tue, 19 Nov 2024 11:49:07 +0000 Subject: [PATCH 1/2] typing for `defineExtension` should allow partials --- src/htmx.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/htmx.js b/src/htmx.js index 7792941d3..64e0afa08 100644 --- a/src/htmx.js +++ b/src/htmx.js @@ -4881,7 +4881,7 @@ var htmx = (function() { * @see https://htmx.org/api/#defineExtension * * @param {string} name the extension name - * @param {HtmxExtension} extension the extension definition + * @param {Partial} extension the extension definition */ function defineExtension(name, extension) { if (extension.init) { From 8a77bda543e842acc86ece03b3dcc9f6006d6977 Mon Sep 17 00:00:00 2001 From: anentropic Date: Wed, 20 Nov 2024 09:30:34 +0000 Subject: [PATCH 2/2] build dist from updated htmx.js --- dist/htmx.amd.js | 18 +++++++++++++----- dist/htmx.cjs.js | 18 +++++++++++++----- dist/htmx.esm.d.ts | 2 +- dist/htmx.esm.js | 18 +++++++++++++----- dist/htmx.js | 18 +++++++++++++----- dist/htmx.min.js | 2 +- dist/htmx.min.js.gz | Bin 16180 -> 16196 bytes package-lock.json | 4 ++-- 8 files changed, 56 insertions(+), 24 deletions(-) diff --git a/dist/htmx.amd.js b/dist/htmx.amd.js index aab788f82..203414920 100644 --- a/dist/htmx.amd.js +++ b/dist/htmx.amd.js @@ -2324,7 +2324,7 @@ var htmx = (function() { const rawAttribute = getRawAttribute(elt, 'method') verb = (/** @type HttpVerb */(rawAttribute ? rawAttribute.toLowerCase() : 'get')) path = getRawAttribute(elt, 'action') - if (verb === 'get' && path.includes('?')) { + if (verb === 'get' && path && path.includes('?')) { path = path.replace(/\?[^#]+/, '') } } @@ -3906,9 +3906,9 @@ var htmx = (function() { }) } else { let resolvedTarget = resolveTarget(context.target) - // If target is supplied but can't resolve OR both target and source can't be resolved + // If target is supplied but can't resolve OR source is supplied but both target and source can't be resolved // then use DUMMY_ELT to abort the request with htmx:targetError to avoid it replacing body by mistake - if ((context.target && !resolvedTarget) || (!resolvedTarget && !resolveTarget(context.source))) { + if ((context.target && !resolvedTarget) || (context.source && !resolvedTarget && !resolveTarget(context.source))) { resolvedTarget = DUMMY_ELT } return issueAjaxRequest(verb, path, resolveTarget(context.source), context.event, @@ -4040,7 +4040,15 @@ var htmx = (function() { get: function(target, name) { if (typeof name === 'symbol') { // Forward symbol calls to the FormData itself directly - return Reflect.get(target, name) + const result = Reflect.get(target, name) + // Wrap in function with apply to correctly bind the FormData context, as a direct call would result in an illegal invocation error + if (typeof result === 'function') { + return function() { + return result.apply(formData, arguments) + } + } else { + return result + } } if (name === 'toJSON') { // Support JSON.stringify call on proxy @@ -4874,7 +4882,7 @@ var htmx = (function() { * @see https://htmx.org/api/#defineExtension * * @param {string} name the extension name - * @param {HtmxExtension} extension the extension definition + * @param {Partial} extension the extension definition */ function defineExtension(name, extension) { if (extension.init) { diff --git a/dist/htmx.cjs.js b/dist/htmx.cjs.js index d07e0946d..e131b91e4 100644 --- a/dist/htmx.cjs.js +++ b/dist/htmx.cjs.js @@ -2323,7 +2323,7 @@ var htmx = (function() { const rawAttribute = getRawAttribute(elt, 'method') verb = (/** @type HttpVerb */(rawAttribute ? rawAttribute.toLowerCase() : 'get')) path = getRawAttribute(elt, 'action') - if (verb === 'get' && path.includes('?')) { + if (verb === 'get' && path && path.includes('?')) { path = path.replace(/\?[^#]+/, '') } } @@ -3905,9 +3905,9 @@ var htmx = (function() { }) } else { let resolvedTarget = resolveTarget(context.target) - // If target is supplied but can't resolve OR both target and source can't be resolved + // If target is supplied but can't resolve OR source is supplied but both target and source can't be resolved // then use DUMMY_ELT to abort the request with htmx:targetError to avoid it replacing body by mistake - if ((context.target && !resolvedTarget) || (!resolvedTarget && !resolveTarget(context.source))) { + if ((context.target && !resolvedTarget) || (context.source && !resolvedTarget && !resolveTarget(context.source))) { resolvedTarget = DUMMY_ELT } return issueAjaxRequest(verb, path, resolveTarget(context.source), context.event, @@ -4039,7 +4039,15 @@ var htmx = (function() { get: function(target, name) { if (typeof name === 'symbol') { // Forward symbol calls to the FormData itself directly - return Reflect.get(target, name) + const result = Reflect.get(target, name) + // Wrap in function with apply to correctly bind the FormData context, as a direct call would result in an illegal invocation error + if (typeof result === 'function') { + return function() { + return result.apply(formData, arguments) + } + } else { + return result + } } if (name === 'toJSON') { // Support JSON.stringify call on proxy @@ -4873,7 +4881,7 @@ var htmx = (function() { * @see https://htmx.org/api/#defineExtension * * @param {string} name the extension name - * @param {HtmxExtension} extension the extension definition + * @param {Partial} extension the extension definition */ function defineExtension(name, extension) { if (extension.init) { diff --git a/dist/htmx.esm.d.ts b/dist/htmx.esm.d.ts index f32d5e122..55c5f7f6a 100644 --- a/dist/htmx.esm.d.ts +++ b/dist/htmx.esm.d.ts @@ -159,7 +159,7 @@ declare namespace htmx { let toggleClass: (elt: Element | string, clazz: string) => void; let takeClass: (elt: Node | string, clazz: string) => void; let swap: (target: string | Element, content: string, swapSpec: HtmxSwapSpecification, swapOptions?: SwapOptions) => void; - let defineExtension: (name: string, extension: HtmxExtension) => void; + let defineExtension: (name: string, extension: Partial) => void; let removeExtension: (name: string) => void; let logAll: () => void; let logNone: () => void; diff --git a/dist/htmx.esm.js b/dist/htmx.esm.js index f3b4c5eaa..4a935870a 100644 --- a/dist/htmx.esm.js +++ b/dist/htmx.esm.js @@ -2323,7 +2323,7 @@ var htmx = (function() { const rawAttribute = getRawAttribute(elt, 'method') verb = (/** @type HttpVerb */(rawAttribute ? rawAttribute.toLowerCase() : 'get')) path = getRawAttribute(elt, 'action') - if (verb === 'get' && path.includes('?')) { + if (verb === 'get' && path && path.includes('?')) { path = path.replace(/\?[^#]+/, '') } } @@ -3905,9 +3905,9 @@ var htmx = (function() { }) } else { let resolvedTarget = resolveTarget(context.target) - // If target is supplied but can't resolve OR both target and source can't be resolved + // If target is supplied but can't resolve OR source is supplied but both target and source can't be resolved // then use DUMMY_ELT to abort the request with htmx:targetError to avoid it replacing body by mistake - if ((context.target && !resolvedTarget) || (!resolvedTarget && !resolveTarget(context.source))) { + if ((context.target && !resolvedTarget) || (context.source && !resolvedTarget && !resolveTarget(context.source))) { resolvedTarget = DUMMY_ELT } return issueAjaxRequest(verb, path, resolveTarget(context.source), context.event, @@ -4039,7 +4039,15 @@ var htmx = (function() { get: function(target, name) { if (typeof name === 'symbol') { // Forward symbol calls to the FormData itself directly - return Reflect.get(target, name) + const result = Reflect.get(target, name) + // Wrap in function with apply to correctly bind the FormData context, as a direct call would result in an illegal invocation error + if (typeof result === 'function') { + return function() { + return result.apply(formData, arguments) + } + } else { + return result + } } if (name === 'toJSON') { // Support JSON.stringify call on proxy @@ -4873,7 +4881,7 @@ var htmx = (function() { * @see https://htmx.org/api/#defineExtension * * @param {string} name the extension name - * @param {HtmxExtension} extension the extension definition + * @param {Partial} extension the extension definition */ function defineExtension(name, extension) { if (extension.init) { diff --git a/dist/htmx.js b/dist/htmx.js index f949da04e..64e0afa08 100644 --- a/dist/htmx.js +++ b/dist/htmx.js @@ -2323,7 +2323,7 @@ var htmx = (function() { const rawAttribute = getRawAttribute(elt, 'method') verb = (/** @type HttpVerb */(rawAttribute ? rawAttribute.toLowerCase() : 'get')) path = getRawAttribute(elt, 'action') - if (verb === 'get' && path.includes('?')) { + if (verb === 'get' && path && path.includes('?')) { path = path.replace(/\?[^#]+/, '') } } @@ -3905,9 +3905,9 @@ var htmx = (function() { }) } else { let resolvedTarget = resolveTarget(context.target) - // If target is supplied but can't resolve OR both target and source can't be resolved + // If target is supplied but can't resolve OR source is supplied but both target and source can't be resolved // then use DUMMY_ELT to abort the request with htmx:targetError to avoid it replacing body by mistake - if ((context.target && !resolvedTarget) || (!resolvedTarget && !resolveTarget(context.source))) { + if ((context.target && !resolvedTarget) || (context.source && !resolvedTarget && !resolveTarget(context.source))) { resolvedTarget = DUMMY_ELT } return issueAjaxRequest(verb, path, resolveTarget(context.source), context.event, @@ -4039,7 +4039,15 @@ var htmx = (function() { get: function(target, name) { if (typeof name === 'symbol') { // Forward symbol calls to the FormData itself directly - return Reflect.get(target, name) + const result = Reflect.get(target, name) + // Wrap in function with apply to correctly bind the FormData context, as a direct call would result in an illegal invocation error + if (typeof result === 'function') { + return function() { + return result.apply(formData, arguments) + } + } else { + return result + } } if (name === 'toJSON') { // Support JSON.stringify call on proxy @@ -4873,7 +4881,7 @@ var htmx = (function() { * @see https://htmx.org/api/#defineExtension * * @param {string} name the extension name - * @param {HtmxExtension} extension the extension definition + * @param {Partial} extension the extension definition */ function defineExtension(name, extension) { if (extension.init) { diff --git a/dist/htmx.min.js b/dist/htmx.min.js index 423cf011b..78069d552 100644 --- a/dist/htmx.min.js +++ b/dist/htmx.min.js @@ -1 +1 @@ -var htmx=function(){"use strict";const Q={onLoad:null,process:null,on:null,off:null,trigger:null,ajax:null,find:null,findAll:null,closest:null,values:function(e,t){const n=cn(e,t||"post");return n.values},remove:null,addClass:null,removeClass:null,toggleClass:null,takeClass:null,swap:null,defineExtension:null,removeExtension:null,logAll:null,logNone:null,logger:null,config:{historyEnabled:true,historyCacheSize:10,refreshOnHistoryMiss:false,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:true,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:true,allowScriptTags:true,inlineScriptNonce:"",inlineStyleNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:false,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",scrollBehavior:"instant",defaultFocusScroll:false,getCacheBusterParam:false,globalViewTransitions:false,methodsThatUseUrlParams:["get","delete"],selfRequestsOnly:true,ignoreTitle:false,scrollIntoViewOnBoost:true,triggerSpecsCache:null,disableInheritance:false,responseHandling:[{code:"204",swap:false},{code:"[23]..",swap:true},{code:"[45]..",swap:false,error:true}],allowNestedOobSwaps:true},parseInterval:null,_:null,version:"2.0.3"};Q.onLoad=j;Q.process=kt;Q.on=ye;Q.off=be;Q.trigger=de;Q.ajax=Rn;Q.find=r;Q.findAll=x;Q.closest=g;Q.remove=z;Q.addClass=K;Q.removeClass=G;Q.toggleClass=W;Q.takeClass=Z;Q.swap=$e;Q.defineExtension=Fn;Q.removeExtension=Bn;Q.logAll=V;Q.logNone=_;Q.parseInterval=h;Q._=e;const n={addTriggerHandler:St,bodyContains:le,canAccessLocalStorage:B,findThisElement:Se,filterValues:dn,swap:$e,hasAttribute:s,getAttributeValue:te,getClosestAttributeValue:re,getClosestMatch:i,getExpressionVars:En,getHeaders:fn,getInputValues:cn,getInternalData:ie,getSwapSpecification:gn,getTriggerSpecs:st,getTarget:Ee,makeFragment:P,mergeObjects:ce,makeSettleInfo:xn,oobSwap:He,querySelectorExt:ae,settleImmediately:Kt,shouldCancel:dt,triggerEvent:de,triggerErrorEvent:fe,withExtensions:Ft};const o=["get","post","put","delete","patch"];const R=o.map(function(e){return"[hx-"+e+"], [data-hx-"+e+"]"}).join(", ");function h(e){if(e==undefined){return undefined}let t=NaN;if(e.slice(-2)=="ms"){t=parseFloat(e.slice(0,-2))}else if(e.slice(-1)=="s"){t=parseFloat(e.slice(0,-1))*1e3}else if(e.slice(-1)=="m"){t=parseFloat(e.slice(0,-1))*1e3*60}else{t=parseFloat(e)}return isNaN(t)?undefined:t}function ee(e,t){return e instanceof Element&&e.getAttribute(t)}function s(e,t){return!!e.hasAttribute&&(e.hasAttribute(t)||e.hasAttribute("data-"+t))}function te(e,t){return ee(e,t)||ee(e,"data-"+t)}function c(e){const t=e.parentElement;if(!t&&e.parentNode instanceof ShadowRoot)return e.parentNode;return t}function ne(){return document}function m(e,t){return e.getRootNode?e.getRootNode({composed:t}):ne()}function i(e,t){while(e&&!t(e)){e=c(e)}return e||null}function H(e,t,n){const r=te(t,n);const o=te(t,"hx-disinherit");var i=te(t,"hx-inherit");if(e!==t){if(Q.config.disableInheritance){if(i&&(i==="*"||i.split(" ").indexOf(n)>=0)){return r}else{return null}}if(o&&(o==="*"||o.split(" ").indexOf(n)>=0)){return"unset"}}return r}function re(t,n){let r=null;i(t,function(e){return!!(r=H(t,ue(e),n))});if(r!=="unset"){return r}}function d(e,t){const n=e instanceof Element&&(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector);return!!n&&n.call(e,t)}function T(e){const t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i;const n=t.exec(e);if(n){return n[1].toLowerCase()}else{return""}}function q(e){const t=new DOMParser;return t.parseFromString(e,"text/html")}function L(e,t){while(t.childNodes.length>0){e.append(t.childNodes[0])}}function N(e){const t=ne().createElement("script");se(e.attributes,function(e){t.setAttribute(e.name,e.value)});t.textContent=e.textContent;t.async=false;if(Q.config.inlineScriptNonce){t.nonce=Q.config.inlineScriptNonce}return t}function A(e){return e.matches("script")&&(e.type==="text/javascript"||e.type==="module"||e.type==="")}function I(e){Array.from(e.querySelectorAll("script")).forEach(e=>{if(A(e)){const t=N(e);const n=e.parentNode;try{n.insertBefore(t,e)}catch(e){C(e)}finally{e.remove()}}})}function P(e){const t=e.replace(/]*)?>[\s\S]*?<\/head>/i,"");const n=T(t);let r;if(n==="html"){r=new DocumentFragment;const i=q(e);L(r,i.body);r.title=i.title}else if(n==="body"){r=new DocumentFragment;const i=q(t);L(r,i.body);r.title=i.title}else{const i=q('");r=i.querySelector("template").content;r.title=i.title;var o=r.querySelector("title");if(o&&o.parentNode===r){o.remove();r.title=o.innerText}}if(r){if(Q.config.allowScriptTags){I(r)}else{r.querySelectorAll("script").forEach(e=>e.remove())}}return r}function oe(e){if(e){e()}}function t(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"}function k(e){return typeof e==="function"}function D(e){return t(e,"Object")}function ie(e){const t="htmx-internal-data";let n=e[t];if(!n){n=e[t]={}}return n}function M(t){const n=[];if(t){for(let e=0;e=0}function le(e){const t=e.getRootNode&&e.getRootNode();if(t&&t instanceof window.ShadowRoot){return ne().body.contains(t.host)}else{return ne().body.contains(e)}}function F(e){return e.trim().split(/\s+/)}function ce(e,t){for(const n in t){if(t.hasOwnProperty(n)){e[n]=t[n]}}return e}function S(e){try{return JSON.parse(e)}catch(e){C(e);return null}}function B(){const e="htmx:localStorageTest";try{localStorage.setItem(e,e);localStorage.removeItem(e);return true}catch(e){return false}}function U(t){try{const e=new URL(t);if(e){t=e.pathname+e.search}if(!/^\/$/.test(t)){t=t.replace(/\/+$/,"")}return t}catch(e){return t}}function e(e){return vn(ne().body,function(){return eval(e)})}function j(t){const e=Q.on("htmx:load",function(e){t(e.detail.elt)});return e}function V(){Q.logger=function(e,t,n){if(console){console.log(t,e,n)}}}function _(){Q.logger=null}function r(e,t){if(typeof e!=="string"){return e.querySelector(t)}else{return r(ne(),e)}}function x(e,t){if(typeof e!=="string"){return e.querySelectorAll(t)}else{return x(ne(),e)}}function E(){return window}function z(e,t){e=y(e);if(t){E().setTimeout(function(){z(e);e=null},t)}else{c(e).removeChild(e)}}function ue(e){return e instanceof Element?e:null}function $(e){return e instanceof HTMLElement?e:null}function J(e){return typeof e==="string"?e:null}function f(e){return e instanceof Element||e instanceof Document||e instanceof DocumentFragment?e:null}function K(e,t,n){e=ue(y(e));if(!e){return}if(n){E().setTimeout(function(){K(e,t);e=null},n)}else{e.classList&&e.classList.add(t)}}function G(e,t,n){let r=ue(y(e));if(!r){return}if(n){E().setTimeout(function(){G(r,t);r=null},n)}else{if(r.classList){r.classList.remove(t);if(r.classList.length===0){r.removeAttribute("class")}}}}function W(e,t){e=y(e);e.classList.toggle(t)}function Z(e,t){e=y(e);se(e.parentElement.children,function(e){G(e,t)});K(ue(e),t)}function g(e,t){e=ue(y(e));if(e&&e.closest){return e.closest(t)}else{do{if(e==null||d(e,t)){return e}}while(e=e&&ue(c(e)));return null}}function l(e,t){return e.substring(0,t.length)===t}function Y(e,t){return e.substring(e.length-t.length)===t}function ge(e){const t=e.trim();if(l(t,"<")&&Y(t,"/>")){return t.substring(1,t.length-2)}else{return t}}function p(e,t,n){e=y(e);if(t.indexOf("closest ")===0){return[g(ue(e),ge(t.substr(8)))]}else if(t.indexOf("find ")===0){return[r(f(e),ge(t.substr(5)))]}else if(t==="next"){return[ue(e).nextElementSibling]}else if(t.indexOf("next ")===0){return[pe(e,ge(t.substr(5)),!!n)]}else if(t==="previous"){return[ue(e).previousElementSibling]}else if(t.indexOf("previous ")===0){return[me(e,ge(t.substr(9)),!!n)]}else if(t==="document"){return[document]}else if(t==="window"){return[window]}else if(t==="body"){return[document.body]}else if(t==="root"){return[m(e,!!n)]}else if(t==="host"){return[e.getRootNode().host]}else if(t.indexOf("global ")===0){return p(e,t.slice(7),true)}else{return M(f(m(e,!!n)).querySelectorAll(ge(t)))}}var pe=function(t,e,n){const r=f(m(t,n)).querySelectorAll(e);for(let e=0;e=0;e--){const o=r[e];if(o.compareDocumentPosition(t)===Node.DOCUMENT_POSITION_FOLLOWING){return o}}};function ae(e,t){if(typeof e!=="string"){return p(e,t)[0]}else{return p(ne().body,e)[0]}}function y(e,t){if(typeof e==="string"){return r(f(t)||document,e)}else{return e}}function xe(e,t,n,r){if(k(t)){return{target:ne().body,event:J(e),listener:t,options:n}}else{return{target:y(e),event:J(t),listener:n,options:r}}}function ye(t,n,r,o){Vn(function(){const e=xe(t,n,r,o);e.target.addEventListener(e.event,e.listener,e.options)});const e=k(n);return e?n:r}function be(t,n,r){Vn(function(){const e=xe(t,n,r);e.target.removeEventListener(e.event,e.listener)});return k(n)?n:r}const ve=ne().createElement("output");function we(e,t){const n=re(e,t);if(n){if(n==="this"){return[Se(e,t)]}else{const r=p(e,n);if(r.length===0){C('The selector "'+n+'" on '+t+" returned no matches!");return[ve]}else{return r}}}}function Se(e,t){return ue(i(e,function(e){return te(ue(e),t)!=null}))}function Ee(e){const t=re(e,"hx-target");if(t){if(t==="this"){return Se(e,"hx-target")}else{return ae(e,t)}}else{const n=ie(e);if(n.boosted){return ne().body}else{return e}}}function Ce(t){const n=Q.config.attributesToSettle;for(let e=0;e0){s=e.substr(0,e.indexOf(":"));n=e.substr(e.indexOf(":")+1,e.length)}else{s=e}o.removeAttribute("hx-swap-oob");o.removeAttribute("data-hx-swap-oob");const r=p(t,n,false);if(r){se(r,function(e){let t;const n=o.cloneNode(true);t=ne().createDocumentFragment();t.appendChild(n);if(!Re(s,e)){t=f(n)}const r={shouldSwap:true,target:e,fragment:t};if(!de(e,"htmx:oobBeforeSwap",r))return;e=r.target;if(r.shouldSwap){qe(t);_e(s,e,e,t,i);Te()}se(i.elts,function(e){de(e,"htmx:oobAfterSwap",r)})});o.parentNode.removeChild(o)}else{o.parentNode.removeChild(o);fe(ne().body,"htmx:oobErrorNoTarget",{content:o})}return e}function Te(){const e=r("#--htmx-preserve-pantry--");if(e){for(const t of[...e.children]){const n=r("#"+t.id);n.parentNode.moveBefore(t,n);n.remove()}e.remove()}}function qe(e){se(x(e,"[hx-preserve], [data-hx-preserve]"),function(e){const t=te(e,"id");const n=ne().getElementById(t);if(n!=null){if(e.moveBefore){let e=r("#--htmx-preserve-pantry--");if(e==null){ne().body.insertAdjacentHTML("afterend","
");e=r("#--htmx-preserve-pantry--")}e.moveBefore(n,null)}else{e.parentNode.replaceChild(n,e)}}})}function Le(l,e,c){se(e.querySelectorAll("[id]"),function(t){const n=ee(t,"id");if(n&&n.length>0){const r=n.replace("'","\\'");const o=t.tagName.replace(":","\\:");const e=f(l);const i=e&&e.querySelector(o+"[id='"+r+"']");if(i&&i!==e){const s=t.cloneNode();Oe(t,i);c.tasks.push(function(){Oe(t,s)})}}})}function Ne(e){return function(){G(e,Q.config.addedClass);kt(ue(e));Ae(f(e));de(e,"htmx:load")}}function Ae(e){const t="[autofocus]";const n=$(d(e,t)?e:e.querySelector(t));if(n!=null){n.focus()}}function u(e,t,n,r){Le(e,n,r);while(n.childNodes.length>0){const o=n.firstChild;K(ue(o),Q.config.addedClass);e.insertBefore(o,t);if(o.nodeType!==Node.TEXT_NODE&&o.nodeType!==Node.COMMENT_NODE){r.tasks.push(Ne(o))}}}function Ie(e,t){let n=0;while(n0}function $e(e,t,r,o){if(!o){o={}}e=y(e);const i=o.contextElement?m(o.contextElement,false):ne();const n=document.activeElement;let s={};try{s={elt:n,start:n?n.selectionStart:null,end:n?n.selectionEnd:null}}catch(e){}const l=xn(e);if(r.swapStyle==="textContent"){e.textContent=t}else{let n=P(t);l.title=n.title;if(o.selectOOB){const u=o.selectOOB.split(",");for(let t=0;t0){E().setTimeout(c,r.settleDelay)}else{c()}}function Je(e,t,n){const r=e.getResponseHeader(t);if(r.indexOf("{")===0){const o=S(r);for(const i in o){if(o.hasOwnProperty(i)){let e=o[i];if(D(e)){n=e.target!==undefined?e.target:n}else{e={value:e}}de(n,i,e)}}}else{const s=r.split(",");for(let e=0;e0){const s=o[0];if(s==="]"){e--;if(e===0){if(n===null){t=t+"true"}o.shift();t+=")})";try{const l=vn(r,function(){return Function(t)()},function(){return true});l.source=t;return l}catch(e){fe(ne().body,"htmx:syntax:error",{error:e,source:t});return null}}}else if(s==="["){e++}if(tt(s,n,i)){t+="(("+i+"."+s+") ? ("+i+"."+s+") : (window."+s+"))"}else{t=t+s}n=o.shift()}}}function w(e,t){let n="";while(e.length>0&&!t.test(e[0])){n+=e.shift()}return n}function rt(e){let t;if(e.length>0&&Ye.test(e[0])){e.shift();t=w(e,Qe).trim();e.shift()}else{t=w(e,b)}return t}const ot="input, textarea, select";function it(e,t,n){const r=[];const o=et(t);do{w(o,v);const l=o.length;const c=w(o,/[,\[\s]/);if(c!==""){if(c==="every"){const u={trigger:"every"};w(o,v);u.pollInterval=h(w(o,/[,\[\s]/));w(o,v);var i=nt(e,o,"event");if(i){u.eventFilter=i}r.push(u)}else{const a={trigger:c};var i=nt(e,o,"event");if(i){a.eventFilter=i}w(o,v);while(o.length>0&&o[0]!==","){const f=o.shift();if(f==="changed"){a.changed=true}else if(f==="once"){a.once=true}else if(f==="consume"){a.consume=true}else if(f==="delay"&&o[0]===":"){o.shift();a.delay=h(w(o,b))}else if(f==="from"&&o[0]===":"){o.shift();if(Ye.test(o[0])){var s=rt(o)}else{var s=w(o,b);if(s==="closest"||s==="find"||s==="next"||s==="previous"){o.shift();const d=rt(o);if(d.length>0){s+=" "+d}}}a.from=s}else if(f==="target"&&o[0]===":"){o.shift();a.target=rt(o)}else if(f==="throttle"&&o[0]===":"){o.shift();a.throttle=h(w(o,b))}else if(f==="queue"&&o[0]===":"){o.shift();a.queue=w(o,b)}else if(f==="root"&&o[0]===":"){o.shift();a[f]=rt(o)}else if(f==="threshold"&&o[0]===":"){o.shift();a[f]=w(o,b)}else{fe(e,"htmx:syntax:error",{token:o.shift()})}w(o,v)}r.push(a)}}if(o.length===l){fe(e,"htmx:syntax:error",{token:o.shift()})}w(o,v)}while(o[0]===","&&o.shift());if(n){n[t]=r}return r}function st(e){const t=te(e,"hx-trigger");let n=[];if(t){const r=Q.config.triggerSpecsCache;n=r&&r[t]||it(e,t,r)}if(n.length>0){return n}else if(d(e,"form")){return[{trigger:"submit"}]}else if(d(e,'input[type="button"], input[type="submit"]')){return[{trigger:"click"}]}else if(d(e,ot)){return[{trigger:"change"}]}else{return[{trigger:"click"}]}}function lt(e){ie(e).cancelled=true}function ct(e,t,n){const r=ie(e);r.timeout=E().setTimeout(function(){if(le(e)&&r.cancelled!==true){if(!gt(n,e,Mt("hx:poll:trigger",{triggerSpec:n,target:e}))){t(e)}ct(e,t,n)}},n.pollInterval)}function ut(e){return location.hostname===e.hostname&&ee(e,"href")&&ee(e,"href").indexOf("#")!==0}function at(e){return g(e,Q.config.disableSelector)}function ft(t,n,e){if(t instanceof HTMLAnchorElement&&ut(t)&&(t.target===""||t.target==="_self")||t.tagName==="FORM"&&String(ee(t,"method")).toLowerCase()!=="dialog"){n.boosted=true;let r,o;if(t.tagName==="A"){r="get";o=ee(t,"href")}else{const i=ee(t,"method");r=i?i.toLowerCase():"get";o=ee(t,"action");if(r==="get"&&o.includes("?")){o=o.replace(/\?[^#]+/,"")}}e.forEach(function(e){pt(t,function(e,t){const n=ue(e);if(at(n)){a(n);return}he(r,o,n,t)},n,e,true)})}}function dt(e,t){const n=ue(t);if(!n){return false}if(e.type==="submit"||e.type==="click"){if(n.tagName==="FORM"){return true}if(d(n,'input[type="submit"], button')&&g(n,"form")!==null){return true}if(n instanceof HTMLAnchorElement&&n.href&&(n.getAttribute("href")==="#"||n.getAttribute("href").indexOf("#")!==0)){return true}}return false}function ht(e,t){return ie(e).boosted&&e instanceof HTMLAnchorElement&&t.type==="click"&&(t.ctrlKey||t.metaKey)}function gt(e,t,n){const r=e.eventFilter;if(r){try{return r.call(t,n)!==true}catch(e){const o=r.source;fe(ne().body,"htmx:eventFilter:error",{error:e,source:o});return true}}return false}function pt(l,c,e,u,a){const f=ie(l);let t;if(u.from){t=p(l,u.from)}else{t=[l]}if(u.changed){if(!("lastValue"in f)){f.lastValue=new WeakMap}t.forEach(function(e){if(!f.lastValue.has(u)){f.lastValue.set(u,new WeakMap)}f.lastValue.get(u).set(e,e.value)})}se(t,function(i){const s=function(e){if(!le(l)){i.removeEventListener(u.trigger,s);return}if(ht(l,e)){return}if(a||dt(e,l)){e.preventDefault()}if(gt(u,l,e)){return}const t=ie(e);t.triggerSpec=u;if(t.handledFor==null){t.handledFor=[]}if(t.handledFor.indexOf(l)<0){t.handledFor.push(l);if(u.consume){e.stopPropagation()}if(u.target&&e.target){if(!d(ue(e.target),u.target)){return}}if(u.once){if(f.triggeredOnce){return}else{f.triggeredOnce=true}}if(u.changed){const n=event.target;const r=n.value;const o=f.lastValue.get(u);if(o.has(n)&&o.get(n)===r){return}o.set(n,r)}if(f.delayed){clearTimeout(f.delayed)}if(f.throttle){return}if(u.throttle>0){if(!f.throttle){de(l,"htmx:trigger");c(l,e);f.throttle=E().setTimeout(function(){f.throttle=null},u.throttle)}}else if(u.delay>0){f.delayed=E().setTimeout(function(){de(l,"htmx:trigger");c(l,e)},u.delay)}else{de(l,"htmx:trigger");c(l,e)}}};if(e.listenerInfos==null){e.listenerInfos=[]}e.listenerInfos.push({trigger:u.trigger,listener:s,on:i});i.addEventListener(u.trigger,s)})}let mt=false;let xt=null;function yt(){if(!xt){xt=function(){mt=true};window.addEventListener("scroll",xt);window.addEventListener("resize",xt);setInterval(function(){if(mt){mt=false;se(ne().querySelectorAll("[hx-trigger*='revealed'],[data-hx-trigger*='revealed']"),function(e){bt(e)})}},200)}}function bt(e){if(!s(e,"data-hx-revealed")&&X(e)){e.setAttribute("data-hx-revealed","true");const t=ie(e);if(t.initHash){de(e,"revealed")}else{e.addEventListener("htmx:afterProcessNode",function(){de(e,"revealed")},{once:true})}}}function vt(e,t,n,r){const o=function(){if(!n.loaded){n.loaded=true;t(e)}};if(r>0){E().setTimeout(o,r)}else{o()}}function wt(t,n,e){let i=false;se(o,function(r){if(s(t,"hx-"+r)){const o=te(t,"hx-"+r);i=true;n.path=o;n.verb=r;e.forEach(function(e){St(t,e,n,function(e,t){const n=ue(e);if(g(n,Q.config.disableSelector)){a(n);return}he(r,o,n,t)})})}});return i}function St(r,e,t,n){if(e.trigger==="revealed"){yt();pt(r,n,t,e);bt(ue(r))}else if(e.trigger==="intersect"){const o={};if(e.root){o.root=ae(r,e.root)}if(e.threshold){o.threshold=parseFloat(e.threshold)}const i=new IntersectionObserver(function(t){for(let e=0;e0){t.polling=true;ct(ue(r),n,e)}else{pt(r,n,t,e)}}function Et(e){const t=ue(e);if(!t){return false}const n=t.attributes;for(let e=0;e", "+e).join(""));return o}else{return[]}}function Tt(e){const t=g(ue(e.target),"button, input[type='submit']");const n=Lt(e);if(n){n.lastButtonClicked=t}}function qt(e){const t=Lt(e);if(t){t.lastButtonClicked=null}}function Lt(e){const t=g(ue(e.target),"button, input[type='submit']");if(!t){return}const n=y("#"+ee(t,"form"),t.getRootNode())||g(t,"form");if(!n){return}return ie(n)}function Nt(e){e.addEventListener("click",Tt);e.addEventListener("focusin",Tt);e.addEventListener("focusout",qt)}function At(t,e,n){const r=ie(t);if(!Array.isArray(r.onHandlers)){r.onHandlers=[]}let o;const i=function(e){vn(t,function(){if(at(t)){return}if(!o){o=new Function("event",n)}o.call(t,e)})};t.addEventListener(e,i);r.onHandlers.push({event:e,listener:i})}function It(t){ke(t);for(let e=0;eQ.config.historyCacheSize){i.shift()}while(i.length>0){try{localStorage.setItem("htmx-history-cache",JSON.stringify(i));break}catch(e){fe(ne().body,"htmx:historyCacheError",{cause:e,cache:i});i.shift()}}}function Vt(t){if(!B()){return null}t=U(t);const n=S(localStorage.getItem("htmx-history-cache"))||[];for(let e=0;e=200&&this.status<400){de(ne().body,"htmx:historyCacheMissLoad",i);const e=P(this.response);const t=e.querySelector("[hx-history-elt],[data-hx-history-elt]")||e;const n=Ut();const r=xn(n);kn(e.title);qe(e);Ve(n,t,r);Te();Kt(r.tasks);Bt=o;de(ne().body,"htmx:historyRestore",{path:o,cacheMiss:true,serverResponse:this.response})}else{fe(ne().body,"htmx:historyCacheMissLoadError",i)}};e.send()}function Wt(e){zt();e=e||location.pathname+location.search;const t=Vt(e);if(t){const n=P(t.content);const r=Ut();const o=xn(r);kn(t.title);qe(n);Ve(r,n,o);Te();Kt(o.tasks);E().setTimeout(function(){window.scrollTo(0,t.scroll)},0);Bt=e;de(ne().body,"htmx:historyRestore",{path:e,item:t})}else{if(Q.config.refreshOnHistoryMiss){window.location.reload(true)}else{Gt(e)}}}function Zt(e){let t=we(e,"hx-indicator");if(t==null){t=[e]}se(t,function(e){const t=ie(e);t.requestCount=(t.requestCount||0)+1;e.classList.add.call(e.classList,Q.config.requestClass)});return t}function Yt(e){let t=we(e,"hx-disabled-elt");if(t==null){t=[]}se(t,function(e){const t=ie(e);t.requestCount=(t.requestCount||0)+1;e.setAttribute("disabled","");e.setAttribute("data-disabled-by-htmx","")});return t}function Qt(e,t){se(e.concat(t),function(e){const t=ie(e);t.requestCount=(t.requestCount||1)-1});se(e,function(e){const t=ie(e);if(t.requestCount===0){e.classList.remove.call(e.classList,Q.config.requestClass)}});se(t,function(e){const t=ie(e);if(t.requestCount===0){e.removeAttribute("disabled");e.removeAttribute("data-disabled-by-htmx")}})}function en(t,n){for(let e=0;en.indexOf(e)<0)}else{e=e.filter(e=>e!==n)}r.delete(t);se(e,e=>r.append(t,e))}}function on(t,n,r,o,i){if(o==null||en(t,o)){return}else{t.push(o)}if(tn(o)){const s=ee(o,"name");let e=o.value;if(o instanceof HTMLSelectElement&&o.multiple){e=M(o.querySelectorAll("option:checked")).map(function(e){return e.value})}if(o instanceof HTMLInputElement&&o.files){e=M(o.files)}nn(s,e,n);if(i){sn(o,r)}}if(o instanceof HTMLFormElement){se(o.elements,function(e){if(t.indexOf(e)>=0){rn(e.name,e.value,n)}else{t.push(e)}if(i){sn(e,r)}});new FormData(o).forEach(function(e,t){if(e instanceof File&&e.name===""){return}nn(t,e,n)})}}function sn(e,t){const n=e;if(n.willValidate){de(n,"htmx:validation:validate");if(!n.checkValidity()){t.push({elt:n,message:n.validationMessage,validity:n.validity});de(n,"htmx:validation:failed",{message:n.validationMessage,validity:n.validity})}}}function ln(n,e){for(const t of e.keys()){n.delete(t)}e.forEach(function(e,t){n.append(t,e)});return n}function cn(e,t){const n=[];const r=new FormData;const o=new FormData;const i=[];const s=ie(e);if(s.lastButtonClicked&&!le(s.lastButtonClicked)){s.lastButtonClicked=null}let l=e instanceof HTMLFormElement&&e.noValidate!==true||te(e,"hx-validate")==="true";if(s.lastButtonClicked){l=l&&s.lastButtonClicked.formNoValidate!==true}if(t!=="get"){on(n,o,i,g(e,"form"),l)}on(n,r,i,e,l);if(s.lastButtonClicked||e.tagName==="BUTTON"||e.tagName==="INPUT"&&ee(e,"type")==="submit"){const u=s.lastButtonClicked||e;const a=ee(u,"name");nn(a,u.value,o)}const c=we(e,"hx-include");se(c,function(e){on(n,r,i,ue(e),l);if(!d(e,"form")){se(f(e).querySelectorAll(ot),function(e){on(n,r,i,e,l)})}});ln(r,o);return{errors:i,formData:r,values:Nn(r)}}function un(e,t,n){if(e!==""){e+="&"}if(String(n)==="[object Object]"){n=JSON.stringify(n)}const r=encodeURIComponent(n);e+=encodeURIComponent(t)+"="+r;return e}function an(e){e=qn(e);let n="";e.forEach(function(e,t){n=un(n,t,e)});return n}function fn(e,t,n){const r={"HX-Request":"true","HX-Trigger":ee(e,"id"),"HX-Trigger-Name":ee(e,"name"),"HX-Target":te(t,"id"),"HX-Current-URL":ne().location.href};bn(e,"hx-headers",false,r);if(n!==undefined){r["HX-Prompt"]=n}if(ie(e).boosted){r["HX-Boosted"]="true"}return r}function dn(n,e){const t=re(e,"hx-params");if(t){if(t==="none"){return new FormData}else if(t==="*"){return n}else if(t.indexOf("not ")===0){se(t.substr(4).split(","),function(e){e=e.trim();n.delete(e)});return n}else{const r=new FormData;se(t.split(","),function(t){t=t.trim();if(n.has(t)){n.getAll(t).forEach(function(e){r.append(t,e)})}});return r}}else{return n}}function hn(e){return!!ee(e,"href")&&ee(e,"href").indexOf("#")>=0}function gn(e,t){const n=t||re(e,"hx-swap");const r={swapStyle:ie(e).boosted?"innerHTML":Q.config.defaultSwapStyle,swapDelay:Q.config.defaultSwapDelay,settleDelay:Q.config.defaultSettleDelay};if(Q.config.scrollIntoViewOnBoost&&ie(e).boosted&&!hn(e)){r.show="top"}if(n){const s=F(n);if(s.length>0){for(let e=0;e0?o.join(":"):null;r.scroll=u;r.scrollTarget=i}else if(l.indexOf("show:")===0){const a=l.substr(5);var o=a.split(":");const f=o.pop();var i=o.length>0?o.join(":"):null;r.show=f;r.showTarget=i}else if(l.indexOf("focus-scroll:")===0){const d=l.substr("focus-scroll:".length);r.focusScroll=d=="true"}else if(e==0){r.swapStyle=l}else{C("Unknown modifier in hx-swap: "+l)}}}}return r}function pn(e){return re(e,"hx-encoding")==="multipart/form-data"||d(e,"form")&&ee(e,"enctype")==="multipart/form-data"}function mn(t,n,r){let o=null;Ft(n,function(e){if(o==null){o=e.encodeParameters(t,r,n)}});if(o!=null){return o}else{if(pn(n)){return ln(new FormData,qn(r))}else{return an(r)}}}function xn(e){return{tasks:[],elts:[e]}}function yn(e,t){const n=e[0];const r=e[e.length-1];if(t.scroll){var o=null;if(t.scrollTarget){o=ue(ae(n,t.scrollTarget))}if(t.scroll==="top"&&(n||o)){o=o||n;o.scrollTop=0}if(t.scroll==="bottom"&&(r||o)){o=o||r;o.scrollTop=o.scrollHeight}}if(t.show){var o=null;if(t.showTarget){let e=t.showTarget;if(t.showTarget==="window"){e="body"}o=ue(ae(n,e))}if(t.show==="top"&&(n||o)){o=o||n;o.scrollIntoView({block:"start",behavior:Q.config.scrollBehavior})}if(t.show==="bottom"&&(r||o)){o=o||r;o.scrollIntoView({block:"end",behavior:Q.config.scrollBehavior})}}}function bn(r,e,o,i){if(i==null){i={}}if(r==null){return i}const s=te(r,e);if(s){let e=s.trim();let t=o;if(e==="unset"){return null}if(e.indexOf("javascript:")===0){e=e.substr(11);t=true}else if(e.indexOf("js:")===0){e=e.substr(3);t=true}if(e.indexOf("{")!==0){e="{"+e+"}"}let n;if(t){n=vn(r,function(){return Function("return ("+e+")")()},{})}else{n=S(e)}for(const l in n){if(n.hasOwnProperty(l)){if(i[l]==null){i[l]=n[l]}}}}return bn(ue(c(r)),e,o,i)}function vn(e,t,n){if(Q.config.allowEval){return t()}else{fe(e,"htmx:evalDisallowedError");return n}}function wn(e,t){return bn(e,"hx-vars",true,t)}function Sn(e,t){return bn(e,"hx-vals",false,t)}function En(e){return ce(wn(e),Sn(e))}function Cn(t,n,r){if(r!==null){try{t.setRequestHeader(n,r)}catch(e){t.setRequestHeader(n,encodeURIComponent(r));t.setRequestHeader(n+"-URI-AutoEncoded","true")}}}function On(t){if(t.responseURL&&typeof URL!=="undefined"){try{const e=new URL(t.responseURL);return e.pathname+e.search}catch(e){fe(ne().body,"htmx:badResponseUrl",{url:t.responseURL})}}}function O(e,t){return t.test(e.getAllResponseHeaders())}function Rn(t,n,r){t=t.toLowerCase();if(r){if(r instanceof Element||typeof r==="string"){return he(t,n,null,null,{targetOverride:y(r)||ve,returnPromise:true})}else{let e=y(r.target);if(r.target&&!e||!e&&!y(r.source)){e=ve}return he(t,n,y(r.source),r.event,{handler:r.handler,headers:r.headers,values:r.values,targetOverride:e,swapOverride:r.swap,select:r.select,returnPromise:true})}}else{return he(t,n,null,null,{returnPromise:true})}}function Hn(e){const t=[];while(e){t.push(e);e=e.parentElement}return t}function Tn(e,t,n){let r;let o;if(typeof URL==="function"){o=new URL(t,document.location.href);const i=document.location.origin;r=i===o.origin}else{o=t;r=l(t,document.location.origin)}if(Q.config.selfRequestsOnly){if(!r){return false}}return de(e,"htmx:validateUrl",ce({url:o,sameHost:r},n))}function qn(e){if(e instanceof FormData)return e;const t=new FormData;for(const n in e){if(e.hasOwnProperty(n)){if(e[n]&&typeof e[n].forEach==="function"){e[n].forEach(function(e){t.append(n,e)})}else if(typeof e[n]==="object"&&!(e[n]instanceof Blob)){t.append(n,JSON.stringify(e[n]))}else{t.append(n,e[n])}}}return t}function Ln(r,o,e){return new Proxy(e,{get:function(t,e){if(typeof e==="number")return t[e];if(e==="length")return t.length;if(e==="push"){return function(e){t.push(e);r.append(o,e)}}if(typeof t[e]==="function"){return function(){t[e].apply(t,arguments);r.delete(o);t.forEach(function(e){r.append(o,e)})}}if(t[e]&&t[e].length===1){return t[e][0]}else{return t[e]}},set:function(e,t,n){e[t]=n;r.delete(o);e.forEach(function(e){r.append(o,e)});return true}})}function Nn(r){return new Proxy(r,{get:function(e,t){if(typeof t==="symbol"){return Reflect.get(e,t)}if(t==="toJSON"){return()=>Object.fromEntries(r)}if(t in e){if(typeof e[t]==="function"){return function(){return r[t].apply(r,arguments)}}else{return e[t]}}const n=r.getAll(t);if(n.length===0){return undefined}else if(n.length===1){return n[0]}else{return Ln(e,t,n)}},set:function(t,n,e){if(typeof n!=="string"){return false}t.delete(n);if(e&&typeof e.forEach==="function"){e.forEach(function(e){t.append(n,e)})}else if(typeof e==="object"&&!(e instanceof Blob)){t.append(n,JSON.stringify(e))}else{t.append(n,e)}return true},deleteProperty:function(e,t){if(typeof t==="string"){e.delete(t)}return true},ownKeys:function(e){return Reflect.ownKeys(Object.fromEntries(e))},getOwnPropertyDescriptor:function(e,t){return Reflect.getOwnPropertyDescriptor(Object.fromEntries(e),t)}})}function he(t,n,r,o,i,D){let s=null;let l=null;i=i!=null?i:{};if(i.returnPromise&&typeof Promise!=="undefined"){var e=new Promise(function(e,t){s=e;l=t})}if(r==null){r=ne().body}const M=i.handler||Dn;const X=i.select||null;if(!le(r)){oe(s);return e}const c=i.targetOverride||ue(Ee(r));if(c==null||c==ve){fe(r,"htmx:targetError",{target:te(r,"hx-target")});oe(l);return e}let u=ie(r);const a=u.lastButtonClicked;if(a){const L=ee(a,"formaction");if(L!=null){n=L}const N=ee(a,"formmethod");if(N!=null){if(N.toLowerCase()!=="dialog"){t=N}}}const f=re(r,"hx-confirm");if(D===undefined){const K=function(e){return he(t,n,r,o,i,!!e)};const G={target:c,elt:r,path:n,verb:t,triggeringEvent:o,etc:i,issueRequest:K,question:f};if(de(r,"htmx:confirm",G)===false){oe(s);return e}}let d=r;let h=re(r,"hx-sync");let g=null;let F=false;if(h){const A=h.split(":");const I=A[0].trim();if(I==="this"){d=Se(r,"hx-sync")}else{d=ue(ae(r,I))}h=(A[1]||"drop").trim();u=ie(d);if(h==="drop"&&u.xhr&&u.abortable!==true){oe(s);return e}else if(h==="abort"){if(u.xhr){oe(s);return e}else{F=true}}else if(h==="replace"){de(d,"htmx:abort")}else if(h.indexOf("queue")===0){const W=h.split(" ");g=(W[1]||"last").trim()}}if(u.xhr){if(u.abortable){de(d,"htmx:abort")}else{if(g==null){if(o){const P=ie(o);if(P&&P.triggerSpec&&P.triggerSpec.queue){g=P.triggerSpec.queue}}if(g==null){g="last"}}if(u.queuedRequests==null){u.queuedRequests=[]}if(g==="first"&&u.queuedRequests.length===0){u.queuedRequests.push(function(){he(t,n,r,o,i)})}else if(g==="all"){u.queuedRequests.push(function(){he(t,n,r,o,i)})}else if(g==="last"){u.queuedRequests=[];u.queuedRequests.push(function(){he(t,n,r,o,i)})}oe(s);return e}}const p=new XMLHttpRequest;u.xhr=p;u.abortable=F;const m=function(){u.xhr=null;u.abortable=false;if(u.queuedRequests!=null&&u.queuedRequests.length>0){const e=u.queuedRequests.shift();e()}};const B=re(r,"hx-prompt");if(B){var x=prompt(B);if(x===null||!de(r,"htmx:prompt",{prompt:x,target:c})){oe(s);m();return e}}if(f&&!D){if(!confirm(f)){oe(s);m();return e}}let y=fn(r,c,x);if(t!=="get"&&!pn(r)){y["Content-Type"]="application/x-www-form-urlencoded"}if(i.headers){y=ce(y,i.headers)}const U=cn(r,t);let b=U.errors;const j=U.formData;if(i.values){ln(j,qn(i.values))}const V=qn(En(r));const v=ln(j,V);let w=dn(v,r);if(Q.config.getCacheBusterParam&&t==="get"){w.set("org.htmx.cache-buster",ee(c,"id")||"true")}if(n==null||n===""){n=ne().location.href}const S=bn(r,"hx-request");const _=ie(r).boosted;let E=Q.config.methodsThatUseUrlParams.indexOf(t)>=0;const C={boosted:_,useUrlParams:E,formData:w,parameters:Nn(w),unfilteredFormData:v,unfilteredParameters:Nn(v),headers:y,target:c,verb:t,errors:b,withCredentials:i.credentials||S.credentials||Q.config.withCredentials,timeout:i.timeout||S.timeout||Q.config.timeout,path:n,triggeringEvent:o};if(!de(r,"htmx:configRequest",C)){oe(s);m();return e}n=C.path;t=C.verb;y=C.headers;w=qn(C.parameters);b=C.errors;E=C.useUrlParams;if(b&&b.length>0){de(r,"htmx:validation:halted",C);oe(s);m();return e}const z=n.split("#");const $=z[0];const O=z[1];let R=n;if(E){R=$;const Z=!w.keys().next().done;if(Z){if(R.indexOf("?")<0){R+="?"}else{R+="&"}R+=an(w);if(O){R+="#"+O}}}if(!Tn(r,R,C)){fe(r,"htmx:invalidPath",C);oe(l);return e}p.open(t.toUpperCase(),R,true);p.overrideMimeType("text/html");p.withCredentials=C.withCredentials;p.timeout=C.timeout;if(S.noHeaders){}else{for(const k in y){if(y.hasOwnProperty(k)){const Y=y[k];Cn(p,k,Y)}}}const H={xhr:p,target:c,requestConfig:C,etc:i,boosted:_,select:X,pathInfo:{requestPath:n,finalRequestPath:R,responsePath:null,anchor:O}};p.onload=function(){try{const t=Hn(r);H.pathInfo.responsePath=On(p);M(r,H);if(H.keepIndicators!==true){Qt(T,q)}de(r,"htmx:afterRequest",H);de(r,"htmx:afterOnLoad",H);if(!le(r)){let e=null;while(t.length>0&&e==null){const n=t.shift();if(le(n)){e=n}}if(e){de(e,"htmx:afterRequest",H);de(e,"htmx:afterOnLoad",H)}}oe(s);m()}catch(e){fe(r,"htmx:onLoadError",ce({error:e},H));throw e}};p.onerror=function(){Qt(T,q);fe(r,"htmx:afterRequest",H);fe(r,"htmx:sendError",H);oe(l);m()};p.onabort=function(){Qt(T,q);fe(r,"htmx:afterRequest",H);fe(r,"htmx:sendAbort",H);oe(l);m()};p.ontimeout=function(){Qt(T,q);fe(r,"htmx:afterRequest",H);fe(r,"htmx:timeout",H);oe(l);m()};if(!de(r,"htmx:beforeRequest",H)){oe(s);m();return e}var T=Zt(r);var q=Yt(r);se(["loadstart","loadend","progress","abort"],function(t){se([p,p.upload],function(e){e.addEventListener(t,function(e){de(r,"htmx:xhr:"+t,{lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total})})})});de(r,"htmx:beforeSend",H);const J=E?null:mn(p,r,w);p.send(J);return e}function An(e,t){const n=t.xhr;let r=null;let o=null;if(O(n,/HX-Push:/i)){r=n.getResponseHeader("HX-Push");o="push"}else if(O(n,/HX-Push-Url:/i)){r=n.getResponseHeader("HX-Push-Url");o="push"}else if(O(n,/HX-Replace-Url:/i)){r=n.getResponseHeader("HX-Replace-Url");o="replace"}if(r){if(r==="false"){return{}}else{return{type:o,path:r}}}const i=t.pathInfo.finalRequestPath;const s=t.pathInfo.responsePath;const l=re(e,"hx-push-url");const c=re(e,"hx-replace-url");const u=ie(e).boosted;let a=null;let f=null;if(l){a="push";f=l}else if(c){a="replace";f=c}else if(u){a="push";f=s||i}if(f){if(f==="false"){return{}}if(f==="true"){f=s||i}if(t.pathInfo.anchor&&f.indexOf("#")===-1){f=f+"#"+t.pathInfo.anchor}return{type:a,path:f}}else{return{}}}function In(e,t){var n=new RegExp(e.code);return n.test(t.toString(10))}function Pn(e){for(var t=0;t0){E().setTimeout(e,x.swapDelay)}else{e()}}if(f){fe(o,"htmx:responseError",ce({error:"Response Status Error Code "+s.status+" from "+i.pathInfo.requestPath},i))}}const Mn={};function Xn(){return{init:function(e){return null},getSelectors:function(){return null},onEvent:function(e,t){return true},transformResponse:function(e,t,n){return e},isInlineSwap:function(e){return false},handleSwap:function(e,t,n,r){return false},encodeParameters:function(e,t,n){return null}}}function Fn(e,t){if(t.init){t.init(n)}Mn[e]=ce(Xn(),t)}function Bn(e){delete Mn[e]}function Un(e,n,r){if(n==undefined){n=[]}if(e==undefined){return n}if(r==undefined){r=[]}const t=te(e,"hx-ext");if(t){se(t.split(","),function(e){e=e.replace(/ /g,"");if(e.slice(0,7)=="ignore:"){r.push(e.slice(7));return}if(r.indexOf(e)<0){const t=Mn[e];if(t&&n.indexOf(t)<0){n.push(t)}}})}return Un(ue(c(e)),n,r)}var jn=false;ne().addEventListener("DOMContentLoaded",function(){jn=true});function Vn(e){if(jn||ne().readyState==="complete"){e()}else{ne().addEventListener("DOMContentLoaded",e)}}function _n(){if(Q.config.includeIndicatorStyles!==false){const e=Q.config.inlineStyleNonce?` nonce="${Q.config.inlineStyleNonce}"`:"";ne().head.insertAdjacentHTML("beforeend"," ."+Q.config.indicatorClass+"{opacity:0} ."+Q.config.requestClass+" ."+Q.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} ."+Q.config.requestClass+"."+Q.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} ")}}function zn(){const e=ne().querySelector('meta[name="htmx-config"]');if(e){return S(e.content)}else{return null}}function $n(){const e=zn();if(e){Q.config=ce(Q.config,e)}}Vn(function(){$n();_n();let e=ne().body;kt(e);const t=ne().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");e.addEventListener("htmx:abort",function(e){const t=e.target;const n=ie(t);if(n&&n.xhr){n.xhr.abort()}});const n=window.onpopstate?window.onpopstate.bind(window):null;window.onpopstate=function(e){if(e.state&&e.state.htmx){Wt();se(t,function(e){de(e,"htmx:restored",{document:ne(),triggerEvent:de})})}else{if(n){n(e)}}};E().setTimeout(function(){de(e,"htmx:load",{});e=null},0)});return Q}(); \ No newline at end of file +var htmx=function(){"use strict";const Q={onLoad:null,process:null,on:null,off:null,trigger:null,ajax:null,find:null,findAll:null,closest:null,values:function(e,t){const n=cn(e,t||"post");return n.values},remove:null,addClass:null,removeClass:null,toggleClass:null,takeClass:null,swap:null,defineExtension:null,removeExtension:null,logAll:null,logNone:null,logger:null,config:{historyEnabled:true,historyCacheSize:10,refreshOnHistoryMiss:false,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:true,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:true,allowScriptTags:true,inlineScriptNonce:"",inlineStyleNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:false,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",scrollBehavior:"instant",defaultFocusScroll:false,getCacheBusterParam:false,globalViewTransitions:false,methodsThatUseUrlParams:["get","delete"],selfRequestsOnly:true,ignoreTitle:false,scrollIntoViewOnBoost:true,triggerSpecsCache:null,disableInheritance:false,responseHandling:[{code:"204",swap:false},{code:"[23]..",swap:true},{code:"[45]..",swap:false,error:true}],allowNestedOobSwaps:true},parseInterval:null,_:null,version:"2.0.3"};Q.onLoad=j;Q.process=kt;Q.on=xe;Q.off=be;Q.trigger=de;Q.ajax=Rn;Q.find=r;Q.findAll=y;Q.closest=g;Q.remove=z;Q.addClass=K;Q.removeClass=G;Q.toggleClass=W;Q.takeClass=Z;Q.swap=$e;Q.defineExtension=Fn;Q.removeExtension=Bn;Q.logAll=V;Q.logNone=_;Q.parseInterval=h;Q._=e;const n={addTriggerHandler:St,bodyContains:le,canAccessLocalStorage:B,findThisElement:Se,filterValues:dn,swap:$e,hasAttribute:s,getAttributeValue:te,getClosestAttributeValue:re,getClosestMatch:i,getExpressionVars:En,getHeaders:fn,getInputValues:cn,getInternalData:ie,getSwapSpecification:gn,getTriggerSpecs:st,getTarget:Ee,makeFragment:P,mergeObjects:ce,makeSettleInfo:yn,oobSwap:He,querySelectorExt:ae,settleImmediately:Kt,shouldCancel:dt,triggerEvent:de,triggerErrorEvent:fe,withExtensions:Ft};const o=["get","post","put","delete","patch"];const R=o.map(function(e){return"[hx-"+e+"], [data-hx-"+e+"]"}).join(", ");function h(e){if(e==undefined){return undefined}let t=NaN;if(e.slice(-2)=="ms"){t=parseFloat(e.slice(0,-2))}else if(e.slice(-1)=="s"){t=parseFloat(e.slice(0,-1))*1e3}else if(e.slice(-1)=="m"){t=parseFloat(e.slice(0,-1))*1e3*60}else{t=parseFloat(e)}return isNaN(t)?undefined:t}function ee(e,t){return e instanceof Element&&e.getAttribute(t)}function s(e,t){return!!e.hasAttribute&&(e.hasAttribute(t)||e.hasAttribute("data-"+t))}function te(e,t){return ee(e,t)||ee(e,"data-"+t)}function c(e){const t=e.parentElement;if(!t&&e.parentNode instanceof ShadowRoot)return e.parentNode;return t}function ne(){return document}function m(e,t){return e.getRootNode?e.getRootNode({composed:t}):ne()}function i(e,t){while(e&&!t(e)){e=c(e)}return e||null}function H(e,t,n){const r=te(t,n);const o=te(t,"hx-disinherit");var i=te(t,"hx-inherit");if(e!==t){if(Q.config.disableInheritance){if(i&&(i==="*"||i.split(" ").indexOf(n)>=0)){return r}else{return null}}if(o&&(o==="*"||o.split(" ").indexOf(n)>=0)){return"unset"}}return r}function re(t,n){let r=null;i(t,function(e){return!!(r=H(t,ue(e),n))});if(r!=="unset"){return r}}function d(e,t){const n=e instanceof Element&&(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector);return!!n&&n.call(e,t)}function T(e){const t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i;const n=t.exec(e);if(n){return n[1].toLowerCase()}else{return""}}function q(e){const t=new DOMParser;return t.parseFromString(e,"text/html")}function L(e,t){while(t.childNodes.length>0){e.append(t.childNodes[0])}}function N(e){const t=ne().createElement("script");se(e.attributes,function(e){t.setAttribute(e.name,e.value)});t.textContent=e.textContent;t.async=false;if(Q.config.inlineScriptNonce){t.nonce=Q.config.inlineScriptNonce}return t}function A(e){return e.matches("script")&&(e.type==="text/javascript"||e.type==="module"||e.type==="")}function I(e){Array.from(e.querySelectorAll("script")).forEach(e=>{if(A(e)){const t=N(e);const n=e.parentNode;try{n.insertBefore(t,e)}catch(e){C(e)}finally{e.remove()}}})}function P(e){const t=e.replace(/]*)?>[\s\S]*?<\/head>/i,"");const n=T(t);let r;if(n==="html"){r=new DocumentFragment;const i=q(e);L(r,i.body);r.title=i.title}else if(n==="body"){r=new DocumentFragment;const i=q(t);L(r,i.body);r.title=i.title}else{const i=q('");r=i.querySelector("template").content;r.title=i.title;var o=r.querySelector("title");if(o&&o.parentNode===r){o.remove();r.title=o.innerText}}if(r){if(Q.config.allowScriptTags){I(r)}else{r.querySelectorAll("script").forEach(e=>e.remove())}}return r}function oe(e){if(e){e()}}function t(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"}function k(e){return typeof e==="function"}function D(e){return t(e,"Object")}function ie(e){const t="htmx-internal-data";let n=e[t];if(!n){n=e[t]={}}return n}function M(t){const n=[];if(t){for(let e=0;e=0}function le(e){const t=e.getRootNode&&e.getRootNode();if(t&&t instanceof window.ShadowRoot){return ne().body.contains(t.host)}else{return ne().body.contains(e)}}function F(e){return e.trim().split(/\s+/)}function ce(e,t){for(const n in t){if(t.hasOwnProperty(n)){e[n]=t[n]}}return e}function S(e){try{return JSON.parse(e)}catch(e){C(e);return null}}function B(){const e="htmx:localStorageTest";try{localStorage.setItem(e,e);localStorage.removeItem(e);return true}catch(e){return false}}function U(t){try{const e=new URL(t);if(e){t=e.pathname+e.search}if(!/^\/$/.test(t)){t=t.replace(/\/+$/,"")}return t}catch(e){return t}}function e(e){return vn(ne().body,function(){return eval(e)})}function j(t){const e=Q.on("htmx:load",function(e){t(e.detail.elt)});return e}function V(){Q.logger=function(e,t,n){if(console){console.log(t,e,n)}}}function _(){Q.logger=null}function r(e,t){if(typeof e!=="string"){return e.querySelector(t)}else{return r(ne(),e)}}function y(e,t){if(typeof e!=="string"){return e.querySelectorAll(t)}else{return y(ne(),e)}}function E(){return window}function z(e,t){e=x(e);if(t){E().setTimeout(function(){z(e);e=null},t)}else{c(e).removeChild(e)}}function ue(e){return e instanceof Element?e:null}function $(e){return e instanceof HTMLElement?e:null}function J(e){return typeof e==="string"?e:null}function f(e){return e instanceof Element||e instanceof Document||e instanceof DocumentFragment?e:null}function K(e,t,n){e=ue(x(e));if(!e){return}if(n){E().setTimeout(function(){K(e,t);e=null},n)}else{e.classList&&e.classList.add(t)}}function G(e,t,n){let r=ue(x(e));if(!r){return}if(n){E().setTimeout(function(){G(r,t);r=null},n)}else{if(r.classList){r.classList.remove(t);if(r.classList.length===0){r.removeAttribute("class")}}}}function W(e,t){e=x(e);e.classList.toggle(t)}function Z(e,t){e=x(e);se(e.parentElement.children,function(e){G(e,t)});K(ue(e),t)}function g(e,t){e=ue(x(e));if(e&&e.closest){return e.closest(t)}else{do{if(e==null||d(e,t)){return e}}while(e=e&&ue(c(e)));return null}}function l(e,t){return e.substring(0,t.length)===t}function Y(e,t){return e.substring(e.length-t.length)===t}function ge(e){const t=e.trim();if(l(t,"<")&&Y(t,"/>")){return t.substring(1,t.length-2)}else{return t}}function p(e,t,n){e=x(e);if(t.indexOf("closest ")===0){return[g(ue(e),ge(t.substr(8)))]}else if(t.indexOf("find ")===0){return[r(f(e),ge(t.substr(5)))]}else if(t==="next"){return[ue(e).nextElementSibling]}else if(t.indexOf("next ")===0){return[pe(e,ge(t.substr(5)),!!n)]}else if(t==="previous"){return[ue(e).previousElementSibling]}else if(t.indexOf("previous ")===0){return[me(e,ge(t.substr(9)),!!n)]}else if(t==="document"){return[document]}else if(t==="window"){return[window]}else if(t==="body"){return[document.body]}else if(t==="root"){return[m(e,!!n)]}else if(t==="host"){return[e.getRootNode().host]}else if(t.indexOf("global ")===0){return p(e,t.slice(7),true)}else{return M(f(m(e,!!n)).querySelectorAll(ge(t)))}}var pe=function(t,e,n){const r=f(m(t,n)).querySelectorAll(e);for(let e=0;e=0;e--){const o=r[e];if(o.compareDocumentPosition(t)===Node.DOCUMENT_POSITION_FOLLOWING){return o}}};function ae(e,t){if(typeof e!=="string"){return p(e,t)[0]}else{return p(ne().body,e)[0]}}function x(e,t){if(typeof e==="string"){return r(f(t)||document,e)}else{return e}}function ye(e,t,n,r){if(k(t)){return{target:ne().body,event:J(e),listener:t,options:n}}else{return{target:x(e),event:J(t),listener:n,options:r}}}function xe(t,n,r,o){Vn(function(){const e=ye(t,n,r,o);e.target.addEventListener(e.event,e.listener,e.options)});const e=k(n);return e?n:r}function be(t,n,r){Vn(function(){const e=ye(t,n,r);e.target.removeEventListener(e.event,e.listener)});return k(n)?n:r}const ve=ne().createElement("output");function we(e,t){const n=re(e,t);if(n){if(n==="this"){return[Se(e,t)]}else{const r=p(e,n);if(r.length===0){C('The selector "'+n+'" on '+t+" returned no matches!");return[ve]}else{return r}}}}function Se(e,t){return ue(i(e,function(e){return te(ue(e),t)!=null}))}function Ee(e){const t=re(e,"hx-target");if(t){if(t==="this"){return Se(e,"hx-target")}else{return ae(e,t)}}else{const n=ie(e);if(n.boosted){return ne().body}else{return e}}}function Ce(t){const n=Q.config.attributesToSettle;for(let e=0;e0){s=e.substr(0,e.indexOf(":"));n=e.substr(e.indexOf(":")+1,e.length)}else{s=e}o.removeAttribute("hx-swap-oob");o.removeAttribute("data-hx-swap-oob");const r=p(t,n,false);if(r){se(r,function(e){let t;const n=o.cloneNode(true);t=ne().createDocumentFragment();t.appendChild(n);if(!Re(s,e)){t=f(n)}const r={shouldSwap:true,target:e,fragment:t};if(!de(e,"htmx:oobBeforeSwap",r))return;e=r.target;if(r.shouldSwap){qe(t);_e(s,e,e,t,i);Te()}se(i.elts,function(e){de(e,"htmx:oobAfterSwap",r)})});o.parentNode.removeChild(o)}else{o.parentNode.removeChild(o);fe(ne().body,"htmx:oobErrorNoTarget",{content:o})}return e}function Te(){const e=r("#--htmx-preserve-pantry--");if(e){for(const t of[...e.children]){const n=r("#"+t.id);n.parentNode.moveBefore(t,n);n.remove()}e.remove()}}function qe(e){se(y(e,"[hx-preserve], [data-hx-preserve]"),function(e){const t=te(e,"id");const n=ne().getElementById(t);if(n!=null){if(e.moveBefore){let e=r("#--htmx-preserve-pantry--");if(e==null){ne().body.insertAdjacentHTML("afterend","
");e=r("#--htmx-preserve-pantry--")}e.moveBefore(n,null)}else{e.parentNode.replaceChild(n,e)}}})}function Le(l,e,c){se(e.querySelectorAll("[id]"),function(t){const n=ee(t,"id");if(n&&n.length>0){const r=n.replace("'","\\'");const o=t.tagName.replace(":","\\:");const e=f(l);const i=e&&e.querySelector(o+"[id='"+r+"']");if(i&&i!==e){const s=t.cloneNode();Oe(t,i);c.tasks.push(function(){Oe(t,s)})}}})}function Ne(e){return function(){G(e,Q.config.addedClass);kt(ue(e));Ae(f(e));de(e,"htmx:load")}}function Ae(e){const t="[autofocus]";const n=$(d(e,t)?e:e.querySelector(t));if(n!=null){n.focus()}}function u(e,t,n,r){Le(e,n,r);while(n.childNodes.length>0){const o=n.firstChild;K(ue(o),Q.config.addedClass);e.insertBefore(o,t);if(o.nodeType!==Node.TEXT_NODE&&o.nodeType!==Node.COMMENT_NODE){r.tasks.push(Ne(o))}}}function Ie(e,t){let n=0;while(n0}function $e(e,t,r,o){if(!o){o={}}e=x(e);const i=o.contextElement?m(o.contextElement,false):ne();const n=document.activeElement;let s={};try{s={elt:n,start:n?n.selectionStart:null,end:n?n.selectionEnd:null}}catch(e){}const l=yn(e);if(r.swapStyle==="textContent"){e.textContent=t}else{let n=P(t);l.title=n.title;if(o.selectOOB){const u=o.selectOOB.split(",");for(let t=0;t0){E().setTimeout(c,r.settleDelay)}else{c()}}function Je(e,t,n){const r=e.getResponseHeader(t);if(r.indexOf("{")===0){const o=S(r);for(const i in o){if(o.hasOwnProperty(i)){let e=o[i];if(D(e)){n=e.target!==undefined?e.target:n}else{e={value:e}}de(n,i,e)}}}else{const s=r.split(",");for(let e=0;e0){const s=o[0];if(s==="]"){e--;if(e===0){if(n===null){t=t+"true"}o.shift();t+=")})";try{const l=vn(r,function(){return Function(t)()},function(){return true});l.source=t;return l}catch(e){fe(ne().body,"htmx:syntax:error",{error:e,source:t});return null}}}else if(s==="["){e++}if(tt(s,n,i)){t+="(("+i+"."+s+") ? ("+i+"."+s+") : (window."+s+"))"}else{t=t+s}n=o.shift()}}}function w(e,t){let n="";while(e.length>0&&!t.test(e[0])){n+=e.shift()}return n}function rt(e){let t;if(e.length>0&&Ye.test(e[0])){e.shift();t=w(e,Qe).trim();e.shift()}else{t=w(e,b)}return t}const ot="input, textarea, select";function it(e,t,n){const r=[];const o=et(t);do{w(o,v);const l=o.length;const c=w(o,/[,\[\s]/);if(c!==""){if(c==="every"){const u={trigger:"every"};w(o,v);u.pollInterval=h(w(o,/[,\[\s]/));w(o,v);var i=nt(e,o,"event");if(i){u.eventFilter=i}r.push(u)}else{const a={trigger:c};var i=nt(e,o,"event");if(i){a.eventFilter=i}w(o,v);while(o.length>0&&o[0]!==","){const f=o.shift();if(f==="changed"){a.changed=true}else if(f==="once"){a.once=true}else if(f==="consume"){a.consume=true}else if(f==="delay"&&o[0]===":"){o.shift();a.delay=h(w(o,b))}else if(f==="from"&&o[0]===":"){o.shift();if(Ye.test(o[0])){var s=rt(o)}else{var s=w(o,b);if(s==="closest"||s==="find"||s==="next"||s==="previous"){o.shift();const d=rt(o);if(d.length>0){s+=" "+d}}}a.from=s}else if(f==="target"&&o[0]===":"){o.shift();a.target=rt(o)}else if(f==="throttle"&&o[0]===":"){o.shift();a.throttle=h(w(o,b))}else if(f==="queue"&&o[0]===":"){o.shift();a.queue=w(o,b)}else if(f==="root"&&o[0]===":"){o.shift();a[f]=rt(o)}else if(f==="threshold"&&o[0]===":"){o.shift();a[f]=w(o,b)}else{fe(e,"htmx:syntax:error",{token:o.shift()})}w(o,v)}r.push(a)}}if(o.length===l){fe(e,"htmx:syntax:error",{token:o.shift()})}w(o,v)}while(o[0]===","&&o.shift());if(n){n[t]=r}return r}function st(e){const t=te(e,"hx-trigger");let n=[];if(t){const r=Q.config.triggerSpecsCache;n=r&&r[t]||it(e,t,r)}if(n.length>0){return n}else if(d(e,"form")){return[{trigger:"submit"}]}else if(d(e,'input[type="button"], input[type="submit"]')){return[{trigger:"click"}]}else if(d(e,ot)){return[{trigger:"change"}]}else{return[{trigger:"click"}]}}function lt(e){ie(e).cancelled=true}function ct(e,t,n){const r=ie(e);r.timeout=E().setTimeout(function(){if(le(e)&&r.cancelled!==true){if(!gt(n,e,Mt("hx:poll:trigger",{triggerSpec:n,target:e}))){t(e)}ct(e,t,n)}},n.pollInterval)}function ut(e){return location.hostname===e.hostname&&ee(e,"href")&&ee(e,"href").indexOf("#")!==0}function at(e){return g(e,Q.config.disableSelector)}function ft(t,n,e){if(t instanceof HTMLAnchorElement&&ut(t)&&(t.target===""||t.target==="_self")||t.tagName==="FORM"&&String(ee(t,"method")).toLowerCase()!=="dialog"){n.boosted=true;let r,o;if(t.tagName==="A"){r="get";o=ee(t,"href")}else{const i=ee(t,"method");r=i?i.toLowerCase():"get";o=ee(t,"action");if(r==="get"&&o&&o.includes("?")){o=o.replace(/\?[^#]+/,"")}}e.forEach(function(e){pt(t,function(e,t){const n=ue(e);if(at(n)){a(n);return}he(r,o,n,t)},n,e,true)})}}function dt(e,t){const n=ue(t);if(!n){return false}if(e.type==="submit"||e.type==="click"){if(n.tagName==="FORM"){return true}if(d(n,'input[type="submit"], button')&&g(n,"form")!==null){return true}if(n instanceof HTMLAnchorElement&&n.href&&(n.getAttribute("href")==="#"||n.getAttribute("href").indexOf("#")!==0)){return true}}return false}function ht(e,t){return ie(e).boosted&&e instanceof HTMLAnchorElement&&t.type==="click"&&(t.ctrlKey||t.metaKey)}function gt(e,t,n){const r=e.eventFilter;if(r){try{return r.call(t,n)!==true}catch(e){const o=r.source;fe(ne().body,"htmx:eventFilter:error",{error:e,source:o});return true}}return false}function pt(l,c,e,u,a){const f=ie(l);let t;if(u.from){t=p(l,u.from)}else{t=[l]}if(u.changed){if(!("lastValue"in f)){f.lastValue=new WeakMap}t.forEach(function(e){if(!f.lastValue.has(u)){f.lastValue.set(u,new WeakMap)}f.lastValue.get(u).set(e,e.value)})}se(t,function(i){const s=function(e){if(!le(l)){i.removeEventListener(u.trigger,s);return}if(ht(l,e)){return}if(a||dt(e,l)){e.preventDefault()}if(gt(u,l,e)){return}const t=ie(e);t.triggerSpec=u;if(t.handledFor==null){t.handledFor=[]}if(t.handledFor.indexOf(l)<0){t.handledFor.push(l);if(u.consume){e.stopPropagation()}if(u.target&&e.target){if(!d(ue(e.target),u.target)){return}}if(u.once){if(f.triggeredOnce){return}else{f.triggeredOnce=true}}if(u.changed){const n=event.target;const r=n.value;const o=f.lastValue.get(u);if(o.has(n)&&o.get(n)===r){return}o.set(n,r)}if(f.delayed){clearTimeout(f.delayed)}if(f.throttle){return}if(u.throttle>0){if(!f.throttle){de(l,"htmx:trigger");c(l,e);f.throttle=E().setTimeout(function(){f.throttle=null},u.throttle)}}else if(u.delay>0){f.delayed=E().setTimeout(function(){de(l,"htmx:trigger");c(l,e)},u.delay)}else{de(l,"htmx:trigger");c(l,e)}}};if(e.listenerInfos==null){e.listenerInfos=[]}e.listenerInfos.push({trigger:u.trigger,listener:s,on:i});i.addEventListener(u.trigger,s)})}let mt=false;let yt=null;function xt(){if(!yt){yt=function(){mt=true};window.addEventListener("scroll",yt);window.addEventListener("resize",yt);setInterval(function(){if(mt){mt=false;se(ne().querySelectorAll("[hx-trigger*='revealed'],[data-hx-trigger*='revealed']"),function(e){bt(e)})}},200)}}function bt(e){if(!s(e,"data-hx-revealed")&&X(e)){e.setAttribute("data-hx-revealed","true");const t=ie(e);if(t.initHash){de(e,"revealed")}else{e.addEventListener("htmx:afterProcessNode",function(){de(e,"revealed")},{once:true})}}}function vt(e,t,n,r){const o=function(){if(!n.loaded){n.loaded=true;t(e)}};if(r>0){E().setTimeout(o,r)}else{o()}}function wt(t,n,e){let i=false;se(o,function(r){if(s(t,"hx-"+r)){const o=te(t,"hx-"+r);i=true;n.path=o;n.verb=r;e.forEach(function(e){St(t,e,n,function(e,t){const n=ue(e);if(g(n,Q.config.disableSelector)){a(n);return}he(r,o,n,t)})})}});return i}function St(r,e,t,n){if(e.trigger==="revealed"){xt();pt(r,n,t,e);bt(ue(r))}else if(e.trigger==="intersect"){const o={};if(e.root){o.root=ae(r,e.root)}if(e.threshold){o.threshold=parseFloat(e.threshold)}const i=new IntersectionObserver(function(t){for(let e=0;e0){t.polling=true;ct(ue(r),n,e)}else{pt(r,n,t,e)}}function Et(e){const t=ue(e);if(!t){return false}const n=t.attributes;for(let e=0;e", "+e).join(""));return o}else{return[]}}function Tt(e){const t=g(ue(e.target),"button, input[type='submit']");const n=Lt(e);if(n){n.lastButtonClicked=t}}function qt(e){const t=Lt(e);if(t){t.lastButtonClicked=null}}function Lt(e){const t=g(ue(e.target),"button, input[type='submit']");if(!t){return}const n=x("#"+ee(t,"form"),t.getRootNode())||g(t,"form");if(!n){return}return ie(n)}function Nt(e){e.addEventListener("click",Tt);e.addEventListener("focusin",Tt);e.addEventListener("focusout",qt)}function At(t,e,n){const r=ie(t);if(!Array.isArray(r.onHandlers)){r.onHandlers=[]}let o;const i=function(e){vn(t,function(){if(at(t)){return}if(!o){o=new Function("event",n)}o.call(t,e)})};t.addEventListener(e,i);r.onHandlers.push({event:e,listener:i})}function It(t){ke(t);for(let e=0;eQ.config.historyCacheSize){i.shift()}while(i.length>0){try{localStorage.setItem("htmx-history-cache",JSON.stringify(i));break}catch(e){fe(ne().body,"htmx:historyCacheError",{cause:e,cache:i});i.shift()}}}function Vt(t){if(!B()){return null}t=U(t);const n=S(localStorage.getItem("htmx-history-cache"))||[];for(let e=0;e=200&&this.status<400){de(ne().body,"htmx:historyCacheMissLoad",i);const e=P(this.response);const t=e.querySelector("[hx-history-elt],[data-hx-history-elt]")||e;const n=Ut();const r=yn(n);kn(e.title);qe(e);Ve(n,t,r);Te();Kt(r.tasks);Bt=o;de(ne().body,"htmx:historyRestore",{path:o,cacheMiss:true,serverResponse:this.response})}else{fe(ne().body,"htmx:historyCacheMissLoadError",i)}};e.send()}function Wt(e){zt();e=e||location.pathname+location.search;const t=Vt(e);if(t){const n=P(t.content);const r=Ut();const o=yn(r);kn(t.title);qe(n);Ve(r,n,o);Te();Kt(o.tasks);E().setTimeout(function(){window.scrollTo(0,t.scroll)},0);Bt=e;de(ne().body,"htmx:historyRestore",{path:e,item:t})}else{if(Q.config.refreshOnHistoryMiss){window.location.reload(true)}else{Gt(e)}}}function Zt(e){let t=we(e,"hx-indicator");if(t==null){t=[e]}se(t,function(e){const t=ie(e);t.requestCount=(t.requestCount||0)+1;e.classList.add.call(e.classList,Q.config.requestClass)});return t}function Yt(e){let t=we(e,"hx-disabled-elt");if(t==null){t=[]}se(t,function(e){const t=ie(e);t.requestCount=(t.requestCount||0)+1;e.setAttribute("disabled","");e.setAttribute("data-disabled-by-htmx","")});return t}function Qt(e,t){se(e.concat(t),function(e){const t=ie(e);t.requestCount=(t.requestCount||1)-1});se(e,function(e){const t=ie(e);if(t.requestCount===0){e.classList.remove.call(e.classList,Q.config.requestClass)}});se(t,function(e){const t=ie(e);if(t.requestCount===0){e.removeAttribute("disabled");e.removeAttribute("data-disabled-by-htmx")}})}function en(t,n){for(let e=0;en.indexOf(e)<0)}else{e=e.filter(e=>e!==n)}r.delete(t);se(e,e=>r.append(t,e))}}function on(t,n,r,o,i){if(o==null||en(t,o)){return}else{t.push(o)}if(tn(o)){const s=ee(o,"name");let e=o.value;if(o instanceof HTMLSelectElement&&o.multiple){e=M(o.querySelectorAll("option:checked")).map(function(e){return e.value})}if(o instanceof HTMLInputElement&&o.files){e=M(o.files)}nn(s,e,n);if(i){sn(o,r)}}if(o instanceof HTMLFormElement){se(o.elements,function(e){if(t.indexOf(e)>=0){rn(e.name,e.value,n)}else{t.push(e)}if(i){sn(e,r)}});new FormData(o).forEach(function(e,t){if(e instanceof File&&e.name===""){return}nn(t,e,n)})}}function sn(e,t){const n=e;if(n.willValidate){de(n,"htmx:validation:validate");if(!n.checkValidity()){t.push({elt:n,message:n.validationMessage,validity:n.validity});de(n,"htmx:validation:failed",{message:n.validationMessage,validity:n.validity})}}}function ln(n,e){for(const t of e.keys()){n.delete(t)}e.forEach(function(e,t){n.append(t,e)});return n}function cn(e,t){const n=[];const r=new FormData;const o=new FormData;const i=[];const s=ie(e);if(s.lastButtonClicked&&!le(s.lastButtonClicked)){s.lastButtonClicked=null}let l=e instanceof HTMLFormElement&&e.noValidate!==true||te(e,"hx-validate")==="true";if(s.lastButtonClicked){l=l&&s.lastButtonClicked.formNoValidate!==true}if(t!=="get"){on(n,o,i,g(e,"form"),l)}on(n,r,i,e,l);if(s.lastButtonClicked||e.tagName==="BUTTON"||e.tagName==="INPUT"&&ee(e,"type")==="submit"){const u=s.lastButtonClicked||e;const a=ee(u,"name");nn(a,u.value,o)}const c=we(e,"hx-include");se(c,function(e){on(n,r,i,ue(e),l);if(!d(e,"form")){se(f(e).querySelectorAll(ot),function(e){on(n,r,i,e,l)})}});ln(r,o);return{errors:i,formData:r,values:Nn(r)}}function un(e,t,n){if(e!==""){e+="&"}if(String(n)==="[object Object]"){n=JSON.stringify(n)}const r=encodeURIComponent(n);e+=encodeURIComponent(t)+"="+r;return e}function an(e){e=qn(e);let n="";e.forEach(function(e,t){n=un(n,t,e)});return n}function fn(e,t,n){const r={"HX-Request":"true","HX-Trigger":ee(e,"id"),"HX-Trigger-Name":ee(e,"name"),"HX-Target":te(t,"id"),"HX-Current-URL":ne().location.href};bn(e,"hx-headers",false,r);if(n!==undefined){r["HX-Prompt"]=n}if(ie(e).boosted){r["HX-Boosted"]="true"}return r}function dn(n,e){const t=re(e,"hx-params");if(t){if(t==="none"){return new FormData}else if(t==="*"){return n}else if(t.indexOf("not ")===0){se(t.substr(4).split(","),function(e){e=e.trim();n.delete(e)});return n}else{const r=new FormData;se(t.split(","),function(t){t=t.trim();if(n.has(t)){n.getAll(t).forEach(function(e){r.append(t,e)})}});return r}}else{return n}}function hn(e){return!!ee(e,"href")&&ee(e,"href").indexOf("#")>=0}function gn(e,t){const n=t||re(e,"hx-swap");const r={swapStyle:ie(e).boosted?"innerHTML":Q.config.defaultSwapStyle,swapDelay:Q.config.defaultSwapDelay,settleDelay:Q.config.defaultSettleDelay};if(Q.config.scrollIntoViewOnBoost&&ie(e).boosted&&!hn(e)){r.show="top"}if(n){const s=F(n);if(s.length>0){for(let e=0;e0?o.join(":"):null;r.scroll=u;r.scrollTarget=i}else if(l.indexOf("show:")===0){const a=l.substr(5);var o=a.split(":");const f=o.pop();var i=o.length>0?o.join(":"):null;r.show=f;r.showTarget=i}else if(l.indexOf("focus-scroll:")===0){const d=l.substr("focus-scroll:".length);r.focusScroll=d=="true"}else if(e==0){r.swapStyle=l}else{C("Unknown modifier in hx-swap: "+l)}}}}return r}function pn(e){return re(e,"hx-encoding")==="multipart/form-data"||d(e,"form")&&ee(e,"enctype")==="multipart/form-data"}function mn(t,n,r){let o=null;Ft(n,function(e){if(o==null){o=e.encodeParameters(t,r,n)}});if(o!=null){return o}else{if(pn(n)){return ln(new FormData,qn(r))}else{return an(r)}}}function yn(e){return{tasks:[],elts:[e]}}function xn(e,t){const n=e[0];const r=e[e.length-1];if(t.scroll){var o=null;if(t.scrollTarget){o=ue(ae(n,t.scrollTarget))}if(t.scroll==="top"&&(n||o)){o=o||n;o.scrollTop=0}if(t.scroll==="bottom"&&(r||o)){o=o||r;o.scrollTop=o.scrollHeight}}if(t.show){var o=null;if(t.showTarget){let e=t.showTarget;if(t.showTarget==="window"){e="body"}o=ue(ae(n,e))}if(t.show==="top"&&(n||o)){o=o||n;o.scrollIntoView({block:"start",behavior:Q.config.scrollBehavior})}if(t.show==="bottom"&&(r||o)){o=o||r;o.scrollIntoView({block:"end",behavior:Q.config.scrollBehavior})}}}function bn(r,e,o,i){if(i==null){i={}}if(r==null){return i}const s=te(r,e);if(s){let e=s.trim();let t=o;if(e==="unset"){return null}if(e.indexOf("javascript:")===0){e=e.substr(11);t=true}else if(e.indexOf("js:")===0){e=e.substr(3);t=true}if(e.indexOf("{")!==0){e="{"+e+"}"}let n;if(t){n=vn(r,function(){return Function("return ("+e+")")()},{})}else{n=S(e)}for(const l in n){if(n.hasOwnProperty(l)){if(i[l]==null){i[l]=n[l]}}}}return bn(ue(c(r)),e,o,i)}function vn(e,t,n){if(Q.config.allowEval){return t()}else{fe(e,"htmx:evalDisallowedError");return n}}function wn(e,t){return bn(e,"hx-vars",true,t)}function Sn(e,t){return bn(e,"hx-vals",false,t)}function En(e){return ce(wn(e),Sn(e))}function Cn(t,n,r){if(r!==null){try{t.setRequestHeader(n,r)}catch(e){t.setRequestHeader(n,encodeURIComponent(r));t.setRequestHeader(n+"-URI-AutoEncoded","true")}}}function On(t){if(t.responseURL&&typeof URL!=="undefined"){try{const e=new URL(t.responseURL);return e.pathname+e.search}catch(e){fe(ne().body,"htmx:badResponseUrl",{url:t.responseURL})}}}function O(e,t){return t.test(e.getAllResponseHeaders())}function Rn(t,n,r){t=t.toLowerCase();if(r){if(r instanceof Element||typeof r==="string"){return he(t,n,null,null,{targetOverride:x(r)||ve,returnPromise:true})}else{let e=x(r.target);if(r.target&&!e||r.source&&!e&&!x(r.source)){e=ve}return he(t,n,x(r.source),r.event,{handler:r.handler,headers:r.headers,values:r.values,targetOverride:e,swapOverride:r.swap,select:r.select,returnPromise:true})}}else{return he(t,n,null,null,{returnPromise:true})}}function Hn(e){const t=[];while(e){t.push(e);e=e.parentElement}return t}function Tn(e,t,n){let r;let o;if(typeof URL==="function"){o=new URL(t,document.location.href);const i=document.location.origin;r=i===o.origin}else{o=t;r=l(t,document.location.origin)}if(Q.config.selfRequestsOnly){if(!r){return false}}return de(e,"htmx:validateUrl",ce({url:o,sameHost:r},n))}function qn(e){if(e instanceof FormData)return e;const t=new FormData;for(const n in e){if(e.hasOwnProperty(n)){if(e[n]&&typeof e[n].forEach==="function"){e[n].forEach(function(e){t.append(n,e)})}else if(typeof e[n]==="object"&&!(e[n]instanceof Blob)){t.append(n,JSON.stringify(e[n]))}else{t.append(n,e[n])}}}return t}function Ln(r,o,e){return new Proxy(e,{get:function(t,e){if(typeof e==="number")return t[e];if(e==="length")return t.length;if(e==="push"){return function(e){t.push(e);r.append(o,e)}}if(typeof t[e]==="function"){return function(){t[e].apply(t,arguments);r.delete(o);t.forEach(function(e){r.append(o,e)})}}if(t[e]&&t[e].length===1){return t[e][0]}else{return t[e]}},set:function(e,t,n){e[t]=n;r.delete(o);e.forEach(function(e){r.append(o,e)});return true}})}function Nn(o){return new Proxy(o,{get:function(e,t){if(typeof t==="symbol"){const r=Reflect.get(e,t);if(typeof r==="function"){return function(){return r.apply(o,arguments)}}else{return r}}if(t==="toJSON"){return()=>Object.fromEntries(o)}if(t in e){if(typeof e[t]==="function"){return function(){return o[t].apply(o,arguments)}}else{return e[t]}}const n=o.getAll(t);if(n.length===0){return undefined}else if(n.length===1){return n[0]}else{return Ln(e,t,n)}},set:function(t,n,e){if(typeof n!=="string"){return false}t.delete(n);if(e&&typeof e.forEach==="function"){e.forEach(function(e){t.append(n,e)})}else if(typeof e==="object"&&!(e instanceof Blob)){t.append(n,JSON.stringify(e))}else{t.append(n,e)}return true},deleteProperty:function(e,t){if(typeof t==="string"){e.delete(t)}return true},ownKeys:function(e){return Reflect.ownKeys(Object.fromEntries(e))},getOwnPropertyDescriptor:function(e,t){return Reflect.getOwnPropertyDescriptor(Object.fromEntries(e),t)}})}function he(t,n,r,o,i,D){let s=null;let l=null;i=i!=null?i:{};if(i.returnPromise&&typeof Promise!=="undefined"){var e=new Promise(function(e,t){s=e;l=t})}if(r==null){r=ne().body}const M=i.handler||Dn;const X=i.select||null;if(!le(r)){oe(s);return e}const c=i.targetOverride||ue(Ee(r));if(c==null||c==ve){fe(r,"htmx:targetError",{target:te(r,"hx-target")});oe(l);return e}let u=ie(r);const a=u.lastButtonClicked;if(a){const L=ee(a,"formaction");if(L!=null){n=L}const N=ee(a,"formmethod");if(N!=null){if(N.toLowerCase()!=="dialog"){t=N}}}const f=re(r,"hx-confirm");if(D===undefined){const K=function(e){return he(t,n,r,o,i,!!e)};const G={target:c,elt:r,path:n,verb:t,triggeringEvent:o,etc:i,issueRequest:K,question:f};if(de(r,"htmx:confirm",G)===false){oe(s);return e}}let d=r;let h=re(r,"hx-sync");let g=null;let F=false;if(h){const A=h.split(":");const I=A[0].trim();if(I==="this"){d=Se(r,"hx-sync")}else{d=ue(ae(r,I))}h=(A[1]||"drop").trim();u=ie(d);if(h==="drop"&&u.xhr&&u.abortable!==true){oe(s);return e}else if(h==="abort"){if(u.xhr){oe(s);return e}else{F=true}}else if(h==="replace"){de(d,"htmx:abort")}else if(h.indexOf("queue")===0){const W=h.split(" ");g=(W[1]||"last").trim()}}if(u.xhr){if(u.abortable){de(d,"htmx:abort")}else{if(g==null){if(o){const P=ie(o);if(P&&P.triggerSpec&&P.triggerSpec.queue){g=P.triggerSpec.queue}}if(g==null){g="last"}}if(u.queuedRequests==null){u.queuedRequests=[]}if(g==="first"&&u.queuedRequests.length===0){u.queuedRequests.push(function(){he(t,n,r,o,i)})}else if(g==="all"){u.queuedRequests.push(function(){he(t,n,r,o,i)})}else if(g==="last"){u.queuedRequests=[];u.queuedRequests.push(function(){he(t,n,r,o,i)})}oe(s);return e}}const p=new XMLHttpRequest;u.xhr=p;u.abortable=F;const m=function(){u.xhr=null;u.abortable=false;if(u.queuedRequests!=null&&u.queuedRequests.length>0){const e=u.queuedRequests.shift();e()}};const B=re(r,"hx-prompt");if(B){var y=prompt(B);if(y===null||!de(r,"htmx:prompt",{prompt:y,target:c})){oe(s);m();return e}}if(f&&!D){if(!confirm(f)){oe(s);m();return e}}let x=fn(r,c,y);if(t!=="get"&&!pn(r)){x["Content-Type"]="application/x-www-form-urlencoded"}if(i.headers){x=ce(x,i.headers)}const U=cn(r,t);let b=U.errors;const j=U.formData;if(i.values){ln(j,qn(i.values))}const V=qn(En(r));const v=ln(j,V);let w=dn(v,r);if(Q.config.getCacheBusterParam&&t==="get"){w.set("org.htmx.cache-buster",ee(c,"id")||"true")}if(n==null||n===""){n=ne().location.href}const S=bn(r,"hx-request");const _=ie(r).boosted;let E=Q.config.methodsThatUseUrlParams.indexOf(t)>=0;const C={boosted:_,useUrlParams:E,formData:w,parameters:Nn(w),unfilteredFormData:v,unfilteredParameters:Nn(v),headers:x,target:c,verb:t,errors:b,withCredentials:i.credentials||S.credentials||Q.config.withCredentials,timeout:i.timeout||S.timeout||Q.config.timeout,path:n,triggeringEvent:o};if(!de(r,"htmx:configRequest",C)){oe(s);m();return e}n=C.path;t=C.verb;x=C.headers;w=qn(C.parameters);b=C.errors;E=C.useUrlParams;if(b&&b.length>0){de(r,"htmx:validation:halted",C);oe(s);m();return e}const z=n.split("#");const $=z[0];const O=z[1];let R=n;if(E){R=$;const Z=!w.keys().next().done;if(Z){if(R.indexOf("?")<0){R+="?"}else{R+="&"}R+=an(w);if(O){R+="#"+O}}}if(!Tn(r,R,C)){fe(r,"htmx:invalidPath",C);oe(l);return e}p.open(t.toUpperCase(),R,true);p.overrideMimeType("text/html");p.withCredentials=C.withCredentials;p.timeout=C.timeout;if(S.noHeaders){}else{for(const k in x){if(x.hasOwnProperty(k)){const Y=x[k];Cn(p,k,Y)}}}const H={xhr:p,target:c,requestConfig:C,etc:i,boosted:_,select:X,pathInfo:{requestPath:n,finalRequestPath:R,responsePath:null,anchor:O}};p.onload=function(){try{const t=Hn(r);H.pathInfo.responsePath=On(p);M(r,H);if(H.keepIndicators!==true){Qt(T,q)}de(r,"htmx:afterRequest",H);de(r,"htmx:afterOnLoad",H);if(!le(r)){let e=null;while(t.length>0&&e==null){const n=t.shift();if(le(n)){e=n}}if(e){de(e,"htmx:afterRequest",H);de(e,"htmx:afterOnLoad",H)}}oe(s);m()}catch(e){fe(r,"htmx:onLoadError",ce({error:e},H));throw e}};p.onerror=function(){Qt(T,q);fe(r,"htmx:afterRequest",H);fe(r,"htmx:sendError",H);oe(l);m()};p.onabort=function(){Qt(T,q);fe(r,"htmx:afterRequest",H);fe(r,"htmx:sendAbort",H);oe(l);m()};p.ontimeout=function(){Qt(T,q);fe(r,"htmx:afterRequest",H);fe(r,"htmx:timeout",H);oe(l);m()};if(!de(r,"htmx:beforeRequest",H)){oe(s);m();return e}var T=Zt(r);var q=Yt(r);se(["loadstart","loadend","progress","abort"],function(t){se([p,p.upload],function(e){e.addEventListener(t,function(e){de(r,"htmx:xhr:"+t,{lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total})})})});de(r,"htmx:beforeSend",H);const J=E?null:mn(p,r,w);p.send(J);return e}function An(e,t){const n=t.xhr;let r=null;let o=null;if(O(n,/HX-Push:/i)){r=n.getResponseHeader("HX-Push");o="push"}else if(O(n,/HX-Push-Url:/i)){r=n.getResponseHeader("HX-Push-Url");o="push"}else if(O(n,/HX-Replace-Url:/i)){r=n.getResponseHeader("HX-Replace-Url");o="replace"}if(r){if(r==="false"){return{}}else{return{type:o,path:r}}}const i=t.pathInfo.finalRequestPath;const s=t.pathInfo.responsePath;const l=re(e,"hx-push-url");const c=re(e,"hx-replace-url");const u=ie(e).boosted;let a=null;let f=null;if(l){a="push";f=l}else if(c){a="replace";f=c}else if(u){a="push";f=s||i}if(f){if(f==="false"){return{}}if(f==="true"){f=s||i}if(t.pathInfo.anchor&&f.indexOf("#")===-1){f=f+"#"+t.pathInfo.anchor}return{type:a,path:f}}else{return{}}}function In(e,t){var n=new RegExp(e.code);return n.test(t.toString(10))}function Pn(e){for(var t=0;t0){E().setTimeout(e,y.swapDelay)}else{e()}}if(f){fe(o,"htmx:responseError",ce({error:"Response Status Error Code "+s.status+" from "+i.pathInfo.requestPath},i))}}const Mn={};function Xn(){return{init:function(e){return null},getSelectors:function(){return null},onEvent:function(e,t){return true},transformResponse:function(e,t,n){return e},isInlineSwap:function(e){return false},handleSwap:function(e,t,n,r){return false},encodeParameters:function(e,t,n){return null}}}function Fn(e,t){if(t.init){t.init(n)}Mn[e]=ce(Xn(),t)}function Bn(e){delete Mn[e]}function Un(e,n,r){if(n==undefined){n=[]}if(e==undefined){return n}if(r==undefined){r=[]}const t=te(e,"hx-ext");if(t){se(t.split(","),function(e){e=e.replace(/ /g,"");if(e.slice(0,7)=="ignore:"){r.push(e.slice(7));return}if(r.indexOf(e)<0){const t=Mn[e];if(t&&n.indexOf(t)<0){n.push(t)}}})}return Un(ue(c(e)),n,r)}var jn=false;ne().addEventListener("DOMContentLoaded",function(){jn=true});function Vn(e){if(jn||ne().readyState==="complete"){e()}else{ne().addEventListener("DOMContentLoaded",e)}}function _n(){if(Q.config.includeIndicatorStyles!==false){const e=Q.config.inlineStyleNonce?` nonce="${Q.config.inlineStyleNonce}"`:"";ne().head.insertAdjacentHTML("beforeend"," ."+Q.config.indicatorClass+"{opacity:0} ."+Q.config.requestClass+" ."+Q.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} ."+Q.config.requestClass+"."+Q.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} ")}}function zn(){const e=ne().querySelector('meta[name="htmx-config"]');if(e){return S(e.content)}else{return null}}function $n(){const e=zn();if(e){Q.config=ce(Q.config,e)}}Vn(function(){$n();_n();let e=ne().body;kt(e);const t=ne().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");e.addEventListener("htmx:abort",function(e){const t=e.target;const n=ie(t);if(n&&n.xhr){n.xhr.abort()}});const n=window.onpopstate?window.onpopstate.bind(window):null;window.onpopstate=function(e){if(e.state&&e.state.htmx){Wt();se(t,function(e){de(e,"htmx:restored",{document:ne(),triggerEvent:de})})}else{if(n){n(e)}}};E().setTimeout(function(){de(e,"htmx:load",{});e=null},0)});return Q}(); \ No newline at end of file diff --git a/dist/htmx.min.js.gz b/dist/htmx.min.js.gz index f473cf05f117a2680d92dcf5d182a4d89f8118e3..d459f7eba8cccd0dc456e6021b400dc43788140f 100644 GIT binary patch delta 16086 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 delta 16055 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