@webqit/oohtml 3.1.15 → 3.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,7 +19,7 @@ Building Single Page Applications? OOHTML is a special love letter! Writing Web
19
19
 
20
20
  ## Polyfill
21
21
 
22
- OOHTML is being developed as something to be used today. This implementation adheres closely to the spec and evolves the proposal through a practice-driven process.
22
+ OOHTML is being developed as something to be used today. This implementation adheres closely to the spec and helps evolve the proposal through a practice-driven process.
23
23
 
24
24
  <details><summary>Load from a CDN<br>
25
25
  └───────── <a href="https://bundlephobia.com/result?p=@webqit/oohtml"><img align="right" src="https://img.shields.io/badge/21.8%20kB-black"></a></summary>
@@ -202,7 +202,7 @@ If you'll be going ahead to build a real app with OOHTML, you may want to consid
202
202
 
203
203
  Amidst a multitude of approaches, vanilla HTML remains an attractive option for the UI author! But the current authoring experience still leaves much to be desired in how the language lacks modularity, reusability, and certain modern paradigms like data binding! Authors still have to rely on tools - and, for the most part, have to do half of the work in HTML and half in JS - to express even basic concepts!
204
204
 
205
- "As an author, I want to be able to do 'x' *declaratively* instead of *imperatively* in JavaScript or by means of a special Custom Element!" "As a Web Component author, I want to be able to leverage *conventions* that keep my component logic *concise*!" All such "user stories" represent important developer intuitions that has yet to be met in HTML; much of which belong under a broad subject: an object-oriented markup language! This subject is what we explore with OOHTML!
205
+ "As an author, I want to be able to do 'x' *declaratively* in HTML instead of *imperatively* in JavaScript or by means of a special Custom Element!" "As a Web Component author, I want to be able to leverage *conventions* that keep my component logic *concise*!" All such "user stories" represent important developer intuitions that has yet to be met in HTML; much of which belong under a broad subject: an object-oriented markup language! This subject is what we explore with OOHTML!
206
206
 
207
207
  OOHTML comes, not as a specific technology, but as a conceptual "framework" of features that solves for HTML as an object-oriented language - whether that means re-aligning existing features or introducing new ones! While features may be discussed or explored individually, the one agenda "Object-Oriented HTML" helps us stay aligned with the original problem! Each of these features has been introduced below with a small explainer.
208
208
 
@@ -219,7 +219,7 @@ OOHTML is effectively different from Web Components (and from the related Declar
219
219
 
220
220
  ## Modular HTML
221
221
 
222
- Modular HTML is a markup pattern that lets us write arbitrary markup as self-contained objects - with each *encapsulating* their own structure, styling and logic!
222
+ Modular HTML is markup written as self-contained objects - wherein an element *encapsulates* their own structure, styling and logic!
223
223
 
224
224
  OOHTML makes this possible by introducing "namespacing" and style and script scoping!
225
225
 
@@ -240,7 +240,7 @@ Here, we get a modular naming convention using the `namespace` attribute. This a
240
240
 
241
241
  <label for="~city">City</label>
242
242
  <input id="city">
243
- <fieldset>
243
+ <fieldset>
244
244
 
245
245
  <fieldset namespace>
246
246
  <legend>Delivery Address</legend>
@@ -250,14 +250,21 @@ Here, we get a modular naming convention using the `namespace` attribute. This a
250
250
 
251
251
  <label for="~city">City</label>
252
252
  <input id="city">
253
- <fieldset>
253
+ <fieldset>
254
254
 
255
255
  </form>
256
256
  ```
257
257
 
258
- This lets us have repeating structures with identical but non-conflicting identifiers and `IDREFS`.
258
+ This lets us have repeating structures with identical but non-conflicting identifiers. These identifiers are then referenced locally using "local `IDREFS`" - denoted by the `~` prefix.
259
259
 
260
- And this also translates well to an object model:
260
+ Local `IDREFS` are resolved within the namespace where they're used (not globally; not deeply):
261
+
262
+ ```js
263
+ // Matches "#city" within the fieldset's namespace; not super namespace, not sub namespace
264
+ const city = fieldset.querySelector('#~city');
265
+ ```
266
+
267
+ And when used from the document context, these are resolved against top-level IDs; i.e. IDs in the document namespace itself (not deeply):
261
268
 
262
269
  ```html
263
270
  <div id="user" namespace>
@@ -268,6 +275,22 @@ And this also translates well to an object model:
268
275
  </div>
269
276
  ```
270
277
 
278
+ ```js
279
+ const user = document.querySelector('#~user');
280
+ ```
281
+
282
+ ```js
283
+ const user = document.getElementById('~user');
284
+ ```
285
+
286
+ And these also play well as URL targets, with additional support for path expressions denoting a hierarchy of namespaces:
287
+
288
+ ```html
289
+ <a href="#~user/email">Jump to Email</a>
290
+ ```
291
+
292
+ And JavaScript applications are able to consume namespace structures as an object model:
293
+
271
294
  ```html
272
295
  user
273
296
  ├── url
@@ -275,8 +298,6 @@ user
275
298
  └── email
276
299
  ```
277
300
 
278
- with a complementary API that exposes said structure to JavaScript applications:
279
-
280
301
  ```js
281
302
  // The document.namespace API
282
303
  let { user } = document.namespace;
@@ -351,7 +372,22 @@ Here, we get a new `scoped` attribute that lets us do just that:
351
372
  </div>
352
373
  ```
353
374
 
354
- **-->** *with a complementary low-level API that exposes said assets to tools*:
375
+ And the special "local ID" selector is supported within a scoped style sheet:
376
+
377
+ ```html
378
+ <div namespace>
379
+ <a id="url" href="https://example.org">
380
+ <span id="name">Joe Bloggs</span>
381
+ </a>
382
+ <a id="email" href="mailto:joebloggs@example.com" >joebloggs@example.com</a>
383
+
384
+ <style scoped>
385
+ #\~name { color: red }
386
+ </style>
387
+ </div>
388
+ ```
389
+
390
+ And everything comes with a complementary low-level API that exposes said assets to tools:
355
391
 
356
392
  ```js
357
393
  let { styleSheets, scripts } = user; // APIs that are analogous to the document.styleSheets, document.scripts properties
package/dist/main.js CHANGED
@@ -12,7 +12,7 @@ Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=1
12
12
  `).join(`
13
13
  `);i=`return ${e==="async-function"?"async ":""}function**(${n.join(", ")}) {
14
14
  ${g}
15
- }`,l.startStatic=!0}else if(!["script","async-script"].includes(e))throw new Error(`Unrecognized sourceType specified: "${e}".`);l.sourceType=e,u.inBrowser=f;let m=t(i,{parserParams:u,compilerParams:l,base64:p&&f&&"export default async function(%0) {%1}"});if(m instanceof Promise&&!["async-function","async-script","module"].includes(e))throw new Error("Parse-compile can only return a Promise for sourceTypes: async-function, async-script, module.");return c.sourceType=e,c.inBrowser=f,c.exportNamespace=a,c.fileName=o,Z(m,g=>{let y=["function","async-function"].includes(e);return Z(((b,w)=>{if(c.compileFunction)return c.compileFunction(w.toString(),[b]);if(p&&c.inBrowser){let S=()=>import(`data:text/javascript;base64,${w.toString("base64")}`).then(x=>x.default);return window.webqit?.realdom?.schedule?window.webqit?.realdom?.schedule("write",S,!0):S()}return new(p?async function(){}.constructor:Function)(b,w.toString())})(g.identifier+"",g),b=>{let w=(S,x=s)=>{let _=b;S&&(_=_.bind(S));let k="global",I=new X(void 0,k,globalThis);return(e.endsWith("script")||x)&&(k="env",I=new X(I,k,x)),e==="module"&&(k="module",I=new X(I,k)),typeof S<"u"&&(I=new X(I,"this",{this:S})),new jt(void 0,k,{...c,originalSource:g.originalSource,isQuantumFunction:!y},I,_)};return y?w().execute():{createRuntime:w,compiledSource:g}})})}var Bt=class{constructor(...t){let i=this.constructor,r=typeof t[t.length-1]=="object"?t.pop():{},s=t.pop()||"";this.$program=ke(i.sourceType,i.parseCompileCallback,s,r)}execute(){return Z(this.$program,({createRuntime:t})=>t().execute())}bind(t,i=void 0){return Z(this.$program,({createRuntime:r})=>r(t,i))}toString(t=!1){return Z(this.$program,({compiledSource:i})=>t?i+"":i.originalSource)}};function Un(...e){let{source:t,params:i}=Ei(e);return ke("function",Oe,t,i)}function Wn(...e){let{source:t,params:i}=Ei(e);return ke("async-function",Oe,t,i)}var Ae=class extends Bt{};U(Ae,"sourceType","script"),U(Ae,"parseCompileCallback",Oe);var Pe=class extends Bt{};U(Pe,"sourceType","async-script"),U(Pe,"parseCompileCallback",Oe);var Ie=class extends Bt{};U(Ie,"sourceType","module"),U(Ie,"parseCompileCallback",Oe);function Oe(e,t){let i=fs(e,t.parserParams);return ps(i,t.compilerParams)}function Te(e,t,i={},r={}){t=j(t).slice();for(var s=e;!gt(s)&&!ae(s)&&t.length;){var n=t.shift();if(!(i.get?i.get(s,n):D(s)?n in s:s[n])){r.exists=!1;return}s=i.get?i.get(s,n):s[n]}return r.exists=!0,s}function Bi(e,t,i,r={},s={}){let n=(c,f,p)=>s.set?s.set(c,f,p):(tt(t[o])&&N(c)?c.push(p):c[f]=p,!0);t=j(t);for(var a=e,o=0;o<t.length;o++)if(o<t.length-1){if(!a||!D(a)&&!M(a))return!1;var u=Te(a,t[o],s);if(!D(u)){if(s.buildTree===!1)return!1;u=M(s.buildTree)?s.buildTree(o):tt(t[o+1])?[]:{};var l=n(a,t[o],u);if(!l)return!1}a=u}else return n(a,t[o],i)}var Ne=class{constructor(t,i=!1){Object.defineProperty(this,"window",{value:t}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),Object.defineProperty(this,"_synthesis",{value:0,writable:!0}),!i&&this.window.requestAnimationFrame?this._loop():this._synthesis++}get synthesis(){return this._synthesis}async synthesizeWhile(t){this._synthesis++,this._fulfill();let i=await t();return this._synthesis--,i}_fulfill(){for(let t of this.readCallbacks)t(),this.readCallbacks.delete(t);for(let t of this.writeCallbacks)t(),this.writeCallbacks.delete(t)}_loop(){this.window.requestAnimationFrame(()=>{this._fulfill(),this._loop()})}onread(t,i=!1){if(i)return new Promise(r=>{this.synthesis?r(t()):this.readCallbacks.add(()=>{r(t())})});this.synthesis?Promise.resolve().then(t):this.readCallbacks.add(t)}onwrite(t,i=!1){if(i)return new Promise(r=>{this.synthesis?r(t()):this.writeCallbacks.add(()=>{r(t())})});this.synthesis?Promise.resolve().then(t):this.writeCallbacks.add(t)}cycle(t,i,r){this.onread(()=>{let s=t(r),n=a=>{a!==void 0&&this.onwrite(()=>{let o=i(a,r),u=l=>{l!==void 0&&this.cycle(t,i,l)};o instanceof Promise?o.then(u):u(o)})};s instanceof Promise?s.then(n):n(s)})}};function ds(e){return(e=e.trim())&&e.startsWith("(")&&e.endsWith(")")}function ii(e,t,i,r=!0){i=(Array.isArray(i)?i:[i]).map(a=>(a+"").replace("(",r?"(.//":"(./")).join("|");let s=[],n;try{let a=e.document.evaluate(i,t,null,XPathResult.ANY_TYPE);for(;n=a.iterateNext();)s.push(n)}catch{}return s}function ms(e,t,i){i=(Array.isArray(i)?i:[i]).map(r=>(r+"").replace("(","(self::")).join("|");try{return e.document.evaluate(`${i}`,t,null,XPathResult.BOOLEAN_TYPE).booleanValue}catch{}}function gs(e,t="|"){return[...e].reduce(([i,r,s,n],a)=>!i&&r===0&&(Array.isArray(t)?t:[t]).includes(a)?[i,r,[""].concat(s)]:(!i&&["(","[","{"].includes(a)&&!s[0].endsWith("\\")&&r++,!i&&[")","]","}"].includes(a)&&!s[0].endsWith("\\")&&r--,['"',"'","`"].includes(a)&&!s[0].endsWith("\\")&&(i=i===a?null:i||a),s[0]+=a,[i,r,s]),[null,0,[""]])[2].reverse()}var nt=class{constructor(t){this.content=t,this.type=typeof t=="string"?"selector":"instance",this.kind=this.type==="instance"?null:ds(t)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=gs(t.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var Ht=class{constructor(t,i,r){this.context=t,this.namespace=i,this.window=t.defaultView||t.ownerDocument?.defaultView||r,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(t){if(M(t[0])?t=[[],...t]:R(t[0])&&!(t[0]instanceof nt)&&t.length===1?t=[[],void 0,t[0]]:R(t[1])&&t.length===2?t=[j(t[0],!1),void 0,t[1]]:t[0]=j(t[0],!1),t[0].filter(i=>typeof i!="string"&&!(i instanceof nt)&&!(i instanceof this.window.Node)).length)throw new Error("Argument #2 must be either a string or a Node object, or a list of those.");return t[0]=t[0].map(i=>i instanceof nt?i:new nt(i)),t}registry(...t){return At("realdom.realtime",this.window,this.namespace,...t)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(t,i,r){let{window:s}=this,n=Array.isArray(i)?i:[i],a=new Set;for(let[o,u]of this.registry(t))for(let[l,c]of u){let f=n.filter(p=>l.contains(p.target)?o==="subtree"||p.target===l:!1);if(!!f.length){Array.isArray(i)||(f=f[0]);for(let p of c)a.add([p,f,l])}}for(let[o,u,l]of a)r.call(s,o,u,l)}disconnectables(t,...i){let r={disconnect(){i.forEach(s=>s&&M(s.disconnect)&&s.disconnect()||M(s)&&s()||R(s)&&(s.disconnected=!0))}};return t&&t.addEventListener("abort",()=>r.disconnect()),r}};var Tt=class extends Ht{constructor(t,...i){super(t,"attr",...i)}get(t,i=void 0,r={}){let s=typeof t=="string"||t instanceof nt;[t=[],i=void 0,r={}]=this.resolveArgs(arguments);let{context:n}=this,a=vs(n,t);if(!i)return a;let o=r.lifecycleSignals&&this.createSignalGenerator();if(s)for(let u of a){let l=o?.generate()||{};i(u,l,n)}else{let u=o?.generate()||{};i(a,u,n)}if(r.live){o&&(r={...r,signalGenerator:o});let u=this.observe(s?t[0]:t,i,{newValue:!0,...r});return this.disconnectables(r.signal,u)}}observe(t,i,r={}){let s=typeof t=="string"||t instanceof nt;if([t=[],i,r={}]=this.resolveArgs(arguments),["sync","intercept"].includes(r.timing))return this.observeSync(s?t[0]:t,i,r);if(r.timing&&r.timing!=="async")throw new Error(`Timing option "${r.timing}" invalid.`);let{context:n,window:a,webqit:o}=this;r.eventDetails&&!o.realdom.attrInterceptionHooks?.intercepting&&bs.call(a,"intercept",()=>{});let u=new a.MutationObserver(p=>{p=ws(p).map(m=>_s.call(a,m)),xs.call(a,f,p,n)}),l={attributes:!0,attributeOldValue:r.oldValue,subtree:r.subtree};t.length&&(l.attributeFilter=t.map(p=>p+"")),u.observe(n,l);let c=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:n,spec:t,callback:i,params:r,atomics:new Map,originalFilterIsString:s,signalGenerator:c,disconnectable:u};return this.disconnectables(r.signal,u,c)}observeSync(t,i,r={}){let s=typeof t=="string"||t instanceof nt;[t,i,r={}]=this.resolveArgs(arguments);let{context:n,window:a}=this;if(r.timing&&!["sync","intercept"].includes(r.timing))throw new Error(`Timing option "${r.timing}" invalid.`);let o=r.timing==="intercept"?"intercept":"sync",u=r.subtree?"subtree":"children";this.registry(o).size||bs.call(a,o,g=>{this.forEachMatchingContext(o,g,xs)});let l={disconnect(){m.delete(f),m.size||p.delete(n)}},c=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:n,spec:t,callback:i,params:r,atomics:new Map,originalFilterIsString:s,signalGenerator:c,disconnectable:l},p=this.registry(o,u);p.has(n)||p.set(n,new Set);let m=p.get(n);return m.add(f),this.disconnectables(r.signal,l,c)}};function ws(e){return e.reduce((t,i,r)=>t[r-1]?.attributeName===i.attributeName?t:t.concat(i),[])}function xs(e,t){let{context:i,spec:r,callback:s,params:n,atomics:a,originalFilterIsString:o,signalGenerator:u}=e,l=r.map(p=>p+"");if(n.atomic&&!a.size?t=vs(i,r,t):n.timing!=="async"&&r.length&&(t=t.filter(p=>l.includes(p.name))),!t.length)return;n.newValue===null&&n.oldValue===null&&n.eventDetails||(t=t.map(p=>{let m;return n.eventDetails||({event:m,...p}=p),!n.oldValue&&"oldValue"in p&&({oldValue:m,...p}=p),!n.newValue&&"value"in p?{value:m,...p}=p:n.newValue&&typeof p.value>"u"&&(p={...p,value:p.target.getAttribute(p.name)}),p})),n.atomic&&(t.forEach(p=>a.set(p.name,p)),t=Array.from(a.entries()).map(([,p])=>p));let c=o?t[0]:t,f=u?.generate()||{};s(c,f,i)}function vs(e,t,i=[]){let r={event:null,type:"attribute"};return t.length?t.map(n=>(n=n+"",i.find(a=>a.name===n)||{target:e,name:n,value:e.getAttribute(n),...r})):Array.from(e.attributes).map(n=>i.find(a=>a.name===n.nodeName)||{target:e,name:n.nodeName,value:n.nodeValue,...r})}function _s({target:e,attributeName:t,value:i,oldValue:r}){let a=(this.webqit.realdom.attrInterceptionRecords?.get(e)||{})[t]?.[0]||"mutation";return{target:e,name:t,value:i,oldValue:r,type:"observation",event:a}}function bs(e,t){let i=this,{webqit:r,document:s,Element:n}=i;r.realdom.attrInterceptionHooks||Object.defineProperty(r.realdom,"attrInterceptionHooks",{value:new Map}),r.realdom.attrInterceptionHooks.has(e)||r.realdom.attrInterceptionHooks.set(e,new Set),r.realdom.attrInterceptionHooks.get(e).add(t);let a=()=>r.realdom.attrInterceptionHooks.get(e).delete(t);if(r.realdom.attrInterceptionHooks?.intercepting)return a;console.warn("Attr mutation APIs are now being intercepted."),r.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(r.realdom,"attrInterceptionRecords",{value:new Map});let o=(c,f)=>{r.realdom.attrInterceptionRecords.has(c.target)||r.realdom.attrInterceptionRecords.set(c.target,{});let p=r.realdom.attrInterceptionRecords.get(c.target);p[c.name]=p[c.name]||[],p[c.name].unshift(c.event),r.realdom.attrInterceptionHooks.get("intercept")?.forEach(g=>g([c]));let m=f();return r.realdom.attrInterceptionHooks.get("sync")?.forEach(g=>g([c])),m};new i.MutationObserver(c=>{c=c.filter(f=>!(i.webqit.realdom.attrInterceptionRecords?.get(f.target)||{})[f.attributeName]?.shift()),c=ws(c).map(f=>_s.call(i,f)),c.length&&(r.realdom.attrInterceptionHooks.get("intercept")?.forEach(f=>f(c)),r.realdom.attrInterceptionHooks.get("sync")?.forEach(f=>f(c)))}).observe(s,{attributes:!0,subtree:!0,attributeOldValue:!0});let l=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(c=>{l[c]=n.prototype[c],n.prototype[c]=function(...f){let p,m=this.getAttribute(f[0]);["setAttribute","toggleAttribute"].includes(c)&&(p=f[1]),c==="toggleAttribute"&&p===void 0&&(p=m===null);let g={target:this,name:f[0],value:p,oldValue:m,type:"interception",event:[this,c]};return o(g,()=>l[c].call(this,...f))}}),a}var $e=class extends Ht{constructor(t,...i){super(t,"tree",...i)}attr(t,i=void 0,r={}){let{context:s,window:n}=this;return new Tt(s,n).get(...arguments)}query(t,i=void 0,r={}){[t,i=void 0,r={}]=this.resolveArgs(arguments);let{context:s}=this,n=new Map,a=l=>(n.has(l)||n.set(l,{target:l,entrants:[],exits:[],type:"query",event:null}),n.get(l));if(!r.generation||r.generation==="entrants"){if(!t.length)[...s.children].forEach(l=>a(s).entrants.push(l));else if(t.every(l=>l.type==="selector")){let[l,c]=t.reduce(([p,m],g)=>g.kind==="xpath"?[p,m.concat(g)]:[p.concat(g),m],[[],[]]),f=[];r.subtree?(l.length&&f.push(...s.querySelectorAll(l.join(","))),c.length&&f.push(...ii(this.window,s,c))):(l.length&&f.push(...[...s.children].filter(p=>p.matches(l))),c.length&&f.push(...ii(this.window,s,c,!1))),f.forEach(p=>a(p.parentNode||s).entrants.push(p))}}if(!i)return n;let o={disconnected:!1},u=i&&r.lifecycleSignals&&this.createSignalGenerator();for(let[,l]of n){if(o.disconnected)break;let c=u?.generate()||{};i(l,c,s)}if(r.live){u&&(r={...r,signalGenerator:u});let l=this.observe(t,i,r);return this.disconnectables(r.signal,o,l)}return this.disconnectables(r.signal,o,u)}children(t,i=void 0,r={}){return[t,i=void 0,r={}]=this.resolveArgs(arguments),this.query(t,i,{...r,subtree:!1})}subtree(t,i=void 0,r={}){return[t,i=void 0,r={}]=this.resolveArgs(arguments),this.query(t,i,{...r,subtree:!0})}observe(t,i,r={}){if([t,i,r={}]=this.resolveArgs(arguments),["sync","intercept"].includes(r.timing))return this.observeSync(t,i,r);if(r.timing&&r.timing!=="async")throw new Error(`Timing option "${r.timing}" invalid.`);let{context:s,window:n,webqit:a,document:o}=this;r.eventDetails&&(a.realdom.domInterceptionRecordsAlwaysOn=!0),(o.readyState==="loading"||a.realdom.domInterceptionRecordsAlwaysOn)&&!a.realdom.domInterceptionHooks?.intercepting&&Cs.call(n,"sync",()=>{});let u=new n.MutationObserver(f=>f.forEach(p=>{Hi.call(n,c,Es.call(n,p),s)}));u.observe(s,{childList:!0,subtree:r.subtree});let l=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),c={context:s,spec:t,callback:i,params:r,signalGenerator:l,disconnectable:u};if(r.staticSensitivity){let f=Ss.call(n,c);return this.disconnectables(r.signal,u,l,f)}return this.disconnectables(r.signal,u,l)}observeSync(t,i,r={}){[t,i,r={}]=this.resolveArgs(arguments);let{context:s,window:n}=this;if(r.timing&&!["sync","intercept"].includes(r.timing))throw new Error(`Timing option "${r.timing}" invalid.`);let a=r.timing==="intercept"?"intercept":"sync",o=r.subtree?"subtree":"children";this.registry(a).size||Cs.call(n,a,g=>{this.forEachMatchingContext(a,g,Hi)});let u=new n.MutationObserver(g=>g.forEach(y=>{Array.isArray((y=Es.call(n,y)).event)||Hi.call(n,f,y,s)}));u.observe(s,{childList:!0,subtree:r.subtree});let l={disconnect(){u.disconnect(),m.delete(f),m.size||p.delete(s)}},c=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:s,spec:t,callback:i,params:r,signalGenerator:c,disconnectable:l},p=this.registry(a,o);p.has(s)||p.set(s,new Set);let m=p.get(s);if(m.add(f),r.staticSensitivity){let g=Ss.call(n,f);return this.disconnectables(r.signal,l,c,g)}return this.disconnectables(r.signal,l,c)}};function Ss(e){let t=this,{context:i,spec:r,callback:s,params:n,signalGenerator:a}=e,o=r.filter(m=>m.kind==="css"),u=m=>m.match(/\.([\w-]+)/g)?.length?["class"]:[],l=m=>m.match(/#([\w-]+)/g)?.length?["id"]:[],c=m=>[...m.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(g=>g[1]).concat(u(m)).concat(l(m));if(!(e.$attrs=Array.from(new Set(o.filter(m=>(m+"").includes("[")).reduce((m,g)=>m.concat(c(g+"")),[])))).length)return;let f=new Set,p=new Set;return f.push=m=>(p.delete(m),f.add(m)),p.push=m=>(f.delete(m),p.add(m)),e.$deliveryCache={entrants:f,exits:p},new Tt(i,t).observe(e.$attrs,m=>{let g=new Map,y=w=>(g.has(w)||g.set(w,{target:w,entrants:[],exits:[],type:"static",event:null}),g.get(w)),v=new WeakMap,b=w=>(v.has(w)||v.set(w,o.some(S=>w.matches(S+""))),v.get(w));for(let w of m)["entrants","exits"].forEach(S=>{n.generation&&S!==n.generation||e.$deliveryCache[S].has(w.target)||(S==="entrants"?!b(w.target):b(w.target))||(e.$deliveryCache[S].push(w.target),y(w.target)[S].push(w.target),y(w.target).event=w.event)});for(let[,w]of g){let S=a?.generate()||{};s(w,S,i)}},{subtree:n.subtree,timing:n.timing,eventDetails:n.eventDetails})}function Hi(e,t){let{context:i,spec:r,callback:s,params:n,signalGenerator:a,$deliveryCache:o}=e,u={...t,entrants:[],exits:[]};if(n.eventDetails||delete u.event,["entrants","exits"].forEach(c=>{if(!(n.generation&&c!==n.generation)&&(r.length?u[c]=Xn.call(this,r,t[c],t.event!=="parse"):u[c]=[...t[c]],!!o))for(let f of u[c])o[c].push(f)}),!u.entrants.length&&!u.exits.length)return;let l=a?.generate()||{};s(u,l,i)}function Xn(e,t,i){t=Array.isArray(t)?t:[...t];let r=(s,n)=>{if(n.type==="selector"){let a=n.isXpathAttr?[]:s.filter(o=>n.kind==="xpath"?ms(this,o,n+""):o.matches&&o.matches(n+""));if((i||n.isXpathAttr)&&(a=s.reduce((o,u)=>n.kind==="xpath"?[...o,...ii(this,u,n,i)]:u.querySelectorAll?[...o,...u.querySelectorAll(n+"")]:o,a)),a.length)return a}else if(s.includes(n.content)||i&&s.some(a=>a.contains(n.content)))return[n.content]};return t.$$searchCache||(t.$$searchCache=new Map),e.reduce((s,n)=>{let a;return t.$$searchCache.has(n.content)?a=t.$$searchCache.get(n.content):(a=r(t,n)||[],n.type==="instance"&&t.$$searchCache.set(n.content,a)),s.concat(a)},[])}function Es({target:e,addedNodes:t,removedNodes:i}){let r=this,s;return s=j(t).reduce((n,a)=>n||r.webqit.realdom.domInterceptionRecords?.get(a),null),s=j(i).reduce((n,a)=>n||r.webqit.realdom.domInterceptionRecords?.get(a),s),s=s||r.document.readyState==="loading"&&"parse"||"mutation",{target:e,entrants:t,exits:i,type:"observation",event:s}}function Cs(e,t){let i=this,{webqit:r,document:s,Node:n,CharacterData:a,Element:o,HTMLElement:u,HTMLTemplateElement:l,DocumentFragment:c}=i;r.realdom.domInterceptionHooks||Object.defineProperty(r.realdom,"domInterceptionHooks",{value:new Map}),r.realdom.domInterceptionHooks.has(e)||r.realdom.domInterceptionHooks.set(e,new Set),r.realdom.domInterceptionHooks.get(e).add(t);let f=()=>r.realdom.domInterceptionHooks.get(e).delete(t);if(r.realdom.domInterceptionHooks?.intercepting)return f;console.warn("DOM mutation APIs are now being intercepted."),r.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(r.realdom,"domInterceptionRecords",{value:new Map});let p=(y,v)=>{y.entrants.concat(y.exits).forEach(w=>{clearTimeout(r.realdom.domInterceptionRecords.get(w)?.timeout),r.realdom.domInterceptionRecords.set(w,y.event);let S=setTimeout(()=>{r.realdom.domInterceptionRecords.delete(w)},0);Object.defineProperty(y.event,"timeout",{value:S,configurable:!0})}),r.realdom.domInterceptionHooks.get("intercept")?.forEach(w=>w(y));let b=v();return r.realdom.domInterceptionHooks.get("sync")?.forEach(w=>w(y)),b},m={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(y=>{function v(...b){let w=this instanceof a?m.characterData:m.other,S=()=>w[y].call(this,...b);if(!(this instanceof a||this instanceof o||this instanceof c))return S();let x=[],_=[],k=this;["insertBefore"].includes(y)?_=[b[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(y)?(_=[b[1]],["beforebegin","afterend"].includes(b[0])&&(k=this.parentNode)):["setHTML","replaceChildren"].includes(y)?(x=[...this.childNodes],_=y==="replaceChildren"?[...b]:[b[0]]):["replaceWith","remove"].includes(y)?(x=[this],_=y==="replaceWith"?[...b]:[],k=this.parentNode):["replaceChild"].includes(y)?(x=[b[1]],_=[b[0]]):["removeChild"].includes(y)?x=[...b]:(_=[...b],["before","after"].includes(y)&&(k=this.parentNode));let I=y;if(["insertAdjacentHTML","setHTML"].includes(y)){let W=this.nodeName;if(y==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(b[0])){if(!this.parentNode)return w[y].call(this,...b);W=this.parentNode.nodeName}let lt=s.createElement(W);w.setHTML.call(lt,_[0],y==="setHTML"?b[1]:{}),_=[...lt.childNodes],y==="insertAdjacentHTML"?(I="insertAdjacentElement",b[1]=new c,b[1].______isTemp=!0,b[1].append(...lt.childNodes)):(I="replaceChildren",b=[...lt.childNodes])}return p({target:k,entrants:_,exits:x,type:"interception",event:[this,y]},()=>w[I].call(this,...b))}["insertBefore","replaceChild","removeChild","appendChild"].includes(y)?(m.other[y]=n.prototype[y],n.prototype[y]=v):(["after","before","remove","replaceWith"].includes(y)&&(m.characterData[y]=a.prototype[y],a.prototype[y]=v),o.prototype[y]&&(m.other[y]=o.prototype[y],o.prototype[y]=v))});let g=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(y=>{let v=["textContent","nodeValue"].includes(y)?n:["outerText","innerText"].includes(y)?u:o;g[y]=Object.getOwnPropertyDescriptor(v.prototype,y),Object.defineProperty(v.prototype,y,{...g[y],set:function(b){let w=()=>g[y].set.call(this,b);if(!(this instanceof o))return w();let S=[],x=[],_=this;if(["outerHTML","outerText"].includes(y)?(S=[this],_=this.parentNode):S=[...this.childNodes],["outerHTML","innerHTML"].includes(y)){let I=this.nodeName;if(y==="outerHTML"){if(!this.parentNode)return w();I=this.parentNode.nodeName}let H=s.createElement(I==="TEMPLATE"?"div":I);g[y].set.call(H,b),x=this instanceof l?[]:[...H.childNodes],y==="outerHTML"?(b=new c,b.______isTemp=!0,b.append(...H.childNodes),w=()=>o.prototype.replaceWith.call(this,b)):this instanceof l?w=()=>this.content.replaceChildren(...H.childNodes):w=()=>o.prototype.replaceChildren.call(this,...H.childNodes)}return p({target:_,entrants:x,exits:S,type:"interception",event:[this,y]},w)}})}),["append","prepend","replaceChildren"].forEach(y=>{[s,c.prototype].forEach(v=>{let b=v[y];v[y]=function(...w){if(this.______isTemp)return b.call(this,...w);let S=y==="replaceChildren"?[...this.childNodes]:[];return p({target:this,entrants:w,exits:S,type:"interception",event:[this,y]},()=>b.call(this,...w))}})}),f}function ks(){Kn.call(this),Yn.call(this),Jn.call(this)}function Kn(){let e=this;e.CSS||(e.CSS={}),e.CSS.escape||(e.CSS.escape=t=>t.replace(/([\:@\~\$\&])/g,"\\$1"))}function Yn(){let e=this;"isConnected"in e.Node.prototype||Object.defineProperty(e.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function Jn(){let e=this;e.Element.prototype.matches||(e.Element.prototype.matches=e.Element.prototype.matchesSelector||e.Element.prototype.mozMatchesSelector||e.Element.prototype.msMatchesSelector||e.Element.prototype.oMatchesSelector||e.Element.prototype.webkitMatchesSelector||function(t){for(var i=(this.document||this.ownerDocument).querySelectorAll(t),r=i.length;--r>=0&&i.item(r)!==this;);return r>-1})}function As(){let e=this;if(e.webqit||(e.webqit={}),e.webqit.realdom)return e.webqit.realdom;e.webqit.realdom={},ks.call(e),e.webqit.realdom.meta=(...i)=>Zn.call(e,...i),e.webqit.realdom.ready=(...i)=>Ui.call(e,...i),e.webqit.realdom.realtime=(i,r="dom")=>{if(r==="dom")return new $e(i,e);if(r==="attr")return new Tt(i,e)};let t=new Ne(e);return e.webqit.realdom.schedule=(i,...r)=>t[`on${i}`](...r),e.webqit.realdom.synthesizeWhile=(...i)=>t.synthesizeWhile(...i),e.webqit.realdom}function Ui(...e){let t="interactive",i;Qt(e[0])?(t=e[0],M(e[1])&&(i=e[1])):M(e[0])&&(i=e[0]);let r={interactive:["interactive","complete"],complete:["complete"]};if(!r[t])throw new Error(`Invalid ready-state timing: ${t}.`);let s=this;if(!i)return s.webqit.realdom.readyStatePromises||(s.webqit.realdom.readyStatePromises={interactive:new Promise(n=>Ui.call(this,"interactive",n)),complete:new Promise(n=>Ui.call(this,"complete",n))}),s.webqit.realdom.readyStatePromises[t];if(r[t].includes(s.document.readyState))return i(s);s.webqit.realdom.readyStateCallbacks||(s.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},s.document.addEventListener("readystatechange",()=>{let n=s.document.readyState;for(let a of s.webqit.realdom.readyStateCallbacks[n].splice(0))a(s)},!1)),s.webqit.realdom.readyStateCallbacks[t].push(i)}function Zn(e){let t=this,i={},r;return(r=t.document.querySelector(`meta[name="${e}"]`))&&(i=(r.content||"").split(";").filter(s=>s).reduce((s,n)=>{let a=n.split("=").map(o=>o.trim());return Bi(s,a[0].split("."),a[1]==="true"?!0:a[1]==="false"?!1:tt(a[1])?parseInt(a[1]):a[1]),s},{})),{get name(){return e},get content(){return r.content},json(){return JSON.parse(JSON.stringify(i))}}}function ri(e,t){return typeof e!="string"?e:e.replace(/\w\S*/g,function(i){return i.charAt(0).toUpperCase()+(typeof t!==void 0&&t?i.substr(1).toLowerCase():i.substr(1))})}var E=(...e)=>At("oohtml",...e),F={};function Y(e,t,i){let r=this,s=As.call(r);F.window=r,r.webqitConfig||(r.webqitConfig=s.meta("webqit").json()),r.webqit||(r.webqit={}),r.webqit.oohtml||(r.webqit.oohtml={}),r.webqit.oohtml.configs||(r.webqit.oohtml.configs={});let n=e.toUpperCase().replace("-","_");if(!r.webqit.oohtml.configs[n]){r.webqit.oohtml.configs[n]={};let a=r.webqit.oohtml.configs[n];ue(2,a,i,t,s.meta(e).json()),r.webqitConfig.prefix&&Object.keys(a).forEach(o=>{Object.keys(a[o]).forEach(u=>{o==="api"&&typeof a[o][u]=="string"?a[o][u]=`${r.webqitConfig.prefix}${ri(a[o][u])}`:["attr","elements"].includes(o)&&a[o][u]?.startsWith("data-")===!1&&(a[o][u]=`${r.webqitConfig.prefix}-${a[o][u]}`)})})}return{config:r.webqit.oohtml.configs[n],realdom:s,window:r}}function ie(e,t){return[...e].reduce(([i,r,s],n)=>!i&&r===0&&(Array.isArray(t)?t:[t]).includes(n)?[i,r,[""].concat(s)]:(!i&&["(","[","{"].includes(n)&&!s[0].endsWith("\\")&&r++,!i&&[")","]","}"].includes(n)&&!s[0].endsWith("\\")&&r--,['"',"'","`"].includes(n)&&!s[0].endsWith("\\")&&(i=i===n?null:i||n),s[0]+=n,[i,r,s]),[null,0,[""]])[2].reverse()}var ia=()=>(0|Math.random()*9e6).toString(36),Wi=new Map;function Nt(e){let t;return(t=Wi.get(e))||(t=ia(),Wi.set(e,t)),t}function Le(e){let t;return Wi.forEach((i,r)=>{i===e&&(t=r)}),t}function si(){let{window:e}=F,{webqit:t}=e;if(t.DOMContextRequestEvent)return t.DOMContextRequestEvent;class i extends e.Event{constructor(...s){let n=s.pop();if(typeof n!="function")throw new Error("Callback must be provided.");let a=s.pop();if(!a?.kind)throw new Error('"options.kind" must be specified.');let o=["contextrequest","contextclaim"],u=s.pop()||o[0];if(!o.includes(u))throw new Error(`Invalid event type. Must be one of: ${o.join(",")}`);let{kind:l,detail:c,targetContext:f,live:p,signal:m,diff:g,...y}=a;super(u,{...y,bubbles:y.bubbles!==!1}),Object.defineProperty(this,"callback",{get:()=>n}),Object.defineProperty(this,"kind",{get:()=>l}),Object.defineProperty(this,"targetContext",{get:()=>f}),Object.defineProperty(this,"detail",{get:()=>c}),Object.defineProperty(this,"live",{get:()=>p}),Object.defineProperty(this,"signal",{get:()=>m}),Object.defineProperty(this,"diff",{get:()=>g}),Object.defineProperty(this,"options",{get:()=>y})}respondWith(s){if(this.diff){if("_prevValue"in this&&this._prevValue===s)return;Object.defineProperty(this,"_prevValue",{value:s,configurable:!0})}return this.callback(s)}}return t.DOMContextRequestEvent=i,i}var Ut=class extends AbortController{constructor(t){super(),t(i=>{let{window:{webqit:{Observer:r}}}=F;r.defineProperty(this,"value",{value:i,configurable:!0,enumerable:!0})},this)}};var Wt=class extends Error{};var St=class{static instance(t){return E(t).get("contexts::instance")||new this(t)}constructor(t){E(t).get("contexts::instance")?.dispose(),E(t).set("contexts::instance",this);let i={host:t,contexts:new Set};Object.defineProperty(this,"#",{get:()=>i})}get[Symbol.iterator](){return this["#"].contexts[Symbol.iterator]}get length(){return this["#"].contexts.size}find(...t){return[...this["#"].contexts].find(i=>typeof t[0]=="function"?t[0](i):i.constructor.kind===t[0]&&(t.length===1||i.detail===t[1]))}attach(t){if(!(t instanceof J))throw new TypeError("Context is not a valid DOMContext instance.");if(this.find(t.constructor.kind,t.detail))throw new Wt(`Context of same kind "${t.constructor.kind}"${t.detail?` and detail "${t.detail}"`:""} already exists.`);this["#"].contexts.add(t),t.initialize(this["#"].host)}detach(t){t.dispose(this["#"].host),this["#"].contexts.delete(t)}request(...t){return new Ut((i,r)=>{typeof t[t.length-1]!="function"&&(t[t.length-1]?t.push(i):t[t.length-1]=i);let s;(s=t.find(a=>typeof a=="object"&&a))&&s.live&&(s.signal&&s.signal.addEventListener("abort",()=>r.abort()),t[t.indexOf(s)]={...s,signal:r.signal});let n=new(si())(...t);this["#"].host.dispatchEvent(n)})}};var zi=class{static createRequest(){return{kind:this.kind}}constructor(t=null){Object.defineProperty(this,"detail",{get:()=>t}),Object.defineProperty(this,"subscriptions",{value:new Set})}get configs(){let{window:{webqit:{oohtml:{configs:t}}}}=F;return t}get name(){return this.host===F.window.document?1/0:this.host.getAttribute(this.configs.CONTEXT_API.attr.contextname)}subscribed(t){}handle(t){}unsubscribed(t){}matchEvent(t){return t.kind===this.constructor.kind&&(!t.targetContext||t.targetContext===this.name)}handleEvent(t){if(!(this.disposed||typeof t.respondWith!="function")){if(t.type==="contextclaim"){if(t.target===this.host||!(t.detail instanceof zi))return;let i=new Set;return this.subscriptions.forEach(r=>{!t.target.contains(r.target)||!t.detail.matchEvent(r)||(t.stopPropagation(),this.subscriptions.delete(r),i.add(r))}),t.respondWith(i)}if(t.type==="contextrequest")return this.matchEvent(t)?(t.live&&(this.subscriptions.add(t),this.subscribed(t),t.signal?.addEventListener("abort",()=>{this.subscriptions.delete(t),this.unsubscribed(t)})),t.stopPropagation(),this.handle(t)):void 0}}initialize(t){this.host=t,this.disposed=!1,t.addEventListener("contextrequest",this),t.addEventListener("contextclaim",this);let{value:i}=St.instance(t).request("contextclaim",{kind:this.constructor.kind,detail:this});return i?.forEach(r=>{this.subscriptions.add(r),this.subscribed(r),this.handle(r)}),this}dispose(t){return this.disposed=!0,t.removeEventListener("contextrequest",this),t.removeEventListener("contextclaim",this),this.subscriptions.forEach(i=>{this.subscriptions.delete(i),this.unsubscribed(i);let{target:r}=i;r.dispatchEvent(i)}),this}},J=zi;U(J,"kind");var re=class extends J{static createRequest(t=null){let i=super.createRequest();if(t?.startsWith("@")){let[r,...s]=s.slice(1).split("/").map(n=>n.trim());i.targetContext=r,i.detail=s.join("/")}else i.detail=t;return i}get namespaceObj(){return this.host[this.configs.NAMESPACED_HTML.api.namespace]}handle(t){let{window:{webqit:{Observer:i}}}=F;if(t._controller?.abort(),!(t.detail||"").trim())return t.respondWith(i.unproxy(this.namespaceObj));let r=(t.detail||"").split("/").map(s=>s.trim()).filter(s=>s);if(!r.length)return t.respondWith();r=r.join(`/${this.configs.NAMESPACED_HTML.api.namespace}/`)?.split("/")||[],t._controller=i.reduce(this.namespaceObj,r,i.get,s=>{this.disposed||t.respondWith(s.value)},{live:t.live,signal:t.signal,descripted:!0})}unsubscribed(t){t._controller?.abort()}};U(re,"kind","namespace");function Qi(e={}){let{config:t,window:i}=Y.call(this,"namespaced-html",e,{attr:{namespace:"namespace",lid:"id"},api:{namespace:"namespace"},tokens:{lidrefPrefix:"~",lidrefSeparator:":"},target:{attr:":target",event:":target",scrolling:!0}});t.lidSelector=`[${i.CSS.escape(t.attr.lid)}]`,t.namespaceSelector=`[${i.CSS.escape(t.attr.namespace)}]`,i.webqit.DOMNamingContext=re,ra.call(i,t),sa.call(i,t)}function Is(e){let{lidrefPrefix:t,lidrefSeparator:i}=e.tokens;return{escape(r,s=1){return[...r].map(n=>/\w/.test(n)?n:s===2?`\\\\${n}`:`\\${n}`).join("")},lidrefPrefix(r=0){return r?this.escape(t,r):t},lidrefSeparator(r=0){return r?this.escape(i,r):i},isUuid(r,s=0){return r.startsWith(this.lidrefPrefix(s))&&r.includes(this.lidrefSeparator(s))},isLidref(r,s=0){return r.startsWith(this.lidrefPrefix(s))&&!r.includes(this.lidrefSeparator(s))},toUuid(r,s,n=0){return`${this.lidrefPrefix(n)}${r}${this.lidrefSeparator(n)}${s}`},uuidToLid(r,s=0){return this.isUuid(r)?r.split(this.lidrefSeparator(s))[1]:r},uuidToLidref(r,s=0){return this.isUuid(r)?`${this.lidrefPrefix(s)}${r.split(this.lidrefSeparator(s))[1]}`:r}}}function Xi(e,t,i=null,r=0){let s=this,{webqit:{oohtml:{configs:{NAMESPACED_HTML:n}}}}=s,a=Is(n),o=new RegExp(`${i?":scope|":""}#(${a.lidrefPrefix(r+1)})?([\\w]+${a.lidrefSeparator(r+1)})?((?:[\\w-]|\\\\.)+)`,"g"),[u,l]=ie(e,",").reduce(([f,p],m)=>{let g,y;return m=m.replace(o,(v,b,w,S,x)=>{if(g||(g=[...m.matchAll(/(["'])(?:(?=(\\?))\2.)*?\1/g)]),g[0]&&g.some(W=>x>W.index&&x+v.length<W.index+W[0].length))return v;if(v===":scope")return y=!0,i;let _=b&&!w;if(b&&w)return`#${a.escape(v.replace("#",""),1)}`;let I=!1;if(_){if(n.attr.lid==="id"&&t)return`#${a.toUuid(t,S,1)}`;I=!0}let H;return n.attr.lid==="id"?H=`[id^="${a.lidrefPrefix(r)}"][id$="${a.lidrefSeparator(r)}${S}"]`:H=`:is(#${S},[${s.CSS.escape(n.attr.lid)}="${S}"])`,i&&I?`:is(${H}):not(${i} [${n.attr.namespace}] *)`:H}),y?[f,p.concat(m)]:[f.concat(m),p]},[[],[]]),c;return i&&u.length?c=[u.length>1?`${i} :is(${u.join(", ")})`:`${i} ${u[0]}`,l.join(", ")].filter(f=>f).join(", "):c=[...u,...l].join(", "),c}function Gi(e){if(!E(e).has("namespace")){let t=Object.create(null);E(e).set("namespace",t)}return E(e).get("namespace")}function Ki(e){let t=this,{webqit:{oohtml:{configs:{NAMESPACED_HTML:i}}}}=t,r=Gi(e instanceof t.Document?e:e.closest(`[${i.attr.namespace}]`)||e.ownerDocument);return Le(r)||Nt(r)}function ra(e){let t=this,{webqit:{Observer:i}}=t;if(e.api.namespace in t.document)throw new Error(`document already has a "${e.api.namespace}" property!`);if(e.api.namespace in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.namespace}" property!`);Object.defineProperty(t.document,e.api.namespace,{get:function(){return i.proxy(Gi.call(t,t.document))}}),Object.defineProperty(t.Element.prototype,e.api.namespace,{get:function(){return i.proxy(Gi.call(t,this))}})}function sa(e){let t=this,{webqit:{Observer:i,realdom:r,oohtml:{configs:s},DOMNamingContext:n}}=t;t.document[s.CONTEXT_API.api.contexts].attach(new n),r.realtime(t.document).subtree(e.namespaceSelector,x=>{x.exits.forEach(_=>{let k=_[s.CONTEXT_API.api.contexts],I=k.find(n.kind);I&&k.detach(I)}),x.entrants.forEach(_=>{let k=_[s.CONTEXT_API.api.contexts];k.find(n.kind)||k.attach(new n)})},{live:!0,timing:"sync",staticSensitivity:!0});let a=["aria-owns","aria-controls","aria-labelledby","aria-describedby","aria-flowto"],o=["for","list","form","aria-activedescendant","aria-details","aria-errormessage"],u=[e.attr.lid,...a,...o],l={id:"id",for:"htmlFor","aria-owns":"ariaOwns","aria-controls":"ariaControls","aria-labelledby":"ariaLabelledBy","aria-describedby":"ariaDescribedBy","aria-flowto":"ariaFlowto","aria-activedescendant":"ariaActiveDescendant","aria-details":"ariaDetails","aria-errormessage":"ariaErrorMessage"},c=Is(e),f=Object.getOwnPropertyDescriptor(t.Element.prototype,"getAttribute");Object.defineProperty(t.Element.prototype,"getAttribute",{...f,value(x){let _=f.value.call(this,x);return!E(this,"lock").get(x)&&u.includes(x)?(x==="id"?c.uuidToLid:c.uuidToLidref).call(c,_):_}});let p=Object.getOwnPropertyDescriptor(t.Document.prototype,"getElementById");Object.defineProperty(t.Document.prototype,"getElementById",{...p,value(x){return this.querySelector(`#${x}`)}});for(let x of["querySelector","querySelectorAll"])for(nodeApi of[t.Document,t.Element]){let _=Object.getOwnPropertyDescriptor(nodeApi.prototype,x);Object.defineProperty(nodeApi.prototype,x,{..._,value(k){return _.value.call(this,Xi.call(t,k,Ki.call(t,this)))}})}for(let x of u){if(!(x in l))continue;let _=x==="for"?[t.HTMLLabelElement,t.HTMLOutputElement]:[t.Element];for(let k of _){let I=Object.getOwnPropertyDescriptor(k.prototype,l[x]);!I||Object.defineProperty(k.prototype,l[x],{...I,get(){return(x==="id"?c.uuidToLid:c.uuidToLidref).call(c,I.get.call(this,x)||"")}})}}let m=Object.getOwnPropertyDescriptor(t.Attr.prototype,"value");Object.defineProperty(t.Attr.prototype,"value",{...m,get(){let x=m.get.call(this);return u.includes(this.name)?(this.name==="id"?c.uuidToLid:c.uuidToLidref).call(c,x):x}}),e.attr.lid!=="id"&&Object.defineProperty(t.Element.prototype,e.attr.lid,{configurable:!0,enumerable:!0,get(){return this.getAttribute(e.attr.lid)},set(x){return this.setAttribute(e.attr.lid,x)}});let g=(x,_,k)=>{if(E(x,"lock").get(_))return;E(x,"lock").set(_,!0),typeof k=="function"&&(k=k());let I=E(x).get("ownerNamespace");if(_===e.attr.lid){let H=c.uuidToLid(k);i.get(I,H)===x&&i.deleteProperty(I,H)}else{let H=k.split(" ").map(W=>(W=W.trim())&&c.uuidToLidref(W)).join(" ");x.setAttribute(_,H)}E(x,"lock").delete(_)},y=(x,_,k)=>{if(E(x,"lock").get(_))return;E(x,"lock").set(_,!0),typeof k=="function"&&(k=k());let I=E(x).get("ownerNamespace"),H=E(x).get("namespaceUUID");if(_===e.attr.lid){let W=c.uuidToLid(k);i.get(I,W)!==x&&(x.setAttribute("id",c.toUuid(H,W)),i.set(I,W,x))}else{let W=k.split(" ").map(lt=>(lt=lt.trim())&&!c.isLidref(lt)?lt:c.toUuid(H,lt.replace(c.lidrefPrefix(),""))).join(" ");x.setAttribute(_,W)}E(x,"lock").delete(_)},v=(x,_=!0)=>{for(let k of u)!x.hasAttribute(k)||g(x,k,()=>x.getAttribute(k));E(x).delete("ownerNamespace"),E(x).delete("namespaceUUID"),_&&(E(x).get("namespaceBinding").abort(),E(x).delete("namespaceBinding"))},b=x=>{if(!E(x).get("ownerNamespace")){let _={...n.createRequest(),live:!0},k=x.parentNode[s.CONTEXT_API.api.contexts].request(_,I=>{E(x).get("namespaceUUID")&&v(x,!1),E(x).set("ownerNamespace",I),E(x).set("namespaceUUID",Le(I)||Nt(I)),b(x)});E(x).set("namespaceBinding",k);return}for(let _ of u)!x.hasAttribute(_)||y(x,_,()=>x.getAttribute(_))};r.realtime(t.document).subtree(`[${u.map(x=>t.CSS.escape(x)).join("],[")}]`,x=>{x.exits.forEach(v),x.entrants.forEach(b)},{live:!0,timing:"sync"}),r.realtime(t.document,"attr").observe(u,x=>{for(let _ of x)_.oldValue?(g(_.target,_.name,_.oldValue),_.value&&y(_.target,_.name,_.value)):b(entry)},{subtree:!0,timing:"sync",newValue:!0,oldValue:!0});let w,S=()=>{if(!t.location.hash?.startsWith(`#${c.lidrefPrefix()}`))return;let x=t.location.hash?.substring(`#${c.lidrefPrefix()}`.length).split("/").map(k=>k.trim()).filter(k=>k)||[],_=x.reduce((k,I)=>k&&k[e.api.namespace][I],t.document);w&&e.target.attr&&w.toggleAttribute(e.target.attr,!1),_&&_!==t.document&&(e.target.attr&&_.toggleAttribute(e.target.attr,!0),e.target.event&&_.dispatchEvent(new t.CustomEvent(e.target.event)),e.target.scrolling&&x.length>1&&_.scrollIntoView(),w=_)};t.addEventListener("hashchange",S),r.ready(S)}function Yi({advanced:e={},...t}){let{config:i,window:r}=Y.call(this,"scoped-css",t,{api:{styleSheets:"styleSheets"},style:{retention:"retain",mimeType:"",strategy:null}});i.styleSelector=(Array.isArray(i.style.mimeType)?i.style.mimeType:[i.style.mimeType]).reduce((s,n)=>{let a=n?`[type=${r.CSS.escape(n)}]`:"";return s.concat(`style${a}[scoped]`)},[]).join(","),r.webqit.oohtml.Style={compileCache:new Map},na.call(r,i),aa.call(r,i)}function na(e){let t=this,i=new Map;if(e.api.styleSheets in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.styleSheets}" property!`);Object.defineProperty(t.HTMLElement.prototype,e.api.styleSheets,{get:function(){return i.has(this)||i.set(this,[]),i.get(this)}}),Object.defineProperty(t.HTMLStyleElement.prototype,"scoped",{configurable:!0,get(){return this.hasAttribute("scoped")},set(r){this.toggleAttribute("scoped",r)}})}function aa(e){let t=this,{webqit:{oohtml:i,realdom:r}}=t;t.CSS.supports||(t.CSS.supports=()=>!1);let s=new WeakSet;r.realtime(t.document).subtree(e.styleSelector,n=>{n.entrants.forEach(a=>{if(s.has(a)||(s.add(a),!a.scoped))return;a.parentNode[e.api.styleSheets].push(a);let o=Nt(a.textContent),u=CSS.supports("selector(:has(a,b))"),l=u?`:has(> style[rand-${o}])`:`[rand-${o}]`,c=t.CSSScopeRule&&!1;(u?a:a.parentNode).toggleAttribute(`rand-${o}`,!0);{let f=Ki.call(t,a);oa.call(this,a.sheet,f,!c&&l)}})},{live:!0,timing:"intercept",generation:"entrants"})}function oa(e,t,i=null){let r=e?.cssRules.length||-1;for(let s=0;s<r;++s){let n=e.cssRules[s];n instanceof CSSImportRule||Os.call(this,n,t,i)}}function Os(e,t,i=null){if(e instanceof CSSStyleRule){Ts.call(this,e,t,i);return}if([window.CSSScopeRule,window.CSSMediaRule,window.CSSContainerRule,window.CSSSupportsRule,window.CSSLayerBlockRule].some(r=>r&&e instanceof r)){let r=e.cssRules.length;for(let s=0;s<r;++s)Os.call(this,e.cssRules[s],t,i)}}function Ts(e,t,i=null){let r=Xi.call(this,e.selectorText,t,i,1);if(e.selectorText=r,e.cssRules){let s=e.cssRules.length;for(let n=0;n<s;++n)Ts.call(this,e.cssRules[n],t)}}function Ji({advanced:e={},...t}){let{config:i,window:r}=Y.call(this,"scoped-js",t,{script:{retention:"retain",mimeType:""},api:{scripts:"scripts"},advanced:ti(e)});i.scriptSelector=(Array.isArray(i.script.mimeType)?i.script.mimeType:[i.script.mimeType]).reduce((s,n)=>{let a=n?`[type=${r.CSS.escape(n)} ]`:"";return s.concat(`script${a}[scoped],script${a}[quantum]`)},[]).join(","),r.webqit.oohtml.Script={compileCache:[new Map,new Map],execute:la.bind(r,i)},ua.call(r,i),ca.call(r,i)}function ua(e){let t=this,i=new Map;if(e.api.scripts in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.scripts}" property!`);Object.defineProperty(t.HTMLElement.prototype,e.api.scripts,{get:function(){return i.has(this)||i.set(this,[]),i.get(this)}}),Object.defineProperties(t.HTMLScriptElement.prototype,{scoped:{configurable:!0,get(){return this.hasAttribute("scoped")},set(r){this.toggleAttribute("scoped",r)}},quantum:{configurable:!0,get(){return this.hasAttribute("quantum")},set(r){this.toggleAttribute("quantum",r)}}})}async function la(e,t){let i=this,{realdom:r}=i.webqit,s=Le(t);if(!s)throw new Error("Argument must be a valid exec hash.");let{script:n,compiledScript:a,thisContext:o}=s;e.script.retention==="dispose"?n.remove():e.script.retention==="dispose"?n.textContent='"source hidden"':n.textContent=await a.toString();let u=(await a.bind(o)).execute();n.quantum&&Object.defineProperty(n,"state",{value:u}),r.realtime(i.document).observe(n,()=>{n.quantum&&u.dispose(),n.scoped&&o[e.api.scripts].splice(o[e.api.scripts].indexOf(n,1))},{subtree:!0,timing:"sync",generation:"exits"})}function ca(e){let t=this,{webqit:{oohtml:i,realdom:r,QuantumScript:s,QuantumAsyncScript:n,QuantumModule:a}}=t;t.HTMLScriptElement.supports||(t.HTMLScriptElement.supports=()=>!1);let o=["module"].concat(e.script.mimeType||[]),u=new WeakSet;r.realtime(t.document).subtree(e.scriptSelector,l=>{l.entrants.forEach(c=>{if(u.has(c))return;u.add(c);let f=(c._=c.textContent.trim())&&c._.startsWith("/*@oohtml*/if(false){")&&c._.endsWith("}/*@oohtml*/")?c._.slice(21,-12):c.textContent,p=Nt(f),m=i.Script.compileCache[c.quantum?0:1],g;if(!(g=m.get(p))){let{parserParams:w,compilerParams:S,runtimeParams:x}=e.advanced;g=new(c.type==="module"?a:s||n)(f,{exportNamespace:`#${c.id}`,fileName:`${t.document.url?.split("#")?.[0]||""}#${c.id}`,parserParams:w,compilerParams:{...S,startStatic:!c.quantum},runtimeParams:x}),m.set(p,g)}let y=c.scoped?c.parentNode||l.target:c.type==="module"?void 0:t;c.scoped&&y[e.api.scripts].push(c);let v=Nt({script:c,compiledScript:g,thisContext:y});l.type==="query"||o.includes(c.type)&&!t.HTMLScriptElement.supports(c.type)?i.Script.execute(v):c.textContent=`webqit.oohtml.Script.execute( '${v}' );`})},{live:!0,timing:"intercept",generation:"entrants",eventDetails:!0})}function Zi(e={}){let{config:t,window:i}=Y.call(this,"context-api",e,{attr:{contextname:"contextname"},api:{contexts:"contexts"}});i.webqit.DOMContexts=St,i.webqit.DOMContext=J,i.webqit.DOMContextRequestEvent=si(),i.webqit.DOMContextResponse=Ut,i.webqit.DuplicateContextError=Wt,ha.call(i,t)}function ha(e){let t=this;if(e.api.contexts in t.document)throw new Error(`document already has a "${e.api.contexts}" property!`);if(e.api.contexts in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${e.api.contexts}" property!`);Object.defineProperty(t.document,e.api.contexts,{get:function(){return St.instance(t.document)}}),Object.defineProperty(t.HTMLElement.prototype,e.api.contexts,{get:function(){return St.instance(this)}});let i=new Set;t.addEventListener("contextrequest",r=>{typeof r.respondWith=="function"&&(i.add(r),r.respondWith())}),t.addEventListener("contextclaim",r=>{if(typeof r.detail!="object"||typeof r.detail.matchEvent!="function"||typeof r.respondWith!="function")return;let s=new Set;i.forEach(n=>{!r.target.contains(n.target)||!r.detail.matchEvent(n)||(i.delete(n),s.add(n))}),r.respondWith(s)})}var Et=class extends J{static createRequest(t=null){let i=super.createRequest();if(t?.startsWith("@")){let[r,...s]=s.slice(1).split(".").map(n=>n.trim());i.targetContext=r,i.detail=s.join(".")}else i.detail=t;return i}get bindingsObj(){return this.host[this.configs.BINDINGS_API.api.bindings]}matchEvent(t){return super.matchEvent(t)&&(!t.detail||!this.detail||(Array.isArray(t.detail)?t.detail[0]===this.detail:t.detail===this.detail))}handle(t){if(t._controller?.abort(),!(t.detail+"").trim())return t.respondWith(this.bindingsObj);let{window:{webqit:{Observer:i}}}=F;t._controller=i.reduce(this.bindingsObj,Array.isArray(t.detail)?t.detail:[t.detail],i.get,r=>{this.disposed||t.respondWith(r.value)},{live:t.live,signal:t.signal,descripted:!0})}unsubscribed(t){t._controller?.abort()}};U(Et,"kind","bindings");function er(e={}){let{config:t,window:i}=Y.call(this,"bindings-api",e,{attr:{bindingsreflection:"bindings"},api:{bind:"bind",bindings:"bindings"}});i.webqit.DOMBindingsContext=Et,fa.call(i,t)}function tr(e,t){let i=this,{webqit:{Observer:r,oohtml:{configs:{CONTEXT_API:s}}}}=i;if(!E(t).has("bindings")){let n=Object.create(null);E(t).set("bindings",n),r.observe(n,a=>{let o=Object.keys(n),u=t===i.document?i.document.documentElement:t,l=e.attr.bindingsreflection;o.length&&l?u.setAttribute(e.attr.bindingsreflection,o.join(" ")):l&&u.toggleAttribute(e.attr.bindingsreflection,!1);let c=t[s.api.contexts];for(let f of a)if(f.type==="delete"){let p=c.find(Et.kind,f.key);p&&c.detach(p)}else c.find(Et.kind,f.key)||c.attach(new Et(f.key))})}return E(t).get("bindings")}function fa(e){let t=this,{webqit:{Observer:i}}=t;if(e.api.bind in t.document)throw new Error(`document already has a "${e.api.bind}" property!`);if(e.api.bindings in t.document)throw new Error(`document already has a "${e.api.bindings}" property!`);if(e.api.bind in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.bind}" property!`);if(e.api.bindings in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.bindings}" property!`);Object.defineProperty(t.document,e.api.bind,{value:function(r,s={}){return Ns.call(t,e,t.document,r,s)}}),Object.defineProperty(t.document,e.api.bindings,{get:function(){return i.proxy(tr.call(t,e,t.document))}}),Object.defineProperty(t.Element.prototype,e.api.bind,{value:function(r,s={}){return Ns.call(t,e,this,r,s)}}),Object.defineProperty(t.Element.prototype,e.api.bindings,{get:function(){return i.proxy(tr.call(t,e,this))}})}function Ns(e,t,i,{merge:r,diff:s,namespace:n}={}){let a=this,{webqit:{Observer:o}}=a,u=tr.call(this,e,t),l={diff:s,namespace:n},c=r?[]:o.ownKeys(u,l).filter(f=>!(f in i));return o.batch(u,()=>(c.length&&o.deleteProperties(u,c,l),o.set(u,i,l)),l)}var mt=class{static instance(t){return E(t).get("defsmanager::instance")||new this(t)}constructor(t,i=null,r=0){let{window:s}=F,{webqit:{realdom:n,oohtml:{configs:a}}}=s;E(t).get("defsmanager::instance")?.dispose(),E(t).set("defsmanager::instance",this),this.host=t,this.config=a.HTML_IMPORTS,this.parent=i,this.level=r,this.defs=Ct(this.host),this.defId=(this.host.getAttribute(this.config.attr.def)||"").trim(),this.validateDefId(this.defId),this.realtimeA=n.realtime(this.host.content).children(o=>{this.export(o.entrants,!0),this.export(o.exits,!1)},{live:!0,timing:"sync"}),this.realtimeB=n.realtime(this.host).attr(["src","loading"],(...o)=>this.evaluateLoading(...o),{live:!0,atomic:!0,timing:"sync",lifecycleSignals:!0}),this.realtimeC=this.evalInheritance()}validateDefId(t){if(["@","/","*","#"].some(i=>t.includes(i)))throw new Error(`The export ID "${t}" contains an invalid character.`)}export(t,i){let{window:r}=F,{webqit:{Observer:s}}=r,n,a=this.defs["#"]||[];s.batch(this.defs,()=>{t.forEach(o=>{if(o.nodeType!==1)return;let u=o.matches(this.config.templateSelector),l=(o.getAttribute(u?this.config.attr.def:this.config.attr.fragmentdef)||"").trim();i?(u&&l?new mt(o,this.host,this.level+1):(a.push(o),n=!0),l&&(this.validateDefId(l),s.set(this.defs,(!u&&"#"||"")+l,o))):(u&&l?mt.instance(o).dispose():(a=a.filter(c=>c!==o),n=!0),l&&s.deleteProperty(this.defs,(!u&&"#"||"")+l))}),n&&s.set(this.defs,"#",a)})}evaluateLoading([t,i],{signal:r}){let{window:{webqit:{Observer:s}}}=F,n=(t.value||"").trim();if(!n)return;let a,o=c=>{if(!c)return a;a=c.then(()=>l.remove())},u=(i.value||"").trim(),l=s.intercept(this.defs,"get",async(c,f,p)=>(u==="lazy"&&o(this.load(n,!0)),await o(),p()),{signal:r});u!=="lazy"&&o(this.load(n))}load(t){let{window:i}=F;if(this.host.content.children.length)return Promise.resolve();if(this.fetchInFlight?.src===t)return this.fetchInFlight.request;this.fetchInFlight?.controller.abort();let r=new AbortController,s=(a,o)=>this.host.dispatchEvent(new i.CustomEvent(a,{detail:o})),n=i.fetch(t,{signal:r.signal,element:this.host}).then(a=>a.ok?a.text():Promise.reject(a.statusText)).then(a=>(this.host.innerHTML=a.trim(),s("load"),this.host)).catch(a=>(console.error(`Error fetching the bundle at "${t}": ${a.message}`),this.fetchInFlight=null,s("loaderror"),this.host));return this.fetchInFlight={src:t,request:n,controller:r},n}evalInheritance(){if(!this.parent)return[];let{window:{webqit:{Observer:t}}}=F,i=(this.host.getAttribute(this.config.attr.extends)||"").trim(),r=(this.host.getAttribute(this.config.attr.inherits)||"").trim(),s=o=>{o.forEach(u=>{t.get(this.defs,u.key)===u.oldValue&&(["get","set","def"].includes(u.type)?t[u.type.replace("get","set")](this.defs,u.key,u.value):u.type==="delete"&&t.deleteProperty(this.defs,u.key))})},n=[],a=Ct(this.parent);return i&&n.push(t.reduce(a,[i,this.config.api.defs,1/0],t.get,s,{live:!0})),(r=r.split(" ").map(o=>o.trim()).filter(o=>o)).length&&n.push(t.get(a,r,s,{live:!0})),n}dispose(){this.realtimeA.disconnect(),this.realtimeB.disconnect(),this.realtimeC.forEach(t=>t instanceof Promise?t.then(i=>i.abort()):t.abort()),Object.entries(this.defs).forEach(([t,i])=>{t.startsWith("#")||mt.instance(i).dispose()})}};var kt=class extends J{static createRequest(t=null){let i=super.createRequest();if(t?.startsWith("/"))i.detail=t,i.targetContext=1/0;else if(t?.startsWith("@")){let[r,...s]=s.slice(1).split(/(?<=\w)(?=\/|#)/).map(n=>n.trim());i.targetContext=r,i.detail=s.join("")}else i.detail=t;return i}get localModules(){return Ct(this.host)}handle(t){let{window:{webqit:{Observer:i}}}=F;if(t._controller?.abort(),(t.detail||"").trim()==="/")return t.respondWith(this.localModules);let r=(t.detail||"").split(/\/|(?<=\w)(?=#)/g).map(n=>n.trim()).filter(n=>n);if(!r.length)return t.respondWith();r=r.join(`/${this.configs.HTML_IMPORTS.api.defs}/`)?.split("/")||[];let s={live:t.live,signal:t.signal,descripted:!0};t._controller=i.reduce(this.localModules,r,i.get,(n,{signal:a}={})=>{let o=Array.isArray(n)?n:n.value,u=Array.isArray(n)?n.length:n.value;if(!(!u&&this.host.isConnected===!1))return u||!this.contextModules?(t._isValidLocalResult=u,t.respondWith(o)):i.reduce(this.contextModules,r,i.get,l=>(t._currentSource="context",t.respondWith(Array.isArray(l)?l:l.value)),{...s,signal:a})},{lifecycleSignals:!0,...s})}unsubscribed(t){t._controller?.abort()}realtimeSources(t){this.host=t;let i=()=>{for(let n of this.subscriptions)n._isValidLocalResult||this.handle(n)},r=this.configs.HTML_IMPORTS;if(!this.host.matches||!r.attr.importscontext)return;this.refdSourceController?.disconnect();let s=this.host.ownerDocument.defaultView.webqit.realdom;this.refdSourceController=s.realtime(this.host).attr(r.attr.importscontext,(n,{signal:a})=>{if(!n.value)return this.contextModules=void 0,i();let o={...this.constructor.createRequest(n.value.trim()),live:!0,signal:a};this.host.parentNode[this.configs.CONTEXT_API.api.contexts].request(o,u=>{this.contextModules=u&&Object.getPrototypeOf(u)?Ct(u):u,i()})},{live:!0,timing:"sync",lifecycleSignals:!0})}initialize(t){return this.realtimeSources(t),super.initialize(t)}dispose(t){return this.refdSourceController?.disconnect(),super.dispose(t)}};U(kt,"kind","html-imports");function $s(){let{window:e}=F,{webqit:t}=e,{realdom:i,oohtml:{configs:r}}=t;if(t.HTMLImportElement)return t.HTMLImportElement;let s=r.HTML_IMPORTS.elements.import.includes("-")?e.HTMLElement:class{};class n extends s{static instance(o){return r.HTML_IMPORTS.elements.import.includes("-")&&o instanceof this?o:E(o).get("import::instance")||new this(o)}constructor(...o){super();let u=o[0]||this;E(u).set("import::instance",this),Object.defineProperty(this,"el",{get:()=>u,configurable:!1});let l={};Object.defineProperty(this,"#",{get:()=>l,configurable:!1}),l.slottedElements=new Set,l.setAnchorNode=c=>(l.anchorNode=c,c),l.importRequest=(c,f=null)=>{let p={...kt.createRequest(l.moduleRef?.includes("#")?l.moduleRef:`${l.moduleRef}#`),live:f&&!0,signal:f};(this.el.isConnected?this.el.parentNode:l.anchorNode.parentNode)[r.CONTEXT_API.api.contexts].request(p,m=>{c((m instanceof e.HTMLTemplateElement?[...m.content.children]:Array.isArray(m)?m:m&&[m])||[])})},l.hydrate=(c,f)=>{l.moduleRef=(this.el.getAttribute(r.HTML_IMPORTS.attr.ref)||"").trim(),c.replaceWith(l.setAnchorNode(this.createAnchorNode())),l.autoRestore(()=>{f.forEach(p=>{l.slottedElements.add(p),E(p).set("slot@imports",this.el)})}),l.hydrationImportRequest=new AbortController,l.importRequest(p=>{if(l.originalsRemapped)return this.fill(p);let m=p.map((y,v)=>({el:y,fragmentDef:y.getAttribute(r.HTML_IMPORTS.attr.fragmentdef)||"",tagName:y.tagName,i:v})),g=-1;f.forEach(y=>{let v=y.tagName,b=y.getAttribute(r.HTML_IMPORTS.attr.fragmentdef)||"",w=(g++,m.find(S=>S.tagName===v&&S.fragmentDef===b&&S.i===g));!w||E(y).set("original@imports",w.el)}),l.originalsRemapped=!0},l.hydrationImportRequest.signal)},l.autoRestore=(c=null)=>{l.autoRestoreRealtime?.disconnect(),c&&c();let f=()=>{l.anchorNode?.replaceWith(this.el),l.anchorNode=null,this.el.setAttribute("data-nodecount",0)};if(!l.slottedElements.size)return f();let p=i.realtime(e.document).observe([...l.slottedElements],m=>{if(m.exits.forEach(g=>{E(g).delete("slot@imports"),l.slottedElements.delete(g)}),!l.slottedElements.size){if(p.disconnect(),!m.target.isConnected)return;f()}},{subtree:!0,timing:"sync",generation:"exits"});l.autoRestoreRealtime=p},l.connectedCallback=()=>{if(l.slottedElements.size)throw new Error("Illegal reinsertion into the DOM; import slot is not empty!");l.moduleRefRealtime||(l.moduleRefRealtime=i.realtime(this.el).attr(r.HTML_IMPORTS.attr.ref,(c,{signal:f})=>{l.moduleRef=c.value,l.importRequest(p=>!l.hydrationImportRequest&&this.fill(p),f)},{live:!0,timing:"sync",lifecycleSignals:!0}),l.hydrationImportRequest?.abort(),l.hydrationImportRequest=null)},l.disconnectedCallback=()=>{l.hydrationImportRequest?.abort(),l.hydrationImportRequest=null,!l.anchorNode.isConnected&&(l.moduleRefRealtime?.disconnect(),l.moduleRefRealtime=null)}}createAnchorNode(){if(e.webqit.env!=="server")return e.document.createTextNode("");let o=e.document.createElement("div");o.textContent=this.el.outerHTML;let u=e.document.createComment(o.innerHTML);return E(u).set("isAnchorNode",!0),u}fill(o){Array.isArray(o)&&(o=new Set(o)),this.el.setAttribute("data-nodecount",o.size),this["#"].autoRestore(()=>{if(this["#"].slottedElements.forEach(u=>{let l=E(u).get("original@imports");o.has(l)?o.delete(l):(this["#"].slottedElements.delete(u),u.remove())}),o.size){let u=this["#"].anchorNode,l=this["#"].setAnchorNode(this.createAnchorNode());(this.el.isConnected?this.el:u).replaceWith(l)}o.forEach(u=>{let l=u.cloneNode(!0);l.hasAttribute(r.HTML_IMPORTS.attr.fragmentdef)||l.toggleAttribute(r.HTML_IMPORTS.attr.fragmentdef,!0),E(l).set("original@imports",u),E(l).set("slot@imports",this.el),this["#"].slottedElements.add(l),this["#"].anchorNode.before(l)})})}empty(){this["#"].slottedElements.forEach(o=>o.remove())}get anchorNode(){return this["#"].anchorNode}get moduleRef(){return this["#"].moduleRef}get slottedElements(){return this["#"].slottedElements}}return r.HTML_IMPORTS.elements.import.includes("-")&&customElements.define(r.HTML_IMPORTS.elements.import,n),t.HTMLImportElement=n,n}function ir(e={}){let{config:t,window:i}=Y.call(this,"html-imports",e,{elements:{import:"import"},attr:{def:"def",extends:"extends",inherits:"inherits",ref:"ref",importscontext:"importscontext"},api:{def:"def",defs:"defs",import:"import"}});t.attr.fragmentdef||(t.attr.fragmentdef=t.attr.def),t.templateSelector=`template[${i.CSS.escape(t.attr.def)}]`,t.importsContextSelector=`[${i.CSS.escape(t.attr.importscontext)}]`,t.slottedElementsSelector=`[${i.CSS.escape(t.attr.fragmentdef)}]:not(template)`;let r=(s,n)=>{let a=`starts-with(., "${s}")`,o=`substring(., string-length(.) - string-length("${n}") + 1) = "${n}"`;return`${a} and ${o}`};t.anchorNodeSelector=`comment()[${r(`&lt;${t.elements.import}`,`&lt;/${t.elements.import}&gt;`)}]`,i.webqit.HTMLImportsContext=kt,i.webqit.HTMLImportElement=$s(),pa.call(i,t),da.call(i,t)}function Ct(e,t=!0){if(!E(e).has("defs")&&t){let i=Object.create(null);E(e).set("defs",i)}return E(e).get("defs")}function pa(e){let t=this,{webqit:{oohtml:{configs:i}}}=t;if(e.api.defs in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" class already has a "${e.api.defs}" property!`);if(e.api.def in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" class already has a "${e.api.def}" property!`);if(e.api.import in t.document)throw new Error(`document already has a "${e.api.import}" property!`);if(e.api.import in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${e.api.import}" property!`);Object.defineProperty(t.HTMLTemplateElement.prototype,e.api.defs,{get:function(){return Ct(this)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,e.api.def,{get:function(){return this.getAttribute(e.attr.def)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,"scoped",{configurable:!0,get(){return this.hasAttribute("scoped")},set(s){this.toggleAttribute("scoped",s)}}),Object.defineProperty(t.document,e.api.import,{value:function(s,n=!1,a=null){return r(t.document,...arguments)}}),Object.defineProperty(t.HTMLElement.prototype,e.api.import,{value:function(s,n=!1,a=null){return r(this,...arguments)}});function r(s,n,a=!1,o=null){let u={};typeof a=="function"?(o=a,a=!1):typeof a=="object"&&a?u={...a,...u}:u={live:a};let l={...kt.createRequest(n),...u};return s[i.CONTEXT_API.api.contexts].request(l,o)}}function da(e){let t=this,{webqit:{Observer:i,realdom:r,oohtml:{configs:s},HTMLImportElement:n,HTMLImportsContext:a}}=t,o=c=>{let f=c[s.CONTEXT_API.api.contexts];f.find(a.kind)||f.attach(new a)},u=c=>{let f=c[s.CONTEXT_API.api.contexts],p=f.find(a.kind);p&&(!c.isConnected||!c.matches?.(e.importsContextSelector)&&!Object.keys(p.localModules).length)&&f.detach(p)};r.realtime(t.document).subtree([e.templateSelector,e.importsContextSelector],c=>{c.entrants.forEach(f=>{if(f.matches(e.templateSelector)){let p=mt.instance(f);p.ownerContext=f.scoped?c.target:t.document;let m=Ct(p.ownerContext);p.defId&&i.set(m,p.defId,f),o(p.ownerContext)}else o(f)}),c.exits.forEach(f=>{if(f.matches(e.templateSelector)){let p=mt.instance(f),m=Ct(p.ownerContext);p.defId&&i.deleteProperty(m,p.defId),u(p.ownerContext)}else u(f)})},{live:!0,timing:"sync",staticSensitivity:!0}),r.realtime(t.document).subtree(e.elements.import,c=>{c.entrants.forEach(f=>l(f,!0,c)),c.exits.forEach(f=>l(f,!1,c))},{live:!0,timing:"sync"});function l(c,f){let p=n.instance(c);f?p["#"].connectedCallback():p["#"].disconnectedCallback()}t.webqit.env!=="server"&&r.realtime(t.document).subtree(`(${e.anchorNodeSelector})`,c=>{c.entrants.forEach(f=>{if(E(f).get("isAnchorNode"))return;let p=t.document.createElement("div");p.innerHTML=f.nodeValue,p.innerHTML=p.firstChild.textContent;let m=p.firstChild,g=parseInt(m.getAttribute("data-nodecount")),y=new Set,v=f;for(;(v=v.previousElementSibling)&&v.matches(e.slottedElementsSelector)&&g--;)y.add(v);n.instance(m)["#"].hydrate(f,y)})},{live:!0})}function nr(e={}){let{config:t,window:i}=Y.call(this,"data-binding",e,{attr:{expr:"expr",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"}});({CONTEXT_API:t.CONTEXT_API,BINDINGS_API:t.BINDINGS_API,HTML_IMPORTS:t.HTML_IMPORTS}=i.webqit.oohtml.configs),t.attrSelector=`[${i.CSS.escape(t.attr.expr)}]`;let r=(s,n)=>{let a=`starts-with(., "${s}")`,o=`substring(., string-length(.) - string-length("${n}") + 1) = "${n}"`;return`${a} and ${o}`};t.discreteBindingsSelector=`comment()[${r(t.tokens.tagStart,t.tokens.tagEnd)}]`,ma.call(i,t)}function ma(e){let t=this,{webqit:{realdom:i}}=t;i.realtime(t.document).subtree(`(${e.discreteBindingsSelector})`,r=>{Ls.call(this,...r.exits),ga.call(this,e,...r.entrants)},{live:!0}),i.realtime(t.document).subtree(e.attrSelector,r=>{Ls.call(this,...r.exits),xa.call(this,e,...r.entrants)},{live:!0,timing:"sync",staticSensitivity:!0})}function Rs(e,t){let{webqit:{realdom:i,Observer:r,DOMBindingsContext:s}}=this;if(E(t).has("data-binding"))return E(t).get("data-binding");let n=Object.create(null),a=new AbortController;n.$exec__=(u,l,...c)=>{i.schedule("write",()=>u[l](...c))},n.$assign__=(u,l,c)=>{i.schedule("write",()=>u[l]=c)},r.intercept(n,{get:(u,l,c)=>{if(!(u.key in n)){let f={...s.createRequest(u.key),live:!0,signal:a.signal};t[e.CONTEXT_API.api.contexts].request(f,p=>{r.set(n,u.key,p)})}return c(n[u.key]??(u.key in globalThis?globalThis[u.key]:void 0))},has:(u,l,c)=>c(!0)});let o={scope:n,abortController:a,bindings:new Map};return E(t).set("data-binding",o),o}function Ls(...e){for(let t of e){let i=t.nodeName==="#text"?t.parentNode:t,{bindings:r,abortController:s}=E(i).get("data-binding")||{};if(!r?.has(t))return;r.get(t).state.dispose(),r.get(t).signals?.forEach(n=>n.abort()),r.delete(t),r.size||(s.abort(),E(i).delete("data-binding"))}}async function ga(e,...t){let i=this,{webqit:{QuantumAsyncFunction:r}}=i,s=a=>{let o=e.tokens.tagStart.split("").map(g=>`\\${g}`).join(""),u=e.tokens.tagEnd.split("").map(g=>`\\${g}`).join(""),l=e.tokens.stateStart.split("").map(g=>g===" "?"(?:\\s+)?":`\\${g}`).join(""),c=e.tokens.stateEnd.split("").map(g=>`\\${g}`).join(""),f=`^${o}(.*?)(?:${l}(\\d+)${c}(?:\\s+)?)?${u}$`,[,p,m]=a.match(new RegExp(f));return{raw:a,expr:p,span:parseInt(m??0)}},n=t.reduce((a,o)=>{if(o.isBound)return a;let u=s(o.nodeValue),l=o;if(u.span){if(l=o.nextSibling,l?.nodeName!=="#text"||l.nodeValue.length<u.span)return a;l.nodeValue.length>u.span&&l.splitText(u.span)}else l=o.ownerDocument.createTextNode(""),o.after(l);l.isBound=!0;let c=o;return i.webqit.env!=="server"&&(c.remove(),c=null),a.concat({textNode:l,template:u,anchorNode:c})},[]);for(let{textNode:a,template:o,anchorNode:u}of n){let l=ya(e,o.expr),{scope:c,bindings:f}=Rs.call(this,e,a.parentNode);Object.defineProperty(a,"$oohtml_internal_databinding_anchorNode",{value:u,configurable:!0}),f.set(a,{state:await(await l.bind(a,c)).execute()})}}var rr=new Map;function ya(e,t){if(rr.has(t))return rr.get(t);let i=`let content = ((${t}) ?? '') + '';`;i+="$assign__(this, 'nodeValue', content);",i+=`if ( this.$oohtml_internal_databinding_anchorNode ) { $assign__(this.$oohtml_internal_databinding_anchorNode, 'nodeValue', "${e.tokens.tagStart}${se(t)}${e.tokens.stateStart}" + content.length + "${e.tokens.stateEnd} ${e.tokens.tagEnd}"); }`;let{webqit:{QuantumModule:r}}=this,s=new r(i);return rr.set(t,s),s}async function xa(e,...t){for(let i of t){let r=ba(e,i.getAttribute(e.attr.expr)),{scope:s,bindings:n}=Rs.call(this,e,i),a=[];Object.defineProperty(i,"$oohtml_internal_databinding_signals",{value:a,configurable:!0}),n.set(i,{signals:a,state:await(await r.bind(i,s)).execute()})}}var sr=new Map;function ba(e,t){if(sr.has(t))return sr.get(t);let i={},r=ie(t,";").map(a=>{let[o,u]=ie(a,":").map(m=>m.trim()),l=o[0],c=o.slice(1).trim(),f=`(${u})`,p=`(${f} ?? '')`;if(l==="&")return c.startsWith("--")?`$exec__(this.style, 'setProperty', "${se(c)}", ${p});`:`$assign__(this.style, "${se(c)}", ${p});`;if(l==="%")return`$exec__(this.classList, 'toggle', "${se(c)}", !!${f});`;if(l==="~")return c.startsWith("?")?`$exec__(this, 'toggleAttribute', "${se(c.substring(1).trim())}", !!${f});`:`$exec__(this, 'setAttribute', "${se(c)}", ${p});`;if(l==="@"){if(i[c])throw new Error(`Duplicate binding: ${o}.`);if(i[c]=!0,c==="text")return`$assign__(this, 'textContent', ${p});`;if(c==="html")return`$exec__(this, 'setHTML', ${p});`;if(c==="items"){let[m,g]=ie(u,"/");if(!g)throw new Error(`Invalid ${l}items spec: ${a}; no import specifier.`);let[y,v,b,w]=m.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!y)throw new Error(`Invalid ${l}items spec: ${a}.`);if(v.startsWith("(")?v=v.trim().slice(1,-1).split(",").map(x=>x.trim()):v=[v],v.length>(b==="in"?3:2))throw new Error(`Invalid ${l}items spec: ${a}.`);let S=b==="in"?v[2]:v[1]||"$index__";return`
15
+ }`,l.startStatic=!0}else if(!["script","async-script"].includes(e))throw new Error(`Unrecognized sourceType specified: "${e}".`);l.sourceType=e,u.inBrowser=f;let m=t(i,{parserParams:u,compilerParams:l,base64:p&&f&&"export default async function(%0) {%1}"});if(m instanceof Promise&&!["async-function","async-script","module"].includes(e))throw new Error("Parse-compile can only return a Promise for sourceTypes: async-function, async-script, module.");return c.sourceType=e,c.inBrowser=f,c.exportNamespace=a,c.fileName=o,Z(m,g=>{let y=["function","async-function"].includes(e);return Z(((b,w)=>{if(c.compileFunction)return c.compileFunction(w.toString(),[b]);if(p&&c.inBrowser){let S=()=>import(`data:text/javascript;base64,${w.toString("base64")}`).then(x=>x.default);return window.webqit?.realdom?.schedule?window.webqit?.realdom?.schedule("write",S,!0):S()}return new(p?async function(){}.constructor:Function)(b,w.toString())})(g.identifier+"",g),b=>{let w=(S,x=s)=>{let _=b;S&&(_=_.bind(S));let k="global",I=new X(void 0,k,globalThis);return(e.endsWith("script")||x)&&(k="env",I=new X(I,k,x)),e==="module"&&(k="module",I=new X(I,k)),typeof S<"u"&&(I=new X(I,"this",{this:S})),new jt(void 0,k,{...c,originalSource:g.originalSource,isQuantumFunction:!y},I,_)};return y?w().execute():{createRuntime:w,compiledSource:g}})})}var Bt=class{constructor(...t){let i=this.constructor,r=typeof t[t.length-1]=="object"?t.pop():{},s=t.pop()||"";this.$program=ke(i.sourceType,i.parseCompileCallback,s,r)}execute(){return Z(this.$program,({createRuntime:t})=>t().execute())}bind(t,i=void 0){return Z(this.$program,({createRuntime:r})=>r(t,i))}toString(t=!1){return Z(this.$program,({compiledSource:i})=>t?i+"":i.originalSource)}};function Un(...e){let{source:t,params:i}=Ei(e);return ke("function",Oe,t,i)}function Wn(...e){let{source:t,params:i}=Ei(e);return ke("async-function",Oe,t,i)}var Ae=class extends Bt{};U(Ae,"sourceType","script"),U(Ae,"parseCompileCallback",Oe);var Pe=class extends Bt{};U(Pe,"sourceType","async-script"),U(Pe,"parseCompileCallback",Oe);var Ie=class extends Bt{};U(Ie,"sourceType","module"),U(Ie,"parseCompileCallback",Oe);function Oe(e,t){let i=fs(e,t.parserParams);return ps(i,t.compilerParams)}function Te(e,t,i={},r={}){t=j(t).slice();for(var s=e;!gt(s)&&!ae(s)&&t.length;){var n=t.shift();if(!(i.get?i.get(s,n):D(s)?n in s:s[n])){r.exists=!1;return}s=i.get?i.get(s,n):s[n]}return r.exists=!0,s}function Bi(e,t,i,r={},s={}){let n=(c,f,p)=>s.set?s.set(c,f,p):(tt(t[o])&&N(c)?c.push(p):c[f]=p,!0);t=j(t);for(var a=e,o=0;o<t.length;o++)if(o<t.length-1){if(!a||!D(a)&&!M(a))return!1;var u=Te(a,t[o],s);if(!D(u)){if(s.buildTree===!1)return!1;u=M(s.buildTree)?s.buildTree(o):tt(t[o+1])?[]:{};var l=n(a,t[o],u);if(!l)return!1}a=u}else return n(a,t[o],i)}var Ne=class{constructor(t,i=!1){Object.defineProperty(this,"window",{value:t}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),Object.defineProperty(this,"_synthesis",{value:0,writable:!0}),!i&&this.window.requestAnimationFrame?this._loop():this._synthesis++}get synthesis(){return this._synthesis}async synthesizeWhile(t){this._synthesis++,this._fulfill();let i=await t();return this._synthesis--,i}_fulfill(){for(let t of this.readCallbacks)t(),this.readCallbacks.delete(t);for(let t of this.writeCallbacks)t(),this.writeCallbacks.delete(t)}_loop(){this.window.requestAnimationFrame(()=>{this._fulfill(),this._loop()})}onread(t,i=!1){if(i)return new Promise(r=>{this.synthesis?r(t()):this.readCallbacks.add(()=>{r(t())})});this.synthesis?Promise.resolve().then(t):this.readCallbacks.add(t)}onwrite(t,i=!1){if(i)return new Promise(r=>{this.synthesis?r(t()):this.writeCallbacks.add(()=>{r(t())})});this.synthesis?Promise.resolve().then(t):this.writeCallbacks.add(t)}cycle(t,i,r){this.onread(()=>{let s=t(r),n=a=>{a!==void 0&&this.onwrite(()=>{let o=i(a,r),u=l=>{l!==void 0&&this.cycle(t,i,l)};o instanceof Promise?o.then(u):u(o)})};s instanceof Promise?s.then(n):n(s)})}};function ds(e){return(e=e.trim())&&e.startsWith("(")&&e.endsWith(")")}function ii(e,t,i,r=!0){i=(Array.isArray(i)?i:[i]).map(a=>(a+"").replace("(",r?"(.//":"(./")).join("|");let s=[],n;try{let a=e.document.evaluate(i,t,null,XPathResult.ANY_TYPE);for(;n=a.iterateNext();)s.push(n)}catch{}return s}function ms(e,t,i){i=(Array.isArray(i)?i:[i]).map(r=>(r+"").replace("(","(self::")).join("|");try{return e.document.evaluate(`${i}`,t,null,XPathResult.BOOLEAN_TYPE).booleanValue}catch{}}function gs(e,t="|"){return[...e].reduce(([i,r,s,n],a)=>!i&&r===0&&(Array.isArray(t)?t:[t]).includes(a)?[i,r,[""].concat(s)]:(!i&&["(","[","{"].includes(a)&&!s[0].endsWith("\\")&&r++,!i&&[")","]","}"].includes(a)&&!s[0].endsWith("\\")&&r--,['"',"'","`"].includes(a)&&!s[0].endsWith("\\")&&(i=i===a?null:i||a),s[0]+=a,[i,r,s]),[null,0,[""]])[2].reverse()}var nt=class{constructor(t){this.content=t,this.type=typeof t=="string"?"selector":"instance",this.kind=this.type==="instance"?null:ds(t)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=gs(t.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var Ht=class{constructor(t,i,r){this.context=t,this.namespace=i,this.window=t.defaultView||t.ownerDocument?.defaultView||r,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(t){if(M(t[0])?t=[[],...t]:R(t[0])&&!(t[0]instanceof nt)&&t.length===1?t=[[],void 0,t[0]]:R(t[1])&&t.length===2?t=[j(t[0],!1),void 0,t[1]]:t[0]=j(t[0],!1),t[0].filter(i=>typeof i!="string"&&!(i instanceof nt)&&!(i instanceof this.window.Node)).length)throw new Error("Argument #2 must be either a string or a Node object, or a list of those.");return t[0]=t[0].map(i=>i instanceof nt?i:new nt(i)),t}registry(...t){return At("realdom.realtime",this.window,this.namespace,...t)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(t,i,r){let{window:s}=this,n=Array.isArray(i)?i:[i],a=new Set;for(let[o,u]of this.registry(t))for(let[l,c]of u){let f=n.filter(p=>l.contains(p.target)?o==="subtree"||p.target===l:!1);if(!!f.length){Array.isArray(i)||(f=f[0]);for(let p of c)a.add([p,f,l])}}for(let[o,u,l]of a)r.call(s,o,u,l)}disconnectables(t,...i){let r={disconnect(){i.forEach(s=>s&&M(s.disconnect)&&s.disconnect()||M(s)&&s()||R(s)&&(s.disconnected=!0))}};return t&&t.addEventListener("abort",()=>r.disconnect()),r}};var Tt=class extends Ht{constructor(t,...i){super(t,"attr",...i)}get(t,i=void 0,r={}){let s=typeof t=="string"||t instanceof nt;[t=[],i=void 0,r={}]=this.resolveArgs(arguments);let{context:n}=this,a=vs(n,t);if(!i)return a;let o=r.lifecycleSignals&&this.createSignalGenerator();if(s)for(let u of a){let l=o?.generate()||{};i(u,l,n)}else{let u=o?.generate()||{};i(a,u,n)}if(r.live){o&&(r={...r,signalGenerator:o});let u=this.observe(s?t[0]:t,i,{newValue:!0,...r});return this.disconnectables(r.signal,u)}}observe(t,i,r={}){let s=typeof t=="string"||t instanceof nt;if([t=[],i,r={}]=this.resolveArgs(arguments),["sync","intercept"].includes(r.timing))return this.observeSync(s?t[0]:t,i,r);if(r.timing&&r.timing!=="async")throw new Error(`Timing option "${r.timing}" invalid.`);let{context:n,window:a,webqit:o}=this;r.eventDetails&&!o.realdom.attrInterceptionHooks?.intercepting&&bs.call(a,"intercept",()=>{});let u=new a.MutationObserver(p=>{p=ws(p).map(m=>_s.call(a,m)),xs.call(a,f,p,n)}),l={attributes:!0,attributeOldValue:r.oldValue,subtree:r.subtree};t.length&&(l.attributeFilter=t.map(p=>p+"")),u.observe(n,l);let c=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:n,spec:t,callback:i,params:r,atomics:new Map,originalFilterIsString:s,signalGenerator:c,disconnectable:u};return this.disconnectables(r.signal,u,c)}observeSync(t,i,r={}){let s=typeof t=="string"||t instanceof nt;[t,i,r={}]=this.resolveArgs(arguments);let{context:n,window:a}=this;if(r.timing&&!["sync","intercept"].includes(r.timing))throw new Error(`Timing option "${r.timing}" invalid.`);let o=r.timing==="intercept"?"intercept":"sync",u=r.subtree?"subtree":"children";this.registry(o).size||bs.call(a,o,g=>{this.forEachMatchingContext(o,g,xs)});let l={disconnect(){m.delete(f),m.size||p.delete(n)}},c=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:n,spec:t,callback:i,params:r,atomics:new Map,originalFilterIsString:s,signalGenerator:c,disconnectable:l},p=this.registry(o,u);p.has(n)||p.set(n,new Set);let m=p.get(n);return m.add(f),this.disconnectables(r.signal,l,c)}};function ws(e){return e.reduce((t,i,r)=>t[r-1]?.attributeName===i.attributeName?t:t.concat(i),[])}function xs(e,t){let{context:i,spec:r,callback:s,params:n,atomics:a,originalFilterIsString:o,signalGenerator:u}=e,l=r.map(p=>p+"");if(n.atomic&&!a.size?t=vs(i,r,t):n.timing!=="async"&&r.length&&(t=t.filter(p=>l.includes(p.name))),!t.length)return;n.newValue===null&&n.oldValue===null&&n.eventDetails||(t=t.map(p=>{let m;return n.eventDetails||({event:m,...p}=p),!n.oldValue&&"oldValue"in p&&({oldValue:m,...p}=p),!n.newValue&&"value"in p?{value:m,...p}=p:n.newValue&&typeof p.value>"u"&&(p={...p,value:p.target.getAttribute(p.name)}),p})),n.atomic&&(t.forEach(p=>a.set(p.name,p)),t=Array.from(a.entries()).map(([,p])=>p));let c=o?t[0]:t,f=u?.generate()||{};s(c,f,i)}function vs(e,t,i=[]){let r={event:null,type:"attribute"};return t.length?t.map(n=>(n=n+"",i.find(a=>a.name===n)||{target:e,name:n,value:e.getAttribute(n),...r})):Array.from(e.attributes).map(n=>i.find(a=>a.name===n.nodeName)||{target:e,name:n.nodeName,value:n.nodeValue,...r})}function _s({target:e,attributeName:t,value:i,oldValue:r}){let a=(this.webqit.realdom.attrInterceptionRecords?.get(e)||{})[t]?.[0]||"mutation";return{target:e,name:t,value:i,oldValue:r,type:"observation",event:a}}function bs(e,t){let i=this,{webqit:r,document:s,Element:n}=i;r.realdom.attrInterceptionHooks||Object.defineProperty(r.realdom,"attrInterceptionHooks",{value:new Map}),r.realdom.attrInterceptionHooks.has(e)||r.realdom.attrInterceptionHooks.set(e,new Set),r.realdom.attrInterceptionHooks.get(e).add(t);let a=()=>r.realdom.attrInterceptionHooks.get(e).delete(t);if(r.realdom.attrInterceptionHooks?.intercepting)return a;console.warn("Attr mutation APIs are now being intercepted."),r.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(r.realdom,"attrInterceptionRecords",{value:new Map});let o=(c,f)=>{r.realdom.attrInterceptionRecords.has(c.target)||r.realdom.attrInterceptionRecords.set(c.target,{});let p=r.realdom.attrInterceptionRecords.get(c.target);p[c.name]=p[c.name]||[],p[c.name].unshift(c.event),r.realdom.attrInterceptionHooks.get("intercept")?.forEach(g=>g([c]));let m=f();return r.realdom.attrInterceptionHooks.get("sync")?.forEach(g=>g([c])),m};new i.MutationObserver(c=>{c=c.filter(f=>!(i.webqit.realdom.attrInterceptionRecords?.get(f.target)||{})[f.attributeName]?.shift()),c=ws(c).map(f=>_s.call(i,f)),c.length&&(r.realdom.attrInterceptionHooks.get("intercept")?.forEach(f=>f(c)),r.realdom.attrInterceptionHooks.get("sync")?.forEach(f=>f(c)))}).observe(s,{attributes:!0,subtree:!0,attributeOldValue:!0});let l=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(c=>{l[c]=n.prototype[c],n.prototype[c]=function(...f){let p,m=this.getAttribute(f[0]);["setAttribute","toggleAttribute"].includes(c)&&(p=f[1]),c==="toggleAttribute"&&p===void 0&&(p=m===null);let g={target:this,name:f[0],value:p,oldValue:m,type:"interception",event:[this,c]};return o(g,()=>l[c].call(this,...f))}}),a}var $e=class extends Ht{constructor(t,...i){super(t,"tree",...i)}attr(t,i=void 0,r={}){let{context:s,window:n}=this;return new Tt(s,n).get(...arguments)}query(t,i=void 0,r={}){[t,i=void 0,r={}]=this.resolveArgs(arguments);let{context:s}=this,n=new Map,a=l=>(n.has(l)||n.set(l,{target:l,entrants:[],exits:[],type:"query",event:null}),n.get(l));if(!r.generation||r.generation==="entrants"){if(!t.length)[...s.children].forEach(l=>a(s).entrants.push(l));else if(t.every(l=>l.type==="selector")){let[l,c]=t.reduce(([p,m],g)=>g.kind==="xpath"?[p,m.concat(g)]:[p.concat(g),m],[[],[]]),f=[];r.subtree?(l.length&&f.push(...s.querySelectorAll(l.join(","))),c.length&&f.push(...ii(this.window,s,c))):(l.length&&f.push(...[...s.children].filter(p=>p.matches(l))),c.length&&f.push(...ii(this.window,s,c,!1))),f.forEach(p=>a(p.parentNode||s).entrants.push(p))}}if(!i)return n;let o={disconnected:!1},u=i&&r.lifecycleSignals&&this.createSignalGenerator();for(let[,l]of n){if(o.disconnected)break;let c=u?.generate()||{};i(l,c,s)}if(r.live){u&&(r={...r,signalGenerator:u});let l=this.observe(t,i,r);return this.disconnectables(r.signal,o,l)}return this.disconnectables(r.signal,o,u)}children(t,i=void 0,r={}){return[t,i=void 0,r={}]=this.resolveArgs(arguments),this.query(t,i,{...r,subtree:!1})}subtree(t,i=void 0,r={}){return[t,i=void 0,r={}]=this.resolveArgs(arguments),this.query(t,i,{...r,subtree:!0})}observe(t,i,r={}){if([t,i,r={}]=this.resolveArgs(arguments),["sync","intercept"].includes(r.timing))return this.observeSync(t,i,r);if(r.timing&&r.timing!=="async")throw new Error(`Timing option "${r.timing}" invalid.`);let{context:s,window:n,webqit:a,document:o}=this;r.eventDetails&&(a.realdom.domInterceptionRecordsAlwaysOn=!0),(o.readyState==="loading"||a.realdom.domInterceptionRecordsAlwaysOn)&&!a.realdom.domInterceptionHooks?.intercepting&&Cs.call(n,"sync",()=>{});let u=new n.MutationObserver(f=>f.forEach(p=>{Hi.call(n,c,Es.call(n,p),s)}));u.observe(s,{childList:!0,subtree:r.subtree});let l=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),c={context:s,spec:t,callback:i,params:r,signalGenerator:l,disconnectable:u};if(r.staticSensitivity){let f=Ss.call(n,c);return this.disconnectables(r.signal,u,l,f)}return this.disconnectables(r.signal,u,l)}observeSync(t,i,r={}){[t,i,r={}]=this.resolveArgs(arguments);let{context:s,window:n}=this;if(r.timing&&!["sync","intercept"].includes(r.timing))throw new Error(`Timing option "${r.timing}" invalid.`);let a=r.timing==="intercept"?"intercept":"sync",o=r.subtree?"subtree":"children";this.registry(a).size||Cs.call(n,a,g=>{this.forEachMatchingContext(a,g,Hi)});let u=new n.MutationObserver(g=>g.forEach(y=>{Array.isArray((y=Es.call(n,y)).event)||Hi.call(n,f,y,s)}));u.observe(s,{childList:!0,subtree:r.subtree});let l={disconnect(){u.disconnect(),m.delete(f),m.size||p.delete(s)}},c=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:s,spec:t,callback:i,params:r,signalGenerator:c,disconnectable:l},p=this.registry(a,o);p.has(s)||p.set(s,new Set);let m=p.get(s);if(m.add(f),r.staticSensitivity){let g=Ss.call(n,f);return this.disconnectables(r.signal,l,c,g)}return this.disconnectables(r.signal,l,c)}};function Ss(e){let t=this,{context:i,spec:r,callback:s,params:n,signalGenerator:a}=e,o=r.filter(m=>m.kind==="css"),u=m=>m.match(/\.([\w-]+)/g)?.length?["class"]:[],l=m=>m.match(/#([\w-]+)/g)?.length?["id"]:[],c=m=>[...m.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(g=>g[1]).concat(u(m)).concat(l(m));if(!(e.$attrs=Array.from(new Set(o.filter(m=>(m+"").includes("[")).reduce((m,g)=>m.concat(c(g+"")),[])))).length)return;let f=new Set,p=new Set;return f.push=m=>(p.delete(m),f.add(m)),p.push=m=>(f.delete(m),p.add(m)),e.$deliveryCache={entrants:f,exits:p},new Tt(i,t).observe(e.$attrs,m=>{let g=new Map,y=w=>(g.has(w)||g.set(w,{target:w,entrants:[],exits:[],type:"static",event:null}),g.get(w)),v=new WeakMap,b=w=>(v.has(w)||v.set(w,o.some(S=>w.matches(S+""))),v.get(w));for(let w of m)["entrants","exits"].forEach(S=>{n.generation&&S!==n.generation||e.$deliveryCache[S].has(w.target)||(S==="entrants"?!b(w.target):b(w.target))||(e.$deliveryCache[S].push(w.target),y(w.target)[S].push(w.target),y(w.target).event=w.event)});for(let[,w]of g){let S=a?.generate()||{};s(w,S,i)}},{subtree:n.subtree,timing:n.timing,eventDetails:n.eventDetails})}function Hi(e,t){let{context:i,spec:r,callback:s,params:n,signalGenerator:a,$deliveryCache:o}=e,u={...t,entrants:[],exits:[]};if(n.eventDetails||delete u.event,["entrants","exits"].forEach(c=>{if(!(n.generation&&c!==n.generation)&&(r.length?u[c]=Xn.call(this,r,t[c],t.event!=="parse"):u[c]=[...t[c]],!!o))for(let f of u[c])o[c].push(f)}),!u.entrants.length&&!u.exits.length)return;let l=a?.generate()||{};s(u,l,i)}function Xn(e,t,i){t=Array.isArray(t)?t:[...t];let r=(s,n)=>{if(n.type==="selector"){let a=n.isXpathAttr?[]:s.filter(o=>n.kind==="xpath"?ms(this,o,n+""):o.matches&&o.matches(n+""));if((i||n.isXpathAttr)&&(a=s.reduce((o,u)=>n.kind==="xpath"?[...o,...ii(this,u,n,i)]:u.querySelectorAll?[...o,...u.querySelectorAll(n+"")]:o,a)),a.length)return a}else if(s.includes(n.content)||i&&s.some(a=>a.contains(n.content)))return[n.content]};return t.$$searchCache||(t.$$searchCache=new Map),e.reduce((s,n)=>{let a;return t.$$searchCache.has(n.content)?a=t.$$searchCache.get(n.content):(a=r(t,n)||[],n.type==="instance"&&t.$$searchCache.set(n.content,a)),s.concat(a)},[])}function Es({target:e,addedNodes:t,removedNodes:i}){let r=this,s;return s=j(t).reduce((n,a)=>n||r.webqit.realdom.domInterceptionRecords?.get(a),null),s=j(i).reduce((n,a)=>n||r.webqit.realdom.domInterceptionRecords?.get(a),s),s=s||r.document.readyState==="loading"&&"parse"||"mutation",{target:e,entrants:t,exits:i,type:"observation",event:s}}function Cs(e,t){let i=this,{webqit:r,document:s,Node:n,CharacterData:a,Element:o,HTMLElement:u,HTMLTemplateElement:l,DocumentFragment:c}=i;r.realdom.domInterceptionHooks||Object.defineProperty(r.realdom,"domInterceptionHooks",{value:new Map}),r.realdom.domInterceptionHooks.has(e)||r.realdom.domInterceptionHooks.set(e,new Set),r.realdom.domInterceptionHooks.get(e).add(t);let f=()=>r.realdom.domInterceptionHooks.get(e).delete(t);if(r.realdom.domInterceptionHooks?.intercepting)return f;console.warn("DOM mutation APIs are now being intercepted."),r.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(r.realdom,"domInterceptionRecords",{value:new Map});let p=(y,v)=>{y.entrants.concat(y.exits).forEach(w=>{clearTimeout(r.realdom.domInterceptionRecords.get(w)?.timeout),r.realdom.domInterceptionRecords.set(w,y.event);let S=setTimeout(()=>{r.realdom.domInterceptionRecords.delete(w)},0);Object.defineProperty(y.event,"timeout",{value:S,configurable:!0})}),r.realdom.domInterceptionHooks.get("intercept")?.forEach(w=>w(y));let b=v();return r.realdom.domInterceptionHooks.get("sync")?.forEach(w=>w(y)),b},m={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(y=>{function v(...b){let w=this instanceof a?m.characterData:m.other,S=()=>w[y].call(this,...b);if(!(this instanceof a||this instanceof o||this instanceof c))return S();let x=[],_=[],k=this;["insertBefore"].includes(y)?_=[b[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(y)?(_=[b[1]],["beforebegin","afterend"].includes(b[0])&&(k=this.parentNode)):["setHTML","replaceChildren"].includes(y)?(x=[...this.childNodes],_=y==="replaceChildren"?[...b]:[b[0]]):["replaceWith","remove"].includes(y)?(x=[this],_=y==="replaceWith"?[...b]:[],k=this.parentNode):["replaceChild"].includes(y)?(x=[b[1]],_=[b[0]]):["removeChild"].includes(y)?x=[...b]:(_=[...b],["before","after"].includes(y)&&(k=this.parentNode));let I=y;if(["insertAdjacentHTML","setHTML"].includes(y)){let W=this.nodeName;if(y==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(b[0])){if(!this.parentNode)return w[y].call(this,...b);W=this.parentNode.nodeName}let lt=s.createElement(W);w.setHTML.call(lt,_[0],y==="setHTML"?b[1]:{}),_=[...lt.childNodes],y==="insertAdjacentHTML"?(I="insertAdjacentElement",b[1]=new c,b[1].______isTemp=!0,b[1].append(...lt.childNodes)):(I="replaceChildren",b=[...lt.childNodes])}return p({target:k,entrants:_,exits:x,type:"interception",event:[this,y]},()=>w[I].call(this,...b))}["insertBefore","replaceChild","removeChild","appendChild"].includes(y)?(m.other[y]=n.prototype[y],n.prototype[y]=v):(["after","before","remove","replaceWith"].includes(y)&&(m.characterData[y]=a.prototype[y],a.prototype[y]=v),o.prototype[y]&&(m.other[y]=o.prototype[y],o.prototype[y]=v))});let g=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(y=>{let v=["textContent","nodeValue"].includes(y)?n:["outerText","innerText"].includes(y)?u:o;g[y]=Object.getOwnPropertyDescriptor(v.prototype,y),Object.defineProperty(v.prototype,y,{...g[y],set:function(b){let w=()=>g[y].set.call(this,b);if(!(this instanceof o))return w();let S=[],x=[],_=this;if(["outerHTML","outerText"].includes(y)?(S=[this],_=this.parentNode):S=[...this.childNodes],["outerHTML","innerHTML"].includes(y)){let I=this.nodeName;if(y==="outerHTML"){if(!this.parentNode)return w();I=this.parentNode.nodeName}let H=s.createElement(I==="TEMPLATE"?"div":I);g[y].set.call(H,b),x=this instanceof l?[]:[...H.childNodes],y==="outerHTML"?(b=new c,b.______isTemp=!0,b.append(...H.childNodes),w=()=>o.prototype.replaceWith.call(this,b)):this instanceof l?w=()=>this.content.replaceChildren(...H.childNodes):w=()=>o.prototype.replaceChildren.call(this,...H.childNodes)}return p({target:_,entrants:x,exits:S,type:"interception",event:[this,y]},w)}})}),["append","prepend","replaceChildren"].forEach(y=>{[s,c.prototype].forEach(v=>{let b=v[y];v[y]=function(...w){if(this.______isTemp)return b.call(this,...w);let S=y==="replaceChildren"?[...this.childNodes]:[];return p({target:this,entrants:w,exits:S,type:"interception",event:[this,y]},()=>b.call(this,...w))}})}),f}function ks(){Kn.call(this),Yn.call(this),Jn.call(this)}function Kn(){let e=this;e.CSS||(e.CSS={}),e.CSS.escape||(e.CSS.escape=t=>t.replace(/([\:@\~\$\&])/g,"\\$1"))}function Yn(){let e=this;"isConnected"in e.Node.prototype||Object.defineProperty(e.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function Jn(){let e=this;e.Element.prototype.matches||(e.Element.prototype.matches=e.Element.prototype.matchesSelector||e.Element.prototype.mozMatchesSelector||e.Element.prototype.msMatchesSelector||e.Element.prototype.oMatchesSelector||e.Element.prototype.webkitMatchesSelector||function(t){for(var i=(this.document||this.ownerDocument).querySelectorAll(t),r=i.length;--r>=0&&i.item(r)!==this;);return r>-1})}function As(){let e=this;if(e.webqit||(e.webqit={}),e.webqit.realdom)return e.webqit.realdom;e.webqit.realdom={},ks.call(e),e.webqit.realdom.meta=(...i)=>Zn.call(e,...i),e.webqit.realdom.ready=(...i)=>Ui.call(e,...i),e.webqit.realdom.realtime=(i,r="dom")=>{if(r==="dom")return new $e(i,e);if(r==="attr")return new Tt(i,e)};let t=new Ne(e);return e.webqit.realdom.schedule=(i,...r)=>t[`on${i}`](...r),e.webqit.realdom.synthesizeWhile=(...i)=>t.synthesizeWhile(...i),e.webqit.realdom}function Ui(...e){let t="interactive",i;Qt(e[0])?(t=e[0],M(e[1])&&(i=e[1])):M(e[0])&&(i=e[0]);let r={interactive:["interactive","complete"],complete:["complete"]};if(!r[t])throw new Error(`Invalid ready-state timing: ${t}.`);let s=this;if(!i)return s.webqit.realdom.readyStatePromises||(s.webqit.realdom.readyStatePromises={interactive:new Promise(n=>Ui.call(this,"interactive",n)),complete:new Promise(n=>Ui.call(this,"complete",n))}),s.webqit.realdom.readyStatePromises[t];if(r[t].includes(s.document.readyState))return i(s);s.webqit.realdom.readyStateCallbacks||(s.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},s.document.addEventListener("readystatechange",()=>{let n=s.document.readyState;for(let a of s.webqit.realdom.readyStateCallbacks[n].splice(0))a(s)},!1)),s.webqit.realdom.readyStateCallbacks[t].push(i)}function Zn(e){let t=this,i={},r;return(r=t.document.querySelector(`meta[name="${e}"]`))&&(i=(r.content||"").split(";").filter(s=>s).reduce((s,n)=>{let a=n.split("=").map(o=>o.trim());return Bi(s,a[0].split("."),a[1]==="true"?!0:a[1]==="false"?!1:tt(a[1])?parseInt(a[1]):a[1]),s},{})),{get name(){return e},get content(){return r.content},json(){return JSON.parse(JSON.stringify(i))}}}function ri(e,t){return typeof e!="string"?e:e.replace(/\w\S*/g,function(i){return i.charAt(0).toUpperCase()+(typeof t!==void 0&&t?i.substr(1).toLowerCase():i.substr(1))})}var E=(...e)=>At("oohtml",...e),F={};function Y(e,t,i){let r=this,s=As.call(r);F.window=r,r.webqitConfig||(r.webqitConfig=s.meta("webqit").json()),r.webqit||(r.webqit={}),r.webqit.oohtml||(r.webqit.oohtml={}),r.webqit.oohtml.configs||(r.webqit.oohtml.configs={});let n=e.toUpperCase().replace("-","_");if(!r.webqit.oohtml.configs[n]){r.webqit.oohtml.configs[n]={};let a=r.webqit.oohtml.configs[n];ue(2,a,i,t,s.meta(e).json()),r.webqitConfig.prefix&&Object.keys(a).forEach(o=>{Object.keys(a[o]).forEach(u=>{o==="api"&&typeof a[o][u]=="string"?a[o][u]=`${r.webqitConfig.prefix}${ri(a[o][u])}`:["attr","elements"].includes(o)&&a[o][u]?.startsWith("data-")===!1&&(a[o][u]=`${r.webqitConfig.prefix}-${a[o][u]}`)})})}return{config:r.webqit.oohtml.configs[n],realdom:s,window:r}}function ie(e,t){return[...e].reduce(([i,r,s],n)=>!i&&r===0&&(Array.isArray(t)?t:[t]).includes(n)?[i,r,[""].concat(s)]:(!i&&["(","[","{"].includes(n)&&!s[0].endsWith("\\")&&r++,!i&&[")","]","}"].includes(n)&&!s[0].endsWith("\\")&&r--,['"',"'","`"].includes(n)&&!s[0].endsWith("\\")&&(i=i===n?null:i||n),s[0]+=n,[i,r,s]),[null,0,[""]])[2].reverse()}var ia=()=>(0|Math.random()*9e6).toString(36),Wi=new Map;function Nt(e){let t;return(t=Wi.get(e))||(t=ia(),Wi.set(e,t)),t}function Le(e){let t;return Wi.forEach((i,r)=>{i===e&&(t=r)}),t}function si(){let{window:e}=F,{webqit:t}=e;if(t.DOMContextRequestEvent)return t.DOMContextRequestEvent;class i extends e.Event{constructor(...s){let n=s.pop();if(typeof n!="function")throw new Error("Callback must be provided.");let a=s.pop();if(!a?.kind)throw new Error('"options.kind" must be specified.');let o=["contextrequest","contextclaim"],u=s.pop()||o[0];if(!o.includes(u))throw new Error(`Invalid event type. Must be one of: ${o.join(",")}`);let{kind:l,detail:c,targetContext:f,live:p,signal:m,diff:g,...y}=a;super(u,{...y,bubbles:y.bubbles!==!1}),Object.defineProperty(this,"callback",{get:()=>n}),Object.defineProperty(this,"kind",{get:()=>l}),Object.defineProperty(this,"targetContext",{get:()=>f}),Object.defineProperty(this,"detail",{get:()=>c}),Object.defineProperty(this,"live",{get:()=>p}),Object.defineProperty(this,"signal",{get:()=>m}),Object.defineProperty(this,"diff",{get:()=>g}),Object.defineProperty(this,"options",{get:()=>y})}respondWith(s){if(this.diff){if("_prevValue"in this&&this._prevValue===s)return;Object.defineProperty(this,"_prevValue",{value:s,configurable:!0})}return this.callback(s)}}return t.DOMContextRequestEvent=i,i}var Ut=class extends AbortController{constructor(t){super(),t(i=>{let{window:{webqit:{Observer:r}}}=F;r.defineProperty(this,"value",{value:i,configurable:!0,enumerable:!0})},this)}};var Wt=class extends Error{};var St=class{static instance(t){return E(t).get("contexts::instance")||new this(t)}constructor(t){E(t).get("contexts::instance")?.dispose(),E(t).set("contexts::instance",this);let i={host:t,contexts:new Set};Object.defineProperty(this,"#",{get:()=>i})}get[Symbol.iterator](){return this["#"].contexts[Symbol.iterator]}get length(){return this["#"].contexts.size}find(...t){return[...this["#"].contexts].find(i=>typeof t[0]=="function"?t[0](i):i.constructor.kind===t[0]&&(t.length===1||i.detail===t[1]))}attach(t){if(!(t instanceof J))throw new TypeError("Context is not a valid DOMContext instance.");if(this.find(t.constructor.kind,t.detail))throw new Wt(`Context of same kind "${t.constructor.kind}"${t.detail?` and detail "${t.detail}"`:""} already exists.`);this["#"].contexts.add(t),t.initialize(this["#"].host)}detach(t){t.dispose(this["#"].host),this["#"].contexts.delete(t)}request(...t){return new Ut((i,r)=>{typeof t[t.length-1]!="function"&&(t[t.length-1]?t.push(i):t[t.length-1]=i);let s;(s=t.find(a=>typeof a=="object"&&a))&&s.live&&(s.signal&&s.signal.addEventListener("abort",()=>r.abort()),t[t.indexOf(s)]={...s,signal:r.signal});let n=new(si())(...t);this["#"].host.dispatchEvent(n)})}};var zi=class{static createRequest(){return{kind:this.kind}}constructor(t=null){Object.defineProperty(this,"detail",{get:()=>t}),Object.defineProperty(this,"subscriptions",{value:new Set})}get configs(){let{window:{webqit:{oohtml:{configs:t}}}}=F;return t}get name(){return this.host===F.window.document?1/0:this.host.getAttribute(this.configs.CONTEXT_API.attr.contextname)}subscribed(t){}handle(t){}unsubscribed(t){}matchEvent(t){return t.kind===this.constructor.kind&&(!t.targetContext||t.targetContext===this.name)}handleEvent(t){if(!(this.disposed||typeof t.respondWith!="function")){if(t.type==="contextclaim"){if(t.target===this.host||!(t.detail instanceof zi))return;let i=new Set;return this.subscriptions.forEach(r=>{!t.target.contains(r.target)||!t.detail.matchEvent(r)||(t.stopPropagation(),this.subscriptions.delete(r),i.add(r))}),t.respondWith(i)}if(t.type==="contextrequest")return this.matchEvent(t)?(t.live&&(this.subscriptions.add(t),this.subscribed(t),t.signal?.addEventListener("abort",()=>{this.subscriptions.delete(t),this.unsubscribed(t)})),t.stopPropagation(),this.handle(t)):void 0}}initialize(t){this.host=t,this.disposed=!1,t.addEventListener("contextrequest",this),t.addEventListener("contextclaim",this);let{value:i}=St.instance(t).request("contextclaim",{kind:this.constructor.kind,detail:this});return i?.forEach(r=>{this.subscriptions.add(r),this.subscribed(r),this.handle(r)}),this}dispose(t){return this.disposed=!0,t.removeEventListener("contextrequest",this),t.removeEventListener("contextclaim",this),this.subscriptions.forEach(i=>{this.subscriptions.delete(i),this.unsubscribed(i);let{target:r}=i;r.dispatchEvent(i)}),this}},J=zi;U(J,"kind");var re=class extends J{static createRequest(t=null){let i=super.createRequest();if(t?.startsWith("@")){let[r,...s]=s.slice(1).split("/").map(n=>n.trim());i.targetContext=r,i.detail=s.join("/")}else i.detail=t;return i}get namespaceObj(){return this.host[this.configs.NAMESPACED_HTML.api.namespace]}handle(t){let{window:{webqit:{Observer:i}}}=F;if(t._controller?.abort(),!(t.detail||"").trim())return t.respondWith(i.unproxy(this.namespaceObj));let r=(t.detail||"").split("/").map(s=>s.trim()).filter(s=>s);if(!r.length)return t.respondWith();r=r.join(`/${this.configs.NAMESPACED_HTML.api.namespace}/`)?.split("/")||[],t._controller=i.reduce(this.namespaceObj,r,i.get,s=>{this.disposed||t.respondWith(s.value)},{live:t.live,signal:t.signal,descripted:!0})}unsubscribed(t){t._controller?.abort()}};U(re,"kind","namespace");function Qi(e={}){let{config:t,window:i}=Y.call(this,"namespaced-html",e,{attr:{namespace:"namespace",lid:"id"},api:{namespace:"namespace"},tokens:{lidrefPrefix:"~",lidrefSeparator:":"},target:{className:":target",eventName:":target",scrolling:!0}});t.lidSelector=`[${i.CSS.escape(t.attr.lid)}]`,t.namespaceSelector=`[${i.CSS.escape(t.attr.namespace)}]`,i.webqit.DOMNamingContext=re,ra.call(i,t),sa.call(i,t)}function Is(e){let{lidrefPrefix:t,lidrefSeparator:i}=e.tokens;return{escape(r,s=1){return[...r].map(n=>/\w/.test(n)?n:s===2?`\\\\${n}`:`\\${n}`).join("")},lidrefPrefix(r=0){return r?this.escape(t,r):t},lidrefSeparator(r=0){return r?this.escape(i,r):i},isUuid(r,s=0){return r.startsWith(this.lidrefPrefix(s))&&r.includes(this.lidrefSeparator(s))},isLidref(r,s=0){return r.startsWith(this.lidrefPrefix(s))&&!r.includes(this.lidrefSeparator(s))},toUuid(r,s,n=0){return`${this.lidrefPrefix(n)}${r}${this.lidrefSeparator(n)}${s}`},uuidToLid(r,s=0){return this.isUuid(r)?r.split(this.lidrefSeparator(s))[1]:r},uuidToLidref(r,s=0){return this.isUuid(r)?`${this.lidrefPrefix(s)}${r.split(this.lidrefSeparator(s))[1]}`:r}}}function Xi(e,t,i=null,r=0){let s=this,{webqit:{oohtml:{configs:{NAMESPACED_HTML:n}}}}=s,a=Is(n),o=new RegExp(`${i?":scope|":""}#(${a.lidrefPrefix(r+1)})?([\\w]+${a.lidrefSeparator(r+1)})?((?:[\\w-]|\\\\.)+)`,"g"),[u,l]=ie(e,",").reduce(([f,p],m)=>{let g,y;return m=m.replace(o,(v,b,w,S,x)=>{if(g||(g=[...m.matchAll(/(["'])(?:(?=(\\?))\2.)*?\1/g)]),g[0]&&g.some(W=>x>W.index&&x+v.length<W.index+W[0].length))return v;if(v===":scope")return y=!0,i;let _=b&&!w;if(b&&w)return`#${a.escape(v.replace("#",""),1)}`;let I=!1;if(_){if(n.attr.lid==="id"&&t)return`#${a.toUuid(t,S,1)}`;I=!0}let H;return n.attr.lid==="id"?H=`[id^="${a.lidrefPrefix(r)}"][id$="${a.lidrefSeparator(r)}${S}"]`:H=`:is(#${S},[${s.CSS.escape(n.attr.lid)}="${S}"])`,i&&I?`:is(${H}):not(${i} [${n.attr.namespace}] *)`:H}),y?[f,p.concat(m)]:[f.concat(m),p]},[[],[]]),c;return i&&u.length?c=[u.length>1?`${i} :is(${u.join(", ")})`:`${i} ${u[0]}`,l.join(", ")].filter(f=>f).join(", "):c=[...u,...l].join(", "),c}function Gi(e){if(!E(e).has("namespace")){let t=Object.create(null);E(e).set("namespace",t)}return E(e).get("namespace")}function Ki(e){let t=this,{webqit:{oohtml:{configs:{NAMESPACED_HTML:i}}}}=t,r=Gi(e instanceof t.Document?e:e.closest(`[${i.attr.namespace}]`)||e.ownerDocument);return Le(r)||Nt(r)}function ra(e){let t=this,{webqit:{Observer:i}}=t;if(e.api.namespace in t.document)throw new Error(`document already has a "${e.api.namespace}" property!`);if(e.api.namespace in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.namespace}" property!`);Object.defineProperty(t.document,e.api.namespace,{get:function(){return i.proxy(Gi.call(t,t.document))}}),Object.defineProperty(t.Element.prototype,e.api.namespace,{get:function(){return i.proxy(Gi.call(t,this))}})}function sa(e){let t=this,{webqit:{Observer:i,realdom:r,oohtml:{configs:s},DOMNamingContext:n}}=t;t.document[s.CONTEXT_API.api.contexts].attach(new n),r.realtime(t.document).subtree(e.namespaceSelector,x=>{x.exits.forEach(_=>{let k=_[s.CONTEXT_API.api.contexts],I=k.find(n.kind);I&&k.detach(I)}),x.entrants.forEach(_=>{let k=_[s.CONTEXT_API.api.contexts];k.find(n.kind)||k.attach(new n)})},{live:!0,timing:"sync",staticSensitivity:!0});let a=["aria-owns","aria-controls","aria-labelledby","aria-describedby","aria-flowto"],o=["for","list","form","aria-activedescendant","aria-details","aria-errormessage"],u=[e.attr.lid,...a,...o],l={id:"id",for:"htmlFor","aria-owns":"ariaOwns","aria-controls":"ariaControls","aria-labelledby":"ariaLabelledBy","aria-describedby":"ariaDescribedBy","aria-flowto":"ariaFlowto","aria-activedescendant":"ariaActiveDescendant","aria-details":"ariaDetails","aria-errormessage":"ariaErrorMessage"},c=Is(e),f=Object.getOwnPropertyDescriptor(t.Element.prototype,"getAttribute");Object.defineProperty(t.Element.prototype,"getAttribute",{...f,value(x){let _=f.value.call(this,x);return!E(this,"lock").get(x)&&u.includes(x)?(x==="id"?c.uuidToLid:c.uuidToLidref).call(c,_):_}});let p=Object.getOwnPropertyDescriptor(t.Document.prototype,"getElementById");Object.defineProperty(t.Document.prototype,"getElementById",{...p,value(x){return this.querySelector(`#${x}`)}});for(let x of["querySelector","querySelectorAll"])for(nodeApi of[t.Document,t.Element]){let _=Object.getOwnPropertyDescriptor(nodeApi.prototype,x);Object.defineProperty(nodeApi.prototype,x,{..._,value(k){return _.value.call(this,Xi.call(t,k,Ki.call(t,this)))}})}for(let x of u){if(!(x in l))continue;let _=x==="for"?[t.HTMLLabelElement,t.HTMLOutputElement]:[t.Element];for(let k of _){let I=Object.getOwnPropertyDescriptor(k.prototype,l[x]);!I||Object.defineProperty(k.prototype,l[x],{...I,get(){return(x==="id"?c.uuidToLid:c.uuidToLidref).call(c,I.get.call(this,x)||"")}})}}let m=Object.getOwnPropertyDescriptor(t.Attr.prototype,"value");Object.defineProperty(t.Attr.prototype,"value",{...m,get(){let x=m.get.call(this);return u.includes(this.name)?(this.name==="id"?c.uuidToLid:c.uuidToLidref).call(c,x):x}}),e.attr.lid!=="id"&&Object.defineProperty(t.Element.prototype,e.attr.lid,{configurable:!0,enumerable:!0,get(){return this.getAttribute(e.attr.lid)},set(x){return this.setAttribute(e.attr.lid,x)}});let g=(x,_,k)=>{if(E(x,"lock").get(_))return;E(x,"lock").set(_,!0),typeof k=="function"&&(k=k());let I=E(x).get("ownerNamespace");if(_===e.attr.lid){let H=c.uuidToLid(k);i.get(I,H)===x&&i.deleteProperty(I,H)}else{let H=k.split(" ").map(W=>(W=W.trim())&&c.uuidToLidref(W)).join(" ");x.setAttribute(_,H)}E(x,"lock").delete(_)},y=(x,_,k)=>{if(E(x,"lock").get(_))return;E(x,"lock").set(_,!0),typeof k=="function"&&(k=k());let I=E(x).get("ownerNamespace"),H=E(x).get("namespaceUUID");if(_===e.attr.lid){let W=c.uuidToLid(k);i.get(I,W)!==x&&(x.setAttribute("id",c.toUuid(H,W)),i.set(I,W,x))}else{let W=k.split(" ").map(lt=>(lt=lt.trim())&&!c.isLidref(lt)?lt:c.toUuid(H,lt.replace(c.lidrefPrefix(),""))).join(" ");x.setAttribute(_,W)}E(x,"lock").delete(_)},v=(x,_=!0)=>{for(let k of u)!x.hasAttribute(k)||g(x,k,()=>x.getAttribute(k));E(x).delete("ownerNamespace"),E(x).delete("namespaceUUID"),_&&(E(x).get("namespaceBinding").abort(),E(x).delete("namespaceBinding"))},b=x=>{if(!E(x).get("ownerNamespace")){let _={...n.createRequest(),live:!0},k=x.parentNode[s.CONTEXT_API.api.contexts].request(_,I=>{E(x).get("namespaceUUID")&&v(x,!1),E(x).set("ownerNamespace",I),E(x).set("namespaceUUID",Le(I)||Nt(I)),b(x)});E(x).set("namespaceBinding",k);return}for(let _ of u)!x.hasAttribute(_)||y(x,_,()=>x.getAttribute(_))};r.realtime(t.document).subtree(`[${u.map(x=>t.CSS.escape(x)).join("],[")}]`,x=>{x.exits.forEach(v),x.entrants.forEach(b)},{live:!0,timing:"sync"}),r.realtime(t.document,"attr").observe(u,x=>{for(let _ of x)_.oldValue?(g(_.target,_.name,_.oldValue),_.value&&y(_.target,_.name,_.value)):b(entry)},{subtree:!0,timing:"sync",newValue:!0,oldValue:!0});let w,S=()=>{if(!t.location.hash?.startsWith(`#${c.lidrefPrefix()}`))return;let x=t.location.hash?.substring(`#${c.lidrefPrefix()}`.length).split("/").map(k=>k.trim()).filter(k=>k)||[],_=x.reduce((k,I)=>k&&k[e.api.namespace][I],t.document);w&&e.target.className&&w.classList.toggle(e.target.className,!1),_&&_!==t.document&&(e.target.className&&_.classList.toggle(e.target.className,!0),e.target.eventName&&_.dispatchEvent(new t.CustomEvent(e.target.eventName)),e.target.scrolling&&x.length>1&&_.scrollIntoView(),w=_)};t.addEventListener("hashchange",S),r.ready(S)}function Yi({advanced:e={},...t}){let{config:i,window:r}=Y.call(this,"scoped-css",t,{api:{styleSheets:"styleSheets"},style:{retention:"retain",mimeType:"",strategy:null}});i.styleSelector=(Array.isArray(i.style.mimeType)?i.style.mimeType:[i.style.mimeType]).reduce((s,n)=>{let a=n?`[type=${r.CSS.escape(n)}]`:"";return s.concat(`style${a}[scoped]`)},[]).join(","),r.webqit.oohtml.Style={compileCache:new Map},na.call(r,i),aa.call(r,i)}function na(e){let t=this,i=new Map;if(e.api.styleSheets in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.styleSheets}" property!`);Object.defineProperty(t.HTMLElement.prototype,e.api.styleSheets,{get:function(){return i.has(this)||i.set(this,[]),i.get(this)}}),Object.defineProperty(t.HTMLStyleElement.prototype,"scoped",{configurable:!0,get(){return this.hasAttribute("scoped")},set(r){this.toggleAttribute("scoped",r)}})}function aa(e){let t=this,{webqit:{oohtml:i,realdom:r}}=t;t.CSS.supports||(t.CSS.supports=()=>!1);let s=new WeakSet;r.realtime(t.document).subtree(e.styleSelector,n=>{n.entrants.forEach(a=>{if(s.has(a)||(s.add(a),!a.scoped))return;a.parentNode[e.api.styleSheets].push(a);let o=Nt(a.textContent),u=CSS.supports("selector(:has(a,b))"),l=u?`:has(> style[rand-${o}])`:`[rand-${o}]`,c=t.CSSScopeRule&&!1;(u?a:a.parentNode).toggleAttribute(`rand-${o}`,!0);{let f=Ki.call(t,a);oa.call(this,a.sheet,f,!c&&l)}})},{live:!0,timing:"intercept",generation:"entrants"})}function oa(e,t,i=null){let r=e?.cssRules.length||-1;for(let s=0;s<r;++s){let n=e.cssRules[s];n instanceof CSSImportRule||Os.call(this,n,t,i)}}function Os(e,t,i=null){if(e instanceof CSSStyleRule){Ts.call(this,e,t,i);return}if([window.CSSScopeRule,window.CSSMediaRule,window.CSSContainerRule,window.CSSSupportsRule,window.CSSLayerBlockRule].some(r=>r&&e instanceof r)){let r=e.cssRules.length;for(let s=0;s<r;++s)Os.call(this,e.cssRules[s],t,i)}}function Ts(e,t,i=null){let r=Xi.call(this,e.selectorText,t,i,1);if(e.selectorText=r,e.cssRules){let s=e.cssRules.length;for(let n=0;n<s;++n)Ts.call(this,e.cssRules[n],t)}}function Ji({advanced:e={},...t}){let{config:i,window:r}=Y.call(this,"scoped-js",t,{script:{retention:"retain",mimeType:""},api:{scripts:"scripts"},advanced:ti(e)});i.scriptSelector=(Array.isArray(i.script.mimeType)?i.script.mimeType:[i.script.mimeType]).reduce((s,n)=>{let a=n?`[type=${r.CSS.escape(n)} ]`:"";return s.concat(`script${a}[scoped],script${a}[quantum]`)},[]).join(","),r.webqit.oohtml.Script={compileCache:[new Map,new Map],execute:la.bind(r,i)},ua.call(r,i),ca.call(r,i)}function ua(e){let t=this,i=new Map;if(e.api.scripts in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.scripts}" property!`);Object.defineProperty(t.HTMLElement.prototype,e.api.scripts,{get:function(){return i.has(this)||i.set(this,[]),i.get(this)}}),Object.defineProperties(t.HTMLScriptElement.prototype,{scoped:{configurable:!0,get(){return this.hasAttribute("scoped")},set(r){this.toggleAttribute("scoped",r)}},quantum:{configurable:!0,get(){return this.hasAttribute("quantum")},set(r){this.toggleAttribute("quantum",r)}}})}async function la(e,t){let i=this,{realdom:r}=i.webqit,s=Le(t);if(!s)throw new Error("Argument must be a valid exec hash.");let{script:n,compiledScript:a,thisContext:o}=s;e.script.retention==="dispose"?n.remove():e.script.retention==="dispose"?n.textContent='"source hidden"':n.textContent=await a.toString();let u=(await a.bind(o)).execute();n.quantum&&Object.defineProperty(n,"state",{value:u}),r.realtime(i.document).observe(n,()=>{n.quantum&&u.dispose(),n.scoped&&o[e.api.scripts].splice(o[e.api.scripts].indexOf(n,1))},{subtree:!0,timing:"sync",generation:"exits"})}function ca(e){let t=this,{webqit:{oohtml:i,realdom:r,QuantumScript:s,QuantumAsyncScript:n,QuantumModule:a}}=t;t.HTMLScriptElement.supports||(t.HTMLScriptElement.supports=()=>!1);let o=["module"].concat(e.script.mimeType||[]),u=new WeakSet;r.realtime(t.document).subtree(e.scriptSelector,l=>{l.entrants.forEach(c=>{if(u.has(c))return;u.add(c);let f=(c._=c.textContent.trim())&&c._.startsWith("/*@oohtml*/if(false){")&&c._.endsWith("}/*@oohtml*/")?c._.slice(21,-12):c.textContent,p=Nt(f),m=i.Script.compileCache[c.quantum?0:1],g;if(!(g=m.get(p))){let{parserParams:w,compilerParams:S,runtimeParams:x}=e.advanced;g=new(c.type==="module"?a:s||n)(f,{exportNamespace:`#${c.id}`,fileName:`${t.document.url?.split("#")?.[0]||""}#${c.id}`,parserParams:w,compilerParams:{...S,startStatic:!c.quantum},runtimeParams:x}),m.set(p,g)}let y=c.scoped?c.parentNode||l.target:c.type==="module"?void 0:t;c.scoped&&y[e.api.scripts].push(c);let v=Nt({script:c,compiledScript:g,thisContext:y});l.type==="query"||o.includes(c.type)&&!t.HTMLScriptElement.supports(c.type)?i.Script.execute(v):c.textContent=`webqit.oohtml.Script.execute( '${v}' );`})},{live:!0,timing:"intercept",generation:"entrants",eventDetails:!0})}function Zi(e={}){let{config:t,window:i}=Y.call(this,"context-api",e,{attr:{contextname:"contextname"},api:{contexts:"contexts"}});i.webqit.DOMContexts=St,i.webqit.DOMContext=J,i.webqit.DOMContextRequestEvent=si(),i.webqit.DOMContextResponse=Ut,i.webqit.DuplicateContextError=Wt,ha.call(i,t)}function ha(e){let t=this;if(e.api.contexts in t.document)throw new Error(`document already has a "${e.api.contexts}" property!`);if(e.api.contexts in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${e.api.contexts}" property!`);Object.defineProperty(t.document,e.api.contexts,{get:function(){return St.instance(t.document)}}),Object.defineProperty(t.HTMLElement.prototype,e.api.contexts,{get:function(){return St.instance(this)}});let i=new Set;t.addEventListener("contextrequest",r=>{typeof r.respondWith=="function"&&(i.add(r),r.respondWith())}),t.addEventListener("contextclaim",r=>{if(typeof r.detail!="object"||typeof r.detail.matchEvent!="function"||typeof r.respondWith!="function")return;let s=new Set;i.forEach(n=>{!r.target.contains(n.target)||!r.detail.matchEvent(n)||(i.delete(n),s.add(n))}),r.respondWith(s)})}var Et=class extends J{static createRequest(t=null){let i=super.createRequest();if(t?.startsWith("@")){let[r,...s]=s.slice(1).split(".").map(n=>n.trim());i.targetContext=r,i.detail=s.join(".")}else i.detail=t;return i}get bindingsObj(){return this.host[this.configs.BINDINGS_API.api.bindings]}matchEvent(t){return super.matchEvent(t)&&(!t.detail||!this.detail||(Array.isArray(t.detail)?t.detail[0]===this.detail:t.detail===this.detail))}handle(t){if(t._controller?.abort(),!(t.detail+"").trim())return t.respondWith(this.bindingsObj);let{window:{webqit:{Observer:i}}}=F;t._controller=i.reduce(this.bindingsObj,Array.isArray(t.detail)?t.detail:[t.detail],i.get,r=>{this.disposed||t.respondWith(r.value)},{live:t.live,signal:t.signal,descripted:!0})}unsubscribed(t){t._controller?.abort()}};U(Et,"kind","bindings");function er(e={}){let{config:t,window:i}=Y.call(this,"bindings-api",e,{attr:{bindingsreflection:"bindings"},api:{bind:"bind",bindings:"bindings"}});i.webqit.DOMBindingsContext=Et,fa.call(i,t)}function tr(e,t){let i=this,{webqit:{Observer:r,oohtml:{configs:{CONTEXT_API:s}}}}=i;if(!E(t).has("bindings")){let n=Object.create(null);E(t).set("bindings",n),r.observe(n,a=>{let o=Object.keys(n),u=t===i.document?i.document.documentElement:t,l=e.attr.bindingsreflection;o.length&&l?u.setAttribute(e.attr.bindingsreflection,o.join(" ")):l&&u.toggleAttribute(e.attr.bindingsreflection,!1);let c=t[s.api.contexts];for(let f of a)if(f.type==="delete"){let p=c.find(Et.kind,f.key);p&&c.detach(p)}else c.find(Et.kind,f.key)||c.attach(new Et(f.key))})}return E(t).get("bindings")}function fa(e){let t=this,{webqit:{Observer:i}}=t;if(e.api.bind in t.document)throw new Error(`document already has a "${e.api.bind}" property!`);if(e.api.bindings in t.document)throw new Error(`document already has a "${e.api.bindings}" property!`);if(e.api.bind in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.bind}" property!`);if(e.api.bindings in t.Element.prototype)throw new Error(`The "Element" class already has a "${e.api.bindings}" property!`);Object.defineProperty(t.document,e.api.bind,{value:function(r,s={}){return Ns.call(t,e,t.document,r,s)}}),Object.defineProperty(t.document,e.api.bindings,{get:function(){return i.proxy(tr.call(t,e,t.document))}}),Object.defineProperty(t.Element.prototype,e.api.bind,{value:function(r,s={}){return Ns.call(t,e,this,r,s)}}),Object.defineProperty(t.Element.prototype,e.api.bindings,{get:function(){return i.proxy(tr.call(t,e,this))}})}function Ns(e,t,i,{merge:r,diff:s,namespace:n}={}){let a=this,{webqit:{Observer:o}}=a,u=tr.call(this,e,t),l={diff:s,namespace:n},c=r?[]:o.ownKeys(u,l).filter(f=>!(f in i));return o.batch(u,()=>(c.length&&o.deleteProperties(u,c,l),o.set(u,i,l)),l)}var mt=class{static instance(t){return E(t).get("defsmanager::instance")||new this(t)}constructor(t,i=null,r=0){let{window:s}=F,{webqit:{realdom:n,oohtml:{configs:a}}}=s;E(t).get("defsmanager::instance")?.dispose(),E(t).set("defsmanager::instance",this),this.host=t,this.config=a.HTML_IMPORTS,this.parent=i,this.level=r,this.defs=Ct(this.host),this.defId=(this.host.getAttribute(this.config.attr.def)||"").trim(),this.validateDefId(this.defId),this.realtimeA=n.realtime(this.host.content).children(o=>{this.export(o.entrants,!0),this.export(o.exits,!1)},{live:!0,timing:"sync"}),this.realtimeB=n.realtime(this.host).attr(["src","loading"],(...o)=>this.evaluateLoading(...o),{live:!0,atomic:!0,timing:"sync",lifecycleSignals:!0}),this.realtimeC=this.evalInheritance()}validateDefId(t){if(["@","/","*","#"].some(i=>t.includes(i)))throw new Error(`The export ID "${t}" contains an invalid character.`)}export(t,i){let{window:r}=F,{webqit:{Observer:s}}=r,n,a=this.defs["#"]||[];s.batch(this.defs,()=>{t.forEach(o=>{if(o.nodeType!==1)return;let u=o.matches(this.config.templateSelector),l=(o.getAttribute(u?this.config.attr.def:this.config.attr.fragmentdef)||"").trim();i?(u&&l?new mt(o,this.host,this.level+1):(a.push(o),n=!0),l&&(this.validateDefId(l),s.set(this.defs,(!u&&"#"||"")+l,o))):(u&&l?mt.instance(o).dispose():(a=a.filter(c=>c!==o),n=!0),l&&s.deleteProperty(this.defs,(!u&&"#"||"")+l))}),n&&s.set(this.defs,"#",a)})}evaluateLoading([t,i],{signal:r}){let{window:{webqit:{Observer:s}}}=F,n=(t.value||"").trim();if(!n)return;let a,o=c=>{if(!c)return a;a=c.then(()=>l.remove())},u=(i.value||"").trim(),l=s.intercept(this.defs,"get",async(c,f,p)=>(u==="lazy"&&o(this.load(n,!0)),await o(),p()),{signal:r});u!=="lazy"&&o(this.load(n))}load(t){let{window:i}=F;if(this.host.content.children.length)return Promise.resolve();if(this.fetchInFlight?.src===t)return this.fetchInFlight.request;this.fetchInFlight?.controller.abort();let r=new AbortController,s=(a,o)=>this.host.dispatchEvent(new i.CustomEvent(a,{detail:o})),n=i.fetch(t,{signal:r.signal,element:this.host}).then(a=>a.ok?a.text():Promise.reject(a.statusText)).then(a=>(this.host.innerHTML=a.trim(),s("load"),this.host)).catch(a=>(console.error(`Error fetching the bundle at "${t}": ${a.message}`),this.fetchInFlight=null,s("loaderror"),this.host));return this.fetchInFlight={src:t,request:n,controller:r},n}evalInheritance(){if(!this.parent)return[];let{window:{webqit:{Observer:t}}}=F,i=(this.host.getAttribute(this.config.attr.extends)||"").trim(),r=(this.host.getAttribute(this.config.attr.inherits)||"").trim(),s=o=>{o.forEach(u=>{t.get(this.defs,u.key)===u.oldValue&&(["get","set","def"].includes(u.type)?t[u.type.replace("get","set")](this.defs,u.key,u.value):u.type==="delete"&&t.deleteProperty(this.defs,u.key))})},n=[],a=Ct(this.parent);return i&&n.push(t.reduce(a,[i,this.config.api.defs,1/0],t.get,s,{live:!0})),(r=r.split(" ").map(o=>o.trim()).filter(o=>o)).length&&n.push(t.get(a,r,s,{live:!0})),n}dispose(){this.realtimeA.disconnect(),this.realtimeB.disconnect(),this.realtimeC.forEach(t=>t instanceof Promise?t.then(i=>i.abort()):t.abort()),Object.entries(this.defs).forEach(([t,i])=>{t.startsWith("#")||mt.instance(i).dispose()})}};var kt=class extends J{static createRequest(t=null){let i=super.createRequest();if(t?.startsWith("/"))i.detail=t,i.targetContext=1/0;else if(t?.startsWith("@")){let[r,...s]=s.slice(1).split(/(?<=\w)(?=\/|#)/).map(n=>n.trim());i.targetContext=r,i.detail=s.join("")}else i.detail=t;return i}get localModules(){return Ct(this.host)}handle(t){let{window:{webqit:{Observer:i}}}=F;if(t._controller?.abort(),(t.detail||"").trim()==="/")return t.respondWith(this.localModules);let r=(t.detail||"").split(/\/|(?<=\w)(?=#)/g).map(n=>n.trim()).filter(n=>n);if(!r.length)return t.respondWith();r=r.join(`/${this.configs.HTML_IMPORTS.api.defs}/`)?.split("/")||[];let s={live:t.live,signal:t.signal,descripted:!0};t._controller=i.reduce(this.localModules,r,i.get,(n,{signal:a}={})=>{let o=Array.isArray(n)?n:n.value,u=Array.isArray(n)?n.length:n.value;if(!(!u&&this.host.isConnected===!1))return u||!this.contextModules?(t._isValidLocalResult=u,t.respondWith(o)):i.reduce(this.contextModules,r,i.get,l=>(t._currentSource="context",t.respondWith(Array.isArray(l)?l:l.value)),{...s,signal:a})},{lifecycleSignals:!0,...s})}unsubscribed(t){t._controller?.abort()}realtimeSources(t){this.host=t;let i=()=>{for(let n of this.subscriptions)n._isValidLocalResult||this.handle(n)},r=this.configs.HTML_IMPORTS;if(!this.host.matches||!r.attr.importscontext)return;this.refdSourceController?.disconnect();let s=this.host.ownerDocument.defaultView.webqit.realdom;this.refdSourceController=s.realtime(this.host).attr(r.attr.importscontext,(n,{signal:a})=>{if(!n.value)return this.contextModules=void 0,i();let o={...this.constructor.createRequest(n.value.trim()),live:!0,signal:a};this.host.parentNode[this.configs.CONTEXT_API.api.contexts].request(o,u=>{this.contextModules=u&&Object.getPrototypeOf(u)?Ct(u):u,i()})},{live:!0,timing:"sync",lifecycleSignals:!0})}initialize(t){return this.realtimeSources(t),super.initialize(t)}dispose(t){return this.refdSourceController?.disconnect(),super.dispose(t)}};U(kt,"kind","html-imports");function $s(){let{window:e}=F,{webqit:t}=e,{realdom:i,oohtml:{configs:r}}=t;if(t.HTMLImportElement)return t.HTMLImportElement;let s=r.HTML_IMPORTS.elements.import.includes("-")?e.HTMLElement:class{};class n extends s{static instance(o){return r.HTML_IMPORTS.elements.import.includes("-")&&o instanceof this?o:E(o).get("import::instance")||new this(o)}constructor(...o){super();let u=o[0]||this;E(u).set("import::instance",this),Object.defineProperty(this,"el",{get:()=>u,configurable:!1});let l={};Object.defineProperty(this,"#",{get:()=>l,configurable:!1}),l.slottedElements=new Set,l.setAnchorNode=c=>(l.anchorNode=c,c),l.importRequest=(c,f=null)=>{let p={...kt.createRequest(l.moduleRef?.includes("#")?l.moduleRef:`${l.moduleRef}#`),live:f&&!0,signal:f};(this.el.isConnected?this.el.parentNode:l.anchorNode.parentNode)[r.CONTEXT_API.api.contexts].request(p,m=>{c((m instanceof e.HTMLTemplateElement?[...m.content.children]:Array.isArray(m)?m:m&&[m])||[])})},l.hydrate=(c,f)=>{l.moduleRef=(this.el.getAttribute(r.HTML_IMPORTS.attr.ref)||"").trim(),c.replaceWith(l.setAnchorNode(this.createAnchorNode())),l.autoRestore(()=>{f.forEach(p=>{l.slottedElements.add(p),E(p).set("slot@imports",this.el)})}),l.hydrationImportRequest=new AbortController,l.importRequest(p=>{if(l.originalsRemapped)return this.fill(p);let m=p.map((y,v)=>({el:y,fragmentDef:y.getAttribute(r.HTML_IMPORTS.attr.fragmentdef)||"",tagName:y.tagName,i:v})),g=-1;f.forEach(y=>{let v=y.tagName,b=y.getAttribute(r.HTML_IMPORTS.attr.fragmentdef)||"",w=(g++,m.find(S=>S.tagName===v&&S.fragmentDef===b&&S.i===g));!w||E(y).set("original@imports",w.el)}),l.originalsRemapped=!0},l.hydrationImportRequest.signal)},l.autoRestore=(c=null)=>{l.autoRestoreRealtime?.disconnect(),c&&c();let f=()=>{l.anchorNode?.replaceWith(this.el),l.anchorNode=null,this.el.setAttribute("data-nodecount",0)};if(!l.slottedElements.size)return f();let p=i.realtime(e.document).observe([...l.slottedElements],m=>{if(m.exits.forEach(g=>{E(g).delete("slot@imports"),l.slottedElements.delete(g)}),!l.slottedElements.size){if(p.disconnect(),!m.target.isConnected)return;f()}},{subtree:!0,timing:"sync",generation:"exits"});l.autoRestoreRealtime=p},l.connectedCallback=()=>{if(l.slottedElements.size)throw new Error("Illegal reinsertion into the DOM; import slot is not empty!");l.moduleRefRealtime||(l.moduleRefRealtime=i.realtime(this.el).attr(r.HTML_IMPORTS.attr.ref,(c,{signal:f})=>{l.moduleRef=c.value,l.importRequest(p=>!l.hydrationImportRequest&&this.fill(p),f)},{live:!0,timing:"sync",lifecycleSignals:!0}),l.hydrationImportRequest?.abort(),l.hydrationImportRequest=null)},l.disconnectedCallback=()=>{l.hydrationImportRequest?.abort(),l.hydrationImportRequest=null,!l.anchorNode.isConnected&&(l.moduleRefRealtime?.disconnect(),l.moduleRefRealtime=null)}}createAnchorNode(){if(e.webqit.env!=="server")return e.document.createTextNode("");let o=e.document.createElement("div");o.textContent=this.el.outerHTML;let u=e.document.createComment(o.innerHTML);return E(u).set("isAnchorNode",!0),u}fill(o){Array.isArray(o)&&(o=new Set(o)),this.el.setAttribute("data-nodecount",o.size),this["#"].autoRestore(()=>{if(this["#"].slottedElements.forEach(u=>{let l=E(u).get("original@imports");o.has(l)?o.delete(l):(this["#"].slottedElements.delete(u),u.remove())}),o.size){let u=this["#"].anchorNode,l=this["#"].setAnchorNode(this.createAnchorNode());(this.el.isConnected?this.el:u).replaceWith(l)}o.forEach(u=>{let l=u.cloneNode(!0);l.hasAttribute(r.HTML_IMPORTS.attr.fragmentdef)||l.toggleAttribute(r.HTML_IMPORTS.attr.fragmentdef,!0),E(l).set("original@imports",u),E(l).set("slot@imports",this.el),this["#"].slottedElements.add(l),this["#"].anchorNode.before(l)})})}empty(){this["#"].slottedElements.forEach(o=>o.remove())}get anchorNode(){return this["#"].anchorNode}get moduleRef(){return this["#"].moduleRef}get slottedElements(){return this["#"].slottedElements}}return r.HTML_IMPORTS.elements.import.includes("-")&&customElements.define(r.HTML_IMPORTS.elements.import,n),t.HTMLImportElement=n,n}function ir(e={}){let{config:t,window:i}=Y.call(this,"html-imports",e,{elements:{import:"import"},attr:{def:"def",extends:"extends",inherits:"inherits",ref:"ref",importscontext:"importscontext"},api:{def:"def",defs:"defs",import:"import"}});t.attr.fragmentdef||(t.attr.fragmentdef=t.attr.def),t.templateSelector=`template[${i.CSS.escape(t.attr.def)}]`,t.importsContextSelector=`[${i.CSS.escape(t.attr.importscontext)}]`,t.slottedElementsSelector=`[${i.CSS.escape(t.attr.fragmentdef)}]:not(template)`;let r=(s,n)=>{let a=`starts-with(., "${s}")`,o=`substring(., string-length(.) - string-length("${n}") + 1) = "${n}"`;return`${a} and ${o}`};t.anchorNodeSelector=`comment()[${r(`&lt;${t.elements.import}`,`&lt;/${t.elements.import}&gt;`)}]`,i.webqit.HTMLImportsContext=kt,i.webqit.HTMLImportElement=$s(),pa.call(i,t),da.call(i,t)}function Ct(e,t=!0){if(!E(e).has("defs")&&t){let i=Object.create(null);E(e).set("defs",i)}return E(e).get("defs")}function pa(e){let t=this,{webqit:{oohtml:{configs:i}}}=t;if(e.api.defs in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" class already has a "${e.api.defs}" property!`);if(e.api.def in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" class already has a "${e.api.def}" property!`);if(e.api.import in t.document)throw new Error(`document already has a "${e.api.import}" property!`);if(e.api.import in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${e.api.import}" property!`);Object.defineProperty(t.HTMLTemplateElement.prototype,e.api.defs,{get:function(){return Ct(this)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,e.api.def,{get:function(){return this.getAttribute(e.attr.def)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,"scoped",{configurable:!0,get(){return this.hasAttribute("scoped")},set(s){this.toggleAttribute("scoped",s)}}),Object.defineProperty(t.document,e.api.import,{value:function(s,n=!1,a=null){return r(t.document,...arguments)}}),Object.defineProperty(t.HTMLElement.prototype,e.api.import,{value:function(s,n=!1,a=null){return r(this,...arguments)}});function r(s,n,a=!1,o=null){let u={};typeof a=="function"?(o=a,a=!1):typeof a=="object"&&a?u={...a,...u}:u={live:a};let l={...kt.createRequest(n),...u};return s[i.CONTEXT_API.api.contexts].request(l,o)}}function da(e){let t=this,{webqit:{Observer:i,realdom:r,oohtml:{configs:s},HTMLImportElement:n,HTMLImportsContext:a}}=t,o=c=>{let f=c[s.CONTEXT_API.api.contexts];f.find(a.kind)||f.attach(new a)},u=c=>{let f=c[s.CONTEXT_API.api.contexts],p=f.find(a.kind);p&&(!c.isConnected||!c.matches?.(e.importsContextSelector)&&!Object.keys(p.localModules).length)&&f.detach(p)};r.realtime(t.document).subtree([e.templateSelector,e.importsContextSelector],c=>{c.entrants.forEach(f=>{if(f.matches(e.templateSelector)){let p=mt.instance(f);p.ownerContext=f.scoped?c.target:t.document;let m=Ct(p.ownerContext);p.defId&&i.set(m,p.defId,f),o(p.ownerContext)}else o(f)}),c.exits.forEach(f=>{if(f.matches(e.templateSelector)){let p=mt.instance(f),m=Ct(p.ownerContext);p.defId&&i.deleteProperty(m,p.defId),u(p.ownerContext)}else u(f)})},{live:!0,timing:"sync",staticSensitivity:!0}),r.realtime(t.document).subtree(e.elements.import,c=>{c.entrants.forEach(f=>l(f,!0,c)),c.exits.forEach(f=>l(f,!1,c))},{live:!0,timing:"sync"});function l(c,f){let p=n.instance(c);f?p["#"].connectedCallback():p["#"].disconnectedCallback()}t.webqit.env!=="server"&&r.realtime(t.document).subtree(`(${e.anchorNodeSelector})`,c=>{c.entrants.forEach(f=>{if(E(f).get("isAnchorNode"))return;let p=t.document.createElement("div");p.innerHTML=f.nodeValue,p.innerHTML=p.firstChild.textContent;let m=p.firstChild,g=parseInt(m.getAttribute("data-nodecount")),y=new Set,v=f;for(;(v=v.previousElementSibling)&&v.matches(e.slottedElementsSelector)&&g--;)y.add(v);n.instance(m)["#"].hydrate(f,y)})},{live:!0})}function nr(e={}){let{config:t,window:i}=Y.call(this,"data-binding",e,{attr:{expr:"expr",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"}});({CONTEXT_API:t.CONTEXT_API,BINDINGS_API:t.BINDINGS_API,HTML_IMPORTS:t.HTML_IMPORTS}=i.webqit.oohtml.configs),t.attrSelector=`[${i.CSS.escape(t.attr.expr)}]`;let r=(s,n)=>{let a=`starts-with(., "${s}")`,o=`substring(., string-length(.) - string-length("${n}") + 1) = "${n}"`;return`${a} and ${o}`};t.discreteBindingsSelector=`comment()[${r(t.tokens.tagStart,t.tokens.tagEnd)}]`,ma.call(i,t)}function ma(e){let t=this,{webqit:{realdom:i}}=t;i.realtime(t.document).subtree(`(${e.discreteBindingsSelector})`,r=>{Ls.call(this,...r.exits),ga.call(this,e,...r.entrants)},{live:!0}),i.realtime(t.document).subtree(e.attrSelector,r=>{Ls.call(this,...r.exits),xa.call(this,e,...r.entrants)},{live:!0,timing:"sync",staticSensitivity:!0})}function Rs(e,t){let{webqit:{realdom:i,Observer:r,DOMBindingsContext:s}}=this;if(E(t).has("data-binding"))return E(t).get("data-binding");let n=Object.create(null),a=new AbortController;n.$exec__=(u,l,...c)=>{i.schedule("write",()=>u[l](...c))},n.$assign__=(u,l,c)=>{i.schedule("write",()=>u[l]=c)},r.intercept(n,{get:(u,l,c)=>{if(!(u.key in n)){let f={...s.createRequest(u.key),live:!0,signal:a.signal};t[e.CONTEXT_API.api.contexts].request(f,p=>{r.set(n,u.key,p)})}return c(n[u.key]??(u.key in globalThis?globalThis[u.key]:void 0))},has:(u,l,c)=>c(!0)});let o={scope:n,abortController:a,bindings:new Map};return E(t).set("data-binding",o),o}function Ls(...e){for(let t of e){let i=t.nodeName==="#text"?t.parentNode:t,{bindings:r,abortController:s}=E(i).get("data-binding")||{};if(!r?.has(t))return;r.get(t).state.dispose(),r.get(t).signals?.forEach(n=>n.abort()),r.delete(t),r.size||(s.abort(),E(i).delete("data-binding"))}}async function ga(e,...t){let i=this,{webqit:{QuantumAsyncFunction:r}}=i,s=a=>{let o=e.tokens.tagStart.split("").map(g=>`\\${g}`).join(""),u=e.tokens.tagEnd.split("").map(g=>`\\${g}`).join(""),l=e.tokens.stateStart.split("").map(g=>g===" "?"(?:\\s+)?":`\\${g}`).join(""),c=e.tokens.stateEnd.split("").map(g=>`\\${g}`).join(""),f=`^${o}(.*?)(?:${l}(\\d+)${c}(?:\\s+)?)?${u}$`,[,p,m]=a.match(new RegExp(f));return{raw:a,expr:p,span:parseInt(m??0)}},n=t.reduce((a,o)=>{if(o.isBound)return a;let u=s(o.nodeValue),l=o;if(u.span){if(l=o.nextSibling,l?.nodeName!=="#text"||l.nodeValue.length<u.span)return a;l.nodeValue.length>u.span&&l.splitText(u.span)}else l=o.ownerDocument.createTextNode(""),o.after(l);l.isBound=!0;let c=o;return i.webqit.env!=="server"&&(c.remove(),c=null),a.concat({textNode:l,template:u,anchorNode:c})},[]);for(let{textNode:a,template:o,anchorNode:u}of n){let l=ya(e,o.expr),{scope:c,bindings:f}=Rs.call(this,e,a.parentNode);Object.defineProperty(a,"$oohtml_internal_databinding_anchorNode",{value:u,configurable:!0}),f.set(a,{state:await(await l.bind(a,c)).execute()})}}var rr=new Map;function ya(e,t){if(rr.has(t))return rr.get(t);let i=`let content = ((${t}) ?? '') + '';`;i+="$assign__(this, 'nodeValue', content);",i+=`if ( this.$oohtml_internal_databinding_anchorNode ) { $assign__(this.$oohtml_internal_databinding_anchorNode, 'nodeValue', "${e.tokens.tagStart}${se(t)}${e.tokens.stateStart}" + content.length + "${e.tokens.stateEnd} ${e.tokens.tagEnd}"); }`;let{webqit:{QuantumModule:r}}=this,s=new r(i);return rr.set(t,s),s}async function xa(e,...t){for(let i of t){let r=ba(e,i.getAttribute(e.attr.expr)),{scope:s,bindings:n}=Rs.call(this,e,i),a=[];Object.defineProperty(i,"$oohtml_internal_databinding_signals",{value:a,configurable:!0}),n.set(i,{signals:a,state:await(await r.bind(i,s)).execute()})}}var sr=new Map;function ba(e,t){if(sr.has(t))return sr.get(t);let i={},r=ie(t,";").map(a=>{let[o,u]=ie(a,":").map(m=>m.trim()),l=o[0],c=o.slice(1).trim(),f=`(${u})`,p=`(${f} ?? '')`;if(l==="&")return c.startsWith("--")?`$exec__(this.style, 'setProperty', "${se(c)}", ${p});`:`$assign__(this.style, "${se(c)}", ${p});`;if(l==="%")return`$exec__(this.classList, 'toggle', "${se(c)}", !!${f});`;if(l==="~")return c.startsWith("?")?`$exec__(this, 'toggleAttribute', "${se(c.substring(1).trim())}", !!${f});`:`$exec__(this, 'setAttribute', "${se(c)}", ${p});`;if(l==="@"){if(i[c])throw new Error(`Duplicate binding: ${o}.`);if(i[c]=!0,c==="text")return`$assign__(this, 'textContent', ${p});`;if(c==="html")return`$exec__(this, 'setHTML', ${p});`;if(c==="items"){let[m,g]=ie(u,"/");if(!g)throw new Error(`Invalid ${l}items spec: ${a}; no import specifier.`);let[y,v,b,w]=m.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!y)throw new Error(`Invalid ${l}items spec: ${a}.`);if(v.startsWith("(")?v=v.trim().slice(1,-1).split(",").map(x=>x.trim()):v=[v],v.length>(b==="in"?3:2))throw new Error(`Invalid ${l}items spec: ${a}.`);let S=b==="in"?v[2]:v[1]||"$index__";return`
16
16
  let $iteratee__ = ${w};
17
17
  let $import__ = this.${e.HTML_IMPORTS.api.import}( ${g.trim()}, true );
18
18
  this.$oohtml_internal_databinding_signals?.push( $import__ );