react-animated-player
Version:
The easiest way of bringing animated stickers to your websites
1 lines • 93.2 kB
JavaScript
import e,{forwardRef as t,useState as n,useRef as o,useEffect as r,useImperativeHandle as a,Suspense as i}from"react";import s from"react-dom";var c=function(e){const t=new Error(e);if(void 0===t.stack)try{throw t}catch(e){}return t};var u=function(e){return!!e&&"function"==typeof e.then};var l=function(e,t){if(null!=e)return e;throw c(null!=t?t:"Got unexpected null or undefined")};function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class f{getValue(){throw c("BaseLoadable")}toPromise(){throw c("BaseLoadable")}valueMaybe(){throw c("BaseLoadable")}valueOrThrow(){throw c(`Loadable expected value, but in "${this.state}" state`)}promiseMaybe(){throw c("BaseLoadable")}promiseOrThrow(){throw c(`Loadable expected promise, but in "${this.state}" state`)}errorMaybe(){throw c("BaseLoadable")}errorOrThrow(){throw c(`Loadable expected error, but in "${this.state}" state`)}is(e){return e.state===this.state&&e.contents===this.contents}map(e){throw c("BaseLoadable")}}class h extends f{constructor(e){super(),d(this,"state","hasValue"),d(this,"contents",void 0),this.contents=e}getValue(){return this.contents}toPromise(){return Promise.resolve(this.contents)}valueMaybe(){return this.contents}valueOrThrow(){return this.contents}promiseMaybe(){}errorMaybe(){}map(e){try{const t=e(this.contents);return u(t)?_(t):w(t)?t:m(t)}catch(t){return u(t)?_(t.next((()=>this.map(e)))):y(t)}}}class p extends f{constructor(e){super(),d(this,"state","hasError"),d(this,"contents",void 0),this.contents=e}getValue(){throw this.contents}toPromise(){return Promise.reject(this.contents)}valueMaybe(){}promiseMaybe(){}errorMaybe(){return this.contents}errorOrThrow(){return this.contents}map(e){return this}}class v extends f{constructor(e){super(),d(this,"state","loading"),d(this,"contents",void 0),this.contents=e}getValue(){throw this.contents}toPromise(){return this.contents}valueMaybe(){}promiseMaybe(){return this.contents}promiseOrThrow(){return this.contents}errorMaybe(){}map(e){return _(this.contents.then((t=>{const n=e(t);if(w(n)){const e=n;switch(e.state){case"hasValue":case"loading":return e.contents;case"hasError":throw e.contents}}return n})).catch((t=>{if(u(t))return t.then((()=>this.map(e).contents));throw t})))}}function m(e){return Object.freeze(new h(e))}function y(e){return Object.freeze(new p(e))}function _(e){return Object.freeze(new v(e))}function g(){return Object.freeze(new v(new Promise((()=>{}))))}function S(e){const t=function(e){return e.every((e=>"hasValue"===e.state))?m(e.map((e=>e.contents))):e.some((e=>"hasError"===e.state))?y(l(e.find((e=>"hasError"===e.state)),"Invalid loadable passed to loadableAll").contents):_(Promise.all(e.map((e=>e.contents))))}((Array.isArray(e)?e:Object.getOwnPropertyNames(e).map((t=>e[t]))).map((e=>w(e)?e:u(e)?_(e):m(e))));return Array.isArray(e)?t:t.map((t=>Object.getOwnPropertyNames(e).reduce(((e,n,o)=>({...e,[n]:t[o]})),{})))}function w(e){return e instanceof f}const b={of:e=>u(e)?_(e):w(e)?e:m(e),error:e=>y(e),loading:()=>g(),all:S,isLoadable:w};var T={loadableWithValue:m,loadableWithError:y,loadableWithPromise:_,loadableLoading:g,loadableAll:S,isLoadable:w,RecoilLoadable:b},E=T.loadableWithValue,R=T.loadableWithError,N=T.loadableWithPromise,A=T.loadableLoading,k=T.loadableAll,V=T.isLoadable,L=T.RecoilLoadable,M=Object.freeze({__proto__:null,loadableWithValue:E,loadableWithError:R,loadableWithPromise:N,loadableLoading:A,loadableAll:k,isLoadable:V,RecoilLoadable:L});const D=(new Map).set("recoil_hamt_2020",!0).set("recoil_sync_external_store",!0).set("recoil_suppress_rerender_in_callback",!0).set("recoil_memory_managament_2020",!0);function C(e){var t;return null!==(t=D.get(e))&&void 0!==t&&t}C.setPass=e=>{D.set(e,!0)},C.setFail=e=>{D.set(e,!1)},C.clear=()=>{D.clear()};var I=C;var O,U,B,P=function(e,t,{error:n}={}){return"production"!==process.env.NODE_ENV&&console.error(e,n),null};const x=null!==(O=e.createMutableSource)&&void 0!==O?O:e.unstable_createMutableSource,F=null!==(U=e.useMutableSource)&&void 0!==U?U:e.unstable_useMutableSource,z=null!==(B=e.useSyncExternalStore)&&void 0!==B?B:e.unstable_useSyncExternalStore;let W=!1;var q={createMutableSource:x,useMutableSource:F,useSyncExternalStore:z,currentRendererSupportsUseSyncExternalStore:function(){var t;const{ReactCurrentDispatcher:n,ReactCurrentOwner:o}=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,r=null!=(null!==(t=null==n?void 0:n.current)&&void 0!==t?t:o.currentDispatcher).useSyncExternalStore;return!z||r||W||(W=!0,P("A React renderer without React 18+ API support is being used with React 18+.")),r},reactMode:function(){return I("recoil_transition_support")?{mode:"TRANSITION_SUPPORT",early:!0,concurrent:!0}:I("recoil_sync_external_store")&&null!=z?{mode:"SYNC_EXTERNAL_STORE",early:!0,concurrent:!1}:I("recoil_mutable_source")&&null!=F&&"undefined"!=typeof window&&!window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE?I("recoil_suppress_rerender_in_callback")?{mode:"MUTABLE_SOURCE",early:!0,concurrent:!0}:{mode:"MUTABLE_SOURCE",early:!1,concurrent:!1}:I("recoil_suppress_rerender_in_callback")?{mode:"LEGACY",early:!0,concurrent:!1}:{mode:"LEGACY",early:!1,concurrent:!1}},isFastRefreshEnabled:function(){return!1}};const j={RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED:!0};!function(){var e,t,n;if("undefined"==typeof process)return;if(null==(null===(e=process)||void 0===e?void 0:e.env))return;const o=null===(t=process.env.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED)||void 0===t||null===(n=t.toLowerCase())||void 0===n?void 0:n.trim();if(null==o||""===o)return;if(!["true","false"].includes(o))throw c(`process.env.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED value must be 'true', 'false', or empty: ${o}`);j.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED="true"===o}();var $=j;class K{constructor(e){d(this,"key",void 0),this.key=e}toJSON(){return{key:this.key}}}class G extends K{}class H extends K{}var Z={AbstractRecoilValue:K,RecoilState:G,RecoilValueReadOnly:H,isRecoilValue:function(e){return e instanceof G||e instanceof H}},Q=Z.AbstractRecoilValue,Y=Z.RecoilState,J=Z.RecoilValueReadOnly,X=Z.isRecoilValue,ee=Object.freeze({__proto__:null,AbstractRecoilValue:Q,RecoilState:Y,RecoilValueReadOnly:J,isRecoilValue:X});var te=function(e,...t){let n=0;return e.replace(/%s/g,(()=>String(t[n++])))};var ne=function(e,...t){if("production"!==process.env.NODE_ENV){const n=te.call(null,e,...t),o=new Error(n);o.name="Expectation Violation",console.error(o)}};var oe=function(e,t){return function*(){let n=0;for(const o of e)yield t(o,n++)}()};const{isFastRefreshEnabled:re}=q;class ae{}const ie=new ae,se=new Map,ce=new Map;class ue extends Error{}const le=new Map;function de(e){return le.get(e)}var fe={nodes:se,recoilValues:ce,registerNode:function(e){$.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED&&function(e){if(se.has(e)){const t=`Duplicate atom key "${e}". This is a FATAL ERROR in\n production. But it is safe to ignore this warning if it occurred because of\n hot module replacement.`;"production"!==process.env.NODE_ENV?re()||ne(t,"recoil"):console.warn(t)}}(e.key),se.set(e.key,e);const t=null==e.set?new ee.RecoilValueReadOnly(e.key):new ee.RecoilState(e.key);return ce.set(e.key,t),t},getNode:function(e){const t=se.get(e);if(null==t)throw new ue(`Missing definition for RecoilValue: "${e}""`);return t},getNodeMaybe:function(e){return se.get(e)},deleteNodeConfigIfPossible:function(e){var t;if(!I("recoil_memory_managament_2020"))return;const n=se.get(e);var o;null!=n&&null!==(t=n.shouldDeleteConfigOnRelease)&&void 0!==t&&t.call(n)&&(se.delete(e),null===(o=de(e))||void 0===o||o(),le.delete(e))},setConfigDeletionHandler:function(e,t){I("recoil_memory_managament_2020")&&(void 0===t?le.delete(e):le.set(e,t))},getConfigDeletionHandler:de,recoilValuesForKeys:function(e){return oe(e,(e=>l(ce.get(e))))},NodeMissingError:ue,DefaultValue:ae,DEFAULT_VALUE:ie};var he={enqueueExecution:function(e,t){t()}};var pe,ve,me=(pe=function(e){var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n={},o=Math.pow(2,5),r=o-1,a=o/2,i=o/4,s={},c=function(e){return function(){return e}},u=n.hash=function(e){var n=void 0===e?"undefined":t(e);if("number"===n)return e;"string"!==n&&(e+="");for(var o=0,r=0,a=e.length;r<a;++r)o=(o<<5)-o+e.charCodeAt(r)|0;return o},l=function(e,t){return t>>>e&r},d=function(e){return 1<<e},f=function(e,t){return n=e&t-1,n=(n=(858993459&(n-=n>>1&1431655765))+(n>>2&858993459))+(n>>4)&252645135,127&(n+=n>>8)+(n>>16);var n},h=function(e,t,n,o){var r=o;if(!e){var a=o.length;r=new Array(a);for(var i=0;i<a;++i)r[i]=o[i]}return r[t]=n,r},p=function(e,t,n){var o=n.length-1,r=0,a=0,i=n;if(e)r=a=t;else for(i=new Array(o);r<t;)i[a++]=n[r++];for(++r;r<=o;)i[a++]=n[r++];return e&&(i.length=o),i},v={__hamt_isEmpty:!0},m=function(e){return e===v||e&&e.__hamt_isEmpty},y=function(e,t,n,o){return{type:1,edit:e,hash:t,key:n,value:o,_modify:T}},_=function(e,t,n){return{type:2,edit:e,hash:t,children:n,_modify:E}},g=function(e,t,n){return{type:3,edit:e,mask:t,children:n,_modify:R}},S=function(e,t,n){return{type:4,edit:e,size:t,children:n,_modify:N}},w=function e(t,n,o,r,a,i){if(o===a)return _(t,o,[i,r]);var s=l(n,o),c=l(n,a);return g(t,d(s)|d(c),s===c?[e(t,n+5,o,r,a,i)]:s<c?[r,i]:[i,r])},b=function(e,t){return e===t.edit},T=function(e,t,n,o,r,a,i){if(t(a,this.key)){var c=o(this.value);return c===this.value?this:c===s?(--i.value,v):b(e,this)?(this.value=c,this):y(e,r,a,c)}var u=o();return u===s?this:(++i.value,w(e,n,this.hash,this,r,y(e,r,a,u)))},E=function(e,t,n,o,r,a,i){if(r===this.hash){var c=function(e,t,n,o,r,a,i,c){for(var u=r.length,l=0;l<u;++l){var d=r[l];if(n(i,d.key)){var f=d.value,v=a(f);return v===f?r:v===s?(--c.value,p(e,l,r)):h(e,l,y(t,o,i,v),r)}}var m=a();return m===s?r:(++c.value,h(e,u,y(t,o,i,m),r))}(b(e,this),e,t,this.hash,this.children,o,a,i);return c===this.children?this:c.length>1?_(e,this.hash,c):c[0]}var u=o();return u===s?this:(++i.value,w(e,n,this.hash,this,r,y(e,r,a,u)))},R=function(e,t,n,o,r,i,s){var c=this.mask,u=this.children,y=l(n,r),_=d(y),w=f(c,_),T=c&_,E=T?u[w]:v,R=E._modify(e,t,n+5,o,r,i,s);if(E===R)return this;var N,A=b(e,this),k=c,V=void 0;if(T&&m(R)){if(!(k&=~_))return v;if(u.length<=2&&((N=u[1^w])===v||1===N.type||2===N.type))return u[1^w];V=p(A,w,u)}else if(T||m(R))V=h(A,w,R,u);else{if(u.length>=a)return function(e,t,n,o,r){for(var a=[],i=o,s=0,c=0;i;++c)1&i&&(a[c]=r[s++]),i>>>=1;return a[t]=n,S(e,s+1,a)}(e,y,R,c,u);k|=_,V=function(e,t,n,o){var r=o.length;if(e){for(var a=r;a>=t;)o[a--]=o[a];return o[t]=n,o}for(var i=0,s=0,c=new Array(r+1);i<t;)c[s++]=o[i++];for(c[t]=n;i<r;)c[++s]=o[i++];return c}(A,w,R,u)}return A?(this.mask=k,this.children=V,this):g(e,k,V)},N=function(e,t,n,o,r,a,s){var c=this.size,u=this.children,d=l(n,r),f=u[d],p=(f||v)._modify(e,t,n+5,o,r,a,s);if(f===p)return this;var y=b(e,this),_=void 0;if(m(f)&&!m(p))++c,_=h(y,d,p,u);else if(!m(f)&&m(p)){if(--c<=i)return function(e,t,n,o){for(var r=new Array(t-1),a=0,i=0,s=0,c=o.length;s<c;++s)if(s!==n){var u=o[s];u&&!m(u)&&(r[a++]=u,i|=1<<s)}return g(e,i,r)}(e,c,d,u);_=h(y,d,v,u)}else _=h(y,d,p,u);return y?(this.size=c,this.children=_,this):S(e,c,_)};function A(e,t,n,o,r){this._editable=e,this._edit=t,this._config=n,this._root=o,this._size=r}v._modify=function(e,t,n,o,r,a,i){var c=o();return c===s?v:(++i.value,y(e,r,a,c))},A.prototype.setTree=function(e,t){return this._editable?(this._root=e,this._size=t,this):e===this._root?this:new A(this._editable,this._edit,this._config,e,t)};var k=n.tryGetHash=function(e,t,n,o){for(var r=o._root,a=0,i=o._config.keyEq;;)switch(r.type){case 1:return i(n,r.key)?r.value:e;case 2:if(t===r.hash)for(var s=r.children,c=0,u=s.length;c<u;++c){var h=s[c];if(i(n,h.key))return h.value}return e;case 3:var p=l(a,t),v=d(p);if(r.mask&v){r=r.children[f(r.mask,v)],a+=5;break}return e;case 4:if(r=r.children[l(a,t)]){a+=5;break}return e;default:return e}};A.prototype.tryGetHash=function(e,t,n){return k(e,t,n,this)};var V=n.tryGet=function(e,t,n){return k(e,n._config.hash(t),t,n)};A.prototype.tryGet=function(e,t){return V(e,t,this)};var L=n.getHash=function(e,t,n){return k(void 0,e,t,n)};A.prototype.getHash=function(e,t){return L(e,t,this)},n.get=function(e,t){return k(void 0,t._config.hash(e),e,t)},A.prototype.get=function(e,t){return V(t,e,this)};var M=n.has=function(e,t,n){return k(s,e,t,n)!==s};A.prototype.hasHash=function(e,t){return M(e,t,this)};var D=n.has=function(e,t){return M(t._config.hash(e),e,t)};A.prototype.has=function(e){return D(e,this)};var C=function(e,t){return e===t};n.make=function(e){return new A(0,0,{keyEq:e&&e.keyEq||C,hash:e&&e.hash||u},v,0)},n.empty=n.make();var I=n.isEmpty=function(e){return e&&!!m(e._root)};A.prototype.isEmpty=function(){return I(this)};var O=n.modifyHash=function(e,t,n,o){var r={value:o._size},a=o._root._modify(o._editable?o._edit:NaN,o._config.keyEq,0,e,t,n,r);return o.setTree(a,r.value)};A.prototype.modifyHash=function(e,t,n){return O(n,e,t,this)};var U=n.modify=function(e,t,n){return O(e,n._config.hash(t),t,n)};A.prototype.modify=function(e,t){return U(t,e,this)};var B=n.setHash=function(e,t,n,o){return O(c(n),e,t,o)};A.prototype.setHash=function(e,t,n){return B(e,t,n,this)};var P=n.set=function(e,t,n){return B(n._config.hash(e),e,t,n)};A.prototype.set=function(e,t){return P(e,t,this)};var x=c(s),F=n.removeHash=function(e,t,n){return O(x,e,t,n)};A.prototype.removeHash=A.prototype.deleteHash=function(e,t){return F(e,t,this)};var z=n.remove=function(e,t){return F(t._config.hash(e),e,t)};A.prototype.remove=A.prototype.delete=function(e){return z(e,this)};var W=n.beginMutation=function(e){return new A(e._editable+1,e._edit+1,e._config,e._root,e._size)};A.prototype.beginMutation=function(){return W(this)};var q=n.endMutation=function(e){return e._editable=e._editable&&e._editable-1,e};A.prototype.endMutation=function(){return q(this)};var j=n.mutate=function(e,t){var n=W(t);return e(n),q(n)};A.prototype.mutate=function(e){return j(e,this)};var $=function(e){return e&&K(e[0],e[1],e[2],e[3],e[4])},K=function(e,t,n,o,r){for(;n<e;){var a=t[n++];if(a&&!m(a))return G(a,o,[e,t,n,o,r])}return $(r)},G=function(e,t,n){switch(e.type){case 1:return{value:t(e),rest:n};case 2:case 4:case 3:var o=e.children;return K(o.length,o,0,t,n);default:return $(n)}},H={done:!0};function Z(e){this.v=e}Z.prototype.next=function(){if(!this.v)return H;var e=this.v;return this.v=$(e.rest),e},Z.prototype[Symbol.iterator]=function(){return this};var Q=function(e,t){return new Z(G(e._root,t))},Y=function(e){return[e.key,e.value]},J=n.entries=function(e){return Q(e,Y)};A.prototype.entries=A.prototype[Symbol.iterator]=function(){return J(this)};var X=function(e){return e.key},ee=n.keys=function(e){return Q(e,X)};A.prototype.keys=function(){return ee(this)};var te=function(e){return e.value},ne=n.values=A.prototype.values=function(e){return Q(e,te)};A.prototype.values=function(){return ne(this)};var oe=n.fold=function(e,t,n){var o=n._root;if(1===o.type)return e(t,o.value,o.key);for(var r=[o.children],a=void 0;a=r.pop();)for(var i=0,s=a.length;i<s;){var c=a[i++];c&&c.type&&(1===c.type?t=e(t,c.value,c.key):r.push(c.children))}return t};A.prototype.fold=function(e,t){return oe(e,t,this)};var re=n.forEach=function(e,t){return oe((function(n,o,r){return e(o,r,t)}),null,t)};A.prototype.forEach=function(e){return re(e,this)};var ae=n.count=function(e){return e._size};A.prototype.count=function(){return ae(this)},Object.defineProperty(A.prototype,"size",{get:A.prototype.count}),e.exports?e.exports=n:(void 0).hamt=n},pe(ve={exports:{}},ve.exports),ve.exports);class ye{constructor(e){d(this,"_map",void 0),this._map=new Map(null==e?void 0:e.entries())}keys(){return this._map.keys()}entries(){return this._map.entries()}get(e){return this._map.get(e)}has(e){return this._map.has(e)}set(e,t){return this._map.set(e,t),this}delete(e){return this._map.delete(e),this}clone(){return ge(this)}toMap(){return new Map(this._map)}}class _e{constructor(e){if(d(this,"_hamt",me.empty.beginMutation()),e instanceof _e){const t=e._hamt.endMutation();e._hamt=t.beginMutation(),this._hamt=t.beginMutation()}else if(e)for(const[t,n]of e.entries())this._hamt.set(t,n)}keys(){return this._hamt.keys()}entries(){return this._hamt.entries()}get(e){return this._hamt.get(e)}has(e){return this._hamt.has(e)}set(e,t){return this._hamt.set(e,t),this}delete(e){return this._hamt.delete(e),this}clone(){return ge(this)}toMap(){return new Map(this._hamt)}}function ge(e){return I("recoil_hamt_2020")?new _e(e):new ye(e)}var Se=ge,we=Object.freeze({__proto__:null,persistentMap:Se});var be=function(e,...t){const n=new Set;e:for(const o of e){for(const e of t)if(e.has(o))continue e;n.add(o)}return n};var Te=function(e,t){const n=new Map;return e.forEach(((e,o)=>{n.set(o,t(e,o))})),n};function Ee(e,t,n,o){const{nodeDeps:r,nodeToNodeSubscriptions:a}=n,i=r.get(e);if(i&&o&&i!==o.nodeDeps.get(e))return;r.set(e,t);const s=null==i?t:be(t,i);for(const t of s){a.has(t)||a.set(t,new Set);l(a.get(t)).add(e)}if(i){const n=be(i,t);for(const t of n){if(!a.has(t))return;const n=l(a.get(t));n.delete(e),0===n.size&&a.delete(t)}}}var Re={cloneGraph:function(e){return{nodeDeps:Te(e.nodeDeps,(e=>new Set(e))),nodeToNodeSubscriptions:Te(e.nodeToNodeSubscriptions,(e=>new Set(e)))}},graph:function(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}},saveDepsToStore:function(e,t,n,o){var r,a,i,s;const c=n.getState();o!==c.currentTree.version&&o!==(null===(r=c.nextTree)||void 0===r?void 0:r.version)&&o!==(null===(a=c.previousTree)||void 0===a?void 0:a.version)&&P("Tried to save dependencies to a discarded tree");const u=n.getGraph(o);if(Ee(e,t,u),o===(null===(i=c.previousTree)||void 0===i?void 0:i.version)){Ee(e,t,n.getGraph(c.currentTree.version),u)}if(o===(null===(s=c.previousTree)||void 0===s?void 0:s.version)||o===c.currentTree.version){var l;const o=null===(l=c.nextTree)||void 0===l?void 0:l.version;if(void 0!==o){Ee(e,t,n.getGraph(o),u)}}}};let Ne=0;let Ae=0;let ke=0;var Ve={getNextTreeStateVersion:()=>Ne++,getNextStoreID:()=>Ae++,getNextComponentID:()=>ke++};const{persistentMap:Le}=we,{graph:Me}=Re,{getNextTreeStateVersion:De}=Ve;function Ce(){const e=De();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:Le(),nonvalidatedAtoms:Le()}}var Ie={makeEmptyTreeState:Ce,makeEmptyStoreState:function(){const e=Ce();return{currentTree:e,nextTree:null,previousTree:null,commitDepth:0,knownAtoms:new Set,knownSelectors:new Set,transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:(new Map).set(e.version,Me()),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map}},getNextTreeStateVersion:De};class Oe{}var Ue={RetentionZone:Oe,retentionZone:function(){return new Oe}};var Be={setByAddingToSet:function(e,t){const n=new Set(e);return n.add(t),n},setByDeletingFromSet:function(e,t){const n=new Set(e);return n.delete(t),n},mapBySettingInMap:function(e,t,n){const o=new Map(e);return o.set(t,n),o},mapByUpdatingInMap:function(e,t,n){const o=new Map(e);return o.set(t,n(o.get(t))),o},mapByDeletingFromMap:function(e,t){const n=new Map(e);return n.delete(t),n},mapByDeletingMultipleFromMap:function(e,t){const n=new Map(e);return t.forEach((e=>n.delete(e))),n}};var Pe=function*(e,t){let n=0;for(const o of e)t(o,n++)&&(yield o)};var xe=function(e,t){return new Proxy(e,{get:(e,n)=>(!(n in e)&&n in t&&(e[n]=t[n]()),e[n]),ownKeys:e=>Object.keys(e)})};const{getNode:Fe,getNodeMaybe:ze,recoilValuesForKeys:We}=fe,{RetentionZone:qe}=Ue,{setByAddingToSet:je}=Be,$e=Object.freeze(new Set);class Ke extends Error{}function Ge(e,t,n,o){const r=e.getState();if(r.nodeCleanupFunctions.has(n))return;const a=Fe(n),i=function(e,t,n){if(!I("recoil_memory_managament_2020"))return()=>{};const{nodesRetainedByZone:o}=e.getState().retention;function r(e){let n=o.get(e);n||o.set(e,n=new Set),n.add(t)}if(n instanceof qe)r(n);else if(Array.isArray(n))for(const e of n)r(e);return()=>{if(!I("recoil_memory_managament_2020"))return;const{retention:o}=e.getState();function r(e){const n=o.nodesRetainedByZone.get(e);null==n||n.delete(t),n&&0===n.size&&o.nodesRetainedByZone.delete(e)}if(n instanceof qe)r(n);else if(Array.isArray(n))for(const e of n)r(e)}}(e,n,a.retainedBy),s=a.init(e,t,o);r.nodeCleanupFunctions.set(n,(()=>{s(),i()}))}function He(e,t,n){return Fe(n).peek(e,t)}function Ze(e,t,n){const o=new Set,r=Array.from(n),a=e.getGraph(t.version);for(let e=r.pop();e;e=r.pop()){var i;o.add(e);const t=null!==(i=a.nodeToNodeSubscriptions.get(e))&&void 0!==i?i:$e;for(const e of t)o.has(e)||r.push(e)}return o}var Qe={getNodeLoadable:function(e,t,n){return Ge(e,t,n,"get"),Fe(n).get(e,t)},peekNodeLoadable:He,setNodeValue:function(e,t,n,o){const r=Fe(n);if(null==r.set)throw new Ke(`Attempt to set read-only RecoilValue: ${n}`);const a=r.set;return Ge(e,t,n,"set"),a(e,t,o)},initializeNode:function(e,t,n){Ge(e,e.getState().currentTree,t,n)},cleanUpNode:function(e,t){var n;const o=e.getState();null===(n=o.nodeCleanupFunctions.get(t))||void 0===n||n(),o.nodeCleanupFunctions.delete(t)},setUnvalidatedAtomValue_DEPRECATED:function(e,t,n){var o;const r=ze(t);return null==r||null===(o=r.invalidate)||void 0===o||o.call(r,e),{...e,atomValues:e.atomValues.clone().delete(t),nonvalidatedAtoms:e.nonvalidatedAtoms.clone().set(t,n),dirtyAtoms:je(e.dirtyAtoms,t)}},peekNodeInfo:function(e,t,n){const o=e.getState(),r=e.getGraph(t.version),a=Fe(n).nodeType;return xe({type:a},{loadable:()=>He(e,t,n),isActive:()=>o.knownAtoms.has(n)||o.knownSelectors.has(n),isSet:()=>"selector"!==a&&t.atomValues.has(n),isModified:()=>t.dirtyAtoms.has(n),deps:()=>{var e;return We(null!==(e=r.nodeDeps.get(n))&&void 0!==e?e:[])},subscribers:()=>{var r,a;return{nodes:We(Pe(Ze(e,t,new Set([n])),(e=>e!==n))),components:oe(null!==(r=null===(a=o.nodeToComponentSubscriptions.get(n))||void 0===a?void 0:a.values())&&void 0!==r?r:[],(([e])=>({name:e})))}}})},getDownstreamNodes:Ze};let Ye=null;var Je={setInvalidateMemoizedSnapshot:function(e){Ye=e},invalidateMemoizedSnapshot:function(){var e;null===(e=Ye)||void 0===e||e()}};const{getDownstreamNodes:Xe,getNodeLoadable:et,setNodeValue:tt}=Qe,{getNextComponentID:nt}=Ve,{getNode:ot,getNodeMaybe:rt}=fe,{DefaultValue:at}=fe,{reactMode:it}=q,{AbstractRecoilValue:st,RecoilState:ct,RecoilValueReadOnly:ut,isRecoilValue:lt}=ee,{invalidateMemoizedSnapshot:dt}=Je;function ft(e,t,n){if("set"===n.type){const{recoilValue:o,valueOrUpdater:r}=n,a=function(e,t,{key:n},o){if("function"==typeof o){const r=et(e,t,n);if("loading"===r.state){const e=`Tried to set atom or selector "${n}" using an updater function while the current state is pending, this is not currently supported.`;throw P(e),c(e)}if("hasError"===r.state)throw r.contents;return o(r.contents)}return o}(e,t,o,r),i=tt(e,t,o.key,a);for(const[e,n]of i.entries())ht(t,e,n)}else if("setLoadable"===n.type){const{recoilValue:{key:e},loadable:o}=n;ht(t,e,o)}else if("markModified"===n.type){const{recoilValue:{key:e}}=n;t.dirtyAtoms.add(e)}else if("setUnvalidated"===n.type){var o;const{recoilValue:{key:e},unvalidatedValue:r}=n,a=rt(e);null==a||null===(o=a.invalidate)||void 0===o||o.call(a,t),t.atomValues.delete(e),t.nonvalidatedAtoms.set(e,r),t.dirtyAtoms.add(e)}else P(`Unknown action ${n.type}`)}function ht(e,t,n){"hasValue"===n.state&&n.contents instanceof at?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function pt(e,t){e.replaceState((n=>{const o=yt(n);for(const n of t)ft(e,o,n);return _t(e,o),dt(),o}))}function vt(e,t){if(mt.length){const n=mt[mt.length-1];let o=n.get(e);o||n.set(e,o=[]),o.push(t)}else pt(e,[t])}const mt=[];function yt(e){return{...e,atomValues:e.atomValues.clone(),nonvalidatedAtoms:e.nonvalidatedAtoms.clone(),dirtyAtoms:new Set(e.dirtyAtoms)}}function _t(e,t){const n=Xe(e,t,t.dirtyAtoms);for(const e of n){var o,r;null===(o=rt(e))||void 0===o||null===(r=o.invalidate)||void 0===r||r.call(o,t)}}function gt(e,t,n){vt(e,{type:"set",recoilValue:t,valueOrUpdater:n})}var St={RecoilValueReadOnly:ut,AbstractRecoilValue:st,RecoilState:ct,getRecoilValueAsLoadable:function(e,{key:t},n=e.getState().currentTree){var o,r;const a=e.getState();n.version!==a.currentTree.version&&n.version!==(null===(o=a.nextTree)||void 0===o?void 0:o.version)&&n.version!==(null===(r=a.previousTree)||void 0===r?void 0:r.version)&&P("Tried to read from a discarded tree");const i=et(e,n,t);return"loading"===i.state&&i.contents.catch((()=>{})),i},setRecoilValue:gt,setRecoilValueLoadable:function(e,t,n){if(n instanceof at)return gt(e,t,n);vt(e,{type:"setLoadable",recoilValue:t,loadable:n})},markRecoilValueModified:function(e,t){vt(e,{type:"markModified",recoilValue:t})},setUnvalidatedRecoilValue:function(e,t,n){vt(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n})},subscribeToRecoilValue:function(e,{key:t},n,o=null){const r=nt(),a=e.getState();a.nodeToComponentSubscriptions.has(t)||a.nodeToComponentSubscriptions.set(t,new Map),l(a.nodeToComponentSubscriptions.get(t)).set(r,[null!=o?o:"<not captured>",n]);const i=it();if(i.early&&("LEGACY"===i.mode||"MUTABLE_SOURCE"===i.mode)){const o=e.getState().nextTree;o&&o.dirtyAtoms.has(t)&&n(o)}return{release:()=>{const n=e.getState(),o=n.nodeToComponentSubscriptions.get(t);void 0!==o&&o.has(r)?(o.delete(r),0===o.size&&n.nodeToComponentSubscriptions.delete(t)):P(`Subscription missing at release time for atom ${t}. This is a bug in Recoil.`)}}},isRecoilValue:lt,applyAtomValueWrites:function(e,t){const n=e.clone();return t.forEach(((e,t)=>{"hasValue"===e.state&&e.contents instanceof at?n.delete(t):n.set(t,e)})),n},batchStart:function(){const e=new Map;return mt.push(e),()=>{for(const[t,n]of e)pt(t,n);mt.pop()!==e&&P("Incorrect order of batch popping")}},writeLoadableToTreeState:ht,invalidateDownstreams:_t,copyTreeState:yt,refreshRecoilValue:function(e,t){var n;const{currentTree:o}=e.getState(),r=ot(t.key);null===(n=r.clearCache)||void 0===n||n.call(r,e,o)}};var wt=function(e,t,n){const o=e.entries();let r=o.next();for(;!r.done;){const a=r.value;if(t.call(n,a[1],a[0],e))return!0;r=o.next()}return!1};const{cleanUpNode:bt}=Qe,{deleteNodeConfigIfPossible:Tt,getNode:Et}=fe,{RetentionZone:Rt}=Ue,Nt=new Set;function At(e,t){const n=e.getState(),o=n.currentTree;if(n.nextTree)return void P("releaseNodesNowOnCurrentTree should only be called at the end of a batch");const r=new Set;for(const e of t)if(e instanceof Rt)for(const t of Vt(n,e))r.add(t);else r.add(e);const a=function(e,t){const n=e.getState(),o=n.currentTree,r=e.getGraph(o.version),a=new Set,i=new Set;return s(t),a;function s(t){const c=new Set,u=function(e,t,n,o,r){const a=e.getGraph(t.version),i=[],s=new Set;for(;n.size>0;)c(l(n.values().next().value));return i;function c(e){if(o.has(e)||r.has(e))return void n.delete(e);if(s.has(e))return;const t=a.nodeToNodeSubscriptions.get(e);if(t)for(const e of t)c(e);s.add(e),n.delete(e),i.push(e)}}(e,o,t,a,i);for(const e of u){var d;if("recoilRoot"===Et(e).retainedBy){i.add(e);continue}if((null!==(d=n.retention.referenceCounts.get(e))&&void 0!==d?d:0)>0){i.add(e);continue}if(Lt(e).some((e=>n.retention.referenceCounts.get(e)))){i.add(e);continue}const t=r.nodeToNodeSubscriptions.get(e);t&&wt(t,(e=>i.has(e)))?i.add(e):(a.add(e),c.add(e))}const f=new Set;for(const e of c)for(const t of null!==(h=r.nodeDeps.get(e))&&void 0!==h?h:Nt){var h;a.has(t)||f.add(t)}f.size&&s(f)}}(e,r);for(const t of a)kt(e,o,t)}function kt(e,t,n){if(!I("recoil_memory_managament_2020"))return;bt(e,n);const o=e.getState();o.knownAtoms.delete(n),o.knownSelectors.delete(n),o.nodeTransactionSubscriptions.delete(n),o.retention.referenceCounts.delete(n);const r=Lt(n);for(const e of r){var a;null===(a=o.retention.nodesRetainedByZone.get(e))||void 0===a||a.delete(n)}t.atomValues.delete(n),t.dirtyAtoms.delete(n),t.nonvalidatedAtoms.delete(n);const i=o.graphsByVersion.get(t.version);if(i){const e=i.nodeDeps.get(n);if(void 0!==e){i.nodeDeps.delete(n);for(const t of e){var s;null===(s=i.nodeToNodeSubscriptions.get(t))||void 0===s||s.delete(n)}}i.nodeToNodeSubscriptions.delete(n)}Tt(n)}function Vt(e,t){var n;return null!==(n=e.retention.nodesRetainedByZone.get(t))&&void 0!==n?n:Nt}function Lt(e){const t=Et(e).retainedBy;return void 0===t||"components"===t||"recoilRoot"===t?[]:t instanceof Rt?[t]:t}function Mt(e,t){if(!I("recoil_memory_managament_2020"))return;e.getState().retention.referenceCounts.delete(t),function(e,t){const n=e.getState();n.nextTree?n.retention.retainablesToCheckForRelease.add(t):At(e,new Set([t]))}(e,t)}var Dt={SUSPENSE_TIMEOUT_MS:12e4,updateRetainCount:function(e,t,n){var o;if(!I("recoil_memory_managament_2020"))return;const r=e.getState().retention.referenceCounts,a=(null!==(o=r.get(t))&&void 0!==o?o:0)+n;0===a?Mt(e,t):r.set(t,a)},updateRetainCountToZero:Mt,releaseScheduledRetainablesNow:function(e){if(!I("recoil_memory_managament_2020"))return;const t=e.getState();At(e,t.retention.retainablesToCheckForRelease),t.retention.retainablesToCheckForRelease.clear()},retainedByOptionWithDefault:function(e){return void 0===e?"recoilRoot":e}};const{unstable_batchedUpdates:Ct}=s;var It={unstable_batchedUpdates:Ct};const{unstable_batchedUpdates:Ot}=It;var Ut={unstable_batchedUpdates:Ot};const{batchStart:Bt}=St,{unstable_batchedUpdates:Pt}=Ut;let xt=Pt;var Ft={getBatcher:()=>xt,setBatcher:e=>{xt=e},batchUpdates:e=>{xt((()=>{let t=()=>{};try{t=Bt(),e()}finally{t()}}))}};var zt=function*(e){for(const t of e)for(const e of t)yield e};const Wt="undefined"==typeof Window||"undefined"==typeof window,qt="undefined"!=typeof navigator&&"ReactNative"===navigator.product;var jt={isSSR:Wt,isReactNative:qt,isWindow:e=>!Wt&&(e===window||e instanceof Window)};var $t={memoizeWithArgsHash:function(e,t){let n;return(...o)=>{n||(n={});const r=t(...o);return Object.hasOwnProperty.call(n,r)||(n[r]=e(...o)),n[r]}},memoizeOneWithArgsHash:function(e,t){let n,o;return(...r)=>{const a=t(...r);return n===a||(n=a,o=e(...r)),o}},memoizeOneWithArgsHashAndInvalidation:function(e,t){let n,o;return[(...r)=>{const a=t(...r);return n===a||(n=a,o=e(...r)),o},()=>{n=null}]}};const{batchUpdates:Kt}=Ft,{initializeNode:Gt,peekNodeInfo:Ht}=Qe,{graph:Zt}=Re,{getNextStoreID:Qt}=Ve,{DEFAULT_VALUE:Yt,recoilValues:Jt,recoilValuesForKeys:Xt}=fe,{AbstractRecoilValue:en,getRecoilValueAsLoadable:tn,setRecoilValue:nn,setUnvalidatedRecoilValue:on}=St,{updateRetainCount:rn}=Dt,{setInvalidateMemoizedSnapshot:an}=Je,{getNextTreeStateVersion:sn,makeEmptyStoreState:cn}=Ie,{isSSR:un}=jt,{memoizeOneWithArgsHashAndInvalidation:ln}=$t;class dn{constructor(e,t){d(this,"_store",void 0),d(this,"_refCount",1),d(this,"getLoadable",(e=>(this.checkRefCount_INTERNAL(),tn(this._store,e)))),d(this,"getPromise",(e=>(this.checkRefCount_INTERNAL(),this.getLoadable(e).toPromise()))),d(this,"getNodes_UNSTABLE",(e=>{if(this.checkRefCount_INTERNAL(),!0===(null==e?void 0:e.isModified)){if(!1===(null==e?void 0:e.isInitialized))return[];const t=this._store.getState().currentTree;return Xt(t.dirtyAtoms)}const t=this._store.getState().knownAtoms,n=this._store.getState().knownSelectors;return null==(null==e?void 0:e.isInitialized)?Jt.values():!0===e.isInitialized?Xt(zt([t,n])):Pe(Jt.values(),(({key:e})=>!t.has(e)&&!n.has(e)))})),d(this,"getInfo_UNSTABLE",(({key:e})=>(this.checkRefCount_INTERNAL(),Ht(this._store,this._store.getState().currentTree,e)))),d(this,"map",(e=>{this.checkRefCount_INTERNAL();const t=new vn(this,Kt);return e(t),t})),d(this,"asyncMap",(async e=>{this.checkRefCount_INTERNAL();const t=new vn(this,Kt);return t.retain(),await e(t),t.autoRelease_INTERNAL(),t})),this._store={storeID:Qt(),parentStoreID:t,getState:()=>e,replaceState:t=>{e.currentTree=t(e.currentTree)},getGraph:t=>{const n=e.graphsByVersion;if(n.has(t))return l(n.get(t));const o=Zt();return n.set(t,o),o},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw c("Cannot subscribe to Snapshots")}};for(const e of this._store.getState().knownAtoms)Gt(this._store,e,"get"),rn(this._store,e,1);this.autoRelease_INTERNAL()}retain(){if(this._refCount<=0){if("production"!==process.env.NODE_ENV)throw c("Snapshot has already been released.");P("Attempt to retain() Snapshot that was already released.")}this._refCount++;let e=!1;return()=>{e||(e=!0,this._release())}}autoRelease_INTERNAL(){un||window.setTimeout((()=>this._release()),10)}_release(){if(this._refCount--,0===this._refCount){if(this._store.getState().nodeCleanupFunctions.forEach((e=>e())),this._store.getState().nodeCleanupFunctions.clear(),!I("recoil_memory_managament_2020"))return}else this._refCount<0&&"production"!==process.env.NODE_ENV&&P("Snapshot released an extra time.")}isRetained(){return this._refCount>0}checkRefCount_INTERNAL(){I("recoil_memory_managament_2020")&&this._refCount<=0&&"production"!==process.env.NODE_ENV&&P("\nRecoil Snapshots only last for the duration of the callback they are provided to. To keep a Snapshot longer, do this:\n\n const release = snapshot.retain();\n try {\n await doSomethingWithSnapshot(snapshot);\n } finally {\n release();\n }\n\nThis is currently a DEV-only warning but will become a thrown exception in the next release of Recoil.\n")}getStore_INTERNAL(){return this.checkRefCount_INTERNAL(),this._store}getID(){return this.checkRefCount_INTERNAL(),this._store.getState().currentTree.stateID}getStoreID(){return this.checkRefCount_INTERNAL(),this._store.storeID}}function fn(e,t,n=!1){const o=e.getState(),r=n?sn():t.version;return{currentTree:{version:n?r:t.version,stateID:n?r:t.stateID,transactionMetadata:{...t.transactionMetadata},dirtyAtoms:new Set(t.dirtyAtoms),atomValues:t.atomValues.clone(),nonvalidatedAtoms:t.nonvalidatedAtoms.clone()},commitDepth:0,nextTree:null,previousTree:null,knownAtoms:new Set(o.knownAtoms),knownSelectors:new Set(o.knownSelectors),transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:(new Map).set(r,e.getGraph(t.version)),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map(oe(o.nodeCleanupFunctions.entries(),(([e])=>[e,()=>{}])))}}const[hn,pn]=ln(((e,t)=>{var n;const o=e.getState(),r="latest"===t?null!==(n=o.nextTree)&&void 0!==n?n:o.currentTree:l(o.previousTree);return new dn(fn(e,r),e.storeID)}),((e,t)=>{var n,o;return String(t)+String(e.storeID)+String(null===(n=e.getState().nextTree)||void 0===n?void 0:n.version)+String(e.getState().currentTree.version)+String(null===(o=e.getState().previousTree)||void 0===o?void 0:o.version)}));an(pn);class vn extends dn{constructor(e,t){super(fn(e.getStore_INTERNAL(),e.getStore_INTERNAL().getState().currentTree,!0),e.getStoreID()),d(this,"_batch",void 0),d(this,"set",((e,t)=>{this.checkRefCount_INTERNAL();const n=this.getStore_INTERNAL();this._batch((()=>{rn(n,e.key,1),nn(this.getStore_INTERNAL(),e,t)}))})),d(this,"reset",(e=>{this.checkRefCount_INTERNAL();const t=this.getStore_INTERNAL();this._batch((()=>{rn(t,e.key,1),nn(this.getStore_INTERNAL(),e,Yt)}))})),d(this,"setUnvalidatedAtomValues_DEPRECATED",(e=>{this.checkRefCount_INTERNAL();const t=this.getStore_INTERNAL();Kt((()=>{for(const[n,o]of e.entries())rn(t,n,1),on(t,new en(n),o)}))})),this._batch=t}}var mn={Snapshot:dn,MutableSnapshot:vn,freshSnapshot:function(e){const t=new dn(cn());return null!=e?t.map(e):t},cloneSnapshot:function(e,t="latest"){const n=hn(e,t);return n.isRetained()?n:(pn(),hn(e,t))}},yn=mn.Snapshot,_n=mn.MutableSnapshot,gn=mn.freshSnapshot,Sn=mn.cloneSnapshot,wn=Object.freeze({__proto__:null,Snapshot:yn,MutableSnapshot:_n,freshSnapshot:gn,cloneSnapshot:Sn});var bn=function(...e){const t=new Set;for(const n of e)for(const e of n)t.add(e);return t};const{useRef:Tn}=e;var En=function(e){const t=Tn(e);return t.current===e&&"function"==typeof e&&(t.current=e()),t};const{getNextTreeStateVersion:Rn,makeEmptyStoreState:Nn}=Ie,{cleanUpNode:An,getDownstreamNodes:kn,initializeNode:Vn,setNodeValue:Ln,setUnvalidatedAtomValue_DEPRECATED:Mn}=Qe,{graph:Dn}=Re,{cloneGraph:Cn}=Re,{getNextStoreID:In}=Ve,{createMutableSource:On,reactMode:Un}=q,{applyAtomValueWrites:Bn}=St,{releaseScheduledRetainablesNow:Pn}=Dt,{freshSnapshot:xn}=wn,{useCallback:Fn,useContext:zn,useEffect:Wn,useMemo:qn,useRef:jn,useState:$n}=e;function Kn(){throw c("This component must be used inside a <RecoilRoot> component.")}const Gn=Object.freeze({storeID:In(),getState:Kn,replaceState:Kn,getGraph:Kn,subscribeToTransactions:Kn,addTransactionMetadata:Kn});let Hn=!1;function Zn(e){if(Hn)throw c("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");const t=e.getState();if(null===t.nextTree){I("recoil_memory_managament_2020")&&I("recoil_release_on_cascading_update_killswitch_2021")&&t.commitDepth>0&&Pn(e);const n=t.currentTree.version,o=Rn();t.nextTree={...t.currentTree,version:o,stateID:o,dirtyAtoms:new Set,transactionMetadata:{}},t.graphsByVersion.set(o,Cn(l(t.graphsByVersion.get(n))))}}const Qn=e.createContext({current:Gn}),Yn=()=>zn(Qn),Jn=e.createContext(null);function Xn(e,t,n){const o=kn(e,n,n.dirtyAtoms);for(const e of o){const o=t.nodeToComponentSubscriptions.get(e);if(o)for(const[e,[t,r]]of o)r(n)}}function eo(e){const t=e.getState(),n=t.currentTree,o=n.dirtyAtoms;if(o.size){for(const[n,r]of t.nodeTransactionSubscriptions)if(o.has(n))for(const[t,n]of r)n(e);for(const[n,o]of t.transactionSubscriptions)o(e);(!Un().early||t.suspendedComponentResolvers.size>0)&&(Xn(e,t,n),t.suspendedComponentResolvers.forEach((e=>e())),t.suspendedComponentResolvers.clear())}t.queuedComponentCallbacks_DEPRECATED.forEach((e=>e(n))),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}function to({setNotifyBatcherOfChange:e}){const t=Yn(),[,n]=$n([]);return e((()=>n({}))),Wn((()=>(e((()=>n({}))),()=>{e((()=>{}))})),[e]),Wn((()=>{he.enqueueExecution("Batcher",(()=>{!function(e){const t=e.getState();t.commitDepth++;try{const{nextTree:n}=t;if(null==n)return;t.previousTree=t.currentTree,t.currentTree=n,t.nextTree=null,eo(e),null!=t.previousTree?t.graphsByVersion.delete(t.previousTree.version):P("Ended batch with no previous state, which is unexpected","recoil"),t.previousTree=null,I("recoil_memory_managament_2020")&&null==n&&Pn(e)}finally{t.commitDepth--}}(t.current)}))})),null}"production"!==process.env.NODE_ENV&&("undefined"==typeof window||window.$recoilDebugStates||(window.$recoilDebugStates=[]));let no=0;function oo({initializeState_DEPRECATED:t,initializeState:n,store_INTERNAL:o,children:r}){let a;const i=e=>{const t=a.current.graphsByVersion;if(t.has(e))return l(t.get(e));const n=Dn();return t.set(e,n),n},s=(e,t)=>{if(null==t){const{transactionSubscriptions:t}=h.current.getState(),n=no++;return t.set(n,e),{release:()=>{t.delete(n)}}}{const{nodeTransactionSubscriptions:n}=h.current.getState();n.has(t)||n.set(t,new Map);const o=no++;return l(n.get(t)).set(o,e),{release:()=>{const e=n.get(t);e&&(e.delete(o),0===e.size&&n.delete(t))}}}},c=e=>{Zn(h.current);for(const t of Object.keys(e))l(h.current.getState().nextTree).transactionMetadata[t]=e[t]},u=e=>{Zn(h.current);const t=l(a.current.nextTree);let n;try{Hn=!0,n=e(t)}finally{Hn=!1}n!==t&&("production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&window.$recoilDebugStates.push(n),a.current.nextTree=n,Un().early&&Xn(h.current,a.current,n),l(d.current)())},d=jn(null),f=Fn((e=>{d.current=e}),[d]),h=En((()=>null!=o?o:{storeID:In(),getState:()=>a.current,replaceState:u,getGraph:i,subscribeToTransactions:s,addTransactionMetadata:c}));null!=o&&(h.current=o),a=En((()=>null!=t?function(e,t){const n=Nn();return t({set:(t,o)=>{const r=n.currentTree,a=Ln(e,r,t.key,o),i=new Set(a.keys()),s=r.nonvalidatedAtoms.clone();for(const e of i)s.delete(e);n.currentTree={...r,dirtyAtoms:bn(r.dirtyAtoms,i),atomValues:Bn(r.atomValues,a),nonvalidatedAtoms:s}},setUnvalidatedAtomValues:e=>{e.forEach(((e,t)=>{n.currentTree=Mn(n.currentTree,t,e)}))}}),n}(h.current,t):null!=n?function(e){const t=xn(e),n=t.getStore_INTERNAL().getState();return t.retain(),n.nodeCleanupFunctions.forEach((e=>e())),n.nodeCleanupFunctions.clear(),n}(n):Nn()));const p=qn((()=>null==On?void 0:On(a,(()=>a.current.currentTree.version))),[a]);return Wn((()=>{const e=h.current;for(const t of new Set(e.getState().knownAtoms))Vn(e,t,"get");return()=>{for(const t of e.getState().knownAtoms)An(e,t)}}),[h]),e.createElement(Qn.Provider,{value:h},e.createElement(Jn.Provider,{value:p},e.createElement(to,{setNotifyBatcherOfChange:f}),r))}var ro={RecoilRoot:function(t){const{override:n,...o}=t,r=Yn();return!1===n&&r.current!==Gn?t.children:e.createElement(oo,o)},useStoreRef:Yn,useRecoilMutableSource:function(){const e=zn(Jn);return null==e&&ne("Attempted to use a Recoil hook outside of a <RecoilRoot>. <RecoilRoot> must be an ancestor of any component that uses Recoil hooks."),e},useRecoilStoreID:function(){return Yn().current.storeID},notifyComponents_FOR_TESTING:Xn,sendEndOfBatchNotifications_FOR_TESTING:eo};var ao=function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,o=e.length;n<o;n++)if(e[n]!==t[n])return!1;return!0};const{useEffect:io,useRef:so}=e;var co=function(e){const t=so();return io((()=>{t.current=e})),t.current};const{useStoreRef:uo}=ro,{SUSPENSE_TIMEOUT_MS:lo}=Dt,{updateRetainCount:fo}=Dt,{RetentionZone:ho}=Ue,{useEffect:po,useRef:vo}=e,{isSSR:mo}=jt;var yo=function(e){if(I("recoil_memory_managament_2020"))return function(e){const t=Array.isArray(e)?e:[e],n=t.map((e=>e instanceof ho?e:e.key)),o=uo();po((()=>{if(!I("recoil_memory_managament_2020"))return;const e=o.current;if(r.current&&!mo)window.clearTimeout(r.current),r.current=null;else for(const t of n)fo(e,t,1);return()=>{for(const t of n)fo(e,t,-1)}}),[o,...n]);const r=vo(),a=co(n);if(!(mo||void 0!==a&&ao(a,n))){const e=o.current;for(const t of n)fo(e,t,1);if(a)for(const t of a)fo(e,t,-1);r.current&&window.clearTimeout(r.current),r.current=window.setTimeout((()=>{r.current=null;for(const t of n)fo(e,t,-1)}),lo)}}(e)};var _o=function(){return"<component name not available>"};const{batchUpdates:go}=Ft,{DEFAULT_VALUE:So}=fe,{currentRendererSupportsUseSyncExternalStore:wo,reactMode:bo,useMutableSource:To,useSyncExternalStore:Eo}=q,{useRecoilMutableSource:Ro,useStoreRef:No}=ro,{isRecoilValue:Ao}=ee,{AbstractRecoilValue:ko,getRecoilValueAsLoadable:Vo,setRecoilValue:Lo,setUnvalidatedRecoilValue:Mo,subscribeToRecoilValue:Do}=St,{useCallback:Co,useEffect:Io,useMemo:Oo,useRef:Uo,useState:Bo}=e,{setByAddingToSet:Po}=Be;function xo(e,t,n){if("hasValue"===e.state)return e.contents;if("loading"===e.state){throw new Promise((e=>{n.current.getState().suspendedComponentResolvers.add(e)}))}throw"hasError"===e.state?e.contents:c(`Invalid value of loadable atom "${t.key}"`)}function Fo(e,t){if(!Ao(e))throw c(`Invalid argument to ${t}: expected an atom or selector but got ${String(e)}`)}const zo={current:0};function Wo(e){const t=No(),n=_o(),o=Co((()=>{var n;"production"!==process.env.NODE_ENV&&zo.current++;const o=t.current,r=o.getState(),a=bo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return{loadable:Vo(o,e,a),key:e.key}}),[t,e]),r=Co((e=>{let t;return()=>{var n,o;const r=e();return null!==(n=t)&&void 0!==n&&n.loadable.is(r.loadable)&&(null===(o=t)||void 0===o?void 0:o.key)===r.key?t:(t=r,r)}}),[]),a=Oo((()=>r(o)),[o,r]),i=Co((o=>{const r=t.current;return Do(r,e,o,n).release}),[t,e,n]);return Eo(i,a,a).loadable}function qo(e){const t=No(),n=Co((()=>{var n;const o=t.current,r=o.getState(),a=bo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return Vo(o,e,a)}),[t,e]),o=Co((()=>("production"!==process.env.NODE_ENV&&zo.current++,n())),[n]),r=_o(),a=Co(((o,a)=>{const i=t.current;return Do(i,e,(()=>{if(!I("recoil_suppress_rerender_in_callback"))return a();const e=n();u.current.is(e)||a(),u.current=e}),r).release}),[t,e,r,n]),i=Ro();if(null==i)throw c("Recoil hooks must be used in components contained within a <RecoilRoot> component.");const s=To(i,o,a),u=Uo(s);return Io((()=>{u.current=s})),s}function jo(e){const t=No(),n=_o(),o=Co((()=>{var n;"production"!==process.env.NODE_ENV&&zo.current++;const o=t.current,r=o.getState(),a=bo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return Vo(o,e,a)}),[t,e]),r=Co((()=>({loadable:o(),key:e.key})),[o,e.key]),a=Co((e=>{const t=r();return e.loadable.is(t.loadable)&&e.key===t.key?e:t}),[r]);Io((()=>{const o=Do(t.current,e,(e=>{s(a)}),n);return s(a),o.release}),[n,e,t,a]);const[i,s]=Bo(r);return i.key!==e.key?r().loadable:i.loadable}function $o(e){const t=No(),[,n]=Bo([]),o=_o(),r=Co((()=>{var n;"production"!==process.env.NODE_ENV&&zo.current++;const o=t.current,r=o.getState(),a=bo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree;return Vo(o,e,a)}),[t,e]),a=r(),i=Uo(a);return Io((()=>{i.current=a})),Io((()=>{const a=t.current,s=a.getState(),c=Do(a,e,(e=>{var t;if(!I("recoil_suppress_rerender_in_callback"))return n([]);const o=r();null!==(t=i.current)&&void 0!==t&&t.is(o)||n(o),i.current=o}),o);if(s.nextTree)a.getState().queuedComponentCallbacks_DEPRECATED.push((()=>{i.current=null,n([])}));else{var u;if(!I("recoil_suppress_rerender_in_callback"))return n([]);const e=r();null!==(u=i.current)&&void 0!==u&&u.is(e)||n(e),i.current=e}return c.release}),[o,r,e,t]),a}function Ko(e){return"production"!==process.env.NODE_ENV&&Fo(e,"useRecoilValueLoadable"),I("recoil_memory_managament_2020")&&yo(e),{TRANSITION_SUPPORT:jo,SYNC_EXTERNAL_STORE:wo()?Wo:jo,MUTABLE_SOURCE:qo,LEGACY:$o}[bo().mode](e)}function Go(e){"production"!==process.env.NODE_ENV&&Fo(e,"useRecoilValue");const t=No();return xo(Ko(e),e,t)}function Ho(e){"production"!==process.env.NODE_ENV&&Fo(e,"useSetRecoilState");const t=No();return Co((n=>{Lo(t.current,e,n)}),[t,e])}function Zo(e){return"production"!==process.env.NODE_ENV&&(Fo(e,"useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE"),bo().early||P("Attepmt to use a hook with UNSTABLE_TRANSITION_SUPPORT in a rendering mode incompatible with concurrent rendering. Try enabling the recoil_sync_external_store or recoil_transition_support GKs.")),I("recoil_memory_managament_2020")&&yo(e),jo(e)}function Qo(e){"production"!==process.env.NODE_ENV&&Fo(e,"useRecoilValue_TRANSITION_SUPPORT_UNSTABLE");const t=No();return xo(Zo(e),e,t)}var Yo={recoilComponentGetRecoilValueCount_FOR_TESTING:zo,useRecoilInterface:function(){const e=_o(),t=No(),[,n]=Bo([]),o=Uo(new Set);o.current=new Set;const r=Uo(new Set),a=Uo(new Map),i=Co((e=>{const t=a.current.get(e);t&&(t.release(),a.current.delete(e))}),[a]),s=Co(((e,t)=>{a.current.has(t)&&n([])}),[]);return Io((()=>{const n=t.current;be(o.current,r.current).forEach((t=>{if(a.current.has(t))return void ne(`Double subscription to RecoilValue "${t}"`);const o=Do(n,new ko(t),(e=>s(e,t)),e);a.current.set(t,o);n.getState().nextTree?n.getState().queuedComponentCallbacks_DEPRECATED.push((()=>{s(n.getState(),t)})):s(n.getState(),t)})),be(r.current,o.current).forEach((e=>{i(e)})),r.current=o.current})),Io((()=>{const n=a.current;return be(o.current,new Set(n.keys())).forEach((o=>{const r=Do(t.current,new ko(o),(e=>s(e,o)),e);n.set(o,r)})),()=>n.forEach(((e,t)=>i(t)))}),[e,t,i,s]),Oo((()=>{function e(e){return"production"!==process.env.NODE_ENV&&Fo(e,"useSetRecoilState"),n=>{Lo(t.current,e,n)}}function n(e){var n;"production"!==process.env.NODE_ENV&&Fo(e,"useRecoilValueLoadable"),o.current.has(e.key)||(o.current=Po(o.current,e.key));const r=t.current.getState();return Vo(t.current,e,bo().early&&null!==(n=r.nextTree)&&void 0!==n?n:r.currentTree)}function r(e){"production"!==process.env.NODE_ENV&&Fo(e,"useRecoilValue");return xo(n(e),e,t)}return{getRecoilValue:r,getRecoilValueLoadable:n,getRecoilState:function(t){return"production"!==process.env.NODE_ENV&&Fo(t,"useRecoilState"),[r(t),e(t)]},getRecoilStateLoadable:function(t){return"production"!==process.env.NODE_ENV&&Fo(t,"useRecoilStateLoadable"),[n(t),e(t)]},getSetRecoilState:e,getResetRecoilState:function(e){return"production"!==process.env.NODE_ENV&&Fo(e,"useResetRecoilState"),()=>Lo(t.current,e,So)}}}),[o,t])},useRecoilState:function(e){return"production"!==process.env.NODE_ENV&&Fo(e,"useRecoilState"),[Go(e),Ho(e)]},useRecoilStateLoadable:function(e){return"production"!==process.env.NODE_ENV&&Fo(e,"useRecoilStateLoadable"),[Ko(e),Ho(e)]},useRecoilValue:Go,useRecoilValueLoadable:Ko,useResetRecoilState:function(e){"production"!==process.env.NODE_ENV&&Fo(e,"useResetRecoilState");const t=No();return Co((()=>{Lo(t.current,e,So)}),[t,e])},useSetRecoilState:Ho,useSetUnvalidatedAtomValues:function(){const e=No();return(t,n={})=>{go((()=>{e.current.addTransactionMetadata(n),t.forEach(((t,n)=>Mo(e.current,new ko(n),t)))}))}},useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:Zo,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:Qo,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:function(e){return"production"!==process.env.NODE_ENV&&Fo(e,"useRecoilState_TRANSITION_SUPPORT_UNSTABLE"),[Qo(e),Ho(e)]}};var Jo=function(e,t){const n=new Map;for(const[o,r]of e)t(r,o)&&n.set(o,r);return n};var Xo=function(e,t){const n=new Set;for(const o of e)t(o)&&n.add(o);return n};var er=function(...e){const t=new Map;for(let n=0;n<e.length;n++){const o=e[n].keys();let r;for(;!(r=o.next()).done;)t.set(r.value,e[n].get(r.value))}return t};const{batchUpdates:tr}=Ft,{DEFAULT_VALUE:nr,getNode:or,nodes:rr}=fe,{useStoreRef:ar}=ro,{AbstractRecoilValue:ir,setRecoilValueLoadable:sr}=St,{SUSPENSE_TIMEOUT_MS:cr}=Dt,{cloneSnapshot:ur}=wn,{useCallback:lr,useEffect:dr,useRef:fr,useState:hr}=e,{isSSR:pr}=jt;function vr(e){const t=ar();dr((()=>t.current.subscribeToTransactions(e).release),[e,t])}fun