!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).jotaiVanillaInternals={})}(this,function(n){"use strict";function e(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=Array(e);r=n.length?{done:!0}:{done:!1,value:n[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function t(n){return"init"in n}function a(n){return!!n.write}function o(n){return"v"in n||"e"in n}function i(n){if("e"in n)throw n.e;return n.v}var u=new WeakMap;function l(n){var e;return c(n)&&!(null==(e=u.get(n))||!e[0])}function f(n){var e=u.get(n);null!=e&&e[0]&&(e[0]=!1,e[1].forEach(function(n){return n()}))}function d(n,e){var r=u.get(n);if(!r){r=[!0,new Set],u.set(n,r);var t=function(){r[0]=!1};n.then(t,t)}r[1].add(e)}function c(n){return"function"==typeof(null==n?void 0:n.then)}function v(n,e,r){if(!r.p.has(n)){r.p.add(n);var t=function(){return r.p.delete(n)};e.then(t,t)}}function s(n,e,t){for(var a,o=new Set,i=r((null==(u=t.get(n))?void 0:u.t)||[]);!(a=i()).done;){var u,l=a.value;t.has(l)&&o.add(l)}for(var f,d=r(e.p);!(f=d()).done;){var c=f.value;o.add(c)}return o}var y=function(){var n={},e=new WeakMap,r=function(r){var t,a;null==(t=e.get(n))||t.forEach(function(n){return n(r)}),null==(a=e.get(r))||a.forEach(function(n){return n()})};return r.add=function(r,t){var a=r||n,o=(e.has(a)?e:e.set(a,new Set)).get(a);return o.add(t),function(){null==o||o.delete(t),o.size||e.delete(a)}},r};var h=function(n,e){for(var r=arguments.length,t=new Array(r>2?r-2:0),a=2;a2?r-2:0),a=2;a=0;--A){for(var m,N=f[A],E=N[0],b=!1,S=r(N[1].d.keys());!(m=S()).done;){var I=m.value;if(I!==E&&o.has(I)){b=!0;break}}b&&(u(n,E),l(n,E)),a.delete(E)}},E=function(n,e){var r=W(n),u=r[1],f=r[2],s=r[3],y=r[6],h=r[7],p=r[11],g=r[12],w=r[13],A=r[14],m=r[16],N=r[17],E=p(n,e);if(o(E)){if(u.has(e)&&f.get(e)!==E.n)return E;if(Array.from(E.d).every(function(e){var r=e[0],t=e[1];return A(n,r).n===t}))return E}E.d.clear();var b,S,I=!0;function T(){u.has(e)&&(N(n,e),w(n),g(n))}var k={get signal(){return b||(b=new AbortController),b.signal},get setSelf(){return!S&&a(e)&&(S=function(){if(!I)try{for(var r=arguments.length,t=new Array(r),a=0;a2?h-2:0),g=2;g1?u-1:0),h=1;h2?i-2:0),l=2;l1?r-1:0),o=1;o