@webqit/oohtml 4.2.0 → 4.3.1

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.
@@ -1,6 +1,6 @@
1
- (()=>{function Ae(n){return(n=n.trim())&&n.startsWith("(")&&n.endsWith(")")}function ie(n,e,r,t=!0){r=(Array.isArray(r)?r:[r]).map(s=>(s+"").replace("(",t?"(.//":"(./")).join("|");let i=[],o;try{let s=n.document.evaluate(r,e,null,n.XPathResult.ANY_TYPE);for(;o=s.iterateNext();)i.push(o)}catch{}return i}function Se(n,e,r){r=(Array.isArray(r)?r:[r]).map(t=>(t+"").replace("(","(self::")).join("|");try{return n.document.evaluate(`${r}`,e,null,n.XPathResult.BOOLEAN_TYPE).booleanValue}catch{}}function Q(n,e,r,t=!1){let i=e.getRootNode(),o=r.getRootNode();return i===o?e.contains(r):t&&o instanceof n.ShadowRoot?Q(n,e,o.host,t):!1}function Ee(n,e="|"){return[...n].reduce(([r,t,i,o],s)=>!r&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[r,t,[""].concat(i)]:(!r&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!r&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(r=r===s?null:r||s),i[0]+=s,[r,t,i]),[null,0,[""]])[2].reverse()}function v(n){return!Array.isArray(n)&&typeof n=="object"&&n}function g(n){return Array.isArray(n)}function me(n,e,r=null){return g(e)?n.filter(t=>r?e.filter(i=>r(t,i)).length:e.indexOf(t)!==-1):[]}function E(n,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new J}),!arguments.length)return globalThis.webqit.refs;let r=globalThis.webqit.refs.get(n);r||(r=new J,globalThis.webqit.refs.set(n,r));let t,i;for(;t=e.shift();)(i=r)&&!(r=r.get(t))&&(r=new J,i.set(t,r));return r}var J=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,r){let t=super.set(e,r);return this.fire("set",e,r,e),t}delete(e){let r=super.delete(e);return this.fire("delete",e),r}has(e){return this.fire("has",e),super.has(e)}get(e){return this.fire("get",e),super.get(e)}keyNames(){return Array.from(super.keys())}observe(e,r,t){let i={type:e,key:r,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,r,t){if(Array.isArray(e)||Array.isArray(r))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(oe([e,"*"],i.type)&&oe([r,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,r,...t){for(let i of this.observers)!(oe([e,"*"],i.type)&&oe([r,"*"],i.key))||i.callback(...t)}},oe=(n,e)=>Array.isArray(e)?me(n,e).length:n.includes(e);function V(n){return typeof n=="function"}function Y(n){return n===null||n===""}function k(n){return arguments.length&&(n===void 0||typeof n>"u")}function A(n){return Array.isArray(n)||typeof n=="object"&&n||V(n)}function de(n){return Y(n)||k(n)||n===!1||n===0||A(n)&&!Object.keys(n).length}function w(n){return V(n)||n&&{}.toString.call(n)==="[object function]"}function Z(n){return n instanceof Number||typeof n=="number"}function I(n){return Z(n)||n!==!0&&n!==!1&&n!==null&&n!==""&&!isNaN(n*1)}function G(n){return n instanceof String||typeof n=="string"&&n!==null}function pe(n){return!G(n)&&!k(n.length)}function se(n,...e){return e.forEach(r=>{n.indexOf(r)<0&&n.push(r)}),n}function he(t,e){e=e||Object.prototype,e=e&&!g(e)?[e]:e;for(var r=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)r.push(t),t=t?Object.getPrototypeOf(t):null;return r}function ge(n,e){var r=[];return he(n,e).forEach(t=>{se(r,...Object.getOwnPropertyNames(t))}),r}function q(n,e,r=!1,t=!1,i=!1){var o=0,s=n.shift();if((I(s)||s===!0||s===!1)&&(o=s,s=n.shift()),!n.length)throw new Error("_merge() requires two or more array/objects.");return n.forEach((l,u)=>{!A(l)&&!w(l)||(r?ge(l):Object.keys(l)).forEach(f=>{if(!!e(f,s,l,u)){var c=s[f],m=l[f];if((g(c)&&g(m)||v(c)&&v(m))&&(o===!0||o>0))s[f]=g(c)&&g(m)?[]:{},q([I(o)?o-1:o,s[f],c,m],e,r,t,i);else if(g(s)&&g(l))t?s[f]=m:s.push(m);else try{i?Object.defineProperty(s,f,Object.getOwnPropertyDescriptor(l,f)):s[f]=l[f]}catch{}}})}),s}function K(...n){return q(n,(e,r,t)=>!0,!1,!1,!1)}function S(n,e=!0){return g(n)?n:!e&&v(n)?[n]:n!==!1&&n!==0&&de(n)?[]:pe(n)?Array.prototype.slice.call(n):v(n)?Object.values(n):[n]}function ee(n,e,r={},t={}){e=S(e).slice();for(var i=n;!k(i)&&!Y(i)&&e.length;){var o=e.shift();if(!(r.get?r.get(i,o):A(i)?o in i:i[o])){t.exists=!1;return}i=r.get?r.get(i,o):i[o]}return t.exists=!0,i}function ye(n,e,r,t={},i={}){let o=(c,m,a)=>i.set?i.set(c,m,a):(I(e[l])&&g(c)?c.push(a):c[m]=a,!0);e=S(e);for(var s=n,l=0;l<e.length;l++)if(l<e.length-1){if(!s||!A(s)&&!w(s))return!1;var u=ee(s,e[l],i);if(!A(u)){if(i.buildTree===!1)return!1;u=w(i.buildTree)?i.buildTree(l):I(e[l+1])?[]:{};var f=o(s,e[l],u);if(!f)return!1}s=u}else return o(s,e[l],r)}var te=class{constructor(e,r=!1){Object.defineProperty(this,"window",{value:e}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),Object.defineProperty(this,"_synthesis",{value:0,writable:!0}),!r&&this.window.requestAnimationFrame?this._loop():this._synthesis++}get synthesis(){return this._synthesis}async synthesizeWhile(e){this._synthesis++,this._fulfill();let r=await e();return this._synthesis--,r}_fulfill(){for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e)}_loop(){this.window.requestAnimationFrame(()=>{this._fulfill(),this._loop()})}onread(e,r=!1){if(r)return new Promise(t=>{this.synthesis?t(e()):this.readCallbacks.add(()=>{t(e())})});this.synthesis?Promise.resolve().then(e):this.readCallbacks.add(e)}onwrite(e,r=!1){if(r)return new Promise(t=>{this.synthesis?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.synthesis?Promise.resolve().then(e):this.writeCallbacks.add(e)}cycle(e,r,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let l=r(s,t),u=f=>{f!==void 0&&this.cycle(e,r,f)};l instanceof Promise?l.then(u):u(l)})};i instanceof Promise?i.then(o):o(i)})}};var C=class{constructor(e){this.content=e,this.type=typeof e=="string"?"selector":"instance",this.kind=this.type==="instance"?null:Ae(e)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=Ee(e.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var W=class{constructor(e,r,t){this.context=e,this.namespace=r,this.window=e.defaultView||e.ownerDocument?.defaultView||t,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(e){if(w(e[0])?e=[[],...e]:v(e[0])&&!(e[0]instanceof C)&&e.length===1?e=[[],void 0,e[0]]:v(e[1])&&e.length===2?e=[S(e[0],!1),void 0,e[1]]:e[0]=S(e[0],!1),e[0].filter(r=>typeof r!="string"&&!(r instanceof C)&&!(r 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 e[0]=e[0].map(r=>r instanceof C?r:new C(r)),e}registry(...e){return E("realdom.realtime",this.window,this.namespace,...e)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(e,r,t){let{window:i}=this,o=Array.isArray(r)?r:[r],s=new Set;for(let[l,u]of this.registry(e))for(let[f,c]of u){let m=o.filter(a=>Q(i,f,a.target,l==="cross-roots")?["subtree","cross-roots"].includes(l)||a.target===f:!1);if(!!m.length){Array.isArray(r)||(m=m[0]);for(let a of c)s.add([a,m,f])}}for(let[l,u,f]of[...s].reverse())t.call(i,l,u,f)}disconnectables(e,...r){let t={disconnect(){r.forEach(i=>i&&w(i.disconnect)&&i.disconnect()||w(i)&&i()||v(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var F=class extends W{constructor(e,...r){super(e,"attr",...r)}get(e,r=void 0,t={}){let i=typeof e=="string"||e instanceof C;[e=[],r=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=Le(o,e);if(!r)return s;let l=t.lifecycleSignals&&this.createSignalGenerator();if(i)for(let u of s){let f=l?.generate()||{};r(u,f,o)}else{let u=l?.generate()||{};r(s,u,o)}if(t.live){l&&(t={...t,signalGenerator:l});let u=this.observe(i?e[0]:e,r,{newValue:!0,...t});return this.disconnectables(t.signal,u)}}observe(e,r,t={}){let i=typeof e=="string"||e instanceof C;if([e=[],r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:l}=this;t.eventDetails&&!l.realdom.attrInterceptionHooks?.intercepting&&He.call(s,"intercept",()=>{});let u=new s.MutationObserver(a=>{a=ke(a).map(p=>De.call(s,p)),Pe.call(s,m,a,o)}),f={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree&&!0};e.length&&(f.attributeFilter=e.map(a=>a+"")),u.observe(o,f);let c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:c,disconnectable:u};return this.disconnectables(t.signal,u,c)}observeSync(e,r,t={}){let i=typeof e=="string"||e instanceof C;[e,r,t={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let l=t.timing==="intercept"?"intercept":"sync",u=t.subtree==="cross-roots"?"cross-roots":t.subtree?"subtree":"children";this.registry(l).size||He.call(s,l,_=>{this.forEachMatchingContext(l,_,Pe)});let f={disconnect(){p.delete(m),p.size||a.delete(o)}},c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:c,disconnectable:f},a=this.registry(l,u);a.has(o)||a.set(o,new Set);let p=a.get(o);return p.add(m),this.disconnectables(t.signal,f,c)}};function ke(n){return n.reduce((e,r,t)=>e[t-1]?.attributeName===r.attributeName||E(r.target,"internalAttrInteractions").get(r.attributeName)?e:e.concat(r),[])}function Pe(n,e){let{context:r,spec:t,callback:i,params:o,atomics:s,originalFilterIsString:l,signalGenerator:u}=n,f=t.map(a=>a+"");if(o.atomic&&!s.size?e=Le(r,t,e):o.timing!=="async"&&t.length&&(e=e.filter(a=>f.includes(a.name))),!e.length)return;o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(a=>{let p;return o.eventDetails||({event:p,...a}=a),!o.oldValue&&"oldValue"in a&&({oldValue:p,...a}=a),!o.newValue&&"value"in a?{value:p,...a}=a:o.newValue&&typeof a.value>"u"&&(a={...a,value:fe(a.target,a.name,()=>a.target.getAttribute(a.name))}),a})),o.atomic&&(e.forEach(a=>s.set(a.name,a)),e=Array.from(s.entries()).map(([,a])=>a));let c=l?e[0]:e,m=u?.generate()||{};i(c,m,r)}function fe(n,e,r){let t=E(n,"internalAttrInteractions").get(e);E(n,"internalAttrInteractions").set(e,!0);let i=r();return E(n,"internalAttrInteractions").set(e,t),i}function Le(n,e,r=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>(o=o+"",r.find(s=>s.name===o)||{target:n,name:o,value:fe(n,o,()=>n.getAttribute(o)),...t})):Array.from(n.attributes).map(o=>r.find(s=>s.name===o.nodeName)||{target:n,name:o.nodeName,value:fe(n,o.nodeName,()=>o.nodeValue),...t})}function De({target:n,attributeName:e,value:r,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(n)||{})[e]?.[0]||"mutation";return{target:n,name:e,value:r,oldValue:t,type:"observation",event:s}}function He(n,e){let r=this,{webqit:t,document:i,Element:o}=r;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(n)||t.realdom.attrInterceptionHooks.set(n,new Set),t.realdom.attrInterceptionHooks.get(n).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(n).delete(e);if(t.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),t.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"attrInterceptionRecords",{value:new Map});let l=(c,m)=>{t.realdom.attrInterceptionRecords.has(c.target)||t.realdom.attrInterceptionRecords.set(c.target,{});let a=t.realdom.attrInterceptionRecords.get(c.target);if(a[c.name]=a[c.name]||[],a[c.name].unshift(c.event),E(c.target,"internalAttrInteractions").get(c.name))return m();t.realdom.attrInterceptionHooks.get("intercept")?.forEach(_=>_([c]));let p=m();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(_=>_([c])),p};new r.MutationObserver(c=>{c=c.filter(m=>!(r.webqit.realdom.attrInterceptionRecords?.get(m.target)||{})[m.attributeName]?.shift()),c=ke(c).map(m=>De.call(r,m)),c.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(m=>m(c)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(m=>m(c)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let f=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(c=>{f[c]=o.prototype[c],o.prototype[c]=function(...m){let a,p=fe(this,m[0],()=>this.getAttribute(m[0]));["setAttribute","toggleAttribute"].includes(c)&&(a=m[1]),c==="toggleAttribute"&&a===void 0&&(a=p===null);let _={target:this,name:m[0],value:a,oldValue:p,type:"interception",event:[this,c]};return l(_,()=>f[c].call(this,...m))}}),s}var re=class extends W{constructor(e,...r){super(e,"tree",...r)}attr(e,r=void 0,t={}){let{context:i,window:o}=this;return new F(i,o).get(...arguments)}query(e,r=void 0,t={}){[e,r=void 0,t={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=f=>(o.has(f)||o.set(f,{target:f,entrants:[],exits:[],type:"query",event:null}),o.get(f));if(!t.generation||t.generation==="entrants"){if(!e.length)[...i.children].forEach(f=>s(i).entrants.push(f));else if(e.every(f=>f.type==="selector")){let[f,c]=e.reduce(([a,p],_)=>_.kind==="xpath"?[a,p.concat(_)]:[a.concat(_),p],[[],[]]),m=[];t.subtree?(f.length&&m.push(...i.querySelectorAll(f.join(","))),c.length&&m.push(...ie(this.window,i,c))):(f.length&&m.push(...[...i.children].filter(a=>a.matches(f))),c.length&&m.push(...ie(this.window,i,c,!1))),m.forEach(a=>s(a.parentNode||i).entrants.push(a))}}if(!r)return o;let l={disconnected:!1},u=r&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,f]of o){if(l.disconnected)break;let c=u?.generate()||{};r(f,c,i)}if(t.live){u&&(t={...t,signalGenerator:u});let f=this.observe(e,r,t);return this.disconnectables(t.signal,l,f)}return this.disconnectables(t.signal,l,u)}children(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!1})}subtree(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!0})}observe(e,r,t={}){if([e,r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:l}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(l.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&Be.call(o,"sync",()=>{});let u=new o.MutationObserver(m=>m.forEach(a=>{xe.call(o,c,Fe.call(o,a),i)}));u.observe(i,{childList:!0,subtree:t.subtree&&!0});let f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:i,spec:e,callback:r,params:t,signalGenerator:f,disconnectable:u};if(t.staticSensitivity){let m=je.call(o,c);return this.disconnectables(t.signal,u,f,m)}return this.disconnectables(t.signal,u,f)}observeSync(e,r,t={}){[e,r,t={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let s=t.timing==="intercept"?"intercept":"sync",l=t.subtree==="cross-roots"?"cross-roots":t.subtree?"subtree":"children";this.registry(s).size||Be.call(o,s,_=>{this.forEachMatchingContext(s,_,xe)});let u=new o.MutationObserver(_=>_.forEach($=>{Array.isArray(($=Fe.call(o,$)).event)||xe.call(o,m,$,i)}));u.observe(i,{childList:!0,subtree:t.subtree&&!0});let f={disconnect(){u.disconnect(),p.delete(m),p.size||a.delete(i)}},c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:i,spec:e,callback:r,params:t,signalGenerator:c,disconnectable:f},a=this.registry(s,l);a.has(i)||a.set(i,new Set);let p=a.get(i);if(p.add(m),t.staticSensitivity){let _=je.call(o,m);return this.disconnectables(t.signal,f,c,_)}return this.disconnectables(t.signal,f,c)}track(e,r,t={}){return t={subtree:!0,...t},this.observe(e,i=>{i.entrants.length&&r(!0,Array.isArray(e)?i.entrants:i.entrants[0]),i.exits.length&&r(!1,Array.isArray(e)?i.exits:i.exits[0])},t)}};function je(n){let e=this,{context:r,spec:t,callback:i,params:o,signalGenerator:s}=n,l=t.filter(p=>p.kind==="css"),u=p=>p.match(/\.([\w-]+)/g)?.length?["class"]:[],f=p=>p.match(/#([\w-]+)/g)?.length?["id"]:[],c=p=>[...p.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(_=>_[1]).concat(u(p)).concat(f(p));if(!(n.$attrs=Array.from(new Set(l.filter(p=>(p+"").includes("[")).reduce((p,_)=>p.concat(c(_+"")),[])))).length)return;let m=new Set,a=new Set;return m.push=p=>(a.delete(p),m.add(p)),a.push=p=>(m.delete(p),a.add(p)),n.$deliveryCache={entrants:m,exits:a},new F(r,e).observe(n.$attrs,p=>{let _=new Map,$=y=>(_.has(y)||_.set(y,{target:y,entrants:[],exits:[],type:"static",event:null}),_.get(y)),x=new WeakMap,d=y=>(x.has(y)||x.set(y,l.some(b=>y.matches(b+""))),x.get(y));for(let y of p)["entrants","exits"].forEach(b=>{o.generation&&b!==o.generation||n.$deliveryCache[b].has(y.target)||(b==="entrants"?!d(y.target):d(y.target))||(n.$deliveryCache[b].push(y.target),$(y.target)[b].push(y.target),$(y.target).event=y.event)});for(let[,y]of _){let b=s?.generate()||{};i(y,b,r)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function xe(n,e){let{context:r,spec:t,callback:i,params:o,signalGenerator:s,$deliveryCache:l}=n,u={...e,entrants:[],exits:[]};if(o.eventDetails||delete u.event,["entrants","exits"].forEach(c=>{if(!(o.generation&&c!==o.generation)&&(t.length?u[c]=ct.call(this,t,o.subtree==="cross-roots",e[c],e.event!=="parse"):u[c]=[...e[c]],!!l))for(let m of u[c])l[c].push(m)}),!u.entrants.length&&!u.exits.length)return;let f=s?.generate()||{};i(u,f,r)}function ct(n,e,r,t){r=Array.isArray(r)?r:[...r];let i=(o,s)=>{if(s.type==="selector"){let l=s.isXpathAttr?[]:o.filter(u=>s.kind==="xpath"?Se(this,u,s+""):u.matches&&u.matches(s+""));if((t||s.isXpathAttr)&&(l=o.reduce((u,f)=>s.kind==="xpath"?[...u,...ie(this,f,s,t)]:f.querySelectorAll?[...u,...f.querySelectorAll(s+"")]:u,l)),l.length)return l}else if(o.includes(s.content)||t&&o.some(l=>Q(this,l,s.content,e)))return[s.content]};return r.$$searchCache||(r.$$searchCache=new Map),n.reduce((o,s)=>{let l;return r.$$searchCache.has(s.content)?l=r.$$searchCache.get(s.content):(l=i(r,s)||[],s.type==="instance"&&r.$$searchCache.set(s.content,l)),o.concat(l)},[])}function Fe({target:n,addedNodes:e,removedNodes:r}){let t=this,i;return i=S(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=S(r).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:n,entrants:e,exits:r,type:"observation",event:i}}function Be(n,e){let r=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:l,HTMLElement:u,HTMLTemplateElement:f,DocumentFragment:c}=r;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionNoRecurse||Object.defineProperty(t.realdom,"domInterceptionNoRecurse",{value:new Map}),t.realdom.domInterceptionHooks.has(n)||t.realdom.domInterceptionHooks.set(n,new Set),t.realdom.domInterceptionHooks.get(n).add(e);let m=()=>t.realdom.domInterceptionHooks.get(n).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return m;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let a=(d,y,b)=>{t.realdom.domInterceptionNoRecurse.set(d,y);let h=b();return t.realdom.domInterceptionNoRecurse.delete(d),h},p=(d,y)=>{d.entrants.concat(d.exits).forEach(h=>{clearTimeout(t.realdom.domInterceptionRecords.get(h)?.timeout),t.realdom.domInterceptionRecords.set(h,d.event);let T=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(h)},0);Object.defineProperty(d.event,"timeout",{value:T,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(h=>h(d));let b=y();return t.realdom.domInterceptionHooks.get("sync")?.forEach(h=>h(d)),b},_={ShadowRoot:["innerHTML","setHTMLUnsafe"],DocumentFragment:["replaceChildren","append","prepend"],Document:["replaceChildren","append","prepend"],HTMLElement:["outerText","innerText"],Element:["append","prepend","before","after","insertAdjacentElement","insertAdjacentHTML","remove","replaceChildren","replaceWith","setHTMLUnsafe","innerHTML","outerHTML"],CharacterData:["before","after","remove","replaceWith"],Node:["insertBefore","replaceChild","removeChild","appendChild","textContent","nodeValue"]},$={ShadowRoot:Object.create(null),DocumentFragment:Object.create(null),Document:Object.create(null),HTMLElement:Object.create(null),Element:Object.create(null),CharacterData:Object.create(null),Node:Object.create(null)};return new Set(Object.values(_).reduce((d,y)=>d.concat(y),[])).forEach(d=>{Object.keys(_).forEach(h=>{if(!_[h].includes(d))return;let T=Object.getOwnPropertyDescriptor(r[h].prototype,d);!T||(Object.defineProperty(r[h].prototype,d,"value"in T?{...T,value:y}:{...T,set:b}),$[h][d]=T)});function y(...h){let T=Object.keys($).find(M=>this instanceof r[M]&&d in $[M]),R=$[T],L=()=>R[d].value.call(this,...h);if(t.realdom.domInterceptionNoRecurse.get(this)===d)return L();let N=[],O=[],D=this;["insertBefore"].includes(d)?O=[h[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(d)?(O=[h[1]],["beforebegin","afterend"].includes(h[0])&&(D=this.parentNode)):["setHTMLUnsafe","replaceChildren"].includes(d)?(N=[...this.childNodes],O=d==="replaceChildren"?[...h]:[h[0]]):["replaceWith","remove"].includes(d)?(N=[this],O=d==="replaceWith"?[...h]:[],D=this.parentNode):["replaceChild"].includes(d)?(N=[h[1]],O=[h[0]]):["removeChild"].includes(d)?N=[...h]:(O=[...h],["before","after"].includes(d)&&(D=this.parentNode));let ne=d;if(["insertAdjacentHTML","setHTMLUnsafe"].includes(d)){let M=this.nodeName;if(d==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(h[0])){if(!this.parentNode)return R[d].value.call(this,...h);M=this.parentNode.nodeName}let j=i.createElement(M);R.setHTMLUnsafe.value.call(j,O[0],d==="setHTMLUnsafe"?h[1]:{}),O=[...j.childNodes],d==="insertAdjacentHTML"?(ne="insertAdjacentElement",h[1]=new c,a(h[1],"append",()=>h[1].append(...j.childNodes))):(ne="replaceChildren",h=[...j.childNodes])}return p({target:D,entrants:O,exits:N,type:"interception",event:[this,d]},()=>R[ne].value.call(this,...h))}function b(h){let T=Object.keys($).find(B=>this instanceof r[B]&&d in $[B]),R=$[T],L=()=>R[d].set.call(this,h);if(this instanceof HTMLScriptElement||t.realdom.domInterceptionNoRecurse.get(this)===d)return L();let N=[],O=[],D=this;if(["outerHTML","outerText"].includes(d)?(N=[this],D=this.parentNode):this instanceof f?(D=this.content,N=[...this.content.childNodes]):N=[...this.childNodes],["outerHTML","innerHTML"].includes(d)){let B=this.nodeName;if(d==="outerHTML"){if(!this.parentNode)return L();B=this.parentNode.nodeName}let M=i.createElement(B.includes("-")?"div":B);if(a(M,d,()=>M[d]=h),O=this instanceof f?[...M.content.childNodes]:[...M.childNodes],this instanceof f&&this.hasAttribute("src")){let j=U=>U.reduce((P,H)=>H instanceof HTMLScriptElement?P.concat(H):H instanceof f?P.concat(j([H.content])):(P=P.concat(j([...H.querySelectorAll?.("template")||[]].map(ze=>ze.content))),P.concat(...H.querySelectorAll?.("script")||[])),[]);for(let U of j(O)){let P=i.createElement("script");[...U.attributes].forEach(H=>P.setAttribute(H.name,H.value)),P.textContent=U.textContent,a(U,"replaceWith",()=>U.replaceWith(P))}}d==="outerHTML"?(h=new c,a(h,"append",()=>h.append(...O)),L=()=>a(this,"replaceWith",()=>l.prototype.replaceWith.call(this,h))):this instanceof f?L=()=>a(this.content,"replaceChildren",()=>this.content.replaceChildren(...O)):L=()=>a(this,"replaceChildren",()=>l.prototype.replaceChildren.call(this,...O))}return p({target:D,entrants:O,exits:N,type:"interception",event:[this,d]},L)}}),m}function We(){at.call(this),ut.call(this),mt.call(this)}function at(){let n=this;n.CSS||(n.CSS={}),n.CSS.escape||(n.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function ut(){let n=this;"isConnected"in n.Node.prototype||Object.defineProperty(n.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function mt(){let n=this;n.Element.prototype.matches||(n.Element.prototype.matches=n.Element.prototype.matchesSelector||n.Element.prototype.mozMatchesSelector||n.Element.prototype.msMatchesSelector||n.Element.prototype.oMatchesSelector||n.Element.prototype.webkitMatchesSelector||function(e){for(var r=(this.document||this.ownerDocument).querySelectorAll(e),t=r.length;--t>=0&&r.item(t)!==this;);return t>-1})}function Re(){let n=this;if(n.webqit||(n.webqit={}),n.webqit.realdom)return n.webqit.realdom;n.webqit.realdom={},We.call(n),n.webqit.realdom.meta=(...r)=>dt.call(n,...r),n.webqit.realdom.ready=(...r)=>be.call(n,...r),n.webqit.realdom.realtime=(r,t="dom")=>{if(t==="dom")return new re(r,n);if(t==="attr")return new F(r,n)};let e=new te(n);return n.webqit.realdom.schedule=(r,...t)=>e[`on${r}`](...t),n.webqit.realdom.synthesizeWhile=(...r)=>e.synthesizeWhile(...r),n.webqit.realdom}function be(...n){let e="interactive",r;G(n[0])?(e=n[0],w(n[1])&&(r=n[1])):w(n[0])&&(r=n[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!r)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>be.call(this,"interactive",o)),complete:new Promise(o=>be.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return r(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[e].push(r)}function dt(n){let e=this,r={},t;return(t=e.document.querySelector(`meta[name="${n}"]`))&&(r=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(l=>l.trim());return ye(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:I(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return n},get content(){return t.content},json(){return JSON.parse(JSON.stringify(r))}}}function ce(n,e){return typeof n!="string"?n:n.replace(/\w\S*/g,function(r){return r.charAt(0).toUpperCase()+(typeof e!==void 0&&e?r.substr(1).toLowerCase():r.substr(1))})}var X=(...n)=>E("oohtml",...n),gt={};function Ve(n,e,r){let t=this,i=Re.call(t);gt.window=t,t.webqitConfig||(t.webqitConfig=i.meta("webqit").json()),t.webqit||(t.webqit={}),t.webqit.oohtml||(t.webqit.oohtml={}),t.webqit.oohtml.configs||(t.webqit.oohtml.configs={});let o=n.toUpperCase().replace("-","_");if(!t.webqit.oohtml.configs[o]){t.webqit.oohtml.configs[o]={};let s=t.webqit.oohtml.configs[o];K(2,s,r,e,i.meta(n).json()),t.webqitConfig.prefix&&Object.keys(s).forEach(l=>{Object.keys(s[l]).forEach(u=>{l==="api"&&typeof s[l][u]=="string"?s[l][u]=`${t.webqitConfig.prefix}${ce(s[l][u])}`:["attr","elements"].includes(l)&&s[l][u]?.startsWith("data-")===!1&&(s[l][u]=`${t.webqitConfig.prefix}-${s[l][u]}`)})})}return{config:t.webqit.oohtml.configs[o],realdom:i,window:t}}function ae(n,e){return[...n].reduce(([r,t,i],o)=>!r&&t===0&&(Array.isArray(e)?e:[e]).includes(o)?[r,t,[""].concat(i)]:(!r&&["(","[","{"].includes(o)&&!i[0].endsWith("\\")&&t++,!r&&[")","]","}"].includes(o)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(o)&&!i[0].endsWith("\\")&&(r=r===o?null:r||o),i[0]+=o,[r,t,i]),[null,0,[""]])[2].reverse()}function Oe(n={}){let{config:e,window:r}=Ve.call(this,"data-binding",n,{attr:{render:"render",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"}});({CONTEXT_API:e.CONTEXT_API,BINDINGS_API:e.BINDINGS_API,HTML_IMPORTS:e.HTML_IMPORTS}=r.webqit.oohtml.configs),e.attrSelector=`[${r.CSS.escape(e.attr.render)}]`;let t=(i,o)=>{let s=`starts-with(., "${i}")`,l=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${s} and ${l}`};e.discreteBindingsSelector=`comment()[${t(e.tokens.tagStart,e.tokens.tagEnd)}]`,_t.call(r,e)}function _t(n){let e=this,{webqit:{realdom:r}}=e;r.realtime(e.document).query(`(${n.discreteBindingsSelector})`,t=>{Ge.call(this,...t.exits),wt.call(e,n,...t.entrants)},{live:!0,subtree:"cross-roots",timing:"sync"}),r.realtime(e.document).query(n.attrSelector,t=>{Ge.call(this,...t.exits),bt.call(e,n,...t.entrants)},{live:!0,subtree:"cross-roots",timing:"sync",eventDetails:!0,staticSensitivity:!0})}function Xe(n,e){let{webqit:{realdom:r,Observer:t,DOMBindingsContext:i}}=this;if(X(e).has("data-binding"))return X(e).get("data-binding");let o=Object.create(null),s=new AbortController;o.$exec__=(u,f,...c)=>{let m=()=>{u[f](...c);try{}catch(a){console.error(`${a.message} at ${a.cause}`)}};r.schedule("write",m)},o.$assign__=(u,f,c)=>{let m=()=>{try{u[f]=c}catch(a){console.error(`${a.message} at ${a.cause}`)}};r.schedule("write",m)},t.intercept(o,{get:(u,f,c)=>{if(!(u.key in o)){let m={...i.createRequest(u.key),live:!0,signal:s.signal};e[n.CONTEXT_API.api.contexts].request(m,a=>{t.set(o,u.key,a)})}return c(o[u.key]??(u.key in globalThis?globalThis[u.key]:void 0))},has:(u,f,c)=>c(!0)});let l={scope:o,abortController:s,bindings:new Map};return X(e).set("data-binding",l),l}function Ge(...n){for(let e of n){let r=e.nodeName==="#text"?e.parentNode:e,{bindings:t,abortController:i}=X(r).get("data-binding")||{};if(!t?.has(e))return;t.get(e).state.dispose(),t.get(e).signals?.forEach(o=>o.abort()),t.delete(e),t.size||(i.abort(),X(r).delete("data-binding"))}}function yt(n,e){let r=n.tokens.tagStart.split("").map(f=>`\\${f}`).join(""),t=n.tokens.tagEnd.split("").map(f=>`\\${f}`).join(""),i=n.tokens.stateStart.split("").map(f=>f===" "?"(?:\\s+)?":`\\${f}`).join(""),o=n.tokens.stateEnd.split("").map(f=>`\\${f}`).join(""),s=`^${r}(.*?)(?:${i}(\\d+)${o}(?:\\s+)?)?${t}$`,[,l,u]=e.match(new RegExp(s));return{raw:e,expr:l,span:parseInt(u??0)}}async function wt(n,...e){let r=this,t=e.reduce((i,o)=>{if(o.isBound)return i;let s=yt(n,o.nodeValue),l=o;if(s.span){if(l=o.nextSibling,l?.nodeName!=="#text"||l.nodeValue.length<s.span)return i;l.nodeValue.length>s.span&&l.splitText(s.span)}else l=o.ownerDocument.createTextNode(""),o.after(l);l.isBound=!0;let u=o;return r.webqit.env!=="server"&&(u.remove(),u=null),i.concat({textNode:l,template:s,anchorNode:u})},[]);for(let{textNode:i,template:o,anchorNode:s}of t){let l=xt.call(r,n,o.expr),{scope:u,bindings:f}=Xe.call(this,n,i.parentNode);Object.defineProperty(i,"$oohtml_internal_databinding_anchorNode",{value:s,configurable:!0});try{f.set(i,{state:await(await l.bind(i,u)).execute()})}catch(c){console.log(c)}}}var ve=new Map;function xt(n,e){if(ve.has(e))return ve.get(e);let r=`let content = ((${e}) ?? '') + '';`;r+="$assign__(this, 'nodeValue', content);",r+=`if ( this.$oohtml_internal_databinding_anchorNode ) { $assign__(this.$oohtml_internal_databinding_anchorNode, 'nodeValue', "${n.tokens.tagStart}${z(e)}${n.tokens.stateStart}" + content.length + "${n.tokens.stateEnd} ${n.tokens.tagEnd}"); }`;let{webqit:{QuantumModule:t}}=this,i=new t(r);return ve.set(e,i),i}async function bt(n,...e){for(let r of e){let t=vt.call(this,n,r.getAttribute(n.attr.render)),{scope:i,bindings:o}=Xe.call(this,n,r),s=[];Object.defineProperty(r,"$oohtml_internal_databinding_signals",{value:s,configurable:!0});try{o.set(r,{signals:s,state:await(await t.bind(r,i)).execute()})}catch(l){console.log(l)}}}var $e=new Map;function vt(n,e){if($e.has(e))return $e.get(e);let r={},t=ae(e,";").map(s=>{let[l,u]=ae(s,":").map(p=>p.trim()),f=l[0],c=l.slice(1).trim(),m=`(${u})`,a=`(${m} ?? '')`;if(f==="&")return c.startsWith("--")?`$exec__(this.style, 'setProperty', "${z(c)}", ${a});`:`$assign__(this.style, "${z(c)}", ${a});`;if(f==="%")return`$exec__(this.classList, 'toggle', "${z(c)}", !!${m});`;if(f==="~")return c.startsWith("?")?`$exec__(this, 'toggleAttribute', "${z(c.substring(1).trim())}", !!${m});`:`$exec__(this, 'setAttribute', "${z(c)}", ${a});`;if(f==="#"){if(r[c])throw new Error(`Duplicate binding: ${l}.`);if(r[c]=!0,c==="text")return`$assign__(this, 'textContent', ${a});`;if(c==="html")return`$exec__(this, 'setHTMLUnsafe', ${a});`;if(c==="items"){let[p,_]=ae(u,"/");if(!_)throw new Error(`Invalid ${f}items spec: ${s}; no import specifier.`);let[$,x,d,y]=p.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!$)throw new Error(`Invalid ${f}items spec: ${s}.`);if(x.startsWith("(")?x=x.trim().slice(1,-1).split(",").map(h=>h.trim()):x=[x],x.length>(d==="in"?3:2))throw new Error(`Invalid ${f}items spec: ${s}.`);let b=d==="in"?x[2]:x[1]||"$index__";return`
2
- let $iteratee__ = ${y};
3
- let $import__ = this.${n.HTML_IMPORTS.api.import}( ${_.trim()}, true );
1
+ (()=>{function Ae(n){return(n=n.trim())&&n.startsWith("(")&&n.endsWith(")")}function ie(n,e,r,t=!0){r=(Array.isArray(r)?r:[r]).map(s=>(s+"").replace("(",t?"(.//":"(./")).join("|");let i=[],o;try{let s=n.document.evaluate(r,e,null,n.XPathResult.ANY_TYPE);for(;o=s.iterateNext();)i.push(o)}catch{}return i}function Se(n,e,r){r=(Array.isArray(r)?r:[r]).map(t=>(t+"").replace("(","(self::")).join("|");try{return n.document.evaluate(`${r}`,e,null,n.XPathResult.BOOLEAN_TYPE).booleanValue}catch{}}function Q(n,e,r,t=!1){let i=e.getRootNode(),o=r.getRootNode();return i===o?e.contains(r):t&&o instanceof n.ShadowRoot?Q(n,e,o.host,t):!1}function Ee(n,e="|"){return[...n].reduce(([r,t,i,o],s)=>!r&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[r,t,[""].concat(i)]:(!r&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!r&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(r=r===s?null:r||s),i[0]+=s,[r,t,i]),[null,0,[""]])[2].reverse()}function x(n){return!Array.isArray(n)&&typeof n=="object"&&n}function y(n){return Array.isArray(n)}function me(n,e,r=null){return y(e)?n.filter(t=>r?e.filter(i=>r(t,i)).length:e.indexOf(t)!==-1):[]}function E(n,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new J}),!arguments.length)return globalThis.webqit.refs;let r=globalThis.webqit.refs.get(n);r||(r=new J,globalThis.webqit.refs.set(n,r));let t,i;for(;t=e.shift();)(i=r)&&!(r=r.get(t))&&(r=new J,i.set(t,r));return r}var J=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,r){let t=super.set(e,r);return this.fire("set",e,r,e),t}delete(e){let r=super.delete(e);return this.fire("delete",e),r}has(e){return this.fire("has",e),super.has(e)}get(e){return this.fire("get",e),super.get(e)}keyNames(){return Array.from(super.keys())}observe(e,r,t){let i={type:e,key:r,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,r,t){if(Array.isArray(e)||Array.isArray(r))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(oe([e,"*"],i.type)&&oe([r,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,r,...t){for(let i of this.observers)!(oe([e,"*"],i.type)&&oe([r,"*"],i.key))||i.callback(...t)}},oe=(n,e)=>Array.isArray(e)?me(n,e).length:n.includes(e);function V(n){return typeof n=="function"}function Y(n){return n===null||n===""}function H(n){return arguments.length&&(n===void 0||typeof n>"u")}function O(n){return Array.isArray(n)||typeof n=="object"&&n||V(n)}function de(n){return Y(n)||H(n)||n===!1||n===0||O(n)&&!Object.keys(n).length}function w(n){return V(n)||n&&{}.toString.call(n)==="[object function]"}function Z(n){return n instanceof Number||typeof n=="number"}function I(n){return Z(n)||n!==!0&&n!==!1&&n!==null&&n!==""&&!isNaN(n*1)}function G(n){return n instanceof String||typeof n=="string"&&n!==null}function pe(n){return!G(n)&&!H(n.length)}function se(n,...e){return e.forEach(r=>{n.indexOf(r)<0&&n.push(r)}),n}function he(t,e){e=e||Object.prototype,e=e&&!y(e)?[e]:e;for(var r=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)r.push(t),t=t?Object.getPrototypeOf(t):null;return r}function ge(n,e){var r=[];return he(n,e).forEach(t=>{se(r,...Object.getOwnPropertyNames(t))}),r}function M(n,e,r=!1,t=!1,i=!1){var o=0,s=n.shift();if((I(s)||s===!0||s===!1)&&(o=s,s=n.shift()),!n.length)throw new Error("_merge() requires two or more array/objects.");return n.forEach((l,u)=>{!O(l)&&!w(l)||(r?ge(l):Object.keys(l)).forEach(c=>{if(!!e(c,s,l,u)){var a=s[c],m=l[c];if((y(a)&&y(m)||x(a)&&x(m))&&(o===!0||o>0))s[c]=y(a)&&y(m)?[]:{},M([I(o)?o-1:o,s[c],a,m],e,r,t,i);else if(y(s)&&y(l))t?s[c]=m:s.push(m);else try{i?Object.defineProperty(s,c,Object.getOwnPropertyDescriptor(l,c)):s[c]=l[c]}catch{}}})}),s}function K(...n){return M(n,(e,r,t)=>!0,!1,!1,!1)}function A(n,e=!0){return y(n)?n:!e&&x(n)?[n]:n!==!1&&n!==0&&de(n)?[]:pe(n)?Array.prototype.slice.call(n):x(n)?Object.values(n):[n]}function ee(n,e,r={},t={}){e=A(e).slice();for(var i=n;!H(i)&&!Y(i)&&e.length;){var o=e.shift();if(!(r.get?r.get(i,o):O(i)?o in i:i[o])){t.exists=!1;return}i=r.get?r.get(i,o):i[o]}return t.exists=!0,i}function ye(n,e,r,t={},i={}){let o=(a,m,f)=>i.set?i.set(a,m,f):(I(e[l])&&y(a)?a.push(f):a[m]=f,!0);e=A(e);for(var s=n,l=0;l<e.length;l++)if(l<e.length-1){if(!s||!O(s)&&!w(s))return!1;var u=ee(s,e[l],i);if(!O(u)){if(i.buildTree===!1)return!1;u=w(i.buildTree)?i.buildTree(l):I(e[l+1])?[]:{};var c=o(s,e[l],u);if(!c)return!1}s=u}else return o(s,e[l],r)}var te=class{constructor(e,r=!1){Object.defineProperty(this,"window",{value:e}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),Object.defineProperty(this,"_synthesis",{value:0,writable:!0}),!r&&this.window.requestAnimationFrame?this._loop():this._synthesis++}get synthesis(){return this._synthesis}async synthesizeWhile(e){this._synthesis++,this._fulfill();let r=await e();return this._synthesis--,r}_fulfill(){for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e)}_loop(){this.window.requestAnimationFrame(()=>{this._fulfill(),this._loop()})}onread(e,r=!1){if(r)return new Promise(t=>{this.synthesis?t(e()):this.readCallbacks.add(()=>{t(e())})});this.synthesis?Promise.resolve().then(e):this.readCallbacks.add(e)}onwrite(e,r=!1){if(r)return new Promise(t=>{this.synthesis?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.synthesis?Promise.resolve().then(e):this.writeCallbacks.add(e)}cycle(e,r,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let l=r(s,t),u=c=>{c!==void 0&&this.cycle(e,r,c)};l instanceof Promise?l.then(u):u(l)})};i instanceof Promise?i.then(o):o(i)})}};var C=class{constructor(e){this.content=e,this.type=typeof e=="string"?"selector":"instance",this.kind=this.type==="instance"?null:Ae(e)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=Ee(e.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var B=class{constructor(e,r,t){this.context=e,this.namespace=r,this.window=e.defaultView||e.ownerDocument?.defaultView||t,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(e){if(w(e[0])?e=[[],...e]:x(e[0])&&!(e[0]instanceof C)&&e.length===1?e=[[],void 0,e[0]]:x(e[1])&&e.length===2?e=[A(e[0],!1),void 0,e[1]]:e[0]=A(e[0],!1),e[0].filter(r=>typeof r!="string"&&!(r instanceof C)&&!(r 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 e[0]=e[0].map(r=>r instanceof C?r:new C(r)),e}registry(...e){return E("realdom.realtime",this.window,this.namespace,...e)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(e,r,t){let{window:i}=this,o=Array.isArray(r)?r:[r],s=new Set;for(let[l,u]of this.registry(e))for(let[c,a]of u){let m=o.filter(f=>Q(i,c,f.target,l==="cross-roots")?["subtree","cross-roots"].includes(l)||f.target===c:!1);if(!!m.length){Array.isArray(r)||(m=m[0]);for(let f of a)s.add([f,m,c])}}for(let[l,u,c]of[...s].reverse())t.call(i,l,u,c)}disconnectables(e,...r){let t={disconnect(){r.forEach(i=>i&&w(i.disconnect)&&i.disconnect()||w(i)&&i()||x(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var j=class extends B{constructor(e,...r){super(e,"attr",...r)}get(e,r=void 0,t={}){let i=typeof e=="string"||e instanceof C;[e=[],r=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=Le(o,e);if(!r)return s;let l=t.lifecycleSignals&&this.createSignalGenerator();if(i)for(let u of s){let c=l?.generate()||{};r(u,c,o)}else{let u=l?.generate()||{};r(s,u,o)}if(t.live){l&&(t={...t,signalGenerator:l});let u=this.observe(i?e[0]:e,r,{newValue:!0,...t});return this.disconnectables(t.signal,u)}}observe(e,r,t={}){let i=typeof e=="string"||e instanceof C;if([e=[],r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:l}=this;t.eventDetails&&!l.realdom.attrInterceptionHooks?.intercepting&&He.call(s,"intercept",()=>{});let u=new s.MutationObserver(f=>{f=ke(f).map(p=>De.call(s,p)),Pe.call(s,m,f,o)}),c={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree&&!0};e.length&&(c.attributeFilter=e.map(f=>f+"")),u.observe(o,c);let a=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:a,disconnectable:u};return this.disconnectables(t.signal,u,a)}observeSync(e,r,t={}){let i=typeof e=="string"||e instanceof C;[e,r,t={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let l=t.timing==="intercept"?"intercept":"sync",u=t.subtree==="cross-roots"?"cross-roots":t.subtree?"subtree":"children";this.registry(l).size||He.call(s,l,_=>{this.forEachMatchingContext(l,_,Pe)});let c={disconnect(){p.delete(m),p.size||f.delete(o)}},a=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:a,disconnectable:c},f=this.registry(l,u);f.has(o)||f.set(o,new Set);let p=f.get(o);return p.add(m),this.disconnectables(t.signal,c,a)}};function ke(n){return n.reduce((e,r,t)=>e[t-1]?.attributeName===r.attributeName||E(r.target,"internalAttrInteractions").get(r.attributeName)?e:e.concat(r),[])}function Pe(n,e){let{context:r,spec:t,callback:i,params:o,atomics:s,originalFilterIsString:l,signalGenerator:u}=n,c=t.map(f=>f+"");if(o.atomic&&!s.size?e=Le(r,t,e):o.timing!=="async"&&t.length&&(e=e.filter(f=>c.includes(f.name))),!e.length)return;o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(f=>{let p;return o.eventDetails||({event:p,...f}=f),!o.oldValue&&"oldValue"in f&&({oldValue:p,...f}=f),!o.newValue&&"value"in f?{value:p,...f}=f:o.newValue&&typeof f.value>"u"&&(f={...f,value:fe(f.target,f.name,()=>f.target.getAttribute(f.name))}),f})),o.atomic&&(e.forEach(f=>s.set(f.name,f)),e=Array.from(s.entries()).map(([,f])=>f));let a=l?e[0]:e,m=u?.generate()||{};i(a,m,r)}function fe(n,e,r){let t=E(n,"internalAttrInteractions").get(e);E(n,"internalAttrInteractions").set(e,!0);let i=r();return E(n,"internalAttrInteractions").set(e,t),i}function Le(n,e,r=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>(o=o+"",r.find(s=>s.name===o)||{target:n,name:o,value:fe(n,o,()=>n.getAttribute(o)),...t})):Array.from(n.attributes).map(o=>r.find(s=>s.name===o.nodeName)||{target:n,name:o.nodeName,value:fe(n,o.nodeName,()=>o.nodeValue),...t})}function De({target:n,attributeName:e,value:r,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(n)||{})[e]?.[0]||"mutation";return{target:n,name:e,value:r,oldValue:t,type:"observation",event:s}}function He(n,e){let r=this,{webqit:t,document:i,Element:o}=r;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(n)||t.realdom.attrInterceptionHooks.set(n,new Set),t.realdom.attrInterceptionHooks.get(n).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(n).delete(e);if(t.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),t.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"attrInterceptionRecords",{value:new Map});let l=(a,m)=>{t.realdom.attrInterceptionRecords.has(a.target)||t.realdom.attrInterceptionRecords.set(a.target,{});let f=t.realdom.attrInterceptionRecords.get(a.target);if(f[a.name]=f[a.name]||[],f[a.name].unshift(a.event),E(a.target,"internalAttrInteractions").get(a.name))return m();t.realdom.attrInterceptionHooks.get("intercept")?.forEach(_=>_([a]));let p=m();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(_=>_([a])),p};new r.MutationObserver(a=>{a=a.filter(m=>!(r.webqit.realdom.attrInterceptionRecords?.get(m.target)||{})[m.attributeName]?.shift()),a=ke(a).map(m=>De.call(r,m)),a.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(m=>m(a)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(m=>m(a)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let c=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(a=>{c[a]=o.prototype[a],o.prototype[a]=function(...m){let f,p=fe(this,m[0],()=>this.getAttribute(m[0]));["setAttribute","toggleAttribute"].includes(a)&&(f=m[1]),a==="toggleAttribute"&&f===void 0&&(f=p===null);let _={target:this,name:m[0],value:f,oldValue:p,type:"interception",event:[this,a]};return l(_,()=>c[a].call(this,...m))}}),s}var re=class extends B{constructor(e,...r){super(e,"tree",...r)}attr(e,r=void 0,t={}){let{context:i,window:o}=this;return new j(i,o).get(...arguments)}query(e,r=void 0,t={}){[e,r=void 0,t={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=c=>(o.has(c)||o.set(c,{target:c,entrants:[],exits:[],type:"query",event:null}),o.get(c));if(!t.generation||t.generation==="entrants"){if(!e.length)[...i.children].forEach(c=>s(i).entrants.push(c));else if(e.every(c=>c.type==="selector")){let[c,a]=e.reduce(([f,p],_)=>_.kind==="xpath"?[f,p.concat(_)]:[f.concat(_),p],[[],[]]),m=[];t.subtree?(c.length&&m.push(...i.querySelectorAll(c.join(","))),a.length&&m.push(...ie(this.window,i,a))):(c.length&&m.push(...[...i.children].filter(f=>f.matches(c))),a.length&&m.push(...ie(this.window,i,a,!1))),m.forEach(f=>s(f.parentNode||i).entrants.push(f))}}if(!r)return o;let l={disconnected:!1},u=r&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,c]of o){if(l.disconnected)break;let a=u?.generate()||{};r(c,a,i)}if(t.live){u&&(t={...t,signalGenerator:u});let c=this.observe(e,r,t);return this.disconnectables(t.signal,l,c)}return this.disconnectables(t.signal,l,u)}children(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!1})}subtree(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!0})}observe(e,r,t={}){if([e,r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:l}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(l.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&Be.call(o,"sync",()=>{});let u=new o.MutationObserver(m=>m.forEach(f=>{xe.call(o,a,Fe.call(o,f),i)}));u.observe(i,{childList:!0,subtree:t.subtree&&!0});let c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),a={context:i,spec:e,callback:r,params:t,signalGenerator:c,disconnectable:u};if(t.staticSensitivity){let m=je.call(o,a);return this.disconnectables(t.signal,u,c,m)}return this.disconnectables(t.signal,u,c)}observeSync(e,r,t={}){[e,r,t={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let s=t.timing==="intercept"?"intercept":"sync",l=t.subtree==="cross-roots"?"cross-roots":t.subtree?"subtree":"children";this.registry(s).size||Be.call(o,s,_=>{this.forEachMatchingContext(s,_,xe)});let u=new o.MutationObserver(_=>_.forEach(b=>{Array.isArray((b=Fe.call(o,b)).event)||xe.call(o,m,b,i)}));u.observe(i,{childList:!0,subtree:t.subtree&&!0});let c={disconnect(){u.disconnect(),p.delete(m),p.size||f.delete(i)}},a=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:i,spec:e,callback:r,params:t,signalGenerator:a,disconnectable:c},f=this.registry(s,l);f.has(i)||f.set(i,new Set);let p=f.get(i);if(p.add(m),t.staticSensitivity){let _=je.call(o,m);return this.disconnectables(t.signal,c,a,_)}return this.disconnectables(t.signal,c,a)}track(e,r,t={}){return t={subtree:!0,...t},this.observe(e,i=>{i.entrants.length&&r(!0,Array.isArray(e)?i.entrants:i.entrants[0]),i.exits.length&&r(!1,Array.isArray(e)?i.exits:i.exits[0])},t)}};function je(n){let e=this,{context:r,spec:t,callback:i,params:o,signalGenerator:s}=n,l=t.filter(p=>p.kind==="css"),u=p=>p.match(/\.([\w-]+)/g)?.length?["class"]:[],c=p=>p.match(/#([\w-]+)/g)?.length?["id"]:[],a=p=>[...p.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(_=>_[1]).concat(u(p)).concat(c(p));if(!(n.$attrs=Array.from(new Set(l.filter(p=>(p+"").includes("[")).reduce((p,_)=>p.concat(a(_+"")),[])))).length)return;let m=new Set,f=new Set;return m.push=p=>(f.delete(p),m.add(p)),f.push=p=>(m.delete(p),f.add(p)),n.$deliveryCache={entrants:m,exits:f},new j(r,e).observe(n.$attrs,p=>{let _=new Map,b=g=>(_.has(g)||_.set(g,{target:g,entrants:[],exits:[],type:"static",event:null}),_.get(g)),W=new WeakMap,d=g=>(W.has(g)||W.set(g,l.some(v=>g.matches(v+""))),W.get(g));for(let g of p)["entrants","exits"].forEach(v=>{o.generation&&v!==o.generation||n.$deliveryCache[v].has(g.target)||(v==="entrants"?!d(g.target):d(g.target))||(n.$deliveryCache[v].push(g.target),b(g.target)[v].push(g.target),b(g.target).event=g.event)});for(let[,g]of _){let v=s?.generate()||{};i(g,v,r)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function xe(n,e){let{context:r,spec:t,callback:i,params:o,signalGenerator:s,$deliveryCache:l}=n,u={...e,entrants:[],exits:[]};if(o.eventDetails||delete u.event,["entrants","exits"].forEach(a=>{if(!(o.generation&&a!==o.generation)&&(t.length?u[a]=ct.call(this,t,o.subtree==="cross-roots",e[a],e.event!=="parse"):u[a]=[...e[a]],!!l))for(let m of u[a])l[a].push(m)}),!u.entrants.length&&!u.exits.length)return;let c=s?.generate()||{};i(u,c,r)}function ct(n,e,r,t){r=Array.isArray(r)?r:[...r];let i=(o,s)=>{if(s.type==="selector"){let l=s.isXpathAttr?[]:o.filter(u=>s.kind==="xpath"?Se(this,u,s+""):u.matches&&u.matches(s+""));if((t||s.isXpathAttr)&&(l=o.reduce((u,c)=>s.kind==="xpath"?[...u,...ie(this,c,s,t)]:c.querySelectorAll?[...u,...c.querySelectorAll(s+"")]:u,l)),l.length)return l}else if(o.includes(s.content)||t&&o.some(l=>Q(this,l,s.content,e)))return[s.content]};return r.$$searchCache||(r.$$searchCache=new Map),n.reduce((o,s)=>{let l;return r.$$searchCache.has(s.content)?l=r.$$searchCache.get(s.content):(l=i(r,s)||[],s.type==="instance"&&r.$$searchCache.set(s.content,l)),o.concat(l)},[])}function Fe({target:n,addedNodes:e,removedNodes:r}){let t=this,i;return i=A(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=A(r).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:n,entrants:e,exits:r,type:"observation",event:i}}function Be(n,e){let r=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:l,HTMLElement:u,HTMLTemplateElement:c,DocumentFragment:a}=r;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionNoRecurse||Object.defineProperty(t.realdom,"domInterceptionNoRecurse",{value:new Map}),t.realdom.domInterceptionHooks.has(n)||t.realdom.domInterceptionHooks.set(n,new Set),t.realdom.domInterceptionHooks.get(n).add(e);let m=()=>t.realdom.domInterceptionHooks.get(n).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return m;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let f=(d,g,v)=>{t.realdom.domInterceptionNoRecurse.set(d,g);let h=v();return t.realdom.domInterceptionNoRecurse.delete(d),h},p=(d,g)=>{d.entrants.concat(d.exits).forEach(h=>{clearTimeout(t.realdom.domInterceptionRecords.get(h)?.timeout),t.realdom.domInterceptionRecords.set(h,d.event);let S=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(h)},0);Object.defineProperty(d.event,"timeout",{value:S,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(h=>h(d));let v=g();return t.realdom.domInterceptionHooks.get("sync")?.forEach(h=>h(d)),v},_={ShadowRoot:["innerHTML","setHTMLUnsafe"],DocumentFragment:["replaceChildren","append","prepend"],Document:["replaceChildren","append","prepend"],HTMLElement:["outerText","innerText"],Element:["append","prepend","before","after","insertAdjacentElement","insertAdjacentHTML","remove","replaceChildren","replaceWith","setHTMLUnsafe","innerHTML","outerHTML"],CharacterData:["before","after","remove","replaceWith"],Node:["insertBefore","replaceChild","removeChild","appendChild","textContent","nodeValue"]},b={ShadowRoot:Object.create(null),DocumentFragment:Object.create(null),Document:Object.create(null),HTMLElement:Object.create(null),Element:Object.create(null),CharacterData:Object.create(null),Node:Object.create(null)};return new Set(Object.values(_).reduce((d,g)=>d.concat(g),[])).forEach(d=>{Object.keys(_).forEach(h=>{if(!_[h].includes(d))return;let S=Object.getOwnPropertyDescriptor(r[h].prototype,d);!S||(Object.defineProperty(r[h].prototype,d,"value"in S?{...S,value:g}:{...S,set:v}),b[h][d]=S)});function g(...h){let S=Object.keys(b).find(N=>this instanceof r[N]&&d in b[N]),R=b[S],k=()=>R[d].value.call(this,...h);if(t.realdom.domInterceptionNoRecurse.get(this)===d)return k();let T=[],$=[],L=this;["insertBefore"].includes(d)?$=[h[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(d)?($=[h[1]],["beforebegin","afterend"].includes(h[0])&&(L=this.parentNode)):["setHTMLUnsafe","replaceChildren"].includes(d)?(T=[...this.childNodes],$=d==="replaceChildren"?[...h]:[h[0]]):["replaceWith","remove"].includes(d)?(T=[this],$=d==="replaceWith"?[...h]:[],L=this.parentNode):["replaceChild"].includes(d)?(T=[h[1]],$=[h[0]]):["removeChild"].includes(d)?T=[...h]:($=[...h],["before","after"].includes(d)&&(L=this.parentNode));let ne=d;if(["insertAdjacentHTML","setHTMLUnsafe"].includes(d)){let N=this.nodeName;if(d==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(h[0])){if(!this.parentNode)return R[d].value.call(this,...h);N=this.parentNode.nodeName}let D=i.createElement(N);R.setHTMLUnsafe.value.call(D,$[0],d==="setHTMLUnsafe"?h[1]:{}),$=[...D.childNodes],d==="insertAdjacentHTML"?(ne="insertAdjacentElement",h[1]=new a,f(h[1],"append",()=>h[1].append(...D.childNodes))):(ne="replaceChildren",h=[...D.childNodes])}return p({target:L,entrants:$,exits:T,type:"interception",event:[this,d]},()=>R[ne].value.call(this,...h))}function v(h){let S=Object.keys(b).find(F=>this instanceof r[F]&&d in b[F]),R=b[S],k=()=>R[d].set.call(this,h);if(this instanceof HTMLScriptElement||t.realdom.domInterceptionNoRecurse.get(this)===d)return k();let T=[],$=[],L=this;if(["outerHTML","outerText"].includes(d)?(T=[this],L=this.parentNode):this instanceof c?(L=this.content,T=[...this.content.childNodes]):T=[...this.childNodes],["outerHTML","innerHTML"].includes(d)){let F=this.nodeName;if(d==="outerHTML"){if(!this.parentNode)return k();F=this.parentNode.nodeName}let N=i.createElement(F.includes("-")?"div":F);if(f(N,d,()=>N[d]=h),$=this instanceof c?[...N.content.childNodes]:[...N.childNodes],this instanceof c&&this.hasAttribute("src")){let D=U=>U.reduce((q,P)=>P instanceof HTMLScriptElement?q.concat(P):P instanceof c?q.concat(D([P.content])):(q=q.concat(D([...P.querySelectorAll?.("template")||[]].map(ze=>ze.content))),q.concat(...P.querySelectorAll?.("script")||[])),[]);for(let U of D($)){let q=i.createElement("script");[...U.attributes].forEach(P=>q.setAttribute(P.name,P.value)),q.textContent=U.textContent,f(U,"replaceWith",()=>U.replaceWith(q))}}d==="outerHTML"?(h=new a,f(h,"append",()=>h.append(...$)),k=()=>f(this,"replaceWith",()=>l.prototype.replaceWith.call(this,h))):this instanceof c?k=()=>f(this.content,"replaceChildren",()=>this.content.replaceChildren(...$)):k=()=>f(this,"replaceChildren",()=>l.prototype.replaceChildren.call(this,...$))}return p({target:L,entrants:$,exits:T,type:"interception",event:[this,d]},k)}}),m}function We(){at.call(this),ut.call(this),mt.call(this)}function at(){let n=this;n.CSS||(n.CSS={}),n.CSS.escape||(n.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function ut(){let n=this;"isConnected"in n.Node.prototype||Object.defineProperty(n.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function mt(){let n=this;n.Element.prototype.matches||(n.Element.prototype.matches=n.Element.prototype.matchesSelector||n.Element.prototype.mozMatchesSelector||n.Element.prototype.msMatchesSelector||n.Element.prototype.oMatchesSelector||n.Element.prototype.webkitMatchesSelector||function(e){for(var r=(this.document||this.ownerDocument).querySelectorAll(e),t=r.length;--t>=0&&r.item(t)!==this;);return t>-1})}function Re(){let n=this;if(n.webqit||(n.webqit={}),n.webqit.realdom)return n.webqit.realdom;n.webqit.realdom={},We.call(n),n.webqit.realdom.meta=(...r)=>dt.call(n,...r),n.webqit.realdom.ready=(...r)=>be.call(n,...r),n.webqit.realdom.realtime=(r,t="dom")=>{if(t==="dom")return new re(r,n);if(t==="attr")return new j(r,n)};let e=new te(n);return n.webqit.realdom.schedule=(r,...t)=>e[`on${r}`](...t),n.webqit.realdom.synthesizeWhile=(...r)=>e.synthesizeWhile(...r),n.webqit.realdom}function be(...n){let e="interactive",r;G(n[0])?(e=n[0],w(n[1])&&(r=n[1])):w(n[0])&&(r=n[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!r)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>be.call(this,"interactive",o)),complete:new Promise(o=>be.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return r(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[e].push(r)}function dt(n){let e=this,r={},t;return(t=e.document.querySelector(`meta[name="${n}"]`))&&(r=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(l=>l.trim());return ye(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:I(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return n},get content(){return t.content},json(){return JSON.parse(JSON.stringify(r))}}}function ce(n,e){return typeof n!="string"?n:n.replace(/\w\S*/g,function(r){return r.charAt(0).toUpperCase()+(typeof e!==void 0&&e?r.substr(1).toLowerCase():r.substr(1))})}var X=(...n)=>E("oohtml",...n),gt={};function Ve(n,e,r){let t=this,i=Re.call(t);gt.window=t,t.webqitConfig||(t.webqitConfig=i.meta("webqit").json()),t.webqit||(t.webqit={}),t.webqit.oohtml||(t.webqit.oohtml={}),t.webqit.oohtml.configs||(t.webqit.oohtml.configs={});let o=n.toUpperCase().replace("-","_");if(!t.webqit.oohtml.configs[o]){t.webqit.oohtml.configs[o]={};let s=t.webqit.oohtml.configs[o];K(2,s,r,e,i.meta(n).json()),t.webqitConfig.prefix&&Object.keys(s).forEach(l=>{Object.keys(s[l]).forEach(u=>{l==="api"&&typeof s[l][u]=="string"?s[l][u]=`${t.webqitConfig.prefix}${ce(s[l][u])}`:["attr","elements"].includes(l)&&s[l][u]?.startsWith("data-")===!1&&(s[l][u]=`${t.webqitConfig.prefix}-${s[l][u]}`)})})}return{config:t.webqit.oohtml.configs[o],realdom:i,window:t}}function ae(n,e){return[...n].reduce(([r,t,i],o)=>!r&&t===0&&(Array.isArray(e)?e:[e]).includes(o)?[r,t,[""].concat(i)]:(!r&&["(","[","{"].includes(o)&&!i[0].endsWith("\\")&&t++,!r&&[")","]","}"].includes(o)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(o)&&!i[0].endsWith("\\")&&(r=r===o?null:r||o),i[0]+=o,[r,t,i]),[null,0,[""]])[2].reverse()}function Oe(n={}){let{config:e,window:r}=Ve.call(this,"data-binding",n,{attr:{render:"render",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"}});({CONTEXT_API:e.CONTEXT_API,BINDINGS_API:e.BINDINGS_API,HTML_IMPORTS:e.HTML_IMPORTS}=r.webqit.oohtml.configs),e.attrSelector=`[${r.CSS.escape(e.attr.render)}]`;let t=(i,o)=>{let s=`starts-with(., "${i}")`,l=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${s} and ${l}`};e.discreteBindingsSelector=`comment()[${t(e.tokens.tagStart,e.tokens.tagEnd)}]`,_t.call(r,e)}function _t(n){let e=this,{webqit:{realdom:r}}=e;r.realtime(e.document).query(`(${n.discreteBindingsSelector})`,t=>{Ge.call(this,...t.exits),wt.call(e,n,...t.entrants)},{live:!0,subtree:"cross-roots",timing:"sync"}),r.realtime(e.document).query(n.attrSelector,t=>{Ge.call(this,...t.exits),bt.call(e,n,...t.entrants)},{live:!0,subtree:"cross-roots",timing:"sync",eventDetails:!0,staticSensitivity:!0})}function Xe(n,e){let{webqit:{realdom:r,Observer:t,DOMBindingsContext:i}}=this;if(X(e).has("data-binding"))return X(e).get("data-binding");let o=Object.create(null),s=new AbortController;o.$exec__=(u,c,...a)=>{let m=()=>{try{u[c](...a)}catch(f){console.error(`Error executing "${c}": ${f.message} at ${f.cause}`)}};r.schedule("write",m)},o.$assign__=(u,c,a)=>{let m=()=>{try{u[c]=a}catch(f){console.error(`${f.message} at ${f.cause}`)}};r.schedule("write",m)},t.intercept(o,{get:(u,c,a)=>{if(!(u.key in o)){let m={...i.createRequest(u.key),live:!0,signal:s.signal};e[n.CONTEXT_API.api.contexts].request(m,f=>{t.set(o,u.key,f)})}return a(o[u.key]??(u.key in globalThis?globalThis[u.key]:void 0))},has:(u,c,a)=>a(!0)});let l={scope:o,abortController:s,bindings:new Map};return X(e).set("data-binding",l),l}function Ge(...n){for(let e of n){let r=e.nodeName==="#text"?e.parentNode:e,{bindings:t,abortController:i}=X(r).get("data-binding")||{};if(!t?.has(e))return;t.get(e).state.dispose(),t.get(e).signals?.forEach(o=>o.abort()),t.delete(e),t.size||(i.abort(),X(r).delete("data-binding"))}}function yt(n,e){let r=n.tokens.tagStart.split("").map(c=>`\\${c}`).join(""),t=n.tokens.tagEnd.split("").map(c=>`\\${c}`).join(""),i=n.tokens.stateStart.split("").map(c=>c===" "?"(?:\\s+)?":`\\${c}`).join(""),o=n.tokens.stateEnd.split("").map(c=>`\\${c}`).join(""),s=`^${r}(.*?)(?:${i}(\\d+)${o}(?:\\s+)?)?${t}$`,[,l,u]=e.match(new RegExp(s));return{raw:e,expr:l,span:parseInt(u??0)}}async function wt(n,...e){let r=this,t=e.reduce((i,o)=>{if(o.isBound)return i;let s=yt(n,o.nodeValue),l=o;if(s.span){if(l=o.nextSibling,l?.nodeName!=="#text"||l.nodeValue.length<s.span)return i;l.nodeValue.length>s.span&&l.splitText(s.span)}else l=o.ownerDocument.createTextNode(""),o.after(l);l.isBound=!0;let u=o;return r.webqit.env!=="server"&&(u.remove(),u=null),i.concat({textNode:l,template:s,anchorNode:u})},[]);for(let{textNode:i,template:o,anchorNode:s}of t){let l=xt.call(r,n,o.expr),{scope:u,bindings:c}=Xe.call(this,n,i.parentNode);Object.defineProperty(i,"$oohtml_internal_databinding_anchorNode",{value:s,configurable:!0});try{c.set(i,{state:await(await l.bind(i,u)).execute()})}catch(a){console.log(a)}}}var ve=new Map;function xt(n,e){if(ve.has(e))return ve.get(e);let r=`let content = ((${e}) ?? '') + '';`;r+="$assign__(this, 'nodeValue', content);",r+=`if ( this.$oohtml_internal_databinding_anchorNode ) { $assign__(this.$oohtml_internal_databinding_anchorNode, 'nodeValue', "${n.tokens.tagStart}${z(e)}${n.tokens.stateStart}" + content.length + "${n.tokens.stateEnd} ${n.tokens.tagEnd}"); }`;let{webqit:{QuantumModule:t}}=this,i=new t(r);return ve.set(e,i),i}async function bt(n,...e){for(let r of e){let t=vt.call(this,n,r.getAttribute(n.attr.render)),{scope:i,bindings:o}=Xe.call(this,n,r),s=[];Object.defineProperty(r,"$oohtml_internal_databinding_signals",{value:s,configurable:!0});try{o.set(r,{signals:s,state:await(await t.bind(r,i)).execute()})}catch(l){console.log(l)}}}var $e=new Map;function vt(n,e){if($e.has(e))return $e.get(e);let r={},t=-1,i=ae(e,";").map(l=>{let[u,c]=ae(l,":").map(_=>_.trim()),a=u[0],m=u.slice(1).trim(),f=`(${c})`,p=`(${f} ?? '')`;if(a==="&")return m.startsWith("--")?`$exec__(this.style, 'setProperty', "${z(m)}", ${p});`:`$assign__(this.style, "${z(m)}", ${p});`;if(a==="%")return`$exec__(this.classList, 'toggle', "${z(m)}", !!${f});`;if(a==="~")return m.startsWith("?")?`$exec__(this, 'toggleAttribute', "${z(m.substring(1).trim())}", !!${f});`:`$exec__(this, 'setAttribute', "${z(m)}", ${p});`;if(a==="#"){if(r[m])throw new Error(`Duplicate binding: ${u}.`);if(r[m]=!0,m==="text")return`$assign__(this, 'textContent', ${p});`;if(m==="html")return`$exec__(this, 'setHTMLUnsafe', ${p});`;if(m==="items"){let[_,b]=ae(c,"/");if(!b)throw new Error(`Invalid ${a}items spec: ${l}; no import specifier.`);let[W,d,g,v]=_.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!W)throw new Error(`Invalid ${a}items spec: ${l}.`);if(d.startsWith("(")?d=d.trim().slice(1,-1).split(",").map(S=>S.trim()):d=[d],d.length>(g==="in"?3:2))throw new Error(`Invalid ${a}items spec: ${l}.`);let h=g==="in"?d[2]:d[1]||"$index__";return`
2
+ let $iteratee__ = ${v};
3
+ let $import__ = this.${n.HTML_IMPORTS.api.import}( ${b.trim()}, true );
4
4
  this.$oohtml_internal_databinding_signals?.push( $import__ );
5
5
 
6
6
  if ( $import__.value && $iteratee__ ) {
@@ -8,13 +8,13 @@
8
8
  this.querySelectorAll( '[${n.attr.itemIndex}]' ).forEach( x => {
9
9
  $existing__.set( x.getAttribute( '${n.attr.itemIndex}' ), x );
10
10
  } );
11
- ${b?`let ${b} = -1;`:""}
12
- for ( let ${x[0]} ${d} $iteratee__ ) {
13
- ${b?`${b} ++;`:""}
14
- ${d==="in"&&x[1]?`let ${x[1]} = $iteratee__[ ${x[0]} ];`:""}
15
- const $itemBinding__ = { ${x.join(", ")} };
11
+ ${h?`let ${h} = -1;`:""}
12
+ for ( let ${d[0]} ${g} $iteratee__ ) {
13
+ ${h?`${h} ++;`:""}
14
+ ${g==="in"&&d[1]?`let ${d[1]} = $iteratee__[ ${d[0]} ];`:""}
15
+ const $itemBinding__ = { ${d.join(", ")} };
16
16
 
17
- const $key___ = ( ${d==="in"?x[0]:b} ) + '';
17
+ const $key___ = ( ${g==="in"?d[0]:h} ) + '';
18
18
  let $itemNode__ = $existing__.get( $key___ );
19
19
  if ( $itemNode__ ) {
20
20
  $existing__.delete( $key___ );
@@ -26,15 +26,15 @@
26
26
  $exec__(this, 'appendChild', $itemNode__ );
27
27
  }
28
28
 
29
- if ( ${d==="in"?`!( ${x[0]} in $iteratee__ )`:`typeof ${x[0]} === 'undefined'`} ) { $itemNode__.remove(); }
29
+ if ( ${g==="in"?`!( ${d[0]} in $iteratee__ )`:`typeof ${d[0]} === 'undefined'`} ) { $itemNode__.remove(); }
30
30
  }
31
31
  $existing__.forEach( x => x.remove() );
32
32
  $existing__.clear();
33
- }`}}if(f==="@")return`
34
- const handler = event => ${u.startsWith("{")?u:m};
35
- this.addEventListener( '${c}', handler );
36
- const abort = () => this.removeEventListener( '${c}', handler );
37
- this.$oohtml_internal_databinding_signals?.push( { abort } );
38
- `;if(f==="$")return`$exec__(this, '${c}', ${m});`;if(s.trim())throw new Error(`Invalid binding: ${s}.`)}).join(`
39
- `),{webqit:{QuantumModule:i}}=this,o=new i(t);return $e.set(e,o),o}var z=n=>n.replace(/"/g,'\\"');Oe.call(window);})();
33
+ }`}}if(a==="@")return t++,`
34
+ const handler${t} = event => ${c.startsWith("{")?c:f};
35
+ this.addEventListener( '${m}', handler${t} );
36
+ const abort${t} = () => this.removeEventListener( '${m}', handler${t} );
37
+ this.$oohtml_internal_databinding_signals?.push( { abort: abort${t} } );
38
+ `;if(a==="$")return`$exec__(this, '${m}', ${f});`;if(l.trim())throw new Error(`Invalid binding: ${l}.`)}).join(`
39
+ `),{webqit:{QuantumModule:o}}=this,s=new o(i);return $e.set(e,s),s}var z=n=>n.replace(/"/g,'\\"');Oe.call(window);})();
40
40
  //# sourceMappingURL=data-binding.js.map