mutts 1.0.8 → 1.0.10

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.
Files changed (195) hide show
  1. package/README.md +77 -35
  2. package/dist/browser.cjs +2144 -5355
  3. package/dist/browser.cjs.map +1 -1
  4. package/dist/browser.d.ts +2 -1655
  5. package/dist/browser.dev.cjs +110 -0
  6. package/dist/browser.dev.cjs.map +1 -0
  7. package/dist/browser.dev.d.ts +2 -0
  8. package/dist/browser.dev.esm.js +5 -0
  9. package/dist/browser.dev.esm.js.map +1 -0
  10. package/dist/browser.esm.js +20 -107
  11. package/dist/browser.esm.js.map +1 -1
  12. package/dist/chunks/{async-browser-CA0jPWIi.cjs → async-browser-BU_IfxYD.cjs} +19 -107
  13. package/dist/chunks/async-browser-BU_IfxYD.cjs.map +1 -0
  14. package/dist/chunks/{async-core-UqHzvJ-S.cjs → async-core-CRLKP3l-.cjs} +8 -4
  15. package/dist/chunks/async-core-CRLKP3l-.cjs.map +1 -0
  16. package/dist/chunks/{async-node-BYHuGTni.cjs → async-node-3PrbVAbB.cjs} +7 -12
  17. package/dist/chunks/async-node-3PrbVAbB.cjs.map +1 -0
  18. package/dist/chunks/index-CaaQQlPJ.esm.js +3174 -0
  19. package/dist/chunks/index-CaaQQlPJ.esm.js.map +1 -0
  20. package/dist/chunks/node-nKJBk8iJ.esm.js +96 -0
  21. package/dist/chunks/node-nKJBk8iJ.esm.js.map +1 -0
  22. package/dist/chunks/proxy-Dtg-bJ3T.cjs +3763 -0
  23. package/dist/chunks/proxy-Dtg-bJ3T.cjs.map +1 -0
  24. package/dist/chunks/proxy-r7lARftl.esm.js +3701 -0
  25. package/dist/chunks/proxy-r7lARftl.esm.js.map +1 -0
  26. package/dist/debug.cjs +980 -0
  27. package/dist/debug.cjs.map +1 -0
  28. package/dist/debug.d.ts +208 -0
  29. package/dist/debug.esm.js +950 -0
  30. package/dist/debug.esm.js.map +1 -0
  31. package/dist/devtools/manifest.json +1 -1
  32. package/dist/devtools/panel.html +1 -1
  33. package/dist/devtools/panel.js +107 -94
  34. package/dist/devtools/panel.js.map +1 -1
  35. package/dist/index.d.ts +1447 -13
  36. package/dist/mutts.umd.js +7167 -1
  37. package/dist/mutts.umd.js.map +1 -1
  38. package/dist/mutts.umd.min.js +1 -1
  39. package/dist/mutts.umd.min.js.map +1 -1
  40. package/dist/node.cjs +70 -66
  41. package/dist/node.cjs.map +1 -1
  42. package/dist/node.d.ts +2 -1
  43. package/dist/node.dev.cjs +110 -0
  44. package/dist/node.dev.cjs.map +1 -0
  45. package/dist/node.dev.d.ts +2 -0
  46. package/dist/node.dev.esm.js +6 -0
  47. package/dist/node.dev.esm.js.map +1 -0
  48. package/dist/node.esm.js +4 -103
  49. package/dist/node.esm.js.map +1 -1
  50. package/dist/{reactive/types.d.ts → types-W5vD6m2n.d.ts} +186 -93
  51. package/docs/ai/api-reference.md +12 -19
  52. package/docs/ai/manual.md +521 -17
  53. package/docs/events.md +57 -2
  54. package/docs/flavored.md +210 -0
  55. package/docs/reactive/advanced.md +314 -5
  56. package/docs/reactive/attend.md +142 -0
  57. package/docs/reactive/collections.md +76 -39
  58. package/docs/reactive/core.md +100 -14
  59. package/docs/reactive/debugging.md +123 -18
  60. package/docs/reactive/error-handling.md +121 -0
  61. package/docs/reactive/resource.md +125 -0
  62. package/docs/reactive/scan.md +247 -1
  63. package/docs/reactive.md +4 -1
  64. package/docs/std-decorators.md +102 -51
  65. package/docs/utils.md +70 -0
  66. package/docs/zone.md +3 -7
  67. package/package.json +64 -30
  68. package/dist/async/browser.d.ts +0 -2
  69. package/dist/async/browser.d.ts.map +0 -1
  70. package/dist/async/index.d.ts +0 -18
  71. package/dist/async/index.d.ts.map +0 -1
  72. package/dist/async/node.d.ts +0 -2
  73. package/dist/async/node.d.ts.map +0 -1
  74. package/dist/chunks/async-browser-CA0jPWIi.cjs.map +0 -1
  75. package/dist/chunks/async-core-UqHzvJ-S.cjs.map +0 -1
  76. package/dist/chunks/async-node-BYHuGTni.cjs.map +0 -1
  77. package/dist/chunks/index-DhaOVusv.esm.js +0 -6411
  78. package/dist/chunks/index-DhaOVusv.esm.js.map +0 -1
  79. package/dist/decorator.d.ts +0 -106
  80. package/dist/decorator.d.ts.map +0 -1
  81. package/dist/destroyable.d.ts +0 -87
  82. package/dist/destroyable.d.ts.map +0 -1
  83. package/dist/entry-browser.d.ts +0 -3
  84. package/dist/entry-browser.d.ts.map +0 -1
  85. package/dist/entry-node.d.ts +0 -3
  86. package/dist/entry-node.d.ts.map +0 -1
  87. package/dist/eventful.d.ts +0 -18
  88. package/dist/eventful.d.ts.map +0 -1
  89. package/dist/index.d.ts.map +0 -1
  90. package/dist/indexable.d.ts +0 -243
  91. package/dist/indexable.d.ts.map +0 -1
  92. package/dist/introspection.d.ts +0 -27
  93. package/dist/introspection.d.ts.map +0 -1
  94. package/dist/iterableWeak.d.ts +0 -53
  95. package/dist/iterableWeak.d.ts.map +0 -1
  96. package/dist/mixins.d.ts +0 -25
  97. package/dist/mixins.d.ts.map +0 -1
  98. package/dist/promiseChain.d.ts +0 -20
  99. package/dist/promiseChain.d.ts.map +0 -1
  100. package/dist/reactive/array.d.ts +0 -49
  101. package/dist/reactive/array.d.ts.map +0 -1
  102. package/dist/reactive/buffer.d.ts +0 -44
  103. package/dist/reactive/buffer.d.ts.map +0 -1
  104. package/dist/reactive/change.d.ts +0 -29
  105. package/dist/reactive/change.d.ts.map +0 -1
  106. package/dist/reactive/debug.d.ts +0 -111
  107. package/dist/reactive/debug.d.ts.map +0 -1
  108. package/dist/reactive/deep-touch.d.ts +0 -28
  109. package/dist/reactive/deep-touch.d.ts.map +0 -1
  110. package/dist/reactive/deep-watch-state.d.ts +0 -25
  111. package/dist/reactive/deep-watch-state.d.ts.map +0 -1
  112. package/dist/reactive/deep-watch.d.ts +0 -19
  113. package/dist/reactive/deep-watch.d.ts.map +0 -1
  114. package/dist/reactive/effect-context.d.ts +0 -7
  115. package/dist/reactive/effect-context.d.ts.map +0 -1
  116. package/dist/reactive/effects.d.ts +0 -151
  117. package/dist/reactive/effects.d.ts.map +0 -1
  118. package/dist/reactive/index.d.ts +0 -20
  119. package/dist/reactive/index.d.ts.map +0 -1
  120. package/dist/reactive/interface.d.ts +0 -64
  121. package/dist/reactive/interface.d.ts.map +0 -1
  122. package/dist/reactive/map.d.ts +0 -30
  123. package/dist/reactive/map.d.ts.map +0 -1
  124. package/dist/reactive/memoize.d.ts +0 -5
  125. package/dist/reactive/memoize.d.ts.map +0 -1
  126. package/dist/reactive/non-reactive-state.d.ts +0 -9
  127. package/dist/reactive/non-reactive-state.d.ts.map +0 -1
  128. package/dist/reactive/non-reactive.d.ts +0 -11
  129. package/dist/reactive/non-reactive.d.ts.map +0 -1
  130. package/dist/reactive/project.d.ts +0 -41
  131. package/dist/reactive/project.d.ts.map +0 -1
  132. package/dist/reactive/proxy-state.d.ts +0 -8
  133. package/dist/reactive/proxy-state.d.ts.map +0 -1
  134. package/dist/reactive/proxy.d.ts +0 -23
  135. package/dist/reactive/proxy.d.ts.map +0 -1
  136. package/dist/reactive/record.d.ts +0 -116
  137. package/dist/reactive/record.d.ts.map +0 -1
  138. package/dist/reactive/register.d.ts +0 -64
  139. package/dist/reactive/register.d.ts.map +0 -1
  140. package/dist/reactive/registry.d.ts +0 -20
  141. package/dist/reactive/registry.d.ts.map +0 -1
  142. package/dist/reactive/set.d.ts +0 -28
  143. package/dist/reactive/set.d.ts.map +0 -1
  144. package/dist/reactive/tracking.d.ts +0 -7
  145. package/dist/reactive/tracking.d.ts.map +0 -1
  146. package/dist/reactive/types.d.ts.map +0 -1
  147. package/dist/std-decorators.d.ts +0 -50
  148. package/dist/std-decorators.d.ts.map +0 -1
  149. package/dist/utils.d.ts +0 -49
  150. package/dist/utils.d.ts.map +0 -1
  151. package/dist/zone.d.ts +0 -40
  152. package/dist/zone.d.ts.map +0 -1
  153. package/docs/reactive/project.md +0 -93
  154. package/src/async/browser.ts +0 -319
  155. package/src/async/index.ts +0 -23
  156. package/src/async/node.ts +0 -104
  157. package/src/decorator.ts +0 -272
  158. package/src/destroyable.ts +0 -199
  159. package/src/entry-browser.ts +0 -5
  160. package/src/entry-node.ts +0 -5
  161. package/src/eventful.ts +0 -77
  162. package/src/index.d.ts +0 -12
  163. package/src/index.ts +0 -64
  164. package/src/indexable.ts +0 -526
  165. package/src/introspection.ts +0 -59
  166. package/src/iterableWeak.ts +0 -233
  167. package/src/mixins.ts +0 -123
  168. package/src/promiseChain.ts +0 -110
  169. package/src/reactive/array.ts +0 -507
  170. package/src/reactive/buffer.ts +0 -168
  171. package/src/reactive/change.ts +0 -138
  172. package/src/reactive/debug.ts +0 -517
  173. package/src/reactive/deep-touch.ts +0 -268
  174. package/src/reactive/deep-watch-state.ts +0 -82
  175. package/src/reactive/deep-watch.ts +0 -168
  176. package/src/reactive/effect-context.ts +0 -18
  177. package/src/reactive/effects.ts +0 -1382
  178. package/src/reactive/index.ts +0 -75
  179. package/src/reactive/interface.ts +0 -210
  180. package/src/reactive/map.ts +0 -158
  181. package/src/reactive/memoize.ts +0 -163
  182. package/src/reactive/non-reactive-state.ts +0 -49
  183. package/src/reactive/non-reactive.ts +0 -43
  184. package/src/reactive/project.ts +0 -453
  185. package/src/reactive/proxy-state.ts +0 -27
  186. package/src/reactive/proxy.ts +0 -264
  187. package/src/reactive/record.ts +0 -196
  188. package/src/reactive/register.ts +0 -419
  189. package/src/reactive/registry.ts +0 -59
  190. package/src/reactive/set.ts +0 -130
  191. package/src/reactive/tracking.ts +0 -44
  192. package/src/reactive/types.ts +0 -440
  193. package/src/std-decorators.ts +0 -217
  194. package/src/utils.ts +0 -301
  195. package/src/zone.ts +0 -138
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Mutts={})}(this,function(e){"use strict";const t={addHook(e){throw"One must import the library from the server or the client side"},sanitizePromise:e=>e},n=new Set,r=new WeakMap;function o(){const e=new Set;for(const t of n){const n=t();n&&e.add(n)}return e}function s(e,t){if("function"!=typeof e)return e;const n=t||o();return function(...t){const r=[];for(const e of n)r.push(e());try{return e.apply(this,t)}finally{if(u.queueMicrotask)u.queueMicrotask.call(globalThis,()=>{u.queueMicrotask.call(globalThis,()=>{u.queueMicrotask.call(globalThis,()=>{for(let e=r.length-1;e>=0;e--)r[e]()})})});else for(let e=r.length-1;e>=0;e--)r[e]()}}}t.addHook=function(e){return n.add(e),()=>{n.delete(e)}},t.sanitizePromise=e=>e&&"function"==typeof e.then?new Promise((t,n)=>{setTimeout(()=>{e.then(t,n)},0)}):e;const i=new WeakMap;function c(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(t.startsWith("on")){const n=Object.getOwnPropertyDescriptor(e,t);if(n&&n.set&&n.configurable){const r=n.set;Object.defineProperty(e,t,{...n,set:function(e){r.call(this,s(e))}})}}}"undefined"!=typeof EventTarget&&function(e){if(!e||!e.addEventListener||!e.removeEventListener)return;const t=e.addEventListener,n=e.removeEventListener;e.addEventListener=function(e,n,r){if("function"!=typeof n)return t.call(this,e,n,r);let o=i.get(this);o||(o=new Map,i.set(this,o));let c=o.get(e);c||(c=new WeakMap,o.set(e,c));let a=c.get(n);return a||(a=s(n),c.set(n,a)),t.call(this,e,a,r)},e.removeEventListener=function(e,t,r){if("function"!=typeof t)return n.call(this,e,t,r);const o=i.get(this);if(o){const s=o.get(e);if(s){const o=s.get(t);if(o)return n.call(this,e,o,r)}}return n.call(this,e,t,r)}}(EventTarget.prototype);const a=["undefined"!=typeof EventTarget&&EventTarget.prototype,"undefined"!=typeof HTMLElement&&HTMLElement.prototype,"undefined"!=typeof Window&&Window.prototype,"undefined"!=typeof Document&&Document.prototype,"undefined"!=typeof MessagePort&&MessagePort.prototype,"undefined"!=typeof XMLHttpRequest&&XMLHttpRequest.prototype,"undefined"!=typeof IDBRequest&&IDBRequest.prototype,"undefined"!=typeof IDBTransaction&&IDBTransaction.prototype,"undefined"!=typeof IDBDatabase&&IDBDatabase.prototype,"undefined"!=typeof FileReader&&FileReader.prototype,"undefined"!=typeof AbortSignal&&AbortSignal.prototype];for(const e of a)e&&c(e);const f=Symbol.for("mutts.originals"),l=Symbol.for("mutts.OriginalPromise");let u,h;function d(e,t){const n=r.get(this)||o(),i=u.then.call(this,s(e,n),s(t,n));return n.size>0&&r.set(i,n),i}function p(e){if("function"==typeof e){const t=new h((t,n)=>{const r=s(t),o=s(n);e(r,o)}),n=o();return r.set(t,n),t}return new h(e)}globalThis[f]?(u=globalThis[f],h=globalThis[l]):(h=globalThis.Promise,u={then:h.prototype.then,catch:h.prototype.catch,finally:h.prototype.finally,resolve:h.resolve,reject:h.reject,all:h.all,allSettled:h.allSettled,race:h.race,any:h.any,setTimeout:globalThis.setTimeout,setInterval:globalThis.setInterval,setImmediate:globalThis.setImmediate,requestAnimationFrame:globalThis.requestAnimationFrame,queueMicrotask:globalThis.queueMicrotask},globalThis[f]=u,globalThis[l]=h),u.allSettled||(u.allSettled=h.allSettled),u.any||(u.any=h.any),u.race||(u.race=h.race),Object.assign(p,h),p.prototype=h.prototype,p.resolve=function(e){const t=u.resolve.call(h,e),n=o();return n.size>0&&!r.has(t)&&r.set(t,n),t},p.reject=function(e){const t=u.reject.call(h,e),n=o();return n.size>0&&r.set(t,n),t},p.all=function(e){const t=u.all.call(h,e),n=o();return n.size>0&&r.set(t,n),t},p.allSettled=function(e){const t=u.allSettled.call(h,e),n=o();return n.size>0&&r.set(t,n),t},p.race=function(e){const t=u.race.call(h,e),n=o();return n.size>0&&r.set(t,n),t},p.any=function(e){const t=u.any.call(h,e),n=o();return n.size>0&&r.set(t,n),t},h.prototype.then!==d&&(h.prototype.then=d,h.prototype.catch=function(e){const t=r.get(this)||o(),n=u.catch.call(this,s(e,t));return t.size>0&&r.set(n,t),n},h.prototype.finally=function(e){const t=r.get(this)||o(),n=u.finally.call(this,s(e,t));return t.size>0&&r.set(n,t),n});try{Object.defineProperty(h,Symbol.species,{get:()=>p,configurable:!0})}catch(e){}globalThis.Promise=p,globalThis.setTimeout=(e,...t)=>u.setTimeout.call(globalThis,s(e),...t),globalThis.setInterval=(e,...t)=>u.setInterval.call(globalThis,s(e),...t),u.setImmediate&&(globalThis.setImmediate=(e,...t)=>u.setImmediate.call(globalThis,s(e),...t)),u.requestAnimationFrame&&(globalThis.requestAnimationFrame=e=>u.requestAnimationFrame.call(globalThis,s(e))),u.queueMicrotask&&(globalThis.queueMicrotask=e=>{u.queueMicrotask.call(globalThis,s(e))});const g=new Set([Object,Array,Date,Function,Set,Map,WeakMap,WeakSet,Promise,Error,TypeError,ReferenceError,SyntaxError,RangeError,URIError,EvalError,Reflect,Proxy,RegExp,String,Number,Boolean]);function y(e){return e&&"function"==typeof e&&(g.has(e)||e.toString?.().startsWith("class "))}function m(e,t){return Object.defineProperties(e,{name:{value:t}})}const b={get:(e,t,n)=>"undefined"!=typeof Node&&e instanceof Node?e[t]:Reflect.get(e,t,n),set:(e,t,n,r)=>"undefined"!=typeof Node&&e instanceof Node?(e[t]=n,!0):e instanceof Object||Reflect.has(e,t)?Reflect.set(e,t,n,r):(Object.defineProperty(e,t,{value:n,configurable:!0,writable:!0,enumerable:!0}),!0)};function w(e,t){const n=Object.getOwnPropertyDescriptor(e,t);return!(!n?.get&&!n?.set)}function v(e,t,n=new Map){if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return e===t;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let r=n.get(e);if(r?.has(t))return!0;if(r||(r=new Set,n.set(e,r)),r.add(t),Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!v(e[r],t[r],n))return!1;return!0}if(e instanceof Date){const n=t instanceof Date&&e.getTime()===t.getTime();return n}if(e instanceof RegExp){const n=t instanceof RegExp&&e.toString()===t.toString();return n}if(e instanceof Set){if(!(t instanceof Set)||e.size!==t.size)return!1;for(const r of e){let e=!1;for(const o of t)if(v(r,o,n)){e=!0;break}if(!e)return!1}return!0}if(e instanceof Map){if(!(t instanceof Map)||e.size!==t.size)return!1;for(const[r,o]of e)if(t.has(r)){if(!v(o,t.get(r),n))return!1}else{let e=!1;for(const[s,i]of t)if(v(r,s,n)&&v(o,i,n)){e=!0;break}if(!e)return!1}return!0}const o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(const r of o){if(!Object.hasOwn(t,r))return!1;if(!v(e[r],t[r],n))return!1}return!0}const S=new WeakMap;function k(e){return S.has(e)||S.set(e,Object.seal(Object.create(null,{contentOf:{value:e,writable:!1,configurable:!1}}))),S.get(e)}function j(e,t){return Object.defineProperties(t,{[Symbol.toStringTag]:{value:e,writable:!1,configurable:!1},toString:{value:()=>e,writable:!1,configurable:!1}}),t}function M(e,t){return Object.defineProperty(t,"name",{value:t.name?`${t.name}::${e}`:e,writable:!1,configurable:!1}),t}class O extends Error{constructor(e){super(e),this.name="DecoratorException"}}function E(e){return function(t,n,r,...o){if(void 0===n){if(y(t)){if(!("class"in e))throw new Error("Decorator cannot be applied to a class");return e.class(t)}}else if("object"==typeof t&&["string","symbol"].includes(typeof n)){if(!r)throw new Error("Decorator cannot be applied to a field");if("object"==typeof r&&"configurable"in r){if("get"in r||"set"in r){if(!("getter"in e)&&!("setter"in e))throw new Error("Decorator cannot be applied to a getter or setter");if("getter"in e){const o=e.getter(r.get,t,n);o&&(r.get=o)}if("setter"in e){const o=e.setter(r.set,t,n);o&&(r.set=o)}return r}if("function"==typeof r.value){if(!("method"in e))throw new Error("Decorator cannot be applied to a method");const o=e.method(r.value,t,n);return o&&(r.value=o),r}}}if(!("default"in e))throw new Error("Decorator do not have a default implementation");return e.default.call(this,t,n,r,...o)}}function x(e){return function(t,n,...r){if(!n?.kind||"string"!=typeof n.kind){if(!("default"in e))throw new Error("Decorator do not have a default implementation");return e.default.call(this,t,n,...r)}switch(n.kind){case"class":if(!("class"in e))throw new Error("Decorator cannot be applied to a class");return e.class(t);case"field":throw new Error("Decorator cannot be applied to a field");case"getter":if(!("getter"in e))throw new Error("Decorator cannot be applied to a getter");return e.getter(t,t,n.name);case"setter":if(!("setter"in e))throw new Error("Decorator cannot be applied to a setter");return e.setter(t,t,n.name);case"method":if(!("method"in e))throw new Error("Decorator cannot be applied to a method");return e.method(t,t,n.name);case"accessor":{if(!("getter"in e)&&!("setter"in e))throw new Error("Decorator cannot be applied to a getter or setter");const r={};if("getter"in e){const o=e.getter(t.get,t,n.name);o&&(r.get=o)}if("setter"in e){const o=e.setter(t.set,t,n.name);o&&(r.set=o)}return r}}}}const R=e=>{const t=x(e),n=E(e);return(e,r,...o)=>{const s=function(e,t){return"object"==typeof t&&null!==t&&"string"==typeof t.kind?"modern":"legacy"}(0,r,o[0]);return"modern"===s?t(e,r,...o):n(e,r,...o)}},T=new FinalizationRegistry(e=>e()),D=Symbol("destructor"),P=Symbol("allocated");class A extends Error{static throw(e){return()=>{throw new A(e)}}constructor(e){super(`Object is destroyed. ${e}`),this.name="DestroyedAccessError"}}const W={[Symbol.toStringTag]:"MutTs Destroyable",get:A.throw("Cannot access destroyed object"),set:A.throw("Cannot access destroyed object")};const $=R({setter:(e,t,n)=>function(t){return this[P][n]=t,e.call(this,t)}});function z(e,t,n,r,o,s){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,a=r.kind,f="getter"===a?"get":"setter"===a?"set":"value",l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var g in r)p[g]="access"===g?{}:r[g];for(var g in r.access)p.access[g]=r.access[g];p.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(e||null))};var y=(0,n[d])("accessor"===a?{get:u.get,set:u.set}:u[f],p);if("accessor"===a){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(c=i(y.get))&&(u.get=c),(c=i(y.set))&&(u.set=c),(c=i(y.init))&&o.unshift(c)}else(c=i(y))&&("field"===a?o.unshift(c):u[f]=c)}l&&Object.defineProperty(l,r.name,u),h=!0}function I(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function C(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function N(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}var K,L;"function"==typeof SuppressedError&&SuppressedError;K=new WeakMap,L=new WeakMap;const q=Symbol("getAt"),H=Symbol("setAt");function _(e,t){e&&"function"!=typeof e&&(t=e,e=void 0),e||(e=class{}),t||(t={get(e){if("function"!=typeof this[q])throw new Error("Indexable class must have an [getAt] method");return this[q](e)},set(e,t){if("function"!=typeof this[H])throw new Error("Indexable class has read-only numeric index access");this[H](e,t)}});class n extends e{}return Object.setPrototypeOf(n.prototype,new Proxy(e.prototype,{[Symbol.toStringTag]:"MutTs Indexable",get(e,n,r){if(n in e){const t=Object.getOwnPropertyDescriptor(e,n)?.get;return t?t.call(r):e[n]}if("string"==typeof n){if("length"===n&&t.getLength)return t.getLength.call(r);const e=Number(n);if(!Number.isNaN(e))return t.get.call(r,e)}},set(e,n,r,o){if(n in e){const t=Object.getOwnPropertyDescriptor(e,n)?.set;return t?t.call(o,r):e[n]=r,!0}if("string"==typeof n){if("length"===n&&t.setLength)return t.setLength.call(o,r),!0;const e=Number(n);if(!Number.isNaN(e)){if(!t.set)throw new Error("Indexable class has read-only numeric index access");return t.set.call(o,e,r),!0}}return Object.defineProperty(o,n,{value:r,writable:!0,enumerable:!0,configurable:!0}),!0},has(e,n){if(n in e)return!0;if("string"==typeof n){if("length"===n&&t.getLength)return!0;const e=Number(n);if(!Number.isNaN(e))return!0}return!1},ownKeys(e){const n=Reflect.ownKeys(e);if(t.getLength){n.push("length");const e=t.getLength.call(this);for(let t=0;t<e;t++)n.push(String(t))}return n},getOwnPropertyDescriptor(e,n){if(n in e)return Object.getOwnPropertyDescriptor(e,n);if("string"==typeof n){if("length"===n&&t.getLength)return{enumerable:!1,configurable:!0,get:()=>t.getLength.call(this)};const e=Number(n);if(!Number.isNaN(e))return{enumerable:!0,configurable:!0,get:()=>t.get.call(this,e),set:t.set?n=>t.set.call(this,e,n):void 0}}}})),n}const V=Symbol("forwardArray");class F{get[V](){throw new Error("ArrayReadForward is not implemented")}get length(){return this[V].length}[Symbol.iterator](){return this[V][Symbol.iterator]()}map(e,t){return this[V].map(e,t)}filter(e,t){return this[V].filter(e,t)}reduce(e,t){return void 0!==t?this[V].reduce(e,t):this[V].reduce(e)}reduceRight(e,t){return void 0!==t?this[V].reduceRight(e,t):this[V].reduceRight(e)}forEach(e,t){this[V].forEach(e,t)}find(e,t){return this[V].find(e,t)}findIndex(e,t){return this[V].findIndex(e,t)}findLast(e,t){return this[V].findLast(e,t)}findLastIndex(e,t){return this[V].findLastIndex(e,t)}includes(e,t){return this[V].includes(e,t)}indexOf(e,t){return this[V].indexOf(e,t)}lastIndexOf(e,t){return this[V].lastIndexOf(e,t)}slice(e,t){return this[V].slice(e,t)}concat(...e){return this[V].concat(...e)}every(e,t){return this[V].every(e,t)}some(e,t){return this[V].some(e,t)}join(e){return this[V].join(e)}keys(){return this[V].keys()}values(){return this[V].values()}entries(){return this[V].entries()}toString(){return this[V].toString()}toLocaleString(e,t){return this[V].toLocaleString(e,t)}at(e){return this[V].at(e)}flat(e){return this[V].flat(e)}flatMap(e,t){return this[V].flatMap(e,t)}toReversed(){return this[V].toReversed?.()??[...this[V]].reverse()}toSorted(e){return this[V].toSorted?.(e)??[...this[V]].sort(e)}toSpliced(e,t,...n){return void 0===t?this[V].toSpliced(e):this[V].toSpliced(e,t,...n)}with(e,t){return this[V].with(e,t)}get[Symbol.unscopables](){return this[V][Symbol.unscopables]}}var B,U;class X{constructor(e){if(this.uuids=new WeakMap,this.refs={},this[B]="IterableWeakMap",this.registry=new FinalizationRegistry(e=>{delete this.refs[e]}),e)for(const[t,n]of e)this.set(t,n)}createIterator(e){const{refs:t}=this;return function*(){for(const n of Object.keys(t)){const[r,o]=t[n],s=r.deref();s?yield e(s,o):delete t[n]}}()}clear(){for(const e of Object.keys(this.refs)){const t=this.refs[e][0].deref();t&&this.registry.unregister(t)}this.uuids=new WeakMap,this.refs={}}delete(e){const t=this.uuids.get(e);return!!t&&(delete this.refs[t],this.uuids.delete(e),this.registry.unregister(e),!0)}forEach(e,t){for(const[n,r]of this)e.call(t??this,r,n,t??this)}get(e){const t=this.uuids.get(e);if(t)return this.refs[t][1]}has(e){return this.uuids.has(e)}set(e,t){let n=this.uuids.get(e);return n?this.refs[n][1]=t:(n=crypto.randomUUID(),this.uuids.set(e,n),this.refs[n]=[new WeakRef(e),t],this.registry.register(e,n,e)),this}get size(){return[...this].length}entries(){return this.createIterator((e,t)=>[e,t])}keys(){return this.createIterator((e,t)=>e)}values(){return this.createIterator((e,t)=>t)}[Symbol.iterator](){return this.entries()}}B=Symbol.toStringTag;class Z{constructor(e){if(this.uuids=new WeakMap,this.refs={},this[U]="IterableWeakSet",this.registry=new FinalizationRegistry(e=>{delete this.refs[e]}),e)for(const t of e)this.add(t)}createIterator(e){const{refs:t}=this;return function*(){for(const n of Object.keys(t)){const r=t[n].deref();r?yield e(r):delete t[n]}}()}clear(){for(const e of Object.keys(this.refs)){const t=this.refs[e].deref();t&&this.registry.unregister(t)}this.uuids=new WeakMap,this.refs={}}add(e){let t=this.uuids.get(e);return t||(t=crypto.randomUUID(),this.uuids.set(e,t),this.refs[t]=new WeakRef(e),this.registry.register(e,t,e)),this}delete(e){const t=this.uuids.get(e);return!!t&&(delete this.refs[t],this.uuids.delete(e),this.registry.unregister(e),!0)}forEach(e,t){for(const n of this)e.call(t??this,n,n,t??this)}has(e){return this.uuids.has(e)}get size(){return[...this].length}entries(){return this.createIterator(e=>[e,e])}keys(){return this.createIterator(e=>e)}values(){return this.createIterator(e=>e)}[Symbol.iterator](){return this.keys()}union(e){const t={[Symbol.iterator]:()=>e.keys()},n=this;return new Set(function*(){yield*n;for(const e of t)n.has(e)||(yield e)}())}intersection(e){const t=this;return new Set(function*(){for(const n of t)e.has(n)&&(yield n)}())}difference(e){const t=this;return new Set(function*(){for(const n of t)e.has(n)||(yield n)}())}symmetricDifference(e){const t={[Symbol.iterator]:()=>e.keys()},n=this;return new Set(function*(){for(const t of n)e.has(t)||(yield t);for(const e of t)n.has(e)||(yield e)}())}isSubsetOf(e){for(const t of this)if(!e.has(t))return!1;return!0}isSupersetOf(e){const t={[Symbol.iterator]:()=>e.keys()};for(const e of t)if(!this.has(e))return!1;return!0}isDisjointFrom(e){for(const t of this)if(e.has(t))return!1;return!0}}function G(e,t){const n=new WeakMap,r=e(Object);return n.set(Object,r),new Proxy(r,{apply(r,o,s){if(0===s.length)throw new Error("Mixin requires a base class");const i=s[0];if("function"!=typeof i)throw new Error("Mixin requires a constructor function");if(!(y(i)||i&&"function"==typeof i&&i.prototype))throw new Error("Mixin requires a valid constructor");const c=n.get(i);if(c)return c;let a=i;if(t){const e=class extends i{},n=i.prototype,r=new Proxy(n,{get(e,n,r){const o=b.get(e,n,r);return"function"!=typeof o||"string"!=typeof n||["constructor","toString","valueOf"].includes(n)?o:function(...e){const n=t(this);return o.apply(n,e)}}});Object.setPrototypeOf(e.prototype,r),a=e}const f=e(a);return n.set(i,f),f}})}U=Symbol.toStringTag;const J=(e,t)=>(...n)=>t[e](...n),Y=new WeakMap,Q=new WeakMap;function ee(e,t){Q.set(t,e),Y.set(e,t)}const te={[Symbol.toStringTag]:"MutTs PromiseChain function",get:(e,t)=>t===Symbol.toStringTag?"PromiseProxy":"string"==typeof t&&["then","catch","finally"].includes(t)?e[t]:ie(e.then(e=>e[t]))},ne=e=>({then:J("then",e),catch:J("catch",e),finally:J("finally",e)}),re={[Symbol.toStringTag]:"MutTs PromiseChain object",get(e,t,n){const r=Object.getOwnPropertyDescriptor(e,t)?.get,o=r?r.call(n):e[t];return"function"==typeof e?o:ie(o)},apply:(e,t,n)=>ie(e.apply(t,n))};function oe(e){const t=new Proxy(e,re);return ee(e,t),t}function se(e){return e&&["function","object"].includes(typeof e)}function ie(e){if(!se(e))return e;if(Y.has(e))return Y.get(e);if(!(e instanceof Promise))return oe(e);e=e.then(e=>se(e)?oe(e):e);const t=Object.assign(function(...t){return ie(e.then(e=>this?.then?this.then(n=>e.apply(n,t)):e.apply(this,t)))},ne(e)),n=new Proxy(t,te);return ee(e,n),n}const ce=Symbol("native-reactive"),ae=Symbol("non-reactive"),fe=Symbol("unreactive-properties"),le=Symbol("all-props"),ue=Symbol("projection-info"),he=Symbol("stopped"),de=Symbol("cleanup"),pe=Symbol("root-function");var ge;e.ReactiveErrorCode=void 0,(ge=e.ReactiveErrorCode||(e.ReactiveErrorCode={})).CycleDetected="CYCLE_DETECTED",ge.MaxDepthExceeded="MAX_DEPTH_EXCEEDED",ge.MaxReactionExceeded="MAX_REACTION_EXCEEDED",ge.WriteInComputed="WRITE_IN_COMPUTED",ge.TrackingError="TRACKING_ERROR",ge.BrokenEffects="BROKEN_EFFECTS";class ye extends Error{constructor(e,t){super(e),this.debugInfo=t,this.name="ReactiveError"}get code(){return this.debugInfo?.code}get cause(){return this.debugInfo?.cause}}const me={enter:e=>{},leave:e=>{},chain:(e,t)=>{},beginChain:e=>{},endChain:()=>{},garbageCollected:e=>{},touched:(e,t,n,r)=>{},skipRunningEffect:e=>{},maxEffectChain:100,maxTriggerPerBatch:10,maxEffectReaction:"throw",onMemoizationDiscrepancy:void 0,cycleHandling:"none",isVerificationRun:!1,maxDeepWatchDepth:100,instanceMembers:!0,ignoreAccessors:!0,recursiveTouching:!0,asyncMode:"cancel",warn:(...e)=>{},introspection:{enableHistory:!1,historySize:50},zones:{setTimeout:!0,setInterval:!0,requestAnimationFrame:!0,queueMicrotask:!0}},be=new WeakMap,we=new WeakMap,ve=new WeakMap,Se=new WeakMap,ke=new WeakMap;function je(e,t){const n=ke.get(t),r=n?.deref();if(r&&r!==e){const n=t.name||"anonymous",o=r.name||"anonymous",s=e.name||"anonymous";throw new Error(`[reactive] Abusive Shared Root detected: Root '${n}' is already identifying function '${o}'. Cannot reuse it for '${s}'. Shared roots cause lost updates and broken identity logic.`)}return ke.set(t,new WeakRef(e)),Object.defineProperty(e,pe,{value:Me(t),writable:!1})}function Me(e){for(;e&&pe in e;)e=e[pe];return e}const Oe=Symbol("external-source");let Ee=!1;const xe=new Set,Re=new Set,Te=new WeakMap,De=new WeakMap;let Pe=0,Ae=0;const We=new Map;function $e(e){let t=Te.get(e);if(!t){const n=Me(e);t=n?.name?.trim()||"effect_"+ ++Pe,Te.set(e,t)}return t}function ze(e){let t=De.get(e);if(!t){const n=e?.constructor?.name;t=`${n&&"Object"!==n?n:"object"}_${++Ae}`,De.set(e,t)}return t}function Ie(e){if(!e||xe.has(e))return;xe.add(e);const t=be.get(e);if(t)for(const e of t)Ce(e)}function Ce(e){Re.has(e)||function(e){Re.add(e),ze(e)}(e)}function Ne(e,t,n,r,o,s){const i=function(e){let t=We.get(e);return t||(t=new Map,We.set(e,t)),t}(e);let c=i.get(t);c||(c=new Map,i.set(t,c));let a=c.get(n);return a||(a={label:n,object:r,prop:o,evolution:s,count:0,lastTriggered:Date.now()},c.set(n,a)),a}function Ke(e,t){Te.set(e,t)}function Le(e,t){De.set(e,t),Re.add(e)}function qe(e){e&&Ee&&Ie(e)}function He(e){Ee&&Ce(e)}function _e(e,t,n,r,o){if(me.introspection.enableHistory&&function(e,t,n,r,o){const s={id:++Xe,timestamp:Date.now(),source:e?$e(e):"External",target:$e(t),objectName:ze(n),prop:String(r),type:o.type};Ue.push(s),Ue.length>me.introspection.historySize&&Ue.shift()}(e,t,n,r,o),!Ee)return;Ie(t),e&&Ie(e);const s=function(e,t){const n=ze(e);return t===le?`${n}.*`:"symbol"==typeof t?`${n}.${t.description??t.toString()}`:`${n}.${String(t)}`}(n,r),i=Ne(e??Oe,t,s,n,r,o);i.count+=1,i.lastTriggered=Date.now(),Ce(n)}function Ve(e,t=5){const n=[];let r=e;for(let e=0;e<t;e++){let e,t="";e:for(const[n,o]of We)for(const[s,i]of o)if(s===r){let r=0;for(const o of i.values())o.lastTriggered>r&&(r=o.lastTriggered,t=o.label,e=n===Oe?void 0:n);if(e||t)break e}if(!e){if(t){n.push(`External -> (${t}) -> ${$e(r)}`);break}break}n.push(`${$e(e)} -> (${t}) -> ${$e(r)}`),r=e}return n.reverse()}function Fe(){const e=[],t=[],n=new Map,r=new Set(xe);!function(e){const t=Array.from(e);for(let n=0;n<t.length;n++){const r=t[n],o=Se.get(r);o&&!e.has(o)&&(e.add(o),t.push(o))}}(r);const{nodes:o,nodeByEffect:s}=function(e){const t=[],n=new Map,r=Array.from(e);for(const e of r){const r=$e(e),o={id:`effect_${t.length}`,label:r,type:"effect",depth:0,debugName:r};t.push(o),n.set(e,o)}const o=new Map,s=e=>{if(!e)return 0;const t=o.get(e);if(void 0!==t)return t;const n=Se.get(e),r=s(n)+(n?1:0);return o.set(e,r),r};for(const[e,t]of n){t.depth=s(e);const r=Se.get(e);if(r){const e=n.get(r);e&&(t.parentId=e.id)}}return{nodes:t,nodeByEffect:n}}(r);for(const t of o)e.push(t);for(const[e,t]of s)n.set(e,t.id);for(const t of Re){const r=`object_${e.length}`;e.push({id:r,label:ze(t),type:"state",debugName:De.get(t)}),n.set(t,r)}if(We.has(Oe)){const t="effect_external";e.push({id:t,label:"External",type:"external",depth:0}),n.set(Oe,t)}for(const e of r){const r=n.get(e);if(!r)continue;const o=be.get(e);if(o)for(const e of o){const o=n.get(e);o&&t.push({id:`${r}->${o}`,source:r,target:o,type:"dependency",label:"depends"})}}for(const[e,r]of We)for(const[o,s]of r){const r=n.get(o);if(!r)continue;const i=n.get(e);if(i)for(const e of s.values())t.push({id:`${i}->${r}:${e.label}`,source:i,target:r,type:"cause",label:e.count>1?`${e.label} (${e.count})`:e.label,count:e.count})}return{nodes:e,edges:t,meta:{generatedAt:Date.now(),devtoolsEnabled:Ee}}}function Be(){return Ee}const Ue=[];let Xe=0;var Ze;function Ge(e){return e}class Je{enter(e){const t=this.active;return this.active=e,t}leave(e){this.active=e}with(e,n){const r=this.enter(e);let o;try{o=n()}finally{this.leave(r)}return t.sanitizePromise(o)}root(e){let t=this.enter();try{return e()}finally{this.leave(t)}}get zoned(){const e=this.active;return M(`${this}@${e}`,t=>this.with(e,t))}}class Ye extends Je{}class Qe extends Je{has(e){return this.history.has(e)}some(e){for(const t of this.history)if(e(t))return!0;return!1}constructor(e=new Ye){super(),this.controlled=e,this.history=new Set;const t=this;this.present=Object.create(e,Object.getOwnPropertyDescriptors({get active(){return e.active},set active(t){e.active=t},enter(n){if(n&&t.history.has(n))throw new Error("ZoneHistory: re-entering historical zone");return void 0!==n&&t.history.add(n),{added:n,entered:e.enter(n)}},leave:n=>(void 0!==n.added&&t.history.delete(n.added),e.leave(n.entered))}))}get active(){return{present:this.controlled.active,history:new Set(this.history)}}set active(e){this.history=this.history&&new Set(this.history),this.controlled.active=e?.present}}class et extends Je{constructor(...e){super(),Ze.set(this,new Set);for(const t of e)C(this,Ze,"f").add(t)}get active(){const e=new Map;for(const t of C(this,Ze,"f"))void 0!==t.active&&e.set(t,t.active);return e}set active(e){for(const t of C(this,Ze,"f"))t.active=e?.get(t)}enter(e){const t=new Map;for(const n of C(this,Ze,"f")){const r=e?.get(n);t.set(n,Ge(n).enter(r))}return t}leave(e){for(const t of C(this,Ze,"f"))Ge(t).leave(e.get(t))}add(e){C(this,Ze,"f").add(e)}delete(e){C(this,Ze,"f").delete(e)}clear(){C(this,Ze,"f").clear()}}Ze=new WeakMap;const tt=j("async",new et);t.addHook(()=>{const e=tt.active;return()=>{const t=tt.active;return tt.active=e,()=>tt.active=t}});const nt=j("effectHistory",new Qe);j("effectHistory.present",nt.present),tt.add(nt);const rt=j("effectAggregator",new et(nt.present));function ot(e){const t=Me(e);return nt.some(e=>Me(e)===t)}function st(){return nt.present.active}const it=new WeakMap,ct=new WeakMap;function at(e){let t=e;for(;t&&"object"==typeof t&&null!==t&&ct.has(t);)t=ct.get(t);return t}function ft(e){const t=new Map;for(let n=0;n<e.length;n++){const r=e[n];if(t.has(r))return e.slice(t.get(r));t.set(r,n)}return null}function lt(e,t=20){const n=e.map(e=>e.name||"<anonymous>");if(n.length<=t)return n.join(" → ");const r=n.slice(0,5),o=n.slice(-10);return`${r.join(" → ")} ... (${n.length-15} more) ... ${o.join(" → ")}`}let ut;const ht=new Array(100);function dt(t,n,r,o){const s=Me(t);if(!ut)return;let i=ut.get(s);i||(i=new Map,ut.set(s,i));let c=i.get(n);c||(c=new Map,i.set(n,c));const a=(c.get(o)??0)+1;if(c.set(o,a),ht.unshift({effect:t,obj:n,evolution:r,prop:o}),ht.pop(),a>=me.maxTriggerPerBatch){const t=s?.name||"anonymous",n=`Aggressive trigger detected: effect "${t}" triggered ${a} times in the batch by the same cause.`;if("throw"===me.maxEffectReaction)throw new ye(n,{code:e.ReactiveErrorCode.MaxReactionExceeded,count:a,effect:t});me.warn(`[reactive] ${n}`)}}const pt=new WeakMap,gt=new WeakSet,yt=new WeakMap,mt=new WeakMap,bt=new WeakMap,wt=new WeakMap,vt=new WeakMap;function St(e,t){let n=e.get(t);return n||(n=new Z,e.set(t,n)),n}function kt(e,t,n){if(e===t)return!0;if(e===n)return!1;const r=new Set,o=[e];for(r.add(e),r.add(n);o.length>0;){const e=o.shift(),n=yt.get(e);if(n)for(const e of n){if(e===t)return!0;r.has(e)||(r.add(e),o.push(e))}}return!1}let jt;function Mt(e){return jt?.all.has(Me(e))}const Ot=new Set;function Et(e,t,n=new Set,r=[]){if(e===t)return[...r,t];if(n.has(e))return[];n.add(e);const o=[...r,e],s=yt.get(e);if(s)for(const e of s){const r=Et(e,t,n,o);if(r.length>0)return r}return[]}function xt(e,t){const n=Et(t,e);return n.length>0?[e,...n]:[]}function Rt(t,n,r){if(t[de]?.(),t[he])return;if(!jt)return;const o=Me(t);if("none"===me.cycleHandling&&jt.all.has(o)&&jt.all.delete(o),jt.all.set(o,t),n&&!r&&"none"!==me.cycleHandling){const r=Me(n);if(function(e,t){if(e===t)return!1;const n=wt.get(t);return!!n?.has(e)}(r,o)){const n=xt(r,o),s=n.length>0?`Cycle detected: ${n.map(e=>e.name||e.toString()).join(" → ")}`:`Cycle detected: ${r.name||r.toString()} → ${o.name||o.toString()} (and back)`,i=me.cycleHandling;if("strict"===i){jt.all.delete(o);const r=Ve(t),i=vt.get(o);throw new ye(`[reactive] Strict Cycle Prevention: ${s}`,{code:e.ReactiveErrorCode.CycleDetected,cycle:n.map(e=>e.name||e.toString()),details:s,causalChain:r,creationStack:i})}switch(i){case"throw":{jt.all.delete(o);const r=Ve(t),i=vt.get(o);throw new ye(`[reactive] ${s}`,{code:e.ReactiveErrorCode.CycleDetected,cycle:n.map(e=>e.name||e.toString()),details:s,causalChain:r,creationStack:i})}case"warn":return me.warn(`[reactive] ${s}`),void jt.all.delete(o);case"break":return void jt.all.delete(o)}}!function(e,t){if("none"===me.cycleHandling)return;const n=yt.get(e);if(n?.has(t))return;if(n)n.add(t);else{const n=new Z;n.add(t),yt.set(e,n)}let r=mt.get(t);if(r||(r=new Z,mt.set(t,r)),r.add(e),e===t)return;const o=St(wt,e),s=St(bt,t);o.add(t),s.add(e);const i=bt.get(e);if(i)for(const e of i)e!==t&&(St(wt,e).add(t),s.add(e));const c=wt.get(t);if(c)for(const t of c)t!==e&&(St(bt,t).add(e),o.add(t));if(i&&c)for(const e of i){const t=St(wt,e);for(const n of c)e!==n&&(t.add(n),St(bt,n).add(e))}}(r,o)}}function Tt(e){jt?Ot.add(e):e()}const Dt=Tt;function Pt(e,t,n,r,o){if(n.has(e)){const t=r.indexOf(e);return r.slice(t).concat([e])}if(t.has(e))return[];t.add(e),n.add(e),r.push(e);const s=yt.get(e);if(s)for(const e of s)if(o.all.has(e)){const s=Pt(e,t,n,r,o);if(s.length>0)return s}return r.pop(),n.delete(e),[]}function At(e){let t=null,n=null;if("none"===me.cycleHandling){const e=jt.all.entries().next().value;e&&([n,t]=e)}else for(const[e,r]of jt.all){if(0===(jt.inDegrees.get(e)??0)){t=r,n=e;break}}if(!t){if(jt.all.size>0){let e=function(e){const t=new Set,n=new Set,r=[];for(const[o]of e.all){if(t.has(o))continue;const s=Pt(o,t,n,r,e);if(s.length>0)return s}return[]}(jt);if(0===e.length)for(const[t]of jt.all){const n=wt.get(t);if(n){for(const r of n)if(r!==t&&jt.all.has(r)){const n=wt.get(r);if(n?.has(t)){e=[t,r,t];break}}if(e.length>0)break}}const t=e.length>0?`Cycle detected: ${e.map(e=>e.name||"<anonymous>").join(" → ")}`:"Cycle detected in effect batch - all effects have dependencies that prevent execution";switch(me.cycleHandling){case"throw":throw new ye(`[reactive] ${t}`);case"warn":{me.warn(`[reactive] ${t}`);const e=jt.all.values().next().value;if(e){const t=Me(e);return jt.all.delete(t),jt.inDegrees.delete(t),e()}break}case"break":{const e=jt.all.values().next().value;if(e){const t=Me(e);return jt.all.delete(t),jt.inDegrees.delete(t),e()}break}}}return null}e.push(Me(t));const r=t();return jt.all.delete(n),jt.inDegrees.delete(n),function(e,t){const n=wt.get(t);if(n)for(const t of n)if(e.all.has(t)){const n=e.inDegrees.get(t)??0;n>0&&e.inDegrees.set(t,n-1)}}(jt,n),r}function Wt(t,n){Array.isArray(t)||(t=[t]);const r=t.map(Me);if(jt){me?.chain(r,Me(st()));const e=st();for(let r=0;r<t.length;r++)Rt(t[r],e,"immediate"===n);if(n){const e={};for(let n=0;n<t.length;n++)try{const r=t[n]();void 0===r||"value"in e||(e.value=r)}finally{const e=Me(t[n]);jt.all.delete(e)}return e.value}}else{if(ut)throw new Error("Batch already in progress");ut=new Map,me.beginChain(r),jt={all:new Map,inDegrees:new Map};const o=st(),s=[],i={};try{if(n)for(let e=0;e<t.length;e++)try{const n=t[e]();void 0===n||"value"in i||(i.value=n)}finally{jt.all.delete(Me(t[e]))}else{for(let e=0;e<t.length;e++)Rt(t[e],o,!1);!function(e){if("none"===me.cycleHandling)return;const t=st(),n=t?Me(t):null;e.inDegrees.clear();for(const[t]of e.all){let r=0;const o=bt.get(t);if(o)for(const s of o)e.all.has(s)&&s!==n&&s!==t&&r++;e.inDegrees.set(t,r)}}(jt)}for(;jt.all.size>0||Ot.size>0;)if(jt.all.size>0){if(s.length>me.maxEffectChain){const t=ft(s),n=lt(s),r=t?`Max effect chain reached (cycle detected: ${lt(t)})`:`Max effect chain reached (trace: ${n})`,o=(jt?Array.from(jt.all.keys()):[]).map(e=>e.name||"<anonymous>"),i={code:e.ReactiveErrorCode.MaxDepthExceeded,effectuatedRoots:s,cycle:t,trace:n,maxEffectChain:me.maxEffectChain,queued:o.slice(0,50),queuedCount:o.length,causalChain:s.length>0?Ve(jt.all.get(s[s.length-1])):[]};switch(me.maxEffectReaction){case"throw":case"debug":throw new ye(`[reactive] ${r}`,i);case"warn":me.warn(`[reactive] ${r} (queued: ${o.slice(0,10).join(", ")}${o.length>10?", …":""})`)}}const t=At(s);void 0===t||"value"in i||(i.value=t)}else{const e=Array.from(Ot);Ot.clear();for(const t of e)t()}return i.value}catch(t){throw t instanceof ye?t:new ye("Effects are broken",{code:e.ReactiveErrorCode.BrokenEffects,cause:t})}finally{ut=void 0,jt=void 0,me.endChain()}}}const $t=R({method:e=>function(...t){const n=()=>e.apply(this,t);return Object.defineProperty(n,"name",{value:`atomic(${e.name})`}),Wt(n,"immediate")},default:e=>function(...t){const n=()=>e.apply(this,t);return Object.defineProperty(n,"name",{value:`atomic(${e.name})`}),Wt(n,"immediate")}}),zt=new FinalizationRegistry(e=>e());function It(e,t){const n=t?.asyncMode??me.asyncMode??"cancel";if(me.introspection.enableHistory){const t=(new Error).stack;if(t){const n=t.split("\n").slice(2).join("\n");vt.set(Me(e),n)}}let r=null;const o=nt.present.with(u,()=>rt.zoned),s=nt.zoned;let i=nt.present.active,c=!1,a=!1,f=null,l=null;function u(){if(r){const e=r;r=null,Ct(()=>e())}if(f)if("cancel"===n&&l)l(),l=null,f=null;else if("ignore"===n)return;if(c)return;let t,i;me.enter(Me(e));try{if(i=o(()=>e({tracked:o,ascend:s,reaction:a})),i&&"function"!=typeof i&&("object"!=typeof i||!("then"in i)))throw new ye(`[reactive] Effect returned a non-function value: ${i}`);if(i&&"object"==typeof i&&"function"==typeof i.then){const e=i;let t=null;const n=new Promise((e,n)=>{t=n}),r=new ye("[reactive] Effect canceled due to dependency change");f=Promise.race([e,n]),l=()=>{t&&t(r)}}else t=i}finally{a=!0,me.leave(e)}r=()=>{r=null,t?.();const e=be.get(u);if(e){for(const t of e){const e=we.get(t);if(e){for(const[t,n]of e.entries())n.delete(u),0===n.size&&e.delete(t);0===e.size&&we.delete(t)}}be.delete(u)}const n=ve.get(u);if(n){for(const e of n)e();ve.delete(u)}}}function h(e){return Object.defineProperties(e,{[he]:{get:()=>c},[de]:{value:()=>{if(r){const e=r;r=null,Ct(()=>e())}}}})}je(u,e),h(u),t?.opaque&&gt.add(u),Be()&&qe(u),Wt(u,"immediate"),Se.set(u,i);const d=()=>{c||(c=!0,l&&(l(),l=null,f=null),r?.(),function(e){if("none"===me.cycleHandling)return;const t=Me(e),n=bt.get(t),r=wt.get(t),o=yt.get(t);if(o){for(const e of o){const n=mt.get(e);n?.delete(t)}yt.delete(t)}const s=mt.get(t);if(s){for(const e of s){const n=yt.get(e);n?.delete(t)}mt.delete(t)}if(n)for(const e of n){const n=wt.get(e);if(n&&(n.delete(t),r))for(const o of r)kt(e,o,t)||n.delete(o)}if(r)for(const e of r){const r=bt.get(e);if(r&&(r.delete(t),n))for(const o of n)kt(o,e,t)||r.delete(o)}if(n&&r)for(const e of n){const n=wt.get(e);if(n)for(const o of r)if(!kt(e,o,t)){n.delete(o);const t=bt.get(o);t?.delete(e)}}bt.delete(t),wt.delete(t)}(u),zt.unregister(d))};if(!i){const t=h(()=>d());return zt.register(t,()=>{d(),me.garbageCollected(e)},d),t}let p=ve.get(i);p||(p=new Set,ve.set(i,p));const g=h(()=>{p.delete(g),0===p.size&&ve.delete(i),d()});return p.add(g),g}function Ct(e){return nt.present.root(e)}function Nt(e){return nt.root(e)}const Kt=new WeakMap,Lt=new WeakSet,qt=new WeakMap,Ht=new WeakMap;function _t(e,t,n){let r=Kt.get(e);r||(r=new Set,Kt.set(e,r)),r.add({parent:t,prop:n})}function Vt(e,t,n){const r=Kt.get(e);if(r){for(const e of r)if(e.parent===t&&e.prop===n){r.delete(e);break}0===r.size&&Kt.delete(e)}}function Ft(e){return!!Lt.has(e)||Ut(e)}function Bt(e,t){const n=Kt.get(e);if(n)for(const{parent:e}of n){const t=qt.get(e);if(t)for(const e of t)Wt(e);Bt(e)}}function Ut(e){const t=Kt.get(e);if(!t)return!1;for(const{parent:e}of t){if(Lt.has(e))return!0;if(Ut(e))return!0}return!1}const Xt=new WeakMap;function Zt(e,t){const n={},r=Gt(e=at(e));r&&Object.assign(r,{evolution:t,next:n}),Xt.set(e,n)}function Gt(e){e=at(e);let t=Xt.get(e);return t||(t={},Xt.set(e,t)),t}function Jt(e,t,n,r,...o){const s=st();for(const i of o)for(const o of i){const i=r.get(o);if(i)for(const r of i){if(ot(r)){me.skipRunningEffect(r);continue}n.has(r)||(n.add(r),Mt(r)||dt(r,e,t,o));const i=pt.get(r);if(_e(s,r,e,o,t),i){for(const n of i)n(e,t,o);i.delete(r)}}}}function Yt(e,t,n){Qt(e,t,[n])}function Qt(e,t,n){Zt(e=at(e),t);const r=we.get(e);if(r){const o=new Set;n?Jt(e,t,o,r,[le],n):Jt(e,t,o,r,r.keys()),me.touched(e,t,n,o),Wt(Array.from(o))}Lt.has(e)&&Bt(e)}const en=new WeakSet,tn=new Set,nn=Symbol("absent");function rn(...e){for(const t of e)t&&(t.prototype[ae]=!0);return e[0]}function on(e){if(null===e||"object"!=typeof e)return!0;if(en.has(e))return!0;if(e[ae])return!0;for(const t of tn)if(t(e))return!0;return!1}function sn(e){return function(e){return"object"==typeof e&&null!==e}(e)}function cn(e){if(sn(e)){if(Array.isArray(e))return Array.prototype;try{return e.constructor}catch{return}}}function an(e,t){return e!==t&&(!(!sn(e)||!sn(t))&&(!on(e)&&!on(t)&&cn(e)===cn(t)))}function fn(e,t,n,r,o){const s={type:o?"set":"add",prop:t};if(me.recursiveTouching&&void 0!==n&&an(n,r)){const o={obj:at(e),prop:t};!function(e){if(!e.length)return;const t=new Set,n=e[0]?.origin;let r;if(n){r=new Set;const e=we.get(n.obj);if(e){const t=new Set;Jt(n.obj,{type:"set",prop:n.prop},t,e,[le],[n.prop]);for(const e of t)r.add(e)}if(0===r.size)return}for(const{target:o,evolution:s,prop:i}of e){if(!sn(o))continue;const e=at(o);Zt(e,s);const c=we.get(e);let a;const f=[i];if(c){if(a=new Set,Jt(e,s,a,c,[le],f),n&&r){const e=new Set;for(const t of a)(r.has(t)||hn(t,r))&&e.add(t);a=e}for(const e of a)t.add(e)}me.touched(e,s,f,a),Lt.has(e)&&Bt(e)}t.size&&Wt([...t])}(un(n,r,new WeakMap,[],o)),function(e,t,n){e=at(e);const r=we.get(e);if(!r)return;const o=r.get(n);if(!o)return;const s=new Set,i=st();for(const r of o){if(!gt.has(r))continue;if(ot(r)){me.skipRunningEffect(r);continue}s.add(r),dt(r,e,t,n);const o=pt.get(r);if(_e(i,r,e,n,t),o){for(const r of o)r(e,t,n);o.delete(r)}}s.size>0&&(me.touched(e,t,[n],s),Wt(Array.from(s)))}(e,s,t)}else Yt(e,s,t)}function ln(e){const t=new Set(Reflect.ownKeys(e));let n=Object.getPrototypeOf(e);for(;n&&!Object.hasOwn(n,"constructor");){for(const e of Reflect.ownKeys(n))t.add(e);n=Object.getPrototypeOf(n)}return t}function un(e,t,n=new WeakMap,r=[],o){return an(e,t)&&sn(e)&&sn(t)?function(e,t,n){let r=e.get(t);return r||(r=new WeakSet,e.set(t,r)),!!r.has(n)||(r.add(n),!1)}(n,e,t)?r:Array.isArray(e)&&Array.isArray(t)?(function(e,t,n,r,o){const s=[],i=e.length,c=t.length,a=Math.max(i,c);for(let n=0;n<a;n++){const r=n<i,a=n<c;if(r&&!a){s.push({target:e,evolution:{type:"del",prop:n},prop:n,origin:o});continue}if(!r&&a){s.push({target:e,evolution:{type:"add",prop:n},prop:n,origin:o});continue}if(!r||!a)continue;const f=at(e[n]),l=at(t[n]);Object.is(f,l)||s.push({target:e,evolution:{type:"set",prop:n},prop:n,origin:o})}i!==c&&s.push({target:e,evolution:{type:"set",prop:"length"},prop:"length",origin:o});r.push(...s)}(e,t,0,r,o),r):(function(e,t,n,r,o){const s=ln(e),i=ln(t),c=[];for(const t of s)i.has(t)||c.push({target:e,evolution:{type:"del",prop:t},prop:t,origin:o});for(const t of i)s.has(t)||c.push({target:e,evolution:{type:"add",prop:t},prop:t,origin:o});for(const a of i){if(!s.has(a))continue;const i=at(e[a]),f=at(t[a]);an(i,f)?un(i,f,n,r,o):Object.is(i,f)||c.push({target:e,evolution:{type:"set",prop:a},prop:a,origin:o})}r.push(...c)}(e,t,n,r,o),r):r}function hn(e,t){let n=e;const r=new WeakSet;for(;n&&!r.has(n);){if(r.add(n),t.has(n))return!0;n=Se.get(n)}return!1}function dn(e,t=le){e=at(e);const n=st();if(!n||"symbol"==typeof t&&t!==le)return;let r=we.get(e);r||(r=new Map,we.set(e,r));let o=r.get(t);o||(o=new Set,r.set(t,o)),o.add(n);const s=be.get(n);s?s.add(e):be.set(n,new Set([e]))}rn(Date,RegExp,Error,Promise,Function),"undefined"!=typeof window&&(!function(...e){for(const t of e){try{Object.defineProperty(t,ae,{value:!0,writable:!1,enumerable:!1,configurable:!1})}catch{}ae in t||en.add(t)}e[0]}(window,document),rn(Node,Element,HTMLElement,EventTarget));const pn=new WeakMap,gn=[],yn={[Symbol.toStringTag]:"MutTs Reactive",get(e,t,n){if(e&&"object"==typeof e&&!Object.hasOwn(e,t)){const n=pn.get(e.constructor);if(n&&t in n){const r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(e):(...t)=>r.value.apply(e,t)}}if(t===ae)return!1;const r=at(e);if(r[fe]?.has(t)||"symbol"==typeof t)return b.get(e,t,n);const o=Reflect.has(n,t),s=o&&Object.hasOwn(n,t),i=o&&!s,c=me.ignoreAccessors&&s&&(w(n,t)||w(r,t));if(o&&(me.instanceMembers&&i&&e instanceof Object||c)||dn(e,t),i&&(!me.instanceMembers||!(e instanceof Object))){let n=wn(Object.getPrototypeOf(e));for(;n&&n!==Object.prototype&&(dn(n,t),!Object.hasOwn(n,t));){let e=wn(Object.getPrototypeOf(n));e===n&&(e=wn(Object.getPrototypeOf(at(n)))),n=e}}const a=b.get(e,t,n);if("object"==typeof a&&null!==a){const n=wn(a);return Ft(e)&&_t(n,e,t),n}return a},set(e,t,n,r){const o=at(e),s=at(r);if(o[fe]?.has(t)||o!==s)return b.set(e,t,n,r);const i=at(n);let c=nn;if(Reflect.has(s,t)){Object.getOwnPropertyDescriptor(s,t),Object.getOwnPropertyDescriptor(o,t);c=Ct(()=>Reflect.get(o,t,r))}if(Lt.has(e)&&("object"==typeof c&&null!==c&&Vt(c,e,t),"object"==typeof i&&null!==i)){_t(wn(i),e,t)}return c!==i&&b.set(e,t,i,r)&&fn(e,t,c,i,c!==nn),!0},has(t,n){if(gn.includes(t))throw new ye(`[reactive] Circular dependency detected in 'has' check for property '${String(n)}'`,{code:e.ReactiveErrorCode.CycleDetected,cycle:[]});gn.push(t),dn(t,n);const r=Reflect.has(t,n);return gn.pop(),r},deleteProperty(e,t){if(!Object.hasOwn(e,t))return!1;const n=e[t];return Lt.has(e)&&"object"==typeof n&&null!==n&&Vt(n,e,t),delete e[t],Yt(e,{type:"del",prop:t},t),Lt.has(e)&&Bt(e),!0},ownKeys:e=>(dn(e,le),Reflect.ownKeys(e))},mn=new WeakSet,bn=G(e=>class extends e{constructor(...e){return super(...e),mn.has(new.target)?vn(this):this}});function wn(e){if(!e||"object"!=typeof e)return e;const t=e;if(on(t))return t;if(ct.has(t))return t;const n=function(e){return it.get(e)}(t);if(void 0!==n)return n;const r=!(ce in t)||t instanceof t[ce]?t:new t[ce](t);r!==t&&function(e,t){ct.set(e,t)}(r,t);const o=new Proxy(r,yn);return function(e,t){it.set(e,t),ct.set(t,e)}(t,o),o}const vn=R({class(e){if(e.prototype instanceof bn)return mn.add(e),e;class t extends e{constructor(...n){return super(...n),new.target===t||mn.has(new.target)||me.warn(`${e.name} has been inherited by ${this.constructor.name} that is not reactive.\n@reactive decorator must be applied to the leaf class OR classes have to extend ReactiveBase.`),vn(this)}}return Object.defineProperty(t,"name",{value:`Reactive<${e.name}>`}),t},get:e=>wn(e),default:wn});function Sn(e,t,{immediate:n=!1}={}){if(null==e)return;if("object"!=typeof e)throw new Error("Target of deep watching must be an object");const r=je(()=>t(e),t);return It(()=>{Lt.add(e);let o=Ht.get(r);o||(o=new Set,Ht.set(r,o)),o.add(e);const s=new WeakSet;return function e(t,n=0){var r;if(!(!t||s.has(t)||(r=t,"object"!=typeof r||null===r)||n>me.maxDeepWatchDepth||on(t))){s.add(t),Lt.add(t),o.add(t);for(const r in at(t))if(Object.hasOwn(t,r)){const o=t[r];e("object"==typeof o&&null!==o?vn(o):o,n+1)}if(Array.isArray(t)||t instanceof Array){const r=t.length;for(let o=0;o<r;o++){const r=t[o];e("object"==typeof r&&null!==r?vn(r):r,n+1)}}else if(t instanceof Set)for(const r of t){e("object"==typeof r&&null!==r?vn(r):r,n+1)}else if(t instanceof Map)for(const[r,o]of t){e("object"==typeof o&&null!==o?vn(o):o,n+1)}}}(e),n&&t(e),n=!0,()=>{const e=Ht.get(r);if(e){for(const t of e){const e=qt.get(t);e?(e.delete(r),0===e.size&&(qt.delete(t),Lt.delete(t))):Lt.delete(t)}Ht.delete(r)}}})}const kn=Symbol("cleanup"),jn=Symbol("unset-yet");const Mn=R({class(e){rn(e)},default:function(e,...t){return"object"==typeof e?function(e){if(on(e=at(e)))return e;try{Object.defineProperty(e,ae,{value:!0,writable:!1,enumerable:!1,configurable:!0})}catch{}return ae in e||en.add(e),e}(e):n=>{n.prototype[fe]=new Set(n.prototype[fe]||[]),n.prototype[fe].add(e);for(const e of t)n.prototype[fe].add(e);return n}}});function On(e,t){return Object.defineProperty(e,kn,{value:t,writable:!1,enumerable:!1,configurable:!0})}const En=new WeakMap,xn=new WeakMap;function Rn(e,t){e.branches??(e.branches=new WeakMap);let n=e.branches.get(t);return n||(n={},e.branches.set(t,n)),n}function Tn(e){const t=Me(e),n=En.get(t);if(n)return n;const r={},o=je((...t)=>{const n=t;if(n.some(e=>!(e&&["object","symbol","function"].includes(typeof e))))throw new Error("memoize expects non-null object arguments");let o=r;for(const e of n)o=Rn(o,e);if(dn(o,"memoize"),"result"in o){if(me.onMemoizationDiscrepancy){const t=me.isVerificationRun;me.isVerificationRun=!0;try{const t=Ct(()=>e(...n));v(o.result,t)||me.onMemoizationDiscrepancy(o.result,t,e,n,"calculation")}finally{me.isVerificationRun=t}}return o.result}if(o.cleanup=Nt(()=>It(()=>(o.result=e(...n),()=>{delete o.result,Yt(o,{type:"invalidate",prop:n},"memoize"),o.cleanup&&(o.cleanup(),o.cleanup=void 0)}),{opaque:!0})),me.onMemoizationDiscrepancy){const t=me.isVerificationRun;me.isVerificationRun=!0;try{const t=Ct(()=>e(...n));v(o.result,t)||me.onMemoizationDiscrepancy(o.result,t,e,n,"comparison")}finally{me.isVerificationRun=t}}return o.result},e);return En.set(t,o),En.set(o,o),o}const Dn=R({getter:(e,t,n)=>function(){let r=xn.get(e);r||(r=je(m(t=>e.call(t),`${String(t?.constructor?.name??t?.name??"Object")}.${String(n)}`),{method:e,propertyKey:n,...e[pe]?{[pe]:e[pe]}:{}}),xn.set(e,r));return Tn(r)(this)},method:(e,t,n)=>function(...r){let o=xn.get(e);o||(o=je(m((t,...n)=>e.call(t,...n),`${String(t?.constructor?.name??t?.name??"Object")}.${String(n)}`),{method:e,propertyKey:n,...e[pe]?{[pe]:e[pe]}:{}}),xn.set(e,o));return Tn(o)(this,...r)},default:Tn});function*Pn(e){let t=e.next();for(;!t.done;)yield vn(t.value),t=e.next()}function*An(e){let t=e.next();for(;!t.done;){const[n,r]=t.value;yield[vn(n),vn(r)],t=e.next()}}let Wn=(()=>{var e,t,n,r,o,s,i,c,a;let f,l,u=[Mn],h=[],d=function(){class e extends(_(F,{get(e){return this[q](e)},set(e,t){this[H](e,t)},getLength(){return this.length},setLength(e){this.length=e}})){toArray(){return Array.from(this)}}return e}();var p,g,y;return l=class extends d{get[(t=new WeakMap,n=new WeakMap,r=new WeakMap,o=new WeakMap,s=new WeakMap,i=new WeakMap,c=new WeakMap,e=new WeakSet,V)](){return this.toArray()}constructor(a,f){let l;if(super(),e.add(this),t.set(this,void 0),n.set(this,void 0),r.set(this,void 0),o.set(this,new Map),s.set(this,new Map),i.set(this,new Set),c.set(this,void 0),It(({ascend:e})=>{l=e}),N(this,c,l,"f"),"function"!=typeof a)throw new Error("Register requires a key function");N(this,t,a,"f"),N(this,n,vn([]),"f"),N(this,r,vn(new Map),"f"),f&&this.push(...f)}ensureKey(n){let r=C(this,s,"f").get(n);if(r)return r.key;if(r={key:void 0},C(this,s,"f").set(n,r),C(this,c,"f").call(this,()=>{const o=It(({reaction:o})=>{const s=C(this,t,"f").call(this,n);this.assertValidKey(s);const i=r.key;o&&void 0!==i&&!Object.is(s,i)&&C(this,e,"m",a).call(this,n,i,s),r.key=s});r.stop=o,C(this,i,"f").add(o)}),void 0===r.key)throw new Error("Register key function must return a property key");return r.key}assertValidKey(e){const t=typeof e;if("string"!==t&&"number"!==t&&"symbol"!==t)throw new Error("Register key function must return a property key")}setKeyValue(e,t){const n=C(this,r,"f").get(e);void 0!==n&&n!==t&&this.cleanupValue(n),C(this,r,"f").set(e,t)}cleanupValue(e){const t=C(this,s,"f").get(e);if(!t)return;const n=t.stop;n&&(t.stop=void 0,C(this,i,"f").delete(n),n()),C(this,s,"f").delete(e)}disposeKeyEffects(){for(const e of Array.from(C(this,s,"f").keys()))this.cleanupValue(e);C(this,i,"f").clear()}incrementUsage(e){const t=C(this,o,"f").get(e)??0;C(this,o,"f").set(e,t+1)}decrementUsage(e){const t=C(this,o,"f").get(e);if(t)if(t<=1){const t=C(this,r,"f").get(e);C(this,o,"f").delete(e),C(this,r,"f").delete(e),void 0!==t&&this.cleanupValue(t)}else C(this,o,"f").set(e,t-1)}normalizeIndex(e,t=!1){const n=this.length;let r=e;if(r<0&&(r=Math.max(n+r,0)),r>n){if(!t)throw new RangeError("Index out of bounds");r=n}if(!t&&r===n)throw new RangeError("Index out of bounds");return r}assignAt(e,t,r){const o=C(this,n,"f")[e];void 0!==o&&Object.is(o,t)||(void 0!==o&&this.decrementUsage(o),C(this,n,"f")[e]=t,this.incrementUsage(t)),this.setKeyValue(t,r)}insertKeyValue(e,t,r){C(this,n,"f").splice(e,0,t),this.incrementUsage(t),this.setKeyValue(t,r)}rebuildFrom(e){this.disposeKeyEffects(),C(this,n,"f").splice(0,C(this,n,"f").length),C(this,o,"f").clear(),C(this,r,"f").clear();for(const t of e){const e=this.ensureKey(t);C(this,n,"f").push(e),this.incrementUsage(e),C(this,r,"f").set(e,t)}}get length(){return C(this,n,"f").length}[(a=function(e,t,i){if(Object.is(t,i))return;const c=C(this,r,"f").get(i);if(void 0!==c&&c!==e)throw new Error(`Register key collision for key ${String(i)}`);const a=C(this,o,"f").get(t);if(!a)return;const f=C(this,o,"f").get(i)??0;this.setKeyValue(i,e);for(let e=0;e<C(this,n,"f").length;e++)Object.is(C(this,n,"f")[e],t)&&(C(this,n,"f")[e]=i);C(this,o,"f").set(i,f+a),C(this,o,"f").delete(t),C(this,r,"f").delete(t);const l=C(this,s,"f").get(e);l&&(l.key=i)},q)](e){const t=C(this,n,"f")[e];return void 0===t?void 0:C(this,r,"f").get(t)}[H](e,t){const n=this.ensureKey(t);if(e===this.length)return void this.insertKeyValue(e,n,t);const r=this.normalizeIndex(e);this.assignAt(r,n,t)}push(...e){for(const t of e){const e=this.ensureKey(t);this.insertKeyValue(this.length,e,t)}return this.length}pop(){if(this.length)return this.removeAt(this.length-1)}shift(){if(this.length)return this.removeAt(0)}unshift(...e){let t=0;for(const n of e){const e=this.ensureKey(n);this.insertKeyValue(t++,e,n)}return this.length}splice(e,t,...o){const s=this.normalizeIndex(e,!0),i=this.length-s,c=Math.min(void 0===t?i:Math.max(t,0),i),a=[];for(const e of o)a.push(this.ensureKey(e));const f=C(this,n,"f").splice(s,c,...a),l=[];for(const e of f){if(void 0===e)continue;const t=C(this,r,"f").get(e);this.decrementUsage(e),l.push(t)}for(let e=0;e<a.length;e++){const t=a[e],n=o[e];this.incrementUsage(t),this.setKeyValue(t,n)}return l}clear(){C(this,n,"f").length=0,C(this,o,"f").clear(),C(this,r,"f").clear(),this.disposeKeyEffects()}get(e){return C(this,r,"f").get(e)}set(e,t){C(this,r,"f").has(e)&&this.setKeyValue(e,t)}remove(e){let t=this.indexOfKey(e);for(;-1!==t;)this.removeAt(t),t=this.indexOfKey(e)}removeAt(e){const[t]=C(this,n,"f").splice(e,1);if(void 0===t)return;const o=C(this,r,"f").get(t);return this.decrementUsage(t),o}keep(e){const t=new Map;for(const[o,s]of C(this,n,"f").entries()){if(t.has(s)){t.get(s)||this.removeAt(o);continue}const n=e(C(this,r,"f").get(s));t.set(s,n),n||this.removeAt(o)}}hasKey(e){return C(this,o,"f").has(e)}indexOfKey(e){return C(this,n,"f").indexOf(e)}mapKeys(){return C(this,r,"f").keys()}update(...e){for(const t of e){const e=this.ensureKey(t);C(this,r,"f").has(e)&&this.setKeyValue(e,t)}}upsert(e,...t){for(const n of t){const t=this.ensureKey(n);C(this,r,"f").has(t)?this.setKeyValue(t,n):e(n)}}entries(){const e=this;return function*(){for(let t=0;t<C(e,n,"f").length;t++){const o=C(e,r,"f").get(C(e,n,"f")[t]);void 0!==o&&(yield[t,o])}}()}[Symbol.iterator](){const e=this;return function*(){for(const t of C(e,n,"f")){const n=C(e,r,"f").get(t);void 0!==n&&(yield n)}}()}toString(){return`[Register length=${this.length}]`}at(e){const t=e<0?this.length+e:e;if(!(t<0||t>=this.length))return this[q](t)}reverse(){return C(this,n,"f").reverse(),this}sort(e){const t=e?(t,n)=>e(C(this,r,"f").get(t),C(this,r,"f").get(n)):void 0;return C(this,n,"f").sort(t),this}fill(e,t=0,n=this.length){const r=this.toArray();return r.fill(e,t,n),this.rebuildFrom(r),this}copyWithin(e,t,n){const r=this.toArray();return r.copyWithin(e,t,n),this.rebuildFrom(r),this}},p=l,"symbol"==typeof(g="RegisterClass")&&(g=g.description?"[".concat(g.description,"]"):""),Object.defineProperty(p,"name",{configurable:!0,value:y?"".concat(y," ",g):g}),(()=>{const e="function"==typeof Symbol&&Symbol.metadata?Object.create(d[Symbol.metadata]??null):void 0;z(null,f={value:l},u,{kind:"class",name:l.name,metadata:e},null,h),l=f.value,e&&Object.defineProperty(l,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e}),I(l,h)})(),l})();const $n=Wn;const zn=new WeakMap;function In(){const e=st();return e?zn.get(e):void 0}function Cn(e){Object.defineProperty(e,"value",{get:e.get,set:e.set,configurable:!0,enumerable:!0})}function Nn(e,t,n,r){return r&&Object.defineProperty(e,ue,{value:r,writable:!1,enumerable:!1,configurable:!0}),On(e,()=>{n();for(const e of t.values())e?.();t.clear()})}function Kn(e,t){e=vn(e);const n=vn([]),r=new Map;function o(e){const t=r.get(e);t&&(r.delete(e),t(),Reflect.deleteProperty(n,e))}const s=In(),i=s?s.depth+1:0,c=It(function({ascend:c}){const a=e.length;!function(e){b.set(n,"length",e,n)}(a);const f=Array.from(r.keys());for(let o=0;o<a;o++)r.has(o)||c(()=>{const c=o,a=It(function(){const r=Ct(()=>n[c]),o={key:c,source:e,get:()=>b.get(e,c,e),set:t=>b.set(e,c,t,e),old:r};Cn(o);const s=t(o,n);n[c]=s});Ke(a,`project[${i}]:${c}`),zn.set(a,{source:e,key:c,target:n,depth:i,parent:s}),r.set(o,a)});for(const e of f)e>=a&&o(e)});return Nn(n,r,()=>c(),{source:e,target:n,apply:t,depth:i,parent:s})}function Ln(e,t){const n=vn(e),r=new Map,o=vn(r),s=new Map;function i(e){const t=s.get(e);t&&(t(),s.delete(e),o.delete(e))}const c=In(),a=c?c.depth+1:0,f=It(function({ascend:e}){const r=new Set;for(const e of n.mapKeys())r.add(e);for(const i of r)s.has(i)||e(()=>{const e=It(function(){const e=Ct(()=>o.get(i)),r={key:i,source:n,get:()=>n.get(i),set:e=>(n.set(i,e),!0),old:e};Cn(r);const s=t(r,o);o.set(i,s)});Ke(e,`project[${a}]:${String(i)}`),zn.set(e,{source:n,key:i,target:o,depth:a,parent:c}),s.set(i,e)});for(const e of Array.from(s.keys()))r.has(e)||i(e)});return Nn(o,s,()=>f(),{source:n,target:o,apply:t,depth:a,parent:c})}function qn(e,t){const n=vn(e),r=vn({}),o=new Map;function s(e){const t=o.get(e);t&&(t(),o.delete(e),Reflect.deleteProperty(r,e))}const i=In(),c=i?i.depth+1:0,a=It(function({ascend:e}){const a=new Set;for(const e in n)a.add(e);const f=Reflect.ownKeys(n);for(const e of f)a.add(e);for(const s of a)o.has(s)||e(()=>{const e=It(function(){const e=s,o=Ct(()=>r[s]),i={key:e,source:n,get:()=>b.get(n,e,n),set:t=>b.set(n,e,t,n),old:o};Cn(i);const c=t(i,r);r[e]=c});Ke(e,`project[${c}]:${String(s)}`),zn.set(e,{source:n,key:s,target:r,depth:c,parent:i}),o.set(s,e)});for(const e of Array.from(o.keys()))a.has(e)||s(e)});return Nn(r,o,()=>a(),{source:n,target:r,apply:t,depth:c,parent:i})}function Hn(e,t){const n=vn(e),r=new Map,o=vn(r),s=new Map;function i(e){const t=s.get(e);t&&(t(),s.delete(e),o.delete(e))}const c=In(),a=c?c.depth+1:0,f=It(function({ascend:e}){const r=new Set;for(const e of n.keys())r.add(e);for(const i of r)s.has(i)||e(()=>{const e=It(function(){const e=Ct(()=>o.get(i)),r={key:i,source:n,get:()=>n.get(i),set:e=>(n.set(i,e),!0),old:e};Cn(r);const s=t(r,o);o.set(i,s)});Ke(e,`project[${a}]:${String(i)}`),zn.set(e,{source:n,key:i,target:o,depth:a,parent:c}),s.set(i,e)});for(const e of Array.from(s.keys()))r.has(e)||i(e)});return Nn(o,s,()=>f(),{source:n,target:o,apply:t,depth:a,parent:c})}const _n=Object.assign(function(e,t){if(Array.isArray(e))return Kn(e,t);if(e instanceof Map)return Hn(e,t);if(e instanceof $n)return Ln(e,t);if(e&&(e.constructor===Object||void 0===e.constructor))return qn(e,t);throw new Error("Unsupported source type")},{array:Kn,register:Ln,record:qn,map:Hn});function*Vn(e,{length:t=!0}={}){t&&(yield"length"),yield e}function*Fn(e,t,{length:n=!1}={}){const r=Math.min(e,t),o=Math.max(e,t);n&&(yield"length");for(let e=r;e<=o;e++)yield e}class Bn extends Array{get(e){return dn(this,e),vn(this[e])}set(e,t){const n=e>=this.length;this[e]=t,Qt(this,{type:"set",prop:e},Vn(e,{length:n}))}getLength(){return dn(this,"length"),this.length}setLength(e){const t=this.length;try{this.length=e}finally{Qt(this,{type:"set",prop:"length"},Fn(t,e,{length:!0}))}}}const Un={get:b.get,set:b.set};Object.assign(b,{get(e,t,n){if(e instanceof Array&&"string"==typeof t){if("length"===t)return Bn.prototype.getLength.call(e);const n=parseInt(t);if(!Number.isNaN(n))return Bn.prototype.get.call(e,n)}return Un.get(e,t,n)},set(e,t,n,r){if(e instanceof Array&&"string"==typeof t){if("length"===t)return Bn.prototype.setLength.call(e,n);const r=parseInt(t);if(!Number.isNaN(r))return Bn.prototype.set.call(e,r,n)}return Un.set(e,t,n,r)}});class Xn extends Array{toJSON(){return this}get[Symbol.toStringTag](){return"ReactiveArray"}at(e){const t=e<0?this.length+e:e;if(dn(this,t),e<0&&dn(this,"length"),!(t<0||t>=this.length))return vn(this[t])}toReversed(){return dn(this),vn(this.toReversed())}toSorted(e){return dn(this),vn(this.toSorted(e))}toSpliced(e,t,...n){return dn(this),void 0===t?this.toSpliced(e):this.toSpliced(e,t,...n)}with(e,t){return dn(this),vn(this.with(e,t))}entries(){return dn(this),An(this.entries())}keys(){return dn(this,"length"),this.keys()}values(){return dn(this),Pn(this.values())}[Symbol.iterator](){dn(this);const e=this[Symbol.iterator]();return{next(){const t=e.next();return t.done?t:{value:vn(t.value),done:!1}},[Symbol.iterator](){return this},[Symbol.dispose](){}}}indexOf(e,t){const n=this.length;let r=void 0===t?0:t;r<0&&(r=Math.max(n+r,0));const o=at(e);for(;r<n;r++){dn(this,r);const t=this[r];if(t===e||t===o||at(t)===o)return r}return dn(this,"length"),-1}lastIndexOf(e,t){const n=this.length;let r=void 0===t?n-1:t;r>=n&&(r=n-1),r<0&&(r=Math.max(n+r,-1));const o=at(e);for(;r>=0;r--){dn(this,r);const t=this[r];if(t===e||t===o||at(t)===o)return r}return dn(this,"length"),-1}includes(e,t){return-1!==this.indexOf(e,t)}find(e,t){if("function"==typeof e){const n=e,r=this.length;for(let e=0;e<r;e++){dn(this,e);const r=vn(this[e]);if(n.call(t,r,e,this))return r}return void dn(this,"length")}const n="number"==typeof t?t:void 0,r=this.indexOf(e,n);if(-1!==r)return vn(this[r])}findIndex(e,t){if("function"==typeof e){const n=e,r=this.length;for(let e=0;e<r;e++){dn(this,e);const r=vn(this[e]);if(n.call(t,r,e,this))return e}return dn(this,"length"),-1}const n="number"==typeof t?t:void 0;return this.indexOf(e,n)}flat(e){return dn(this),vn(void 0===e?this.flat():this.flat(e))}flatMap(e,t){return dn(this),vn(this.flatMap((n,r,o)=>e.call(t,vn(n),r,o),t))}filter(e,t){return dn(this),vn(this.filter((t,n,r)=>e(vn(t),n,r),t))}map(e,t){return dn(this),vn(this.map((t,n,r)=>e(vn(t),n,r),t))}reduce(e,t){dn(this);const n=void 0===t?this.reduce(e):this.reduce(e,t);return vn(n)}reduceRight(e,t){dn(this);const n=void 0!==t?this.reduceRight(e,t):this.reduceRight(e);return vn(n)}slice(e,t){for(const n of Fn(e||0,t||this.length-1))dn(this,n);return void 0===e?this.slice():void 0===t?this.slice(e):this.slice(e,t)}concat(...e){return dn(this),vn(this.concat(...e))}join(e){return dn(this),this.join(e)}forEach(e,t){dn(this),this.forEach((n,r,o)=>{e.call(t,vn(n),r,o)})}every(e,t){const n=this.length;for(let r=0;r<n;r++)if(dn(this,r),!e.call(t,vn(this[r]),r,this))return!1;return dn(this,"length"),!0}some(e,t){const n=this.length;for(let r=0;r<n;r++)if(dn(this,r),e.call(t,vn(this[r]),r,this))return!0;return dn(this,"length"),!1}push(...e){const t=this.length;try{return this.push(...e)}finally{Qt(this,{type:"bunch",method:"push"},Fn(t,t+e.length-1,{length:!0}))}}pop(){if(0!==this.length)try{return vn(this.pop())}finally{Qt(this,{type:"bunch",method:"pop"},Vn(this.length))}}shift(){if(0!==this.length)try{return vn(this.shift())}finally{Qt(this,{type:"bunch",method:"shift"},Fn(0,this.length+1,{length:!0}))}}unshift(...e){try{return this.unshift(...e)}finally{Qt(this,{type:"bunch",method:"unshift"},Fn(0,this.length-e.length,{length:!0}))}}splice(e,t,...n){const r=this.length;let o=e;o=o<0?Math.max(r+o,0):Math.min(o,r);let s=t;s=void 0===s?r-o:Math.max(0,Math.min(s,r-o));try{return vn(void 0===t?this.splice(e):this.splice(e,t,...n))}finally{Qt(this,{type:"bunch",method:"splice"},s===n.length?Fn(o,o+s-1):Fn(o,r+Math.max(n.length-s,0),{length:!0}))}}reverse(){try{return this.reverse()}finally{Qt(this,{type:"bunch",method:"reverse"},Fn(0,this.length-1))}}sort(e){e=e||((e,t)=>e.toString().localeCompare(t.toString()));try{return this.sort((t,n)=>e(vn(t),vn(n)))}finally{Qt(this,{type:"bunch",method:"sort"},Fn(0,this.length-1))}}fill(e,t,n){const r=this.length;let o=void 0===t?0:t;o=o<0?Math.max(r+o,0):Math.min(o,r);let s=void 0===n?r:n;s=s<0?Math.max(r+s,0):Math.min(s,r);try{return void 0===t?this.fill(e):void 0===n?this.fill(e,t):this.fill(e,t,n)}finally{s>o&&Qt(this,{type:"bunch",method:"fill"},Fn(o,s-1))}}copyWithin(e,t,n){try{return void 0===n?this.copyWithin(e,t):this.copyWithin(e,t,n)}finally{const r=this.length;let o=e;o<0?o=Math.max(r+o,0):o>=r&&(o=r);let s=t;s<0?s=Math.max(r+s,0):s>=r&&(s=r);let i=void 0===n?r:n;i<0?i=Math.max(r+i,0):i>=r&&(i=r);const c=Math.min(i-s,r-o);c>0&&Qt(this,{type:"bunch",method:"copyWithin"},Fn(o,o+c-1))}}}class Zn extends WeakMap{get[Symbol.toStringTag](){return"ReactiveWeakMap"}delete(e){const t=this.has(e),n=this.delete(e);return t&&Yt(k(this),{type:"del",prop:e},e),n}get(e){return dn(k(this),e),vn(this.get(e))}has(e){return dn(k(this),e),this.has(e)}set(e,t){const n=this.has(e),r=this.get(e),o=vn(t);return this.set(e,o),n&&r===o||fn(k(this),e,r,o,n),this}}class Gn extends Map{get[Symbol.toStringTag](){return"ReactiveMap"}get size(){return dn(this,"size"),this.size}clear(){const e=this.size>0;if(this.clear(),e){const e={type:"bunch",method:"clear"};Yt(this,e,"size"),Qt(k(this),e)}}entries(){return dn(k(this)),An(this.entries())}forEach(e,t){dn(k(this)),this.forEach(e,t)}keys(){return dn(k(this)),this.keys()}values(){return dn(k(this)),Pn(this.values())}[Symbol.iterator](){dn(k(this));const e=this[Symbol.iterator]();return{next(){const t=e.next();return t.done?t:{value:[t.value[0],vn(t.value[1])],done:!1}},[Symbol.iterator](){return this},[Symbol.dispose](){}}}delete(e){const t=this.has(e),n=this.delete(e);if(t){const t={type:"del",prop:e};Yt(k(this),t,e),Yt(this,t,"size")}return n}get(e){return dn(k(this),e),vn(this.get(e))}has(e){return dn(k(this),e),this.has(e)}set(e,t){const n=this.has(e),r=this.get(e),o=vn(t);if(this.set(e,o),!n||r!==o){fn(k(this),e,r,o,n);Yt(this,{type:n?"set":"add",prop:e},"size")}return this}}class Jn extends WeakSet{get[Symbol.toStringTag](){return"ReactiveWeakSet"}add(e){const t=this.has(e);return this.add(e),t||Yt(k(this),{type:"add",prop:e},e),this}delete(e){const t=this.has(e),n=this.delete(e);return t&&Yt(k(this),{type:"del",prop:e},e),n}has(e){return dn(k(this),e),this.has(e)}}class Yn extends Set{get[Symbol.toStringTag](){return"ReactiveSet"}get size(){return dn(this,"size"),this.size}add(e){const t=this.has(e),n=vn(e);if(this.add(n),!t){const e={type:"add",prop:n};Yt(k(this),e,n),Yt(this,e,"size")}return this}clear(){const e=this.size>0;if(this.clear(),e){const e={type:"bunch",method:"clear"};Yt(this,e,"size"),Qt(k(this),e)}}delete(e){const t=this.has(e),n=this.delete(e);if(t){const t={type:"del",prop:e};Yt(k(this),t,e),Yt(this,t,"size")}return n}has(e){return dn(k(this),e),this.has(e)}entries(){return dn(k(this)),An(this.entries())}forEach(e,t){dn(k(this)),this.forEach(e,t)}keys(){return dn(k(this)),Pn(this.keys())}values(){return dn(k(this)),Pn(this.values())}[Symbol.iterator](){dn(k(this));const e=this[Symbol.iterator]();return{next(){const t=e.next();return t.done?t:{value:vn(t.value),done:!1}},[Symbol.iterator](){return this},[Symbol.dispose](){}}}}pn.set(Array,Xn.prototype),pn.set(Set,Yn.prototype),pn.set(WeakSet,Jn.prototype),pn.set(Map,Gn.prototype),pn.set(WeakMap,Zn.prototype);const Qn={objectToProxy:it,proxyToObject:ct,effectToReactiveObjects:be,watchers:we,objectParents:Kt,objectsWithDeepWatchers:Lt,deepWatchers:qt,effectToDeepWatchedObjects:Ht,nonReactiveObjects:en},er=[],tr=R({getter:(e,t,n)=>function(){const t=er.findIndex(e=>e.object===this&&e.prop===n);if(t>-1)throw new Error(`Circular dependency detected: ${er.slice(t).map(e=>`${e.object.constructor.name}.${String(e.prop)}`).join(" -> ")} -> again`);er.push({object:this,prop:n});try{const t=e.call(this);return nr(this,n,t),t}finally{er.pop()}}});function nr(e,t,n){Object.defineProperty(e,t,{value:n})}const rr=Object.assign(R({method:(e,t,n)=>function(...t){return rr.warn(this,n),e.apply(this,t)},getter:(e,t,n)=>function(){return rr.warn(this,n),e.call(this)},setter:(e,t,n)=>function(t){return rr.warn(this,n),e.call(this,t)},class:e=>class extends e{constructor(...e){super(...e),rr.warn(this,"constructor")}},default:e=>R({method:(t,n,r)=>function(...n){return rr.warn(this,r,e),t.apply(this,n)},getter:(t,n,r)=>function(){return rr.warn(this,r,e),t.call(this)},setter:(t,n,r)=>function(n){return rr.warn(this,r,e),t.call(this,n)},class:t=>class extends t{constructor(...t){super(...t),rr.warn(this,"constructor",e)}}})}),{warn:(e,t,n)=>{}});var or={version:"1.0.8"};const{version:sr}=or,ir="__MUTTS_INSTANCE__",cr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global&&global;if(cr){let e="mutts/index";const t=eval;try{if("undefined"!=typeof __filename)e=__filename;else{const n=t("import.meta");n&&n.url&&(e=n.url)}}catch(e){}const n={version:sr,source:e,timestamp:Date.now()};if(cr[ir]){const e=cr[ir];throw new Error(`[Mutts] Multiple instances detected!\nExisting instance: ${JSON.stringify(e,null,2)}\nNew instance: ${JSON.stringify(n,null,2)}\nThis usually happens when 'mutts' is both installed as a dependency and bundled, or when different versions are loaded. Please check your build configuration (aliases, externals) to ensure a single source of truth.`)}cr[ir]=n}e.AZone=Je,e.ArrayReadForward=F,e.DecoratorError=O,e.Destroyable=function(e,t){var n;return e&&"function"!=typeof e&&(t=e,e=void 0),e||(e=class{}),n=class extends e{static destroy(e){const t=n.destructors.get(e);if(!t)return!1;T.unregister(e[P]),n.destructors.delete(e),Object.setPrototypeOf(e,new Proxy({},W));for(const t of Object.getOwnPropertyNames(e))delete e[t];return t(),!0}static isDestroyable(e){return n.destructors.has(e)}constructor(...e){super(...e);const r={};this[P]=r;const o=t?.destructor??this[D];if(!o)throw new A("Destructor is not defined");function s(){o(r)}n.destructors.set(this,s),T.register(this,s,r)}},n.destructors=new WeakMap,n},e.DestructionError=A,e.Eventful=class{constructor(){K.set(this,new Map),L.set(this,[])}hook(e){return C(this,L,"f").includes(e)||C(this,L,"f").push(e),()=>{C(this,L,"f").splice(C(this,L,"f").indexOf(e),1)}}on(e,t){if("object"==typeof e)for(const t of Object.keys(e))this.on(t,e[t]);else if(void 0!==t){let n=C(this,K,"f").get(e);n||(n=[],C(this,K,"f").set(e,n)),n.push(t)}return()=>this.off(e,t)}off(e,t){if("object"==typeof e)for(const t of Object.keys(e))this.off(t,e[t]);else if(null!=t){const n=C(this,K,"f").get(e);n&&C(this,K,"f").set(e,n.filter(e=>e!==t))}else C(this,K,"f").delete(e)}emit(e,...t){const n=C(this,K,"f").get(e);if(n)for(const e of n)e.apply(this,t);for(const n of C(this,L,"f"))n.call(this,e,...t)}},e.FoolProof=b,e.Indexable=_,e.IterableWeakMap=X,e.IterableWeakSet=Z,e.ReactiveBase=bn,e.ReactiveError=ye,e.Register=$n,e.Zone=Ye,e.ZoneAggregator=et,e.ZoneHistory=Qe,e.addBatchCleanup=Tt,e.allocated=$,e.allocatedValues=P,e.arrayEquals=function(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},e.asyncHook=e=>t.addHook(e),e.asyncHooks=t,e.asyncZone=tt,e.atomic=$t,e.biDi=function(e,t,n){"function"!=typeof t&&(n=t.set,t=t.get);let r=Symbol();return It(je(()=>{const n=t();at(n)!==r&&e(n)},e)),n?$t(e=>{r=at(e),n(e)}):()=>{}},e.buildReactivityGraph=Fe,e.cache=nr,e.cached=tr,e.callOnGC=function(e){let t=!1;const n=()=>{t||(t=!0,e())};return T.register(n,e,e),n},e.chainPromise=ie,e.cleanedBy=On,e.cleanup=kn,e.contentRef=k,e.debounce=function(e){return R({method(t,n,r){let o=null;return function(...n){o&&clearTimeout(o),o=setTimeout(()=>{t.apply(this,n),o=null},e)}}})},e.decorator=R,e.deepCompare=v,e.deepWatch=Sn,e.defer=Dt,e.deprecated=rr,e.derived=function(e){const t={value:void 0};return On(t,Ct(()=>It(function(n){t.value=e(n)})))},e.describe=function(e){return(...t)=>n=>class extends n{constructor(...n){super(...n);for(const n of t)Object.defineProperty(this,n,{...Object.getOwnPropertyDescriptor(this,n),...e})}}},e.destructor=D,e.effect=It,e.effectAggregator=rt,e.enableDevTools=function(){"undefined"!=typeof window&&(Ee||(Ee=!0,window.__MUTTS_DEVTOOLS__={getGraph:Fe,setEffectName:Ke,setObjectName:Le,registerEffect:qe,registerObject:He}))},e.forwardArray=V,e.getActivationLog=function(){return ht},e.getActiveEffect=st,e.getActiveProjection=In,e.getAt=q,e.getState=Gt,e.immutables=tn,e.isCached=function(e,t){return!!Object.getOwnPropertyDescriptor(e,t)},e.isConstructor=y,e.isDevtoolsEnabled=Be,e.isNonReactive=on,e.isOwnAccessor=w,e.isReactive=function(e){return ct.has(e)},e.legacyDecorator=E,e.memoize=Dn,e.mixin=G,e.modernDecorator=x,e.named=M,e.organize=function(e,t,n){return Object.defineProperty(e,t,{get:n.get,set:n.set,configurable:!0,enumerable:!0}),Yt(e,{type:"set",prop:t},t),()=>delete e[t]},e.organized=function(e,t,n={}){const r=vn(e),o=vn(n),s=new Map;function i(e){const t=s.get(e);t&&(s.delete(e),t())}const c=It(function({ascend:e}){const n=new Set;for(const e in r)n.add(e);for(const i of n)s.has(i)||e(()=>{const e=It(function(){const e=i,n={key:e,get:()=>b.get(r,e,r),set:t=>b.set(r,e,t,r)};return Object.defineProperty(n,"value",{get:n.get,set:n.set,configurable:!0,enumerable:!0}),t(n,o)});s.set(i,e)});for(const e of Array.from(s.keys()))n.has(e)||i(e)});return On(o,()=>{c();for(const e of Array.from(s.keys()))i(e)})},e.profileInfo=Qn,e.project=_n,e.reactive=vn,e.reactiveOptions=me,e.register=function(e,t){return new Wn(e,t)},e.registerEffectForDebug=qe,e.registerNativeReactivity=function(e,t){e.prototype[ce]=t,rn(t)},e.registerObjectForDebug=He,e.renamed=m,e.resolve=function(e){const t=vn([]);return On(t,It(()=>{const n=e();t.length!==n.length&&(t.length=n.length);for(let e=0;e<n.length;e++)t[e]!==n[e]&&(t[e]=n[e])}))},e.root=Nt,e.scan=function(e,t,n){const r=vn(e),o=vn([]),s=new Map,i=vn([]),c=new WeakMap;let a=(()=>{var e;let r,o=[];return e=class{constructor(e,t){this.val=(I(this,o),e),this.prev=t}get acc(){const e=this.prev?this.prev.acc:n;return t(e,this.val)}},(()=>{const t="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;r=[Dn],z(e,null,r,{kind:"getter",name:"acc",static:!1,private:!1,access:{has:e=>"acc"in e,get:e=>e.acc},metadata:t},null,o),t&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),e})();function f(e){const t=s.get(e);t&&(t(),s.delete(e),Ct(()=>{Reflect.deleteProperty(i,e),Reflect.deleteProperty(o,e)}))}const l=It(function({ascend:e}){const t=r.length,n=new Map;let l;for(let f=0;f<t;f++){const t=b.get(r,f,r);if(!t||"object"!=typeof t&&"function"!=typeof t&&"symbol"!=typeof t)throw new Error("scan: items must be objects (WeakKey) for intermediate caching");const u=n.get(t)??0;n.set(t,u+1);let h=c.get(t);h||(h=[],c.set(t,h));let d=h[u];d?Ct(()=>d.prev)!==l&&(d.prev=l):(d=vn(new a(t,l)),h[u]=d),i[f]!==d&&(i[f]=d),s.has(f)||e(()=>{const e=f,t=It(function(){const t=i[e];if(t){const n=t.acc;Ct(()=>{o[e]=n})}});s.set(e,t)}),l=d}for(const e of Array.from(s.keys()))e>=t&&f(e);Ct(()=>{o.length!==t&&b.set(o,"length",t,o)})});return On(o,()=>{l();for(const e of s.values())e();s.clear()})},e.setAt=H,e.setEffectName=Ke,e.setObjectName=Le,e.tag=j,e.throttle=function(e){return R({method(t,n,r){let o=0,s=null;return function(...n){const r=Date.now();if(r-o>=e)return s&&(clearTimeout(s),s=null),o=r,t.apply(this,n);if(!s){const i=e-(r-o),c=[...n];s=setTimeout(()=>{o=Date.now(),t.apply(this,c),s=null},i)}}}})},e.touched=Qt,e.touched1=Yt,e.trackEffect=function(e){const t=st();if(!t)throw new Error("Not in an effect");pt.has(t)?pt.get(t).add(e):pt.set(t,new Set([e]))},e.unreactive=Mn,e.untracked=Ct,e.unwrap=at,e.watch=function(e,t,n={}){return"function"==typeof e?function(e,t,{immediate:n=!1,deep:r=!1}={}){let o,s=jn;const i=It(je(function(i){const c=e(i);s!==c&&(s===jn?n&&t(c):t(c,s)),s=c,r&&(o&&o(),o=Sn(c,e=>t(e,e)))},e));return()=>{i(),o&&o()}}(e,t,n):"object"==typeof e&&null!==e?function(e,t,{immediate:n=!1,deep:r=!1}={}){return r?Sn(e,t,{immediate:n}):It(function(){dn(e),n&&t(e),n=!0})}(e,t,n):(()=>{throw new Error("watch: value must be a function or an object")})()},e.zip=function(...e){if(!e.length)return[];const t=Math.min(...e.map(e=>e.length)),n=[];for(let r=0;r<t;r++){const t=e.map(e=>e[r]);n.push(t)}return n}});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Mutts={})}(this,function(e){"use strict";const t=new Set,n={addHook:e=>(t.add(e),()=>t.delete(e)),sanitizePromise:e=>e},r=new WeakMap;function o(){const e=new Set;for(const n of t){const t=n();t&&e.add(t)}return e}function s(e,t){if("function"!=typeof e)return e;const n=t||o();return function(...t){const r=[];for(const e of n)r.push(e());try{return e.apply(this,t)}finally{if(a.queueMicrotask)a.queueMicrotask.call(globalThis,()=>{a.queueMicrotask.call(globalThis,()=>{a.queueMicrotask.call(globalThis,()=>{for(let e=r.length-1;e>=0;e--)r[e]()})})});else for(let e=r.length-1;e>=0;e--)r[e]()}}}n.sanitizePromise=e=>e&&"function"==typeof e.then?new Promise((t,n)=>{setTimeout(()=>{e.then(t,n)},0)}):e;const i=Symbol.for("mutts.originals"),c=Symbol.for("mutts.OriginalPromise");let a,l;function f(e,t){const n=r.get(this)||o(),i=a.then.call(this,s(e,n),s(t,n));return n.size>0&&r.set(i,n),i}function u(e){if("function"==typeof e){const t=new l((t,n)=>{const r=s(t),o=s(n);e(r,o)}),n=o();return r.set(t,n),t}return new l(e)}globalThis[i]?(a=globalThis[i],l=globalThis[c]):(l=globalThis.Promise,a={then:l.prototype.then,catch:l.prototype.catch,finally:l.prototype.finally,resolve:l.resolve,reject:l.reject,all:l.all,allSettled:l.allSettled,race:l.race,any:l.any,setTimeout:globalThis.setTimeout,setInterval:globalThis.setInterval,setImmediate:globalThis.setImmediate,requestAnimationFrame:globalThis.requestAnimationFrame,queueMicrotask:globalThis.queueMicrotask},globalThis[i]=a,globalThis[c]=l),a.allSettled||(a.allSettled=l.allSettled),a.any||(a.any=l.any),a.race||(a.race=l.race),Object.assign(u,l),u.prototype=l.prototype,u.resolve=e=>{const t=a.resolve.call(l,e),n=o();return n.size>0&&!r.has(t)&&r.set(t,n),t},u.reject=e=>{const t=a.reject.call(l,e),n=o();return n.size>0&&r.set(t,n),t},u.all=e=>{const t=a.all.call(l,e),n=o();return n.size>0&&r.set(t,n),t},u.allSettled=e=>{const t=a.allSettled.call(l,e),n=o();return n.size>0&&r.set(t,n),t},u.race=e=>{const t=a.race.call(l,e),n=o();return n.size>0&&r.set(t,n),t},u.any=e=>{const t=a.any.call(l,e),n=o();return n.size>0&&r.set(t,n),t},l.prototype.then!==f&&(l.prototype.then=f,l.prototype.catch=function(e){const t=r.get(this)||o(),n=a.catch.call(this,s(e,t));return t.size>0&&r.set(n,t),n},l.prototype.finally=function(e){const t=r.get(this)||o(),n=a.finally.call(this,s(e,t));return t.size>0&&r.set(n,t),n});try{Object.defineProperty(l,Symbol.species,{get:()=>u,configurable:!0})}catch(e){}globalThis.Promise=u,globalThis.setTimeout=(e,...t)=>a.setTimeout.call(globalThis,s(e),...t),globalThis.setInterval=(e,...t)=>a.setInterval.call(globalThis,s(e),...t),a.setImmediate&&(globalThis.setImmediate=(e,...t)=>a.setImmediate.call(globalThis,s(e),...t)),a.requestAnimationFrame&&(globalThis.requestAnimationFrame=e=>a.requestAnimationFrame.call(globalThis,s(e))),a.queueMicrotask&&(globalThis.queueMicrotask=e=>{a.queueMicrotask.call(globalThis,s(e))});const h=new Set([Object,Array,Date,Function,Set,Map,WeakMap,WeakSet,Promise,Error,TypeError,ReferenceError,SyntaxError,RangeError,URIError,EvalError,Reflect,Proxy,RegExp,String,Number,Boolean]);function p(e){return e&&"function"==typeof e&&(h.has(e)||e.toString?.().startsWith("class "))}const d="undefined"!=typeof Node,g={get:(e,t,n)=>d&&e instanceof Node?e[t]:Reflect.get(e,t,n),set:(e,t,n,r)=>d&&e instanceof Node?(e[t]=n,!0):e instanceof Object||Reflect.has(e,t)?Reflect.set(e,t,n,r):(Object.defineProperty(e,t,{value:n,configurable:!0,writable:!0,enumerable:!0}),!0)};function y(e,t){const n=Object.getOwnPropertyDescriptor(e,t);return!(!n?.get&&!n?.set)}function m(e,t,n=new Map){if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return e===t;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let r=n.get(e);if(r?.has(t))return!0;if(r||(r=new Set,n.set(e,r)),r.add(t),Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!m(e[r],t[r],n))return!1;return!0}if(e instanceof Date){const n=t instanceof Date&&e.getTime()===t.getTime();return n}if(e instanceof RegExp){const n=t instanceof RegExp&&e.toString()===t.toString();return n}if(e instanceof Set){if(!(t instanceof Set)||e.size!==t.size)return!1;for(const r of e){let e=!1;for(const o of t)if(m(r,o,n)){e=!0;break}if(!e)return!1}return!0}if(e instanceof Map){if(!(t instanceof Map)||e.size!==t.size)return!1;for(const[r,o]of e)if(t.has(r)){if(!m(o,t.get(r),n))return!1}else{let e=!1;for(const[s,i]of t)if(m(r,s,n)&&m(o,i,n)){e=!0;break}if(!e)return!1}return!0}const o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(const r of o){if(!Object.hasOwn(t,r))return!1;if(!m(e[r],t[r],n))return!1}return!0}const b=new WeakMap;function w(e){return b.has(e)||b.set(e,Object.seal(Object.create(null,{contentOf:{value:e,writable:!1,configurable:!1}}))),b.get(e)}function v(e,t){return Object.defineProperties(t,{[Symbol.toStringTag]:{value:e,writable:!1,configurable:!0},toString:{value:()=>e,writable:!1,configurable:!0}}),t}function k(e,t){return Object.defineProperty(t,"name",{value:t.name?`${t.name}::${e}`:e,writable:!1,configurable:!0}),t}class j extends Error{constructor(e){super(e),this.name="DecoratorException"}}function O(e){return function(t,n,r,...o){if(void 0===n){if(p(t)){if(!("class"in e))throw new Error("Decorator cannot be applied to a class");return e.class(t)}}else if("object"==typeof t&&["string","symbol"].includes(typeof n)){if(!r)throw new Error("Decorator cannot be applied to a field");if("object"==typeof r&&"configurable"in r){if("get"in r||"set"in r){if(!("getter"in e)&&!("setter"in e))throw new Error("Decorator cannot be applied to a getter or setter");if("getter"in e){const o=e.getter(r.get,t,n);o&&(r.get=o)}if("setter"in e){const o=e.setter(r.set,t,n);o&&(r.set=o)}return r}if("function"==typeof r.value){if(!("method"in e))throw new Error("Decorator cannot be applied to a method");const o=e.method(r.value,t,n);return o&&(r.value=o),r}}}if(!("default"in e))throw new Error("Decorator do not have a default implementation");return e.default.call(this,t,n,r,...o)}}function S(e){return function(t,n,...r){if(!n?.kind||"string"!=typeof n.kind){if(!("default"in e))throw new Error("Decorator do not have a default implementation");return e.default.call(this,t,n,...r)}switch(n.kind){case"class":if(!("class"in e))throw new Error("Decorator cannot be applied to a class");return e.class(t);case"field":throw new Error("Decorator cannot be applied to a field");case"getter":if(!("getter"in e))throw new Error("Decorator cannot be applied to a getter");return e.getter(t,t,n.name);case"setter":if(!("setter"in e))throw new Error("Decorator cannot be applied to a setter");return e.setter(t,t,n.name);case"method":if(!("method"in e))throw new Error("Decorator cannot be applied to a method");return e.method(t,t,n.name);case"accessor":{if(!("getter"in e)&&!("setter"in e))throw new Error("Decorator cannot be applied to a getter or setter");const r={};if("getter"in e){const o=e.getter(t.get,t,n.name);o&&(r.get=o)}if("setter"in e){const o=e.setter(t.set,t,n.name);o&&(r.set=o)}return r}}}}const x=e=>{const t=S(e),n=O(e);return(e,r,...o)=>{const s=function(e,t){return"object"==typeof t&&null!==t&&"string"==typeof t.kind?"modern":"legacy"}(0,r,o[0]);return"modern"===s?t(e,r,...o):n(e,r,...o)}},M=new FinalizationRegistry(e=>e()),A=Symbol("destructor"),E=Symbol("allocated");class R extends Error{static throw(e){return()=>{throw new R(e)}}constructor(e){super(`Object is destroyed. ${e}`),this.name="DestroyedAccessError"}}const T={[Symbol.toStringTag]:"MutTs Destroyable",get:R.throw("Cannot access destroyed object"),set:R.throw("Cannot access destroyed object")};const P=x({setter:(e,t,n)=>function(t){return this[E][n]=t,e.call(this,t)}});function W(e,t){let n=0,r=e.length,o=t.length;for(;n<r&&n<o&&e[n]===t[n];)n++;for(;r>n&&o>n&&e[r-1]===t[o-1];)r--,o--;const s=r-n,i=o-n;if(0===s&&0===i)return[];if(0===s)return[{indexA:n,indexB:n,sliceA:[],sliceB:t.slice(n,o)}];if(0===i)return[{indexA:n,indexB:n,sliceA:e.slice(n,r),sliceB:[]}];const c=Math.min(s+i,256),a=c,l=new Int32Array(2*c+1);l[a+1]=0;const f=[];for(let r=0;r<=c;r++){for(let o=-r;o<=r;o+=2){let c;c=o===-r||o!==r&&l[a+o-1]<l[a+o+1]?l[a+o+1]:l[a+o-1]+1;let u=c-o;for(;c<s&&u<i&&e[n+c]===t[n+u];)c++,u++;if(l[a+o]=c,c>=s&&u>=i)return D(f,e,t,n,c,u,r,o,a)}f.push(new Int32Array(l))}return[{indexA:n,indexB:n,sliceA:e.slice(n,r),sliceB:t.slice(n,o)}]}function D(e,t,n,r,o,s,i,c,a){const l=[];let f=o,u=s,h=c;for(let t=i;t>0;t--){const n=e[t-1];let r,o;h===-t?(r=h+1,o=!0):h===t?(r=h-1,o=!1):n[a+h-1]<n[a+h+1]?(r=h+1,o=!0):(r=h-1,o=!1);const s=n[a+r],i=o?s:s+1,c=o?s-r+1:s+1-h;for(;f>i&&u>c;)l.push(0),f--,u--;o?(l.push(1),u--):(l.push(2),f--),h=r}const p=[];let d=r,g=r,y=[],m=[],b=-1,w=-1;const v=()=>{-1!==b&&(p.push({indexA:b,indexB:w,sliceA:y,sliceB:m}),y=[],m=[],b=-1)};for(let e=l.length-1;e>=0;e--){const r=l[e];0===r?(v(),d++,g++):1===r?(-1===b&&(b=d,w=g),m.push(n[g++])):(-1===b&&(b=d,w=g),y.push(t[d++]))}return v(),p}var z,I;const C=Symbol("events"),$=Symbol("hooks"),K={on(e,t){if("object"==typeof e)for(const t of Object.keys(e))this.on(t,e[t]);else if(void 0!==t){const n=this[C].get(e)??new Set;n.has(t)||n.add(t),this[C].set(e,n)}return()=>this.off(e,t)},off(e,t){if("object"==typeof e)for(const t of Object.keys(e))this.off(t,e[t]);else if(null!=t){const n=this[C].get(e);n&&(n.delete(t),n.size||this[C].delete(e))}else this[C].delete(e)},emit(e,...t){const n=this[C].get(e);if(n)for(const e of n)e.apply(this,t);for(const n of this[$])n.call(this,e,...t)}};function q(e,t,n){const r=new Map;return new Proxy(t,{get(o,s){if("string"!=typeof s)return o[s];if(n&&!e[C].has(s)&&!e[$].size)return()=>{};let i=r.get(s);return i||(i=(...n)=>t.apply(e,[s,...n]),r.set(s,i)),i}})}class N{constructor(){this[z]=new Map,this[I]=new Set,this.on=q(this,K.on),this.off=q(this,K.off),this.emit=q(this,K.emit,"use")}hook(e){return this[$].add(e),()=>{this[$].delete(e)}}}function V(e,t){return e.flavors=t,new Proxy(e,{get:(e,n,r)=>n in t?Reflect.get(t,n,r):e[n]})}function L(e,t,n={}){const r=n.optionsIndex??e.optionsIndex??e.length,o=function(...n){const o=[...n];for(;o.length<=r;)o.push(void 0);const s=o[r],i=null!==s&&"object"==typeof s&&!Array.isArray(s);return o[r]=i?{...t,...s}:t,e.apply(this,o)};return n.name&&k(`${e.name}.${n.name}`,o),Object.defineProperty(o,"length",{value:e.length}),o.optionsIndex=r,V(o,e.flavors||{})}z=C,I=$;const H=Symbol("getAt"),B=Symbol("setAt");function F(e,t){e&&"function"!=typeof e&&(t=e,e=void 0),e||(e=class{}),t||(t={get(e){if("function"!=typeof this[H])throw new Error("Indexable class must have an [getAt] method");return this[H](e)},set(e,t){if("function"!=typeof this[B])throw new Error("Indexable class has read-only numeric index access");this[B](e,t)}});class n extends e{}return Object.setPrototypeOf(n.prototype,new Proxy(e.prototype,{[Symbol.toStringTag]:"MutTs Indexable",get(e,n,r){if(n in e){const t=Object.getOwnPropertyDescriptor(e,n)?.get;return t?t.call(r):e[n]}if("string"==typeof n){if("length"===n&&t.getLength)return t.getLength.call(r);const e=Number(n);if(!Number.isNaN(e))return t.get.call(r,e)}},set(e,n,r,o){if(n in e){const t=Object.getOwnPropertyDescriptor(e,n)?.set;return t?t.call(o,r):e[n]=r,!0}if("string"==typeof n){if("length"===n&&t.setLength)return t.setLength.call(o,r),!0;const e=Number(n);if(!Number.isNaN(e)){if(!t.set)throw new Error("Indexable class has read-only numeric index access");return t.set.call(o,e,r),!0}}return Object.defineProperty(o,n,{value:r,writable:!0,enumerable:!0,configurable:!0}),!0},has(e,n){if(n in e)return!0;if("string"==typeof n){if("length"===n&&t.getLength)return!0;const e=Number(n);if(!Number.isNaN(e))return!0}return!1},ownKeys(e){const n=Reflect.ownKeys(e);if(t.getLength){n.push("length");const e=t.getLength.call(this);for(let t=0;t<e;t++)n.push(String(t))}return n},getOwnPropertyDescriptor(e,n){if(n in e)return Object.getOwnPropertyDescriptor(e,n);if("string"==typeof n){if("length"===n&&t.getLength)return{enumerable:!1,configurable:!0,get:()=>t.getLength.call(this)};const e=Number(n);if(!Number.isNaN(e))return{enumerable:!0,configurable:!0,get:()=>t.get.call(this,e),set:t.set?n=>t.set.call(this,e,n):void 0}}}})),n}const U=Symbol("forwardArray");class _{get[U](){throw new Error("ArrayReadForward is not implemented")}get length(){return this[U].length}[Symbol.iterator](){return this[U][Symbol.iterator]()}map(e,t){return this[U].map(e,t)}filter(e,t){return this[U].filter(e,t)}reduce(e,t){return void 0!==t?this[U].reduce(e,t):this[U].reduce(e)}reduceRight(e,t){return void 0!==t?this[U].reduceRight(e,t):this[U].reduceRight(e)}forEach(e,t){this[U].forEach(e,t)}find(e,t){return this[U].find(e,t)}findIndex(e,t){return this[U].findIndex(e,t)}findLast(e,t){return this[U].findLast(e,t)}findLastIndex(e,t){return this[U].findLastIndex(e,t)}includes(e,t){return this[U].includes(e,t)}indexOf(e,t){return this[U].indexOf(e,t)}lastIndexOf(e,t){return this[U].lastIndexOf(e,t)}slice(e,t){return this[U].slice(e,t)}concat(...e){return this[U].concat(...e)}every(e,t){return this[U].every(e,t)}some(e,t){return this[U].some(e,t)}join(e){return this[U].join(e)}keys(){return this[U].keys()}values(){return this[U].values()}entries(){return this[U].entries()}toString(){return this[U].toString()}toLocaleString(e,t){return this[U].toLocaleString(e,t)}at(e){return this[U].at(e)}flat(e){return this[U].flat(e)}flatMap(e,t){return this[U].flatMap(e,t)}toReversed(){return this[U].toReversed?.()??[...this[U]].reverse()}toSorted(e){return this[U].toSorted?.(e)??[...this[U]].sort(e)}toSpliced(e,t,...n){return void 0===t?this[U].toSpliced(e):this[U].toSpliced(e,t,...n)}with(e,t){return this[U].with(e,t)}get[Symbol.unscopables](){return this[U][Symbol.unscopables]}}var Z,J;class G{constructor(e){if(this.uuids=new WeakMap,this.refs={},this[Z]="IterableWeakMap",this.registry=new FinalizationRegistry(e=>{delete this.refs[e]}),e)for(const[t,n]of e)this.set(t,n)}createIterator(e){const{refs:t}=this;return function*(){for(const n of Object.keys(t)){const[r,o]=t[n],s=r.deref();s?yield e(s,o):delete t[n]}}()}clear(){for(const e of Object.keys(this.refs)){const t=this.refs[e][0].deref();t&&this.registry.unregister(t)}this.uuids=new WeakMap,this.refs={}}delete(e){const t=this.uuids.get(e);return!!t&&(delete this.refs[t],this.uuids.delete(e),this.registry.unregister(e),!0)}forEach(e,t){for(const[n,r]of this)e.call(t??this,r,n,t??this)}get(e){const t=this.uuids.get(e);if(t)return this.refs[t][1]}has(e){return this.uuids.has(e)}set(e,t){let n=this.uuids.get(e);return n?this.refs[n][1]=t:(n=crypto.randomUUID(),this.uuids.set(e,n),this.refs[n]=[new WeakRef(e),t],this.registry.register(e,n,e)),this}get size(){return[...this].length}entries(){return this.createIterator((e,t)=>[e,t])}keys(){return this.createIterator((e,t)=>e)}values(){return this.createIterator((e,t)=>t)}[Symbol.iterator](){return this.entries()}}Z=Symbol.toStringTag;class Q{constructor(e){if(this.uuids=new WeakMap,this.refs={},this[J]="IterableWeakSet",this.registry=new FinalizationRegistry(e=>{delete this.refs[e]}),e)for(const t of e)this.add(t)}createIterator(e){const{refs:t}=this;return function*(){for(const n of Object.keys(t)){const r=t[n].deref();r?yield e(r):delete t[n]}}()}clear(){for(const e of Object.keys(this.refs)){const t=this.refs[e].deref();t&&this.registry.unregister(t)}this.uuids=new WeakMap,this.refs={}}add(e){let t=this.uuids.get(e);return t||(t=crypto.randomUUID(),this.uuids.set(e,t),this.refs[t]=new WeakRef(e),this.registry.register(e,t,e)),this}delete(e){const t=this.uuids.get(e);return!!t&&(delete this.refs[t],this.uuids.delete(e),this.registry.unregister(e),!0)}forEach(e,t){for(const n of this)e.call(t??this,n,n,t??this)}has(e){return this.uuids.has(e)}get size(){return[...this].length}entries(){return this.createIterator(e=>[e,e])}keys(){return this.createIterator(e=>e)}values(){return this.createIterator(e=>e)}[Symbol.iterator](){return this.keys()}union(e){const t={[Symbol.iterator]:()=>e.keys()},n=this;return new Set(function*(){yield*n;for(const e of t)n.has(e)||(yield e)}())}intersection(e){const t=this;return new Set(function*(){for(const n of t)e.has(n)&&(yield n)}())}difference(e){const t=this;return new Set(function*(){for(const n of t)e.has(n)||(yield n)}())}symmetricDifference(e){const t={[Symbol.iterator]:()=>e.keys()},n=this;return new Set(function*(){for(const t of n)e.has(t)||(yield t);for(const e of t)n.has(e)||(yield e)}())}isSubsetOf(e){for(const t of this)if(!e.has(t))return!1;return!0}isSupersetOf(e){const t={[Symbol.iterator]:()=>e.keys()};for(const e of t)if(!this.has(e))return!1;return!0}isDisjointFrom(e){for(const t of this)if(e.has(t))return!1;return!0}}function X(e,t){const n=new WeakMap,r=e(Object);return n.set(Object,r),new Proxy(r,{apply(r,o,s){if(0===s.length)throw new Error("Mixin requires a base class");const i=s[0];if("function"!=typeof i)throw new Error("Mixin requires a constructor function");if(!(p(i)||i&&"function"==typeof i&&i.prototype))throw new Error("Mixin requires a valid constructor");const c=n.get(i);if(c)return c;let a=i;if(t){const e=class extends i{},n=i.prototype,r=new Proxy(n,{get(e,n,r){const o=g.get(e,n,r);return"function"!=typeof o||"string"!=typeof n||["constructor","toString","valueOf"].includes(n)?o:function(...e){const n=t(this);return o.apply(n,e)}}});Object.setPrototypeOf(e.prototype,r),a=e}const l=e(a);return n.set(i,l),l}})}J=Symbol.toStringTag;const Y=(e,t)=>(...n)=>t[e](...n),ee=new WeakMap,te=new WeakMap;function ne(e,t){te.set(t,e),ee.set(e,t)}const re={[Symbol.toStringTag]:"MutTs PromiseChain function",get:(e,t)=>t===Symbol.toStringTag?"PromiseProxy":"string"==typeof t&&["then","catch","finally"].includes(t)?e[t]:ae(e.then(e=>e[t]))},oe=e=>({then:Y("then",e),catch:Y("catch",e),finally:Y("finally",e)}),se={[Symbol.toStringTag]:"MutTs PromiseChain object",get(e,t,n){const r=Object.getOwnPropertyDescriptor(e,t)?.get,o=r?r.call(n):e[t];return"function"==typeof e?o:ae(o)},apply:(e,t,n)=>ae(e.apply(t,n))};function ie(e){const t=new Proxy(e,se);return ne(e,t),t}function ce(e){return e&&["function","object"].includes(typeof e)}function ae(e){if(!ce(e))return e;if(ee.has(e))return ee.get(e);if(!(e instanceof Promise))return ie(e);e=e.then(e=>ce(e)?ie(e):e);const t=Object.assign(function(...t){return ae(e.then(e=>this?.then?this.then(n=>e.apply(n,t)):e.apply(this,t)))},oe(e)),n=new Proxy(t,re);return ne(e,n),n}function le(e,t,n,r,o,s){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,a=r.kind,l="getter"===a?"get":"setter"===a?"set":"value",f=!t&&e?r.static?e:e.prototype:null,u=t||(f?Object.getOwnPropertyDescriptor(f,r.name):{}),h=!1,p=n.length-1;p>=0;p--){var d={};for(var g in r)d[g]="access"===g?{}:r[g];for(var g in r.access)d.access[g]=r.access[g];d.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(e||null))};var y=(0,n[p])("accessor"===a?{get:u.get,set:u.set}:u[l],d);if("accessor"===a){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(c=i(y.get))&&(u.get=c),(c=i(y.set))&&(u.set=c),(c=i(y.init))&&o.unshift(c)}else(c=i(y))&&("field"===a?o.unshift(c):u[l]=c)}f&&Object.defineProperty(f,r.name,u),h=!0}function fe(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function ue(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function he(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}"function"==typeof SuppressedError&&SuppressedError;const pe=()=>[],de=()=>(new Error).stack,ge=e=>[e];var ye;function me(e){return e}class be{enter(e){const t=this.active;return this.active=e,t}leave(e){this.active=e}with(e,t){const r=this.enter(e);let o;try{o=t()}finally{this.leave(r)}return n.sanitizePromise(o)}root(e){const t=this.enter();try{return e()}finally{this.leave(t)}}get zoned(){const e=this.active;return k(`${this}@${e}`,t=>this.with(e,t))}}class we extends be{}class ve extends be{has(e){return this.history.has(e)}some(e){for(const t of this.history)if(e(t))return!0;return!1}constructor(e=new we){super(),this.controlled=e,this.history=new Set;const t=this;this.present=Object.create(e,Object.getOwnPropertyDescriptors({get active(){return e.active},set active(t){e.active=t},enter(n){if(n&&t.history.has(n))throw new Error("ZoneHistory: re-entering historical zone");return void 0!==n&&t.history.add(n),{added:n,entered:e.enter(n)}},leave:n=>(void 0!==n.added&&t.history.delete(n.added),e.leave(n.entered))}))}get active(){return{present:this.controlled.active,history:new Set(this.history)}}set active(e){this.history=e?.history?new Set(e.history):new Set,this.controlled.active=e?.present}}class ke extends be{constructor(...e){super(),ye.set(this,new Set);for(const t of e)ue(this,ye,"f").add(t)}get active(){const e=new Map;for(const t of ue(this,ye,"f"))void 0!==t.active&&e.set(t,t.active);return e}set active(e){for(const t of ue(this,ye,"f"))t.active=e?.get(t)}enter(e){const t=new Map;for(const n of ue(this,ye,"f")){const r=e?.get(n);t.set(n,me(n).enter(r))}return t}leave(e){for(const t of ue(this,ye,"f"))me(t).leave(e.get(t))}add(e){ue(this,ye,"f").add(e)}delete(e){ue(this,ye,"f").delete(e)}clear(){ue(this,ye,"f").clear()}}ye=new WeakMap;const je=v("async",new ke);n.addHook(()=>{const e=je.active;return()=>{const t=je.active;return je.active=e,()=>{je.active=t}}});const Oe=Symbol("root-function");let Se=new WeakMap,xe=new WeakMap,Me=new WeakMap;function Ae(e){let t=Me.get(e);return t||(t={},Me.set(e,t)),t}let Ee=new WeakMap;function Re(e,t){const n=Ee.get(t),r=n?.deref();if(r&&r!==e){const n=t.name||"anonymous",o=r.name||"anonymous",s=e.name||"anonymous";throw new Error(`[reactive] Abusive Shared Root detected: Root '${n}' is already identifying function '${o}'. Cannot reuse it for '${s}'. Shared roots cause lost updates and broken identity logic.`)}return Ee.set(t,new WeakRef(e)),e[Oe]=Te(t),e}function Te(e){for(;e;){const t=e[Oe];if(!t)break;e=t}return e}const Pe="effect:enter",We="effect:leave";function De({obj:e,evolution:t,dependency:n,touch:r}){const o="bunch"===t.type?t.method:String(t.prop),s=[`${t.type} ${o} on`,e];return n&&(s.push("\n Dependency created at:"),s.push(...ge(n))),r&&(s.push("\n Touched from:"),s.push(...ge(r))),s}const ze=Symbol("all-props"),Ie=Symbol("keys-of"),Ce=Symbol("stopped"),$e=Symbol("cleanup");var Ke;e.ReactiveErrorCode=void 0,(Ke=e.ReactiveErrorCode||(e.ReactiveErrorCode={})).CycleDetected="Cycle detected",Ke.MaxDepthExceeded="Max depth exceeded",Ke.MaxReactionExceeded="Max reaction exceeded",Ke.WriteInComputed="Write in computed",Ke.TrackingError="Tracking error",Ke.BrokenEffects="Broken effects";class qe extends Error{constructor(e,t){super(e),this.debugInfo=t,this.name="ReactiveError"}get code(){return this.debugInfo?.code}get cause(){return this.debugInfo?.cause}}const Ne={enter:e=>{},leave:e=>{},chain:(e,t)=>{},beginChain:e=>{},endChain:()=>{},garbageCollected:e=>{},touched:(e,t,n,r)=>{},skipRunningEffect:e=>{},maxEffectChain:100,maxTriggerPerBatch:10,maxEffectReaction:"throw",onMemoizationDiscrepancy:void 0,cycleHandling:"development",isVerificationRun:!1,maxDeepWatchDepth:100,instanceMembers:!0,ignoreAccessors:!0,recursiveTouching:!0,asyncMode:"cancel",warn:(...e)=>{},introspection:{gatherReasons:{lineages:"touch"},logErrors:!0,enableHistory:!0,historySize:50},zones:{setTimeout:!0,setInterval:!0,requestAnimationFrame:!0,queueMicrotask:!0}};function Ve(e,...t){const n=Ne[e];if("function"==typeof n)try{n(...t)}catch(t){Ne.warn(`options.${e} threw`,t)}}const Le=new WeakMap,He=new WeakMap;function Be(e){return e&&"object"==typeof e&&He.get(e)||e}function Fe(e){return He.has(e)}const Ue=v("effectHistory",new ve);v("effectHistory.present",Ue.present),je.add(Ue);const _e=v("effectAggregator",new ke(Ue.present));function Ze(e){const t=Te(e);return Ue.some(e=>Te(e)===t)}function Je(){return Ue.present.active}function Ge(e,t){const n=e[$e];return Object.defineProperty(e,$e,{value:n?Object.defineProperties(e=>{n(e),t(e)},{[Ce]:{get:()=>n[Ce]||t[Ce]}}):t,writable:!1,enumerable:!1,configurable:!0})}let Qe,Xe=new WeakMap;function Ye(e,t,n){const r=Xe.get(t);if(r)return r.get(n)?.get(e)??r.get(ze)?.get(e)}function et(e,t=ze){e=Be(e);const n=Je();if(!n||"symbol"==typeof t&&t!==ze&&t!==Ie)return;"dependencyHook"in n&&n.dependencyHook(e,t);let r=xe.get(e);r||(r=new Map,xe.set(e,r));let o=r.get(t);o||(o=new Set,r.set(t,o)),o.add(n);const s=Se.get(n);s?s.add(e):Se.set(n,new Set([e]));const i=Ne.introspection?.gatherReasons;if(i){const r=i.lineages;if("dependency"===r||"both"===r){let r=Xe.get(e);r||(r=new Map,Xe.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o)),o.set(n,de())}}}function tt(e){const t=new Map;for(let n=0;n<e.length;n++){const r=e[n];if(t.has(r))return e.slice(t.get(r));t.set(r,n)}return null}function nt(e,t=20){const n=e.map(e=>e.name||"<anonymous>");if(n.length<=t)return n.join(" → ");const r=n.slice(0,5),o=n.slice(-10);return`${r.join(" → ")} ... (${n.length-15} more) ... ${o.join(" → ")}`}const rt=new Array(100);function ot(t,n,r,o){const s=Te(t);if(!Qe)return;let i=Qe.get(s);i||(i=new Map,Qe.set(s,i));let c=i.get(n);c||(c=new Map,i.set(n,c));const a=(c.get(o)??0)+1;if(c.set(o,a),rt.unshift({effect:t,obj:n,evolution:r,prop:o}),rt.pop(),a>=Ne.maxTriggerPerBatch){const t=`Aggressive trigger detected: effect "${s.name}" triggered ${a} times in the batch by the same cause.`;if("throw"===Ne.maxEffectReaction)throw new qe(t,{code:e.ReactiveErrorCode.MaxReactionExceeded,count:a,effect:s});Ne.warn(`[reactive] ${t}`)}}function st(e,t){if(t??(t=Je()),!t)throw new Error("Tracking an effect throw while not in an effect");const n=Ae(t);n.catchers?n.catchers.push(e):n.catchers=[e]}const it=st;let ct=new WeakMap,at=new WeakMap,lt=new WeakMap,ft=new WeakMap,ut=!1;function ht(e,t){let n=e.get(t);return n||(n=new Q,e.set(t,n)),n}function pt(e,t,n){if(e===t)return!0;if(e===n)return!1;const r=new Set,o=[e];for(r.add(e),r.add(n);o.length>0;){const e=o.shift(),n=ct.get(e);if(n)for(const e of n){if(e===t)return!0;r.has(e)||(r.add(e),o.push(e))}}return!1}const dt=[];function gt(e){const t=Te(e);return dt.some(e=>e.all.has(t))}const yt=[];function mt(e,t){const n=ft.get(t);if(n)for(const t of n)if(e.all.has(t)){const n=e.inDegrees.get(t)??0;n>0&&e.inDegrees.set(t,n-1)}}function bt(e,t,n=new Set,r=[]){if(e===t)return[...r,t];if(n.has(e))return[];n.add(e);const o=[...r,e],s=ct.get(e);if(s)for(const e of s){const r=bt(e,t,n,o);if(r.length>0)return r}return[]}function wt(e,t){const n=bt(t,e);return n.length>0?[e,...n]:[]}function vt(t,n,r,o){const s=Ae(t),i=dt[dt.length-1];if(!i)return;const c=Te(t);if(!o&&s.pendingTriggers&&(o={type:"propChange",triggers:s.pendingTriggers}),s.pendingTriggers=void 0,o){const e=s.nextReason;if(e){const t=(e,t)=>{if("propChange"===e.type)return e.triggers.push(...t.triggers),!0;if("multiple"===e.type){const n=e.reasons.find(e=>"propChange"===e.type);if(n)return n.triggers.push(...t.triggers),!0}return!1};"propChange"===o.type&&t(e,o)||("multiple"===e.type?e.reasons.push(o):s.nextReason={type:"multiple",reasons:[e,o]})}else s.nextReason=o}if("production"===Ne.cycleHandling)i.all.has(c)&&i.all.delete(c);else if(i.all.has(c))return;if(!s.stopped&&(i.all.set(c,t),n&&"production"!==Ne.cycleHandling)){const r=Te(n);if(function(e,t){if(e===t)return!1;const n=ft.get(t);return!!n?.has(e)}(r,c)){const n=wt(r,c),o=n.length>0?`Cycle detected: ${n.map(e=>e.name||e.toString()).join(" → ")}`:`Cycle detected: ${r.name||r.toString()} → ${c.name||c.toString()} (and back)`;i.all.delete(c);const s=pe(t),a=Ae(t).creationStack;throw new qe(`[reactive] ${o}`,{code:e.ReactiveErrorCode.CycleDetected,cycle:n.map(e=>e.name||e.toString()),details:o,causalChain:s,lineage:a})}!function(e,t){if("production"===Ne.cycleHandling)return;const n=ct.get(e);if(n)n.add(t);else{const n=new Q;n.add(t),ct.set(e,n)}let r=at.get(t);if(r||(r=new Q,at.set(t,r)),r.add(e),e===t)return;const o=ht(ft,e),s=ht(lt,t);o.add(t),s.add(e);const i=lt.get(e);if(i)for(const e of i)e!==t&&(ht(ft,e).add(t),s.add(e));const c=ft.get(t);if(c)for(const t of c)t!==e&&(ht(lt,t).add(e),o.add(t));if(i?.size&&c?.size)for(const e of i){const t=ht(ft,e);for(const n of c)e!==n&&(t.add(n),ht(lt,n).add(e))}}(r,c)}}function kt(e){const t=dt[dt.length-1];t?t.deferreds.add(e):e()}const jt=kt;function Ot(e,t,n,r,o){if(n.has(e)){const t=r.indexOf(e);return r.slice(t).concat([e])}if(t.has(e))return[];t.add(e),n.add(e),r.push(e);const s=ct.get(e);if(s)for(const e of s)if(o.all.has(e)){const s=Ot(e,t,n,r,o);if(s.length>0)return s}return r.pop(),n.delete(e),[]}function St(t){const n=dt[dt.length-1];if(!n)return null;let r,o=null,s=null;if("production"===Ne.cycleHandling){const e=n.all.entries().next().value;e&&([s,o]=e)}else for(const[e,t]of n.all){if(0===(n.inDegrees.get(e)??0)){o=t,s=e;break}}if(!o){if(n.all.size>0){let t=function(e){const t=new Set,n=new Set,r=[];for(const[o]of e.all){if(t.has(o))continue;const s=Ot(o,t,n,r,e);if(s.length>0)return s}return[]}(n);if(0===t.length)for(const[e]of n.all){const r=ft.get(e);if(r){for(const o of r)if(o!==e&&n.all.has(o)){const n=ft.get(o);if(n?.has(e)){t=[e,o,e];break}}if(t.length>0)break}}const r=t.length>0?`Cycle detected: ${t.map(e=>e.name||"<anonymous>").join(" → ")}`:"Cycle detected in effect batch - all effects have dependencies that prevent execution";throw new qe(`[reactive] ${r}`,{code:e.ReactiveErrorCode.CycleDetected,cycle:t.map(e=>e.name||e.toString()),details:r})}return null}t.push(Te(o)),yt.push(o);try{const e=Ae(o),t=e.nextReason;if(e.cleanup){const n=e.cleanup;e.cleanup=void 0,n(t)}r=o()}finally{yt.pop()}for(let e=dt.length-1;e>=0;e--){const t=dt[e];t.all.has(s)&&(t.all.delete(s),t.inDegrees.delete(s),mt(t,s))}return r}function xt(t,n){if(ut)throw new qe("[reactive] Reactive system is broken after an unrecoverable error. Call reset() to recover.",{code:e.ReactiveErrorCode.BrokenEffects});Array.isArray(t)||(t=[t]);const r=t.map(Te),o=0===dt.length;if(o){if(Qe)throw new Error("Activation registry already exists");Qe=new Map,Ve("beginChain",r)}const s=Je();if(!o&&!n){for(let e=0;e<t.length;e++)vt(t[e],s);return}const i={all:new Map,inDegrees:new Map,deferreds:new Set};dt.push(i);let c=!1;try{const r=[],o={};if(n)for(let e=0;e<t.length;e++){yt.push(t[e]);try{const n=Ae(t[e]),r=n.nextReason;if(n.cleanup){const e=n.cleanup;n.cleanup=void 0,e(r)}const s=t[e]();void 0===s||"value"in o||(o.value=s)}finally{yt.pop(),i.all.delete(Te(t[e]))}}else{for(let e=0;e<t.length;e++)vt(t[e],s);!function(e){if("production"===Ne.cycleHandling)return;const t=Je(),n=t?Te(t):null;e.inDegrees.clear();for(const[t]of e.all){let r=0;const o=lt.get(t);if(o)for(const s of o)e.all.has(s)&&s!==n&&s!==t&&r++;e.inDegrees.set(t,r)}}(i)}for(;i.all.size>0||i.deferreds.size>0;)if(i.all.size>0){if(r.length>Ne.maxEffectChain){const t=tt(r),n=nt(r),o=t?`Max effect chain reached (cycle detected: ${nt(t)})`:`Max effect chain reached (trace: ${n})`,s=Array.from(i.all.keys()).map(e=>e.name||"<anonymous>"),c={code:e.ReactiveErrorCode.MaxDepthExceeded,effectuatedRoots:r,cycle:t,trace:n,maxEffectChain:Ne.maxEffectChain,queued:s.slice(0,50),queuedCount:s.length,causalChain:r.length>0?pe(i.all.get(r[r.length-1])):[]};switch(Ne.maxEffectReaction){case"throw":case"debug":throw new qe(`[reactive] ${o}`,c);case"warn":Ne.warn(`[reactive] ${o} (queued: ${s.slice(0,10).join(", ")}${s.length>10?", …":""})`)}}const t=St(r);void 0===t||"value"in o||(o.value=t)}else{const e=Array.from(i.deferreds);i.deferreds.clear();for(const t of e)t()}return c=!0,o.value}finally{c||1!==dt.length||(ut=!0),dt.pop(),0===dt.length&&(Qe=void 0,Ve("endChain"))}}const Mt=x({method:e=>function(...t){const n=()=>e.apply(this,t);return Object.defineProperty(n,"name",{value:`atomic(${e.name})`}),xt(n,"immediate")},default:e=>function(...t){const n=()=>e.apply(this,t);return Object.defineProperty(n,"name",{value:`atomic(${e.name})`}),xt(n,"immediate")}});const At=new FinalizationRegistry(e=>e()),Et=k(We,V(function(e,t={}){t?.name&&Object.defineProperty(e,"name",{value:t.name});const n=t?.asyncMode??Ne.asyncMode??"cancel",r=()=>{const t=Ae(r);if(t.cleanup){const e=t.cleanup;t.cleanup=void 0;try{Rt(()=>e(t.nextReason||{type:"stopped"}))}catch(e){Ne.warn("Error during effect cleanup",e)}}if(f)if("cancel"===n&&u)u(),u=null,f=null;else if("ignore"===n)return;if(a)return;let o,i;function h(e){const t=o;o=void 0,t?.(e)}l.reaction=t.nextReason||l.reaction,t.nextReason=void 0,Ve("enter",Te(e));let p,d=0,g=e=>{throw e};t.forwardThrow=g;try{if(i=s(k(Pe,()=>e.call(null,l))),l.reaction=!0,Ve("leave",e),i&&"function"!=typeof i&&("object"!=typeof i||!("then"in i)))throw new qe(`[reactive] Effect returned a non-function value: ${i}`);if(i&&"object"==typeof i&&"function"==typeof i.then){const e=i;let t=null;const n=new Promise((e,n)=>{t=n}),r=new qe("[reactive] Effect canceled due to dependency change");f=Promise.race([e,n]),u=()=>{t&&t(r)},f=f.catch(e=>{e!==r&&g(e)})}else o=i}catch(e){p=e}t.cleanup=e=>{t.cleanup=void 0,h(e),delete t.catchers;const n=Se.get(r);if(n){for(const e of n){const t=xe.get(e);if(t){for(const[e,n]of t.entries())n.delete(r),0===n.size&&t.delete(e);0===t.size&&xe.delete(e)}}Se.delete(r)}const o=t.children;if(o){const n=e?"lineage"===e.type?e:{type:"lineage",parent:e}:{type:"stopped"};for(const e of o)e(n);delete t.children}},g=e=>{const n=t.catchers,r={type:"error",error:e};if(n)for(;d<n.length;){h(r);try{return void(o=n[d](e))}catch(e){d++}}if(!c)throw e;{const t=Ae(c);if(!t.forwardThrow)throw e;t.forwardThrow(e)}},t.forwardThrow=g,p&&g(p)},o=Ae(r),s=Ue.present.with(r,()=>k(We,_e.zoned)),i=k(We,Ue.zoned),c=Ue.present.active;o.parent=c;let a=!1;const l={tracked:s,ascend:k(We,e=>i(k(Pe,()=>e.call(null)))),reaction:!1};let f=null,u=null;function h(e){return Object.defineProperties(e,{[Ce]:{get:()=>a}})}t?.dependencyHook&&(o.dependencyHook=t.dependencyHook),Re(r,e),t?.opaque&&(o.isOpaque=!0),xt(r,"immediate");const p=e=>{if(!a){a=!0,o.stopped=!0,u&&(u(),u=null,f=null);try{o.cleanup?.(e||{type:"stopped"})}catch(e){Ne.warn("Error during effect cleanup",e)}!function(e){if("production"===Ne.cycleHandling)return;const t=Te(e),n=lt.get(t),r=ft.get(t),o=ct.get(t);if(o){for(const e of o){const n=at.get(e);n?.delete(t)}ct.delete(t)}const s=at.get(t);if(s){for(const e of s){const n=ct.get(e);n?.delete(t)}at.delete(t)}if(n)for(const e of n){const n=ft.get(e);if(n&&(n.delete(t),r))for(const o of r)pt(e,o,t)||n.delete(o)}if(r)for(const e of r){const r=lt.get(e);if(r&&(r.delete(t),n))for(const o of n)pt(o,e,t)||r.delete(o)}if(n&&r)for(const e of n){const n=ft.get(e);if(n)for(const o of r)if(!pt(e,o,t)){n.delete(o);const t=lt.get(o);t?.delete(e)}}lt.delete(t),ft.delete(t)}(r),At.unregister(p)}};if(!c){const t=h(e=>p(e));return At.register(t,()=>{p({type:"gc"}),Ve("garbageCollected",e)},p),t}if(c){const e=Ae(c);e.children||(e.children=new Set);const t=e.children,n=h(e=>{t.delete(n),p(e)});return t.add(n),n}return h(e=>p(e))},{get opaque(){return L(this,{opaque:!0},{name:"opaque"})},named(e){return L(this,{name:e},{name:"named"})}}));function Rt(e){return Ue.present.root(e)}function Tt(e){return Ue.root(e)}const Pt=new WeakMap,Wt=new WeakSet;let Dt=0;const zt=new WeakMap,It=new WeakMap;function Ct(e,t,n){let r=Pt.get(e);r||(r=new Set,Pt.set(e,r)),r.add({parent:t,prop:n})}function $t(e,t,n){const r=Pt.get(e);if(r){for(const e of r)if(e.parent===t&&e.prop===n){r.delete(e);break}0===r.size&&Pt.delete(e)}}function Kt(e){return!!Dt&&(!!Wt.has(e)||Nt(e))}function qt(e,t){const n=Pt.get(e);if(n)for(const{parent:e,prop:r}of n){const n=zt.get(e);if(n){if(Ne.introspection?.gatherReasons){const r=Ne.introspection.gatherReasons.lineages;let o;"touch"!==r&&"both"!==r||(o=de());for(const s of n){const n="dependency"===r||"both"===r?Ye(s,e,ze):void 0,i=Ae(s);i.pendingTriggers||(i.pendingTriggers=[]),i.pendingTriggers.push({obj:e,evolution:t,dependency:n,touch:o})}}for(const e of n)xt(e)}qt(e,t)}}function Nt(e){const t=Pt.get(e);if(!t)return!1;for(const{parent:e}of t){if(Wt.has(e))return!0;if(Nt(e))return!0}return!1}const Vt=new WeakMap;function Lt(e,t){const n={},r=Ht(e=Be(e));r&&Object.assign(r,{evolution:t,next:n}),Vt.set(e,n)}function Ht(e){e=Be(e);let t=Vt.get(e);return t||(t={},Vt.set(e,t)),t}function Bt(e,t,n,r,...o){Je();for(const s of o)for(const o of s){const s=r.get(o);if(s)for(const r of s){Ze(r)?Ve("skipRunningEffect",r):n.has(r)||(n.set(r,Ye(r,e,o)),gt(r)||ot(r,e,t,o))}}}function Ft(e,t,n){Ut(e,t,[n])}function Ut(e,t,n){Lt(e=Be(e),t);const r=xe.get(e);if(r){const o=new Map,s=!["set","invalidate"].includes(t.type);n?Bt(e,t,o,r,s?[ze,Ie]:[ze],n):Bt(e,t,o,r,r.keys());const i=Array.from(o.keys());if(Ve("touched",e,t,n,i),Ne.introspection?.gatherReasons){const n=Ne.introspection.gatherReasons.lineages;let r;"touch"!==n&&"both"!==n||(r=de());for(const[n,s]of o){const o=Ae(n);o.pendingTriggers||(o.pendingTriggers=[]),o.pendingTriggers.push({obj:e,evolution:t,dependency:s,touch:r})}}xt(i)}Wt.has(e)&&qt(e,t)}const _t=new WeakMap,Zt=new WeakMap;function Jt(e,t){e.branches??(e.branches=new WeakMap);let n=e.branches.get(t);return n||(n={},e.branches.set(t,n)),n}function Gt(e,t){const n=Te(e),r=_t.get(n);if(r)return r;const o={},s=Re(function(...n){if(n.some(e=>!(e&&["object","symbol","function"].includes(typeof e)))){if(t?.lenient)return e.apply(this,n);throw new Error("memoize expects non-null object arguments")}let r=o;for(const e of n)r=Jt(r,e);if(et(r,"memoize"),"result"in r){if(Ne.onMemoizationDiscrepancy){const t=Ne.isVerificationRun;Ne.isVerificationRun=!0;try{const t=Rt(()=>e.apply(this,n));m(r.result,t)||Ve("onMemoizationDiscrepancy",r.result,t,e,n,"calculation")}finally{Ne.isVerificationRun=t}}return r.result}if(r.cleanup=Tt(()=>Et.named("memoize")(()=>(r.result=e.apply(this,n),e=>{delete r.result,Ft(r,{type:"invalidate",prop:n},"memoize"),r.cleanup&&(r.cleanup({type:"invalidate",cause:e}),r.cleanup=void 0)}),{opaque:!0})),Ne.onMemoizationDiscrepancy){const t=Ne.isVerificationRun;Ne.isVerificationRun=!0;try{const t=Rt(()=>e.apply(this,n));m(r.result,t)||Ve("onMemoizationDiscrepancy",r.result,t,e,n,"comparison")}finally{Ne.isVerificationRun=t}}return r.result},e);return _t.set(n,s),_t.set(s,s),s}function Qt(e){return x({getter:(t,n,r)=>function(){let o=Zt.get(t);if(!o){o=Re(k(`${String(n?.constructor?.name??n?.name??"Object")}.${String(r)}`,e=>t.call(e)),{method:t,propertyKey:r});const e=t[Oe];e&&(o[Oe]=e),Zt.set(t,o)}return Gt(o,e)(this)},method:(t,n,r)=>function(...o){let s=Zt.get(t);if(!s){s=Re(k(`${String(n?.constructor?.name??n?.name??"Object")}.${String(r)}`,(e,...n)=>t.call(e,...n)),{method:t,propertyKey:r});const e=t[Oe];e&&(s[Oe]=e),Zt.set(t,s)}return Gt(s,e)(this,...o)},default:t=>"object"==typeof t?function(e,t){const n=_t.get(e);if(n)return n;const r=new Proxy(e,{get(e,n,r){let o,s=e;for(;s&&(o=Object.getOwnPropertyDescriptor(s,n),!o);)s=Object.getPrototypeOf(s);if(!o)return Reflect.get(e,n,r);if(o.get){const s=o.get;let i=Zt.get(s);if(!i){i=Re(k(`${String(e?.constructor?.name??"Object")}.${String(n)}`,e=>s.call(e)),{propertyKey:n});const t=s[Oe];t&&(i[Oe]=t),Zt.set(s,i)}return Gt(i,t)(r)}return Reflect.get(e,n,r)},set:(e,t,n,r)=>Reflect.set(e,t,n,e)});return He.set(r,e),_t.set(e,r),r}(t,e):Gt(t,e)})}const Xt=V(Qt(),{get lenient(){return Qt({lenient:!0})}}),Yt=new WeakSet,en=new WeakSet,tn=new WeakMap;let nn=0;function rn(e,t){if(!nn)return!1;let n=e;for(;n;){if(tn.get(n)?.has(t))return!0;n=Object.getPrototypeOf(n)}return!1}const on=new Set,sn=Symbol("absent");function cn(...e){for(const t of e)t&&en.add(t.prototype);return e[0]}function an(e){if(null===e||"object"!=typeof e)return!0;if(Yt.has(e))return!0;let t=Object.getPrototypeOf(e);for(;t;){if(en.has(t))return!0;t=Object.getPrototypeOf(t)}for(const t of on)if(t(e))return!0;return!1}function ln(e){if(Array.isArray(e))return Array.prototype;if("object"==typeof e)try{return e.constructor}catch{return}}function fn(e,t){return e!==t&&(!("object"!=typeof e&&!Array.isArray(e)||"object"!=typeof t&&!Array.isArray(t))&&(!an(e)&&!an(t)&&ln(e)===ln(t)))}function un(e,t,n,r,o){const s={type:o?"set":"add",prop:t};if(Ne.recursiveTouching&&void 0!==n&&fn(n,r)){const o={obj:Be(e),prop:t};!function(e){if(!e.length)return;const t=new Set,n=new Map,r=e[0]?.origin;let o;if(r){o=new Set;const e=xe.get(r.obj);if(e){const t=new Map;Bt(r.obj,{type:"set",prop:r.prop},t,e,[ze],[r.prop]);for(const e of t.keys())o.add(e)}if(0===o.size)return}for(const s of e){const{target:e,evolution:i,prop:c}=s;if("object"!=typeof e&&!Array.isArray(e))continue;const a=Be(e);Lt(a,i);const l=xe.get(a);let f;const u=[c];if(l){f=new Map;if(Bt(a,i,f,l,"set"!==i.type?[ze,Ie]:[ze],u),r&&o){const e=new Map;for(const[t,n]of f)(o.has(t)||dn(t,o))&&e.set(t,n);f=e}for(const e of f.keys()){t.add(e);let r=n.get(e);r||(r=[],n.set(e,r)),r.push(s)}}f&&Ve("touched",a,i,u,Array.from(f.keys())),Wt.has(a)&&qt(a,i)}if(t.size){if(Ne.introspection?.gatherReasons){const e=Ne.introspection.gatherReasons.lineages;let r;"touch"!==e&&"both"!==e||(r=de());for(const o of t){const t=Ae(o);t.pendingTriggers||(t.pendingTriggers=[]);for(const{target:s,evolution:i,prop:c}of n.get(o)){const n="dependency"===e||"both"===e?Ye(o,Be(s),c??ze):void 0;t.pendingTriggers.push({obj:Be(s),evolution:i,dependency:n,touch:r})}}}xt([...t])}}(Rt(()=>pn(n,r,new WeakMap,[],o))),function(e,t,n){e=Be(e);const r=xe.get(e);if(!r)return;const o=r.get(n);if(!o)return;const s=new Set;Je();const i=Ne.introspection?.gatherReasons;if(i){const r=i.lineages;for(const c of o){const o=Ae(c);if(o.isOpaque)if(Ze(c))Ve("skipRunningEffect",c);else{if(s.add(c),i){let s,i;"touch"!==r&&"both"!==r||(s=de()),"dependency"!==r&&"both"!==r||(i=Ye(c,e,n)),o.pendingTriggers||(o.pendingTriggers=[]),o.pendingTriggers.push({obj:e,evolution:t,dependency:i,touch:s})}ot(c,e,t,n)}}}else for(const r of o)Ae(r).isOpaque&&(Ze(r)?Ve("skipRunningEffect",r):(s.add(r),ot(r,e,t,n)));s.size>0&&(Ve("touched",e,t,[n],Array.from(s)),xt(Array.from(s)))}(e,s,t)}else Ft(e,s,t)}function hn(e){const t=new Set(Reflect.ownKeys(e));let n=Object.getPrototypeOf(e);for(;n&&!Object.hasOwn(n,"constructor");){for(const e of Reflect.ownKeys(n))t.add(e);n=Object.getPrototypeOf(n)}return t}function pn(e,t,n=new WeakMap,r=[],o){return fn(e,t)?"object"!=typeof e&&!Array.isArray(e)||"object"!=typeof t&&!Array.isArray(t)||function(e,t,n){let r=e.get(t);return r||(r=new WeakSet,e.set(t,r)),!!r.has(n)||(r.add(n),!1)}(n,e,t)?r:Array.isArray(e)&&Array.isArray(t)?(function(e,t,n,r,o){const s=[],i=e.length,c=t.length,a=Math.max(i,c);for(let n=0;n<a;n++){const r=n<i,a=n<c;if(r&&!a){s.push({target:e,evolution:{type:"del",prop:n},prop:n,origin:o});continue}if(!r&&a){s.push({target:e,evolution:{type:"add",prop:n},prop:n,origin:o});continue}if(!r||!a)continue;const l=Be(e[n]),f=Be(t[n]);Object.is(l,f)||s.push({target:e,evolution:{type:"set",prop:n},prop:n,origin:o})}i!==c&&s.push({target:e,evolution:{type:"set",prop:"length"},prop:"length",origin:o});r.push(...s)}(e,t,0,r,o),r):(function(e,t,n,r,o){const s=hn(e),i=hn(t),c=[];for(const t of s)i.has(t)||c.push({target:e,evolution:{type:"del",prop:t},prop:t,origin:o});for(const t of i)s.has(t)||c.push({target:e,evolution:{type:"add",prop:t},prop:t,origin:o});for(const a of i){if(!s.has(a))continue;const i=Be(e[a]),l=Be(t[a]);fn(i,l)?pn(i,l,n,r,o):Object.is(i,l)||c.push({target:e,evolution:{type:"set",prop:a},prop:a,origin:o})}r.push(...c)}(e,t,n,r,o),r):r}function dn(e,t){let n=e;const r=new WeakSet;for(;n&&!r.has(n);){if(r.add(n),t.has(n))return!0;n=Ae(n).parent}return!1}cn(Date,RegExp,Error,Promise,Function),"undefined"!=typeof window&&(!function(...e){for(const t of e)Yt.add(t);e[0]}(window,document),cn(Node,Element,HTMLElement,EventTarget,HTMLCollection,NodeList));const gn=new WeakMap,yn=new WeakMap,mn=new WeakMap,bn=new Set,wn=new WeakMap,vn={[Symbol.toStringTag]:"MutTs Reactive",get(e,t,n){if(e&&"object"==typeof e&&t!==Symbol.toStringTag){const n=gn.get(e.constructor);if(n&&Object.hasOwn(n,t)){const r=Object.getOwnPropertyDescriptor(n,t);if(r.get){if(!Object.hasOwn(e,t))return r.get.call(e);const n=Object.getOwnPropertyDescriptor(e,t);if(n.configurable||n.writable||n.get)return r.get.call(e)}else if(!Object.hasOwn(e,t))return(...t)=>r.value.apply(e,t)}const r=yn.get(e.constructor);if(r&&Object.hasOwn(r,t))return r[t]}if("symbol"==typeof t)return g.get(e,t,n);if(rn(e,t))return g.get(e,t,n);const r=Object.hasOwn(e,t);let o=r,s=r?e:void 0;if(!r){let n=Object.getPrototypeOf(e);for(;n&&n!==Object.prototype;){if(Object.hasOwn(n,t)){o=!0,s=n;break}n=Object.getPrototypeOf(n)}}const i=o&&!r,c=Ne.ignoreAccessors&&r&&null!==Object.getPrototypeOf(e)&&(y(n,t)||y(e,t));o&&(Ne.instanceMembers&&i&&e instanceof Object||c)||et(e,t),!i||!s||Ne.instanceMembers&&e instanceof Object||et(s,t);const a=(wn.get(e)?.get||g.get)(e,t,n);if("object"==typeof a&&null!==a){const n=On(a);return Kt(e)&&Ct(n,e,t),n}return a},set(e,t,n,r){const o=Be(r);if(rn(e,t)||e!==o)return g.set(e,t,n,r);const s=Be(n);if(e&&"object"==typeof e&&t!==Symbol.toStringTag){const n=e.constructor&&gn.get(e.constructor);if(n&&Object.hasOwn(n,t)){const r=Object.getOwnPropertyDescriptor(n,t);if(r.set)return r.set.call(e,s),!0}}let i=sn;const c="length"===t&&Array.isArray(e);if(Reflect.has(o,t)&&(i=c?mn.get(e)===s?s:sn:Rt(()=>Reflect.get(e,t,r))),Wt.has(e)&&("object"==typeof i&&null!==i&&$t(i,e,t),"object"==typeof s&&null!==s)){Ct(On(s),e,t)}return i!==s&&g.set(e,t,s,r)&&(c&&mn.set(e,s),un(e,t,i,s,i!==sn)),!0},has(t,n){if(bn.has(t))throw new qe(`[reactive] Circular dependency detected in 'has' check for property '${String(n)}'`,{code:e.ReactiveErrorCode.CycleDetected,cycle:[]});bn.add(t),et(t,n);const r=(wn.get(t)?.has||Reflect.has)(t,n);return bn.delete(t),r},deleteProperty(e,t){if(!Object.hasOwn(e,t))return!1;const n=e[t];return Wt.has(e)&&"object"==typeof n&&null!==n&&$t(n,e,t),delete e[t],Ft(e,{type:"del",prop:t},t),Wt.has(e)&&qt(e,{type:"del",prop:t}),!0},ownKeys:e=>(et(e,Ie),wn.get(e)?.ownKeys?.(e)||Reflect.ownKeys(e)),getOwnPropertyDescriptor:(e,t)=>wn.get(e)?.getOwnPropertyDescriptor?.(e,t)||Reflect.getOwnPropertyDescriptor(e,t)},kn=new WeakSet,jn=X(e=>class extends e{constructor(...e){return super(...e),kn.has(new.target)?Sn(this):this}});function On(e,t){if(!e||"object"!=typeof e)return e;const n=e;if(an(n))return n;if(He.has(n))return n;const r=function(e){return Le.get(e)}(n);if(void 0!==r)return r;t&&wn.set(n,t);const o=new Proxy(n,vn);return Array.isArray(n)&&mn.set(n,n.length),function(e,t){Le.set(e,t),He.set(t,e)}(n,o),o}const Sn=x({class(e){if(e.prototype instanceof jn)return kn.add(e),e;class t extends e{constructor(...n){return super(...n),new.target===t||kn.has(new.target)||Ne.warn(`${e.name} has been inherited by ${this.constructor.name} that is not reactive.\n@reactive decorator must be applied to the leaf class OR classes have to extend ReactiveBase.`),Sn(this)}}return Object.defineProperty(t,"name",{value:`Reactive<${e.name}>`}),t},get:e=>On(e),default:On});function xn(e,t){const n="function"==typeof e?e:Array.isArray(e)?()=>Array.from({length:e.length},(e,t)=>t):e instanceof Map?()=>e.keys():e instanceof Set?()=>e.values():()=>Object.keys(e),r=new Map,o=Et(({ascend:e})=>{const o=new Set;for(const e of n())o.add(e);for(const n of o)r.has(n)||r.set(n,e(()=>Et(()=>t(n))));for(const e of Array.from(r.keys()))o.has(e)||(r.get(e)(),r.delete(e))});return e=>{o(e);for(const t of r.values())t(e);r.clear()}}function Mn(e,t,n){if(!Fe(e)&&!0===n?.pure){const n={};for(const r of Object.keys(e))n[r]=t(e[r]);return n}let r;const o=new Map,s={};function i(e){const t=o.get(e);t&&(t({type:"stopped"}),o.delete(e))}function c(i){return!(i in s)&&i in e&&function(i,c){if(!0===n?.pure||"function"==typeof n?.pure&&n.pure(c))s[i]=r(()=>t(c));else{const n=r(()=>Et.opaque(()=>(s[i]=t(e[i]),e=>{delete s[i],Ft(s,{type:"invalidate",prop:"morph"},String(i)),n({type:"invalidate",cause:e})})));o.set(i,n)}}(i,e[i]),s[i]}const a=Sn(s,{get:(e,t)=>c(t),has:(t,n)=>n in e,ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(t,n){if(n in e)return{configurable:!0,enumerable:!0,get:()=>c(n)}}});let l=Ht(e);const f=Et.named("morph:record")(({ascend:t})=>{for(r=t,et(e,Ie);"evolution"in l;){const{evolution:e}=l;l=l.next,"add"===e.type?Ft(s,e,e.prop):"del"===e.type&&(i(e.prop),delete s[e.prop],Ft(s,e,e.prop))}});return Ge(a,e=>{f(e);for(const t of o.values())t(e);o.clear()})}const An=V(function(e,t,n){return Array.isArray(e)||"function"==typeof e?function(e,t,n){if("function"!=typeof e&&!Fe(e)&&!0===n?.pure)return e.map(t);let r;const o=new Map,s=[];let i=[];function c(e){const t=o.get(e);t&&(t.stop({type:"stopped"}),o.delete(e))}function a(e,i){if(!0===n?.pure||"function"==typeof n?.pure&&n.pure(i))r(()=>{s[e]=t(i)});else{const n={value:e};let c;r(()=>{c=Et.opaque(()=>(s[n.value]=t(i),t=>{delete s[n.value],Ft(s,{type:"invalidate",prop:"morph"},String(e)),c({type:"invalidate",cause:t})}))}),o.set(e,{stop:c,index:n})}}const l=Sn(s,{get(e,t){const n="string"==typeof t?Number(t):NaN;return Number.isNaN(n)?e[t]:(n in e||a(n,i[n]),e[n])},has:(e,t)=>Reflect.has(i,t)}),f=Et.named("morph:array")(({ascend:t})=>{r=t;const n=[..."function"==typeof e?e():e],a=W(i,n).toSorted((e,t)=>t.indexA-e.indexA);if(a.length>0){for(const e of a){for(let t=e.indexA;t<e.indexA+e.sliceA.length;t++)c(t);const t=e.sliceB.length-e.sliceA.length;if(0!==t){const n=Array.from(o.entries()).sort((e,t)=>e[0]-t[0]);for(const[t,r]of n)t>=e.indexA+e.sliceA.length&&o.delete(t);for(const[r,s]of n)if(r>=e.indexA+e.sliceA.length){const e=r+t;s.index.value=e,o.set(e,s)}}s.splice(e.indexA,e.sliceA.length,...new Array(e.sliceB.length).fill(void 0));for(let t=e.indexA;t<e.indexA+e.sliceB.length;t++)delete s[t]}const e=new Set([Ie]);i.length!==n.length&&e.add("length");for(const t of a){const n=Math.max(t.sliceA.length,t.sliceB.length);for(let r=0;r<n;r++)e.add(String(t.indexA+r))}Ut(s,{type:"bunch",method:"morph-input"},e)}i=n});return Ge(l,e=>{f(e);for(const t of o.values())t.stop(e);o.clear()})}(e,t,n):e instanceof Map?function(e,t,n){if(!Fe(e)&&!0===n?.pure){const n=new Map;for(const[r,o]of e)n.set(r,t(o));return n}let r;const o=new Map,s=new Map;function i(e){const t=o.get(e);t&&(t({type:"stopped"}),o.delete(e))}function c(i,c){if(!0===n?.pure||"function"==typeof n?.pure&&n.pure(c))s.set(i,r(()=>t(c)));else{const n=r(()=>Et.opaque(()=>(s.set(i,t(e.get(i))),e=>{s.delete(i),Ft(s,{type:"invalidate",prop:"morph"},String(i)),n({type:"invalidate",cause:e})})));o.set(i,n)}}Object.defineProperty(s,"constructor",{value:Object,enumerable:!1});const a=Sn(s,{get:(t,n)=>"get"===n?n=>(!t.has(n)&&e.has(n)&&c(n,e.get(n)),t.get(n)):"has"===n?t=>e.has(t):"keys"===n?()=>e.keys():"values"===n?function*(){for(const t of e.keys())yield a.get(t)}:"entries"===n||n===Symbol.iterator?function*(){for(const t of e.keys())yield[t,a.get(t)]}:t[n]});let l=Ht(e);const f=Et.named("morph:map")(({ascend:t})=>{for(r=t,et(e,Ie);"evolution"in l;){const{evolution:e}=l;l=l.next,"add"===e.type?Ft(s,e,e.prop):"del"===e.type&&(i(e.prop),s.delete(e.prop),Ft(s,e,e.prop))}});return Ge(a,e=>{f(e);for(const t of o.values())t(e);o.clear()})}(e,t,n):Mn(e,t,n)},{get pure(){return(e,t,n)=>this(e,t,{pure:!0})}});function En(e,t,{immediate:n=!1}={}){if(null==e)return;if("object"!=typeof e)throw new Error("Target of deep watching must be an object");const r=Re(()=>t(e),t);return Dt++,Et(()=>{Wt.add(e);let o=It.get(r);o||(o=new Set,It.set(r,o)),o.add(e);const s=new WeakSet;return function e(t,n=0){if(!(!t||s.has(t)||"object"!=typeof t||n>Ne.maxDeepWatchDepth||an(t))){s.add(t),Wt.add(t),o.add(t);for(const r in Be(t))if(Object.hasOwn(t,r)){const o=t[r];e("object"==typeof o&&null!==o?Sn(o):o,n+1)}if(Array.isArray(t)||t instanceof Array){const r=t.length;for(let o=0;o<r;o++){const r=t[o];e("object"==typeof r&&null!==r?Sn(r):r,n+1)}}else if(t instanceof Set)for(const r of t){e("object"==typeof r&&null!==r?Sn(r):r,n+1)}else if(t instanceof Map)for(const[r,o]of t){e("object"==typeof o&&null!==o?Sn(o):o,n+1)}}}(e),n&&Rt(()=>t(e)),n=!0,()=>{const e=It.get(r);if(e){for(const t of e){const e=zt.get(t);e?(e.delete(r),0===e.size&&(zt.delete(t),Wt.delete(t))):Wt.delete(t)}It.delete(r)}}})}const Rn=Symbol("unset-yet"),Tn=V(function(e,t,n={}){return"function"==typeof e?function(e,t,{immediate:n=!1,deep:r=!1}={}){let o,s=Rn;const i=Et(Re(function(i){const c=e(i);if(s!==c){const e=s;e===Rn?n&&Rt(()=>t(c)):Rt(()=>t(c,e))}s=c,r&&(o&&o(),o=En(c,e=>t(e,e)))},e));return Object.defineProperties(()=>{i(),o&&o()},{[Ce]:{get:()=>i[Ce]}})}(e,t,n):"object"==typeof e&&null!==e?function(e,t,{immediate:n=!1,deep:r=!1}={}){return r?En(e,t,{immediate:n}):Et(function(){et(e),n&&t(e),n=!0})}(e,t,n):(()=>{throw new Error("watch: value must be a function or an object")})()},{get deep(){return L(this,{deep:!0})},get immediate(){return L(this,{immediate:!0})}});const Pn=x({class(e){cn(e)},default:function(e,...t){return"object"==typeof e?(an(n=Be(n=e))||Yt.add(n),n):n=>{const r=tn.get(n.prototype),o=new Set(r||[]);o.add(e);for(const e of t)o.add(e);return function(e,t){tn.set(e,t),nn++}(n.prototype,o),n};var n}});let Wn=(()=>{var e,t,n,r,o,s,i,c,a,l;let f,u,h=[Pn],p=[],d=function(){class e extends(F(_,{get(e){return this[H](e)},set(e,t){this[B](e,t)},getLength(){return this.length},setLength(e){this.length=e}})){toArray(){return Array.from(this)}}return e}();var g,y,m;return u=class extends d{get[(t=new WeakMap,n=new WeakMap,r=new WeakMap,o=new WeakMap,s=new WeakMap,i=new WeakMap,c=new WeakMap,a=new WeakMap,e=new WeakSet,U)](){return this.toArray()}on(e,t){return ue(this,a,"f").on(e,t)}off(e,t){ue(this,a,"f").off(e,t)}hook(e){return ue(this,a,"f").hook(e)}constructor(l,f){let u;if(super(),e.add(this),t.set(this,void 0),n.set(this,void 0),r.set(this,void 0),o.set(this,new Map),s.set(this,new Map),i.set(this,new Set),c.set(this,void 0),a.set(this,new N),Et(({ascend:e})=>{u=e}),he(this,c,u,"f"),"function"!=typeof l)throw new Error("Register requires a key function");he(this,t,l,"f"),he(this,n,Sn([]),"f"),he(this,r,Sn(new Map),"f"),f&&this.push(...f)}ensureKey(n){let r=ue(this,s,"f").get(n);if(r)return r.key;if(r={key:void 0},ue(this,s,"f").set(n,r),ue(this,c,"f").call(this,()=>{const o=Et(({reaction:o})=>{const s=ue(this,t,"f").call(this,n);this.assertValidKey(s);const i=r.key;o&&void 0!==i&&!Object.is(s,i)&&ue(this,e,"m",l).call(this,n,i,s),r.key=s});r.stop=o,ue(this,i,"f").add(o)}),void 0===r.key)throw new Error("Register key function must return a property key");return r.key}assertValidKey(e){const t=typeof e;if("string"!==t&&"number"!==t&&"symbol"!==t)throw new Error("Register key function must return a property key")}setKeyValue(e,t,n){const o=ue(this,r,"f").get(e);void 0!==o&&o!==t?(this.cleanupValue(o),ue(this,r,"f").set(e,t),void 0!==n&&ue(this,a,"f").emit("update",o,t,e,n)):ue(this,r,"f").set(e,t)}cleanupValue(e){const t=ue(this,s,"f").get(e);if(!t)return;const n=t.stop;n&&(t.stop=void 0,ue(this,i,"f").delete(n),n()),ue(this,s,"f").delete(e)}disposeKeyEffects(){for(const e of Array.from(ue(this,s,"f").keys()))this.cleanupValue(e);ue(this,i,"f").clear()}incrementUsage(e){const t=ue(this,o,"f").get(e)??0;ue(this,o,"f").set(e,t+1)}decrementUsage(e,t){const s=ue(this,o,"f").get(e);if(s)if(s<=1){const s=ue(this,r,"f").get(e);if(ue(this,o,"f").delete(e),ue(this,r,"f").delete(e),void 0!==s){this.cleanupValue(s);const r=t??ue(this,n,"f").indexOf(e);ue(this,a,"f").emit("delete",s,e,r)}}else ue(this,o,"f").set(e,s-1)}normalizeIndex(e,t=!1){const n=this.length;let r=e;if(r<0&&(r=Math.max(n+r,0)),r>n){if(!t)throw new RangeError("Index out of bounds");r=n}if(!t&&r===n)throw new RangeError("Index out of bounds");return r}assignAt(e,t,o){const s=ue(this,n,"f")[e];if(void 0!==s&&Object.is(s,t)){const n=ue(this,r,"f").get(t);return this.setKeyValue(t,o),void(void 0!==n&&n!==o&&ue(this,a,"f").emit("update",n,o,t,e))}void 0!==s&&this.decrementUsage(s),ue(this,n,"f")[e]=t,this.incrementUsage(t),this.setKeyValue(t,o),ue(this,a,"f").emit("add",o,t,e)}insertKeyValue(e,t,r){ue(this,n,"f").splice(e,0,t),this.incrementUsage(t),this.setKeyValue(t,r),ue(this,a,"f").emit("add",r,t,e)}rebuildFrom(e){this.disposeKeyEffects(),ue(this,n,"f").splice(0,ue(this,n,"f").length),ue(this,o,"f").clear(),ue(this,r,"f").clear();for(const t of e){const e=this.ensureKey(t);ue(this,n,"f").push(e),this.incrementUsage(e),ue(this,r,"f").set(e,t)}}get length(){return ue(this,n,"f").length}[(l=function(e,t,i){if(Object.is(t,i))return;const c=ue(this,r,"f").get(i);if(void 0!==c&&c!==e)throw new Error(`Register key collision for key ${String(i)}`);const l=ue(this,o,"f").get(t);if(!l)return;const f=ue(this,o,"f").get(i)??0;this.setKeyValue(i,e);let u=-1;for(let e=0;e<ue(this,n,"f").length;e++)Object.is(ue(this,n,"f")[e],t)&&(ue(this,n,"f")[e]=i,-1===u&&(u=e));ue(this,o,"f").set(i,f+l),ue(this,o,"f").delete(t),ue(this,r,"f").delete(t);const h=ue(this,s,"f").get(e);h&&(h.key=i),-1!==u&&ue(this,a,"f").emit("rekey",e,t,i,u)},H)](e){const t=ue(this,n,"f")[e];return void 0===t?void 0:ue(this,r,"f").get(t)}[B](e,t){const n=this.ensureKey(t);if(e===this.length)return void this.insertKeyValue(e,n,t);const r=this.normalizeIndex(e);this.assignAt(r,n,t)}push(...e){for(const t of e){const e=this.ensureKey(t);this.insertKeyValue(this.length,e,t)}return this.length}pop(){if(this.length)return this.removeAt(this.length-1)}shift(){if(this.length)return this.removeAt(0)}unshift(...e){let t=0;for(const n of e){const e=this.ensureKey(n);this.insertKeyValue(t++,e,n)}return this.length}splice(e,t,...o){const s=this.normalizeIndex(e,!0),i=this.length-s,c=Math.min(void 0===t?i:Math.max(t,0),i),a=[];for(const e of o)a.push(this.ensureKey(e));const l=ue(this,n,"f").splice(s,c,...a),f=[];for(let e=0;e<l.length;e++){const t=l[e];if(void 0===t)continue;const n=ue(this,r,"f").get(t);this.decrementUsage(t,s+e),f.push(n)}for(let e=0;e<a.length;e++){const t=a[e],n=o[e];this.incrementUsage(t),this.setKeyValue(t,n)}return f}clear(){ue(this,n,"f").length=0,ue(this,o,"f").clear(),ue(this,r,"f").clear(),this.disposeKeyEffects()}get(e){return ue(this,r,"f").get(e)}set(e,t){ue(this,r,"f").has(e)&&this.setKeyValue(e,t)}remove(e){let t=this.indexOfKey(e);for(;-1!==t;)this.removeAt(t),t=this.indexOfKey(e)}removeAt(e){const[t]=ue(this,n,"f").splice(e,1);if(void 0===t)return;const o=ue(this,r,"f").get(t);return this.decrementUsage(t,e),o}keep(e){const t=new Map;for(const[o,s]of ue(this,n,"f").entries()){if(t.has(s)){t.get(s)||this.removeAt(o);continue}const n=e(ue(this,r,"f").get(s));t.set(s,n),n||this.removeAt(o)}}hasKey(e){return ue(this,o,"f").has(e)}indexOfKey(e){return ue(this,n,"f").indexOf(e)}mapKeys(){return ue(this,r,"f").keys()}update(...e){for(const t of e){const e=this.ensureKey(t);if(ue(this,r,"f").has(e)){const r=ue(this,n,"f").indexOf(e);this.setKeyValue(e,t,r)}}}upsert(e,...t){for(const n of t){const t=this.ensureKey(n);ue(this,r,"f").has(t)?this.setKeyValue(t,n):e(n)}}entries(){const e=this;return function*(){for(let t=0;t<ue(e,n,"f").length;t++){const o=ue(e,r,"f").get(ue(e,n,"f")[t]);void 0!==o&&(yield[t,o])}}()}[Symbol.iterator](){const e=this;return function*(){for(const t of ue(e,n,"f")){const n=ue(e,r,"f").get(t);void 0!==n&&(yield n)}}()}toString(){return`[Register length=${this.length}]`}at(e){const t=e<0?this.length+e:e;if(!(t<0||t>=this.length))return this[H](t)}reverse(){return ue(this,n,"f").reverse(),this}sort(e){const t=e?(t,n)=>e(ue(this,r,"f").get(t),ue(this,r,"f").get(n)):void 0;return ue(this,n,"f").sort(t),this}fill(e,t=0,n=this.length){const r=this.toArray();return r.fill(e,t,n),this.rebuildFrom(r),this}copyWithin(e,t,n){const r=this.toArray();return r.copyWithin(e,t,n),this.rebuildFrom(r),this}},g=u,"symbol"==typeof(y="RegisterClass")&&(y=y.description?"[".concat(y.description,"]"):""),Object.defineProperty(g,"name",{configurable:!0,value:m?"".concat(m," ",y):y}),(()=>{const e="function"==typeof Symbol&&Symbol.metadata?Object.create(d[Symbol.metadata]??null):void 0;le(null,f={value:u},h,{kind:"class",name:u.name,metadata:e},null,p),u=f.value,e&&Object.defineProperty(u,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e}),fe(u,p)})(),u})();const Dn=Wn;function*zn(e){let t=e.next();for(;!t.done;)yield Sn(t.value),t=e.next()}function*In(e){let t=e.next();for(;!t.done;){const[n,r]=t.value;yield[Sn(n),Sn(r)],t=e.next()}}class Cn extends Array{get(e){return et(this,e),Sn(this[e])}set(e,t){const n=e>=this.length;this[e]=t,Ut(this,{type:"set",prop:e},function*(e,{length:t=!0}={}){t&&(yield"length"),yield e}(e,{length:n}))}}const $n={get:g.get,set:g.set};function Kn(e){const t=e.charCodeAt(0);if(t<48||t>57)return-1;const n=+e;return n===(0|n)&&n>=0?n:-1}Object.assign(g,{get(e,t,n){if(Array.isArray(e)&&"string"==typeof t){const n=Kn(t);if(n>=0)return Cn.prototype.get.call(e,n)}return $n.get(e,t,n)},set(e,t,n,r){if(Array.isArray(e)&&"string"==typeof t){const r=Kn(t);if(r>=0)return Cn.prototype.set.call(e,r,n)}return $n.set(e,t,n,r)}});let qn=(()=>{var e;let t,n,r,o,s,i,c,a,l=Array,f=[];return e=class extends l{at(e){return Sn(super.at(e))}concat(...e){return Sn(super.concat(...e.map(Be)))}entries(){return et(this,Ie),In(super.entries())}every(e,t){return super.every((n,r,o)=>e.call(t,Sn(n),r,o),t)}fill(e,t,n){return super.fill(Be(e),t,n)}filter(e,t){return Sn(super.filter((n,r,o)=>e.call(t,Sn(n),r,o),t))}find(e,t){return Sn(super.find((n,r,o)=>e.call(t,Sn(n),r,o),t))}findIndex(e,t){return super.findIndex((n,r,o)=>e.call(t,Sn(n),r,o),t)}findLast(e,t){return Sn(super.findLast((n,r,o)=>e.call(t,Sn(n),r,o),t))}findLastIndex(e,t){return super.findLastIndex((n,r,o)=>e.call(t,Sn(n),r,o),t)}flat(e){return Sn(super.flat(e))}flatMap(e,t){return Sn(super.flatMap((n,r,o)=>Be(e.call(t,Sn(n),r,o)),t))}forEach(e,t){super.forEach((n,r,o)=>{e.call(t,Sn(n),r,o)},t)}includes(e,t){return arguments.length>1?super.includes(Be(e),t):super.includes(Be(e))}indexOf(e,t){return arguments.length>1?super.indexOf(Be(e),t):super.indexOf(Be(e))}join(e){return super.join(e)}keys(){return et(this,"length"),super.keys()}lastIndexOf(e,t){return arguments.length>1?super.lastIndexOf(Be(e),t):super.lastIndexOf(Be(e))}map(e,t){return Sn(super.map((n,r,o)=>Be(e.call(t,Sn(n),r,o)),t))}pop(){return Sn(super.pop())}push(...e){return super.push(...e.map(Be))}reduce(e,t){return Sn(arguments.length>1?super.reduce((t,n,r,o)=>Be(e(t,Sn(n),r,o)),t):super.reduce((t,n,r,o)=>Be(e(t,Sn(n),r,o))))}reduceRight(e,t){return Sn(arguments.length>1?super.reduceRight((t,n,r,o)=>Be(e(t,Sn(n),r,o)),t):super.reduceRight((t,n,r,o)=>Be(e(t,Sn(n),r,o))))}reverse(){return Sn(super.reverse())}shift(){return Sn(super.shift())}slice(e,t){return Sn(super.slice(e,t))}some(e,t){return super.some((n,r,o)=>e.call(t,Sn(n),r,o),t)}sort(e){const t=e?(t,n)=>e(Sn(t),Sn(n)):void 0;return super.sort(t)}splice(e,t,...n){return Sn(arguments.length>2?super.splice(e,t,...n.map(Be)):2===arguments.length?super.splice(e,t):1===arguments.length?super.splice(e):[])}unshift(...e){return super.unshift(...e.map(Be))}values(){return et(this,Ie),zn(super.values())}[(t=[Mt],n=[Mt],r=[Mt],o=[Mt],s=[Mt],i=[Mt],c=[Mt],a=[Mt],Symbol.iterator)](){return et(this,Ie),zn(super[Symbol.iterator]())}toReversed(){return Sn(super.toReversed())}toSorted(e){const t=e?(t,n)=>e(Sn(t),Sn(n)):void 0;return Sn(super.toSorted(t))}toSpliced(e,t,...n){return Sn(arguments.length>2?super.toSpliced(e,t,...n.map(Be)):2===arguments.length?super.toSpliced(e,t):1===arguments.length?super.toSpliced(e):[...this])}with(e,t){return Sn(super.with(e,Be(t)))}constructor(){super(...arguments),fe(this,f)}},(()=>{const u="function"==typeof Symbol&&Symbol.metadata?Object.create(l[Symbol.metadata]??null):void 0;le(e,null,t,{kind:"method",name:"fill",static:!1,private:!1,access:{has:e=>"fill"in e,get:e=>e.fill},metadata:u},null,f),le(e,null,n,{kind:"method",name:"pop",static:!1,private:!1,access:{has:e=>"pop"in e,get:e=>e.pop},metadata:u},null,f),le(e,null,r,{kind:"method",name:"push",static:!1,private:!1,access:{has:e=>"push"in e,get:e=>e.push},metadata:u},null,f),le(e,null,o,{kind:"method",name:"reverse",static:!1,private:!1,access:{has:e=>"reverse"in e,get:e=>e.reverse},metadata:u},null,f),le(e,null,s,{kind:"method",name:"shift",static:!1,private:!1,access:{has:e=>"shift"in e,get:e=>e.shift},metadata:u},null,f),le(e,null,i,{kind:"method",name:"sort",static:!1,private:!1,access:{has:e=>"sort"in e,get:e=>e.sort},metadata:u},null,f),le(e,null,c,{kind:"method",name:"splice",static:!1,private:!1,access:{has:e=>"splice"in e,get:e=>e.splice},metadata:u},null,f),le(e,null,a,{kind:"method",name:"unshift",static:!1,private:!1,access:{has:e=>"unshift"in e,get:e=>e.unshift},metadata:u},null,f),u&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:u})})(),e})();class Nn extends WeakMap{delete(e){const t=this.has(e),n=this.delete(e);return t&&Ft(w(this),{type:"del",prop:e},e),n}get(e){return et(w(this),e),Sn(this.get(e))}has(e){return et(w(this),e),this.has(e)}set(e,t){const n=this.has(e),r=this.get(e),o=Sn(t);return this.set(e,o),n&&r===o||un(w(this),e,r,o,n),this}}class Vn extends Map{get size(){return et(this,"size"),this.size}clear(){const e=this.size>0;if(this.clear(),e){const e={type:"bunch",method:"clear"};Ft(this,e,"size"),Ut(w(this),e)}}entries(){return et(w(this)),In(this.entries())}forEach(e,t){et(w(this)),this.forEach(e,t)}keys(){return et(w(this),Ie),this.keys()}values(){return et(w(this)),zn(this.values())}[Symbol.iterator](){et(w(this));const e=Map.prototype[Symbol.iterator].call(this),t=e.next.bind(e);return e.next=()=>{const e=t();if(e.done)return e;const[n,r]=e.value;return{value:[Sn(n),Sn(r)],done:!1}},e}delete(e){const t=this.has(e),n=this.delete(e);if(t){const t={type:"del",prop:e};Ft(w(this),t,e),Ft(this,t,"size")}return n}get(e){return et(w(this),e),Sn(this.get(e))}has(e){return et(w(this),e),this.has(e)}set(e,t){const n=this.has(e),r=this.get(e),o=Sn(t);if(this.set(e,o),!n||r!==o){un(w(this),e,r,o,n);Ft(this,{type:n?"set":"add",prop:e},"size")}return this}}class Ln extends WeakSet{add(e){const t=this.has(e);return this.add(e),t||Ft(w(this),{type:"add",prop:e},e),this}delete(e){const t=this.has(e),n=this.delete(e);return t&&Ft(w(this),{type:"del",prop:e},e),n}has(e){return et(w(this),e),this.has(e)}}class Hn extends Set{get size(){return et(this,"size"),this.size}add(e){const t=this.has(e),n=Sn(e);if(this.add(n),!t){const e={type:"add",prop:n};Ft(w(this),e,n),Ft(this,e,"size")}return this}clear(){const e=this.size>0;if(this.clear(),e){const e={type:"bunch",method:"clear"};Ft(this,e,"size"),Ut(w(this),e)}}delete(e){const t=this.has(e),n=this.delete(e);if(t){const t={type:"del",prop:e};Ft(w(this),t,e),Ft(this,t,"size")}return n}has(e){return et(w(this),e),this.has(e)}entries(){return et(w(this)),In(this.entries())}forEach(e,t){et(w(this)),this.forEach(e,t)}keys(){return et(w(this)),zn(this.keys())}values(){return et(w(this)),zn(this.values())}[Symbol.iterator](){et(w(this));const e=Set.prototype[Symbol.iterator].call(this),t=e.next.bind(e);return e.next=()=>{const e=t();return e.done?e:{value:Sn(e.value),done:!1}},e}}gn.set(Array,class extends Array{toJSON(){return this}}.prototype),gn.set(Set,Hn.prototype),gn.set(WeakSet,Ln.prototype),gn.set(Map,Vn.prototype),gn.set(WeakMap,Nn.prototype),yn.set(Array,qn.prototype);const Bn={objectToProxy:Le,proxyToObject:He,effectToReactiveObjects:Se,watchers:xe,objectParents:Pt,objectsWithDeepWatchers:Wt,deepWatchers:zt,effectToDeepWatchedObjects:It,nonReactiveObjects:Yt},Fn=[],Un=x({getter:(e,t,n)=>function(){const t=Fn.findIndex(e=>e.object===this&&e.prop===n);if(t>-1)throw new Error(`Circular dependency detected: ${Fn.slice(t).map(e=>`${e.object.constructor.name}.${String(e.prop)}`).join(" -> ")} -> again`);Fn.push({object:this,prop:n});try{const t=e.call(this);return _n(this,n,t),t}finally{Fn.pop()}}});function _n(e,t,n){Object.defineProperty(e,t,{value:n})}const Zn=V(function(e){return(...t)=>n=>class extends n{constructor(...n){super(...n);for(const n of t){const t=Object.getOwnPropertyDescriptor(this,n);Object.defineProperty(this,n,Object.assign(t||{},e))}}}},{get enumerable(){return Zn({enumerable:!0})},get hidden(){return Zn({enumerable:!1})},get configurable(){return Zn({configurable:!0})},get frozen(){return Zn({configurable:!1})},get writable(){return Zn({writable:!0})},get readonly(){return Zn({writable:!1})}}),Jn=Object.assign(x({method:(e,t,n)=>function(...t){return Jn.warn(this,n),e.apply(this,t)},getter:(e,t,n)=>function(){return Jn.warn(this,n),e.call(this)},setter:(e,t,n)=>function(t){return Jn.warn(this,n),e.call(this,t)},class:e=>class extends e{constructor(...e){super(...e),Jn.warn(this,"constructor")}},default:e=>x({method:(t,n,r)=>function(...n){return Jn.warn(this,r,e),t.apply(this,n)},getter:(t,n,r)=>function(){return Jn.warn(this,r,e),t.call(this)},setter:(t,n,r)=>function(n){return Jn.warn(this,r,e),t.call(this,n)},class:t=>class extends t{constructor(...t){super(...t),Jn.warn(this,"constructor",e)}}})}),{warn:(e,t,n)=>{}});var Gn={version:"1.0.10"};const{version:Qn}=Gn,Xn="__MUTTS_INSTANCE__",Yn="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global&&global;if(Yn){let e="mutts/index";const t=eval;try{if("undefined"!=typeof __filename)e=__filename;else{const n=t("import.meta");n&&n.url&&(e=n.url)}}catch(e){}const n={version:Qn,source:e,timestamp:Date.now()};if(Yn[Xn]){const e=Yn[Xn];throw new Error(`[Mutts] Multiple instances detected!\nExisting instance: ${JSON.stringify(e,null,2)}\nNew instance: ${JSON.stringify(n,null,2)}\nThis usually happens when 'mutts' is both installed as a dependency and bundled, or when different versions are loaded. Please check your build configuration (aliases, externals) to ensure a single source of truth.`)}Yn[Xn]=n}e.AZone=be,e.ArrayReadForward=_,e.DecoratorError=j,e.Destroyable=function(e,t){var n;return e&&"function"!=typeof e&&(t=e,e=void 0),e||(e=class{}),n=class extends e{static destroy(e){const t=n.destructors.get(e);if(!t)return!1;M.unregister(e[E]),n.destructors.delete(e),Object.setPrototypeOf(e,new Proxy({},T));for(const t of Object.getOwnPropertyNames(e))delete e[t];return t(),!0}static isDestroyable(e){return n.destructors.has(e)}constructor(...e){super(...e);const r={};this[E]=r;const o=t?.destructor??this[A];if(!o)throw new R("Destructor is not defined");function s(){o(r)}n.destructors.set(this,s),M.register(this,s,r)}},n.destructors=new WeakMap,n},e.DestructionError=R,e.Eventful=N,e.Indexable=F,e.IterableWeakMap=G,e.IterableWeakSet=Q,e.ReactiveBase=jn,e.ReactiveError=qe,e.Register=Dn,e.Zone=we,e.ZoneAggregator=ke,e.ZoneHistory=ve,e.addBatchCleanup=kt,e.allocated=P,e.allocatedValues=E,e.arrayDiff=W,e.arrayEquals=function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},e.asyncHook=e=>n.addHook(e),e.asyncHooks=n,e.asyncZone=je,e.atom=function(e){return xt(e,"immediate")},e.atomic=Mt,e.attend=xn,e.biDi=function(e,t,n){"function"!=typeof t&&(n=t.set,t=t.get);let r=Symbol();return Et(Re(()=>{const n=t();Be(n)!==r&&e(n)},e)),n?Mt(e=>{r=Be(e),n(e)}):()=>{}},e.cache=_n,e.cached=Un,e.callOnGC=function(e){let t=!1;const n=()=>{t||(t=!0,e())};return M.register(n,e,e),n},e.caught=st,e.chainPromise=ae,e.cleanedBy=Ge,e.cleanup=$e,e.createFlavor=function(e,t,n){const r=function(...n){return e.apply(this,t(...n))};return n&&k(n,r),V(r,e.flavors||{})},e.debounce=function(e){return x({method(t,n,r){let o=null;return function(...n){o&&clearTimeout(o),o=setTimeout(()=>{t.apply(this,n),o=null},e)}}})},e.decorator=x,e.deepCompare=m,e.deepWatch=En,e.defer=jt,e.deprecated=Jn,e.descriptor=Zn,e.destructor=A,e.effect=Et,e.effectAggregator=_e,e.flavorOptions=L,e.flavored=V,e.formatCleanupReason=function e(t,n=0){const r=n?" ".repeat(n):"";switch(t.type){case"propChange":{const e=[`${r}propChange:`];for(let n=0;n<t.triggers.length;n++)n>0&&e.push(","),e.push(...De(t.triggers[n]));return e}case"stopped":return[`${r}stopped`];case"gc":return[`${r}gc`];case"error":return[`${r}error:`,t.error];case"lineage":return[`${r}lineage ←\n`,...e(t.parent,n+1)];case"invalidate":return[`${r}invalidate ←\n`,...e(t.cause,n+1)];case"multiple":{const r=[];for(let o=0;o<t.reasons.length;o++)o>0&&r.push("\n"),r.push(...e(t.reasons[o],n));return r}}},e.forwardArray=U,e.getActivationLog=function(){return rt},e.getActiveEffect=Je,e.getAt=H,e.getState=Ht,e.hooks=t,e.immutables=on,e.isCached=function(e,t){return!!Object.getOwnPropertyDescriptor(e,t)},e.isConstructor=p,e.isNonReactive=an,e.isObject=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&!(e instanceof Date||e instanceof RegExp||e instanceof Error||e instanceof Set||e instanceof Map||e instanceof WeakSet||e instanceof WeakMap||e instanceof Promise||e instanceof Function)},e.isReactive=Fe,e.legacyDecorator=O,e.lift=function(e){let t,n;const r=Et.named("lift")(Re(r=>{const o=e(r);if(!o||"object"!=typeof o)throw new Error("lift callback must return an array or object");const s=Object.getPrototypeOf(o);if(t||(n=Array.isArray(o)?[]:Object.create(s),t=Sn(n)),s!==Object.getPrototypeOf(t))throw new Error("lift callback must return the same type as the previous result");if(Array.isArray(o)){const e=t,n=W(e,o);for(let t=n.length-1;t>=0;t--){const{indexA:r,sliceA:o,sliceB:s}=n[t];e.splice(r,o.length,...s)}}else{for(const e of Object.keys(o)){const t=e in n,r=Object.getOwnPropertyDescriptor(o,e);if(t){const t=Object.getOwnPropertyDescriptor(n,e),o=t&&r.get&&t.get===r.get;Object.defineProperty(n,e,r),o||n[e]===(t?t.get?t.get():t.value:void 0)||Ft(n,{type:"set",prop:e},e)}else Object.defineProperty(n,e,r),Ft(n,{type:"add",prop:e},e)}for(const e of Object.keys(n))e in o||(delete n[e],Ft(n,{type:"del",prop:e},e))}},e));return Ge(t,r)},e.memoize=Xt,e.mixin=X,e.modernDecorator=S,e.morph=An,e.named=k,e.objectToProxy=Le,e.onEffectThrow=it,e.organize=function(e,t,n){return Object.defineProperty(e,t,{get:n.get,set:n.set,configurable:!0,enumerable:!0}),Ft(e,{type:"set",prop:t},t),()=>delete e[t]},e.organized=function(e,t,n={}){const r=Sn(e),o=Sn(n),s=xn(()=>{const e=[];for(const t in r)e.push(t);return e},e=>{const n=e,s={key:n,get:()=>g.get(r,n,r),set:e=>g.set(r,n,e,r)};return Object.defineProperty(s,"value",{get:s.get,set:s.set,configurable:!0,enumerable:!0}),t(s,o)});return Ge(o,e=>s(e))},e.profileInfo=Bn,e.project=An,e.proxyToObject=He,e.reactive=Sn,e.reactiveOptions=Ne,e.register=function(e,t){return new Wn(e,t)},e.reset=function(){ut=!1,Qe=void 0,dt.length=0,ct=new WeakMap,at=new WeakMap,lt=new WeakMap,ft=new WeakMap,Se=new WeakMap,xe=new WeakMap,Me=new WeakMap,Ee=new WeakMap,Xe=new WeakMap,Ue.present.active=void 0},e.resource=function(e,t={}){const n=Sn({value:t.initialValue,loading:!0,error:void 0,latest:t.initialValue,reload:()=>{r.value++}}),r=Sn({value:0});let o=0;const s=Et(function(t){r.value;const s=++o;n.loading=!0,n.error=void 0;try{const r=e(t);r instanceof Promise?r.then(e=>{s===o&&(n.value=e,n.latest=e,n.loading=!1)},e=>{s===o&&(n.error=e,n.loading=!1)}):(n.value=r,n.latest=r,n.loading=!1)}catch(e){n.error=e,n.loading=!1}});return n.stop=s,n},e.root=Tt,e.scan=function(e,t,n){const r=Sn(e),o=[],s=Sn(o),i=new Map,c=Sn([]),a=new WeakMap;let l=(()=>{var e;let r,o=[];return e=class{constructor(e,t){this.val=(fe(this,o),e),this.prev=t}get acc(){const e=this.prev?this.prev.acc:n;return t(e,this.val)}},(()=>{const t="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;r=[Xt],le(e,null,r,{kind:"getter",name:"acc",static:!1,private:!1,access:{has:e=>"acc"in e,get:e=>e.acc},metadata:t},null,o),t&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),e})();function f(e){const t=i.get(e);t&&(t(),i.delete(e),Reflect.deleteProperty(c,e),Reflect.deleteProperty(s,e))}const u=Et(function({ascend:e}){const t=r.length,n=new Map;let u;for(let o=0;o<t;o++)if(o in r){const t=r[o];if(!t||"object"!=typeof t&&"function"!=typeof t&&"symbol"!=typeof t)throw new Error("scan: items must be objects (WeakKey) for intermediate caching");const f=n.get(t)??0;n.set(t,f+1);let h=a.get(t);h||(h=[],a.set(t,h));let p=h[f];p?Rt(()=>p.prev)!==u&&(p.prev=u):(p=Sn(new l(t,u)),h[f]=p),c[o]!==p&&(c[o]=p),i.has(o)||e(()=>{const e=o,t=Et(function(){const t=c[e];if(t){const n=t.acc;s[e]=n}});i.set(e,t)}),u=p}for(const e of Array.from(i.keys()))e>=t&&f(e);o.length!==t&&g.set(s,"length",t,s)});return Ge(s,e=>{u(e);for(const t of i.values())t(e);i.clear()})},e.setAt=B,e.stopped=Ce,e.tag=v,e.throttle=function(e){return x({method(t,n,r){let o=0,s=null;return function(...n){const r=Date.now();if(r-o>=e)return s&&(clearTimeout(s),s=null),o=r,t.apply(this,n);if(!s){const i=e-(r-o),c=[...n];s=setTimeout(()=>{o=Date.now(),t.apply(this,c),s=null},i)}}}})},e.touched=Ut,e.touched1=Ft,e.unreactive=Pn,e.untracked=Rt,e.unwrap=Be,e.watch=Tn,e.when=function(e,t){return new Promise((n,r)=>{let o;const s=Et(function(t){try{const r=e(t);r&&(void 0!==o&&clearTimeout(o),o=void 0,queueMicrotask(()=>s()),n(r))}catch(e){void 0!==o&&clearTimeout(o),o=void 0,r(e)}});void 0!==t&&(o=setTimeout(()=>{s(),o=void 0,r(new Error(`when: timed out after ${t}ms`))},t))})},e.zip=function*(...e){if(!e.length)return[];const t=Math.max(...e.map(e=>e.length));for(let n=0;n<t;n++){const t=e.map(e=>e[n]);yield t}}});
2
2
  //# sourceMappingURL=mutts.umd.min.js.map