ima2-gen 1.1.7 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,31 +0,0 @@
1
- (function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const c of s)if(c.type==="childList")for(const u of c.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function i(s){const c={};return s.integrity&&(c.integrity=s.integrity),s.referrerPolicy&&(c.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?c.credentials="include":s.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function r(s){if(s.ep)return;s.ep=!0;const c=i(s);fetch(s.href,c)}})();function E0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ef={exports:{}},Mr={};var gy;function y1(){if(gy)return Mr;gy=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function i(r,s,c){var u=null;if(c!==void 0&&(u=""+c),s.key!==void 0&&(u=""+s.key),"key"in s){c={};for(var m in s)m!=="key"&&(c[m]=s[m])}else c=s;return s=c.ref,{$$typeof:e,type:r,key:u,ref:s!==void 0?s:null,props:c}}return Mr.Fragment=a,Mr.jsx=i,Mr.jsxs=i,Mr}var yy;function v1(){return yy||(yy=1,ef.exports=y1()),ef.exports}var d=v1(),tf={exports:{}},Me={};var vy;function x1(){if(vy)return Me;vy=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),u=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),x=Symbol.iterator;function S(D){return D===null||typeof D!="object"?null:(D=x&&D[x]||D["@@iterator"],typeof D=="function"?D:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A=Object.assign,E={};function C(D,P,Y){this.props=D,this.context=P,this.refs=E,this.updater=Y||_}C.prototype.isReactComponent={},C.prototype.setState=function(D,P){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,P,"setState")},C.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function O(){}O.prototype=C.prototype;function N(D,P,Y){this.props=D,this.context=P,this.refs=E,this.updater=Y||_}var w=N.prototype=new O;w.constructor=N,A(w,C.prototype),w.isPureReactComponent=!0;var B=Array.isArray;function z(){}var U={H:null,A:null,T:null,S:null},H=Object.prototype.hasOwnProperty;function X(D,P,Y){var te=Y.ref;return{$$typeof:e,type:D,key:P,ref:te!==void 0?te:null,props:Y}}function W(D,P){return X(D.type,P,D.props)}function V(D){return typeof D=="object"&&D!==null&&D.$$typeof===e}function K(D){var P={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function(Y){return P[Y]})}var ie=/\/+/g;function k(D,P){return typeof D=="object"&&D!==null&&D.key!=null?K(""+D.key):P.toString(36)}function j(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(z,z):(D.status="pending",D.then(function(P){D.status==="pending"&&(D.status="fulfilled",D.value=P)},function(P){D.status==="pending"&&(D.status="rejected",D.reason=P)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function M(D,P,Y,te,de){var me=typeof D;(me==="undefined"||me==="boolean")&&(D=null);var I=!1;if(D===null)I=!0;else switch(me){case"bigint":case"string":case"number":I=!0;break;case"object":switch(D.$$typeof){case e:case a:I=!0;break;case y:return I=D._init,M(I(D._payload),P,Y,te,de)}}if(I)return de=de(D),I=te===""?"."+k(D,0):te,B(de)?(Y="",I!=null&&(Y=I.replace(ie,"$&/")+"/"),M(de,P,Y,"",function(he){return he})):de!=null&&(V(de)&&(de=W(de,Y+(de.key==null||D&&D.key===de.key?"":(""+de.key).replace(ie,"$&/")+"/")+I)),P.push(de)),1;I=0;var le=te===""?".":te+":";if(B(D))for(var fe=0;fe<D.length;fe++)te=D[fe],me=le+k(te,fe),I+=M(te,P,Y,me,de);else if(fe=S(D),typeof fe=="function")for(D=fe.call(D),fe=0;!(te=D.next()).done;)te=te.value,me=le+k(te,fe++),I+=M(te,P,Y,me,de);else if(me==="object"){if(typeof D.then=="function")return M(j(D),P,Y,te,de);throw P=String(D),Error("Objects are not valid as a React child (found: "+(P==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":P)+"). If you meant to render a collection of children, use an array instead.")}return I}function L(D,P,Y){if(D==null)return D;var te=[],de=0;return M(D,te,"","",function(me){return P.call(Y,me,de++)}),te}function G(D){if(D._status===-1){var P=D._result;P=P(),P.then(function(Y){(D._status===0||D._status===-1)&&(D._status=1,D._result=Y)},function(Y){(D._status===0||D._status===-1)&&(D._status=2,D._result=Y)}),D._status===-1&&(D._status=0,D._result=P)}if(D._status===1)return D._result.default;throw D._result}var Q=typeof reportError=="function"?reportError:function(D){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var P=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof D=="object"&&D!==null&&typeof D.message=="string"?String(D.message):String(D),error:D});if(!window.dispatchEvent(P))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",D);return}console.error(D)},J={map:L,forEach:function(D,P,Y){L(D,function(){P.apply(this,arguments)},Y)},count:function(D){var P=0;return L(D,function(){P++}),P},toArray:function(D){return L(D,function(P){return P})||[]},only:function(D){if(!V(D))throw Error("React.Children.only expected to receive a single React element child.");return D}};return Me.Activity=v,Me.Children=J,Me.Component=C,Me.Fragment=i,Me.Profiler=s,Me.PureComponent=N,Me.StrictMode=r,Me.Suspense=g,Me.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=U,Me.__COMPILER_RUNTIME={__proto__:null,c:function(D){return U.H.useMemoCache(D)}},Me.cache=function(D){return function(){return D.apply(null,arguments)}},Me.cacheSignal=function(){return null},Me.cloneElement=function(D,P,Y){if(D==null)throw Error("The argument must be a React element, but you passed "+D+".");var te=A({},D.props),de=D.key;if(P!=null)for(me in P.key!==void 0&&(de=""+P.key),P)!H.call(P,me)||me==="key"||me==="__self"||me==="__source"||me==="ref"&&P.ref===void 0||(te[me]=P[me]);var me=arguments.length-2;if(me===1)te.children=Y;else if(1<me){for(var I=Array(me),le=0;le<me;le++)I[le]=arguments[le+2];te.children=I}return X(D.type,de,te)},Me.createContext=function(D){return D={$$typeof:u,_currentValue:D,_currentValue2:D,_threadCount:0,Provider:null,Consumer:null},D.Provider=D,D.Consumer={$$typeof:c,_context:D},D},Me.createElement=function(D,P,Y){var te,de={},me=null;if(P!=null)for(te in P.key!==void 0&&(me=""+P.key),P)H.call(P,te)&&te!=="key"&&te!=="__self"&&te!=="__source"&&(de[te]=P[te]);var I=arguments.length-2;if(I===1)de.children=Y;else if(1<I){for(var le=Array(I),fe=0;fe<I;fe++)le[fe]=arguments[fe+2];de.children=le}if(D&&D.defaultProps)for(te in I=D.defaultProps,I)de[te]===void 0&&(de[te]=I[te]);return X(D,me,de)},Me.createRef=function(){return{current:null}},Me.forwardRef=function(D){return{$$typeof:m,render:D}},Me.isValidElement=V,Me.lazy=function(D){return{$$typeof:y,_payload:{_status:-1,_result:D},_init:G}},Me.memo=function(D,P){return{$$typeof:p,type:D,compare:P===void 0?null:P}},Me.startTransition=function(D){var P=U.T,Y={};U.T=Y;try{var te=D(),de=U.S;de!==null&&de(Y,te),typeof te=="object"&&te!==null&&typeof te.then=="function"&&te.then(z,Q)}catch(me){Q(me)}finally{P!==null&&Y.types!==null&&(P.types=Y.types),U.T=P}},Me.unstable_useCacheRefresh=function(){return U.H.useCacheRefresh()},Me.use=function(D){return U.H.use(D)},Me.useActionState=function(D,P,Y){return U.H.useActionState(D,P,Y)},Me.useCallback=function(D,P){return U.H.useCallback(D,P)},Me.useContext=function(D){return U.H.useContext(D)},Me.useDebugValue=function(){},Me.useDeferredValue=function(D,P){return U.H.useDeferredValue(D,P)},Me.useEffect=function(D,P){return U.H.useEffect(D,P)},Me.useEffectEvent=function(D){return U.H.useEffectEvent(D)},Me.useId=function(){return U.H.useId()},Me.useImperativeHandle=function(D,P,Y){return U.H.useImperativeHandle(D,P,Y)},Me.useInsertionEffect=function(D,P){return U.H.useInsertionEffect(D,P)},Me.useLayoutEffect=function(D,P){return U.H.useLayoutEffect(D,P)},Me.useMemo=function(D,P){return U.H.useMemo(D,P)},Me.useOptimistic=function(D,P){return U.H.useOptimistic(D,P)},Me.useReducer=function(D,P,Y){return U.H.useReducer(D,P,Y)},Me.useRef=function(D){return U.H.useRef(D)},Me.useState=function(D){return U.H.useState(D)},Me.useSyncExternalStore=function(D,P,Y){return U.H.useSyncExternalStore(D,P,Y)},Me.useTransition=function(){return U.H.useTransition()},Me.version="19.2.5",Me}var xy;function al(){return xy||(xy=1,tf.exports=x1()),tf.exports}var R=al();const Lr=E0(R);var nf={exports:{}},Ar={},af={exports:{}},of={};var by;function b1(){return by||(by=1,(function(e){function a(M,L){var G=M.length;M.push(L);e:for(;0<G;){var Q=G-1>>>1,J=M[Q];if(0<s(J,L))M[Q]=L,M[G]=J,G=Q;else break e}}function i(M){return M.length===0?null:M[0]}function r(M){if(M.length===0)return null;var L=M[0],G=M.pop();if(G!==L){M[0]=G;e:for(var Q=0,J=M.length,D=J>>>1;Q<D;){var P=2*(Q+1)-1,Y=M[P],te=P+1,de=M[te];if(0>s(Y,G))te<J&&0>s(de,Y)?(M[Q]=de,M[te]=G,Q=te):(M[Q]=Y,M[P]=G,Q=P);else if(te<J&&0>s(de,G))M[Q]=de,M[te]=G,Q=te;else break e}}return L}function s(M,L){var G=M.sortIndex-L.sortIndex;return G!==0?G:M.id-L.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var u=Date,m=u.now();e.unstable_now=function(){return u.now()-m}}var g=[],p=[],y=1,v=null,x=3,S=!1,_=!1,A=!1,E=!1,C=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function w(M){for(var L=i(p);L!==null;){if(L.callback===null)r(p);else if(L.startTime<=M)r(p),L.sortIndex=L.expirationTime,a(g,L);else break;L=i(p)}}function B(M){if(A=!1,w(M),!_)if(i(g)!==null)_=!0,z||(z=!0,K());else{var L=i(p);L!==null&&j(B,L.startTime-M)}}var z=!1,U=-1,H=5,X=-1;function W(){return E?!0:!(e.unstable_now()-X<H)}function V(){if(E=!1,z){var M=e.unstable_now();X=M;var L=!0;try{e:{_=!1,A&&(A=!1,O(U),U=-1),S=!0;var G=x;try{t:{for(w(M),v=i(g);v!==null&&!(v.expirationTime>M&&W());){var Q=v.callback;if(typeof Q=="function"){v.callback=null,x=v.priorityLevel;var J=Q(v.expirationTime<=M);if(M=e.unstable_now(),typeof J=="function"){v.callback=J,w(M),L=!0;break t}v===i(g)&&r(g),w(M)}else r(g);v=i(g)}if(v!==null)L=!0;else{var D=i(p);D!==null&&j(B,D.startTime-M),L=!1}}break e}finally{v=null,x=G,S=!1}L=void 0}}finally{L?K():z=!1}}}var K;if(typeof N=="function")K=function(){N(V)};else if(typeof MessageChannel<"u"){var ie=new MessageChannel,k=ie.port2;ie.port1.onmessage=V,K=function(){k.postMessage(null)}}else K=function(){C(V,0)};function j(M,L){U=C(function(){M(e.unstable_now())},L)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(M){M.callback=null},e.unstable_forceFrameRate=function(M){0>M||125<M?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):H=0<M?Math.floor(1e3/M):5},e.unstable_getCurrentPriorityLevel=function(){return x},e.unstable_next=function(M){switch(x){case 1:case 2:case 3:var L=3;break;default:L=x}var G=x;x=L;try{return M()}finally{x=G}},e.unstable_requestPaint=function(){E=!0},e.unstable_runWithPriority=function(M,L){switch(M){case 1:case 2:case 3:case 4:case 5:break;default:M=3}var G=x;x=M;try{return L()}finally{x=G}},e.unstable_scheduleCallback=function(M,L,G){var Q=e.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0<G?Q+G:Q):G=Q,M){case 1:var J=-1;break;case 2:J=250;break;case 5:J=1073741823;break;case 4:J=1e4;break;default:J=5e3}return J=G+J,M={id:y++,callback:L,priorityLevel:M,startTime:G,expirationTime:J,sortIndex:-1},G>Q?(M.sortIndex=G,a(p,M),i(g)===null&&M===i(p)&&(A?(O(U),U=-1):A=!0,j(B,G-Q))):(M.sortIndex=J,a(g,M),_||S||(_=!0,z||(z=!0,K()))),M},e.unstable_shouldYield=W,e.unstable_wrapCallback=function(M){var L=x;return function(){var G=x;x=L;try{return M.apply(this,arguments)}finally{x=G}}}})(of)),of}var Sy;function S1(){return Sy||(Sy=1,af.exports=b1()),af.exports}var rf={exports:{}},St={};var wy;function w1(){if(wy)return St;wy=1;var e=al();function a(g){var p="https://react.dev/errors/"+g;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var y=2;y<arguments.length;y++)p+="&args[]="+encodeURIComponent(arguments[y])}return"Minified React error #"+g+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var r={d:{f:i,r:function(){throw Error(a(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},s=Symbol.for("react.portal");function c(g,p,y){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:v==null?null:""+v,children:g,containerInfo:p,implementation:y}}var u=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function m(g,p){if(g==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return St.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,St.createPortal=function(g,p){var y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(a(299));return c(g,p,null,y)},St.flushSync=function(g){var p=u.T,y=r.p;try{if(u.T=null,r.p=2,g)return g()}finally{u.T=p,r.p=y,r.d.f()}},St.preconnect=function(g,p){typeof g=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,r.d.C(g,p))},St.prefetchDNS=function(g){typeof g=="string"&&r.d.D(g)},St.preinit=function(g,p){if(typeof g=="string"&&p&&typeof p.as=="string"){var y=p.as,v=m(y,p.crossOrigin),x=typeof p.integrity=="string"?p.integrity:void 0,S=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;y==="style"?r.d.S(g,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:v,integrity:x,fetchPriority:S}):y==="script"&&r.d.X(g,{crossOrigin:v,integrity:x,fetchPriority:S,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},St.preinitModule=function(g,p){if(typeof g=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var y=m(p.as,p.crossOrigin);r.d.M(g,{crossOrigin:y,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&r.d.M(g)},St.preload=function(g,p){if(typeof g=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var y=p.as,v=m(y,p.crossOrigin);r.d.L(g,y,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},St.preloadModule=function(g,p){if(typeof g=="string")if(p){var y=m(p.as,p.crossOrigin);r.d.m(g,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:y,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else r.d.m(g)},St.requestFormReset=function(g){r.d.r(g)},St.unstable_batchedUpdates=function(g,p){return g(p)},St.useFormState=function(g,p,y){return u.H.useFormState(g,p,y)},St.useFormStatus=function(){return u.H.useHostTransitionStatus()},St.version="19.2.5",St}var _y;function C0(){if(_y)return rf.exports;_y=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),rf.exports=w1(),rf.exports}var Ny;function _1(){if(Ny)return Ar;Ny=1;var e=S1(),a=al(),i=C0();function r(t){var n="https://react.dev/errors/"+t;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var o=2;o<arguments.length;o++)n+="&args[]="+encodeURIComponent(arguments[o])}return"Minified React error #"+t+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function c(t){var n=t,o=t;if(t.alternate)for(;n.return;)n=n.return;else{t=n;do n=t,(n.flags&4098)!==0&&(o=n.return),t=n.return;while(t)}return n.tag===3?o:null}function u(t){if(t.tag===13){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function m(t){if(t.tag===31){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function g(t){if(c(t)!==t)throw Error(r(188))}function p(t){var n=t.alternate;if(!n){if(n=c(t),n===null)throw Error(r(188));return n!==t?null:t}for(var o=t,l=n;;){var f=o.return;if(f===null)break;var h=f.alternate;if(h===null){if(l=f.return,l!==null){o=l;continue}break}if(f.child===h.child){for(h=f.child;h;){if(h===o)return g(f),t;if(h===l)return g(f),n;h=h.sibling}throw Error(r(188))}if(o.return!==l.return)o=f,l=h;else{for(var b=!1,T=f.child;T;){if(T===o){b=!0,o=f,l=h;break}if(T===l){b=!0,l=f,o=h;break}T=T.sibling}if(!b){for(T=h.child;T;){if(T===o){b=!0,o=h,l=f;break}if(T===l){b=!0,l=h,o=f;break}T=T.sibling}if(!b)throw Error(r(189))}}if(o.alternate!==l)throw Error(r(190))}if(o.tag!==3)throw Error(r(188));return o.stateNode.current===o?t:n}function y(t){var n=t.tag;if(n===5||n===26||n===27||n===6)return t;for(t=t.child;t!==null;){if(n=y(t),n!==null)return n;t=t.sibling}return null}var v=Object.assign,x=Symbol.for("react.element"),S=Symbol.for("react.transitional.element"),_=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),O=Symbol.for("react.consumer"),N=Symbol.for("react.context"),w=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),z=Symbol.for("react.suspense_list"),U=Symbol.for("react.memo"),H=Symbol.for("react.lazy"),X=Symbol.for("react.activity"),W=Symbol.for("react.memo_cache_sentinel"),V=Symbol.iterator;function K(t){return t===null||typeof t!="object"?null:(t=V&&t[V]||t["@@iterator"],typeof t=="function"?t:null)}var ie=Symbol.for("react.client.reference");function k(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===ie?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case A:return"Fragment";case C:return"Profiler";case E:return"StrictMode";case B:return"Suspense";case z:return"SuspenseList";case X:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case _:return"Portal";case N:return t.displayName||"Context";case O:return(t._context.displayName||"Context")+".Consumer";case w:var n=t.render;return t=t.displayName,t||(t=n.displayName||n.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case U:return n=t.displayName||null,n!==null?n:k(t.type)||"Memo";case H:n=t._payload,t=t._init;try{return k(t(n))}catch{}}return null}var j=Array.isArray,M=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,G={pending:!1,data:null,method:null,action:null},Q=[],J=-1;function D(t){return{current:t}}function P(t){0>J||(t.current=Q[J],Q[J]=null,J--)}function Y(t,n){J++,Q[J]=t.current,t.current=n}var te=D(null),de=D(null),me=D(null),I=D(null);function le(t,n){switch(Y(me,n),Y(de,t),Y(te,null),n.nodeType){case 9:case 11:t=(t=n.documentElement)&&(t=t.namespaceURI)?Bg(t):0;break;default:if(t=n.tagName,n=n.namespaceURI)n=Bg(n),t=Ug(n,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(te),Y(te,t)}function fe(){P(te),P(de),P(me)}function he(t){t.memoizedState!==null&&Y(I,t);var n=te.current,o=Ug(n,t.type);n!==o&&(Y(de,t),Y(te,o))}function Se(t){de.current===t&&(P(te),P(de)),I.current===t&&(P(I),Nr._currentValue=G)}var pe,we;function Ce(t){if(pe===void 0)try{throw Error()}catch(o){var n=o.stack.trim().match(/\n( *(at )?)/);pe=n&&n[1]||"",we=-1<o.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<o.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+pe+t+we}var qe=!1;function Le(t,n){if(!t||qe)return"";qe=!0;var o=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(n){var ue=function(){throw Error()};if(Object.defineProperty(ue.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ue,[])}catch(oe){var ae=oe}Reflect.construct(t,[],ue)}else{try{ue.call()}catch(oe){ae=oe}t.call(ue.prototype)}}else{try{throw Error()}catch(oe){ae=oe}(ue=t())&&typeof ue.catch=="function"&&ue.catch(function(){})}}catch(oe){if(oe&&ae&&typeof oe.stack=="string")return[oe.stack,ae.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var h=l.DetermineComponentFrameRoot(),b=h[0],T=h[1];if(b&&T){var q=b.split(`
4
- `),ne=T.split(`
5
- `);for(f=l=0;l<q.length&&!q[l].includes("DetermineComponentFrameRoot");)l++;for(;f<ne.length&&!ne[f].includes("DetermineComponentFrameRoot");)f++;if(l===q.length||f===ne.length)for(l=q.length-1,f=ne.length-1;1<=l&&0<=f&&q[l]!==ne[f];)f--;for(;1<=l&&0<=f;l--,f--)if(q[l]!==ne[f]){if(l!==1||f!==1)do if(l--,f--,0>f||q[l]!==ne[f]){var se=`
6
- `+q[l].replace(" at new "," at ");return t.displayName&&se.includes("<anonymous>")&&(se=se.replace("<anonymous>",t.displayName)),se}while(1<=l&&0<=f);break}}}finally{qe=!1,Error.prepareStackTrace=o}return(o=t?t.displayName||t.name:"")?Ce(o):""}function rt(t,n){switch(t.tag){case 26:case 27:case 5:return Ce(t.type);case 16:return Ce("Lazy");case 13:return t.child!==n&&n!==null?Ce("Suspense Fallback"):Ce("Suspense");case 19:return Ce("SuspenseList");case 0:case 15:return Le(t.type,!1);case 11:return Le(t.type.render,!1);case 1:return Le(t.type,!0);case 31:return Ce("Activity");default:return""}}function Lt(t){try{var n="",o=null;do n+=rt(t,o),o=t,t=t.return;while(t);return n}catch(l){return`
7
- Error generating stack: `+l.message+`
8
- `+l.stack}}var wt=Object.prototype.hasOwnProperty,Ht=e.unstable_scheduleCallback,Kt=e.unstable_cancelCallback,on=e.unstable_shouldYield,jn=e.unstable_requestPaint,et=e.unstable_now,ia=e.unstable_getCurrentPriorityLevel,rn=e.unstable_ImmediatePriority,re=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,tt=e.unstable_LowPriority,_t=e.unstable_IdlePriority,Oo=e.log,Ti=e.unstable_setDisableYieldValue,Rn=null,Nt=null;function vn(t){if(typeof Oo=="function"&&Ti(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Rn,t)}catch{}}var Et=Math.clz32?Math.clz32:Gc,Uc=Math.log,qc=Math.LN2;function Gc(t){return t>>>=0,t===0?32:31-(Uc(t)/qc|0)|0}var Mi=256,Ai=262144,ji=4194304;function Dn(t){var n=t&42;if(n!==0)return n;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ri(t,n,o){var l=t.pendingLanes;if(l===0)return 0;var f=0,h=t.suspendedLanes,b=t.pingedLanes;t=t.warmLanes;var T=l&134217727;return T!==0?(l=T&~h,l!==0?f=Dn(l):(b&=T,b!==0?f=Dn(b):o||(o=T&~t,o!==0&&(f=Dn(o))))):(T=l&~h,T!==0?f=Dn(T):b!==0?f=Dn(b):o||(o=l&~t,o!==0&&(f=Dn(o)))),f===0?0:n!==0&&n!==f&&(n&h)===0&&(h=f&-f,o=n&-n,h>=o||h===32&&(o&4194048)!==0)?n:f}function qa(t,n){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&n)===0}function Pc(t,n){switch(t){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function dl(){var t=ji;return ji<<=1,(ji&62914560)===0&&(ji=4194304),t}function Io(t){for(var n=[],o=0;31>o;o++)n.push(t);return n}function Ga(t,n){t.pendingLanes|=n,n!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Fc(t,n,o,l,f,h){var b=t.pendingLanes;t.pendingLanes=o,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=o,t.entangledLanes&=o,t.errorRecoveryDisabledLanes&=o,t.shellSuspendCounter=0;var T=t.entanglements,q=t.expirationTimes,ne=t.hiddenUpdates;for(o=b&~o;0<o;){var se=31-Et(o),ue=1<<se;T[se]=0,q[se]=-1;var ae=ne[se];if(ae!==null)for(ne[se]=null,se=0;se<ae.length;se++){var oe=ae[se];oe!==null&&(oe.lane&=-536870913)}o&=~ue}l!==0&&fl(t,l,0),h!==0&&f===0&&t.tag!==0&&(t.suspendedLanes|=h&~(b&~n))}function fl(t,n,o){t.pendingLanes|=n,t.suspendedLanes&=~n;var l=31-Et(n);t.entangledLanes|=n,t.entanglements[l]=t.entanglements[l]|1073741824|o&261930}function ml(t,n){var o=t.entangledLanes|=n;for(t=t.entanglements;o;){var l=31-Et(o),f=1<<l;f&n|t[l]&n&&(t[l]|=n),o&=~f}}function hl(t,n){var o=n&-n;return o=(o&42)!==0?1:ko(o),(o&(t.suspendedLanes|n))!==0?0:o}function ko(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function Lo(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function pl(){var t=L.p;return t!==0?t:(t=window.event,t===void 0?32:cy(t.type))}function gl(t,n){var o=L.p;try{return L.p=t,n()}finally{L.p=o}}var xn=Math.random().toString(36).slice(2),mt="__reactFiber$"+xn,bt="__reactProps$"+xn,zn="__reactContainer$"+xn,Di="__reactEvents$"+xn,yl="__reactListeners$"+xn,Vc="__reactHandles$"+xn,vl="__reactResources$"+xn,Pa="__reactMarker$"+xn;function Ho(t){delete t[mt],delete t[bt],delete t[Di],delete t[yl],delete t[Vc]}function oa(t){var n=t[mt];if(n)return n;for(var o=t.parentNode;o;){if(n=o[zn]||o[mt]){if(o=n.alternate,n.child!==null||o!==null&&o.child!==null)for(t=Yg(t);t!==null;){if(o=t[mt])return o;t=Yg(t)}return n}t=o,o=t.parentNode}return null}function ra(t){if(t=t[mt]||t[zn]){var n=t.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return t}return null}function la(t){var n=t.tag;if(n===5||n===26||n===27||n===6)return t.stateNode;throw Error(r(33))}function sa(t){var n=t[vl];return n||(n=t[vl]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function lt(t){t[Pa]=!0}var xl=new Set,bl={};function On(t,n){ca(t,n),ca(t+"Capture",n)}function ca(t,n){for(bl[t]=n,t=0;t<n.length;t++)xl.add(n[t])}var $c=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Bo={},Sl={};function Yc(t){return wt.call(Sl,t)?!0:wt.call(Bo,t)?!1:$c.test(t)?Sl[t]=!0:(Bo[t]=!0,!1)}function zi(t,n,o){if(Yc(n))if(o===null)t.removeAttribute(n);else{switch(typeof o){case"undefined":case"function":case"symbol":t.removeAttribute(n);return;case"boolean":var l=n.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){t.removeAttribute(n);return}}t.setAttribute(n,""+o)}}function Oi(t,n,o){if(o===null)t.removeAttribute(n);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttribute(n,""+o)}}function ln(t,n,o,l){if(l===null)t.removeAttribute(o);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(o);return}t.setAttributeNS(n,o,""+l)}}function Tt(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function wl(t){var n=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Xc(t,n,o){var l=Object.getOwnPropertyDescriptor(t.constructor.prototype,n);if(!t.hasOwnProperty(n)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var f=l.get,h=l.set;return Object.defineProperty(t,n,{configurable:!0,get:function(){return f.call(this)},set:function(b){o=""+b,h.call(this,b)}}),Object.defineProperty(t,n,{enumerable:l.enumerable}),{getValue:function(){return o},setValue:function(b){o=""+b},stopTracking:function(){t._valueTracker=null,delete t[n]}}}}function Ii(t){if(!t._valueTracker){var n=wl(t)?"checked":"value";t._valueTracker=Xc(t,n,""+t[n])}}function _l(t){if(!t)return!1;var n=t._valueTracker;if(!n)return!0;var o=n.getValue(),l="";return t&&(l=wl(t)?t.checked?"true":"false":t.value),t=l,t!==o?(n.setValue(t),!0):!1}function Fa(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Kc=/[\n"\\]/g;function Mt(t){return t.replace(Kc,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function Va(t,n,o,l,f,h,b,T){t.name="",b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?t.type=b:t.removeAttribute("type"),n!=null?b==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+Tt(n)):t.value!==""+Tt(n)&&(t.value=""+Tt(n)):b!=="submit"&&b!=="reset"||t.removeAttribute("value"),n!=null?Uo(t,b,Tt(n)):o!=null?Uo(t,b,Tt(o)):l!=null&&t.removeAttribute("value"),f==null&&h!=null&&(t.defaultChecked=!!h),f!=null&&(t.checked=f&&typeof f!="function"&&typeof f!="symbol"),T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"?t.name=""+Tt(T):t.removeAttribute("name")}function Nl(t,n,o,l,f,h,b,T){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(t.type=h),n!=null||o!=null){if(!(h!=="submit"&&h!=="reset"||n!=null)){Ii(t);return}o=o!=null?""+Tt(o):"",n=n!=null?""+Tt(n):o,T||n===t.value||(t.value=n),t.defaultValue=n}l=l??f,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=T?t.checked:!!l,t.defaultChecked=!!l,b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(t.name=b),Ii(t)}function Uo(t,n,o){n==="number"&&Fa(t.ownerDocument)===t||t.defaultValue===""+o||(t.defaultValue=""+o)}function In(t,n,o,l){if(t=t.options,n){n={};for(var f=0;f<o.length;f++)n["$"+o[f]]=!0;for(o=0;o<t.length;o++)f=n.hasOwnProperty("$"+t[o].value),t[o].selected!==f&&(t[o].selected=f),f&&l&&(t[o].defaultSelected=!0)}else{for(o=""+Tt(o),n=null,f=0;f<t.length;f++){if(t[f].value===o){t[f].selected=!0,l&&(t[f].defaultSelected=!0);return}n!==null||t[f].disabled||(n=t[f])}n!==null&&(n.selected=!0)}}function Om(t,n,o){if(n!=null&&(n=""+Tt(n),n!==t.value&&(t.value=n),o==null)){t.defaultValue!==n&&(t.defaultValue=n);return}t.defaultValue=o!=null?""+Tt(o):""}function Im(t,n,o,l){if(n==null){if(l!=null){if(o!=null)throw Error(r(92));if(j(l)){if(1<l.length)throw Error(r(93));l=l[0]}o=l}o==null&&(o=""),n=o}o=Tt(n),t.defaultValue=o,l=t.textContent,l===o&&l!==""&&l!==null&&(t.value=l),Ii(t)}function ki(t,n){if(n){var o=t.firstChild;if(o&&o===t.lastChild&&o.nodeType===3){o.nodeValue=n;return}}t.textContent=n}var fS=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function km(t,n,o){var l=n.indexOf("--")===0;o==null||typeof o=="boolean"||o===""?l?t.setProperty(n,""):n==="float"?t.cssFloat="":t[n]="":l?t.setProperty(n,o):typeof o!="number"||o===0||fS.has(n)?n==="float"?t.cssFloat=o:t[n]=(""+o).trim():t[n]=o+"px"}function Lm(t,n,o){if(n!=null&&typeof n!="object")throw Error(r(62));if(t=t.style,o!=null){for(var l in o)!o.hasOwnProperty(l)||n!=null&&n.hasOwnProperty(l)||(l.indexOf("--")===0?t.setProperty(l,""):l==="float"?t.cssFloat="":t[l]="");for(var f in n)l=n[f],n.hasOwnProperty(f)&&o[f]!==l&&km(t,f,l)}else for(var h in n)n.hasOwnProperty(h)&&km(t,h,n[h])}function Zc(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var mS=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),hS=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function El(t){return hS.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function kn(){}var Qc=null;function Jc(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Li=null,Hi=null;function Hm(t){var n=ra(t);if(n&&(t=n.stateNode)){var o=t[bt]||null;e:switch(t=n.stateNode,n.type){case"input":if(Va(t,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name),n=o.name,o.type==="radio"&&n!=null){for(o=t;o.parentNode;)o=o.parentNode;for(o=o.querySelectorAll('input[name="'+Mt(""+n)+'"][type="radio"]'),n=0;n<o.length;n++){var l=o[n];if(l!==t&&l.form===t.form){var f=l[bt]||null;if(!f)throw Error(r(90));Va(l,f.value,f.defaultValue,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name)}}for(n=0;n<o.length;n++)l=o[n],l.form===t.form&&_l(l)}break e;case"textarea":Om(t,o.value,o.defaultValue);break e;case"select":n=o.value,n!=null&&In(t,!!o.multiple,n,!1)}}}var Wc=!1;function Bm(t,n,o){if(Wc)return t(n,o);Wc=!0;try{var l=t(n);return l}finally{if(Wc=!1,(Li!==null||Hi!==null)&&(fs(),Li&&(n=Li,t=Hi,Hi=Li=null,Hm(n),t)))for(n=0;n<t.length;n++)Hm(t[n])}}function qo(t,n){var o=t.stateNode;if(o===null)return null;var l=o[bt]||null;if(l===null)return null;o=l[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(t=t.type,l=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!l;break e;default:t=!1}if(t)return null;if(o&&typeof o!="function")throw Error(r(231,n,typeof o));return o}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),eu=!1;if(Ln)try{var Go={};Object.defineProperty(Go,"passive",{get:function(){eu=!0}}),window.addEventListener("test",Go,Go),window.removeEventListener("test",Go,Go)}catch{eu=!1}var ua=null,tu=null,Cl=null;function Um(){if(Cl)return Cl;var t,n=tu,o=n.length,l,f="value"in ua?ua.value:ua.textContent,h=f.length;for(t=0;t<o&&n[t]===f[t];t++);var b=o-t;for(l=1;l<=b&&n[o-l]===f[h-l];l++);return Cl=f.slice(t,1<l?1-l:void 0)}function Tl(t){var n=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&n===13&&(t=13)):t=n,t===10&&(t=13),32<=t||t===13?t:0}function Ml(){return!0}function qm(){return!1}function At(t){function n(o,l,f,h,b){this._reactName=o,this._targetInst=f,this.type=l,this.nativeEvent=h,this.target=b,this.currentTarget=null;for(var T in t)t.hasOwnProperty(T)&&(o=t[T],this[T]=o?o(h):h[T]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?Ml:qm,this.isPropagationStopped=qm,this}return v(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var o=this.nativeEvent;o&&(o.preventDefault?o.preventDefault():typeof o.returnValue!="unknown"&&(o.returnValue=!1),this.isDefaultPrevented=Ml)},stopPropagation:function(){var o=this.nativeEvent;o&&(o.stopPropagation?o.stopPropagation():typeof o.cancelBubble!="unknown"&&(o.cancelBubble=!0),this.isPropagationStopped=Ml)},persist:function(){},isPersistent:Ml}),n}var $a={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Al=At($a),Po=v({},$a,{view:0,detail:0}),pS=At(Po),nu,au,Fo,jl=v({},Po,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ou,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Fo&&(Fo&&t.type==="mousemove"?(nu=t.screenX-Fo.screenX,au=t.screenY-Fo.screenY):au=nu=0,Fo=t),nu)},movementY:function(t){return"movementY"in t?t.movementY:au}}),Gm=At(jl),gS=v({},jl,{dataTransfer:0}),yS=At(gS),vS=v({},Po,{relatedTarget:0}),iu=At(vS),xS=v({},$a,{animationName:0,elapsedTime:0,pseudoElement:0}),bS=At(xS),SS=v({},$a,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),wS=At(SS),_S=v({},$a,{data:0}),Pm=At(_S),NS={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ES={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},CS={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function TS(t){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(t):(t=CS[t])?!!n[t]:!1}function ou(){return TS}var MS=v({},Po,{key:function(t){if(t.key){var n=NS[t.key]||t.key;if(n!=="Unidentified")return n}return t.type==="keypress"?(t=Tl(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?ES[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ou,charCode:function(t){return t.type==="keypress"?Tl(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Tl(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),AS=At(MS),jS=v({},jl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Fm=At(jS),RS=v({},Po,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ou}),DS=At(RS),zS=v({},$a,{propertyName:0,elapsedTime:0,pseudoElement:0}),OS=At(zS),IS=v({},jl,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),kS=At(IS),LS=v({},$a,{newState:0,oldState:0}),HS=At(LS),BS=[9,13,27,32],ru=Ln&&"CompositionEvent"in window,Vo=null;Ln&&"documentMode"in document&&(Vo=document.documentMode);var US=Ln&&"TextEvent"in window&&!Vo,Vm=Ln&&(!ru||Vo&&8<Vo&&11>=Vo),$m=" ",Ym=!1;function Xm(t,n){switch(t){case"keyup":return BS.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Km(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Bi=!1;function qS(t,n){switch(t){case"compositionend":return Km(n);case"keypress":return n.which!==32?null:(Ym=!0,$m);case"textInput":return t=n.data,t===$m&&Ym?null:t;default:return null}}function GS(t,n){if(Bi)return t==="compositionend"||!ru&&Xm(t,n)?(t=Um(),Cl=tu=ua=null,Bi=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Vm&&n.locale!=="ko"?null:n.data;default:return null}}var PS={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zm(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n==="input"?!!PS[t.type]:n==="textarea"}function Qm(t,n,o,l){Li?Hi?Hi.push(l):Hi=[l]:Li=l,n=xs(n,"onChange"),0<n.length&&(o=new Al("onChange","change",null,o,l),t.push({event:o,listeners:n}))}var $o=null,Yo=null;function FS(t){zg(t,0)}function Rl(t){var n=la(t);if(_l(n))return t}function Jm(t,n){if(t==="change")return n}var Wm=!1;if(Ln){var lu;if(Ln){var su="oninput"in document;if(!su){var eh=document.createElement("div");eh.setAttribute("oninput","return;"),su=typeof eh.oninput=="function"}lu=su}else lu=!1;Wm=lu&&(!document.documentMode||9<document.documentMode)}function th(){$o&&($o.detachEvent("onpropertychange",nh),Yo=$o=null)}function nh(t){if(t.propertyName==="value"&&Rl(Yo)){var n=[];Qm(n,Yo,t,Jc(t)),Bm(FS,n)}}function VS(t,n,o){t==="focusin"?(th(),$o=n,Yo=o,$o.attachEvent("onpropertychange",nh)):t==="focusout"&&th()}function $S(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Rl(Yo)}function YS(t,n){if(t==="click")return Rl(n)}function XS(t,n){if(t==="input"||t==="change")return Rl(n)}function KS(t,n){return t===n&&(t!==0||1/t===1/n)||t!==t&&n!==n}var Bt=typeof Object.is=="function"?Object.is:KS;function Xo(t,n){if(Bt(t,n))return!0;if(typeof t!="object"||t===null||typeof n!="object"||n===null)return!1;var o=Object.keys(t),l=Object.keys(n);if(o.length!==l.length)return!1;for(l=0;l<o.length;l++){var f=o[l];if(!wt.call(n,f)||!Bt(t[f],n[f]))return!1}return!0}function ah(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function ih(t,n){var o=ah(t);t=0;for(var l;o;){if(o.nodeType===3){if(l=t+o.textContent.length,t<=n&&l>=n)return{node:o,offset:n-t};t=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=ah(o)}}function oh(t,n){return t&&n?t===n?!0:t&&t.nodeType===3?!1:n&&n.nodeType===3?oh(t,n.parentNode):"contains"in t?t.contains(n):t.compareDocumentPosition?!!(t.compareDocumentPosition(n)&16):!1:!1}function rh(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var n=Fa(t.document);n instanceof t.HTMLIFrameElement;){try{var o=typeof n.contentWindow.location.href=="string"}catch{o=!1}if(o)t=n.contentWindow;else break;n=Fa(t.document)}return n}function cu(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n&&(n==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||n==="textarea"||t.contentEditable==="true")}var ZS=Ln&&"documentMode"in document&&11>=document.documentMode,Ui=null,uu=null,Ko=null,du=!1;function lh(t,n,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;du||Ui==null||Ui!==Fa(l)||(l=Ui,"selectionStart"in l&&cu(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Ko&&Xo(Ko,l)||(Ko=l,l=xs(uu,"onSelect"),0<l.length&&(n=new Al("onSelect","select",null,n,o),t.push({event:n,listeners:l}),n.target=Ui)))}function Ya(t,n){var o={};return o[t.toLowerCase()]=n.toLowerCase(),o["Webkit"+t]="webkit"+n,o["Moz"+t]="moz"+n,o}var qi={animationend:Ya("Animation","AnimationEnd"),animationiteration:Ya("Animation","AnimationIteration"),animationstart:Ya("Animation","AnimationStart"),transitionrun:Ya("Transition","TransitionRun"),transitionstart:Ya("Transition","TransitionStart"),transitioncancel:Ya("Transition","TransitionCancel"),transitionend:Ya("Transition","TransitionEnd")},fu={},sh={};Ln&&(sh=document.createElement("div").style,"AnimationEvent"in window||(delete qi.animationend.animation,delete qi.animationiteration.animation,delete qi.animationstart.animation),"TransitionEvent"in window||delete qi.transitionend.transition);function Xa(t){if(fu[t])return fu[t];if(!qi[t])return t;var n=qi[t],o;for(o in n)if(n.hasOwnProperty(o)&&o in sh)return fu[t]=n[o];return t}var ch=Xa("animationend"),uh=Xa("animationiteration"),dh=Xa("animationstart"),QS=Xa("transitionrun"),JS=Xa("transitionstart"),WS=Xa("transitioncancel"),fh=Xa("transitionend"),mh=new Map,mu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");mu.push("scrollEnd");function sn(t,n){mh.set(t,n),On(n,[t])}var Dl=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},Zt=[],Gi=0,hu=0;function zl(){for(var t=Gi,n=hu=Gi=0;n<t;){var o=Zt[n];Zt[n++]=null;var l=Zt[n];Zt[n++]=null;var f=Zt[n];Zt[n++]=null;var h=Zt[n];if(Zt[n++]=null,l!==null&&f!==null){var b=l.pending;b===null?f.next=f:(f.next=b.next,b.next=f),l.pending=f}h!==0&&hh(o,f,h)}}function Ol(t,n,o,l){Zt[Gi++]=t,Zt[Gi++]=n,Zt[Gi++]=o,Zt[Gi++]=l,hu|=l,t.lanes|=l,t=t.alternate,t!==null&&(t.lanes|=l)}function pu(t,n,o,l){return Ol(t,n,o,l),Il(t)}function Ka(t,n){return Ol(t,null,null,n),Il(t)}function hh(t,n,o){t.lanes|=o;var l=t.alternate;l!==null&&(l.lanes|=o);for(var f=!1,h=t.return;h!==null;)h.childLanes|=o,l=h.alternate,l!==null&&(l.childLanes|=o),h.tag===22&&(t=h.stateNode,t===null||t._visibility&1||(f=!0)),t=h,h=h.return;return t.tag===3?(h=t.stateNode,f&&n!==null&&(f=31-Et(o),t=h.hiddenUpdates,l=t[f],l===null?t[f]=[n]:l.push(n),n.lane=o|536870912),h):null}function Il(t){if(50<yr)throw yr=0,Nd=null,Error(r(185));for(var n=t.return;n!==null;)t=n,n=t.return;return t.tag===3?t.stateNode:null}var Pi={};function ew(t,n,o,l){this.tag=t,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ut(t,n,o,l){return new ew(t,n,o,l)}function gu(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Hn(t,n){var o=t.alternate;return o===null?(o=Ut(t.tag,n,t.key,t.mode),o.elementType=t.elementType,o.type=t.type,o.stateNode=t.stateNode,o.alternate=t,t.alternate=o):(o.pendingProps=n,o.type=t.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=t.flags&65011712,o.childLanes=t.childLanes,o.lanes=t.lanes,o.child=t.child,o.memoizedProps=t.memoizedProps,o.memoizedState=t.memoizedState,o.updateQueue=t.updateQueue,n=t.dependencies,o.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},o.sibling=t.sibling,o.index=t.index,o.ref=t.ref,o.refCleanup=t.refCleanup,o}function ph(t,n){t.flags&=65011714;var o=t.alternate;return o===null?(t.childLanes=0,t.lanes=n,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=o.childLanes,t.lanes=o.lanes,t.child=o.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=o.memoizedProps,t.memoizedState=o.memoizedState,t.updateQueue=o.updateQueue,t.type=o.type,n=o.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),t}function kl(t,n,o,l,f,h){var b=0;if(l=t,typeof t=="function")gu(t)&&(b=1);else if(typeof t=="string")b=o1(t,o,te.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case X:return t=Ut(31,o,n,f),t.elementType=X,t.lanes=h,t;case A:return Za(o.children,f,h,n);case E:b=8,f|=24;break;case C:return t=Ut(12,o,n,f|2),t.elementType=C,t.lanes=h,t;case B:return t=Ut(13,o,n,f),t.elementType=B,t.lanes=h,t;case z:return t=Ut(19,o,n,f),t.elementType=z,t.lanes=h,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case N:b=10;break e;case O:b=9;break e;case w:b=11;break e;case U:b=14;break e;case H:b=16,l=null;break e}b=29,o=Error(r(130,t===null?"null":typeof t,"")),l=null}return n=Ut(b,o,n,f),n.elementType=t,n.type=l,n.lanes=h,n}function Za(t,n,o,l){return t=Ut(7,t,l,n),t.lanes=o,t}function yu(t,n,o){return t=Ut(6,t,null,n),t.lanes=o,t}function gh(t){var n=Ut(18,null,null,0);return n.stateNode=t,n}function vu(t,n,o){return n=Ut(4,t.children!==null?t.children:[],t.key,n),n.lanes=o,n.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},n}var yh=new WeakMap;function Qt(t,n){if(typeof t=="object"&&t!==null){var o=yh.get(t);return o!==void 0?o:(n={value:t,source:n,stack:Lt(n)},yh.set(t,n),n)}return{value:t,source:n,stack:Lt(n)}}var Fi=[],Vi=0,Ll=null,Zo=0,Jt=[],Wt=0,da=null,bn=1,Sn="";function Bn(t,n){Fi[Vi++]=Zo,Fi[Vi++]=Ll,Ll=t,Zo=n}function vh(t,n,o){Jt[Wt++]=bn,Jt[Wt++]=Sn,Jt[Wt++]=da,da=t;var l=bn;t=Sn;var f=32-Et(l)-1;l&=~(1<<f),o+=1;var h=32-Et(n)+f;if(30<h){var b=f-f%5;h=(l&(1<<b)-1).toString(32),l>>=b,f-=b,bn=1<<32-Et(n)+f|o<<f|l,Sn=h+t}else bn=1<<h|o<<f|l,Sn=t}function xu(t){t.return!==null&&(Bn(t,1),vh(t,1,0))}function bu(t){for(;t===Ll;)Ll=Fi[--Vi],Fi[Vi]=null,Zo=Fi[--Vi],Fi[Vi]=null;for(;t===da;)da=Jt[--Wt],Jt[Wt]=null,Sn=Jt[--Wt],Jt[Wt]=null,bn=Jt[--Wt],Jt[Wt]=null}function xh(t,n){Jt[Wt++]=bn,Jt[Wt++]=Sn,Jt[Wt++]=da,bn=n.id,Sn=n.overflow,da=t}var gt=null,Ke=null,Ie=!1,fa=null,en=!1,Su=Error(r(519));function ma(t){var n=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Qo(Qt(n,t)),Su}function bh(t){var n=t.stateNode,o=t.type,l=t.memoizedProps;switch(n[mt]=t,n[bt]=l,o){case"dialog":De("cancel",n),De("close",n);break;case"iframe":case"object":case"embed":De("load",n);break;case"video":case"audio":for(o=0;o<xr.length;o++)De(xr[o],n);break;case"source":De("error",n);break;case"img":case"image":case"link":De("error",n),De("load",n);break;case"details":De("toggle",n);break;case"input":De("invalid",n),Nl(n,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":De("invalid",n);break;case"textarea":De("invalid",n),Im(n,l.value,l.defaultValue,l.children)}o=l.children,typeof o!="string"&&typeof o!="number"&&typeof o!="bigint"||n.textContent===""+o||l.suppressHydrationWarning===!0||Lg(n.textContent,o)?(l.popover!=null&&(De("beforetoggle",n),De("toggle",n)),l.onScroll!=null&&De("scroll",n),l.onScrollEnd!=null&&De("scrollend",n),l.onClick!=null&&(n.onclick=kn),n=!0):n=!1,n||ma(t,!0)}function Sh(t){for(gt=t.return;gt;)switch(gt.tag){case 5:case 31:case 13:en=!1;return;case 27:case 3:en=!0;return;default:gt=gt.return}}function $i(t){if(t!==gt)return!1;if(!Ie)return Sh(t),Ie=!0,!1;var n=t.tag,o;if((o=n!==3&&n!==27)&&((o=n===5)&&(o=t.type,o=!(o!=="form"&&o!=="button")||Bd(t.type,t.memoizedProps)),o=!o),o&&Ke&&ma(t),Sh(t),n===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));Ke=$g(t)}else if(n===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));Ke=$g(t)}else n===27?(n=Ke,Ta(t.type)?(t=Fd,Fd=null,Ke=t):Ke=n):Ke=gt?nn(t.stateNode.nextSibling):null;return!0}function Qa(){Ke=gt=null,Ie=!1}function wu(){var t=fa;return t!==null&&(zt===null?zt=t:zt.push.apply(zt,t),fa=null),t}function Qo(t){fa===null?fa=[t]:fa.push(t)}var _u=D(null),Ja=null,Un=null;function ha(t,n,o){Y(_u,n._currentValue),n._currentValue=o}function qn(t){t._currentValue=_u.current,P(_u)}function Nu(t,n,o){for(;t!==null;){var l=t.alternate;if((t.childLanes&n)!==n?(t.childLanes|=n,l!==null&&(l.childLanes|=n)):l!==null&&(l.childLanes&n)!==n&&(l.childLanes|=n),t===o)break;t=t.return}}function Eu(t,n,o,l){var f=t.child;for(f!==null&&(f.return=t);f!==null;){var h=f.dependencies;if(h!==null){var b=f.child;h=h.firstContext;e:for(;h!==null;){var T=h;h=f;for(var q=0;q<n.length;q++)if(T.context===n[q]){h.lanes|=o,T=h.alternate,T!==null&&(T.lanes|=o),Nu(h.return,o,t),l||(b=null);break e}h=T.next}}else if(f.tag===18){if(b=f.return,b===null)throw Error(r(341));b.lanes|=o,h=b.alternate,h!==null&&(h.lanes|=o),Nu(b,o,t),b=null}else b=f.child;if(b!==null)b.return=f;else for(b=f;b!==null;){if(b===t){b=null;break}if(f=b.sibling,f!==null){f.return=b.return,b=f;break}b=b.return}f=b}}function Yi(t,n,o,l){t=null;for(var f=n,h=!1;f!==null;){if(!h){if((f.flags&524288)!==0)h=!0;else if((f.flags&262144)!==0)break}if(f.tag===10){var b=f.alternate;if(b===null)throw Error(r(387));if(b=b.memoizedProps,b!==null){var T=f.type;Bt(f.pendingProps.value,b.value)||(t!==null?t.push(T):t=[T])}}else if(f===I.current){if(b=f.alternate,b===null)throw Error(r(387));b.memoizedState.memoizedState!==f.memoizedState.memoizedState&&(t!==null?t.push(Nr):t=[Nr])}f=f.return}t!==null&&Eu(n,t,o,l),n.flags|=262144}function Hl(t){for(t=t.firstContext;t!==null;){if(!Bt(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Wa(t){Ja=t,Un=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function yt(t){return wh(Ja,t)}function Bl(t,n){return Ja===null&&Wa(t),wh(t,n)}function wh(t,n){var o=n._currentValue;if(n={context:n,memoizedValue:o,next:null},Un===null){if(t===null)throw Error(r(308));Un=n,t.dependencies={lanes:0,firstContext:n},t.flags|=524288}else Un=Un.next=n;return o}var tw=typeof AbortController<"u"?AbortController:function(){var t=[],n=this.signal={aborted:!1,addEventListener:function(o,l){t.push(l)}};this.abort=function(){n.aborted=!0,t.forEach(function(o){return o()})}},nw=e.unstable_scheduleCallback,aw=e.unstable_NormalPriority,st={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Cu(){return{controller:new tw,data:new Map,refCount:0}}function Jo(t){t.refCount--,t.refCount===0&&nw(aw,function(){t.controller.abort()})}var Wo=null,Tu=0,Xi=0,Ki=null;function iw(t,n){if(Wo===null){var o=Wo=[];Tu=0,Xi=jd(),Ki={status:"pending",value:void 0,then:function(l){o.push(l)}}}return Tu++,n.then(_h,_h),n}function _h(){if(--Tu===0&&Wo!==null){Ki!==null&&(Ki.status="fulfilled");var t=Wo;Wo=null,Xi=0,Ki=null;for(var n=0;n<t.length;n++)(0,t[n])()}}function ow(t,n){var o=[],l={status:"pending",value:null,reason:null,then:function(f){o.push(f)}};return t.then(function(){l.status="fulfilled",l.value=n;for(var f=0;f<o.length;f++)(0,o[f])(n)},function(f){for(l.status="rejected",l.reason=f,f=0;f<o.length;f++)(0,o[f])(void 0)}),l}var Nh=M.S;M.S=function(t,n){lg=et(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&iw(t,n),Nh!==null&&Nh(t,n)};var ei=D(null);function Mu(){var t=ei.current;return t!==null?t:Xe.pooledCache}function Ul(t,n){n===null?Y(ei,ei.current):Y(ei,n.pool)}function Eh(){var t=Mu();return t===null?null:{parent:st._currentValue,pool:t}}var Zi=Error(r(460)),Au=Error(r(474)),ql=Error(r(542)),Gl={then:function(){}};function Ch(t){return t=t.status,t==="fulfilled"||t==="rejected"}function Th(t,n,o){switch(o=t[o],o===void 0?t.push(n):o!==n&&(n.then(kn,kn),n=o),n.status){case"fulfilled":return n.value;case"rejected":throw t=n.reason,Ah(t),t;default:if(typeof n.status=="string")n.then(kn,kn);else{if(t=Xe,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=n,t.status="pending",t.then(function(l){if(n.status==="pending"){var f=n;f.status="fulfilled",f.value=l}},function(l){if(n.status==="pending"){var f=n;f.status="rejected",f.reason=l}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw t=n.reason,Ah(t),t}throw ni=n,Zi}}function ti(t){try{var n=t._init;return n(t._payload)}catch(o){throw o!==null&&typeof o=="object"&&typeof o.then=="function"?(ni=o,Zi):o}}var ni=null;function Mh(){if(ni===null)throw Error(r(459));var t=ni;return ni=null,t}function Ah(t){if(t===Zi||t===ql)throw Error(r(483))}var Qi=null,er=0;function Pl(t){var n=er;return er+=1,Qi===null&&(Qi=[]),Th(Qi,t,n)}function tr(t,n){n=n.props.ref,t.ref=n!==void 0?n:null}function Fl(t,n){throw n.$$typeof===x?Error(r(525)):(t=Object.prototype.toString.call(n),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":t)))}function jh(t){function n(Z,$){if(t){var ee=Z.deletions;ee===null?(Z.deletions=[$],Z.flags|=16):ee.push($)}}function o(Z,$){if(!t)return null;for(;$!==null;)n(Z,$),$=$.sibling;return null}function l(Z){for(var $=new Map;Z!==null;)Z.key!==null?$.set(Z.key,Z):$.set(Z.index,Z),Z=Z.sibling;return $}function f(Z,$){return Z=Hn(Z,$),Z.index=0,Z.sibling=null,Z}function h(Z,$,ee){return Z.index=ee,t?(ee=Z.alternate,ee!==null?(ee=ee.index,ee<$?(Z.flags|=67108866,$):ee):(Z.flags|=67108866,$)):(Z.flags|=1048576,$)}function b(Z){return t&&Z.alternate===null&&(Z.flags|=67108866),Z}function T(Z,$,ee,ce){return $===null||$.tag!==6?($=yu(ee,Z.mode,ce),$.return=Z,$):($=f($,ee),$.return=Z,$)}function q(Z,$,ee,ce){var be=ee.type;return be===A?se(Z,$,ee.props.children,ce,ee.key):$!==null&&($.elementType===be||typeof be=="object"&&be!==null&&be.$$typeof===H&&ti(be)===$.type)?($=f($,ee.props),tr($,ee),$.return=Z,$):($=kl(ee.type,ee.key,ee.props,null,Z.mode,ce),tr($,ee),$.return=Z,$)}function ne(Z,$,ee,ce){return $===null||$.tag!==4||$.stateNode.containerInfo!==ee.containerInfo||$.stateNode.implementation!==ee.implementation?($=vu(ee,Z.mode,ce),$.return=Z,$):($=f($,ee.children||[]),$.return=Z,$)}function se(Z,$,ee,ce,be){return $===null||$.tag!==7?($=Za(ee,Z.mode,ce,be),$.return=Z,$):($=f($,ee),$.return=Z,$)}function ue(Z,$,ee){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return $=yu(""+$,Z.mode,ee),$.return=Z,$;if(typeof $=="object"&&$!==null){switch($.$$typeof){case S:return ee=kl($.type,$.key,$.props,null,Z.mode,ee),tr(ee,$),ee.return=Z,ee;case _:return $=vu($,Z.mode,ee),$.return=Z,$;case H:return $=ti($),ue(Z,$,ee)}if(j($)||K($))return $=Za($,Z.mode,ee,null),$.return=Z,$;if(typeof $.then=="function")return ue(Z,Pl($),ee);if($.$$typeof===N)return ue(Z,Bl(Z,$),ee);Fl(Z,$)}return null}function ae(Z,$,ee,ce){var be=$!==null?$.key:null;if(typeof ee=="string"&&ee!==""||typeof ee=="number"||typeof ee=="bigint")return be!==null?null:T(Z,$,""+ee,ce);if(typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case S:return ee.key===be?q(Z,$,ee,ce):null;case _:return ee.key===be?ne(Z,$,ee,ce):null;case H:return ee=ti(ee),ae(Z,$,ee,ce)}if(j(ee)||K(ee))return be!==null?null:se(Z,$,ee,ce,null);if(typeof ee.then=="function")return ae(Z,$,Pl(ee),ce);if(ee.$$typeof===N)return ae(Z,$,Bl(Z,ee),ce);Fl(Z,ee)}return null}function oe(Z,$,ee,ce,be){if(typeof ce=="string"&&ce!==""||typeof ce=="number"||typeof ce=="bigint")return Z=Z.get(ee)||null,T($,Z,""+ce,be);if(typeof ce=="object"&&ce!==null){switch(ce.$$typeof){case S:return Z=Z.get(ce.key===null?ee:ce.key)||null,q($,Z,ce,be);case _:return Z=Z.get(ce.key===null?ee:ce.key)||null,ne($,Z,ce,be);case H:return ce=ti(ce),oe(Z,$,ee,ce,be)}if(j(ce)||K(ce))return Z=Z.get(ee)||null,se($,Z,ce,be,null);if(typeof ce.then=="function")return oe(Z,$,ee,Pl(ce),be);if(ce.$$typeof===N)return oe(Z,$,ee,Bl($,ce),be);Fl($,ce)}return null}function ye(Z,$,ee,ce){for(var be=null,He=null,ve=$,je=$=0,Oe=null;ve!==null&&je<ee.length;je++){ve.index>je?(Oe=ve,ve=null):Oe=ve.sibling;var Be=ae(Z,ve,ee[je],ce);if(Be===null){ve===null&&(ve=Oe);break}t&&ve&&Be.alternate===null&&n(Z,ve),$=h(Be,$,je),He===null?be=Be:He.sibling=Be,He=Be,ve=Oe}if(je===ee.length)return o(Z,ve),Ie&&Bn(Z,je),be;if(ve===null){for(;je<ee.length;je++)ve=ue(Z,ee[je],ce),ve!==null&&($=h(ve,$,je),He===null?be=ve:He.sibling=ve,He=ve);return Ie&&Bn(Z,je),be}for(ve=l(ve);je<ee.length;je++)Oe=oe(ve,Z,je,ee[je],ce),Oe!==null&&(t&&Oe.alternate!==null&&ve.delete(Oe.key===null?je:Oe.key),$=h(Oe,$,je),He===null?be=Oe:He.sibling=Oe,He=Oe);return t&&ve.forEach(function(Da){return n(Z,Da)}),Ie&&Bn(Z,je),be}function Ee(Z,$,ee,ce){if(ee==null)throw Error(r(151));for(var be=null,He=null,ve=$,je=$=0,Oe=null,Be=ee.next();ve!==null&&!Be.done;je++,Be=ee.next()){ve.index>je?(Oe=ve,ve=null):Oe=ve.sibling;var Da=ae(Z,ve,Be.value,ce);if(Da===null){ve===null&&(ve=Oe);break}t&&ve&&Da.alternate===null&&n(Z,ve),$=h(Da,$,je),He===null?be=Da:He.sibling=Da,He=Da,ve=Oe}if(Be.done)return o(Z,ve),Ie&&Bn(Z,je),be;if(ve===null){for(;!Be.done;je++,Be=ee.next())Be=ue(Z,Be.value,ce),Be!==null&&($=h(Be,$,je),He===null?be=Be:He.sibling=Be,He=Be);return Ie&&Bn(Z,je),be}for(ve=l(ve);!Be.done;je++,Be=ee.next())Be=oe(ve,Z,je,Be.value,ce),Be!==null&&(t&&Be.alternate!==null&&ve.delete(Be.key===null?je:Be.key),$=h(Be,$,je),He===null?be=Be:He.sibling=Be,He=Be);return t&&ve.forEach(function(g1){return n(Z,g1)}),Ie&&Bn(Z,je),be}function $e(Z,$,ee,ce){if(typeof ee=="object"&&ee!==null&&ee.type===A&&ee.key===null&&(ee=ee.props.children),typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case S:e:{for(var be=ee.key;$!==null;){if($.key===be){if(be=ee.type,be===A){if($.tag===7){o(Z,$.sibling),ce=f($,ee.props.children),ce.return=Z,Z=ce;break e}}else if($.elementType===be||typeof be=="object"&&be!==null&&be.$$typeof===H&&ti(be)===$.type){o(Z,$.sibling),ce=f($,ee.props),tr(ce,ee),ce.return=Z,Z=ce;break e}o(Z,$);break}else n(Z,$);$=$.sibling}ee.type===A?(ce=Za(ee.props.children,Z.mode,ce,ee.key),ce.return=Z,Z=ce):(ce=kl(ee.type,ee.key,ee.props,null,Z.mode,ce),tr(ce,ee),ce.return=Z,Z=ce)}return b(Z);case _:e:{for(be=ee.key;$!==null;){if($.key===be)if($.tag===4&&$.stateNode.containerInfo===ee.containerInfo&&$.stateNode.implementation===ee.implementation){o(Z,$.sibling),ce=f($,ee.children||[]),ce.return=Z,Z=ce;break e}else{o(Z,$);break}else n(Z,$);$=$.sibling}ce=vu(ee,Z.mode,ce),ce.return=Z,Z=ce}return b(Z);case H:return ee=ti(ee),$e(Z,$,ee,ce)}if(j(ee))return ye(Z,$,ee,ce);if(K(ee)){if(be=K(ee),typeof be!="function")throw Error(r(150));return ee=be.call(ee),Ee(Z,$,ee,ce)}if(typeof ee.then=="function")return $e(Z,$,Pl(ee),ce);if(ee.$$typeof===N)return $e(Z,$,Bl(Z,ee),ce);Fl(Z,ee)}return typeof ee=="string"&&ee!==""||typeof ee=="number"||typeof ee=="bigint"?(ee=""+ee,$!==null&&$.tag===6?(o(Z,$.sibling),ce=f($,ee),ce.return=Z,Z=ce):(o(Z,$),ce=yu(ee,Z.mode,ce),ce.return=Z,Z=ce),b(Z)):o(Z,$)}return function(Z,$,ee,ce){try{er=0;var be=$e(Z,$,ee,ce);return Qi=null,be}catch(ve){if(ve===Zi||ve===ql)throw ve;var He=Ut(29,ve,null,Z.mode);return He.lanes=ce,He.return=Z,He}}}var ai=jh(!0),Rh=jh(!1),pa=!1;function ju(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ru(t,n){t=t.updateQueue,n.updateQueue===t&&(n.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function ga(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function ya(t,n,o){var l=t.updateQueue;if(l===null)return null;if(l=l.shared,(Ue&2)!==0){var f=l.pending;return f===null?n.next=n:(n.next=f.next,f.next=n),l.pending=n,n=Il(t),hh(t,null,o),n}return Ol(t,l,n,o),Il(t)}function nr(t,n,o){if(n=n.updateQueue,n!==null&&(n=n.shared,(o&4194048)!==0)){var l=n.lanes;l&=t.pendingLanes,o|=l,n.lanes=o,ml(t,o)}}function Du(t,n){var o=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var f=null,h=null;if(o=o.firstBaseUpdate,o!==null){do{var b={lane:o.lane,tag:o.tag,payload:o.payload,callback:null,next:null};h===null?f=h=b:h=h.next=b,o=o.next}while(o!==null);h===null?f=h=n:h=h.next=n}else f=h=n;o={baseState:l.baseState,firstBaseUpdate:f,lastBaseUpdate:h,shared:l.shared,callbacks:l.callbacks},t.updateQueue=o;return}t=o.lastBaseUpdate,t===null?o.firstBaseUpdate=n:t.next=n,o.lastBaseUpdate=n}var zu=!1;function ar(){if(zu){var t=Ki;if(t!==null)throw t}}function ir(t,n,o,l){zu=!1;var f=t.updateQueue;pa=!1;var h=f.firstBaseUpdate,b=f.lastBaseUpdate,T=f.shared.pending;if(T!==null){f.shared.pending=null;var q=T,ne=q.next;q.next=null,b===null?h=ne:b.next=ne,b=q;var se=t.alternate;se!==null&&(se=se.updateQueue,T=se.lastBaseUpdate,T!==b&&(T===null?se.firstBaseUpdate=ne:T.next=ne,se.lastBaseUpdate=q))}if(h!==null){var ue=f.baseState;b=0,se=ne=q=null,T=h;do{var ae=T.lane&-536870913,oe=ae!==T.lane;if(oe?(ze&ae)===ae:(l&ae)===ae){ae!==0&&ae===Xi&&(zu=!0),se!==null&&(se=se.next={lane:0,tag:T.tag,payload:T.payload,callback:null,next:null});e:{var ye=t,Ee=T;ae=n;var $e=o;switch(Ee.tag){case 1:if(ye=Ee.payload,typeof ye=="function"){ue=ye.call($e,ue,ae);break e}ue=ye;break e;case 3:ye.flags=ye.flags&-65537|128;case 0:if(ye=Ee.payload,ae=typeof ye=="function"?ye.call($e,ue,ae):ye,ae==null)break e;ue=v({},ue,ae);break e;case 2:pa=!0}}ae=T.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=f.callbacks,oe===null?f.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:T.tag,payload:T.payload,callback:T.callback,next:null},se===null?(ne=se=oe,q=ue):se=se.next=oe,b|=ae;if(T=T.next,T===null){if(T=f.shared.pending,T===null)break;oe=T,T=oe.next,oe.next=null,f.lastBaseUpdate=oe,f.shared.pending=null}}while(!0);se===null&&(q=ue),f.baseState=q,f.firstBaseUpdate=ne,f.lastBaseUpdate=se,h===null&&(f.shared.lanes=0),wa|=b,t.lanes=b,t.memoizedState=ue}}function Dh(t,n){if(typeof t!="function")throw Error(r(191,t));t.call(n)}function zh(t,n){var o=t.callbacks;if(o!==null)for(t.callbacks=null,t=0;t<o.length;t++)Dh(o[t],n)}var Ji=D(null),Vl=D(0);function Oh(t,n){t=Zn,Y(Vl,t),Y(Ji,n),Zn=t|n.baseLanes}function Ou(){Y(Vl,Zn),Y(Ji,Ji.current)}function Iu(){Zn=Vl.current,P(Ji),P(Vl)}var qt=D(null),tn=null;function va(t){var n=t.alternate;Y(it,it.current&1),Y(qt,t),tn===null&&(n===null||Ji.current!==null||n.memoizedState!==null)&&(tn=t)}function ku(t){Y(it,it.current),Y(qt,t),tn===null&&(tn=t)}function Ih(t){t.tag===22?(Y(it,it.current),Y(qt,t),tn===null&&(tn=t)):xa()}function xa(){Y(it,it.current),Y(qt,qt.current)}function Gt(t){P(qt),tn===t&&(tn=null),P(it)}var it=D(0);function $l(t){for(var n=t;n!==null;){if(n.tag===13){var o=n.memoizedState;if(o!==null&&(o=o.dehydrated,o===null||Gd(o)||Pd(o)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Gn=0,Ae=null,Fe=null,ct=null,Yl=!1,Wi=!1,ii=!1,Xl=0,or=0,eo=null,rw=0;function nt(){throw Error(r(321))}function Lu(t,n){if(n===null)return!1;for(var o=0;o<n.length&&o<t.length;o++)if(!Bt(t[o],n[o]))return!1;return!0}function Hu(t,n,o,l,f,h){return Gn=h,Ae=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,M.H=t===null||t.memoizedState===null?vp:Wu,ii=!1,h=o(l,f),ii=!1,Wi&&(h=Lh(n,o,l,f)),kh(t),h}function kh(t){M.H=sr;var n=Fe!==null&&Fe.next!==null;if(Gn=0,ct=Fe=Ae=null,Yl=!1,or=0,eo=null,n)throw Error(r(300));t===null||ut||(t=t.dependencies,t!==null&&Hl(t)&&(ut=!0))}function Lh(t,n,o,l){Ae=t;var f=0;do{if(Wi&&(eo=null),or=0,Wi=!1,25<=f)throw Error(r(301));if(f+=1,ct=Fe=null,t.updateQueue!=null){var h=t.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}M.H=xp,h=n(o,l)}while(Wi);return h}function lw(){var t=M.H,n=t.useState()[0];return n=typeof n.then=="function"?rr(n):n,t=t.useState()[0],(Fe!==null?Fe.memoizedState:null)!==t&&(Ae.flags|=1024),n}function Bu(){var t=Xl!==0;return Xl=0,t}function Uu(t,n,o){n.updateQueue=t.updateQueue,n.flags&=-2053,t.lanes&=~o}function qu(t){if(Yl){for(t=t.memoizedState;t!==null;){var n=t.queue;n!==null&&(n.pending=null),t=t.next}Yl=!1}Gn=0,ct=Fe=Ae=null,Wi=!1,or=Xl=0,eo=null}function Ct(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ct===null?Ae.memoizedState=ct=t:ct=ct.next=t,ct}function ot(){if(Fe===null){var t=Ae.alternate;t=t!==null?t.memoizedState:null}else t=Fe.next;var n=ct===null?Ae.memoizedState:ct.next;if(n!==null)ct=n,Fe=t;else{if(t===null)throw Ae.alternate===null?Error(r(467)):Error(r(310));Fe=t,t={memoizedState:Fe.memoizedState,baseState:Fe.baseState,baseQueue:Fe.baseQueue,queue:Fe.queue,next:null},ct===null?Ae.memoizedState=ct=t:ct=ct.next=t}return ct}function Kl(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function rr(t){var n=or;return or+=1,eo===null&&(eo=[]),t=Th(eo,t,n),n=Ae,(ct===null?n.memoizedState:ct.next)===null&&(n=n.alternate,M.H=n===null||n.memoizedState===null?vp:Wu),t}function Zl(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return rr(t);if(t.$$typeof===N)return yt(t)}throw Error(r(438,String(t)))}function Gu(t){var n=null,o=Ae.updateQueue;if(o!==null&&(n=o.memoCache),n==null){var l=Ae.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(n={data:l.data.map(function(f){return f.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),o===null&&(o=Kl(),Ae.updateQueue=o),o.memoCache=n,o=n.data[n.index],o===void 0)for(o=n.data[n.index]=Array(t),l=0;l<t;l++)o[l]=W;return n.index++,o}function Pn(t,n){return typeof n=="function"?n(t):n}function Ql(t){var n=ot();return Pu(n,Fe,t)}function Pu(t,n,o){var l=t.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=o;var f=t.baseQueue,h=l.pending;if(h!==null){if(f!==null){var b=f.next;f.next=h.next,h.next=b}n.baseQueue=f=h,l.pending=null}if(h=t.baseState,f===null)t.memoizedState=h;else{n=f.next;var T=b=null,q=null,ne=n,se=!1;do{var ue=ne.lane&-536870913;if(ue!==ne.lane?(ze&ue)===ue:(Gn&ue)===ue){var ae=ne.revertLane;if(ae===0)q!==null&&(q=q.next={lane:0,revertLane:0,gesture:null,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null}),ue===Xi&&(se=!0);else if((Gn&ae)===ae){ne=ne.next,ae===Xi&&(se=!0);continue}else ue={lane:0,revertLane:ne.revertLane,gesture:null,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null},q===null?(T=q=ue,b=h):q=q.next=ue,Ae.lanes|=ae,wa|=ae;ue=ne.action,ii&&o(h,ue),h=ne.hasEagerState?ne.eagerState:o(h,ue)}else ae={lane:ue,revertLane:ne.revertLane,gesture:ne.gesture,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null},q===null?(T=q=ae,b=h):q=q.next=ae,Ae.lanes|=ue,wa|=ue;ne=ne.next}while(ne!==null&&ne!==n);if(q===null?b=h:q.next=T,!Bt(h,t.memoizedState)&&(ut=!0,se&&(o=Ki,o!==null)))throw o;t.memoizedState=h,t.baseState=b,t.baseQueue=q,l.lastRenderedState=h}return f===null&&(l.lanes=0),[t.memoizedState,l.dispatch]}function Fu(t){var n=ot(),o=n.queue;if(o===null)throw Error(r(311));o.lastRenderedReducer=t;var l=o.dispatch,f=o.pending,h=n.memoizedState;if(f!==null){o.pending=null;var b=f=f.next;do h=t(h,b.action),b=b.next;while(b!==f);Bt(h,n.memoizedState)||(ut=!0),n.memoizedState=h,n.baseQueue===null&&(n.baseState=h),o.lastRenderedState=h}return[h,l]}function Hh(t,n,o){var l=Ae,f=ot(),h=Ie;if(h){if(o===void 0)throw Error(r(407));o=o()}else o=n();var b=!Bt((Fe||f).memoizedState,o);if(b&&(f.memoizedState=o,ut=!0),f=f.queue,Yu(qh.bind(null,l,f,t),[t]),f.getSnapshot!==n||b||ct!==null&&ct.memoizedState.tag&1){if(l.flags|=2048,to(9,{destroy:void 0},Uh.bind(null,l,f,o,n),null),Xe===null)throw Error(r(349));h||(Gn&127)!==0||Bh(l,n,o)}return o}function Bh(t,n,o){t.flags|=16384,t={getSnapshot:n,value:o},n=Ae.updateQueue,n===null?(n=Kl(),Ae.updateQueue=n,n.stores=[t]):(o=n.stores,o===null?n.stores=[t]:o.push(t))}function Uh(t,n,o,l){n.value=o,n.getSnapshot=l,Gh(n)&&Ph(t)}function qh(t,n,o){return o(function(){Gh(n)&&Ph(t)})}function Gh(t){var n=t.getSnapshot;t=t.value;try{var o=n();return!Bt(t,o)}catch{return!0}}function Ph(t){var n=Ka(t,2);n!==null&&Ot(n,t,2)}function Vu(t){var n=Ct();if(typeof t=="function"){var o=t;if(t=o(),ii){vn(!0);try{o()}finally{vn(!1)}}}return n.memoizedState=n.baseState=t,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pn,lastRenderedState:t},n}function Fh(t,n,o,l){return t.baseState=o,Pu(t,Fe,typeof l=="function"?l:Pn)}function sw(t,n,o,l,f){if(es(t))throw Error(r(485));if(t=n.action,t!==null){var h={payload:f,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(b){h.listeners.push(b)}};M.T!==null?o(!0):h.isTransition=!1,l(h),o=n.pending,o===null?(h.next=n.pending=h,Vh(n,h)):(h.next=o.next,n.pending=o.next=h)}}function Vh(t,n){var o=n.action,l=n.payload,f=t.state;if(n.isTransition){var h=M.T,b={};M.T=b;try{var T=o(f,l),q=M.S;q!==null&&q(b,T),$h(t,n,T)}catch(ne){$u(t,n,ne)}finally{h!==null&&b.types!==null&&(h.types=b.types),M.T=h}}else try{h=o(f,l),$h(t,n,h)}catch(ne){$u(t,n,ne)}}function $h(t,n,o){o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(function(l){Yh(t,n,l)},function(l){return $u(t,n,l)}):Yh(t,n,o)}function Yh(t,n,o){n.status="fulfilled",n.value=o,Xh(n),t.state=o,n=t.pending,n!==null&&(o=n.next,o===n?t.pending=null:(o=o.next,n.next=o,Vh(t,o)))}function $u(t,n,o){var l=t.pending;if(t.pending=null,l!==null){l=l.next;do n.status="rejected",n.reason=o,Xh(n),n=n.next;while(n!==l)}t.action=null}function Xh(t){t=t.listeners;for(var n=0;n<t.length;n++)(0,t[n])()}function Kh(t,n){return n}function Zh(t,n){if(Ie){var o=Xe.formState;if(o!==null){e:{var l=Ae;if(Ie){if(Ke){t:{for(var f=Ke,h=en;f.nodeType!==8;){if(!h){f=null;break t}if(f=nn(f.nextSibling),f===null){f=null;break t}}h=f.data,f=h==="F!"||h==="F"?f:null}if(f){Ke=nn(f.nextSibling),l=f.data==="F!";break e}}ma(l)}l=!1}l&&(n=o[0])}}return o=Ct(),o.memoizedState=o.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kh,lastRenderedState:n},o.queue=l,o=pp.bind(null,Ae,l),l.dispatch=o,l=Vu(!1),h=Ju.bind(null,Ae,!1,l.queue),l=Ct(),f={state:n,dispatch:null,action:t,pending:null},l.queue=f,o=sw.bind(null,Ae,f,h,o),f.dispatch=o,l.memoizedState=t,[n,o,!1]}function Qh(t){var n=ot();return Jh(n,Fe,t)}function Jh(t,n,o){if(n=Pu(t,n,Kh)[0],t=Ql(Pn)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var l=rr(n)}catch(b){throw b===Zi?ql:b}else l=n;n=ot();var f=n.queue,h=f.dispatch;return o!==n.memoizedState&&(Ae.flags|=2048,to(9,{destroy:void 0},cw.bind(null,f,o),null)),[l,h,t]}function cw(t,n){t.action=n}function Wh(t){var n=ot(),o=Fe;if(o!==null)return Jh(n,o,t);ot(),n=n.memoizedState,o=ot();var l=o.queue.dispatch;return o.memoizedState=t,[n,l,!1]}function to(t,n,o,l){return t={tag:t,create:o,deps:l,inst:n,next:null},n=Ae.updateQueue,n===null&&(n=Kl(),Ae.updateQueue=n),o=n.lastEffect,o===null?n.lastEffect=t.next=t:(l=o.next,o.next=t,t.next=l,n.lastEffect=t),t}function ep(){return ot().memoizedState}function Jl(t,n,o,l){var f=Ct();Ae.flags|=t,f.memoizedState=to(1|n,{destroy:void 0},o,l===void 0?null:l)}function Wl(t,n,o,l){var f=ot();l=l===void 0?null:l;var h=f.memoizedState.inst;Fe!==null&&l!==null&&Lu(l,Fe.memoizedState.deps)?f.memoizedState=to(n,h,o,l):(Ae.flags|=t,f.memoizedState=to(1|n,h,o,l))}function tp(t,n){Jl(8390656,8,t,n)}function Yu(t,n){Wl(2048,8,t,n)}function uw(t){Ae.flags|=4;var n=Ae.updateQueue;if(n===null)n=Kl(),Ae.updateQueue=n,n.events=[t];else{var o=n.events;o===null?n.events=[t]:o.push(t)}}function np(t){var n=ot().memoizedState;return uw({ref:n,nextImpl:t}),function(){if((Ue&2)!==0)throw Error(r(440));return n.impl.apply(void 0,arguments)}}function ap(t,n){return Wl(4,2,t,n)}function ip(t,n){return Wl(4,4,t,n)}function op(t,n){if(typeof n=="function"){t=t();var o=n(t);return function(){typeof o=="function"?o():n(null)}}if(n!=null)return t=t(),n.current=t,function(){n.current=null}}function rp(t,n,o){o=o!=null?o.concat([t]):null,Wl(4,4,op.bind(null,n,t),o)}function Xu(){}function lp(t,n){var o=ot();n=n===void 0?null:n;var l=o.memoizedState;return n!==null&&Lu(n,l[1])?l[0]:(o.memoizedState=[t,n],t)}function sp(t,n){var o=ot();n=n===void 0?null:n;var l=o.memoizedState;if(n!==null&&Lu(n,l[1]))return l[0];if(l=t(),ii){vn(!0);try{t()}finally{vn(!1)}}return o.memoizedState=[l,n],l}function Ku(t,n,o){return o===void 0||(Gn&1073741824)!==0&&(ze&261930)===0?t.memoizedState=n:(t.memoizedState=o,t=cg(),Ae.lanes|=t,wa|=t,o)}function cp(t,n,o,l){return Bt(o,n)?o:Ji.current!==null?(t=Ku(t,o,l),Bt(t,n)||(ut=!0),t):(Gn&42)===0||(Gn&1073741824)!==0&&(ze&261930)===0?(ut=!0,t.memoizedState=o):(t=cg(),Ae.lanes|=t,wa|=t,n)}function up(t,n,o,l,f){var h=L.p;L.p=h!==0&&8>h?h:8;var b=M.T,T={};M.T=T,Ju(t,!1,n,o);try{var q=f(),ne=M.S;if(ne!==null&&ne(T,q),q!==null&&typeof q=="object"&&typeof q.then=="function"){var se=ow(q,l);lr(t,n,se,Vt(t))}else lr(t,n,l,Vt(t))}catch(ue){lr(t,n,{then:function(){},status:"rejected",reason:ue},Vt())}finally{L.p=h,b!==null&&T.types!==null&&(b.types=T.types),M.T=b}}function dw(){}function Zu(t,n,o,l){if(t.tag!==5)throw Error(r(476));var f=dp(t).queue;up(t,f,n,G,o===null?dw:function(){return fp(t),o(l)})}function dp(t){var n=t.memoizedState;if(n!==null)return n;n={memoizedState:G,baseState:G,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pn,lastRenderedState:G},next:null};var o={};return n.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pn,lastRenderedState:o},next:null},t.memoizedState=n,t=t.alternate,t!==null&&(t.memoizedState=n),n}function fp(t){var n=dp(t);n.next===null&&(n=t.alternate.memoizedState),lr(t,n.next.queue,{},Vt())}function Qu(){return yt(Nr)}function mp(){return ot().memoizedState}function hp(){return ot().memoizedState}function fw(t){for(var n=t.return;n!==null;){switch(n.tag){case 24:case 3:var o=Vt();t=ga(o);var l=ya(n,t,o);l!==null&&(Ot(l,n,o),nr(l,n,o)),n={cache:Cu()},t.payload=n;return}n=n.return}}function mw(t,n,o){var l=Vt();o={lane:l,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},es(t)?gp(n,o):(o=pu(t,n,o,l),o!==null&&(Ot(o,t,l),yp(o,n,l)))}function pp(t,n,o){var l=Vt();lr(t,n,o,l)}function lr(t,n,o,l){var f={lane:l,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null};if(es(t))gp(n,f);else{var h=t.alternate;if(t.lanes===0&&(h===null||h.lanes===0)&&(h=n.lastRenderedReducer,h!==null))try{var b=n.lastRenderedState,T=h(b,o);if(f.hasEagerState=!0,f.eagerState=T,Bt(T,b))return Ol(t,n,f,0),Xe===null&&zl(),!1}catch{}if(o=pu(t,n,f,l),o!==null)return Ot(o,t,l),yp(o,n,l),!0}return!1}function Ju(t,n,o,l){if(l={lane:2,revertLane:jd(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},es(t)){if(n)throw Error(r(479))}else n=pu(t,o,l,2),n!==null&&Ot(n,t,2)}function es(t){var n=t.alternate;return t===Ae||n!==null&&n===Ae}function gp(t,n){Wi=Yl=!0;var o=t.pending;o===null?n.next=n:(n.next=o.next,o.next=n),t.pending=n}function yp(t,n,o){if((o&4194048)!==0){var l=n.lanes;l&=t.pendingLanes,o|=l,n.lanes=o,ml(t,o)}}var sr={readContext:yt,use:Zl,useCallback:nt,useContext:nt,useEffect:nt,useImperativeHandle:nt,useLayoutEffect:nt,useInsertionEffect:nt,useMemo:nt,useReducer:nt,useRef:nt,useState:nt,useDebugValue:nt,useDeferredValue:nt,useTransition:nt,useSyncExternalStore:nt,useId:nt,useHostTransitionStatus:nt,useFormState:nt,useActionState:nt,useOptimistic:nt,useMemoCache:nt,useCacheRefresh:nt};sr.useEffectEvent=nt;var vp={readContext:yt,use:Zl,useCallback:function(t,n){return Ct().memoizedState=[t,n===void 0?null:n],t},useContext:yt,useEffect:tp,useImperativeHandle:function(t,n,o){o=o!=null?o.concat([t]):null,Jl(4194308,4,op.bind(null,n,t),o)},useLayoutEffect:function(t,n){return Jl(4194308,4,t,n)},useInsertionEffect:function(t,n){Jl(4,2,t,n)},useMemo:function(t,n){var o=Ct();n=n===void 0?null:n;var l=t();if(ii){vn(!0);try{t()}finally{vn(!1)}}return o.memoizedState=[l,n],l},useReducer:function(t,n,o){var l=Ct();if(o!==void 0){var f=o(n);if(ii){vn(!0);try{o(n)}finally{vn(!1)}}}else f=n;return l.memoizedState=l.baseState=f,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:f},l.queue=t,t=t.dispatch=mw.bind(null,Ae,t),[l.memoizedState,t]},useRef:function(t){var n=Ct();return t={current:t},n.memoizedState=t},useState:function(t){t=Vu(t);var n=t.queue,o=pp.bind(null,Ae,n);return n.dispatch=o,[t.memoizedState,o]},useDebugValue:Xu,useDeferredValue:function(t,n){var o=Ct();return Ku(o,t,n)},useTransition:function(){var t=Vu(!1);return t=up.bind(null,Ae,t.queue,!0,!1),Ct().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,n,o){var l=Ae,f=Ct();if(Ie){if(o===void 0)throw Error(r(407));o=o()}else{if(o=n(),Xe===null)throw Error(r(349));(ze&127)!==0||Bh(l,n,o)}f.memoizedState=o;var h={value:o,getSnapshot:n};return f.queue=h,tp(qh.bind(null,l,h,t),[t]),l.flags|=2048,to(9,{destroy:void 0},Uh.bind(null,l,h,o,n),null),o},useId:function(){var t=Ct(),n=Xe.identifierPrefix;if(Ie){var o=Sn,l=bn;o=(l&~(1<<32-Et(l)-1)).toString(32)+o,n="_"+n+"R_"+o,o=Xl++,0<o&&(n+="H"+o.toString(32)),n+="_"}else o=rw++,n="_"+n+"r_"+o.toString(32)+"_";return t.memoizedState=n},useHostTransitionStatus:Qu,useFormState:Zh,useActionState:Zh,useOptimistic:function(t){var n=Ct();n.memoizedState=n.baseState=t;var o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=o,n=Ju.bind(null,Ae,!0,o),o.dispatch=n,[t,n]},useMemoCache:Gu,useCacheRefresh:function(){return Ct().memoizedState=fw.bind(null,Ae)},useEffectEvent:function(t){var n=Ct(),o={impl:t};return n.memoizedState=o,function(){if((Ue&2)!==0)throw Error(r(440));return o.impl.apply(void 0,arguments)}}},Wu={readContext:yt,use:Zl,useCallback:lp,useContext:yt,useEffect:Yu,useImperativeHandle:rp,useInsertionEffect:ap,useLayoutEffect:ip,useMemo:sp,useReducer:Ql,useRef:ep,useState:function(){return Ql(Pn)},useDebugValue:Xu,useDeferredValue:function(t,n){var o=ot();return cp(o,Fe.memoizedState,t,n)},useTransition:function(){var t=Ql(Pn)[0],n=ot().memoizedState;return[typeof t=="boolean"?t:rr(t),n]},useSyncExternalStore:Hh,useId:mp,useHostTransitionStatus:Qu,useFormState:Qh,useActionState:Qh,useOptimistic:function(t,n){var o=ot();return Fh(o,Fe,t,n)},useMemoCache:Gu,useCacheRefresh:hp};Wu.useEffectEvent=np;var xp={readContext:yt,use:Zl,useCallback:lp,useContext:yt,useEffect:Yu,useImperativeHandle:rp,useInsertionEffect:ap,useLayoutEffect:ip,useMemo:sp,useReducer:Fu,useRef:ep,useState:function(){return Fu(Pn)},useDebugValue:Xu,useDeferredValue:function(t,n){var o=ot();return Fe===null?Ku(o,t,n):cp(o,Fe.memoizedState,t,n)},useTransition:function(){var t=Fu(Pn)[0],n=ot().memoizedState;return[typeof t=="boolean"?t:rr(t),n]},useSyncExternalStore:Hh,useId:mp,useHostTransitionStatus:Qu,useFormState:Wh,useActionState:Wh,useOptimistic:function(t,n){var o=ot();return Fe!==null?Fh(o,Fe,t,n):(o.baseState=t,[t,o.queue.dispatch])},useMemoCache:Gu,useCacheRefresh:hp};xp.useEffectEvent=np;function ed(t,n,o,l){n=t.memoizedState,o=o(l,n),o=o==null?n:v({},n,o),t.memoizedState=o,t.lanes===0&&(t.updateQueue.baseState=o)}var td={enqueueSetState:function(t,n,o){t=t._reactInternals;var l=Vt(),f=ga(l);f.payload=n,o!=null&&(f.callback=o),n=ya(t,f,l),n!==null&&(Ot(n,t,l),nr(n,t,l))},enqueueReplaceState:function(t,n,o){t=t._reactInternals;var l=Vt(),f=ga(l);f.tag=1,f.payload=n,o!=null&&(f.callback=o),n=ya(t,f,l),n!==null&&(Ot(n,t,l),nr(n,t,l))},enqueueForceUpdate:function(t,n){t=t._reactInternals;var o=Vt(),l=ga(o);l.tag=2,n!=null&&(l.callback=n),n=ya(t,l,o),n!==null&&(Ot(n,t,o),nr(n,t,o))}};function bp(t,n,o,l,f,h,b){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(l,h,b):n.prototype&&n.prototype.isPureReactComponent?!Xo(o,l)||!Xo(f,h):!0}function Sp(t,n,o,l){t=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(o,l),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(o,l),n.state!==t&&td.enqueueReplaceState(n,n.state,null)}function oi(t,n){var o=n;if("ref"in n){o={};for(var l in n)l!=="ref"&&(o[l]=n[l])}if(t=t.defaultProps){o===n&&(o=v({},o));for(var f in t)o[f]===void 0&&(o[f]=t[f])}return o}function wp(t){Dl(t)}function _p(t){console.error(t)}function Np(t){Dl(t)}function ts(t,n){try{var o=t.onUncaughtError;o(n.value,{componentStack:n.stack})}catch(l){setTimeout(function(){throw l})}}function Ep(t,n,o){try{var l=t.onCaughtError;l(o.value,{componentStack:o.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(f){setTimeout(function(){throw f})}}function nd(t,n,o){return o=ga(o),o.tag=3,o.payload={element:null},o.callback=function(){ts(t,n)},o}function Cp(t){return t=ga(t),t.tag=3,t}function Tp(t,n,o,l){var f=o.type.getDerivedStateFromError;if(typeof f=="function"){var h=l.value;t.payload=function(){return f(h)},t.callback=function(){Ep(n,o,l)}}var b=o.stateNode;b!==null&&typeof b.componentDidCatch=="function"&&(t.callback=function(){Ep(n,o,l),typeof f!="function"&&(_a===null?_a=new Set([this]):_a.add(this));var T=l.stack;this.componentDidCatch(l.value,{componentStack:T!==null?T:""})})}function hw(t,n,o,l,f){if(o.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(n=o.alternate,n!==null&&Yi(n,o,f,!0),o=qt.current,o!==null){switch(o.tag){case 31:case 13:return tn===null?ms():o.alternate===null&&at===0&&(at=3),o.flags&=-257,o.flags|=65536,o.lanes=f,l===Gl?o.flags|=16384:(n=o.updateQueue,n===null?o.updateQueue=new Set([l]):n.add(l),Td(t,l,f)),!1;case 22:return o.flags|=65536,l===Gl?o.flags|=16384:(n=o.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([l])},o.updateQueue=n):(o=n.retryQueue,o===null?n.retryQueue=new Set([l]):o.add(l)),Td(t,l,f)),!1}throw Error(r(435,o.tag))}return Td(t,l,f),ms(),!1}if(Ie)return n=qt.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=f,l!==Su&&(t=Error(r(422),{cause:l}),Qo(Qt(t,o)))):(l!==Su&&(n=Error(r(423),{cause:l}),Qo(Qt(n,o))),t=t.current.alternate,t.flags|=65536,f&=-f,t.lanes|=f,l=Qt(l,o),f=nd(t.stateNode,l,f),Du(t,f),at!==4&&(at=2)),!1;var h=Error(r(520),{cause:l});if(h=Qt(h,o),gr===null?gr=[h]:gr.push(h),at!==4&&(at=2),n===null)return!0;l=Qt(l,o),o=n;do{switch(o.tag){case 3:return o.flags|=65536,t=f&-f,o.lanes|=t,t=nd(o.stateNode,l,t),Du(o,t),!1;case 1:if(n=o.type,h=o.stateNode,(o.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(_a===null||!_a.has(h))))return o.flags|=65536,f&=-f,o.lanes|=f,f=Cp(f),Tp(f,t,o,l),Du(o,f),!1}o=o.return}while(o!==null);return!1}var ad=Error(r(461)),ut=!1;function vt(t,n,o,l){n.child=t===null?Rh(n,null,o,l):ai(n,t.child,o,l)}function Mp(t,n,o,l,f){o=o.render;var h=n.ref;if("ref"in l){var b={};for(var T in l)T!=="ref"&&(b[T]=l[T])}else b=l;return Wa(n),l=Hu(t,n,o,b,h,f),T=Bu(),t!==null&&!ut?(Uu(t,n,f),Fn(t,n,f)):(Ie&&T&&xu(n),n.flags|=1,vt(t,n,l,f),n.child)}function Ap(t,n,o,l,f){if(t===null){var h=o.type;return typeof h=="function"&&!gu(h)&&h.defaultProps===void 0&&o.compare===null?(n.tag=15,n.type=h,jp(t,n,h,l,f)):(t=kl(o.type,null,l,n,n.mode,f),t.ref=n.ref,t.return=n,n.child=t)}if(h=t.child,!dd(t,f)){var b=h.memoizedProps;if(o=o.compare,o=o!==null?o:Xo,o(b,l)&&t.ref===n.ref)return Fn(t,n,f)}return n.flags|=1,t=Hn(h,l),t.ref=n.ref,t.return=n,n.child=t}function jp(t,n,o,l,f){if(t!==null){var h=t.memoizedProps;if(Xo(h,l)&&t.ref===n.ref)if(ut=!1,n.pendingProps=l=h,dd(t,f))(t.flags&131072)!==0&&(ut=!0);else return n.lanes=t.lanes,Fn(t,n,f)}return id(t,n,o,l,f)}function Rp(t,n,o,l){var f=l.children,h=t!==null?t.memoizedState:null;if(t===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((n.flags&128)!==0){if(h=h!==null?h.baseLanes|o:o,t!==null){for(l=n.child=t.child,f=0;l!==null;)f=f|l.lanes|l.childLanes,l=l.sibling;l=f&~h}else l=0,n.child=null;return Dp(t,n,h,o,l)}if((o&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},t!==null&&Ul(n,h!==null?h.cachePool:null),h!==null?Oh(n,h):Ou(),Ih(n);else return l=n.lanes=536870912,Dp(t,n,h!==null?h.baseLanes|o:o,o,l)}else h!==null?(Ul(n,h.cachePool),Oh(n,h),xa(),n.memoizedState=null):(t!==null&&Ul(n,null),Ou(),xa());return vt(t,n,f,o),n.child}function cr(t,n){return t!==null&&t.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function Dp(t,n,o,l,f){var h=Mu();return h=h===null?null:{parent:st._currentValue,pool:h},n.memoizedState={baseLanes:o,cachePool:h},t!==null&&Ul(n,null),Ou(),Ih(n),t!==null&&Yi(t,n,l,!0),n.childLanes=f,null}function ns(t,n){return n=is({mode:n.mode,children:n.children},t.mode),n.ref=t.ref,t.child=n,n.return=t,n}function zp(t,n,o){return ai(n,t.child,null,o),t=ns(n,n.pendingProps),t.flags|=2,Gt(n),n.memoizedState=null,t}function pw(t,n,o){var l=n.pendingProps,f=(n.flags&128)!==0;if(n.flags&=-129,t===null){if(Ie){if(l.mode==="hidden")return t=ns(n,l),n.lanes=536870912,cr(null,t);if(ku(n),(t=Ke)?(t=Vg(t,en),t=t!==null&&t.data==="&"?t:null,t!==null&&(n.memoizedState={dehydrated:t,treeContext:da!==null?{id:bn,overflow:Sn}:null,retryLane:536870912,hydrationErrors:null},o=gh(t),o.return=n,n.child=o,gt=n,Ke=null)):t=null,t===null)throw ma(n);return n.lanes=536870912,null}return ns(n,l)}var h=t.memoizedState;if(h!==null){var b=h.dehydrated;if(ku(n),f)if(n.flags&256)n.flags&=-257,n=zp(t,n,o);else if(n.memoizedState!==null)n.child=t.child,n.flags|=128,n=null;else throw Error(r(558));else if(ut||Yi(t,n,o,!1),f=(o&t.childLanes)!==0,ut||f){if(l=Xe,l!==null&&(b=hl(l,o),b!==0&&b!==h.retryLane))throw h.retryLane=b,Ka(t,b),Ot(l,t,b),ad;ms(),n=zp(t,n,o)}else t=h.treeContext,Ke=nn(b.nextSibling),gt=n,Ie=!0,fa=null,en=!1,t!==null&&xh(n,t),n=ns(n,l),n.flags|=4096;return n}return t=Hn(t.child,{mode:l.mode,children:l.children}),t.ref=n.ref,n.child=t,t.return=n,t}function as(t,n){var o=n.ref;if(o===null)t!==null&&t.ref!==null&&(n.flags|=4194816);else{if(typeof o!="function"&&typeof o!="object")throw Error(r(284));(t===null||t.ref!==o)&&(n.flags|=4194816)}}function id(t,n,o,l,f){return Wa(n),o=Hu(t,n,o,l,void 0,f),l=Bu(),t!==null&&!ut?(Uu(t,n,f),Fn(t,n,f)):(Ie&&l&&xu(n),n.flags|=1,vt(t,n,o,f),n.child)}function Op(t,n,o,l,f,h){return Wa(n),n.updateQueue=null,o=Lh(n,l,o,f),kh(t),l=Bu(),t!==null&&!ut?(Uu(t,n,h),Fn(t,n,h)):(Ie&&l&&xu(n),n.flags|=1,vt(t,n,o,h),n.child)}function Ip(t,n,o,l,f){if(Wa(n),n.stateNode===null){var h=Pi,b=o.contextType;typeof b=="object"&&b!==null&&(h=yt(b)),h=new o(l,h),n.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=td,n.stateNode=h,h._reactInternals=n,h=n.stateNode,h.props=l,h.state=n.memoizedState,h.refs={},ju(n),b=o.contextType,h.context=typeof b=="object"&&b!==null?yt(b):Pi,h.state=n.memoizedState,b=o.getDerivedStateFromProps,typeof b=="function"&&(ed(n,o,b,l),h.state=n.memoizedState),typeof o.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(b=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),b!==h.state&&td.enqueueReplaceState(h,h.state,null),ir(n,l,h,f),ar(),h.state=n.memoizedState),typeof h.componentDidMount=="function"&&(n.flags|=4194308),l=!0}else if(t===null){h=n.stateNode;var T=n.memoizedProps,q=oi(o,T);h.props=q;var ne=h.context,se=o.contextType;b=Pi,typeof se=="object"&&se!==null&&(b=yt(se));var ue=o.getDerivedStateFromProps;se=typeof ue=="function"||typeof h.getSnapshotBeforeUpdate=="function",T=n.pendingProps!==T,se||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(T||ne!==b)&&Sp(n,h,l,b),pa=!1;var ae=n.memoizedState;h.state=ae,ir(n,l,h,f),ar(),ne=n.memoizedState,T||ae!==ne||pa?(typeof ue=="function"&&(ed(n,o,ue,l),ne=n.memoizedState),(q=pa||bp(n,o,q,l,ae,ne,b))?(se||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount()),typeof h.componentDidMount=="function"&&(n.flags|=4194308)):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=l,n.memoizedState=ne),h.props=l,h.state=ne,h.context=b,l=q):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),l=!1)}else{h=n.stateNode,Ru(t,n),b=n.memoizedProps,se=oi(o,b),h.props=se,ue=n.pendingProps,ae=h.context,ne=o.contextType,q=Pi,typeof ne=="object"&&ne!==null&&(q=yt(ne)),T=o.getDerivedStateFromProps,(ne=typeof T=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(b!==ue||ae!==q)&&Sp(n,h,l,q),pa=!1,ae=n.memoizedState,h.state=ae,ir(n,l,h,f),ar();var oe=n.memoizedState;b!==ue||ae!==oe||pa||t!==null&&t.dependencies!==null&&Hl(t.dependencies)?(typeof T=="function"&&(ed(n,o,T,l),oe=n.memoizedState),(se=pa||bp(n,o,se,l,ae,oe,q)||t!==null&&t.dependencies!==null&&Hl(t.dependencies))?(ne||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(l,oe,q),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(l,oe,q)),typeof h.componentDidUpdate=="function"&&(n.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof h.componentDidUpdate!="function"||b===t.memoizedProps&&ae===t.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||b===t.memoizedProps&&ae===t.memoizedState||(n.flags|=1024),n.memoizedProps=l,n.memoizedState=oe),h.props=l,h.state=oe,h.context=q,l=se):(typeof h.componentDidUpdate!="function"||b===t.memoizedProps&&ae===t.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||b===t.memoizedProps&&ae===t.memoizedState||(n.flags|=1024),l=!1)}return h=l,as(t,n),l=(n.flags&128)!==0,h||l?(h=n.stateNode,o=l&&typeof o.getDerivedStateFromError!="function"?null:h.render(),n.flags|=1,t!==null&&l?(n.child=ai(n,t.child,null,f),n.child=ai(n,null,o,f)):vt(t,n,o,f),n.memoizedState=h.state,t=n.child):t=Fn(t,n,f),t}function kp(t,n,o,l){return Qa(),n.flags|=256,vt(t,n,o,l),n.child}var od={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function rd(t){return{baseLanes:t,cachePool:Eh()}}function ld(t,n,o){return t=t!==null?t.childLanes&~o:0,n&&(t|=Ft),t}function Lp(t,n,o){var l=n.pendingProps,f=!1,h=(n.flags&128)!==0,b;if((b=h)||(b=t!==null&&t.memoizedState===null?!1:(it.current&2)!==0),b&&(f=!0,n.flags&=-129),b=(n.flags&32)!==0,n.flags&=-33,t===null){if(Ie){if(f?va(n):xa(),(t=Ke)?(t=Vg(t,en),t=t!==null&&t.data!=="&"?t:null,t!==null&&(n.memoizedState={dehydrated:t,treeContext:da!==null?{id:bn,overflow:Sn}:null,retryLane:536870912,hydrationErrors:null},o=gh(t),o.return=n,n.child=o,gt=n,Ke=null)):t=null,t===null)throw ma(n);return Pd(t)?n.lanes=32:n.lanes=536870912,null}var T=l.children;return l=l.fallback,f?(xa(),f=n.mode,T=is({mode:"hidden",children:T},f),l=Za(l,f,o,null),T.return=n,l.return=n,T.sibling=l,n.child=T,l=n.child,l.memoizedState=rd(o),l.childLanes=ld(t,b,o),n.memoizedState=od,cr(null,l)):(va(n),sd(n,T))}var q=t.memoizedState;if(q!==null&&(T=q.dehydrated,T!==null)){if(h)n.flags&256?(va(n),n.flags&=-257,n=cd(t,n,o)):n.memoizedState!==null?(xa(),n.child=t.child,n.flags|=128,n=null):(xa(),T=l.fallback,f=n.mode,l=is({mode:"visible",children:l.children},f),T=Za(T,f,o,null),T.flags|=2,l.return=n,T.return=n,l.sibling=T,n.child=l,ai(n,t.child,null,o),l=n.child,l.memoizedState=rd(o),l.childLanes=ld(t,b,o),n.memoizedState=od,n=cr(null,l));else if(va(n),Pd(T)){if(b=T.nextSibling&&T.nextSibling.dataset,b)var ne=b.dgst;b=ne,l=Error(r(419)),l.stack="",l.digest=b,Qo({value:l,source:null,stack:null}),n=cd(t,n,o)}else if(ut||Yi(t,n,o,!1),b=(o&t.childLanes)!==0,ut||b){if(b=Xe,b!==null&&(l=hl(b,o),l!==0&&l!==q.retryLane))throw q.retryLane=l,Ka(t,l),Ot(b,t,l),ad;Gd(T)||ms(),n=cd(t,n,o)}else Gd(T)?(n.flags|=192,n.child=t.child,n=null):(t=q.treeContext,Ke=nn(T.nextSibling),gt=n,Ie=!0,fa=null,en=!1,t!==null&&xh(n,t),n=sd(n,l.children),n.flags|=4096);return n}return f?(xa(),T=l.fallback,f=n.mode,q=t.child,ne=q.sibling,l=Hn(q,{mode:"hidden",children:l.children}),l.subtreeFlags=q.subtreeFlags&65011712,ne!==null?T=Hn(ne,T):(T=Za(T,f,o,null),T.flags|=2),T.return=n,l.return=n,l.sibling=T,n.child=l,cr(null,l),l=n.child,T=t.child.memoizedState,T===null?T=rd(o):(f=T.cachePool,f!==null?(q=st._currentValue,f=f.parent!==q?{parent:q,pool:q}:f):f=Eh(),T={baseLanes:T.baseLanes|o,cachePool:f}),l.memoizedState=T,l.childLanes=ld(t,b,o),n.memoizedState=od,cr(t.child,l)):(va(n),o=t.child,t=o.sibling,o=Hn(o,{mode:"visible",children:l.children}),o.return=n,o.sibling=null,t!==null&&(b=n.deletions,b===null?(n.deletions=[t],n.flags|=16):b.push(t)),n.child=o,n.memoizedState=null,o)}function sd(t,n){return n=is({mode:"visible",children:n},t.mode),n.return=t,t.child=n}function is(t,n){return t=Ut(22,t,null,n),t.lanes=0,t}function cd(t,n,o){return ai(n,t.child,null,o),t=sd(n,n.pendingProps.children),t.flags|=2,n.memoizedState=null,t}function Hp(t,n,o){t.lanes|=n;var l=t.alternate;l!==null&&(l.lanes|=n),Nu(t.return,n,o)}function ud(t,n,o,l,f,h){var b=t.memoizedState;b===null?t.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:l,tail:o,tailMode:f,treeForkCount:h}:(b.isBackwards=n,b.rendering=null,b.renderingStartTime=0,b.last=l,b.tail=o,b.tailMode=f,b.treeForkCount=h)}function Bp(t,n,o){var l=n.pendingProps,f=l.revealOrder,h=l.tail;l=l.children;var b=it.current,T=(b&2)!==0;if(T?(b=b&1|2,n.flags|=128):b&=1,Y(it,b),vt(t,n,l,o),l=Ie?Zo:0,!T&&t!==null&&(t.flags&128)!==0)e:for(t=n.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Hp(t,o,n);else if(t.tag===19)Hp(t,o,n);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break e;for(;t.sibling===null;){if(t.return===null||t.return===n)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(f){case"forwards":for(o=n.child,f=null;o!==null;)t=o.alternate,t!==null&&$l(t)===null&&(f=o),o=o.sibling;o=f,o===null?(f=n.child,n.child=null):(f=o.sibling,o.sibling=null),ud(n,!1,f,o,h,l);break;case"backwards":case"unstable_legacy-backwards":for(o=null,f=n.child,n.child=null;f!==null;){if(t=f.alternate,t!==null&&$l(t)===null){n.child=f;break}t=f.sibling,f.sibling=o,o=f,f=t}ud(n,!0,o,null,h,l);break;case"together":ud(n,!1,null,null,void 0,l);break;default:n.memoizedState=null}return n.child}function Fn(t,n,o){if(t!==null&&(n.dependencies=t.dependencies),wa|=n.lanes,(o&n.childLanes)===0)if(t!==null){if(Yi(t,n,o,!1),(o&n.childLanes)===0)return null}else return null;if(t!==null&&n.child!==t.child)throw Error(r(153));if(n.child!==null){for(t=n.child,o=Hn(t,t.pendingProps),n.child=o,o.return=n;t.sibling!==null;)t=t.sibling,o=o.sibling=Hn(t,t.pendingProps),o.return=n;o.sibling=null}return n.child}function dd(t,n){return(t.lanes&n)!==0?!0:(t=t.dependencies,!!(t!==null&&Hl(t)))}function gw(t,n,o){switch(n.tag){case 3:le(n,n.stateNode.containerInfo),ha(n,st,t.memoizedState.cache),Qa();break;case 27:case 5:he(n);break;case 4:le(n,n.stateNode.containerInfo);break;case 10:ha(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,ku(n),null;break;case 13:var l=n.memoizedState;if(l!==null)return l.dehydrated!==null?(va(n),n.flags|=128,null):(o&n.child.childLanes)!==0?Lp(t,n,o):(va(n),t=Fn(t,n,o),t!==null?t.sibling:null);va(n);break;case 19:var f=(t.flags&128)!==0;if(l=(o&n.childLanes)!==0,l||(Yi(t,n,o,!1),l=(o&n.childLanes)!==0),f){if(l)return Bp(t,n,o);n.flags|=128}if(f=n.memoizedState,f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),Y(it,it.current),l)break;return null;case 22:return n.lanes=0,Rp(t,n,o,n.pendingProps);case 24:ha(n,st,t.memoizedState.cache)}return Fn(t,n,o)}function Up(t,n,o){if(t!==null)if(t.memoizedProps!==n.pendingProps)ut=!0;else{if(!dd(t,o)&&(n.flags&128)===0)return ut=!1,gw(t,n,o);ut=(t.flags&131072)!==0}else ut=!1,Ie&&(n.flags&1048576)!==0&&vh(n,Zo,n.index);switch(n.lanes=0,n.tag){case 16:e:{var l=n.pendingProps;if(t=ti(n.elementType),n.type=t,typeof t=="function")gu(t)?(l=oi(t,l),n.tag=1,n=Ip(null,n,t,l,o)):(n.tag=0,n=id(null,n,t,l,o));else{if(t!=null){var f=t.$$typeof;if(f===w){n.tag=11,n=Mp(null,n,t,l,o);break e}else if(f===U){n.tag=14,n=Ap(null,n,t,l,o);break e}}throw n=k(t)||t,Error(r(306,n,""))}}return n;case 0:return id(t,n,n.type,n.pendingProps,o);case 1:return l=n.type,f=oi(l,n.pendingProps),Ip(t,n,l,f,o);case 3:e:{if(le(n,n.stateNode.containerInfo),t===null)throw Error(r(387));l=n.pendingProps;var h=n.memoizedState;f=h.element,Ru(t,n),ir(n,l,null,o);var b=n.memoizedState;if(l=b.cache,ha(n,st,l),l!==h.cache&&Eu(n,[st],o,!0),ar(),l=b.element,h.isDehydrated)if(h={element:l,isDehydrated:!1,cache:b.cache},n.updateQueue.baseState=h,n.memoizedState=h,n.flags&256){n=kp(t,n,l,o);break e}else if(l!==f){f=Qt(Error(r(424)),n),Qo(f),n=kp(t,n,l,o);break e}else for(t=n.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,Ke=nn(t.firstChild),gt=n,Ie=!0,fa=null,en=!0,o=Rh(n,null,l,o),n.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(Qa(),l===f){n=Fn(t,n,o);break e}vt(t,n,l,o)}n=n.child}return n;case 26:return as(t,n),t===null?(o=Qg(n.type,null,n.pendingProps,null))?n.memoizedState=o:Ie||(o=n.type,t=n.pendingProps,l=bs(me.current).createElement(o),l[mt]=n,l[bt]=t,xt(l,o,t),lt(l),n.stateNode=l):n.memoizedState=Qg(n.type,t.memoizedProps,n.pendingProps,t.memoizedState),null;case 27:return he(n),t===null&&Ie&&(l=n.stateNode=Xg(n.type,n.pendingProps,me.current),gt=n,en=!0,f=Ke,Ta(n.type)?(Fd=f,Ke=nn(l.firstChild)):Ke=f),vt(t,n,n.pendingProps.children,o),as(t,n),t===null&&(n.flags|=4194304),n.child;case 5:return t===null&&Ie&&((f=l=Ke)&&(l=$w(l,n.type,n.pendingProps,en),l!==null?(n.stateNode=l,gt=n,Ke=nn(l.firstChild),en=!1,f=!0):f=!1),f||ma(n)),he(n),f=n.type,h=n.pendingProps,b=t!==null?t.memoizedProps:null,l=h.children,Bd(f,h)?l=null:b!==null&&Bd(f,b)&&(n.flags|=32),n.memoizedState!==null&&(f=Hu(t,n,lw,null,null,o),Nr._currentValue=f),as(t,n),vt(t,n,l,o),n.child;case 6:return t===null&&Ie&&((t=o=Ke)&&(o=Yw(o,n.pendingProps,en),o!==null?(n.stateNode=o,gt=n,Ke=null,t=!0):t=!1),t||ma(n)),null;case 13:return Lp(t,n,o);case 4:return le(n,n.stateNode.containerInfo),l=n.pendingProps,t===null?n.child=ai(n,null,l,o):vt(t,n,l,o),n.child;case 11:return Mp(t,n,n.type,n.pendingProps,o);case 7:return vt(t,n,n.pendingProps,o),n.child;case 8:return vt(t,n,n.pendingProps.children,o),n.child;case 12:return vt(t,n,n.pendingProps.children,o),n.child;case 10:return l=n.pendingProps,ha(n,n.type,l.value),vt(t,n,l.children,o),n.child;case 9:return f=n.type._context,l=n.pendingProps.children,Wa(n),f=yt(f),l=l(f),n.flags|=1,vt(t,n,l,o),n.child;case 14:return Ap(t,n,n.type,n.pendingProps,o);case 15:return jp(t,n,n.type,n.pendingProps,o);case 19:return Bp(t,n,o);case 31:return pw(t,n,o);case 22:return Rp(t,n,o,n.pendingProps);case 24:return Wa(n),l=yt(st),t===null?(f=Mu(),f===null&&(f=Xe,h=Cu(),f.pooledCache=h,h.refCount++,h!==null&&(f.pooledCacheLanes|=o),f=h),n.memoizedState={parent:l,cache:f},ju(n),ha(n,st,f)):((t.lanes&o)!==0&&(Ru(t,n),ir(n,null,null,o),ar()),f=t.memoizedState,h=n.memoizedState,f.parent!==l?(f={parent:l,cache:l},n.memoizedState=f,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=f),ha(n,st,l)):(l=h.cache,ha(n,st,l),l!==f.cache&&Eu(n,[st],o,!0))),vt(t,n,n.pendingProps.children,o),n.child;case 29:throw n.pendingProps}throw Error(r(156,n.tag))}function Vn(t){t.flags|=4}function fd(t,n,o,l,f){if((n=(t.mode&32)!==0)&&(n=!1),n){if(t.flags|=16777216,(f&335544128)===f)if(t.stateNode.complete)t.flags|=8192;else if(mg())t.flags|=8192;else throw ni=Gl,Au}else t.flags&=-16777217}function qp(t,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!ny(n))if(mg())t.flags|=8192;else throw ni=Gl,Au}function os(t,n){n!==null&&(t.flags|=4),t.flags&16384&&(n=t.tag!==22?dl():536870912,t.lanes|=n,oo|=n)}function ur(t,n){if(!Ie)switch(t.tailMode){case"hidden":n=t.tail;for(var o=null;n!==null;)n.alternate!==null&&(o=n),n=n.sibling;o===null?t.tail=null:o.sibling=null;break;case"collapsed":o=t.tail;for(var l=null;o!==null;)o.alternate!==null&&(l=o),o=o.sibling;l===null?n||t.tail===null?t.tail=null:t.tail.sibling=null:l.sibling=null}}function Ze(t){var n=t.alternate!==null&&t.alternate.child===t.child,o=0,l=0;if(n)for(var f=t.child;f!==null;)o|=f.lanes|f.childLanes,l|=f.subtreeFlags&65011712,l|=f.flags&65011712,f.return=t,f=f.sibling;else for(f=t.child;f!==null;)o|=f.lanes|f.childLanes,l|=f.subtreeFlags,l|=f.flags,f.return=t,f=f.sibling;return t.subtreeFlags|=l,t.childLanes=o,n}function yw(t,n,o){var l=n.pendingProps;switch(bu(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ze(n),null;case 1:return Ze(n),null;case 3:return o=n.stateNode,l=null,t!==null&&(l=t.memoizedState.cache),n.memoizedState.cache!==l&&(n.flags|=2048),qn(st),fe(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(t===null||t.child===null)&&($i(n)?Vn(n):t===null||t.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,wu())),Ze(n),null;case 26:var f=n.type,h=n.memoizedState;return t===null?(Vn(n),h!==null?(Ze(n),qp(n,h)):(Ze(n),fd(n,f,null,l,o))):h?h!==t.memoizedState?(Vn(n),Ze(n),qp(n,h)):(Ze(n),n.flags&=-16777217):(t=t.memoizedProps,t!==l&&Vn(n),Ze(n),fd(n,f,t,l,o)),null;case 27:if(Se(n),o=me.current,f=n.type,t!==null&&n.stateNode!=null)t.memoizedProps!==l&&Vn(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return Ze(n),null}t=te.current,$i(n)?bh(n):(t=Xg(f,l,o),n.stateNode=t,Vn(n))}return Ze(n),null;case 5:if(Se(n),f=n.type,t!==null&&n.stateNode!=null)t.memoizedProps!==l&&Vn(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return Ze(n),null}if(h=te.current,$i(n))bh(n);else{var b=bs(me.current);switch(h){case 1:h=b.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:h=b.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":h=b.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":h=b.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":h=b.createElement("div"),h.innerHTML="<script><\/script>",h=h.removeChild(h.firstChild);break;case"select":h=typeof l.is=="string"?b.createElement("select",{is:l.is}):b.createElement("select"),l.multiple?h.multiple=!0:l.size&&(h.size=l.size);break;default:h=typeof l.is=="string"?b.createElement(f,{is:l.is}):b.createElement(f)}}h[mt]=n,h[bt]=l;e:for(b=n.child;b!==null;){if(b.tag===5||b.tag===6)h.appendChild(b.stateNode);else if(b.tag!==4&&b.tag!==27&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===n)break e;for(;b.sibling===null;){if(b.return===null||b.return===n)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}n.stateNode=h;e:switch(xt(h,f,l),f){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Vn(n)}}return Ze(n),fd(n,n.type,t===null?null:t.memoizedProps,n.pendingProps,o),null;case 6:if(t&&n.stateNode!=null)t.memoizedProps!==l&&Vn(n);else{if(typeof l!="string"&&n.stateNode===null)throw Error(r(166));if(t=me.current,$i(n)){if(t=n.stateNode,o=n.memoizedProps,l=null,f=gt,f!==null)switch(f.tag){case 27:case 5:l=f.memoizedProps}t[mt]=n,t=!!(t.nodeValue===o||l!==null&&l.suppressHydrationWarning===!0||Lg(t.nodeValue,o)),t||ma(n,!0)}else t=bs(t).createTextNode(l),t[mt]=n,n.stateNode=t}return Ze(n),null;case 31:if(o=n.memoizedState,t===null||t.memoizedState!==null){if(l=$i(n),o!==null){if(t===null){if(!l)throw Error(r(318));if(t=n.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[mt]=n}else Qa(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ze(n),t=!1}else o=wu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=o),t=!0;if(!t)return n.flags&256?(Gt(n),n):(Gt(n),null);if((n.flags&128)!==0)throw Error(r(558))}return Ze(n),null;case 13:if(l=n.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(f=$i(n),l!==null&&l.dehydrated!==null){if(t===null){if(!f)throw Error(r(318));if(f=n.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(r(317));f[mt]=n}else Qa(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Ze(n),f=!1}else f=wu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=f),f=!0;if(!f)return n.flags&256?(Gt(n),n):(Gt(n),null)}return Gt(n),(n.flags&128)!==0?(n.lanes=o,n):(o=l!==null,t=t!==null&&t.memoizedState!==null,o&&(l=n.child,f=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(f=l.alternate.memoizedState.cachePool.pool),h=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(h=l.memoizedState.cachePool.pool),h!==f&&(l.flags|=2048)),o!==t&&o&&(n.child.flags|=8192),os(n,n.updateQueue),Ze(n),null);case 4:return fe(),t===null&&Od(n.stateNode.containerInfo),Ze(n),null;case 10:return qn(n.type),Ze(n),null;case 19:if(P(it),l=n.memoizedState,l===null)return Ze(n),null;if(f=(n.flags&128)!==0,h=l.rendering,h===null)if(f)ur(l,!1);else{if(at!==0||t!==null&&(t.flags&128)!==0)for(t=n.child;t!==null;){if(h=$l(t),h!==null){for(n.flags|=128,ur(l,!1),t=h.updateQueue,n.updateQueue=t,os(n,t),n.subtreeFlags=0,t=o,o=n.child;o!==null;)ph(o,t),o=o.sibling;return Y(it,it.current&1|2),Ie&&Bn(n,l.treeForkCount),n.child}t=t.sibling}l.tail!==null&&et()>us&&(n.flags|=128,f=!0,ur(l,!1),n.lanes=4194304)}else{if(!f)if(t=$l(h),t!==null){if(n.flags|=128,f=!0,t=t.updateQueue,n.updateQueue=t,os(n,t),ur(l,!0),l.tail===null&&l.tailMode==="hidden"&&!h.alternate&&!Ie)return Ze(n),null}else 2*et()-l.renderingStartTime>us&&o!==536870912&&(n.flags|=128,f=!0,ur(l,!1),n.lanes=4194304);l.isBackwards?(h.sibling=n.child,n.child=h):(t=l.last,t!==null?t.sibling=h:n.child=h,l.last=h)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=et(),t.sibling=null,o=it.current,Y(it,f?o&1|2:o&1),Ie&&Bn(n,l.treeForkCount),t):(Ze(n),null);case 22:case 23:return Gt(n),Iu(),l=n.memoizedState!==null,t!==null?t.memoizedState!==null!==l&&(n.flags|=8192):l&&(n.flags|=8192),l?(o&536870912)!==0&&(n.flags&128)===0&&(Ze(n),n.subtreeFlags&6&&(n.flags|=8192)):Ze(n),o=n.updateQueue,o!==null&&os(n,o.retryQueue),o=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),l=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),l!==o&&(n.flags|=2048),t!==null&&P(ei),null;case 24:return o=null,t!==null&&(o=t.memoizedState.cache),n.memoizedState.cache!==o&&(n.flags|=2048),qn(st),Ze(n),null;case 25:return null;case 30:return null}throw Error(r(156,n.tag))}function vw(t,n){switch(bu(n),n.tag){case 1:return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 3:return qn(st),fe(),t=n.flags,(t&65536)!==0&&(t&128)===0?(n.flags=t&-65537|128,n):null;case 26:case 27:case 5:return Se(n),null;case 31:if(n.memoizedState!==null){if(Gt(n),n.alternate===null)throw Error(r(340));Qa()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 13:if(Gt(n),t=n.memoizedState,t!==null&&t.dehydrated!==null){if(n.alternate===null)throw Error(r(340));Qa()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 19:return P(it),null;case 4:return fe(),null;case 10:return qn(n.type),null;case 22:case 23:return Gt(n),Iu(),t!==null&&P(ei),t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 24:return qn(st),null;case 25:return null;default:return null}}function Gp(t,n){switch(bu(n),n.tag){case 3:qn(st),fe();break;case 26:case 27:case 5:Se(n);break;case 4:fe();break;case 31:n.memoizedState!==null&&Gt(n);break;case 13:Gt(n);break;case 19:P(it);break;case 10:qn(n.type);break;case 22:case 23:Gt(n),Iu(),t!==null&&P(ei);break;case 24:qn(st)}}function dr(t,n){try{var o=n.updateQueue,l=o!==null?o.lastEffect:null;if(l!==null){var f=l.next;o=f;do{if((o.tag&t)===t){l=void 0;var h=o.create,b=o.inst;l=h(),b.destroy=l}o=o.next}while(o!==f)}}catch(T){Pe(n,n.return,T)}}function ba(t,n,o){try{var l=n.updateQueue,f=l!==null?l.lastEffect:null;if(f!==null){var h=f.next;l=h;do{if((l.tag&t)===t){var b=l.inst,T=b.destroy;if(T!==void 0){b.destroy=void 0,f=n;var q=o,ne=T;try{ne()}catch(se){Pe(f,q,se)}}}l=l.next}while(l!==h)}}catch(se){Pe(n,n.return,se)}}function Pp(t){var n=t.updateQueue;if(n!==null){var o=t.stateNode;try{zh(n,o)}catch(l){Pe(t,t.return,l)}}}function Fp(t,n,o){o.props=oi(t.type,t.memoizedProps),o.state=t.memoizedState;try{o.componentWillUnmount()}catch(l){Pe(t,n,l)}}function fr(t,n){try{var o=t.ref;if(o!==null){switch(t.tag){case 26:case 27:case 5:var l=t.stateNode;break;case 30:l=t.stateNode;break;default:l=t.stateNode}typeof o=="function"?t.refCleanup=o(l):o.current=l}}catch(f){Pe(t,n,f)}}function wn(t,n){var o=t.ref,l=t.refCleanup;if(o!==null)if(typeof l=="function")try{l()}catch(f){Pe(t,n,f)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof o=="function")try{o(null)}catch(f){Pe(t,n,f)}else o.current=null}function Vp(t){var n=t.type,o=t.memoizedProps,l=t.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":o.autoFocus&&l.focus();break e;case"img":o.src?l.src=o.src:o.srcSet&&(l.srcset=o.srcSet)}}catch(f){Pe(t,t.return,f)}}function md(t,n,o){try{var l=t.stateNode;Uw(l,t.type,o,n),l[bt]=n}catch(f){Pe(t,t.return,f)}}function $p(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ta(t.type)||t.tag===4}function hd(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||$p(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ta(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function pd(t,n,o){var l=t.tag;if(l===5||l===6)t=t.stateNode,n?(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o).insertBefore(t,n):(n=o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,n.appendChild(t),o=o._reactRootContainer,o!=null||n.onclick!==null||(n.onclick=kn));else if(l!==4&&(l===27&&Ta(t.type)&&(o=t.stateNode,n=null),t=t.child,t!==null))for(pd(t,n,o),t=t.sibling;t!==null;)pd(t,n,o),t=t.sibling}function rs(t,n,o){var l=t.tag;if(l===5||l===6)t=t.stateNode,n?o.insertBefore(t,n):o.appendChild(t);else if(l!==4&&(l===27&&Ta(t.type)&&(o=t.stateNode),t=t.child,t!==null))for(rs(t,n,o),t=t.sibling;t!==null;)rs(t,n,o),t=t.sibling}function Yp(t){var n=t.stateNode,o=t.memoizedProps;try{for(var l=t.type,f=n.attributes;f.length;)n.removeAttributeNode(f[0]);xt(n,l,o),n[mt]=t,n[bt]=o}catch(h){Pe(t,t.return,h)}}var $n=!1,dt=!1,gd=!1,Xp=typeof WeakSet=="function"?WeakSet:Set,pt=null;function xw(t,n){if(t=t.containerInfo,Ld=Ts,t=rh(t),cu(t)){if("selectionStart"in t)var o={start:t.selectionStart,end:t.selectionEnd};else e:{o=(o=t.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var f=l.anchorOffset,h=l.focusNode;l=l.focusOffset;try{o.nodeType,h.nodeType}catch{o=null;break e}var b=0,T=-1,q=-1,ne=0,se=0,ue=t,ae=null;t:for(;;){for(var oe;ue!==o||f!==0&&ue.nodeType!==3||(T=b+f),ue!==h||l!==0&&ue.nodeType!==3||(q=b+l),ue.nodeType===3&&(b+=ue.nodeValue.length),(oe=ue.firstChild)!==null;)ae=ue,ue=oe;for(;;){if(ue===t)break t;if(ae===o&&++ne===f&&(T=b),ae===h&&++se===l&&(q=b),(oe=ue.nextSibling)!==null)break;ue=ae,ae=ue.parentNode}ue=oe}o=T===-1||q===-1?null:{start:T,end:q}}else o=null}o=o||{start:0,end:0}}else o=null;for(Hd={focusedElem:t,selectionRange:o},Ts=!1,pt=n;pt!==null;)if(n=pt,t=n.child,(n.subtreeFlags&1028)!==0&&t!==null)t.return=n,pt=t;else for(;pt!==null;){switch(n=pt,h=n.alternate,t=n.flags,n.tag){case 0:if((t&4)!==0&&(t=n.updateQueue,t=t!==null?t.events:null,t!==null))for(o=0;o<t.length;o++)f=t[o],f.ref.impl=f.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&h!==null){t=void 0,o=n,f=h.memoizedProps,h=h.memoizedState,l=o.stateNode;try{var ye=oi(o.type,f);t=l.getSnapshotBeforeUpdate(ye,h),l.__reactInternalSnapshotBeforeUpdate=t}catch(Ee){Pe(o,o.return,Ee)}}break;case 3:if((t&1024)!==0){if(t=n.stateNode.containerInfo,o=t.nodeType,o===9)qd(t);else if(o===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":qd(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(r(163))}if(t=n.sibling,t!==null){t.return=n.return,pt=t;break}pt=n.return}}function Kp(t,n,o){var l=o.flags;switch(o.tag){case 0:case 11:case 15:Xn(t,o),l&4&&dr(5,o);break;case 1:if(Xn(t,o),l&4)if(t=o.stateNode,n===null)try{t.componentDidMount()}catch(b){Pe(o,o.return,b)}else{var f=oi(o.type,n.memoizedProps);n=n.memoizedState;try{t.componentDidUpdate(f,n,t.__reactInternalSnapshotBeforeUpdate)}catch(b){Pe(o,o.return,b)}}l&64&&Pp(o),l&512&&fr(o,o.return);break;case 3:if(Xn(t,o),l&64&&(t=o.updateQueue,t!==null)){if(n=null,o.child!==null)switch(o.child.tag){case 27:case 5:n=o.child.stateNode;break;case 1:n=o.child.stateNode}try{zh(t,n)}catch(b){Pe(o,o.return,b)}}break;case 27:n===null&&l&4&&Yp(o);case 26:case 5:Xn(t,o),n===null&&l&4&&Vp(o),l&512&&fr(o,o.return);break;case 12:Xn(t,o);break;case 31:Xn(t,o),l&4&&Jp(t,o);break;case 13:Xn(t,o),l&4&&Wp(t,o),l&64&&(t=o.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(o=Mw.bind(null,o),Xw(t,o))));break;case 22:if(l=o.memoizedState!==null||$n,!l){n=n!==null&&n.memoizedState!==null||dt,f=$n;var h=dt;$n=l,(dt=n)&&!h?Kn(t,o,(o.subtreeFlags&8772)!==0):Xn(t,o),$n=f,dt=h}break;case 30:break;default:Xn(t,o)}}function Zp(t){var n=t.alternate;n!==null&&(t.alternate=null,Zp(n)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(n=t.stateNode,n!==null&&Ho(n)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var Qe=null,jt=!1;function Yn(t,n,o){for(o=o.child;o!==null;)Qp(t,n,o),o=o.sibling}function Qp(t,n,o){if(Nt&&typeof Nt.onCommitFiberUnmount=="function")try{Nt.onCommitFiberUnmount(Rn,o)}catch{}switch(o.tag){case 26:dt||wn(o,n),Yn(t,n,o),o.memoizedState?o.memoizedState.count--:o.stateNode&&(o=o.stateNode,o.parentNode.removeChild(o));break;case 27:dt||wn(o,n);var l=Qe,f=jt;Ta(o.type)&&(Qe=o.stateNode,jt=!1),Yn(t,n,o),Sr(o.stateNode),Qe=l,jt=f;break;case 5:dt||wn(o,n);case 6:if(l=Qe,f=jt,Qe=null,Yn(t,n,o),Qe=l,jt=f,Qe!==null)if(jt)try{(Qe.nodeType===9?Qe.body:Qe.nodeName==="HTML"?Qe.ownerDocument.body:Qe).removeChild(o.stateNode)}catch(h){Pe(o,n,h)}else try{Qe.removeChild(o.stateNode)}catch(h){Pe(o,n,h)}break;case 18:Qe!==null&&(jt?(t=Qe,Pg(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,o.stateNode),ho(t)):Pg(Qe,o.stateNode));break;case 4:l=Qe,f=jt,Qe=o.stateNode.containerInfo,jt=!0,Yn(t,n,o),Qe=l,jt=f;break;case 0:case 11:case 14:case 15:ba(2,o,n),dt||ba(4,o,n),Yn(t,n,o);break;case 1:dt||(wn(o,n),l=o.stateNode,typeof l.componentWillUnmount=="function"&&Fp(o,n,l)),Yn(t,n,o);break;case 21:Yn(t,n,o);break;case 22:dt=(l=dt)||o.memoizedState!==null,Yn(t,n,o),dt=l;break;default:Yn(t,n,o)}}function Jp(t,n){if(n.memoizedState===null&&(t=n.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{ho(t)}catch(o){Pe(n,n.return,o)}}}function Wp(t,n){if(n.memoizedState===null&&(t=n.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{ho(t)}catch(o){Pe(n,n.return,o)}}function bw(t){switch(t.tag){case 31:case 13:case 19:var n=t.stateNode;return n===null&&(n=t.stateNode=new Xp),n;case 22:return t=t.stateNode,n=t._retryCache,n===null&&(n=t._retryCache=new Xp),n;default:throw Error(r(435,t.tag))}}function ls(t,n){var o=bw(t);n.forEach(function(l){if(!o.has(l)){o.add(l);var f=Aw.bind(null,t,l);l.then(f,f)}})}function Rt(t,n){var o=n.deletions;if(o!==null)for(var l=0;l<o.length;l++){var f=o[l],h=t,b=n,T=b;e:for(;T!==null;){switch(T.tag){case 27:if(Ta(T.type)){Qe=T.stateNode,jt=!1;break e}break;case 5:Qe=T.stateNode,jt=!1;break e;case 3:case 4:Qe=T.stateNode.containerInfo,jt=!0;break e}T=T.return}if(Qe===null)throw Error(r(160));Qp(h,b,f),Qe=null,jt=!1,h=f.alternate,h!==null&&(h.return=null),f.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)eg(n,t),n=n.sibling}var cn=null;function eg(t,n){var o=t.alternate,l=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Rt(n,t),Dt(t),l&4&&(ba(3,t,t.return),dr(3,t),ba(5,t,t.return));break;case 1:Rt(n,t),Dt(t),l&512&&(dt||o===null||wn(o,o.return)),l&64&&$n&&(t=t.updateQueue,t!==null&&(l=t.callbacks,l!==null&&(o=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=o===null?l:o.concat(l))));break;case 26:var f=cn;if(Rt(n,t),Dt(t),l&512&&(dt||o===null||wn(o,o.return)),l&4){var h=o!==null?o.memoizedState:null;if(l=t.memoizedState,o===null)if(l===null)if(t.stateNode===null){e:{l=t.type,o=t.memoizedProps,f=f.ownerDocument||f;t:switch(l){case"title":h=f.getElementsByTagName("title")[0],(!h||h[Pa]||h[mt]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=f.createElement(l),f.head.insertBefore(h,f.querySelector("head > title"))),xt(h,l,o),h[mt]=t,lt(h),l=h;break e;case"link":var b=ey("link","href",f).get(l+(o.href||""));if(b){for(var T=0;T<b.length;T++)if(h=b[T],h.getAttribute("href")===(o.href==null||o.href===""?null:o.href)&&h.getAttribute("rel")===(o.rel==null?null:o.rel)&&h.getAttribute("title")===(o.title==null?null:o.title)&&h.getAttribute("crossorigin")===(o.crossOrigin==null?null:o.crossOrigin)){b.splice(T,1);break t}}h=f.createElement(l),xt(h,l,o),f.head.appendChild(h);break;case"meta":if(b=ey("meta","content",f).get(l+(o.content||""))){for(T=0;T<b.length;T++)if(h=b[T],h.getAttribute("content")===(o.content==null?null:""+o.content)&&h.getAttribute("name")===(o.name==null?null:o.name)&&h.getAttribute("property")===(o.property==null?null:o.property)&&h.getAttribute("http-equiv")===(o.httpEquiv==null?null:o.httpEquiv)&&h.getAttribute("charset")===(o.charSet==null?null:o.charSet)){b.splice(T,1);break t}}h=f.createElement(l),xt(h,l,o),f.head.appendChild(h);break;default:throw Error(r(468,l))}h[mt]=t,lt(h),l=h}t.stateNode=l}else ty(f,t.type,t.stateNode);else t.stateNode=Wg(f,l,t.memoizedProps);else h!==l?(h===null?o.stateNode!==null&&(o=o.stateNode,o.parentNode.removeChild(o)):h.count--,l===null?ty(f,t.type,t.stateNode):Wg(f,l,t.memoizedProps)):l===null&&t.stateNode!==null&&md(t,t.memoizedProps,o.memoizedProps)}break;case 27:Rt(n,t),Dt(t),l&512&&(dt||o===null||wn(o,o.return)),o!==null&&l&4&&md(t,t.memoizedProps,o.memoizedProps);break;case 5:if(Rt(n,t),Dt(t),l&512&&(dt||o===null||wn(o,o.return)),t.flags&32){f=t.stateNode;try{ki(f,"")}catch(ye){Pe(t,t.return,ye)}}l&4&&t.stateNode!=null&&(f=t.memoizedProps,md(t,f,o!==null?o.memoizedProps:f)),l&1024&&(gd=!0);break;case 6:if(Rt(n,t),Dt(t),l&4){if(t.stateNode===null)throw Error(r(162));l=t.memoizedProps,o=t.stateNode;try{o.nodeValue=l}catch(ye){Pe(t,t.return,ye)}}break;case 3:if(_s=null,f=cn,cn=Ss(n.containerInfo),Rt(n,t),cn=f,Dt(t),l&4&&o!==null&&o.memoizedState.isDehydrated)try{ho(n.containerInfo)}catch(ye){Pe(t,t.return,ye)}gd&&(gd=!1,tg(t));break;case 4:l=cn,cn=Ss(t.stateNode.containerInfo),Rt(n,t),Dt(t),cn=l;break;case 12:Rt(n,t),Dt(t);break;case 31:Rt(n,t),Dt(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,ls(t,l)));break;case 13:Rt(n,t),Dt(t),t.child.flags&8192&&t.memoizedState!==null!=(o!==null&&o.memoizedState!==null)&&(cs=et()),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,ls(t,l)));break;case 22:f=t.memoizedState!==null;var q=o!==null&&o.memoizedState!==null,ne=$n,se=dt;if($n=ne||f,dt=se||q,Rt(n,t),dt=se,$n=ne,Dt(t),l&8192)e:for(n=t.stateNode,n._visibility=f?n._visibility&-2:n._visibility|1,f&&(o===null||q||$n||dt||ri(t)),o=null,n=t;;){if(n.tag===5||n.tag===26){if(o===null){q=o=n;try{if(h=q.stateNode,f)b=h.style,typeof b.setProperty=="function"?b.setProperty("display","none","important"):b.display="none";else{T=q.stateNode;var ue=q.memoizedProps.style,ae=ue!=null&&ue.hasOwnProperty("display")?ue.display:null;T.style.display=ae==null||typeof ae=="boolean"?"":(""+ae).trim()}}catch(ye){Pe(q,q.return,ye)}}}else if(n.tag===6){if(o===null){q=n;try{q.stateNode.nodeValue=f?"":q.memoizedProps}catch(ye){Pe(q,q.return,ye)}}}else if(n.tag===18){if(o===null){q=n;try{var oe=q.stateNode;f?Fg(oe,!0):Fg(q.stateNode,!1)}catch(ye){Pe(q,q.return,ye)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===t)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break e;for(;n.sibling===null;){if(n.return===null||n.return===t)break e;o===n&&(o=null),n=n.return}o===n&&(o=null),n.sibling.return=n.return,n=n.sibling}l&4&&(l=t.updateQueue,l!==null&&(o=l.retryQueue,o!==null&&(l.retryQueue=null,ls(t,o))));break;case 19:Rt(n,t),Dt(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,ls(t,l)));break;case 30:break;case 21:break;default:Rt(n,t),Dt(t)}}function Dt(t){var n=t.flags;if(n&2){try{for(var o,l=t.return;l!==null;){if($p(l)){o=l;break}l=l.return}if(o==null)throw Error(r(160));switch(o.tag){case 27:var f=o.stateNode,h=hd(t);rs(t,h,f);break;case 5:var b=o.stateNode;o.flags&32&&(ki(b,""),o.flags&=-33);var T=hd(t);rs(t,T,b);break;case 3:case 4:var q=o.stateNode.containerInfo,ne=hd(t);pd(t,ne,q);break;default:throw Error(r(161))}}catch(se){Pe(t,t.return,se)}t.flags&=-3}n&4096&&(t.flags&=-4097)}function tg(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var n=t;tg(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),t=t.sibling}}function Xn(t,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)Kp(t,n.alternate,n),n=n.sibling}function ri(t){for(t=t.child;t!==null;){var n=t;switch(n.tag){case 0:case 11:case 14:case 15:ba(4,n,n.return),ri(n);break;case 1:wn(n,n.return);var o=n.stateNode;typeof o.componentWillUnmount=="function"&&Fp(n,n.return,o),ri(n);break;case 27:Sr(n.stateNode);case 26:case 5:wn(n,n.return),ri(n);break;case 22:n.memoizedState===null&&ri(n);break;case 30:ri(n);break;default:ri(n)}t=t.sibling}}function Kn(t,n,o){for(o=o&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var l=n.alternate,f=t,h=n,b=h.flags;switch(h.tag){case 0:case 11:case 15:Kn(f,h,o),dr(4,h);break;case 1:if(Kn(f,h,o),l=h,f=l.stateNode,typeof f.componentDidMount=="function")try{f.componentDidMount()}catch(ne){Pe(l,l.return,ne)}if(l=h,f=l.updateQueue,f!==null){var T=l.stateNode;try{var q=f.shared.hiddenCallbacks;if(q!==null)for(f.shared.hiddenCallbacks=null,f=0;f<q.length;f++)Dh(q[f],T)}catch(ne){Pe(l,l.return,ne)}}o&&b&64&&Pp(h),fr(h,h.return);break;case 27:Yp(h);case 26:case 5:Kn(f,h,o),o&&l===null&&b&4&&Vp(h),fr(h,h.return);break;case 12:Kn(f,h,o);break;case 31:Kn(f,h,o),o&&b&4&&Jp(f,h);break;case 13:Kn(f,h,o),o&&b&4&&Wp(f,h);break;case 22:h.memoizedState===null&&Kn(f,h,o),fr(h,h.return);break;case 30:break;default:Kn(f,h,o)}n=n.sibling}}function yd(t,n){var o=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),t=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(t=n.memoizedState.cachePool.pool),t!==o&&(t!=null&&t.refCount++,o!=null&&Jo(o))}function vd(t,n){t=null,n.alternate!==null&&(t=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==t&&(n.refCount++,t!=null&&Jo(t))}function un(t,n,o,l){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)ng(t,n,o,l),n=n.sibling}function ng(t,n,o,l){var f=n.flags;switch(n.tag){case 0:case 11:case 15:un(t,n,o,l),f&2048&&dr(9,n);break;case 1:un(t,n,o,l);break;case 3:un(t,n,o,l),f&2048&&(t=null,n.alternate!==null&&(t=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==t&&(n.refCount++,t!=null&&Jo(t)));break;case 12:if(f&2048){un(t,n,o,l),t=n.stateNode;try{var h=n.memoizedProps,b=h.id,T=h.onPostCommit;typeof T=="function"&&T(b,n.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(q){Pe(n,n.return,q)}}else un(t,n,o,l);break;case 31:un(t,n,o,l);break;case 13:un(t,n,o,l);break;case 23:break;case 22:h=n.stateNode,b=n.alternate,n.memoizedState!==null?h._visibility&2?un(t,n,o,l):mr(t,n):h._visibility&2?un(t,n,o,l):(h._visibility|=2,no(t,n,o,l,(n.subtreeFlags&10256)!==0||!1)),f&2048&&yd(b,n);break;case 24:un(t,n,o,l),f&2048&&vd(n.alternate,n);break;default:un(t,n,o,l)}}function no(t,n,o,l,f){for(f=f&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var h=t,b=n,T=o,q=l,ne=b.flags;switch(b.tag){case 0:case 11:case 15:no(h,b,T,q,f),dr(8,b);break;case 23:break;case 22:var se=b.stateNode;b.memoizedState!==null?se._visibility&2?no(h,b,T,q,f):mr(h,b):(se._visibility|=2,no(h,b,T,q,f)),f&&ne&2048&&yd(b.alternate,b);break;case 24:no(h,b,T,q,f),f&&ne&2048&&vd(b.alternate,b);break;default:no(h,b,T,q,f)}n=n.sibling}}function mr(t,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var o=t,l=n,f=l.flags;switch(l.tag){case 22:mr(o,l),f&2048&&yd(l.alternate,l);break;case 24:mr(o,l),f&2048&&vd(l.alternate,l);break;default:mr(o,l)}n=n.sibling}}var hr=8192;function ao(t,n,o){if(t.subtreeFlags&hr)for(t=t.child;t!==null;)ag(t,n,o),t=t.sibling}function ag(t,n,o){switch(t.tag){case 26:ao(t,n,o),t.flags&hr&&t.memoizedState!==null&&r1(o,cn,t.memoizedState,t.memoizedProps);break;case 5:ao(t,n,o);break;case 3:case 4:var l=cn;cn=Ss(t.stateNode.containerInfo),ao(t,n,o),cn=l;break;case 22:t.memoizedState===null&&(l=t.alternate,l!==null&&l.memoizedState!==null?(l=hr,hr=16777216,ao(t,n,o),hr=l):ao(t,n,o));break;default:ao(t,n,o)}}function ig(t){var n=t.alternate;if(n!==null&&(t=n.child,t!==null)){n.child=null;do n=t.sibling,t.sibling=null,t=n;while(t!==null)}}function pr(t){var n=t.deletions;if((t.flags&16)!==0){if(n!==null)for(var o=0;o<n.length;o++){var l=n[o];pt=l,rg(l,t)}ig(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)og(t),t=t.sibling}function og(t){switch(t.tag){case 0:case 11:case 15:pr(t),t.flags&2048&&ba(9,t,t.return);break;case 3:pr(t);break;case 12:pr(t);break;case 22:var n=t.stateNode;t.memoizedState!==null&&n._visibility&2&&(t.return===null||t.return.tag!==13)?(n._visibility&=-3,ss(t)):pr(t);break;default:pr(t)}}function ss(t){var n=t.deletions;if((t.flags&16)!==0){if(n!==null)for(var o=0;o<n.length;o++){var l=n[o];pt=l,rg(l,t)}ig(t)}for(t=t.child;t!==null;){switch(n=t,n.tag){case 0:case 11:case 15:ba(8,n,n.return),ss(n);break;case 22:o=n.stateNode,o._visibility&2&&(o._visibility&=-3,ss(n));break;default:ss(n)}t=t.sibling}}function rg(t,n){for(;pt!==null;){var o=pt;switch(o.tag){case 0:case 11:case 15:ba(8,o,n);break;case 23:case 22:if(o.memoizedState!==null&&o.memoizedState.cachePool!==null){var l=o.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Jo(o.memoizedState.cache)}if(l=o.child,l!==null)l.return=o,pt=l;else e:for(o=t;pt!==null;){l=pt;var f=l.sibling,h=l.return;if(Zp(l),l===o){pt=null;break e}if(f!==null){f.return=h,pt=f;break e}pt=h}}}var Sw={getCacheForType:function(t){var n=yt(st),o=n.data.get(t);return o===void 0&&(o=t(),n.data.set(t,o)),o},cacheSignal:function(){return yt(st).controller.signal}},ww=typeof WeakMap=="function"?WeakMap:Map,Ue=0,Xe=null,Re=null,ze=0,Ge=0,Pt=null,Sa=!1,io=!1,xd=!1,Zn=0,at=0,wa=0,li=0,bd=0,Ft=0,oo=0,gr=null,zt=null,Sd=!1,cs=0,lg=0,us=1/0,ds=null,_a=null,ht=0,Na=null,ro=null,Qn=0,wd=0,_d=null,sg=null,yr=0,Nd=null;function Vt(){return(Ue&2)!==0&&ze!==0?ze&-ze:M.T!==null?jd():pl()}function cg(){if(Ft===0)if((ze&536870912)===0||Ie){var t=Ai;Ai<<=1,(Ai&3932160)===0&&(Ai=262144),Ft=t}else Ft=536870912;return t=qt.current,t!==null&&(t.flags|=32),Ft}function Ot(t,n,o){(t===Xe&&(Ge===2||Ge===9)||t.cancelPendingCommit!==null)&&(lo(t,0),Ea(t,ze,Ft,!1)),Ga(t,o),((Ue&2)===0||t!==Xe)&&(t===Xe&&((Ue&2)===0&&(li|=o),at===4&&Ea(t,ze,Ft,!1)),_n(t))}function ug(t,n,o){if((Ue&6)!==0)throw Error(r(327));var l=!o&&(n&127)===0&&(n&t.expiredLanes)===0||qa(t,n),f=l?Ew(t,n):Cd(t,n,!0),h=l;do{if(f===0){io&&!l&&Ea(t,n,0,!1);break}else{if(o=t.current.alternate,h&&!_w(o)){f=Cd(t,n,!1),h=!1;continue}if(f===2){if(h=n,t.errorRecoveryDisabledLanes&h)var b=0;else b=t.pendingLanes&-536870913,b=b!==0?b:b&536870912?536870912:0;if(b!==0){n=b;e:{var T=t;f=gr;var q=T.current.memoizedState.isDehydrated;if(q&&(lo(T,b).flags|=256),b=Cd(T,b,!1),b!==2){if(xd&&!q){T.errorRecoveryDisabledLanes|=h,li|=h,f=4;break e}h=zt,zt=f,h!==null&&(zt===null?zt=h:zt.push.apply(zt,h))}f=b}if(h=!1,f!==2)continue}}if(f===1){lo(t,0),Ea(t,n,0,!0);break}e:{switch(l=t,h=f,h){case 0:case 1:throw Error(r(345));case 4:if((n&4194048)!==n)break;case 6:Ea(l,n,Ft,!Sa);break e;case 2:zt=null;break;case 3:case 5:break;default:throw Error(r(329))}if((n&62914560)===n&&(f=cs+300-et(),10<f)){if(Ea(l,n,Ft,!Sa),Ri(l,0,!0)!==0)break e;Qn=n,l.timeoutHandle=qg(dg.bind(null,l,o,zt,ds,Sd,n,Ft,li,oo,Sa,h,"Throttled",-0,0),f);break e}dg(l,o,zt,ds,Sd,n,Ft,li,oo,Sa,h,null,-0,0)}}break}while(!0);_n(t)}function dg(t,n,o,l,f,h,b,T,q,ne,se,ue,ae,oe){if(t.timeoutHandle=-1,ue=n.subtreeFlags,ue&8192||(ue&16785408)===16785408){ue={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:kn},ag(n,h,ue);var ye=(h&62914560)===h?cs-et():(h&4194048)===h?lg-et():0;if(ye=l1(ue,ye),ye!==null){Qn=h,t.cancelPendingCommit=ye(xg.bind(null,t,n,h,o,l,f,b,T,q,se,ue,null,ae,oe)),Ea(t,h,b,!ne);return}}xg(t,n,h,o,l,f,b,T,q)}function _w(t){for(var n=t;;){var o=n.tag;if((o===0||o===11||o===15)&&n.flags&16384&&(o=n.updateQueue,o!==null&&(o=o.stores,o!==null)))for(var l=0;l<o.length;l++){var f=o[l],h=f.getSnapshot;f=f.value;try{if(!Bt(h(),f))return!1}catch{return!1}}if(o=n.child,n.subtreeFlags&16384&&o!==null)o.return=n,n=o;else{if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Ea(t,n,o,l){n&=~bd,n&=~li,t.suspendedLanes|=n,t.pingedLanes&=~n,l&&(t.warmLanes|=n),l=t.expirationTimes;for(var f=n;0<f;){var h=31-Et(f),b=1<<h;l[h]=-1,f&=~b}o!==0&&fl(t,o,n)}function fs(){return(Ue&6)===0?(vr(0),!1):!0}function Ed(){if(Re!==null){if(Ge===0)var t=Re.return;else t=Re,Un=Ja=null,qu(t),Qi=null,er=0,t=Re;for(;t!==null;)Gp(t.alternate,t),t=t.return;Re=null}}function lo(t,n){var o=t.timeoutHandle;o!==-1&&(t.timeoutHandle=-1,Pw(o)),o=t.cancelPendingCommit,o!==null&&(t.cancelPendingCommit=null,o()),Qn=0,Ed(),Xe=t,Re=o=Hn(t.current,null),ze=n,Ge=0,Pt=null,Sa=!1,io=qa(t,n),xd=!1,oo=Ft=bd=li=wa=at=0,zt=gr=null,Sd=!1,(n&8)!==0&&(n|=n&32);var l=t.entangledLanes;if(l!==0)for(t=t.entanglements,l&=n;0<l;){var f=31-Et(l),h=1<<f;n|=t[f],l&=~h}return Zn=n,zl(),o}function fg(t,n){Ae=null,M.H=sr,n===Zi||n===ql?(n=Mh(),Ge=3):n===Au?(n=Mh(),Ge=4):Ge=n===ad?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,Pt=n,Re===null&&(at=1,ts(t,Qt(n,t.current)))}function mg(){var t=qt.current;return t===null?!0:(ze&4194048)===ze?tn===null:(ze&62914560)===ze||(ze&536870912)!==0?t===tn:!1}function hg(){var t=M.H;return M.H=sr,t===null?sr:t}function pg(){var t=M.A;return M.A=Sw,t}function ms(){at=4,Sa||(ze&4194048)!==ze&&qt.current!==null||(io=!0),(wa&134217727)===0&&(li&134217727)===0||Xe===null||Ea(Xe,ze,Ft,!1)}function Cd(t,n,o){var l=Ue;Ue|=2;var f=hg(),h=pg();(Xe!==t||ze!==n)&&(ds=null,lo(t,n)),n=!1;var b=at;e:do try{if(Ge!==0&&Re!==null){var T=Re,q=Pt;switch(Ge){case 8:Ed(),b=6;break e;case 3:case 2:case 9:case 6:qt.current===null&&(n=!0);var ne=Ge;if(Ge=0,Pt=null,so(t,T,q,ne),o&&io){b=0;break e}break;default:ne=Ge,Ge=0,Pt=null,so(t,T,q,ne)}}Nw(),b=at;break}catch(se){fg(t,se)}while(!0);return n&&t.shellSuspendCounter++,Un=Ja=null,Ue=l,M.H=f,M.A=h,Re===null&&(Xe=null,ze=0,zl()),b}function Nw(){for(;Re!==null;)gg(Re)}function Ew(t,n){var o=Ue;Ue|=2;var l=hg(),f=pg();Xe!==t||ze!==n?(ds=null,us=et()+500,lo(t,n)):io=qa(t,n);e:do try{if(Ge!==0&&Re!==null){n=Re;var h=Pt;t:switch(Ge){case 1:Ge=0,Pt=null,so(t,n,h,1);break;case 2:case 9:if(Ch(h)){Ge=0,Pt=null,yg(n);break}n=function(){Ge!==2&&Ge!==9||Xe!==t||(Ge=7),_n(t)},h.then(n,n);break e;case 3:Ge=7;break e;case 4:Ge=5;break e;case 7:Ch(h)?(Ge=0,Pt=null,yg(n)):(Ge=0,Pt=null,so(t,n,h,7));break;case 5:var b=null;switch(Re.tag){case 26:b=Re.memoizedState;case 5:case 27:var T=Re;if(b?ny(b):T.stateNode.complete){Ge=0,Pt=null;var q=T.sibling;if(q!==null)Re=q;else{var ne=T.return;ne!==null?(Re=ne,hs(ne)):Re=null}break t}}Ge=0,Pt=null,so(t,n,h,5);break;case 6:Ge=0,Pt=null,so(t,n,h,6);break;case 8:Ed(),at=6;break e;default:throw Error(r(462))}}Cw();break}catch(se){fg(t,se)}while(!0);return Un=Ja=null,M.H=l,M.A=f,Ue=o,Re!==null?0:(Xe=null,ze=0,zl(),at)}function Cw(){for(;Re!==null&&!on();)gg(Re)}function gg(t){var n=Up(t.alternate,t,Zn);t.memoizedProps=t.pendingProps,n===null?hs(t):Re=n}function yg(t){var n=t,o=n.alternate;switch(n.tag){case 15:case 0:n=Op(o,n,n.pendingProps,n.type,void 0,ze);break;case 11:n=Op(o,n,n.pendingProps,n.type.render,n.ref,ze);break;case 5:qu(n);default:Gp(o,n),n=Re=ph(n,Zn),n=Up(o,n,Zn)}t.memoizedProps=t.pendingProps,n===null?hs(t):Re=n}function so(t,n,o,l){Un=Ja=null,qu(n),Qi=null,er=0;var f=n.return;try{if(hw(t,f,n,o,ze)){at=1,ts(t,Qt(o,t.current)),Re=null;return}}catch(h){if(f!==null)throw Re=f,h;at=1,ts(t,Qt(o,t.current)),Re=null;return}n.flags&32768?(Ie||l===1?t=!0:io||(ze&536870912)!==0?t=!1:(Sa=t=!0,(l===2||l===9||l===3||l===6)&&(l=qt.current,l!==null&&l.tag===13&&(l.flags|=16384))),vg(n,t)):hs(n)}function hs(t){var n=t;do{if((n.flags&32768)!==0){vg(n,Sa);return}t=n.return;var o=yw(n.alternate,n,Zn);if(o!==null){Re=o;return}if(n=n.sibling,n!==null){Re=n;return}Re=n=t}while(n!==null);at===0&&(at=5)}function vg(t,n){do{var o=vw(t.alternate,t);if(o!==null){o.flags&=32767,Re=o;return}if(o=t.return,o!==null&&(o.flags|=32768,o.subtreeFlags=0,o.deletions=null),!n&&(t=t.sibling,t!==null)){Re=t;return}Re=t=o}while(t!==null);at=6,Re=null}function xg(t,n,o,l,f,h,b,T,q){t.cancelPendingCommit=null;do ps();while(ht!==0);if((Ue&6)!==0)throw Error(r(327));if(n!==null){if(n===t.current)throw Error(r(177));if(h=n.lanes|n.childLanes,h|=hu,Fc(t,o,h,b,T,q),t===Xe&&(Re=Xe=null,ze=0),ro=n,Na=t,Qn=o,wd=h,_d=f,sg=l,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,jw(Ne,function(){return Ng(),null})):(t.callbackNode=null,t.callbackPriority=0),l=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||l){l=M.T,M.T=null,f=L.p,L.p=2,b=Ue,Ue|=4;try{xw(t,n,o)}finally{Ue=b,L.p=f,M.T=l}}ht=1,bg(),Sg(),wg()}}function bg(){if(ht===1){ht=0;var t=Na,n=ro,o=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||o){o=M.T,M.T=null;var l=L.p;L.p=2;var f=Ue;Ue|=4;try{eg(n,t);var h=Hd,b=rh(t.containerInfo),T=h.focusedElem,q=h.selectionRange;if(b!==T&&T&&T.ownerDocument&&oh(T.ownerDocument.documentElement,T)){if(q!==null&&cu(T)){var ne=q.start,se=q.end;if(se===void 0&&(se=ne),"selectionStart"in T)T.selectionStart=ne,T.selectionEnd=Math.min(se,T.value.length);else{var ue=T.ownerDocument||document,ae=ue&&ue.defaultView||window;if(ae.getSelection){var oe=ae.getSelection(),ye=T.textContent.length,Ee=Math.min(q.start,ye),$e=q.end===void 0?Ee:Math.min(q.end,ye);!oe.extend&&Ee>$e&&(b=$e,$e=Ee,Ee=b);var Z=ih(T,Ee),$=ih(T,$e);if(Z&&$&&(oe.rangeCount!==1||oe.anchorNode!==Z.node||oe.anchorOffset!==Z.offset||oe.focusNode!==$.node||oe.focusOffset!==$.offset)){var ee=ue.createRange();ee.setStart(Z.node,Z.offset),oe.removeAllRanges(),Ee>$e?(oe.addRange(ee),oe.extend($.node,$.offset)):(ee.setEnd($.node,$.offset),oe.addRange(ee))}}}}for(ue=[],oe=T;oe=oe.parentNode;)oe.nodeType===1&&ue.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof T.focus=="function"&&T.focus(),T=0;T<ue.length;T++){var ce=ue[T];ce.element.scrollLeft=ce.left,ce.element.scrollTop=ce.top}}Ts=!!Ld,Hd=Ld=null}finally{Ue=f,L.p=l,M.T=o}}t.current=n,ht=2}}function Sg(){if(ht===2){ht=0;var t=Na,n=ro,o=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||o){o=M.T,M.T=null;var l=L.p;L.p=2;var f=Ue;Ue|=4;try{Kp(t,n.alternate,n)}finally{Ue=f,L.p=l,M.T=o}}ht=3}}function wg(){if(ht===4||ht===3){ht=0,jn();var t=Na,n=ro,o=Qn,l=sg;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?ht=5:(ht=0,ro=Na=null,_g(t,t.pendingLanes));var f=t.pendingLanes;if(f===0&&(_a=null),Lo(o),n=n.stateNode,Nt&&typeof Nt.onCommitFiberRoot=="function")try{Nt.onCommitFiberRoot(Rn,n,void 0,(n.current.flags&128)===128)}catch{}if(l!==null){n=M.T,f=L.p,L.p=2,M.T=null;try{for(var h=t.onRecoverableError,b=0;b<l.length;b++){var T=l[b];h(T.value,{componentStack:T.stack})}}finally{M.T=n,L.p=f}}(Qn&3)!==0&&ps(),_n(t),f=t.pendingLanes,(o&261930)!==0&&(f&42)!==0?t===Nd?yr++:(yr=0,Nd=t):yr=0,vr(0)}}function _g(t,n){(t.pooledCacheLanes&=n)===0&&(n=t.pooledCache,n!=null&&(t.pooledCache=null,Jo(n)))}function ps(){return bg(),Sg(),wg(),Ng()}function Ng(){if(ht!==5)return!1;var t=Na,n=wd;wd=0;var o=Lo(Qn),l=M.T,f=L.p;try{L.p=32>o?32:o,M.T=null,o=_d,_d=null;var h=Na,b=Qn;if(ht=0,ro=Na=null,Qn=0,(Ue&6)!==0)throw Error(r(331));var T=Ue;if(Ue|=4,og(h.current),ng(h,h.current,b,o),Ue=T,vr(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Rn,h)}catch{}return!0}finally{L.p=f,M.T=l,_g(t,n)}}function Eg(t,n,o){n=Qt(o,n),n=nd(t.stateNode,n,2),t=ya(t,n,2),t!==null&&(Ga(t,2),_n(t))}function Pe(t,n,o){if(t.tag===3)Eg(t,t,o);else for(;n!==null;){if(n.tag===3){Eg(n,t,o);break}else if(n.tag===1){var l=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(_a===null||!_a.has(l))){t=Qt(o,t),o=Cp(2),l=ya(n,o,2),l!==null&&(Tp(o,l,n,t),Ga(l,2),_n(l));break}}n=n.return}}function Td(t,n,o){var l=t.pingCache;if(l===null){l=t.pingCache=new ww;var f=new Set;l.set(n,f)}else f=l.get(n),f===void 0&&(f=new Set,l.set(n,f));f.has(o)||(xd=!0,f.add(o),t=Tw.bind(null,t,n,o),n.then(t,t))}function Tw(t,n,o){var l=t.pingCache;l!==null&&l.delete(n),t.pingedLanes|=t.suspendedLanes&o,t.warmLanes&=~o,Xe===t&&(ze&o)===o&&(at===4||at===3&&(ze&62914560)===ze&&300>et()-cs?(Ue&2)===0&&lo(t,0):bd|=o,oo===ze&&(oo=0)),_n(t)}function Cg(t,n){n===0&&(n=dl()),t=Ka(t,n),t!==null&&(Ga(t,n),_n(t))}function Mw(t){var n=t.memoizedState,o=0;n!==null&&(o=n.retryLane),Cg(t,o)}function Aw(t,n){var o=0;switch(t.tag){case 31:case 13:var l=t.stateNode,f=t.memoizedState;f!==null&&(o=f.retryLane);break;case 19:l=t.stateNode;break;case 22:l=t.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(n),Cg(t,o)}function jw(t,n){return Ht(t,n)}var gs=null,co=null,Md=!1,ys=!1,Ad=!1,Ca=0;function _n(t){t!==co&&t.next===null&&(co===null?gs=co=t:co=co.next=t),ys=!0,Md||(Md=!0,Dw())}function vr(t,n){if(!Ad&&ys){Ad=!0;do for(var o=!1,l=gs;l!==null;){if(t!==0){var f=l.pendingLanes;if(f===0)var h=0;else{var b=l.suspendedLanes,T=l.pingedLanes;h=(1<<31-Et(42|t)+1)-1,h&=f&~(b&~T),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(o=!0,jg(l,h))}else h=ze,h=Ri(l,l===Xe?h:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(h&3)===0||qa(l,h)||(o=!0,jg(l,h));l=l.next}while(o);Ad=!1}}function Rw(){Tg()}function Tg(){ys=Md=!1;var t=0;Ca!==0&&Gw()&&(t=Ca);for(var n=et(),o=null,l=gs;l!==null;){var f=l.next,h=Mg(l,n);h===0?(l.next=null,o===null?gs=f:o.next=f,f===null&&(co=o)):(o=l,(t!==0||(h&3)!==0)&&(ys=!0)),l=f}ht!==0&&ht!==5||vr(t),Ca!==0&&(Ca=0)}function Mg(t,n){for(var o=t.suspendedLanes,l=t.pingedLanes,f=t.expirationTimes,h=t.pendingLanes&-62914561;0<h;){var b=31-Et(h),T=1<<b,q=f[b];q===-1?((T&o)===0||(T&l)!==0)&&(f[b]=Pc(T,n)):q<=n&&(t.expiredLanes|=T),h&=~T}if(n=Xe,o=ze,o=Ri(t,t===n?o:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l=t.callbackNode,o===0||t===n&&(Ge===2||Ge===9)||t.cancelPendingCommit!==null)return l!==null&&l!==null&&Kt(l),t.callbackNode=null,t.callbackPriority=0;if((o&3)===0||qa(t,o)){if(n=o&-o,n===t.callbackPriority)return n;switch(l!==null&&Kt(l),Lo(o)){case 2:case 8:o=re;break;case 32:o=Ne;break;case 268435456:o=_t;break;default:o=Ne}return l=Ag.bind(null,t),o=Ht(o,l),t.callbackPriority=n,t.callbackNode=o,n}return l!==null&&l!==null&&Kt(l),t.callbackPriority=2,t.callbackNode=null,2}function Ag(t,n){if(ht!==0&&ht!==5)return t.callbackNode=null,t.callbackPriority=0,null;var o=t.callbackNode;if(ps()&&t.callbackNode!==o)return null;var l=ze;return l=Ri(t,t===Xe?l:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l===0?null:(ug(t,l,n),Mg(t,et()),t.callbackNode!=null&&t.callbackNode===o?Ag.bind(null,t):null)}function jg(t,n){if(ps())return null;ug(t,n,!0)}function Dw(){Fw(function(){(Ue&6)!==0?Ht(rn,Rw):Tg()})}function jd(){if(Ca===0){var t=Xi;t===0&&(t=Mi,Mi<<=1,(Mi&261888)===0&&(Mi=256)),Ca=t}return Ca}function Rg(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:El(""+t)}function Dg(t,n){var o=n.ownerDocument.createElement("input");return o.name=n.name,o.value=n.value,t.id&&o.setAttribute("form",t.id),n.parentNode.insertBefore(o,n),t=new FormData(t),o.parentNode.removeChild(o),t}function zw(t,n,o,l,f){if(n==="submit"&&o&&o.stateNode===f){var h=Rg((f[bt]||null).action),b=l.submitter;b&&(n=(n=b[bt]||null)?Rg(n.formAction):b.getAttribute("formAction"),n!==null&&(h=n,b=null));var T=new Al("action","action",null,l,f);t.push({event:T,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Ca!==0){var q=b?Dg(f,b):new FormData(f);Zu(o,{pending:!0,data:q,method:f.method,action:h},null,q)}}else typeof h=="function"&&(T.preventDefault(),q=b?Dg(f,b):new FormData(f),Zu(o,{pending:!0,data:q,method:f.method,action:h},h,q))},currentTarget:f}]})}}for(var Rd=0;Rd<mu.length;Rd++){var Dd=mu[Rd],Ow=Dd.toLowerCase(),Iw=Dd[0].toUpperCase()+Dd.slice(1);sn(Ow,"on"+Iw)}sn(ch,"onAnimationEnd"),sn(uh,"onAnimationIteration"),sn(dh,"onAnimationStart"),sn("dblclick","onDoubleClick"),sn("focusin","onFocus"),sn("focusout","onBlur"),sn(QS,"onTransitionRun"),sn(JS,"onTransitionStart"),sn(WS,"onTransitionCancel"),sn(fh,"onTransitionEnd"),ca("onMouseEnter",["mouseout","mouseover"]),ca("onMouseLeave",["mouseout","mouseover"]),ca("onPointerEnter",["pointerout","pointerover"]),ca("onPointerLeave",["pointerout","pointerover"]),On("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),On("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),On("onBeforeInput",["compositionend","keypress","textInput","paste"]),On("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),On("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),On("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var xr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),kw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(xr));function zg(t,n){n=(n&4)!==0;for(var o=0;o<t.length;o++){var l=t[o],f=l.event;l=l.listeners;e:{var h=void 0;if(n)for(var b=l.length-1;0<=b;b--){var T=l[b],q=T.instance,ne=T.currentTarget;if(T=T.listener,q!==h&&f.isPropagationStopped())break e;h=T,f.currentTarget=ne;try{h(f)}catch(se){Dl(se)}f.currentTarget=null,h=q}else for(b=0;b<l.length;b++){if(T=l[b],q=T.instance,ne=T.currentTarget,T=T.listener,q!==h&&f.isPropagationStopped())break e;h=T,f.currentTarget=ne;try{h(f)}catch(se){Dl(se)}f.currentTarget=null,h=q}}}}function De(t,n){var o=n[Di];o===void 0&&(o=n[Di]=new Set);var l=t+"__bubble";o.has(l)||(Og(n,t,2,!1),o.add(l))}function zd(t,n,o){var l=0;n&&(l|=4),Og(o,t,l,n)}var vs="_reactListening"+Math.random().toString(36).slice(2);function Od(t){if(!t[vs]){t[vs]=!0,xl.forEach(function(o){o!=="selectionchange"&&(kw.has(o)||zd(o,!1,t),zd(o,!0,t))});var n=t.nodeType===9?t:t.ownerDocument;n===null||n[vs]||(n[vs]=!0,zd("selectionchange",!1,n))}}function Og(t,n,o,l){switch(cy(n)){case 2:var f=u1;break;case 8:f=d1;break;default:f=Kd}o=f.bind(null,n,o,t),f=void 0,!eu||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(f=!0),l?f!==void 0?t.addEventListener(n,o,{capture:!0,passive:f}):t.addEventListener(n,o,!0):f!==void 0?t.addEventListener(n,o,{passive:f}):t.addEventListener(n,o,!1)}function Id(t,n,o,l,f){var h=l;if((n&1)===0&&(n&2)===0&&l!==null)e:for(;;){if(l===null)return;var b=l.tag;if(b===3||b===4){var T=l.stateNode.containerInfo;if(T===f)break;if(b===4)for(b=l.return;b!==null;){var q=b.tag;if((q===3||q===4)&&b.stateNode.containerInfo===f)return;b=b.return}for(;T!==null;){if(b=oa(T),b===null)return;if(q=b.tag,q===5||q===6||q===26||q===27){l=h=b;continue e}T=T.parentNode}}l=l.return}Bm(function(){var ne=h,se=Jc(o),ue=[];e:{var ae=mh.get(t);if(ae!==void 0){var oe=Al,ye=t;switch(t){case"keypress":if(Tl(o)===0)break e;case"keydown":case"keyup":oe=AS;break;case"focusin":ye="focus",oe=iu;break;case"focusout":ye="blur",oe=iu;break;case"beforeblur":case"afterblur":oe=iu;break;case"click":if(o.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":oe=Gm;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":oe=yS;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":oe=DS;break;case ch:case uh:case dh:oe=bS;break;case fh:oe=OS;break;case"scroll":case"scrollend":oe=pS;break;case"wheel":oe=kS;break;case"copy":case"cut":case"paste":oe=wS;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":oe=Fm;break;case"toggle":case"beforetoggle":oe=HS}var Ee=(n&4)!==0,$e=!Ee&&(t==="scroll"||t==="scrollend"),Z=Ee?ae!==null?ae+"Capture":null:ae;Ee=[];for(var $=ne,ee;$!==null;){var ce=$;if(ee=ce.stateNode,ce=ce.tag,ce!==5&&ce!==26&&ce!==27||ee===null||Z===null||(ce=qo($,Z),ce!=null&&Ee.push(br($,ce,ee))),$e)break;$=$.return}0<Ee.length&&(ae=new oe(ae,ye,null,o,se),ue.push({event:ae,listeners:Ee}))}}if((n&7)===0){e:{if(ae=t==="mouseover"||t==="pointerover",oe=t==="mouseout"||t==="pointerout",ae&&o!==Qc&&(ye=o.relatedTarget||o.fromElement)&&(oa(ye)||ye[zn]))break e;if((oe||ae)&&(ae=se.window===se?se:(ae=se.ownerDocument)?ae.defaultView||ae.parentWindow:window,oe?(ye=o.relatedTarget||o.toElement,oe=ne,ye=ye?oa(ye):null,ye!==null&&($e=c(ye),Ee=ye.tag,ye!==$e||Ee!==5&&Ee!==27&&Ee!==6)&&(ye=null)):(oe=null,ye=ne),oe!==ye)){if(Ee=Gm,ce="onMouseLeave",Z="onMouseEnter",$="mouse",(t==="pointerout"||t==="pointerover")&&(Ee=Fm,ce="onPointerLeave",Z="onPointerEnter",$="pointer"),$e=oe==null?ae:la(oe),ee=ye==null?ae:la(ye),ae=new Ee(ce,$+"leave",oe,o,se),ae.target=$e,ae.relatedTarget=ee,ce=null,oa(se)===ne&&(Ee=new Ee(Z,$+"enter",ye,o,se),Ee.target=ee,Ee.relatedTarget=$e,ce=Ee),$e=ce,oe&&ye)t:{for(Ee=Lw,Z=oe,$=ye,ee=0,ce=Z;ce;ce=Ee(ce))ee++;ce=0;for(var be=$;be;be=Ee(be))ce++;for(;0<ee-ce;)Z=Ee(Z),ee--;for(;0<ce-ee;)$=Ee($),ce--;for(;ee--;){if(Z===$||$!==null&&Z===$.alternate){Ee=Z;break t}Z=Ee(Z),$=Ee($)}Ee=null}else Ee=null;oe!==null&&Ig(ue,ae,oe,Ee,!1),ye!==null&&$e!==null&&Ig(ue,$e,ye,Ee,!0)}}e:{if(ae=ne?la(ne):window,oe=ae.nodeName&&ae.nodeName.toLowerCase(),oe==="select"||oe==="input"&&ae.type==="file")var He=Jm;else if(Zm(ae))if(Wm)He=XS;else{He=$S;var ve=VS}else oe=ae.nodeName,!oe||oe.toLowerCase()!=="input"||ae.type!=="checkbox"&&ae.type!=="radio"?ne&&Zc(ne.elementType)&&(He=Jm):He=YS;if(He&&(He=He(t,ne))){Qm(ue,He,o,se);break e}ve&&ve(t,ae,ne),t==="focusout"&&ne&&ae.type==="number"&&ne.memoizedProps.value!=null&&Uo(ae,"number",ae.value)}switch(ve=ne?la(ne):window,t){case"focusin":(Zm(ve)||ve.contentEditable==="true")&&(Ui=ve,uu=ne,Ko=null);break;case"focusout":Ko=uu=Ui=null;break;case"mousedown":du=!0;break;case"contextmenu":case"mouseup":case"dragend":du=!1,lh(ue,o,se);break;case"selectionchange":if(ZS)break;case"keydown":case"keyup":lh(ue,o,se)}var je;if(ru)e:{switch(t){case"compositionstart":var Oe="onCompositionStart";break e;case"compositionend":Oe="onCompositionEnd";break e;case"compositionupdate":Oe="onCompositionUpdate";break e}Oe=void 0}else Bi?Xm(t,o)&&(Oe="onCompositionEnd"):t==="keydown"&&o.keyCode===229&&(Oe="onCompositionStart");Oe&&(Vm&&o.locale!=="ko"&&(Bi||Oe!=="onCompositionStart"?Oe==="onCompositionEnd"&&Bi&&(je=Um()):(ua=se,tu="value"in ua?ua.value:ua.textContent,Bi=!0)),ve=xs(ne,Oe),0<ve.length&&(Oe=new Pm(Oe,t,null,o,se),ue.push({event:Oe,listeners:ve}),je?Oe.data=je:(je=Km(o),je!==null&&(Oe.data=je)))),(je=US?qS(t,o):GS(t,o))&&(Oe=xs(ne,"onBeforeInput"),0<Oe.length&&(ve=new Pm("onBeforeInput","beforeinput",null,o,se),ue.push({event:ve,listeners:Oe}),ve.data=je)),zw(ue,t,ne,o,se)}zg(ue,n)})}function br(t,n,o){return{instance:t,listener:n,currentTarget:o}}function xs(t,n){for(var o=n+"Capture",l=[];t!==null;){var f=t,h=f.stateNode;if(f=f.tag,f!==5&&f!==26&&f!==27||h===null||(f=qo(t,o),f!=null&&l.unshift(br(t,f,h)),f=qo(t,n),f!=null&&l.push(br(t,f,h))),t.tag===3)return l;t=t.return}return[]}function Lw(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Ig(t,n,o,l,f){for(var h=n._reactName,b=[];o!==null&&o!==l;){var T=o,q=T.alternate,ne=T.stateNode;if(T=T.tag,q!==null&&q===l)break;T!==5&&T!==26&&T!==27||ne===null||(q=ne,f?(ne=qo(o,h),ne!=null&&b.unshift(br(o,ne,q))):f||(ne=qo(o,h),ne!=null&&b.push(br(o,ne,q)))),o=o.return}b.length!==0&&t.push({event:n,listeners:b})}var Hw=/\r\n?/g,Bw=/\u0000|\uFFFD/g;function kg(t){return(typeof t=="string"?t:""+t).replace(Hw,`
9
- `).replace(Bw,"")}function Lg(t,n){return n=kg(n),kg(t)===n}function Ve(t,n,o,l,f,h){switch(o){case"children":typeof l=="string"?n==="body"||n==="textarea"&&l===""||ki(t,l):(typeof l=="number"||typeof l=="bigint")&&n!=="body"&&ki(t,""+l);break;case"className":Oi(t,"class",l);break;case"tabIndex":Oi(t,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Oi(t,o,l);break;case"style":Lm(t,l,h);break;case"data":if(n!=="object"){Oi(t,"data",l);break}case"src":case"href":if(l===""&&(n!=="a"||o!=="href")){t.removeAttribute(o);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(o);break}l=El(""+l),t.setAttribute(o,l);break;case"action":case"formAction":if(typeof l=="function"){t.setAttribute(o,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof h=="function"&&(o==="formAction"?(n!=="input"&&Ve(t,n,"name",f.name,f,null),Ve(t,n,"formEncType",f.formEncType,f,null),Ve(t,n,"formMethod",f.formMethod,f,null),Ve(t,n,"formTarget",f.formTarget,f,null)):(Ve(t,n,"encType",f.encType,f,null),Ve(t,n,"method",f.method,f,null),Ve(t,n,"target",f.target,f,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(o);break}l=El(""+l),t.setAttribute(o,l);break;case"onClick":l!=null&&(t.onclick=kn);break;case"onScroll":l!=null&&De("scroll",t);break;case"onScrollEnd":l!=null&&De("scrollend",t);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(o=l.__html,o!=null){if(f.children!=null)throw Error(r(60));t.innerHTML=o}}break;case"multiple":t.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":t.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){t.removeAttribute("xlink:href");break}o=El(""+l),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(o,""+l):t.removeAttribute(o);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(o,""):t.removeAttribute(o);break;case"capture":case"download":l===!0?t.setAttribute(o,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(o,l):t.removeAttribute(o);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?t.setAttribute(o,l):t.removeAttribute(o);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?t.removeAttribute(o):t.setAttribute(o,l);break;case"popover":De("beforetoggle",t),De("toggle",t),zi(t,"popover",l);break;case"xlinkActuate":ln(t,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":ln(t,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":ln(t,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":ln(t,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":ln(t,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":ln(t,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":ln(t,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":ln(t,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":ln(t,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":zi(t,"is",l);break;case"innerText":case"textContent":break;default:(!(2<o.length)||o[0]!=="o"&&o[0]!=="O"||o[1]!=="n"&&o[1]!=="N")&&(o=mS.get(o)||o,zi(t,o,l))}}function kd(t,n,o,l,f,h){switch(o){case"style":Lm(t,l,h);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(o=l.__html,o!=null){if(f.children!=null)throw Error(r(60));t.innerHTML=o}}break;case"children":typeof l=="string"?ki(t,l):(typeof l=="number"||typeof l=="bigint")&&ki(t,""+l);break;case"onScroll":l!=null&&De("scroll",t);break;case"onScrollEnd":l!=null&&De("scrollend",t);break;case"onClick":l!=null&&(t.onclick=kn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!bl.hasOwnProperty(o))e:{if(o[0]==="o"&&o[1]==="n"&&(f=o.endsWith("Capture"),n=o.slice(2,f?o.length-7:void 0),h=t[bt]||null,h=h!=null?h[o]:null,typeof h=="function"&&t.removeEventListener(n,h,f),typeof l=="function")){typeof h!="function"&&h!==null&&(o in t?t[o]=null:t.hasAttribute(o)&&t.removeAttribute(o)),t.addEventListener(n,l,f);break e}o in t?t[o]=l:l===!0?t.setAttribute(o,""):zi(t,o,l)}}}function xt(t,n,o){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":De("error",t),De("load",t);var l=!1,f=!1,h;for(h in o)if(o.hasOwnProperty(h)){var b=o[h];if(b!=null)switch(h){case"src":l=!0;break;case"srcSet":f=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:Ve(t,n,h,b,o,null)}}f&&Ve(t,n,"srcSet",o.srcSet,o,null),l&&Ve(t,n,"src",o.src,o,null);return;case"input":De("invalid",t);var T=h=b=f=null,q=null,ne=null;for(l in o)if(o.hasOwnProperty(l)){var se=o[l];if(se!=null)switch(l){case"name":f=se;break;case"type":b=se;break;case"checked":q=se;break;case"defaultChecked":ne=se;break;case"value":h=se;break;case"defaultValue":T=se;break;case"children":case"dangerouslySetInnerHTML":if(se!=null)throw Error(r(137,n));break;default:Ve(t,n,l,se,o,null)}}Nl(t,h,T,q,ne,b,f,!1);return;case"select":De("invalid",t),l=b=h=null;for(f in o)if(o.hasOwnProperty(f)&&(T=o[f],T!=null))switch(f){case"value":h=T;break;case"defaultValue":b=T;break;case"multiple":l=T;default:Ve(t,n,f,T,o,null)}n=h,o=b,t.multiple=!!l,n!=null?In(t,!!l,n,!1):o!=null&&In(t,!!l,o,!0);return;case"textarea":De("invalid",t),h=f=l=null;for(b in o)if(o.hasOwnProperty(b)&&(T=o[b],T!=null))switch(b){case"value":l=T;break;case"defaultValue":f=T;break;case"children":h=T;break;case"dangerouslySetInnerHTML":if(T!=null)throw Error(r(91));break;default:Ve(t,n,b,T,o,null)}Im(t,l,f,h);return;case"option":for(q in o)o.hasOwnProperty(q)&&(l=o[q],l!=null)&&(q==="selected"?t.selected=l&&typeof l!="function"&&typeof l!="symbol":Ve(t,n,q,l,o,null));return;case"dialog":De("beforetoggle",t),De("toggle",t),De("cancel",t),De("close",t);break;case"iframe":case"object":De("load",t);break;case"video":case"audio":for(l=0;l<xr.length;l++)De(xr[l],t);break;case"image":De("error",t),De("load",t);break;case"details":De("toggle",t);break;case"embed":case"source":case"link":De("error",t),De("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(ne in o)if(o.hasOwnProperty(ne)&&(l=o[ne],l!=null))switch(ne){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:Ve(t,n,ne,l,o,null)}return;default:if(Zc(n)){for(se in o)o.hasOwnProperty(se)&&(l=o[se],l!==void 0&&kd(t,n,se,l,o,void 0));return}}for(T in o)o.hasOwnProperty(T)&&(l=o[T],l!=null&&Ve(t,n,T,l,o,null))}function Uw(t,n,o,l){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var f=null,h=null,b=null,T=null,q=null,ne=null,se=null;for(oe in o){var ue=o[oe];if(o.hasOwnProperty(oe)&&ue!=null)switch(oe){case"checked":break;case"value":break;case"defaultValue":q=ue;default:l.hasOwnProperty(oe)||Ve(t,n,oe,null,l,ue)}}for(var ae in l){var oe=l[ae];if(ue=o[ae],l.hasOwnProperty(ae)&&(oe!=null||ue!=null))switch(ae){case"type":h=oe;break;case"name":f=oe;break;case"checked":ne=oe;break;case"defaultChecked":se=oe;break;case"value":b=oe;break;case"defaultValue":T=oe;break;case"children":case"dangerouslySetInnerHTML":if(oe!=null)throw Error(r(137,n));break;default:oe!==ue&&Ve(t,n,ae,oe,l,ue)}}Va(t,b,T,q,ne,se,h,f);return;case"select":oe=b=T=ae=null;for(h in o)if(q=o[h],o.hasOwnProperty(h)&&q!=null)switch(h){case"value":break;case"multiple":oe=q;default:l.hasOwnProperty(h)||Ve(t,n,h,null,l,q)}for(f in l)if(h=l[f],q=o[f],l.hasOwnProperty(f)&&(h!=null||q!=null))switch(f){case"value":ae=h;break;case"defaultValue":T=h;break;case"multiple":b=h;default:h!==q&&Ve(t,n,f,h,l,q)}n=T,o=b,l=oe,ae!=null?In(t,!!o,ae,!1):!!l!=!!o&&(n!=null?In(t,!!o,n,!0):In(t,!!o,o?[]:"",!1));return;case"textarea":oe=ae=null;for(T in o)if(f=o[T],o.hasOwnProperty(T)&&f!=null&&!l.hasOwnProperty(T))switch(T){case"value":break;case"children":break;default:Ve(t,n,T,null,l,f)}for(b in l)if(f=l[b],h=o[b],l.hasOwnProperty(b)&&(f!=null||h!=null))switch(b){case"value":ae=f;break;case"defaultValue":oe=f;break;case"children":break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(r(91));break;default:f!==h&&Ve(t,n,b,f,l,h)}Om(t,ae,oe);return;case"option":for(var ye in o)ae=o[ye],o.hasOwnProperty(ye)&&ae!=null&&!l.hasOwnProperty(ye)&&(ye==="selected"?t.selected=!1:Ve(t,n,ye,null,l,ae));for(q in l)ae=l[q],oe=o[q],l.hasOwnProperty(q)&&ae!==oe&&(ae!=null||oe!=null)&&(q==="selected"?t.selected=ae&&typeof ae!="function"&&typeof ae!="symbol":Ve(t,n,q,ae,l,oe));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ee in o)ae=o[Ee],o.hasOwnProperty(Ee)&&ae!=null&&!l.hasOwnProperty(Ee)&&Ve(t,n,Ee,null,l,ae);for(ne in l)if(ae=l[ne],oe=o[ne],l.hasOwnProperty(ne)&&ae!==oe&&(ae!=null||oe!=null))switch(ne){case"children":case"dangerouslySetInnerHTML":if(ae!=null)throw Error(r(137,n));break;default:Ve(t,n,ne,ae,l,oe)}return;default:if(Zc(n)){for(var $e in o)ae=o[$e],o.hasOwnProperty($e)&&ae!==void 0&&!l.hasOwnProperty($e)&&kd(t,n,$e,void 0,l,ae);for(se in l)ae=l[se],oe=o[se],!l.hasOwnProperty(se)||ae===oe||ae===void 0&&oe===void 0||kd(t,n,se,ae,l,oe);return}}for(var Z in o)ae=o[Z],o.hasOwnProperty(Z)&&ae!=null&&!l.hasOwnProperty(Z)&&Ve(t,n,Z,null,l,ae);for(ue in l)ae=l[ue],oe=o[ue],!l.hasOwnProperty(ue)||ae===oe||ae==null&&oe==null||Ve(t,n,ue,ae,l,oe)}function Hg(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function qw(){if(typeof performance.getEntriesByType=="function"){for(var t=0,n=0,o=performance.getEntriesByType("resource"),l=0;l<o.length;l++){var f=o[l],h=f.transferSize,b=f.initiatorType,T=f.duration;if(h&&T&&Hg(b)){for(b=0,T=f.responseEnd,l+=1;l<o.length;l++){var q=o[l],ne=q.startTime;if(ne>T)break;var se=q.transferSize,ue=q.initiatorType;se&&Hg(ue)&&(q=q.responseEnd,b+=se*(q<T?1:(T-ne)/(q-ne)))}if(--l,n+=8*(h+b)/(f.duration/1e3),t++,10<t)break}}if(0<t)return n/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var Ld=null,Hd=null;function bs(t){return t.nodeType===9?t:t.ownerDocument}function Bg(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Ug(t,n){if(t===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&n==="foreignObject"?0:t}function Bd(t,n){return t==="textarea"||t==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var Ud=null;function Gw(){var t=window.event;return t&&t.type==="popstate"?t===Ud?!1:(Ud=t,!0):(Ud=null,!1)}var qg=typeof setTimeout=="function"?setTimeout:void 0,Pw=typeof clearTimeout=="function"?clearTimeout:void 0,Gg=typeof Promise=="function"?Promise:void 0,Fw=typeof queueMicrotask=="function"?queueMicrotask:typeof Gg<"u"?function(t){return Gg.resolve(null).then(t).catch(Vw)}:qg;function Vw(t){setTimeout(function(){throw t})}function Ta(t){return t==="head"}function Pg(t,n){var o=n,l=0;do{var f=o.nextSibling;if(t.removeChild(o),f&&f.nodeType===8)if(o=f.data,o==="/$"||o==="/&"){if(l===0){t.removeChild(f),ho(n);return}l--}else if(o==="$"||o==="$?"||o==="$~"||o==="$!"||o==="&")l++;else if(o==="html")Sr(t.ownerDocument.documentElement);else if(o==="head"){o=t.ownerDocument.head,Sr(o);for(var h=o.firstChild;h;){var b=h.nextSibling,T=h.nodeName;h[Pa]||T==="SCRIPT"||T==="STYLE"||T==="LINK"&&h.rel.toLowerCase()==="stylesheet"||o.removeChild(h),h=b}}else o==="body"&&Sr(t.ownerDocument.body);o=f}while(o);ho(n)}function Fg(t,n){var o=t;t=0;do{var l=o.nextSibling;if(o.nodeType===1?n?(o._stashedDisplay=o.style.display,o.style.display="none"):(o.style.display=o._stashedDisplay||"",o.getAttribute("style")===""&&o.removeAttribute("style")):o.nodeType===3&&(n?(o._stashedText=o.nodeValue,o.nodeValue=""):o.nodeValue=o._stashedText||""),l&&l.nodeType===8)if(o=l.data,o==="/$"){if(t===0)break;t--}else o!=="$"&&o!=="$?"&&o!=="$~"&&o!=="$!"||t++;o=l}while(o)}function qd(t){var n=t.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var o=n;switch(n=n.nextSibling,o.nodeName){case"HTML":case"HEAD":case"BODY":qd(o),Ho(o);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(o.rel.toLowerCase()==="stylesheet")continue}t.removeChild(o)}}function $w(t,n,o,l){for(;t.nodeType===1;){var f=o;if(t.nodeName.toLowerCase()!==n.toLowerCase()){if(!l&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(l){if(!t[Pa])switch(n){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(h=t.getAttribute("rel"),h==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(h!==f.rel||t.getAttribute("href")!==(f.href==null||f.href===""?null:f.href)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin)||t.getAttribute("title")!==(f.title==null?null:f.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(h=t.getAttribute("src"),(h!==(f.src==null?null:f.src)||t.getAttribute("type")!==(f.type==null?null:f.type)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin))&&h&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(n==="input"&&t.type==="hidden"){var h=f.name==null?null:""+f.name;if(f.type==="hidden"&&t.getAttribute("name")===h)return t}else return t;if(t=nn(t.nextSibling),t===null)break}return null}function Yw(t,n,o){if(n==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!o||(t=nn(t.nextSibling),t===null))return null;return t}function Vg(t,n){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=nn(t.nextSibling),t===null))return null;return t}function Gd(t){return t.data==="$?"||t.data==="$~"}function Pd(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function Xw(t,n){var o=t.ownerDocument;if(t.data==="$~")t._reactRetry=n;else if(t.data!=="$?"||o.readyState!=="loading")n();else{var l=function(){n(),o.removeEventListener("DOMContentLoaded",l)};o.addEventListener("DOMContentLoaded",l),t._reactRetry=l}}function nn(t){for(;t!=null;t=t.nextSibling){var n=t.nodeType;if(n===1||n===3)break;if(n===8){if(n=t.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return t}var Fd=null;function $g(t){t=t.nextSibling;for(var n=0;t;){if(t.nodeType===8){var o=t.data;if(o==="/$"||o==="/&"){if(n===0)return nn(t.nextSibling);n--}else o!=="$"&&o!=="$!"&&o!=="$?"&&o!=="$~"&&o!=="&"||n++}t=t.nextSibling}return null}function Yg(t){t=t.previousSibling;for(var n=0;t;){if(t.nodeType===8){var o=t.data;if(o==="$"||o==="$!"||o==="$?"||o==="$~"||o==="&"){if(n===0)return t;n--}else o!=="/$"&&o!=="/&"||n++}t=t.previousSibling}return null}function Xg(t,n,o){switch(n=bs(o),t){case"html":if(t=n.documentElement,!t)throw Error(r(452));return t;case"head":if(t=n.head,!t)throw Error(r(453));return t;case"body":if(t=n.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function Sr(t){for(var n=t.attributes;n.length;)t.removeAttributeNode(n[0]);Ho(t)}var an=new Map,Kg=new Set;function Ss(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Jn=L.d;L.d={f:Kw,r:Zw,D:Qw,C:Jw,L:Ww,m:e1,X:n1,S:t1,M:a1};function Kw(){var t=Jn.f(),n=fs();return t||n}function Zw(t){var n=ra(t);n!==null&&n.tag===5&&n.type==="form"?fp(n):Jn.r(t)}var uo=typeof document>"u"?null:document;function Zg(t,n,o){var l=uo;if(l&&typeof n=="string"&&n){var f=Mt(n);f='link[rel="'+t+'"][href="'+f+'"]',typeof o=="string"&&(f+='[crossorigin="'+o+'"]'),Kg.has(f)||(Kg.add(f),t={rel:t,crossOrigin:o,href:n},l.querySelector(f)===null&&(n=l.createElement("link"),xt(n,"link",t),lt(n),l.head.appendChild(n)))}}function Qw(t){Jn.D(t),Zg("dns-prefetch",t,null)}function Jw(t,n){Jn.C(t,n),Zg("preconnect",t,n)}function Ww(t,n,o){Jn.L(t,n,o);var l=uo;if(l&&t&&n){var f='link[rel="preload"][as="'+Mt(n)+'"]';n==="image"&&o&&o.imageSrcSet?(f+='[imagesrcset="'+Mt(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(f+='[imagesizes="'+Mt(o.imageSizes)+'"]')):f+='[href="'+Mt(t)+'"]';var h=f;switch(n){case"style":h=fo(t);break;case"script":h=mo(t)}an.has(h)||(t=v({rel:"preload",href:n==="image"&&o&&o.imageSrcSet?void 0:t,as:n},o),an.set(h,t),l.querySelector(f)!==null||n==="style"&&l.querySelector(wr(h))||n==="script"&&l.querySelector(_r(h))||(n=l.createElement("link"),xt(n,"link",t),lt(n),l.head.appendChild(n)))}}function e1(t,n){Jn.m(t,n);var o=uo;if(o&&t){var l=n&&typeof n.as=="string"?n.as:"script",f='link[rel="modulepreload"][as="'+Mt(l)+'"][href="'+Mt(t)+'"]',h=f;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=mo(t)}if(!an.has(h)&&(t=v({rel:"modulepreload",href:t},n),an.set(h,t),o.querySelector(f)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(_r(h)))return}l=o.createElement("link"),xt(l,"link",t),lt(l),o.head.appendChild(l)}}}function t1(t,n,o){Jn.S(t,n,o);var l=uo;if(l&&t){var f=sa(l).hoistableStyles,h=fo(t);n=n||"default";var b=f.get(h);if(!b){var T={loading:0,preload:null};if(b=l.querySelector(wr(h)))T.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":n},o),(o=an.get(h))&&Vd(t,o);var q=b=l.createElement("link");lt(q),xt(q,"link",t),q._p=new Promise(function(ne,se){q.onload=ne,q.onerror=se}),q.addEventListener("load",function(){T.loading|=1}),q.addEventListener("error",function(){T.loading|=2}),T.loading|=4,ws(b,n,l)}b={type:"stylesheet",instance:b,count:1,state:T},f.set(h,b)}}}function n1(t,n){Jn.X(t,n);var o=uo;if(o&&t){var l=sa(o).hoistableScripts,f=mo(t),h=l.get(f);h||(h=o.querySelector(_r(f)),h||(t=v({src:t,async:!0},n),(n=an.get(f))&&$d(t,n),h=o.createElement("script"),lt(h),xt(h,"link",t),o.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(f,h))}}function a1(t,n){Jn.M(t,n);var o=uo;if(o&&t){var l=sa(o).hoistableScripts,f=mo(t),h=l.get(f);h||(h=o.querySelector(_r(f)),h||(t=v({src:t,async:!0,type:"module"},n),(n=an.get(f))&&$d(t,n),h=o.createElement("script"),lt(h),xt(h,"link",t),o.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(f,h))}}function Qg(t,n,o,l){var f=(f=me.current)?Ss(f):null;if(!f)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(n=fo(o.href),o=sa(f).hoistableStyles,l=o.get(n),l||(l={type:"style",instance:null,count:0,state:null},o.set(n,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){t=fo(o.href);var h=sa(f).hoistableStyles,b=h.get(t);if(b||(f=f.ownerDocument||f,b={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(t,b),(h=f.querySelector(wr(t)))&&!h._p&&(b.instance=h,b.state.loading=5),an.has(t)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},an.set(t,o),h||i1(f,t,o,b.state))),n&&l===null)throw Error(r(528,""));return b}if(n&&l!==null)throw Error(r(529,""));return null;case"script":return n=o.async,o=o.src,typeof o=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=mo(o),o=sa(f).hoistableScripts,l=o.get(n),l||(l={type:"script",instance:null,count:0,state:null},o.set(n,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function fo(t){return'href="'+Mt(t)+'"'}function wr(t){return'link[rel="stylesheet"]['+t+"]"}function Jg(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function i1(t,n,o,l){t.querySelector('link[rel="preload"][as="style"]['+n+"]")?l.loading=1:(n=t.createElement("link"),l.preload=n,n.addEventListener("load",function(){return l.loading|=1}),n.addEventListener("error",function(){return l.loading|=2}),xt(n,"link",o),lt(n),t.head.appendChild(n))}function mo(t){return'[src="'+Mt(t)+'"]'}function _r(t){return"script[async]"+t}function Wg(t,n,o){if(n.count++,n.instance===null)switch(n.type){case"style":var l=t.querySelector('style[data-href~="'+Mt(o.href)+'"]');if(l)return n.instance=l,lt(l),l;var f=v({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return l=(t.ownerDocument||t).createElement("style"),lt(l),xt(l,"style",f),ws(l,o.precedence,t),n.instance=l;case"stylesheet":f=fo(o.href);var h=t.querySelector(wr(f));if(h)return n.state.loading|=4,n.instance=h,lt(h),h;l=Jg(o),(f=an.get(f))&&Vd(l,f),h=(t.ownerDocument||t).createElement("link"),lt(h);var b=h;return b._p=new Promise(function(T,q){b.onload=T,b.onerror=q}),xt(h,"link",l),n.state.loading|=4,ws(h,o.precedence,t),n.instance=h;case"script":return h=mo(o.src),(f=t.querySelector(_r(h)))?(n.instance=f,lt(f),f):(l=o,(f=an.get(h))&&(l=v({},o),$d(l,f)),t=t.ownerDocument||t,f=t.createElement("script"),lt(f),xt(f,"link",l),t.head.appendChild(f),n.instance=f);case"void":return null;default:throw Error(r(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(l=n.instance,n.state.loading|=4,ws(l,o.precedence,t));return n.instance}function ws(t,n,o){for(var l=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=l.length?l[l.length-1]:null,h=f,b=0;b<l.length;b++){var T=l[b];if(T.dataset.precedence===n)h=T;else if(h!==f)break}h?h.parentNode.insertBefore(t,h.nextSibling):(n=o.nodeType===9?o.head:o,n.insertBefore(t,n.firstChild))}function Vd(t,n){t.crossOrigin==null&&(t.crossOrigin=n.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=n.referrerPolicy),t.title==null&&(t.title=n.title)}function $d(t,n){t.crossOrigin==null&&(t.crossOrigin=n.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=n.referrerPolicy),t.integrity==null&&(t.integrity=n.integrity)}var _s=null;function ey(t,n,o){if(_s===null){var l=new Map,f=_s=new Map;f.set(o,l)}else f=_s,l=f.get(o),l||(l=new Map,f.set(o,l));if(l.has(t))return l;for(l.set(t,null),o=o.getElementsByTagName(t),f=0;f<o.length;f++){var h=o[f];if(!(h[Pa]||h[mt]||t==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var b=h.getAttribute(n)||"";b=t+b;var T=l.get(b);T?T.push(h):l.set(b,[h])}}return l}function ty(t,n,o){t=t.ownerDocument||t,t.head.insertBefore(o,n==="title"?t.querySelector("head > title"):null)}function o1(t,n,o){if(o===1||n.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(t=n.disabled,typeof n.precedence=="string"&&t==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function ny(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function r1(t,n,o,l){if(o.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(o.state.loading&4)===0){if(o.instance===null){var f=fo(l.href),h=n.querySelector(wr(f));if(h){n=h._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(t.count++,t=Ns.bind(t),n.then(t,t)),o.state.loading|=4,o.instance=h,lt(h);return}h=n.ownerDocument||n,l=Jg(l),(f=an.get(f))&&Vd(l,f),h=h.createElement("link"),lt(h);var b=h;b._p=new Promise(function(T,q){b.onload=T,b.onerror=q}),xt(h,"link",l),o.instance=h}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(o,n),(n=o.state.preload)&&(o.state.loading&3)===0&&(t.count++,o=Ns.bind(t),n.addEventListener("load",o),n.addEventListener("error",o))}}var Yd=0;function l1(t,n){return t.stylesheets&&t.count===0&&Cs(t,t.stylesheets),0<t.count||0<t.imgCount?function(o){var l=setTimeout(function(){if(t.stylesheets&&Cs(t,t.stylesheets),t.unsuspend){var h=t.unsuspend;t.unsuspend=null,h()}},6e4+n);0<t.imgBytes&&Yd===0&&(Yd=62500*qw());var f=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Cs(t,t.stylesheets),t.unsuspend)){var h=t.unsuspend;t.unsuspend=null,h()}},(t.imgBytes>Yd?50:800)+n);return t.unsuspend=o,function(){t.unsuspend=null,clearTimeout(l),clearTimeout(f)}}:null}function Ns(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Cs(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Es=null;function Cs(t,n){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Es=new Map,n.forEach(s1,t),Es=null,Ns.call(t))}function s1(t,n){if(!(n.state.loading&4)){var o=Es.get(t);if(o)var l=o.get(null);else{o=new Map,Es.set(t,o);for(var f=t.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<f.length;h++){var b=f[h];(b.nodeName==="LINK"||b.getAttribute("media")!=="not all")&&(o.set(b.dataset.precedence,b),l=b)}l&&o.set(null,l)}f=n.instance,b=f.getAttribute("data-precedence"),h=o.get(b)||l,h===l&&o.set(null,f),o.set(b,f),this.count++,l=Ns.bind(this),f.addEventListener("load",l),f.addEventListener("error",l),h?h.parentNode.insertBefore(f,h.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(f,t.firstChild)),n.state.loading|=4}}var Nr={$$typeof:N,Provider:null,Consumer:null,_currentValue:G,_currentValue2:G,_threadCount:0};function c1(t,n,o,l,f,h,b,T,q){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Io(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Io(0),this.hiddenUpdates=Io(null),this.identifierPrefix=l,this.onUncaughtError=f,this.onCaughtError=h,this.onRecoverableError=b,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=q,this.incompleteTransitions=new Map}function ay(t,n,o,l,f,h,b,T,q,ne,se,ue){return t=new c1(t,n,o,b,q,ne,se,ue,T),n=1,h===!0&&(n|=24),h=Ut(3,null,null,n),t.current=h,h.stateNode=t,n=Cu(),n.refCount++,t.pooledCache=n,n.refCount++,h.memoizedState={element:l,isDehydrated:o,cache:n},ju(h),t}function iy(t){return t?(t=Pi,t):Pi}function oy(t,n,o,l,f,h){f=iy(f),l.context===null?l.context=f:l.pendingContext=f,l=ga(n),l.payload={element:o},h=h===void 0?null:h,h!==null&&(l.callback=h),o=ya(t,l,n),o!==null&&(Ot(o,t,n),nr(o,t,n))}function ry(t,n){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var o=t.retryLane;t.retryLane=o!==0&&o<n?o:n}}function Xd(t,n){ry(t,n),(t=t.alternate)&&ry(t,n)}function ly(t){if(t.tag===13||t.tag===31){var n=Ka(t,67108864);n!==null&&Ot(n,t,67108864),Xd(t,67108864)}}function sy(t){if(t.tag===13||t.tag===31){var n=Vt();n=ko(n);var o=Ka(t,n);o!==null&&Ot(o,t,n),Xd(t,n)}}var Ts=!0;function u1(t,n,o,l){var f=M.T;M.T=null;var h=L.p;try{L.p=2,Kd(t,n,o,l)}finally{L.p=h,M.T=f}}function d1(t,n,o,l){var f=M.T;M.T=null;var h=L.p;try{L.p=8,Kd(t,n,o,l)}finally{L.p=h,M.T=f}}function Kd(t,n,o,l){if(Ts){var f=Zd(l);if(f===null)Id(t,n,l,Ms,o),uy(t,l);else if(m1(f,t,n,o,l))l.stopPropagation();else if(uy(t,l),n&4&&-1<f1.indexOf(t)){for(;f!==null;){var h=ra(f);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var b=Dn(h.pendingLanes);if(b!==0){var T=h;for(T.pendingLanes|=2,T.entangledLanes|=2;b;){var q=1<<31-Et(b);T.entanglements[1]|=q,b&=~q}_n(h),(Ue&6)===0&&(us=et()+500,vr(0))}}break;case 31:case 13:T=Ka(h,2),T!==null&&Ot(T,h,2),fs(),Xd(h,2)}if(h=Zd(l),h===null&&Id(t,n,l,Ms,o),h===f)break;f=h}f!==null&&l.stopPropagation()}else Id(t,n,l,null,o)}}function Zd(t){return t=Jc(t),Qd(t)}var Ms=null;function Qd(t){if(Ms=null,t=oa(t),t!==null){var n=c(t);if(n===null)t=null;else{var o=n.tag;if(o===13){if(t=u(n),t!==null)return t;t=null}else if(o===31){if(t=m(n),t!==null)return t;t=null}else if(o===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;t=null}else n!==t&&(t=null)}}return Ms=t,null}function cy(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ia()){case rn:return 2;case re:return 8;case Ne:case tt:return 32;case _t:return 268435456;default:return 32}default:return 32}}var Jd=!1,Ma=null,Aa=null,ja=null,Er=new Map,Cr=new Map,Ra=[],f1="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function uy(t,n){switch(t){case"focusin":case"focusout":Ma=null;break;case"dragenter":case"dragleave":Aa=null;break;case"mouseover":case"mouseout":ja=null;break;case"pointerover":case"pointerout":Er.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":Cr.delete(n.pointerId)}}function Tr(t,n,o,l,f,h){return t===null||t.nativeEvent!==h?(t={blockedOn:n,domEventName:o,eventSystemFlags:l,nativeEvent:h,targetContainers:[f]},n!==null&&(n=ra(n),n!==null&&ly(n)),t):(t.eventSystemFlags|=l,n=t.targetContainers,f!==null&&n.indexOf(f)===-1&&n.push(f),t)}function m1(t,n,o,l,f){switch(n){case"focusin":return Ma=Tr(Ma,t,n,o,l,f),!0;case"dragenter":return Aa=Tr(Aa,t,n,o,l,f),!0;case"mouseover":return ja=Tr(ja,t,n,o,l,f),!0;case"pointerover":var h=f.pointerId;return Er.set(h,Tr(Er.get(h)||null,t,n,o,l,f)),!0;case"gotpointercapture":return h=f.pointerId,Cr.set(h,Tr(Cr.get(h)||null,t,n,o,l,f)),!0}return!1}function dy(t){var n=oa(t.target);if(n!==null){var o=c(n);if(o!==null){if(n=o.tag,n===13){if(n=u(o),n!==null){t.blockedOn=n,gl(t.priority,function(){sy(o)});return}}else if(n===31){if(n=m(o),n!==null){t.blockedOn=n,gl(t.priority,function(){sy(o)});return}}else if(n===3&&o.stateNode.current.memoizedState.isDehydrated){t.blockedOn=o.tag===3?o.stateNode.containerInfo:null;return}}}t.blockedOn=null}function As(t){if(t.blockedOn!==null)return!1;for(var n=t.targetContainers;0<n.length;){var o=Zd(t.nativeEvent);if(o===null){o=t.nativeEvent;var l=new o.constructor(o.type,o);Qc=l,o.target.dispatchEvent(l),Qc=null}else return n=ra(o),n!==null&&ly(n),t.blockedOn=o,!1;n.shift()}return!0}function fy(t,n,o){As(t)&&o.delete(n)}function h1(){Jd=!1,Ma!==null&&As(Ma)&&(Ma=null),Aa!==null&&As(Aa)&&(Aa=null),ja!==null&&As(ja)&&(ja=null),Er.forEach(fy),Cr.forEach(fy)}function js(t,n){t.blockedOn===n&&(t.blockedOn=null,Jd||(Jd=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,h1)))}var Rs=null;function my(t){Rs!==t&&(Rs=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Rs===t&&(Rs=null);for(var n=0;n<t.length;n+=3){var o=t[n],l=t[n+1],f=t[n+2];if(typeof l!="function"){if(Qd(l||o)===null)continue;break}var h=ra(o);h!==null&&(t.splice(n,3),n-=3,Zu(h,{pending:!0,data:f,method:o.method,action:l},l,f))}}))}function ho(t){function n(q){return js(q,t)}Ma!==null&&js(Ma,t),Aa!==null&&js(Aa,t),ja!==null&&js(ja,t),Er.forEach(n),Cr.forEach(n);for(var o=0;o<Ra.length;o++){var l=Ra[o];l.blockedOn===t&&(l.blockedOn=null)}for(;0<Ra.length&&(o=Ra[0],o.blockedOn===null);)dy(o),o.blockedOn===null&&Ra.shift();if(o=(t.ownerDocument||t).$$reactFormReplay,o!=null)for(l=0;l<o.length;l+=3){var f=o[l],h=o[l+1],b=f[bt]||null;if(typeof h=="function")b||my(o);else if(b){var T=null;if(h&&h.hasAttribute("formAction")){if(f=h,b=h[bt]||null)T=b.formAction;else if(Qd(f)!==null)continue}else T=b.action;typeof T=="function"?o[l+1]=T:(o.splice(l,3),l-=3),my(o)}}}function hy(){function t(h){h.canIntercept&&h.info==="react-transition"&&h.intercept({handler:function(){return new Promise(function(b){return f=b})},focusReset:"manual",scroll:"manual"})}function n(){f!==null&&(f(),f=null),l||setTimeout(o,20)}function o(){if(!l&&!navigation.transition){var h=navigation.currentEntry;h&&h.url!=null&&navigation.navigate(h.url,{state:h.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,f=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(o,100),function(){l=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),f!==null&&(f(),f=null)}}}function Wd(t){this._internalRoot=t}Ds.prototype.render=Wd.prototype.render=function(t){var n=this._internalRoot;if(n===null)throw Error(r(409));var o=n.current,l=Vt();oy(o,l,t,n,null,null)},Ds.prototype.unmount=Wd.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var n=t.containerInfo;oy(t.current,2,null,t,null,null),fs(),n[zn]=null}};function Ds(t){this._internalRoot=t}Ds.prototype.unstable_scheduleHydration=function(t){if(t){var n=pl();t={blockedOn:null,target:t,priority:n};for(var o=0;o<Ra.length&&n!==0&&n<Ra[o].priority;o++);Ra.splice(o,0,t),o===0&&dy(t)}};var py=a.version;if(py!=="19.2.5")throw Error(r(527,py,"19.2.5"));L.findDOMNode=function(t){var n=t._reactInternals;if(n===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=p(n),t=t!==null?y(t):null,t=t===null?null:t.stateNode,t};var p1={bundleType:0,version:"19.2.5",rendererPackageName:"react-dom",currentDispatcherRef:M,reconcilerVersion:"19.2.5"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var zs=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zs.isDisabled&&zs.supportsFiber)try{Rn=zs.inject(p1),Nt=zs}catch{}}return Ar.createRoot=function(t,n){if(!s(t))throw Error(r(299));var o=!1,l="",f=wp,h=_p,b=Np;return n!=null&&(n.unstable_strictMode===!0&&(o=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(h=n.onCaughtError),n.onRecoverableError!==void 0&&(b=n.onRecoverableError)),n=ay(t,1,!1,null,null,o,l,null,f,h,b,hy),t[zn]=n.current,Od(t),new Wd(n)},Ar.hydrateRoot=function(t,n,o){if(!s(t))throw Error(r(299));var l=!1,f="",h=wp,b=_p,T=Np,q=null;return o!=null&&(o.unstable_strictMode===!0&&(l=!0),o.identifierPrefix!==void 0&&(f=o.identifierPrefix),o.onUncaughtError!==void 0&&(h=o.onUncaughtError),o.onCaughtError!==void 0&&(b=o.onCaughtError),o.onRecoverableError!==void 0&&(T=o.onRecoverableError),o.formState!==void 0&&(q=o.formState)),n=ay(t,1,!0,n,o??null,l,f,q,h,b,T,hy),n.context=iy(null),o=n.current,l=Vt(),l=ko(l),f=ga(l),f.callback=null,ya(o,f,l),o=l,n.current.lanes=o,Ga(n,o),_n(n),t[zn]=n.current,Od(t),new Ds(n)},Ar.version="19.2.5",Ar}var Ey;function N1(){if(Ey)return nf.exports;Ey=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),nf.exports=_1(),nf.exports}var E1=N1();const Cy=e=>{let a;const i=new Set,r=(p,y)=>{const v=typeof p=="function"?p(a):p;if(!Object.is(v,a)){const x=a;a=y??(typeof v!="object"||v===null)?v:Object.assign({},a,v),i.forEach(S=>S(a,x))}},s=()=>a,m={setState:r,getState:s,getInitialState:()=>g,subscribe:p=>(i.add(p),()=>i.delete(p))},g=a=e(r,s,m);return m},C1=(e=>e?Cy(e):Cy),T1=e=>e;function M1(e,a=T1){const i=Lr.useSyncExternalStore(e.subscribe,Lr.useCallback(()=>a(e.getState()),[e,a]),Lr.useCallback(()=>a(e.getInitialState()),[e,a]));return Lr.useDebugValue(i),i}const Ty=e=>{const a=C1(e),i=r=>M1(a,r);return Object.assign(i,a),i},T0=(e=>e?Ty(e):Ty),M0=["default","gpt","claude","gemini","grok"];function Hf(e){return Array.isArray(e.images)}function A1(e){let a="message";const i=[];for(const s of e.split(`
10
- `))s.startsWith("event:")&&(a=s.slice(6).trim()),s.startsWith("data:")&&i.push(s.slice(5).trimStart());if(i.length===0)return null;const r=i.join(`
11
- `);return!r||r==="[DONE]"?null:{event:a,data:JSON.parse(r)}}async function j1(e,a={}){const i=await fetch("/api/node/generate",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(e)});if(!(i.headers.get("content-type")??"").includes("text/event-stream")){const g=await i.json().catch(()=>({}));if(!i.ok){const p=g,y=p?.error?.message??`Request failed: ${i.status}`,v=new Error(y);throw v.code=p?.error?.code,v.status=p?.status??i.status,v}return g}if(!i.ok||!i.body)throw new Error(`Request failed: ${i.status}`);const s=i.body.getReader(),c=new TextDecoder;let u="",m=null;for(;;){const{done:g,value:p}=await s.read();if(g)break;u+=c.decode(p,{stream:!0});let y=u.indexOf(`
12
-
13
- `);for(;y!==-1;){const v=u.slice(0,y);u=u.slice(y+2);const x=A1(v);if(x){if(x.event==="partial")a.onPartial?.(x.data);else if(x.event==="phase")a.onPhase?.(x.data);else if(x.event==="done")m=x.data;else if(x.event==="error"){const S=x.data,_=S?.error?.message??"Node generation failed",A=new Error(_);throw A.code=S?.error?.code,A.status=S?.status,A}}y=u.indexOf(`
14
-
15
- `)}}if(!m){const g=new Error("No image data returned from the node stream");throw g.code="EMPTY_RESPONSE",g.status=422,g}return m}async function Ye(e,a){const i=await fetch(e,a),r=await i.json().catch(()=>({}));if(!i.ok){const s=r.error,c=r.code,u=typeof s=="string"?s:s?.message??`Request failed: ${i.status}`,m=new Error(u);throw m.status=i.status,typeof s!="string"&&s?.code?m.code=s.code:c&&(m.code=c),typeof r.currentVersion=="number"&&(m.currentVersion=r.currentVersion),m}return r}function lf(e){const a=new URLSearchParams;e?.kind&&a.set("kind",e.kind),e?.sessionId&&a.set("sessionId",e.sessionId),e?.includeTerminal&&a.set("includeTerminal","1");const i=a.size>0?`?${a.toString()}`:"";return Ye(`/api/inflight${i}`)}async function My(e){await fetch(`/api/inflight/${encodeURIComponent(e)}`,{method:"DELETE"}).catch(()=>{})}function R1(){return Ye("/api/oauth/status")}function D1(){return Ye("/api/billing")}function z1(e){return Ye("/api/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function O1(e){let a=null;const i=[];for(const s of e.split(`
16
- `))s.startsWith("event:")&&(a=s.slice(6).trim()),s.startsWith("data:")&&i.push(s.slice(5).trimStart());if(i.length===0)return null;const r=i.join(`
17
- `);return!r||r==="[DONE]"?null:{event:a,data:JSON.parse(r)}}async function I1(e,a={},i={}){const r=await fetch("/api/generate/multimode",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(e),signal:i.signal});if(!(r.headers.get("content-type")??"").includes("text/event-stream")){const p=await r.json().catch(()=>({}));if(!r.ok){const y=p,v=new Error(y.error??`Request failed: ${r.status}`);throw v.code=y.code,v.status=y.status??r.status,v}return p}if(!r.ok||!r.body)throw new Error(`Request failed: ${r.status}`);const c=r.body.getReader(),u=new TextDecoder;let m="",g=null;for(;;){const{done:p,value:y}=await c.read();if(p)break;m+=u.decode(y,{stream:!0});let v=m.indexOf(`
18
-
19
- `);for(;v!==-1;){const x=m.slice(0,v);m=m.slice(v+2);const S=O1(x);if(S){if(S.event==="partial")a.onPartial?.(S.data);else if(S.event==="image")a.onImage?.(S.data);else if(S.event==="phase")a.onPhase?.(S.data);else if(S.event==="done")g=S.data;else if(S.event==="error"){const _=S.data,A=new Error(_.error??"Multimode generation failed");throw A.code=_.code,A.status=_.status,A}}v=m.indexOf(`
20
-
21
- `)}}if(!g){const p=new Error("No image data returned from the multimode stream");throw p.code="EMPTY_RESPONSE",p.status=422,p}return g}function k1(e){return Ye("/api/edit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}let jr=null;function A0(){if(!jr){const e=localStorage.getItem("ima2.browserId");e?jr=e:(jr=`${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,localStorage.setItem("ima2.browserId",jr))}return jr}function zo(e,a){const i={...a?.headers,"X-Ima2-Browser-Id":A0()};return Ye(e,{...a,headers:i})}function Bf(e={}){const a=new URLSearchParams;return a.set("limit",String(e.limit??50)),e.since!=null&&a.set("since",String(e.since)),e.cursor&&(a.set("before",String(e.cursor.before)),a.set("beforeFilename",e.cursor.beforeFilename)),e.sessionId&&a.set("sessionId",e.sessionId),zo(`/api/history?${a.toString()}`)}function L1(e={}){const a=new URLSearchParams;return a.set("groupBy","session"),a.set("limit",String(e.limit??200)),e.cursor&&(a.set("before",String(e.cursor.before)),a.set("beforeFilename",e.cursor.beforeFilename)),zo(`/api/history?${a.toString()}`)}function H1(e){return zo("/api/history/favorite",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filename:e})})}async function B1(){return(await Ye("/api/storage/status")).data}function U1(){return Ye("/api/storage/open-generated-dir",{method:"POST"})}function q1(e){return Ye(`/api/history/${encodeURIComponent(e)}`,{method:"DELETE"})}function G1(e){return Ye(`/api/history/${encodeURIComponent(e)}/permanent`,{method:"DELETE"})}function P1(e,a){return Ye(`/api/history/${encodeURIComponent(e)}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({trashId:a})})}function F1(e){return Ye("/api/comfy/export-image",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filename:e.filename})})}function V1(e){return Ye("/api/metadata/read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function $1(e){return zo(`/api/annotations/${encodeURIComponent(e)}`)}async function Y1(e,a){await zo(`/api/annotations/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({annotations:a})})}async function Ay(e){await zo(`/api/annotations/${encodeURIComponent(e)}`,{method:"DELETE"})}function X1(e){const a=new URLSearchParams({sourceFilename:e.sourceFilename});return Ye(`/api/canvas-versions?${a.toString()}`,{method:"POST",headers:{"Content-Type":"image/png"},body:e.image})}function K1(e,a){const i=new URLSearchParams;a.sourceFilename&&i.set("sourceFilename",a.sourceFilename);const r=i.size>0?`?${i.toString()}`:"";return Ye(`/api/canvas-versions/${encodeURIComponent(e)}${r}`,{method:"PUT",headers:{"Content-Type":"image/png"},body:a.image})}function Z1(){return Ye("/api/sessions")}function Q1(e){return Ye("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e})})}function j0(e){return Ye(`/api/sessions/${encodeURIComponent(e)}`)}function J1(e,a){return Ye(`/api/sessions/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a})})}function W1(e){return Ye(`/api/sessions/${encodeURIComponent(e)}`,{method:"DELETE"})}function e_(e,a,i,r,s={}){const c={"Content-Type":"application/json","If-Match":String(a)};return s.saveId&&(c["X-Ima2-Graph-Save-Id"]=s.saveId),s.saveReason&&(c["X-Ima2-Graph-Save-Reason"]=s.saveReason),s.tabId&&(c["X-Ima2-Tab-Id"]=s.tabId),Ye(`/api/sessions/${encodeURIComponent(e)}/graph`,{method:"PUT",headers:c,body:JSON.stringify({nodes:i,edges:r})})}function t_(e){const a=new URLSearchParams;return Ye(`/api/prompts?${a.toString()}`)}function n_(e){return Ye("/api/prompts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function a_(e){return Ye(`/api/prompts/${encodeURIComponent(e)}`,{method:"DELETE"})}function i_(e){return Ye(`/api/prompts/${encodeURIComponent(e)}/favorite`,{method:"POST"})}function o_(e){return Ye("/api/prompts/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function jy(e){return Ye("/api/prompts/import/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function r_(e){return Ye("/api/prompts/import/commit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function l_(e){return new Promise((a,i)=>{const r=new FileReader;r.onload=()=>a(String(r.result)),r.onerror=()=>i(r.error),r.readAsDataURL(e)})}function s_(e,a=256){return new Promise(i=>{const r=new Image;r.onload=()=>{const s=Math.min(1,a/Math.max(r.width,r.height)),c=document.createElement("canvas");c.width=r.width*s,c.height=r.height*s;const u=c.getContext("2d");if(!u)return i(e);u.drawImage(r,0,0,c.width,c.height),i(c.toDataURL("image/jpeg",.6))},r.onerror=()=>i(e),r.src=e})}const c_={maxB64Bytes:6e6,preserveTransparency:!1,maxEdge:4096,qualityLadder:[.85,.7,.55]},Ry=16777216;function u_(e,a,i){let r=e,s=a;if(r<=0||s<=0)return{w:1,h:1};const c=Math.max(r,s);if(c>i){const u=i/c;r=Math.round(r*u),s=Math.round(s*u)}if(r*s>Ry){const u=Math.sqrt(Ry/(r*s));r=Math.max(1,Math.floor(r*u)),s=Math.max(1,Math.floor(s*u))}return{w:r,h:s}}function sf(e){return new Promise((a,i)=>{const r=new FileReader;r.onload=()=>{typeof r.result=="string"?a(r.result):i(new Error("FileReader returned non-string"))},r.onerror=()=>i(r.error??new Error("FileReader failed")),r.readAsDataURL(e)})}function Dy(e,a,i){return new Promise((r,s)=>{e.toBlob(c=>c?r(c):s(new Error("canvas.toBlob returned null")),a,i)})}function cf(e){const a=e.indexOf(",");return a<0?e.length:e.length-a-1}async function Uf(e,a={}){const i={...c_,...a},r=await sf(e);if(cf(r)<=i.maxB64Bytes)return r;let s;try{s=await createImageBitmap(e)}catch(c){throw new Error("이미지 디코드 실패. JPEG/PNG로 변환 후 다시 시도해 주세요.",{cause:c})}try{const{w:c,h:u}=u_(s.width,s.height,i.maxEdge),m=document.createElement("canvas");m.width=c,m.height=u;const g=m.getContext("2d");if(!g)throw new Error("canvas 2d context unavailable");if(g.drawImage(s,0,0,c,u),i.preserveTransparency){const p=await Dy(m,"image/png"),y=await sf(p);if(cf(y)>i.maxB64Bytes)throw new Error("이미지 압축 실패. JPEG/PNG로 미리 변환 후 다시 시도해 주세요.");return y}for(const p of i.qualityLadder){const y=await Dy(m,"image/jpeg",p),v=await sf(y);if(cf(v)<=i.maxB64Bytes)return v}throw new Error("이미지 압축 실패. JPEG/PNG로 미리 변환 후 다시 시도해 주세요.")}finally{s.close?.()}}function Os(e){const a=(e.type||"").toLowerCase();if(a.includes("heic")||a.includes("heif"))return!0;const i=(e.name||"").toLowerCase();return i.endsWith(".heic")||i.endsWith(".heif")}function zy(e){return(e.type||"").toLowerCase()==="image/png"}const d_={ok:"확인",cancel:"취소",delete:"삭제",close:"닫기",saving:"저장 중...",loading:"불러오는 중..."},f_={localStorageFull:"로컬 저장소가 가득 차서 최근 상태가 저장되지 않을 수 있습니다.",refLimitExceeded:"참조 이미지는 최대 5장까지 추가할 수 있습니다. 초과한 이미지는 제외되었습니다.",refTooLarge:"이미지가 너무 큽니다. JPEG/PNG로 미리 변환하거나 해상도를 낮춰 다시 시도해 주세요.",refNotBase64:"이미지 파일이 손상되었거나 지원하지 않는 형식입니다.",refEmpty:"빈 이미지 파일입니다. 다른 파일을 선택해 주세요.",refHeicUnsupported:"HEIC/HEIF는 지원하지 않습니다. JPEG 또는 PNG로 변환 후 다시 시도해 주세요.",noCurrentImageForRef:"참조로 사용할 현재 이미지가 없습니다.",refSlotFull:"참조 이미지 슬롯이 가득 찼습니다. 최대 5장까지 가능합니다.",currentImageLoadFailed:"현재 이미지를 불러오지 못했습니다.",addedCurrentAsRef:"현재 이미지를 참조에 추가했습니다.",sessionLoadFailed:"세션을 불러오지 못했습니다.",sessionCreateFailed:"세션을 만들지 못했습니다.",sessionRenameFailed:"세션 이름을 바꾸지 못했습니다.",sessionDeleteFailed:"세션을 삭제하지 못했습니다.",promptRequired:"프롬프트를 입력하세요.",nodeCreated:"노드 {id} 생성 완료 ({elapsed}초)",nodeCreateFailed:"노드 생성에 실패했습니다.",generatedBatch:"{count}장을 {elapsed}초 만에 생성했습니다.",generatedSingle:"{elapsed}초 만에 생성했습니다.",generateFailed:"생성에 실패했습니다.",sessionReloadedElsewhere:"그래프 버전이 달라져 최신 그래프를 다시 불러왔습니다.",promptCopied:"프롬프트를 복사했습니다",imageCopied:"클립보드에 복사했습니다",copyFailed:"복사에 실패했습니다",openGeneratedDirFailed:"이미지 폴더를 열지 못했습니다. ima2 doctor로 저장 경로를 확인해 주세요.",openGeneratedDirOpened:"생성 이미지 폴더를 열었습니다.",noPromptToFork:"가져올 프롬프트가 없습니다",forkStarted:"이 이미지의 프롬프트를 가져왔습니다. 수정 후 다시 생성하세요",comfyExported:"ComfyUI로 보냈습니다: {filename}",comfyExportInvalidUrl:"ComfyUI URL은 로컬 HTTP 주소여야 합니다.",comfyExportInvalidImage:"이 저장 이미지는 ComfyUI로 보낼 수 없습니다.",comfyExportImageNotFound:"저장된 이미지 파일을 찾지 못했습니다.",comfyExportFailed:"ComfyUI로 이미지를 업로드하지 못했습니다."},m_={queued:"대기 중",streaming:"생성 중",decoding:"마무리 중"},h_={title:"크기",width:"가로",height:"세로",hint:"16px 단위, 최대 변 3840, 비율 3:1 이하, 65.5만-829만 픽셀",autoLabel:"자동",autoSub:"모델 추천",customLabel:"직접 입력",customSub:"자유 설정",customPlus:"+ 직접",customSlots:"저장 크기",customSlot:"커스텀",customSlotLimit:"커스텀 크기는 최대 3개",saveCustomSlot:"커스텀 크기 저장",replaceCustomSlot:"슬롯 교체",ratioFree:"자유",ratio21x9:"21:9",normalizedPreview:"전송 크기",noAdjustment:"조정 없음",squareMaxHint:"829만 픽셀 제한 때문에 정사각형 최대는 {size}입니다.",adjustedReasons:{snap:"16px 보정",maxEdge:"최대 변",ratio:"비율 제한",minPixels:"최소 픽셀",maxPixels:"최대 픽셀",min:"최소 변",max:"최대 변",pixels:"픽셀 제한"}},p_={title:"크기 조정이 필요합니다",body:"입력한 크기가 이미지 생성 제한을 벗어나 자동 조정이 필요합니다.",requested:"요청한 크기",adjusted:"조정될 크기",approve:"승인 후 생성",cancel:"취소",reasonRatio:"비율 제한 3:1을 초과했습니다.",reasonPixels:"최대 픽셀 수 제한을 초과했습니다.",reasonMinPixels:"요청한 이미지의 픽셀 수가 너무 적습니다.",reasonMin:"최소 크기보다 작습니다.",reasonMax:"최대 크기보다 큽니다.",reasonSnap:"16px 단위에 맞춰야 합니다."},g_={title:"품질",lowLabel:"낮음",lowSub:"빠름",mediumLabel:"중간",mediumSub:"균형",highLabel:"높음",highSub:"최상"},y_={title:"모더레이션",autoLabel:"자동",autoSub:"표준 필터",lowLabel:"낮음",lowSub:"완화 필터",explain:"자동은 표준 안전 필터를 사용합니다. 낮음은 제한을 조금 완화해 경계선 프롬프트가 더 통과할 수 있습니다."},v_={title:"포맷"},x_={title:"개수",customPlus:"+n",customLabel:"직접 입력 개수",highCountHint:"고품질이나 참조 이미지에서는 시간이 더 걸릴 수 있습니다.",minMaxHint:"1-8장까지 가능합니다.",decrease:"개수 줄이기",increase:"개수 늘리기"},b_={label:"멀티모드",tooltip:"한 프롬프트로 단계별 시퀀스를 생성합니다",shortHint:"단계별 생성",maxStages:"최대 단계",highCountHint:"단계가 많으면 몇 분 걸릴 수 있습니다.",minMaxHint:"1-8단계까지 가능합니다.",composerBadge:"시퀀스 · 최대 {count}장",composerAriaLabel:"멀티모드 프롬프트 입력창, 최대 {count}개의 별도 이미지",promptPlaceholder:"단계별로 만들 장면을 입력하세요. 콜라주가 아니라 별도 이미지로 요청합니다.",promptPlaceholderWithRefs:"첨부한 참조를 바탕으로 단계별 시퀀스를 입력하세요.",toggleDisabledGenerating:"현재 생성이 끝난 뒤 변경할 수 있습니다",sequenceTitle:"멀티모드 시퀀스",sequenceProgress:"{returned}/{requested}장",stageLabel:"{index}단계",generating:"생성 중...",partialAlt:"멀티모드 중간 미리보기",partial:"{requested}장 중 {returned}장을 {elapsed}초 만에 생성했습니다.",complete:"{requested}장 중 {returned}장을 {elapsed}초 만에 생성했습니다.",empty:"반환된 이미지 없음",error:"생성 실패",cancel:"취소"},S_={restoreTitle:"이미지 설정 복원",restoreBody:"이 이미지에 ima2 생성 정보가 있습니다. 프롬프트와 설정을 적용하거나 참조 이미지만 추가할 수 있습니다.",applySettings:"설정 적용",useAsReferenceOnly:"참조만 추가",noMetadata:"ima2 메타데이터가 없습니다.",invalidMetadata:"이미지 메타데이터가 올바르지 않습니다.",unsupportedFormat:"PNG, JPEG, WebP 메타데이터만 복원할 수 있습니다.",readFailed:"메타데이터를 읽지 못했습니다.",applied:"이미지 설정을 복원했습니다.",sourceXmp:"XMP",sourcePngComment:"PNG comment",imageAlt:"드롭한 이미지 미리보기",prompt:"프롬프트",size:"크기",quality:"품질",model:"모델",source:"출처"},w_={button:"생성",buttonLoading:"생성 중 ({n})"},__={label:"API 상태",checking:"확인 중...",offline:"오프라인",remaining:"${remaining} 남음",thisMonth:"이번 달 ${amount}",oauthFree:"OAuth 무료 사용 가능",apiDisabled:"API 키 비활성화됨 (OAuth 전용)",oauthMode:"OAuth 모드"},N_={openGalleryAria:"갤러리 열기",openGalleryTitle:"전체 갤러리 열기"},E_={closeSettings:"설정 닫기",detailSettings:"세부 설정",toggleShow:"세부 설정 보기",toggleHide:"세부 설정 숨기기",open:"열기",close:"닫기"},C_={label:"프롬프트",refCount:"참조 {count}/{max}",refChipTitle:"참조 이미지 {n}",refChipAlt:"참조 이미지 {n}",refRemoveAria:"참조 이미지 {n} 제거",placeholder:"원하는 이미지를 설명하고, 드래그 앤 드롭이나 붙여넣기로 참조 이미지를 추가할 수 있어요...",placeholderWithRefs:"첨부한 이미지로 무엇을 만들지 설명해 주세요...",attach:"첨부",attachTitle:"참조 이미지 첨부",useCurrent:"현재 결과 사용",useCurrentTitle:"현재 결과를 참조로 사용",directMode:"Direct",directModeActive:"1:1 Direct 켜짐",directModeTitle:"프롬프트를 원문 그대로 전달 (Direct 모드)",hint:"Ctrl + Enter로 생성",dropHere:"놓아서 참조 이미지로 추가 ({max}장까지)"},T_={resultAlt:"생성 결과",imageViewerAria:"생성 이미지 뷰어. 좌우 방향키로 이전 또는 다음 이미지를 볼 수 있습니다.",tokens:"{n} 토큰",open:"캔버스 열기",openAria:"캔버스 모드에서 이미지 열기",close:"캔버스 닫기",toolbar:{label:"캔버스 주석 도구",pan:"이동",pen:"펜",box:"박스",arrow:"화살표",memo:"메모",eraser:"지우개",eraserMenu:"지우개 옵션",objectEraser:"객체 지우개",brushEraser:"브러시 지우개",apply:"캔버스 버전 저장",applyDone:"캔버스 버전 저장됨",applyFailed:"캔버스 버전 저장 실패",export:"이미지 내보내기",exporting:"내보내는 중...",exportFailed:"내보내기 실패",undo:"실행 취소",redo:"다시 실행",deleteSelected:"선택 삭제",editMask:"박스 영역 편집",editMaskDisabled:"먼저 박스를 그려주세요",editMaskFailed:"마스크 편집 실패",editMaskUnsupported:"현재 이미지 제공자는 마스크 편집을 지원하지 않습니다",clear:"모두 지우기"},version:{saving:"캔버스 버전 저장 중...",saved:"캔버스 버전 저장됨",failed:"캔버스 버전 저장 실패",usingAsReference:"캔버스 버전을 참조 이미지로 사용할 수 있습니다"}},M_={today:"오늘",yesterday:"어제",thisWeek:"이번 주",earlier:"이전",imageAltFallback:"생성 이미지",deleteTitle:"삭제 (10초 내 복구 가능)",deleteAria:"이미지 삭제",ariaLabel:"이미지 갤러리",title:"갤러리",total:"총 {n}장",totalFiltered:" / 전체 {n}장",sortByAria:"정렬 기준",sortByDate:"날짜",sortBySession:"세션",favoriteFilterAria:"즐겨찾기 필터",filterAll:"전체",filterFavorites:"즐겨찾기",searchPlaceholder:"프롬프트나 파일명을 검색",searchDisabledPlaceholder:"세션 보기에서는 검색이 비활성화됩니다",closeAria:"갤러리 닫기",closeTitle:"닫기 (Esc)",sessionLabel:"세션 {name}",standalone:"독립 이미지",emptySessions:"아직 저장된 세션이 없습니다.",emptyAll:"아직 생성된 이미지가 없습니다. 먼저 하나 만들어보세요.",emptyFavorites:"아직 즐겨찾기한 이미지가 없습니다.",noResults:"검색 결과가 없습니다.",storageNoticeTitle:"저장 위치 안내",storageNoticeRecoverable:"놀라게 해드려 죄송합니다. 최근 버전에서 갤러리 저장 위치가 설치 폴더에서 사용자 데이터 폴더로 바뀌었습니다. 예전 이미지가 이전 generated 폴더에 남아 있을 수 있어요. ima2 doctor를 실행하거나 복구 안내를 확인해 주세요.",storageNoticeNotFound:"놀라게 해드려 죄송합니다. 현재 이 컴퓨터에서 이전 generated 폴더를 찾지 못했습니다. 업데이트 중 예전 전역 설치 폴더가 교체된 경우 자동 복구가 어려울 수 있습니다. ima2 doctor와 복구 안내의 수동 검색 방법을 확인해 주세요.",storageNoticeUnknown:"저장 위치 상태를 확인하지 못했습니다. 업데이트 후 갤러리가 비어 보인다면 ima2 doctor로 이미지 폴더를 확인해 주세요.",openGeneratedDir:"폴더 열기",openGeneratedDirTitle:"생성 이미지 폴더 열기",cardNewsSet:"카드뉴스 세트",cardNewsCard:"카드뉴스 카드",openCardNewsSet:"세트 열기",openCardNewsSetFailed:"카드뉴스 세트를 열지 못했습니다.",copyCardNewsSetPath:"경로 복사",cardNewsPathCopied:"카드뉴스 세트 경로를 복사했습니다.",downloadCardNewsManifest:"매니페스트",cardNewsCount:"{n}장",deleted:"삭제됨: {filename}",undo:"되돌리기",secondsSuffix:"{n}초",permanentDeleted:"완전 삭제됨: {filename}",deleteFailed:"이미지를 삭제하지 못했습니다.",restoreFailed:"이미지를 복구하지 못했습니다.",favoriteTitle:"즐겨찾기 추가",unfavoriteTitle:"즐겨찾기 해제",favoriteAria:"즐겨찾기 추가",unfavoriteAria:"즐겨찾기 해제"},A_={empty:"비어 있음",pending:"생성 중",reconciling:"동기화 중",reconcilingPhase:"동기화 중 · {phase}",ready:"완료 · {elapsed}s",readyWithSearch:"완료 · {elapsed}s · 검색 {searches}",stale:"오래된 상태",staleWithError:"오래된 상태: {error}",assetMissing:"에셋 누락",assetMissingWithError:"에셋 누락: {error}",error:"오류: {error}",errorUnknown:"알 수 없음",nodeImageAlt:"노드 이미지",partialImageAlt:"노드 중간 이미지 미리보기",noAsset:"에셋 없음",stateStale:"상태 오래됨",noImage:"이미지 없음",editPromptPlaceholder:"수정 프롬프트...",promptPlaceholder:"프롬프트...",regenerate:"재생성",newVariation:"새 변형",generate:"생성",generateTitle:"노드 이미지 생성",addChild:"자식",addChildTitle:"자식 노드 추가",duplicateBranch:"복제",duplicateBranchTitle:"새 브랜치 루트로 복제",deleteTitle:"삭제",regenerateTitle:"현재 노드 이미지를 제자리에서 다시 생성",newVariationTitle:"같은 부모 아래 새 변형 노드를 생성",parentImageRequired:"부모 이미지를 먼저 생성해야 합니다.",attachRef:"첨부",attachRefTitle:"노드 참조 이미지 첨부",refAlt:"노드 참조 이미지 {n}",removeRef:"참조 이미지 {n} 제거",dropRefs:"이미지를 여기에 놓기",nodeRefsUnsupportedForEdit:"추가 참조 이미지는 현재 루트 노드에서만 지원합니다.",nodeRefsUsedWithParent:"부모 이미지와 함께 참조로 사용됩니다.",classicRefsParkedTitle:"클래식 참조 이미지가 보관 중입니다",classicRefsParkedBody:"이 이미지는 클래식 작성창용이라 노드 모드 생성에는 사용되지 않습니다.",clearParkedRefs:"보관된 참조 비우기"},j_={selectionOn:"선택중",selectionOff:"선택",selectAll:"전체",summary:"선택 {selected} · 미생성 {missing} · 영향 {stale}",generateMissing:"미생성",regenerateSelected:"재생성",stopRemaining:"중단",stopping:"중단중",clear:"해제",noneSelected:"선택된 노드가 없습니다.",parentRequired:"부모 이미지가 준비되지 않은 선택 노드가 {count}개 있습니다.",nothingToRun:"생성할 선택 노드가 없습니다.",stopQueued:"현재 노드가 끝나면 남은 작업을 중단합니다.",failed:"{done}/{total} 완료 후 중단되었습니다.",finished:"{done}/{total} 노드 작업 완료",staleBecauseParentChanged:"상위 노드가 재생성되어 다시 확인이 필요합니다."},R_={disconnect:"끊기",disconnectTitle:"선택한 연결선 끊기",disconnected:"연결선을 끊었습니다.",parentConflict:"한 노드에는 부모 연결을 하나만 둘 수 있습니다."},D_={authTitle:"인증 방식",apiLabel:"API 키",oauthNotReady:"OAuth 프록시가 아직 준비되지 않았습니다.",codexLoginRequired:"Codex 로그인이 필요합니다.",codexLoginHint:"터미널에서 `codex login`을 실행한 뒤 이 페이지를 새로고침하세요.",oauthStarting:"OAuth 프록시가 시작 중입니다. 몇 초 후 다시 시도하세요.",serverUnreachable:"서버에 연결할 수 없습니다. 백엔드가 실행 중인지 확인하세요.",apiInvalid:"API 키가 없거나 유효하지 않습니다. 서버의 .env 파일에서 OPENAI_API_KEY를 확인하세요.",availableTitle:"{name} 사용 가능",availableAria:"{name}: 사용 가능",unavailableAria:"{name}: 사용 불가",availableSr:"(사용 가능)",unavailableSr:"(사용 불가)"},z_={free:"무료",approx:"약 ${amount}",multimodeApprox:"최대 약 ${amount} ({count}장)",label:"예상 비용"},O_={download:"다운로드",copyImage:"이미지 복사",copyPrompt:"프롬프트 복사",continueHere:"여기서 이어서",continueHereTitle:"이 이미지의 프롬프트를 가져와 이어서 작업",delete:"삭제",deleteTitle:"휴지통으로 이동",more:"더보기",sendToComfyUI:"ComfyUI로 보내기",sendToComfyUITitle:"이 저장된 이미지를 로컬 ComfyUI로 업로드",permanentDelete:"완전 삭제",permanentDeleteConfirm:'"{filename}" 이미지를 완전히 삭제할까요? 이 작업은 되돌릴 수 없습니다.'},I_={switchTitle:"세션 전환",loading:"불러오는 중...",newSession:"새 세션",newSessionTitle:"새 세션",renameTitle:"이름 변경",renamePrompt:"세션 이름",deleteTitle:"삭제",deleteConfirm:'"{title}" 세션을 삭제할까요? 이 작업은 되돌릴 수 없습니다.',empty:"아직 세션이 없습니다",firstGraph:"첫 번째 그래프",untitled:"제목 없는 세션",assetAbortedError:"생성이 정상적으로 끝나지 않았습니다. 이 노드에서 다시 시도하세요."},k_={ariaLabel:"UI 모드",classic:"기본",node:"노드",cardNews:"카드뉴스"},L_={workspace:"카드뉴스 작업공간",composer:"카드뉴스",composerHint:"템플릿은 스냅샷 기준이고, 출력 크기는 별도로 지정합니다.",topic:"주제",topicPlaceholder:"예: 중간고사 역전 플랜",audience:"대상",audiencePlaceholder:"예: 학부모",goal:"목표",goalPlaceholder:"예: 상담 신청",brief:"내용",briefPlaceholder:"카드뉴스에 들어갈 핵심 내용과 금지사항을 적어주세요.",outputSize:"출력 크기",customSize:"직접",draft:"초안 만들기",drafting:"초안 작성 중...",generateSet:"세트 생성",batchGenerate:"일괄 생성",generating:"생성 중...",generated:"{count}장 생성 완료.",missingGeneratedCard:"생성 응답에 이 카드가 포함되지 않았습니다.",error:"카드 생성에 실패했습니다.",imageTemplate:"이미지 템플릿",roleTemplate:"카드 구조",newTemplateLater:"커스텀 템플릿은 dev MVP 이후에 지원합니다",emptyTitle:"초안 대기 중",emptyBody:"왼쪽 설정으로 카드 덱을 준비합니다.",inspector:"카드 편집",cardTitle:"카드 제목",headline:"제목",body:"본문",visualPrompt:"이미지 프롬프트",summaryCopy:"요약 문구",designPrompt:"장면 / 디자인 프롬프트",textFields:"텍스트 박스",addTextField:"텍스트 박스 추가",removeTextField:"삭제",noTextFields:"아직 텍스트 박스가 없습니다.",textFieldText:"텍스트",textKind:"종류",placement:"위치",renderMode:"표시 방식",hierarchyLabel:"위계",textTooLong:"권장 길이를 초과했습니다.",selectTextField:"텍스트 박스 선택: {text}",textKinds:{headline:"제목",body:"설명 텍스트",caption:"캡션",cta:"행동 유도",badge:"배지",number:"숫자"},renderModes:{"in-image":"이미지에 표시","ui-only":"메모만"},hierarchy:{primary:"주요",secondary:"보조",supporting:"부가"},placements:{"top-left":"좌측 상단","top-center":"상단 중앙","top-right":"우측 상단","center-left":"좌측 중앙",center:"중앙","center-right":"우측 중앙","bottom-left":"좌측 하단","bottom-center":"하단 중앙","bottom-right":"우측 하단",free:"직접 지정"},roles:{cover:"표지",hook:"후킹",problem:"문제",insight:"인사이트",example:"예시",data:"데이터",summary:"요약",cta:"행동 유도"},locked:"잠김",unlocked:"열림",noCard:"선택된 카드 없음",generatedMeta:"생성 메타데이터",lockedHelp:"잠긴 카드는 일괄 생성과 재시도에서 제외됩니다.",retryCard:"이 카드 재시도",actions:{copyPrompt:"프롬프트 복사",copyCopy:"문구 복사",openImage:"이미지 열기",downloadCard:"다운로드"},status:{draft:"초안",queued:"대기",generating:"생성 중",generated:"완료",error:"오류",skipped:"제외",locked:"잠김"},progress:{generating:"생성 중 {done}/{total}",summary:"완료 {done}/{total}",detail:"대기 {queued} · 오류 {errors} · 제외 {skipped}",cardGenerating:"이 카드를 생성 중입니다."},planner:{structured:"구조화 JSON",jsonMode:"JSON 모드",repaired:"보정됨",fallback:"기본 초안",jsonOnlyHelp:"초안은 JSON만 만들고 이미지는 나중에 생성합니다.",error:"초안 생성 실패"}},H_={appName:"이미지 생성기",imageModelLabel:"모델",imageModelAria:"이미지 모델 선택",nodeModeHint:"노드 모드에서는 노드를 눌러 프롬프트를 수정한 뒤 생성하세요. 오른쪽 패널의 설정 (품질/크기)은 새로 만드는 모든 결과에 적용됩니다."},B_={openAria:"설정 열기",openTitle:"설정",closeAria:"설정 닫기",closeTitle:"캔버스로 돌아가기",navAria:"설정 섹션",contentAria:"설정 내용",jumpTo:"{section} 섹션으로 이동",eyebrow:"작업공간 설정",title:"설정",subtitle:"계정, 화면, 앞으로 늘어날 작업공간 옵션을 이곳에 모아 생성 흐름은 가볍게 유지합니다.",sections:{account:{title:"계정",hint:"OAuth 상태"},generation:{title:"생성",hint:"모델 기본값"},appearance:{title:"화면",hint:"라이트/다크"},language:{title:"언어",hint:"UI 문구"},future:{title:"예정",hint:"확장 공간"}},account:{primaryEyebrow:"현재 공급자",oauthTitle:"OAuth 사용 중",oauthBody:"현재 생성은 Codex OAuth 세션으로 실행됩니다. 이 빌드에서는 API-Key 생성 모드가 비활성화되어 있습니다.",apiSourceEnv:"OPENAI_API_KEY 감지됨",apiSourceConfig:"config.json API 키 감지됨",apiTitle:"Configured but disabled",apiBody:"env/config에서 API 키를 찾았지만, 지금 ima2-gen은 OAuth 전용으로 동작합니다. 이 상태 표시를 숨기고 싶을 때만 키를 제거하세요.",apiDisabled:"비활성화",apiUnknown:"상태 불명"},imageModel:{title:"이미지 모델",body:"앞으로 생성 요청에 사용할 OAuth 이미지 모델을 선택합니다.",gpt54Mini:"GPT-5.4 Mini",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt53CodexSpark:"GPT-5.3 Codex Spark — 이미지 생성 미지원",unsupportedHelp:"기본값은 GPT-5.4 Mini입니다. GPT-5.3 Codex Spark는 OAuth 모델 상태에 보일 수 있지만 image_generation 도구를 지원하지 않습니다."},reasoning:{title:"추론 강도",body:"값이 높을수록 생성 전에 plan/검색/프롬프트 보강에 더 많은 reasoning 토큰을 사용합니다.",low:"Low — 가장 빠름, 추론 최소",medium:"Medium — 기본 균형값",high:"High — 더 깊은 리서치와 통합",xhigh:"Xhigh — 최대 추론, 가장 느림"},webSearch:{title:"웹서치",body:"실존 인물, 브랜드, 제품, 장소, 최신 이벤트를 생성 전에 실시간 검색해서 반영합니다.",on:"검색 켬",off:"검색 끔"},appearance:{themeTitle:"테마",themeBody:"이 기기에서 사용할 테마 스타일과 밝기를 선택합니다.",historyStripLayoutTitle:"히스토리 썸네일",historyStripLayoutBody:"작업공간 옆 작은 히스토리 배열 방식을 고릅니다.",historyStripLayout:{rail:"세로",horizontal:"상단 가로",sidebar:"사이드바"}},language:{title:"언어",body:"생성 프롬프트와 무관하게 인터페이스 언어만 바꿉니다."},future:{title:"나중을 위한 자리",body:"OAuth 복구 도구나 작업공간 옵션이 실제로 필요해지면 이곳에 추가합니다."}},U_={loading:"세션 불러오는 중...",addFirst:"+ 첫 노드 추가",addRootTitle:"루트 노드 추가",hint:"핸들을 빈 공간으로 드래그하면 새 브랜치가 생깁니다. Delete 또는 Backspace로 삭제할 수 있습니다."},q_={title:"{provider} 사용 불가",ariaLabel:"{provider} 사용 불가"},G_={label:"언어",ko:"한국어",en:"English"},P_={label:"테마",modeLabel:"밝기",styleLabel:"테마 스타일",system:"시스템",dark:"다크",light:"라이트",family:{default:"기본",gpt:"GPT",claude:"Claude",gemini:"Gemini",grok:"Grok"}},F_={close:"닫기",details:"자세한 원본 오류 보기",unknown:{title:"알 수 없는 오류가 발생했어요",body:"잠시 후 다시 시도해 주세요. 문제가 계속되면 원본 오류 메시지를 복사해 제보해 주세요."},moderationRefused:{title:"프롬프트가 모더레이션에 걸렸어요",body:"표현 수위를 낮추거나 다른 문구로 바꿔 보세요. 레퍼런스 이미지의 선정적/폭력적 요소도 영향을 줄 수 있어요.",cta:"프롬프트 수정"},emptyResponse:{title:"이미지가 돌아오지 않았어요",body:"Codex가 응답을 보냈지만 이미지 데이터가 비어 있었어요. 모더레이션 문제가 아니라 일시적 오류이거나 지원되지 않는 옵션 조합일 수 있어요. 다시 시도하거나 크기·품질·모델을 바꿔 보세요.",cta:"다시 시도"},upstream5xx:{title:"OpenAI 서버가 혼잡합니다",body:"잠시 후 다시 시도하면 대부분 해결돼요. 상태 페이지(status.openai.com)도 확인해 보세요.",cta:"다시 시도"},authChatgptExpired:{title:"Codex ChatGPT 로그인이 만료됐어요",body:"터미널에서 `npx @openai/codex login`을 다시 실행한 뒤 앱을 새로고침해 주세요.",cta:"새로고침"},authApiKeyInvalid:{title:"API 키 인증 실패",body:"키가 잘못됐거나 한도/조직 권한 문제예요. 본 앱은 API-Key 모드가 비활성화되어 있어 OAuth(ChatGPT 로그인)로 전환하는 편이 좋아요.",cta:"확인"},networkFailed:{title:"네트워크 연결 실패",body:"OpenAI 또는 로컬 런타임 서비스에 연결하지 못했어요. 먼저 새로고침하고, 계속되면 VPN/방화벽과 `ima2 doctor`에 표시되는 포트를 확인해 주세요.",cta:"새로고침"},oauthUnavailable:{title:"OAuth 프록시를 사용할 수 없어요",body:"OAuth 프록시가 아직 시작 중이거나, 사용할 수 없거나, fallback 포트로 이동했을 수 있어요. 먼저 새로고침하고, 계속되면 `ima2 doctor`의 OAuth URL을 확인해 주세요.",cta:"새로고침"},invalidRequest:{title:"이미지 요청을 수정해야 해요",body:"생성 요청의 일부 값이 올바르지 않습니다. 아래 원본 오류를 확인한 뒤 프롬프트나 크기를 수정해 다시 시도해 주세요.",cta:"입력 수정"},apikeyDisabled:{title:"API-Key 모드가 비활성화되어 있어요",body:"본 앱은 OAuth(ChatGPT 로그인) 전용으로 동작합니다. 공급자를 OAuth로 전환해 주세요.",cta:"확인"}},V_={title:"프롬프트 라이브러리",saveTitle:"프롬프트 라이브러리에 저장",save:"저장",saved:"프롬프트를 저장했습니다",saveFailed:"저장에 실패했습니다",name:"이름",tags:"태그",search:"프롬프트 검색...",favorites:"즐겨찾기",load:"불러오기",insert:"삽입",inserted:"프롬프트를 삽입했습니다",removeInserted:"삽입한 프롬프트 {name} 제거",favorite:"즐겨찾기",unfavorite:"즐겨찾기 해제",empty:"저장된 프롬프트가 없어요.",content:"내용",copy:"복사",untitled:"제목 없음",addNew:"새 프롬프트 추가",import:"불러오기",importFiles:".txt, .md, .markdown 또는 GitHub 파일 불러오기",dropImport:".txt, .md, .markdown 파일을 놓으면 프롬프트로 가져옵니다",importTitle:"프롬프트 가져오기",importDropTitle:"파일을 여기에 드래그하세요",importDropHint:".txt, .md, .markdown 파일을 preview한 뒤 저장합니다",importChooseFiles:"파일 선택",importGithubLabel:"GitHub 파일 URL 또는 경로",importPreview:"미리보기",importPreviewEmpty:"파일을 드래그하거나 GitHub 경로를 입력하면 후보가 표시됩니다.",importCommit:"선택 항목 저장",importSelectAtLeastOne:"저장할 프롬프트를 하나 이상 선택하세요.",imported:"프롬프트 {count}개를 가져왔습니다",importFailed:"가져오기에 실패했습니다",importNoValidFiles:".txt, .md, .markdown 프롬프트 파일이 없습니다."},$_={common:d_,toast:f_,inflight:m_,size:h_,sizeConfirm:p_,quality:g_,moderation:y_,format:v_,count:x_,multimode:b_,metadata:S_,generate:w_,billing:__,history:N_,panel:E_,prompt:C_,canvas:T_,gallery:M_,node:A_,nodeBatch:j_,edge:R_,provider:D_,cost:z_,result:O_,session:I_,uiMode:k_,cardNews:L_,sidebar:H_,settings:B_,nodeCanvas:U_,apiDisabled:q_,language:G_,theme:P_,errorCard:F_,promptLibrary:V_},Y_={ok:"OK",cancel:"Cancel",delete:"Delete",close:"Close",saving:"Saving...",loading:"Loading..."},X_={localStorageFull:"Local storage is full — recent state may not persist.",refLimitExceeded:"References are capped at 5. Extra images were dropped.",refTooLarge:"Image is too large. Convert to JPEG/PNG or lower the resolution and try again.",refNotBase64:"Image file is corrupted or uses an unsupported encoding.",refEmpty:"Empty image file. Please pick a different file.",refHeicUnsupported:"HEIC/HEIF is not supported. Convert to JPEG or PNG and try again.",noCurrentImageForRef:"No current image to use as reference.",refSlotFull:"Reference slots are full (max 5).",currentImageLoadFailed:"Failed to load current image.",addedCurrentAsRef:"Added current image as a reference.",sessionLoadFailed:"Failed to load session.",sessionCreateFailed:"Failed to create session.",sessionRenameFailed:"Failed to rename session.",sessionDeleteFailed:"Failed to delete session.",promptRequired:"Enter a prompt.",nodeCreated:"Node {id} created ({elapsed}s)",nodeCreateFailed:"Node generation failed.",generatedBatch:"Generated {count} images in {elapsed}s.",generatedSingle:"Generated in {elapsed}s.",generateFailed:"Generation failed.",sessionReloadedElsewhere:"Graph version changed, so the latest graph was reloaded.",promptCopied:"Prompt copied",imageCopied:"Copied to clipboard",copyFailed:"Copy failed",openGeneratedDirFailed:"Could not open the image folder. Run ima2 doctor to check the storage path.",openGeneratedDirOpened:"Opened the generated image folder.",noPromptToFork:"No prompt to fork",forkStarted:"Prompt imported. Edit and generate again.",comfyExported:"Sent to ComfyUI as {filename}.",comfyExportInvalidUrl:"ComfyUI URL must be a local HTTP address.",comfyExportInvalidImage:"This saved image cannot be sent to ComfyUI.",comfyExportImageNotFound:"Saved image file was not found.",comfyExportFailed:"Could not upload image to ComfyUI."},K_={queued:"Queued",streaming:"Generating",decoding:"Finalizing"},Z_={title:"Size",width:"Width",height:"Height",hint:"16px steps, max edge 3840, ratio up to 3:1, 655K–8.29M pixels",autoLabel:"Auto",autoSub:"Model pick",customLabel:"Custom",customSub:"Free form",customPlus:"+ Custom",customSlots:"Saved sizes",customSlot:"Custom",customSlotLimit:"Up to 3 custom sizes",saveCustomSlot:"Save custom size",replaceCustomSlot:"Replace slot",ratioFree:"Free",ratio21x9:"21:9",normalizedPreview:"Will send",noAdjustment:"No adjustment",squareMaxHint:"Square maximum is {size} because of the 8.29M pixel limit.",adjustedReasons:{snap:"snapped to 16px",maxEdge:"max edge",ratio:"ratio limit",minPixels:"minimum pixels",maxPixels:"maximum pixels",min:"minimum edge",max:"maximum edge",pixels:"pixel limit"}},Q_={title:"Size adjustment required",body:"The requested size is outside the image generation limits.",requested:"Requested size",adjusted:"Adjusted size",approve:"Approve and generate",cancel:"Cancel",reasonRatio:"The ratio exceeds the 3:1 limit.",reasonPixels:"The maximum pixel limit is exceeded.",reasonMinPixels:"The requested image has too few pixels.",reasonMin:"The size is below the minimum.",reasonMax:"The size is above the maximum.",reasonSnap:"The size must align to 16px increments."},J_={title:"Quality",lowLabel:"Low",lowSub:"Fast",mediumLabel:"Medium",mediumSub:"Balanced",highLabel:"High",highSub:"Best"},W_={title:"Moderation",autoLabel:"Auto",autoSub:"Standard filter",lowLabel:"Low",lowSub:"Relaxed filter",explain:"Auto uses the standard safety filter. Low relaxes limits so borderline prompts may pass through."},eN={title:"Format"},tN={title:"Count",customPlus:"+n",customLabel:"Custom count",highCountHint:"Higher counts can take longer with references or high quality.",minMaxHint:"Use 1–8 images.",decrease:"Decrease count",increase:"Increase count"},nN={label:"Multimode",tooltip:"Generate a staged sequence from one prompt",shortHint:"one prompt sequence",maxStages:"Max stages",highCountHint:"Higher stage counts can take several minutes.",minMaxHint:"Use 1–8 stages.",composerBadge:"Sequence · up to {count}",composerAriaLabel:"Multimode prompt composer, up to {count} separate images",promptPlaceholder:"Describe the sequence. The app will ask for separate images, not a collage.",promptPlaceholderWithRefs:"Describe the staged sequence using the attached references.",toggleDisabledGenerating:"Wait for the current generation to finish",sequenceTitle:"Multimode sequence",sequenceProgress:"{returned}/{requested} images",stageLabel:"Stage {index}",generating:"Generating...",partialAlt:"Partial multimode preview",partial:"Generated {returned}/{requested} images in {elapsed}s.",complete:"Generated {returned}/{requested} images in {elapsed}s.",empty:"No image returned",error:"Generation failed",cancel:"Cancel"},aN={restoreTitle:"Restore image settings",restoreBody:"This image contains ima2 generation metadata. Apply its prompt and settings, or attach it as a reference only.",applySettings:"Apply settings",useAsReferenceOnly:"Reference only",noMetadata:"No ima2 metadata found.",invalidMetadata:"Invalid image metadata.",unsupportedFormat:"Only PNG, JPEG, and WebP metadata can be restored.",readFailed:"Could not read image metadata.",applied:"Image settings restored.",sourceXmp:"XMP",sourcePngComment:"PNG comment",imageAlt:"Dropped image preview",prompt:"Prompt",size:"Size",quality:"Quality",model:"Model",source:"Source"},iN={button:"Generate",buttonLoading:"Generating ({n})"},oN={label:"API Status",checking:"Checking...",offline:"Offline",remaining:"${remaining} remaining",thisMonth:"${amount} this month",oauthFree:"OAuth · free via codex",apiDisabled:"API key disabled (OAuth only)",oauthMode:"OAuth mode"},rN={openGalleryAria:"Open gallery",openGalleryTitle:"Open full gallery"},lN={closeSettings:"Close settings",detailSettings:"Settings",toggleShow:"Show settings",toggleHide:"Hide settings",open:"Open",close:"Close"},sN={label:"Prompt",refCount:"Refs {count}/{max}",refChipTitle:"Reference {n}",refChipAlt:"Reference {n}",refRemoveAria:"Remove reference {n}",placeholder:"Describe the image you want. Drag & drop or paste to attach reference images...",placeholderWithRefs:"Describe what to do with the attached images...",attach:"Attach",attachTitle:"Attach reference images",useCurrent:"Use current",useCurrentTitle:"Use current result as a reference",directMode:"Direct",directModeActive:"1:1 Direct on",directModeTitle:"Pass prompt through verbatim (Direct mode)",hint:"Ctrl + Enter to generate",dropHere:"Drop to attach as reference (up to {max})"},cN={resultAlt:"result",imageViewerAria:"Generated image viewer. Use left and right arrow keys to move between images.",tokens:"{n} tokens",open:"Open Canvas",openAria:"Open image in canvas mode",close:"Close Canvas",toolbar:{label:"Canvas annotation tools",pan:"Pan",pen:"Pen",box:"Box",arrow:"Arrow",memo:"Sticky memo",eraser:"Eraser",eraserMenu:"Eraser options",objectEraser:"Object eraser",brushEraser:"Brush eraser",apply:"Save canvas version",applyDone:"Canvas version saved",applyFailed:"Could not save canvas version",export:"Export image",exporting:"Exporting...",exportFailed:"Export failed",undo:"Undo",redo:"Redo",deleteSelected:"Delete selected",editMask:"Edit boxed areas",editMaskDisabled:"Draw a box first",editMaskFailed:"Masked edit failed",editMaskUnsupported:"Masked edit is not supported by the current image provider",clear:"Clear all"},version:{saving:"Saving canvas version...",saved:"Canvas version saved",failed:"Could not save canvas version",usingAsReference:"Canvas version is ready as a reference"}},uN={today:"Today",yesterday:"Yesterday",thisWeek:"This week",earlier:"Earlier",imageAltFallback:"Generated image",deleteTitle:"Delete (10s undo)",deleteAria:"Delete image",ariaLabel:"Image gallery",title:"Gallery",total:"{n} total",totalFiltered:" / {n} total",sortByAria:"Sort by",sortByDate:"Date",sortBySession:"Session",favoriteFilterAria:"Favorite filter",filterAll:"All",filterFavorites:"Favorites",searchPlaceholder:"Search prompts or filenames",searchDisabledPlaceholder:"Search is disabled in session view",closeAria:"Close gallery",closeTitle:"Close (Esc)",sessionLabel:"Session {name}",standalone:"Standalone images",emptySessions:"No sessions saved yet.",emptyAll:"No images yet. Create one first.",emptyFavorites:"No favorite images yet.",noResults:"No results.",storageNoticeTitle:"Storage notice",storageNoticeRecoverable:"Sorry for the scare. Recent versions moved the gallery folder from the installed package to your user data folder. Your old images may still be in the previous generated folder. Run ima2 doctor or open the recovery guide.",storageNoticeNotFound:"Sorry for the scare. We could not find a previous generated folder on this machine. If the old global install folder was replaced during update, automatic recovery may not be possible. Run ima2 doctor and check the recovery guide for manual search steps.",storageNoticeUnknown:"Storage status could not be checked. If the gallery looks empty after an update, run ima2 doctor to inspect the image folder.",openGeneratedDir:"Open folder",openGeneratedDirTitle:"Open generated image folder",cardNewsSet:"Card News set",cardNewsCard:"Card News card",openCardNewsSet:"Open set",openCardNewsSetFailed:"Could not open the Card News set.",copyCardNewsSetPath:"Copy path",cardNewsPathCopied:"Card News set path copied.",downloadCardNewsManifest:"Manifest",cardNewsCount:"{n} cards",deleted:"Deleted: {filename}",undo:"Undo",secondsSuffix:"{n}s",permanentDeleted:"Permanently deleted: {filename}",deleteFailed:"Could not delete image.",restoreFailed:"Could not restore image.",favoriteTitle:"Add to favorites",unfavoriteTitle:"Remove from favorites",favoriteAria:"Add to favorites",unfavoriteAria:"Remove from favorites"},dN={empty:"Empty",pending:"Generating",reconciling:"Syncing",reconcilingPhase:"Syncing · {phase}",ready:"Done · {elapsed}s",readyWithSearch:"Done · {elapsed}s · searched {searches}",stale:"Stale",staleWithError:"Stale: {error}",assetMissing:"Asset missing",assetMissingWithError:"Asset missing: {error}",error:"Error: {error}",errorUnknown:"unknown",nodeImageAlt:"Node image",partialImageAlt:"Partial node image preview",noAsset:"No asset",stateStale:"State stale",noImage:"No image",editPromptPlaceholder:"Edit prompt...",promptPlaceholder:"Prompt...",regenerate:"Regen",newVariation:"New variant",generate:"Gen",generateTitle:"Generate node image",addChild:"Child",addChildTitle:"Add child node",duplicateBranch:"Branch",duplicateBranchTitle:"Duplicate as a new branch root",deleteTitle:"Delete",regenerateTitle:"Regenerate this node in place",newVariationTitle:"Create a new sibling variant under the same parent",parentImageRequired:"Generate the parent image first.",attachRef:"Attach",attachRefTitle:"Attach node reference images",refAlt:"Node reference {n}",removeRef:"Remove reference {n}",dropRefs:"Drop images here",nodeRefsUnsupportedForEdit:"Extra references are only supported on root nodes for now.",nodeRefsUsedWithParent:"Used together with the parent image.",classicRefsParkedTitle:"Classic references are parked",classicRefsParkedBody:"These images belong to the classic composer and are inactive in node mode.",clearParkedRefs:"Clear parked references"},fN={selectionOn:"Selecting",selectionOff:"Select",selectAll:"Select all",summary:"{selected} selected · {missing} missing · {stale} affected",generateMissing:"Generate missing",regenerateSelected:"Regenerate selected",stopRemaining:"Stop remaining",stopping:"Stopping",clear:"Clear",noneSelected:"No nodes selected.",parentRequired:"{count} selected node(s) need a ready parent image first.",nothingToRun:"No selected nodes need generation.",stopQueued:"The current node will finish, then the remaining queue will stop.",failed:"Stopped after {done}/{total} node(s).",finished:"Finished {done}/{total} node(s).",staleBecauseParentChanged:"An upstream node was regenerated; refresh this node when needed."},mN={disconnect:"Disconnect",disconnectTitle:"Disconnect selected edge",disconnected:"Connection removed.",parentConflict:"A node can only have one parent connection."},hN={authTitle:"Authentication",apiLabel:"API Key",oauthNotReady:"OAuth proxy is not ready yet.",codexLoginRequired:"Codex login required.",codexLoginHint:"Run `codex login` in your terminal, then refresh this page.",oauthStarting:"OAuth proxy is starting. Try again in a few seconds.",serverUnreachable:"Cannot reach the server. Make sure the backend is running.",apiInvalid:"API key is missing or invalid. Check OPENAI_API_KEY in the server's .env.",availableTitle:"{name} available",availableAria:"{name}: available",unavailableAria:"{name}: unavailable",availableSr:"(available)",unavailableSr:"(unavailable)"},pN={free:"free",approx:"~${amount}",multimodeApprox:"up to ~${amount} ({count})",label:"Est. cost"},gN={download:"Download",copyImage:"Copy image",copyPrompt:"Copy prompt",continueHere:"Continue here",continueHereTitle:"Import this image's prompt and keep working",delete:"Delete",deleteTitle:"Move to trash",more:"More",sendToComfyUI:"Send to ComfyUI",sendToComfyUITitle:"Upload this saved image to local ComfyUI",permanentDelete:"Permanently delete",permanentDeleteConfirm:'Permanently delete "{filename}"? This cannot be undone.'},yN={switchTitle:"Switch session",loading:"Loading...",newSession:"New session",newSessionTitle:"New session",renameTitle:"Rename",renamePrompt:"Session name",deleteTitle:"Delete",deleteConfirm:'Delete session "{title}"? This cannot be undone.',empty:"No sessions yet",firstGraph:"My first graph",untitled:"Untitled session",assetAbortedError:"Generation did not finish cleanly. Retry from this node."},vN={ariaLabel:"UI mode",classic:"Classic",node:"Node",cardNews:"Card News"},xN={workspace:"Card News workspace",composer:"Card News",composerHint:"Templates are visual snapshots; output size is set separately.",topic:"Topic",topicPlaceholder:"e.g. Exam comeback plan",audience:"Audience",audiencePlaceholder:"e.g. Parents",goal:"Goal",goalPlaceholder:"e.g. Book a consultation",brief:"Brief",briefPlaceholder:"Describe the card news content, required points, and exclusions.",outputSize:"Output size",customSize:"Custom",draft:"Draft outline",drafting:"Drafting...",generateSet:"Generate set",batchGenerate:"Batch generate",generating:"Generating...",generated:"Generated {count} cards.",missingGeneratedCard:"The generation response did not include this card.",error:"Card generation failed.",imageTemplate:"Image template",roleTemplate:"Card structure",newTemplateLater:"Custom templates are planned after the dev MVP",emptyTitle:"Waiting for a draft",emptyBody:"Use the left setup panel to prepare the card deck.",inspector:"Card inspector",cardTitle:"Card title",headline:"Headline",body:"Body",visualPrompt:"Image prompt",summaryCopy:"Summary copy",designPrompt:"Scene / design prompt",textFields:"Text boxes",addTextField:"Add text box",removeTextField:"Remove",noTextFields:"No text boxes yet.",textFieldText:"Text",textKind:"Kind",placement:"Placement",renderMode:"Render mode",hierarchyLabel:"Hierarchy",textTooLong:"Text exceeds the suggested length.",selectTextField:"Select text box: {text}",textKinds:{headline:"Headline",body:"Supporting text",caption:"Caption",cta:"CTA",badge:"Badge",number:"Number"},renderModes:{"in-image":"In image","ui-only":"UI only"},hierarchy:{primary:"Primary",secondary:"Secondary",supporting:"Supporting"},placements:{"top-left":"Top-left","top-center":"Top-center","top-right":"Top-right","center-left":"Center-left",center:"Center","center-right":"Center-right","bottom-left":"Bottom-left","bottom-center":"Bottom-center","bottom-right":"Bottom-right",free:"Free"},roles:{cover:"Cover",hook:"Hook",problem:"Problem",insight:"Insight",example:"Example",data:"Data",summary:"Summary",cta:"CTA"},locked:"Locked",unlocked:"Unlocked",noCard:"No card selected",generatedMeta:"Generated metadata",lockedHelp:"Locked cards are excluded from batch generation and retry.",retryCard:"Retry this card",actions:{copyPrompt:"Copy prompt",copyCopy:"Copy copy",openImage:"Open image",downloadCard:"Download"},status:{draft:"Draft",queued:"Queued",generating:"Generating",generated:"Done",error:"Error",skipped:"Skipped",locked:"Locked"},progress:{generating:"Generating {done}/{total}",summary:"Done {done}/{total}",detail:"{queued} queued · {errors} errors · {skipped} skipped",cardGenerating:"Generating this card."},planner:{structured:"Structured JSON",jsonMode:"JSON mode",repaired:"Repaired",fallback:"Fallback draft",jsonOnlyHelp:"Draft creates JSON only. Images are generated later.",error:"Draft failed"}},bN={appName:"Image Generator",imageModelLabel:"Model",imageModelAria:"Choose image model",nodeModeHint:"In node mode, click a node to edit its prompt and generate. Settings on the right panel (quality/size) apply to every new result."},SN={openAria:"Open settings",openTitle:"Settings",closeAria:"Close settings",closeTitle:"Return to canvas",navAria:"Settings sections",contentAria:"Settings content",jumpTo:"Jump to {section}",eyebrow:"Workspace settings",title:"Settings",subtitle:"Account, display, and future workspace controls live here so the generator stays focused.",sections:{account:{title:"Account",hint:"OAuth status"},generation:{title:"Generation",hint:"Model defaults"},appearance:{title:"Appearance",hint:"Light and dark"},language:{title:"Language",hint:"Interface copy"},future:{title:"Future",hint:"Reserved"}},account:{primaryEyebrow:"Active provider",oauthTitle:"OAuth is active",oauthBody:"Generation currently runs through your Codex OAuth session. API-key generation remains disabled in this build.",apiSourceEnv:"OPENAI_API_KEY detected",apiSourceConfig:"config.json API key detected",apiTitle:"Configured but disabled",apiBody:"ima2-gen found an API key in env/config, but the app is OAuth-only right now. Remove the key only if you do not want this status shown.",apiDisabled:"Disabled",apiUnknown:"Status unknown"},imageModel:{title:"Image model",body:"Choose the OAuth model used for future image generations.",gpt54Mini:"GPT-5.4 Mini",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt53CodexSpark:"GPT-5.3 Codex Spark — unsupported for images",unsupportedHelp:"Default is GPT-5.4 Mini. GPT-5.3 Codex Spark may appear in OAuth model status, but it does not support the image_generation tool."},reasoning:{title:"Reasoning effort",body:"Higher effort spends more reasoning tokens on planning, web search, and prompt enrichment before generating.",low:"Low — fastest, minimal reasoning",medium:"Medium — balanced default",high:"High — deeper research and synthesis",xhigh:"Xhigh — maximum reasoning, slowest"},webSearch:{title:"Web search",body:"Use live search before generation for real people, brands, products, places, and recent events.",on:"Search on",off:"Search off"},appearance:{themeTitle:"Theme",themeBody:"Pick a theme style and brightness for this device.",historyStripLayoutTitle:"History thumbnails",historyStripLayoutBody:"Choose how the compact history strip sits beside the workspace.",historyStripLayout:{rail:"Rail",horizontal:"Top row",sidebar:"Sidebar"}},language:{title:"Language",body:"Switch the UI language without changing generated content."},future:{title:"Reserved for later",body:"Future provider repair and workspace controls will appear here when they become useful."}},wN={loading:"Loading session...",addFirst:"+ Add first node",addRootTitle:"Add root node",hint:"Drag a handle into empty space to branch. Press Delete or Backspace to remove."},_N={title:"{provider} unavailable",ariaLabel:"{provider} unavailable"},NN={label:"Language",ko:"한국어",en:"English"},EN={label:"Theme",modeLabel:"Brightness",styleLabel:"Theme style",system:"System",dark:"Dark",light:"Light",family:{default:"Default",gpt:"GPT",claude:"Claude",gemini:"Gemini",grok:"Grok"}},CN={close:"Close",details:"Show raw error details",unknown:{title:"An unexpected error occurred",body:"Please try again shortly. If it persists, copy the raw error message below and report it."},moderationRefused:{title:"Prompt blocked by moderation",body:"Soften the wording or rephrase. Sensitive/violent content in reference images can also trigger this.",cta:"Edit prompt"},emptyResponse:{title:"No image was returned",body:"Codex responded but didn't include image data. This isn't a moderation block — it's likely a transient hiccup or an unsupported size/quality/model combination. Retry, or try a different size or model.",cta:"Retry"},upstream5xx:{title:"OpenAI is currently busy",body:"Retrying usually resolves this. Check status.openai.com if it persists.",cta:"Retry"},authChatgptExpired:{title:"Codex ChatGPT session expired",body:"Run `npx @openai/codex login` in your terminal, then reload this app.",cta:"Reload"},authApiKeyInvalid:{title:"API key authentication failed",body:"The key is invalid, revoked, out of quota, or tied to the wrong org. This app runs in OAuth mode, so switch to ChatGPT login.",cta:"OK"},networkFailed:{title:"Network connection failed",body:"Could not reach OpenAI or the local runtime service. Reload first; if it persists, check VPN/firewall and the port shown by `ima2 doctor`.",cta:"Reload"},oauthUnavailable:{title:"OAuth proxy unavailable",body:"The OAuth proxy is starting, unavailable, or moved to a fallback port. Reload first; if it persists, run `ima2 doctor` and check the reported OAuth URL.",cta:"Reload"},invalidRequest:{title:"Image request needs changes",body:"One or more generation parameters are invalid. Check the raw error details below, then edit the prompt or size and try again.",cta:"Edit input"},apikeyDisabled:{title:"API-key mode is disabled",body:"This app is OAuth-only (ChatGPT login). Switch the provider to OAuth.",cta:"OK"}},TN={title:"Prompt Library",saveTitle:"Save to Prompt Library",save:"Save",saved:"Prompt saved",saveFailed:"Save failed",name:"Name",tags:"Tags",search:"Search prompts...",favorites:"Favorites",load:"Load",insert:"Insert",inserted:"Prompt inserted",removeInserted:"Remove inserted prompt {name}",favorite:"Favorite",unfavorite:"Unfavorite",empty:"No saved prompts yet.",content:"Content",copy:"Copy",untitled:"Untitled",addNew:"Add new prompt",import:"Import",importFiles:"Import .txt, .md, .markdown, or GitHub files",dropImport:"Drop .txt, .md, or .markdown files to import prompts",importTitle:"Import prompts",importDropTitle:"Drag files here",importDropHint:"Preview .txt, .md, and .markdown files before saving",importChooseFiles:"Choose files",importGithubLabel:"GitHub file URL or path",importPreview:"Preview",importPreviewEmpty:"Drop files or enter a GitHub path to preview candidates.",importCommit:"Save selected",importSelectAtLeastOne:"Select at least one prompt to save.",imported:"Imported {count} prompt(s)",importFailed:"Import failed",importNoValidFiles:"No .txt, .md, or .markdown prompt files found."},MN={common:Y_,toast:X_,inflight:K_,size:Z_,sizeConfirm:Q_,quality:J_,moderation:W_,format:eN,count:tN,multimode:nN,metadata:aN,generate:iN,billing:oN,history:rN,panel:lN,prompt:sN,canvas:cN,gallery:uN,node:dN,nodeBatch:fN,edge:mN,provider:hN,cost:pN,result:gN,session:yN,uiMode:vN,cardNews:xN,sidebar:bN,settings:SN,nodeCanvas:wN,apiDisabled:_N,language:NN,theme:EN,errorCard:CN,promptLibrary:TN},Oy={ko:$_,en:MN};function Iy(e,a){return a.split(".").reduce((i,r)=>{if(i!=null)return i[r]},e)}function AN(e,a){return e.replace(/\{(\w+)\}/g,(i,r)=>r in a?String(a[r]):`{${r}}`)}function ge(e,a){const i=F.getState().locale;return R0(i,e,a)}function R0(e,a,i){const r=Iy(Oy[e],a),s=typeof r=="string"?r:Iy(Oy.en,a),c=typeof s=="string"?s:a;return i?AN(c,i):c}function _e(){const e=F(a=>a.locale);return{locale:e,t:(a,i)=>R0(e,a,i)}}const jN=["ko","en"];function RN(){try{const e=localStorage.getItem("ima2.locale");if(e==="ko"||e==="en")return e}catch{}return typeof navigator<"u"&&(navigator.language||"").toLowerCase().startsWith("ko")?"ko":"en"}function DN(e){try{localStorage.setItem("ima2.locale",e)}catch{}}function zN(e){return Math.round(e/16)*16}const hi=16,sm=3840,uf=655360,ac=8294400,ON=3,xo=3,ky=Math.floor(Math.sqrt(ac)/hi)*hi,D0=hi,IN=sm,Is=ON;function Ly(e){return Math.floor(e/16)*16}function mc(e){return Math.ceil(e/16)*16}function fn(e){return Math.min(IN,Math.max(D0,e))}function Tn(e,a){const i=typeof e=="number"?e:Number.parseInt(e,10);return Number.isFinite(i)?i:a}function bi(e,a){e.includes(a)||e.push(a)}function Hy(e,a){const i=zN(e);return i!==e&&bi(a,"snap"),i}function By(e,a){return e<D0&&bi(a,"min"),e>sm&&bi(a,"maxEdge"),fn(e)}function Uy(e,a,i){return e>a*Is?(bi(i,"ratio"),{w:e,h:fn(mc(e/Is))}):a>e*Is?(bi(i,"ratio"),{w:fn(mc(a/Is)),h:a}):{w:e,h:a}}function kN(e,a,i){if(e*a<uf){bi(i,"minPixels");const u=Math.sqrt(uf/(e*a));let m=fn(mc(e*u)),g=fn(mc(a*u));for(;m*g<uf;)m<=g?m=fn(m+hi):g=fn(g+hi);return{w:m,h:g}}if(e*a<=ac)return{w:e,h:a};bi(i,"maxPixels");const r=Math.sqrt(ac/(e*a));let s=fn(Ly(e*r)),c=fn(Ly(a*r));for(;s*c>ac;)s>=c?s=fn(s-hi):c=fn(c-hi);return{w:s,h:c}}function cm(e,a,i,r){const s=[],c=Tn(e,i),u=Tn(a,r);let m=By(Hy(c,s),s),g=By(Hy(u,s),s);return{w:m,h:g}=Uy(m,g,s),{w:m,h:g}=kN(m,g,s),{w:m,h:g}=Uy(m,g,s),{requestedW:c,requestedH:u,w:m,h:g,adjusted:m!==c||g!==u,reasons:s}}function z0(e,a,i,r){const s=cm(e,a,i,r);return{w:s.w,h:s.h}}const LN=[{id:"free",label:"Free",w:0,h:0},{id:"1:1",label:"1:1",w:1,h:1},{id:"3:2",label:"3:2",w:3,h:2},{id:"2:3",label:"2:3",w:2,h:3},{id:"16:9",label:"16:9",w:16,h:9},{id:"9:16",label:"9:16",w:9,h:16},{id:"21:9",label:"21:9",w:21,h:9},{id:"9:21",label:"9:21",w:9,h:21}];function HN(e,a){return`${e}x${a}`}function BN(e,a=1024){if(e.id==="free")return null;const i=a,r=e.w>=e.h,s=r?Math.round(i*e.w/e.h):i,c=r?i:Math.round(i*e.h/e.w);return z0(s,c,s,c)}function Tc(e){const a=z0(e.w,e.h,2400,1024);return{...e,w:a.w,h:a.h,label:e.label||`${a.w}×${a.h}`}}function _o(e){return e.slice(0,xo).map(Tc)}function UN(e,a){const i=Tc(a),r=e.findIndex(s=>s.id===i.id);return r>=0?_o(e.map((s,c)=>c===r?i:s)):e.length>=xo?_o(e):_o([...e,i])}function qN(e,a,i){const r=Tc({...i,id:a});return _o(e.map(s=>s.id===a?r:s))}const GN=[{value:"1024x1024",label:"1024×1024",sub:"1:1"},{value:"1536x1024",label:"1536×1024",sub:"3:2"},{value:"1024x1536",label:"1024×1536",sub:"2:3"}],PN=[{value:"1360x1024",label:"1360×1024",sub:"4:3"},{value:"1024x1360",label:"1024×1360",sub:"3:4"},{value:"1824x1024",label:"1824×1024",sub:"16:9"}],FN=[{value:"1024x1824",label:"1024×1824",sub:"9:16"},{value:"2048x2048",label:"2048×2048",sub:"2K 1:1"},{value:"2048x1152",label:"2048×1152",sub:"2K 16:9"}],VN=[{value:"1152x2048",label:"1152×2048",sub:"2K 9:16"},{value:"3840x2160",label:"3840×2160",sub:"4K 16:9"},{value:"2160x3840",label:"2160×3840",sub:"4K 9:16"}];function $N(){return[{value:"auto",label:ge("size.autoLabel"),sub:ge("size.autoSub")},{value:"custom",label:ge("size.customLabel"),sub:ge("size.customSub")}]}const YN="gpt-5.4-mini",O0="ima2.imageModel",bo=[{value:"gpt-5.4-mini",shortLabel:"5.4m",fullLabelKey:"settings.imageModel.gpt54Mini"},{value:"gpt-5.4",shortLabel:"5.4",fullLabelKey:"settings.imageModel.gpt54"},{value:"gpt-5.5",shortLabel:"5.5",fullLabelKey:"settings.imageModel.gpt55"}],XN=[{value:"gpt-5.3-codex-spark",fullLabelKey:"settings.imageModel.gpt53CodexSpark"}];function I0(e){return bo.some(a=>a.value===e)}function k0(e){return e?bo.find(a=>a.value===e)?.shortLabel??e:null}const KN="medium",L0="ima2.reasoningEffort",H0=[{value:"low",shortLabel:"low",fullLabelKey:"settings.reasoning.low"},{value:"medium",shortLabel:"med",fullLabelKey:"settings.reasoning.medium"},{value:"high",shortLabel:"high",fullLabelKey:"settings.reasoning.high"},{value:"xhigh",shortLabel:"xhigh",fullLabelKey:"settings.reasoning.xhigh"}];function ZN(e){return H0.some(a=>a.value===e)}const B0="ima2.webSearchEnabled",QN=!0,po=()=>"nc_"+Math.random().toString(36).slice(2,10);function qy(e,a){return{x:e*360,y:a*320}}function JN(e,a){return e.find(i=>i.target===a)??null}function WN(e,a,i){return e.some(r=>r.target===i&&r.source!==a)}function Ia(e,a){const i=new Map(e.map(r=>[r.id,r]));return e.map(r=>{const s=JN(a,r.id),u=(s?i.get(s.source):null)?.data.serverNodeId??null;return r.data.parentServerNodeId===u?r:{...r,data:{...r.data,parentServerNodeId:u}}})}const eE=360,U0=320;function tE(e,a,i){const r=new Set(i.filter(s=>s.source===e).map(s=>s.target));return a.filter(s=>r.has(s.id))}function Gy(e){const a=e.filter(r=>!r.data.parentServerNodeId);if(a.length===0)return qy(0,0);const i=Math.max(...a.map(r=>r.position.y));return{x:qy(0,0).x,y:i+U0}}function Py(e,a,i){const r=tE(e.id,a,i),s=e.position.x+eE;if(r.length===0)return{x:s,y:e.position.y};const c=Math.max(...r.map(u=>u.position.y));return{x:s,y:c+U0}}const q0="ima2.nodeRefs.v1";function um(){try{const e=localStorage.getItem(q0);if(!e)return{};const a=JSON.parse(e);return a&&typeof a=="object"?a:{}}catch{return{}}}function G0(e){try{localStorage.setItem(q0,JSON.stringify(e))}catch{}}function nE(e,a){if(!e)return[];const i=um()[e]?.[a];return Array.isArray(i)?i.filter(r=>typeof r=="string"):[]}function ic(e,a,i){if(!e)return;const r=um(),s={...r[e]??{}};i.length===0?delete s[a]:s[a]=i,r[e]=s,G0(r)}function df(e,a){ic(e,a,[])}function aE(e,a){if(!e)return;const i=um(),r=i[e];if(!r)return;const s=new Set(a);for(const c of Object.keys(r))s.has(c)||delete r[c];i[e]=r,G0(i)}function iE(e,a,i){const r=new Set(e.map(m=>m.id));if(!r.has(i))return[];const s=new Map;for(const m of r)s.set(m,new Set);for(const m of a)!r.has(m.source)||!r.has(m.target)||(s.get(m.source)?.add(m.target),s.get(m.target)?.add(m.source));const c=new Set,u=[i];for(let m=0;m<u.length;m++){const g=u[m];if(!c.has(g)){c.add(g);for(const p of s.get(g)??[])c.has(p)||u.push(p)}}return e.filter(m=>c.has(m.id)).map(m=>m.id)}function P0(e){return e.filter(a=>a.selected).map(a=>a.id)}function qr(e,a){const i=new Set(a);return e.map(r=>({...r,selected:i.has(r.id)}))}function oE(e,a,i,r){const s=new Set(iE(e,a,i));if(!s.size)return e;if(!r)return qr(e,s);const c=e.find(g=>g.id===i),u=e.some(g=>s.has(g.id)&&g.selected),m=new Set(P0(e));if(u)c?.selected?m.delete(i):m.add(i);else for(const g of s)m.add(g);return qr(e,m)}function F0(e){return e.data.status==="ready"&&!!e.data.imageUrl}function rE(e,a,i){const r=new Set(i),s=new Set(e.map(v=>v.id)),c=new Map,u=new Map;for(const v of r)s.has(v)&&(c.set(v,0),u.set(v,[]));for(const v of a)!r.has(v.source)||!r.has(v.target)||(u.get(v.source)?.push(v.target),c.set(v.target,(c.get(v.target)??0)+1));const m=e.map(v=>v.id),g=m.filter(v=>r.has(v)&&(c.get(v)??0)===0),p=[];for(let v=0;v<g.length;v++){const x=g[v];p.push(x);for(const S of u.get(x)??[])c.set(S,(c.get(S)??0)-1),(c.get(S)??0)===0&&g.push(S)}const y=new Set(p);return p.concat(m.filter(v=>r.has(v)&&!y.has(v)))}function V0(e,a){const i=new Set(a),r=new Set,s=new Map;for(const u of e){const m=s.get(u.source)??[];m.push(u.target),s.set(u.source,m)}const c=[...i];for(let u=0;u<c.length;u++)for(const m of s.get(c[u])??[])i.has(m)||r.has(m)||(r.add(m),c.push(m));return[...r]}function lE(e,a,i){const r=new Set(i);return e.filter(s=>s.source===a&&!r.has(s.target)).map(s=>s.target)}function sE(e,a,i){const r=new Set(i),s=new Map(e.map(u=>[u.id,u])),c=[];for(const u of a){if(!r.has(u.target)||r.has(u.source))continue;s.get(u.source)?.data.serverNodeId||c.push(u.target)}return c}const Gr={REF_TOO_LARGE:{surface:"toast",toastKey:"toast.refTooLarge"},REF_NOT_BASE64:{surface:"toast",toastKey:"toast.refNotBase64"},REF_EMPTY:{surface:"toast",toastKey:"toast.refEmpty"},REF_TOO_MANY:{surface:"toast",toastKey:"toast.refLimitExceeded"},MODERATION_REFUSED:{surface:"card",cardKey:"errorCard.moderationRefused",cta:"dismiss"},SAFETY_REFUSAL:{surface:"card",cardKey:"errorCard.moderationRefused",cta:"dismiss"},EMPTY_RESPONSE:{surface:"card",cardKey:"errorCard.emptyResponse",cta:"dismiss"},UPSTREAM_5XX:{surface:"card",cardKey:"errorCard.upstream5xx",cta:"retry"},AUTH_CHATGPT_EXPIRED:{surface:"card",cardKey:"errorCard.authChatgptExpired",cta:"reauth"},AUTH_API_KEY_INVALID:{surface:"card",cardKey:"errorCard.authApiKeyInvalid",cta:"dismiss"},NETWORK_FAILED:{surface:"card",cardKey:"errorCard.networkFailed",cta:"reload"},OAUTH_UNAVAILABLE:{surface:"card",cardKey:"errorCard.oauthUnavailable",cta:"reload"},INVALID_REQUEST:{surface:"card",cardKey:"errorCard.invalidRequest",cta:"dismiss"},INVALID_MODERATION:{surface:"toast",toastKey:"toast.generateFailed"},APIKEY_DISABLED:{surface:"card",cardKey:"errorCard.apikeyDisabled",cta:"dismiss"},DB_ERROR:{surface:"toast",toastKey:"toast.generateFailed"},UNKNOWN:{surface:"toast",toastKey:"toast.generateFailed"}};function cE(e){const a=(e||"").toLowerCase();return a?a.includes("moderation_blocked")||a.includes("moderation refused")?"MODERATION_REFUSED":a.includes("no image data returned")?"EMPTY_RESPONSE":a.includes("token is expired")||a.includes("sign in again")||a.includes("access token")&&a.includes("expired")||a.includes("token")&&a.includes("expired")&&!a.includes("api key")?"AUTH_CHATGPT_EXPIRED":a.includes("incorrect api key")||a.includes("invalid authentication")||a.includes("exceeded your current quota")||a.includes("incorrect organization")?"AUTH_API_KEY_INVALID":a.includes("failed to fetch")||a.includes("econnrefused")||a.includes("econnreset")||a.includes("enotfound")||a.includes("etimedout")||a.includes("network error")?"NETWORK_FAILED":a.includes("oauth")&&(a.includes("not running")||a.includes("unavailable")||a.includes("not ready"))?"OAUTH_UNAVAILABLE":a.includes("invalid_request_error")||a.includes("invalid_value")||a.includes("invalid size")||a.includes("invalid request")||a.includes("requested resolution")||a.includes("minimum pixel budget")||a.includes("unsupported value")?"INVALID_REQUEST":a.includes("an error occurred while processing")||/\b5\d\d\b/.test(a)?"UPSTREAM_5XX":"UNKNOWN":"UNKNOWN"}function uE(e){const a=e,i=typeof a?.message=="string"?a.message:String(e??""),r=typeof a?.code=="string"?a.code:"",s=r&&r in Gr?r:cE(i),c=Gr[s]??Gr.UNKNOWN;return{code:s,spec:c,message:i}}function Rr(e,a){const{code:i,spec:r,message:s}=uE(e);if(r.surface==="card")a.showErrorCard(i,{fallbackMessage:s});else{const c=r.toastKey?ge(r.toastKey):s||ge("toast.generateFailed");a.showToast(c,!0)}return{code:i,message:s}}const dm=!0,$0=!1;function dE(e,a){return a?a.filename&&e.filename===a.filename?!0:e.image===a.image:!1}function fE(e,a){return e.findIndex(i=>dE(i,a))}function mE(e,a,i){if(e.length===0)return null;if(i==="first")return e[0]??null;if(i==="last")return e[e.length-1]??null;const r=fE(e,a);if(r<0)return null;const s=i==="previous"?r-1:r+1;return e[s]??null}function Fy(e,a){const i=e.findIndex(r=>r.filename===a);return i<0?null:e[i+1]??e[i-1]??null}function hE(){try{const e=localStorage.getItem("ima2.rightPanelOpen");return e===null?!0:JSON.parse(e)===!0}catch{return!0}}function pE(){try{const e=localStorage.getItem("ima2.uiMode");if(e==="card-news")return $0?e:"classic";if(e==="node")return dm?e:"classic";if(e==="classic")return e}catch{}return"classic"}function ff(){try{const e=localStorage.getItem("ima2:theme");if(e==="system"||e==="dark"||e==="light")return e}catch{}return"system"}function Vy(){try{const e=localStorage.getItem("ima2:themeFamily");if(e&&M0.includes(e))return e}catch{}return"default"}function gE(){try{const e=localStorage.getItem("ima2.historyStripLayout");if(e==="rail"||e==="horizontal"||e==="sidebar")return e}catch{}return"rail"}function $y(){try{const e=localStorage.getItem(O0);if(I0(e))return e}catch{}return YN}function Yy(e){try{localStorage.setItem(O0,e)}catch{}}function yE(){try{const e=localStorage.getItem(L0);if(ZN(e))return e}catch{}return KN}function vE(e){try{localStorage.setItem(L0,e)}catch{}}function xE(){try{const e=localStorage.getItem(B0);if(e==="false")return!1;if(e==="true")return!0}catch{}return QN}function bE(e){try{localStorage.setItem(B0,String(e))}catch{}}const Y0="ima2.generationDefaults";function ks(e){return e==="dark"||e==="light"?e:typeof window>"u"||typeof window.matchMedia!="function"?"dark":window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}const X0=18e4;function mf(e,a){return[...a.map(i=>i.text.trim()).filter(Boolean),e.trim()].filter(Boolean).join(`
22
-
23
- `)}function hf(e){const a=e.meta??{},i=e.kind==="classic"||e.kind==="node"||e.kind==="multimode"?e.kind:a.kind==="classic"||a.kind==="node"||a.kind==="multimode"?a.kind:void 0;return{id:e.requestId,prompt:typeof e.prompt=="string"?e.prompt:"",startedAt:e.startedAt,phase:typeof e.phase=="string"?e.phase:void 0,sessionId:typeof a.sessionId=="string"?a.sessionId:null,parentNodeId:typeof a.parentNodeId=="string"?a.parentNodeId:null,clientNodeId:typeof a.clientNodeId=="string"?a.clientNodeId:null,kind:i}}function Xy(e){const a=typeof e.errorCode=="string"&&e.errorCode?e.errorCode:"UNKNOWN",i=new Error(a==="EMPTY_RESPONSE"?"No image data returned from the image backend.":"Generation failed on the server.");return i.code=a,i.status=typeof e.httpStatus=="number"?e.httpStatus:void 0,i}function pf(){try{const e=localStorage.getItem("ima2.inFlight");if(!e)return[];const a=JSON.parse(e);if(!Array.isArray(a))return[];const i=Date.now();return a.filter(r=>r&&typeof r.id=="string"&&typeof r.prompt=="string"&&typeof r.startedAt=="number"&&i-r.startedAt<X0).map(r=>({id:r.id,prompt:r.prompt,startedAt:r.startedAt,phase:typeof r.phase=="string"?r.phase:void 0,sessionId:typeof r.sessionId=="string"?r.sessionId:null,parentNodeId:typeof r.parentNodeId=="string"?r.parentNodeId:null,clientNodeId:typeof r.clientNodeId=="string"?r.clientNodeId:null,kind:r.kind==="classic"||r.kind==="node"||r.kind==="multimode"?r.kind:void 0}))}catch{return[]}}function Wn(e){try{localStorage.setItem("ima2.inFlight",JSON.stringify(e))}catch(a){const i=window;if(!i.__ima2QuotaWarned){i.__ima2QuotaWarned=!0,console.warn("[ima2] localStorage write failed:",a);try{F.getState().showToast(ge("toast.localStorageFull"),!0)}catch{}}}}function Ky(){try{const e=localStorage.getItem("ima2.selectedFilename");return typeof e=="string"&&e.length>0?e:null}catch{return null}}function ci(e){try{e?localStorage.setItem("ima2.selectedFilename",e):localStorage.removeItem("ima2.selectedFilename")}catch{}}function SE(){try{const e=localStorage.getItem("ima2.activeSessionId");return typeof e=="string"&&e.length>0?e:null}catch{return null}}function gf(e){try{e?localStorage.setItem("ima2.activeSessionId",e):localStorage.removeItem("ima2.activeSessionId")}catch{}}const fi=500,dn=5;function wE(e){return e==="classic"||e==="edit"||e==="generate"||e==="card-news-card"||e==="card-news-set"?e:null}function Zy(e){return{image:e.url,url:e.url,filename:e.filename,thumb:e.url,prompt:e.prompt??void 0,size:e.size??void 0,quality:e.quality??void 0,format:e.format,model:e.model??void 0,provider:e.provider,usage:e.usage??void 0,createdAt:e.createdAt,sessionId:e.sessionId??null,nodeId:e.nodeId??null,clientNodeId:e.clientNodeId??null,requestId:e.requestId??null,kind:wE(e.kind),canvasVersion:!!e.canvasVersion,canvasSourceFilename:e.canvasSourceFilename??null,canvasEditableFilename:e.canvasEditableFilename??null,canvasMergedAt:e.canvasMergedAt??void 0,setId:e.setId??null,cardId:e.cardId??null,cardOrder:e.cardOrder??null,headline:e.headline??null,body:e.body??null,cards:e.cards,refsCount:e.refsCount??0,isFavorite:e.isFavorite??!1,sequenceId:e.sequenceId??null,sequenceIndex:e.sequenceIndex??null,sequenceTotalRequested:e.sequenceTotalRequested??null,sequenceTotalReturned:e.sequenceTotalReturned??null,sequenceStatus:e.sequenceStatus??null}}function yf(e){return e.replace(/^data:[^;]+;base64,/,"")}async function Ls(e,a="reference.png"){const i=await fetch(e);if(!i.ok)throw new Error(`reference fetch failed: ${i.status}`);const r=await i.blob(),s=new File([r],a,{type:r.type||"image/png"});return Uf(s,{preserveTransparency:!1})}const go="source-right",Dr="target-left";function Hs(e,a,i,r){return`${e}:${i??"auto"}->${a}:${r??"auto"}`}function _E(e,a){return e&&e.startsWith(`${a}-`)?e:null}function NE(e){switch(e){case"source-top":return"target-bottom";case"source-right":return"target-left";case"source-bottom":return"target-top";case"source-left":return"target-right";default:return null}}function K0(e){const a=e.nodes.map(r=>{const s=r.data??{},c=typeof s.imageUrl=="string"&&s.imageUrl.length>0?s.imageUrl:null,u=typeof s.serverNodeId=="string"&&s.serverNodeId.length>0?`/generated/${s.serverNodeId}.png`:null,m=c??u,g={clientId:r.id,serverNodeId:s.serverNodeId??null,parentServerNodeId:s.parentServerNodeId??null,prompt:typeof s.prompt=="string"?s.prompt:"",imageUrl:m,status:s.status??(m?"ready":"empty"),pendingRequestId:s.pendingRequestId??null,recoveryRequestId:s.recoveryRequestId??null,pendingPhase:s.pendingPhase??null,pendingStartedAt:typeof s.pendingStartedAt=="number"?s.pendingStartedAt:null,partialImageUrl:null,error:s.error,elapsed:s.elapsed,webSearchCalls:s.webSearchCalls,model:s.model??null,size:s.size??null,referenceImages:nE(e.id,r.id)};return{id:r.id,type:"imageNode",position:{x:r.x,y:r.y},data:g}}),i=e.edges.map(r=>{const s=r.data??{};return{id:r.id,source:r.source,target:r.target,sourceHandle:typeof s.sourceHandle=="string"?s.sourceHandle:null,targetHandle:typeof s.targetHandle=="string"?s.targetHandle:null}});return{graphNodes:Ia(a,i),graphEdges:i,graphVersion:e.graphVersion}}function EE(e,a){return`${e}x${a}`}function Pr(e){return Math.min(8,Math.max(1,Math.trunc(e||1)))}const Z0=new Set(["1024x1024","1536x1024","1024x1536","1360x1024","1024x1360","1824x1024","1024x1824","2048x2048","2048x1152","1152x2048","3840x2160","2160x3840","auto","custom"]);function CE(e){if(typeof e!="string")return{};if(Z0.has(e))return{preset:e};const a=/^(\d+)x(\d+)$/.exec(e);if(!a)return{};const i=Number(a[1]),r=Number(a[2]);return!Number.isFinite(i)||!Number.isFinite(r)?{}:{preset:"custom",w:i,h:r}}function Q0(e){return e==="low"||e==="medium"||e==="high"}function J0(e){return e==="png"||e==="jpeg"||e==="webp"}function W0(e){return e==="low"||e==="auto"}function TE(e){return e==="oauth"||e==="api"}function ME(e){return e==="auto"||e==="direct"}function AE(e){return typeof e=="string"&&Z0.has(e)}function jE(e){return Array.isArray(e)&&e.every(a=>a&&typeof a.id=="string"&&typeof a.name=="string"&&typeof a.text=="string")}function ex(){try{const e=localStorage.getItem(Y0);if(!e)return{};const a=JSON.parse(e),i={};return TE(a.provider)&&(i.provider=a.provider),Q0(a.quality)&&(i.quality=a.quality),AE(a.sizePreset)&&(i.sizePreset=a.sizePreset),typeof a.customW=="number"&&Number.isFinite(a.customW)&&(i.customW=Tn(a.customW,1920)),typeof a.customH=="number"&&Number.isFinite(a.customH)&&(i.customH=Tn(a.customH,1088)),J0(a.format)&&(i.format=a.format),W0(a.moderation)&&(i.moderation=a.moderation),typeof a.count=="number"&&(i.count=Pr(a.count)),typeof a.multimode=="boolean"&&(i.multimode=a.multimode),typeof a.multimodeMaxImages=="number"&&(i.multimodeMaxImages=Pr(a.multimodeMaxImages)),ME(a.promptMode)&&(i.promptMode=a.promptMode),typeof a.prompt=="string"&&(i.prompt=a.prompt),jE(a.insertedPrompts)&&(i.insertedPrompts=a.insertedPrompts),i}catch{return{}}}function It(e){try{const a=ex();localStorage.setItem(Y0,JSON.stringify({...a,...e}))}catch{}}function RE(e,a){const i={},r=a.userPrompt||a.prompt;typeof r=="string"&&(i.prompt=r),Q0(a.quality)&&(i.quality=a.quality),J0(a.format)&&(i.format=a.format),W0(a.moderation)&&(i.moderation=a.moderation),(a.promptMode==="auto"||a.promptMode==="direct")&&(i.promptMode=a.promptMode),a.model&&I0(a.model)&&(i.imageModel=a.model);const s=CE(a.size);return s.preset&&(i.sizePreset=s.preset),s.preset==="custom"&&s.w&&s.h&&(i.customW=Tn(s.w,e.customW),i.customH=Tn(s.h,e.customH)),i}function Bs(e,a){if(e.sizePreset!=="custom")return null;const i=cm(e.customW,e.customH,e.customW,e.customH);return i.adjusted?{requestedW:i.requestedW,requestedH:i.requestedH,adjustedW:i.w,adjustedH:i.h,reasons:i.reasons,continuation:a}:null}const $t=ex(),F=T0((e,a)=>({provider:$t.provider??"oauth",quality:$t.quality??"medium",sizePreset:$t.sizePreset??"1024x1024",customW:$t.customW??1920,customH:$t.customH??1088,format:$t.format??"png",moderation:$t.moderation??"low",count:$t.count??1,multimode:$t.multimode??!1,multimodeMaxImages:$t.multimodeMaxImages??4,multimodeSequence:null,multimodeAbortController:null,promptMode:$t.promptMode??"auto",prompt:$t.prompt??"",insertedPrompts:$t.insertedPrompts??[],referenceImages:[],canvasReferenceImage:null,promptLibraryOpen:!1,promptLibrary:{prompts:[],folders:[]},promptLibraryLoading:!1,galleryFavorites:new Set,browserId:A0(),canvasOpen:!1,canvasZoom:1,addReferences:async i=>{const r=dn-a().referenceImages.length,s=i.slice(0,Math.max(0,r)),c=s.filter(Os),u=s.filter(y=>!Os(y)),g=(await Promise.all(u.map(async y=>{try{return await Uf(y,{preserveTransparency:zy(y)})}catch(v){return console.warn("[addReferences] compress failed",v),null}}))).filter(y=>!!y);e(y=>({referenceImages:[...y.referenceImages,...g].slice(0,dn)})),c.length>0&&a().showToast(ge("toast.refHeicUnsupported"),!0),u.length-g.length>0&&a().showToast(ge("toast.refTooLarge"),!0),i.length>r&&a().showToast(ge("toast.refLimitExceeded"),!0)},addReferenceDataUrl:i=>{e(r=>r.referenceImages.length>=dn?r:{referenceImages:[...r.referenceImages,i]})},metadataRestore:null,readDroppedImageMetadata:async(i,r=null)=>{if(!i.type.startsWith("image/"))return!1;let s="";try{s=await l_(i);const c=await V1({filename:i.name,dataUrl:s});return c.metadata?(e({metadataRestore:{filename:i.name,image:s,metadata:c.metadata,source:c.source??"xmp",targetNodeId:r}}),!0):!1}catch{return a().showToast(ge("metadata.readFailed"),!0),!1}},applyMetadataRestore:()=>{const i=a().metadataRestore;if(!i)return;const r=RE(a(),i.metadata);if(r.imageModel&&Yy(r.imageModel),i.targetNodeId&&typeof r.prompt=="string"){const s=r.prompt;e({...r,metadataRestore:null,graphNodes:a().graphNodes.map(c=>c.id===i.targetNodeId?{...c,data:{...c.data,prompt:s}}:c)}),a().scheduleGraphSave()}else e({...r,metadataRestore:null});a().showToast(ge("metadata.applied"))},cancelMetadataRestore:()=>e({metadataRestore:null}),addMetadataRestoreAsReference:()=>{const i=a().metadataRestore;i&&(i.targetNodeId?a().addNodeReferenceDataUrl(i.targetNodeId,i.image):a().addReferenceDataUrl(i.image),e({metadataRestore:null}))},removeReference:i=>{e(r=>({referenceImages:r.referenceImages.filter((s,c)=>c!==i),canvasReferenceImage:r.referenceImages[i]===r.canvasReferenceImage?null:r.canvasReferenceImage}))},clearReferences:()=>e({referenceImages:[],canvasReferenceImage:null}),attachCanvasVersionReference:async i=>{let r;try{r=await Ls(i.image,i.filename||"canvas-version-reference.png")}catch{throw a().showToast(ge("toast.currentImageLoadFailed"),!0),new Error("canvas_reference_attach_failed")}e(s=>{const u=(s.canvasReferenceImage?s.referenceImages.filter(m=>m!==s.canvasReferenceImage):s.referenceImages).filter(m=>m!==r);return{canvasReferenceImage:r,referenceImages:[r,...u].slice(0,dn)}}),a().showToast(ge("canvas.version.usingAsReference"))},useCurrentAsReference:async()=>{const i=a().currentImage;if(!i){a().showToast(ge("toast.noCurrentImageForRef"),!0);return}if(a().referenceImages.length>=dn){a().showToast(ge("toast.refSlotFull"),!0);return}let r;try{r=await Ls(i.image,i.filename||"current-reference.png")}catch{a().showToast(ge("toast.currentImageLoadFailed"),!0);return}e(s=>({referenceImages:[...s.referenceImages,r].slice(0,dn)})),a().showToast(ge("toast.addedCurrentAsRef"))},useImageAsReference:async i=>{if(a().referenceImages.length>=dn){a().showToast(ge("toast.refSlotFull"),!0);return}let r;try{r=await Ls(i.image,i.filename||"canvas-reference.png")}catch{a().showToast(ge("toast.currentImageLoadFailed"),!0);return}e(s=>({referenceImages:[...s.referenceImages,r].slice(0,dn)})),a().showToast(ge("toast.addedCurrentAsRef"))},activeGenerations:pf().length,unseenGeneratedCount:0,inFlight:pf(),startInFlightPolling:()=>{if(typeof window>"u")return;const i=window;if(i.__ima2InflightTimer)return;const r=async()=>{if(a().inFlight.length===0){i.__ima2InflightTimer&&(clearInterval(i.__ima2InflightTimer),i.__ima2InflightTimer=void 0);return}try{const c=a().uiMode==="node"?"node":"classic",u=c==="node"?a().activeSessionId??void 0:void 0,{jobs:m,terminalJobs:g=[]}=await lf({kind:c,sessionId:u,includeTerminal:!0}),p=new Map(m.map(E=>[E.requestId,E])),y=new Map(g.map(E=>[E.requestId,E])),v=[];let x=!1;const S=Date.now(),_=5e3,A=[];for(const E of a().inFlight){if(!((E.kind??"classic")===c&&(c!=="node"||(E.sessionId??null)===(u??null)))){A.push(E);continue}const N=y.get(E.id);if(N){x=!0,N.status==="error"&&v.push(Xy(N));continue}if(!p.has(E.id)&&S-E.startedAt>_){x=!0;continue}const w=p.get(E.id);if(w){const B=hf(w),z={...E,phase:B.phase,sessionId:B.sessionId,parentNodeId:B.parentNodeId,clientNodeId:B.clientNodeId,kind:B.kind};(z.phase!==E.phase||z.sessionId!==E.sessionId||z.parentNodeId!==E.parentNodeId||z.clientNodeId!==E.clientNodeId||z.kind!==E.kind)&&(x=!0),A.push(z)}else A.push(E)}x&&(Wn(A),e({inFlight:A,activeGenerations:A.length}));for(const E of v)Rr(E,a())}catch{}try{const c=a().history.reduce((x,S)=>S.createdAt&&S.createdAt>x?S.createdAt:x,0),{items:u}=await Bf({limit:fi,since:c}),m=u.map(Zy),g=a().history,p=m.filter(x=>!g.some(S=>S.filename===x.filename));p.length>0&&e(x=>{const S=x.currentImage??p[0];return!x.currentImage&&p[0]?.filename&&ci(p[0].filename),{history:[...p,...x.history].slice(0,fi),currentImage:S}});const y=Date.now(),v=a().inFlight.filter(x=>y-x.startedAt<X0);v.length!==a().inFlight.length&&(Wn(v),e({inFlight:v,activeGenerations:v.length}))}catch{}};i.__ima2InflightTimer=window.setInterval(r,1500)},reconcileInflight:async()=>{try{const i=a().uiMode==="node"?"node":"classic",r=i==="node"?a().activeSessionId??void 0:void 0,{jobs:s,terminalJobs:c=[]}=await lf({kind:i,sessionId:r,includeTerminal:!0}),u=new Map(s.map(S=>[S.requestId,S])),m=new Map(c.map(S=>[S.requestId,S])),g=[],p=Date.now(),v=a().inFlight.flatMap(S=>{const _=u.get(S.id);if(_){const O=hf(_);return[{...S,...O,prompt:S.prompt||O.prompt}]}if(!((S.kind??"classic")===i&&(i!=="node"||(S.sessionId??null)===(r??null))))return[S];const C=m.get(S.id);return C?(C.status==="error"&&g.push(Xy(C)),[]):p-S.startedAt<1e4?[S]:[]}),x=new Set(v.map(S=>S.id));for(const S of s)x.has(S.requestId)||v.push(hf(S));Wn(v),e({inFlight:v,activeGenerations:v.length});for(const S of g)Rr(S,a());v.length>0&&a().startInFlightPolling()}catch{}},syncFromStorage:()=>{const i=pf(),r=Ky(),s=$y();e(c=>({inFlight:i,activeGenerations:i.length,imageModel:s,currentImage:r&&c.currentImage?.filename!==r?c.history.find(u=>u.filename===r)??c.currentImage:c.currentImage})),i.length>0&&a().startInFlightPolling()},currentImage:null,applyMergedCanvasImage:i=>{e(r=>({history:i.filename?r.history.some(s=>s.filename===i.filename)?r.history.map(s=>s.filename===i.filename?i:s):[i,...r.history].slice(0,fi):r.history}))},addGeneratedHistoryItem:async i=>{await Us(i,e,a)},history:[],trashPending:null,toast:null,customSizeConfirm:null,errorCard:null,rightPanelOpen:hE(),toggleRightPanel:()=>e(i=>{const r=!i.rightPanelOpen;try{localStorage.setItem("ima2.rightPanelOpen",JSON.stringify(r))}catch{}return{rightPanelOpen:r}}),galleryOpen:!1,openGallery:()=>e({galleryOpen:!0}),closeGallery:()=>e({galleryOpen:!1}),imageModel:$y(),reasoningEffort:yE(),webSearchEnabled:xE(),settingsOpen:!1,activeSettingsSection:"account",openSettings:(i="account")=>e({settingsOpen:!0,activeSettingsSection:i}),closeSettings:()=>e({settingsOpen:!1}),toggleSettings:()=>e(i=>({settingsOpen:!i.settingsOpen,activeSettingsSection:i.settingsOpen?i.activeSettingsSection:"account"})),setActiveSettingsSection:i=>e({activeSettingsSection:i}),uiMode:pE(),setUIMode:i=>{const r=i==="card-news"&&!$0?"classic":i;try{localStorage.setItem("ima2.uiMode",r)}catch{}e({uiMode:r})},theme:ff(),resolvedTheme:ks(ff()),themeFamily:Vy(),historyStripLayout:gE(),setTheme:i=>{try{localStorage.setItem("ima2:theme",i)}catch{}e({theme:i,resolvedTheme:ks(i)})},setThemeFamily:i=>{try{localStorage.setItem("ima2:themeFamily",i)}catch{}e({themeFamily:i})},setHistoryStripLayout:i=>{try{localStorage.setItem("ima2.historyStripLayout",i)}catch{}e({historyStripLayout:i})},syncThemeFromStorage:()=>{const i=ff();e({theme:i,resolvedTheme:ks(i)})},syncThemeFamilyFromStorage:()=>{e({themeFamily:Vy()})},refreshResolvedTheme:()=>{e(i=>({resolvedTheme:ks(i.theme)}))},locale:RN(),setLocale:i=>{DN(i),e({locale:i})},graphNodes:[],graphEdges:[],setGraphNodes:i=>{e({graphNodes:Ia(i,a().graphEdges)}),a().scheduleGraphSave()},setGraphEdges:i=>{e({graphEdges:i,graphNodes:Ia(a().graphNodes,i)}),a().scheduleGraphSave()},disconnectEdge:i=>{a().disconnectEdges([i])},disconnectEdges:i=>{const r=new Set(i);if(r.size===0)return;const s=a().graphEdges.filter(g=>r.has(g.id));if(s.length===0)return;const c=a().graphEdges.filter(g=>!r.has(g.id)),u=new Set(s.map(g=>g.target)),m=a().graphNodes.map(g=>{if(!u.has(g.id))return g;const p=c.find(v=>v.target===g.id),y=p?a().graphNodes.find(v=>v.id===p.source):null;return{...g,data:{...g.data,parentServerNodeId:y?.data.serverNodeId??null}}});e({graphNodes:Ia(m,c),graphEdges:c}),a().scheduleGraphSave(),a().flushGraphSave("edge-disconnect"),a().showToast(ge("edge.disconnected"))},nodeSelectionMode:!1,nodeBatchRunning:!1,nodeBatchStopping:!1,toggleNodeSelectionMode:()=>{const i=!a().nodeSelectionMode;e({nodeSelectionMode:i,...i?{}:{graphNodes:qr(a().graphNodes,[])}})},selectAllGraphNodes:()=>{e({graphNodes:qr(a().graphNodes,a().graphNodes.map(i=>i.id))})},selectNodeGraph:(i,r)=>{e({graphNodes:oE(a().graphNodes,a().graphEdges,i,r)})},clearNodeSelection:()=>{e({graphNodes:qr(a().graphNodes,[])})},cancelNodeBatch:()=>{a().nodeBatchRunning&&(e({nodeBatchStopping:!0}),a().showToast(ge("nodeBatch.stopQueued")))},sessions:[],activeSessionId:null,activeSessionGraphVersion:null,sessionLoading:!1,async loadSessions(){try{const{sessions:i}=await Z1();if(e({sessions:i}),!a().activeSessionId){const s=SE(),c=s?i.some(u=>u.id===s):!1;s&&c?await a().switchSession(s):await a().createAndSwitchSession(ge("session.firstGraph"))}}catch(i){console.warn("[sessions] load failed:",i)}},async switchSession(i){e({sessionLoading:!0}),await a().flushGraphSave("switch-session");try{const{session:r}=await j0(i),{graphNodes:s,graphEdges:c,graphVersion:u}=K0(r);e({activeSessionId:i,activeSessionGraphVersion:u,graphNodes:s,graphEdges:c,sessionLoading:!1}),gf(i),await a().reconcileGraphPending().catch(()=>{})}catch(r){console.warn("[sessions] switch failed:",r),e({sessionLoading:!1}),a().showToast(ge("toast.sessionLoadFailed"),!0)}},async reconcileGraphPending(){const i=a().activeSessionId;if(!i)return;if(a().graphNodes.filter(s=>s.data?.pendingRequestId&&(s.data.status==="pending"||s.data.status==="reconciling")).length>0){let s=[];try{s=(await lf({kind:"node",sessionId:i})).jobs}catch{s=[]}const c=new Map(s.map(p=>[p.requestId,p.phase])),u=Date.now(),m=1e4,g=a().graphNodes.map(p=>{const y=p.data?.pendingRequestId;if(!y||p.data.status!=="pending"&&p.data.status!=="reconciling")return p;if(c.has(y)){const S=c.get(y)??null;return{...p,data:{...p.data,status:"reconciling",pendingPhase:S}}}const v=p.data.pendingStartedAt??0;if(v&&u-v<m)return{...p,data:{...p.data,status:"reconciling"}};const x=!!p.data.imageUrl||!!p.data.serverNodeId;return{...p,data:{...p.data,pendingRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,status:x?"ready":"stale",error:x?void 0:ge("session.assetAbortedError")}}});e({graphNodes:g})}await ox(a,e).catch(()=>{})},async createAndSwitchSession(i){i==null&&(i=ge("session.untitled"));try{const{session:r}=await Q1(i);e({sessions:[r,...a().sessions],activeSessionId:r.id,activeSessionGraphVersion:r.graphVersion,graphNodes:[],graphEdges:[]}),gf(r.id)}catch(r){console.warn("[sessions] create failed:",r),a().showToast(ge("toast.sessionCreateFailed"),!0)}},async renameCurrentSession(i){const r=a().activeSessionId;if(r)try{await J1(r,i),e({sessions:a().sessions.map(s=>s.id===r?{...s,title:i,updatedAt:Date.now()}:s)})}catch{a().showToast(ge("toast.sessionRenameFailed"),!0)}},async deleteSessionById(i){try{await W1(i);const r=a().sessions.filter(s=>s.id!==i);e({sessions:r}),a().activeSessionId===i&&(e({activeSessionId:null,activeSessionGraphVersion:null,graphNodes:[],graphEdges:[]}),gf(null),r.length>0?await a().switchSession(r[0].id):await a().createAndSwitchSession(ge("session.firstGraph")))}catch{a().showToast(ge("toast.sessionDeleteFailed"),!0)}},scheduleGraphSave(){lx(a,e)},async flushGraphSave(i="manual"){await IE(a,e,i)},addRootNode:()=>{const i=po(),r={id:i,type:"imageNode",position:Gy(a().graphNodes),data:{clientId:i,serverNodeId:null,parentServerNodeId:null,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};return e({graphNodes:[...a().graphNodes,r]}),a().scheduleGraphSave(),i},addChildNode:i=>{const r=a().graphNodes.find(m=>m.id===i);if(!r)return i;const s=po(),c={id:s,type:"imageNode",position:Py(r,a().graphNodes,a().graphEdges),data:{clientId:s,serverNodeId:null,parentServerNodeId:r.data.serverNodeId,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},u={id:Hs(i,s,go,Dr),source:i,target:s,sourceHandle:go,targetHandle:Dr};return e({graphNodes:[...a().graphNodes,c],graphEdges:[...a().graphEdges,u]}),a().scheduleGraphSave(),s},addSiblingNode:i=>{const r=a().graphNodes.find(y=>y.id===i);if(!r)return i;const s=a().graphEdges.find(y=>y.target===i);if(!s){const y=po(),v={id:y,type:"imageNode",position:Gy(a().graphNodes),data:{clientId:y,serverNodeId:null,parentServerNodeId:null,prompt:r.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};return e({graphNodes:[...a().graphNodes,v]}),a().scheduleGraphSave(),y}const c=s.source,u=a().graphNodes.find(y=>y.id===c);if(!u)return i;const m=po(),g={id:m,type:"imageNode",position:Py(u,a().graphNodes,a().graphEdges),data:{clientId:m,serverNodeId:null,parentServerNodeId:r.data.parentServerNodeId,prompt:r.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},p={id:Hs(c,m,go,Dr),source:c,target:m,sourceHandle:go,targetHandle:Dr};return e({graphNodes:[...a().graphNodes,g],graphEdges:[...a().graphEdges,p]}),a().scheduleGraphSave(),m},updateNodePrompt:(i,r)=>{e({graphNodes:a().graphNodes.map(s=>s.id===i?{...s,data:{...s.data,prompt:r}}:s)}),a().scheduleGraphSave()},addNodeReferences:async(i,r)=>{const s=a().graphNodes.find(S=>S.id===i);if(!s)return;const c=s.data.referenceImages??[],u=dn-c.length;if(u<=0){a().showToast(ge("toast.refLimitExceeded"),!0);return}const m=r.slice(0,Math.max(0,u)),g=m.filter(Os),p=m.filter(S=>!Os(S)),v=(await Promise.all(p.map(async S=>{try{return await Uf(S,{preserveTransparency:zy(S)})}catch(_){return console.warn("[addNodeReferences] compress failed",_),null}}))).filter(S=>!!S);if(v.length>0){const S=a().activeSessionId;e({graphNodes:a().graphNodes.map(_=>{if(_.id!==i)return _;const A=[..._.data.referenceImages??[],...v].slice(0,dn);return ic(S,i,A),{..._,data:{..._.data,referenceImages:A}}})}),a().scheduleGraphSave()}g.length>0&&a().showToast(ge("toast.refHeicUnsupported"),!0),p.length-v.length>0&&a().showToast(ge("toast.refTooLarge"),!0),r.length>u&&a().showToast(ge("toast.refLimitExceeded"),!0)},addNodeReferenceDataUrl:(i,r)=>{a().graphNodes.find(c=>c.id===i)&&(e({graphNodes:a().graphNodes.map(c=>{if(c.id!==i)return c;const u=c.data.referenceImages??[];if(u.length>=dn)return c;const m=[...u,r];return ic(a().activeSessionId,i,m),{...c,data:{...c.data,referenceImages:m}}})}),a().scheduleGraphSave())},removeNodeReference:(i,r)=>{e({graphNodes:a().graphNodes.map(s=>{if(s.id!==i)return s;const c=(s.data.referenceImages??[]).filter((u,m)=>m!==r);return ic(a().activeSessionId,i,c),{...s,data:{...s.data,referenceImages:c}}})}),a().scheduleGraphSave()},clearNodeReferences:i=>{df(a().activeSessionId,i),e({graphNodes:a().graphNodes.map(r=>r.id===i?{...r,data:{...r.data,referenceImages:void 0}}:r)}),a().scheduleGraphSave()},duplicateBranchRoot:i=>{const r=a().graphNodes.find(u=>u.id===i);if(!r)return i;const s=po();a().graphNodes.filter(u=>!u.data.parentServerNodeId).length;const c={id:s,type:"imageNode",position:{x:r.position.x+420,y:r.position.y+40},data:{clientId:s,serverNodeId:null,parentServerNodeId:null,prompt:r.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};if(e({graphNodes:[...a().graphNodes,c]}),a().scheduleGraphSave(),r.data.imageUrl){const u=r.data.imageUrl;(async()=>{try{const m=await Ls(u,"node-reference.png");e({graphNodes:a().graphNodes.map(g=>g.id===s?{...g,data:{...g.data,referenceImages:[m]}}:g)})}catch{}})()}return s},async generateNode(i){const r=a().graphNodes.find(u=>u.id===i);if(!r)return;const{prompt:s}=r.data;if(!s.trim()){a().showToast(ge("toast.promptRequired"),!0);return}const c=Bs(a(),{kind:"node",clientId:i});if(c){e({customSizeConfirm:c});return}await a().runGenerateNode(i)},async generateNodeInPlace(i){const r=a().graphNodes.find(c=>c.id===i);if(!r)return;if(!r.data.prompt.trim()){a().showToast(ge("toast.promptRequired"),!0);return}const s=Bs(a(),{kind:"node-in-place",clientId:i});if(s){e({customSizeConfirm:s});return}await a().runGenerateNodeInPlace(i)},async generateNodeVariation(i,r){const s=a().graphNodes.find(u=>u.id===i);if(!s)return;if(!s.data.prompt.trim()){a().showToast(ge("toast.promptRequired"),!0);return}if(!r){const u=Bs(a(),{kind:"node-variation",clientId:i});if(u){e({customSizeConfirm:u});return}}const c=a().addSiblingNode(i);await a().runGenerateNodeInPlace(c,{sizeOverride:r})},async runGenerateNode(i,r){const c=a().graphNodes.find(u=>u.id===i)?.data.status==="ready"?a().addSiblingNode(i):i;await a().runGenerateNodeInPlace(c,{sizeOverride:r})},async runGenerateNodeInPlace(i,r={}){const s=a().graphNodes,c=Ia(s,a().graphEdges);c.some((w,B)=>w.data.parentServerNodeId!==s[B]?.data.parentServerNodeId)&&e({graphNodes:c});const u=c.find(w=>w.id===i);if(!u)return null;const{prompt:m,parentServerNodeId:g}=u.data;if(!m.trim())return a().showToast(ge("toast.promptRequired"),!0),null;const p=u.data.referenceImages??[],y=a(),v=r.sizeOverride??y.getResolvedSize(),x=r.parentServerNodeIdOverride!==void 0?r.parentServerNodeIdOverride:g;if(a().graphEdges.find(w=>w.target===i)&&!x)return a().showToast(ge("node.parentImageRequired"),!0),null;const _=y.activeSessionId,A=Date.now(),E=Math.random().toString(36).slice(2,6),C=`fn_${i}_${A}_${E}`,O=[...y.inFlight,{id:C,prompt:m,startedAt:A,kind:"node",sessionId:_,clientNodeId:i}];Wn(O),e({graphNodes:a().graphNodes.map(w=>w.id===i?{...w,data:{...w.data,status:"pending",pendingRequestId:C,recoveryRequestId:C,pendingPhase:"queued",pendingStartedAt:A,partialImageUrl:null,error:void 0,size:v}}:w),activeGenerations:y.activeGenerations+1,inFlight:O}),a().startInFlightPolling();let N=!0;try{const w=await j1({parentNodeId:x,prompt:m,quality:y.quality,size:v,format:y.format,moderation:y.moderation,model:y.imageModel,reasoningEffort:y.reasoningEffort,requestId:C,sessionId:_,clientNodeId:i,contextMode:"parent-plus-refs",searchMode:y.webSearchEnabled?"on":"off",webSearchEnabled:y.webSearchEnabled,...p.length?{references:p.map(yf)}:{}},{onPartial:B=>{a().activeSessionId===_&&e({graphNodes:a().graphNodes.map(z=>z.id===i?{...z,data:{...z.data,status:"pending",partialImageUrl:B.image,pendingPhase:"partial"}}:z)})},onPhase:B=>{a().activeSessionId===_&&B.phase&&e({graphNodes:a().graphNodes.map(z=>z.id===i?{...z,data:{...z.data,pendingPhase:B.phase??z.data.pendingPhase}}:z)})}});return a().activeSessionId===_&&(e({graphNodes:a().graphNodes.map(B=>{if(B.id!==i)return B;const z={...B.data};return delete z.partialImageUrl,{...B,data:{...z,serverNodeId:w.nodeId,imageUrl:w.url,status:"ready",pendingRequestId:null,recoveryRequestId:null,pendingPhase:null,pendingStartedAt:null,elapsed:w.elapsed,webSearchCalls:w.webSearchCalls,model:w.model??null,size:w.size??v}}})}),N=!0,r.suppressToast||a().showToast(ge("toast.nodeCreated",{id:w.nodeId.slice(0,8),elapsed:w.elapsed}))),w.nodeId}catch(w){const B=w instanceof Error?w.message:ge("toast.nodeCreateFailed");return a().activeSessionId===_&&(e({graphNodes:a().graphNodes.map(z=>z.id===i?{...z,data:{...z.data,status:"error",pendingRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,error:B}}:z)}),N=!0,Rr(w,a())),null}finally{const w=a().inFlight.filter(B=>B.id!==C);Wn(w),e({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:w}),a().activeSessionId===_&&N&&(a().scheduleGraphSave(),a().flushGraphSave("node-complete"))}},async runNodeBatch(i){if(a().nodeBatchRunning)return;const r=P0(a().graphNodes);if(r.length===0){a().showToast(ge("nodeBatch.noneSelected"),!0);return}const s=sE(a().graphNodes,a().graphEdges,r);if(s.length>0){a().showToast(ge("nodeBatch.parentRequired",{count:s.length}),!0);return}const c=rE(a().graphNodes,a().graphEdges,r),u=new Set(r),m=c.filter(y=>{if(i==="regenerate-all")return!0;const v=a().graphNodes.find(x=>x.id===y);return v?!F0(v):!1});if(m.length===0){a().showToast(ge("nodeBatch.nothingToRun"));return}e({nodeBatchRunning:!0,nodeBatchStopping:!1});const g=new Map;let p=0;try{for(const y of m){if(a().nodeBatchStopping)break;const v=a().graphEdges.find(E=>E.target===y),x=v?g.get(v.source)??a().graphNodes.find(E=>E.id===y)?.data.parentServerNodeId??null:null,S=await a().runGenerateNodeInPlace(y,{parentServerNodeIdOverride:x,suppressToast:!0});if(!S){a().showToast(ge("nodeBatch.failed",{done:p,total:m.length}),!0);break}p+=1,g.set(y,S);const _=lE(a().graphEdges,y,u),A=new Set(V0(a().graphEdges,u));e({graphNodes:a().graphNodes.map(E=>A.has(E.id)?{...E,data:{...E.data,status:"stale",parentServerNodeId:_.includes(E.id)?S:E.data.parentServerNodeId,error:ge("nodeBatch.staleBecauseParentChanged")}}:E)})}a().showToast(ge("nodeBatch.finished",{done:p,total:m.length})),a().scheduleGraphSave()}finally{e({nodeBatchRunning:!1,nodeBatchStopping:!1})}},deleteNode:i=>{const s=a().graphNodes.find(m=>m.id===i)?.data?.pendingRequestId;s&&My(s),df(a().activeSessionId,i);const c=a().graphNodes.filter(m=>m.id!==i),u=a().graphEdges.filter(m=>m.source!==i&&m.target!==i);e({graphNodes:Ia(c,u),graphEdges:u}),a().scheduleGraphSave()},deleteNodes:i=>{const r=new Set(i);for(const u of r)df(a().activeSessionId,u);for(const u of a().graphNodes)r.has(u.id)&&u.data?.pendingRequestId&&My(u.data.pendingRequestId);const s=a().graphNodes.filter(u=>!r.has(u.id)),c=a().graphEdges.filter(u=>!r.has(u.source)&&!r.has(u.target));e({graphNodes:Ia(s,c),graphEdges:c}),a().scheduleGraphSave()},addChildNodeAt:(i,r,s=go)=>{const c=a().graphNodes.find(v=>v.id===i);if(!c)return i;const u=po(),m=_E(s,"source")??go,g=NE(m)??Dr,p={id:u,type:"imageNode",position:r,data:{clientId:u,serverNodeId:null,parentServerNodeId:c.data.serverNodeId,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},y={id:Hs(i,u,m,g),source:i,target:u,sourceHandle:m,targetHandle:g};return e({graphNodes:[...a().graphNodes,p],graphEdges:[...a().graphEdges,y]}),a().scheduleGraphSave(),u},connectNodes:(i,r,s=null,c=null)=>{if(i===r||a().graphEdges.find(p=>p.source===i&&p.target===r))return;if(WN(a().graphEdges,i,r)){a().showToast(ge("edge.parentConflict"),!0);return}if(!a().graphNodes.find(p=>p.id===i))return;const g=[...a().graphEdges,{id:Hs(i,r,s,c),source:i,target:r,sourceHandle:s,targetHandle:c}];e({graphNodes:Ia(a().graphNodes,g),graphEdges:g}),a().scheduleGraphSave()},setProvider:i=>{It({provider:i}),e({provider:i})},setQuality:i=>{It({quality:i}),e({quality:i})},setSizePreset:i=>{It({sizePreset:i}),e({sizePreset:i})},setCustomSize:(i,r)=>e(s=>{const c=Tn(i,s.customW),u=Tn(r,s.customH);return It({customW:c,customH:u}),{customW:c,customH:u}}),setFormat:i=>{It({format:i}),e({format:i})},setModeration:i=>{It({moderation:i}),e({moderation:i})},setImageModel:i=>{Yy(i),e({imageModel:i})},setReasoningEffort:i=>{vE(i),e({reasoningEffort:i})},setWebSearchEnabled:i=>{bE(i),e({webSearchEnabled:i})},setCount:i=>{const r=Pr(i);It({count:r}),e({count:r})},setMultimode:i=>{i&&a().uiMode!=="classic"||(It({multimode:i}),e({multimode:i,multimodeSequence:i?a().multimodeSequence:null}))},setMultimodeMaxImages:i=>{const r=Pr(i);It({multimodeMaxImages:r}),e({multimodeMaxImages:r})},setPromptMode:i=>{It({promptMode:i}),e({promptMode:i})},setPrompt:i=>{It({prompt:i}),e({prompt:i})},insertPromptToComposer:i=>e(r=>{const c=r.insertedPrompts.some(u=>u.id===i.id)?r.insertedPrompts:[...r.insertedPrompts,i];return It({insertedPrompts:c}),{insertedPrompts:c}}),removeInsertedPromptFromComposer:i=>e(r=>{const s=r.insertedPrompts.filter(c=>c.id!==i);return It({insertedPrompts:s}),{insertedPrompts:s}}),clearInsertedPrompts:()=>{It({insertedPrompts:[]}),e({insertedPrompts:[]})},selectHistory:i=>{ci(i.filename??null),e({currentImage:i,unseenGeneratedCount:0})},markGeneratedResultsSeen:()=>e({unseenGeneratedCount:0}),selectHistoryShortcutTarget:i=>{const r=mE(a().history,a().currentImage,i);r&&a().selectHistory(r)},trashHistoryItem:async i=>{if(!i.filename)return;const r=i.filename,s=a().currentImage,c=s?.filename===r,u=c?Fy(a().history,r):s;try{const m=await q1(r);e(g=>({history:g.history.filter(p=>p.filename!==r),currentImage:u,trashPending:{filename:r,trashId:m.trashId,item:i,expiresAt:Date.now()+9500}})),c&&ci(u?.filename??null)}catch(m){console.error("[history] trash failed",m),a().showToast(ge("gallery.deleteFailed"),!0)}},restorePendingTrash:async()=>{const i=a().trashPending;if(i)try{await P1(i.filename,i.trashId),a().addHistoryItem(i.item),e({trashPending:null})}catch(r){console.error("[history] restore failed",r),a().showToast(ge("gallery.restoreFailed"),!0)}},clearPendingTrash:()=>e({trashPending:null}),permanentlyDeleteHistoryItemByClick:async i=>{if(!i.filename)return;const r=i.filename;if(!window.confirm(ge("result.permanentDeleteConfirm",{filename:r})))return;const c=a().currentImage,u=c?.filename===r,m=u?Fy(a().history,r):c;try{await G1(r),e(g=>({history:g.history.filter(p=>p.filename!==r),currentImage:m,trashPending:g.trashPending?.filename===r?null:g.trashPending})),u&&ci(m?.filename??null),a().showToast(ge("gallery.permanentDeleted",{filename:r}))}catch(g){console.error("[history] permanent delete failed",g),a().showToast(ge("gallery.deleteFailed"),!0)}},removeFromHistory:i=>{const r=a(),s=r.history.filter(u=>u.filename!==i),c=r.currentImage&&r.currentImage.filename===i?null:r.currentImage;e({history:s,currentImage:c}),c===null&&ci(null)},addHistoryItem:i=>{const r=a();if(r.history.some(u=>i.filename&&u.filename===i.filename))return;const c={...i,createdAt:i.createdAt||Date.now()};e({history:[c,...r.history].slice(0,fi)})},getResolvedSize:()=>{const{sizePreset:i,customW:r,customH:s}=a();return i==="custom"?`${r}x${s}`:i},async generate(){const i=a();if(!mf(i.prompt,i.insertedPrompts))return;const s=i.uiMode==="classic"&&i.multimode,c=Bs(i,{kind:s?"multimode":"classic"});if(c){e({customSizeConfirm:c});return}if(s){await a().generateMultimode();return}await a().runGenerate()},async generateMultimode(i){const r=a();if(r.uiMode!=="classic"||r.multimodeAbortController)return;const s=mf(r.prompt,r.insertedPrompts);if(!s)return;const c=i??r.getResolvedSize(),u=`mm_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,m=new AbortController,g=Date.now(),p=Pr(r.multimodeMaxImages),y=[...r.inFlight,{id:u,prompt:s,startedAt:g,kind:"multimode"}],v={sequenceId:u,requestId:u,requested:p,returned:0,images:[],partials:[],status:"pending"};Wn(y),e({activeGenerations:r.activeGenerations+1,inFlight:y,multimodeAbortController:m,multimodeSequence:v}),a().startInFlightPolling();try{const x=await I1({prompt:s,quality:r.quality,size:c,format:r.format,moderation:r.moderation,provider:r.provider,maxImages:p,model:r.imageModel,reasoningEffort:r.reasoningEffort,webSearchEnabled:r.webSearchEnabled,requestId:u,mode:r.promptMode,...r.referenceImages.length?{references:r.referenceImages.map(yf)}:{}},{onPartial:A=>{e(E=>{const C=E.multimodeSequence;return!C||C.requestId!==u?{}:{multimodeSequence:{...C,partials:[...C.partials,{image:A.image,index:A.index??null}].slice(-p)}}})},onImage:A=>{e(E=>{const C=E.multimodeSequence;return!C||C.requestId!==u?{}:C.images.some(N=>N.filename&&N.filename===A.filename)?{}:{multimodeSequence:{...C,sequenceId:A.sequenceId??C.sequenceId,returned:C.images.length+1,images:[...C.images,A],status:"partial"}}})}},{signal:m.signal}),S=x.images.map(A=>({...A,prompt:s,elapsed:Number.parseFloat(x.elapsed),provider:x.provider,usage:x.usage,quality:x.quality??r.quality,size:x.size??c,model:x.model??r.imageModel}));for(const A of S)await Us(A,e,a);e({multimodeSequence:{sequenceId:x.sequenceId,requestId:u,requested:x.requested,returned:x.returned,images:S,partials:[],status:x.status,elapsed:x.elapsed}});const _=x.status==="complete"?"multimode.complete":"multimode.partial";a().showToast(ge(_,{returned:x.returned,requested:x.requested,elapsed:x.elapsed}))}catch(x){x.name==="AbortError"?e(S=>{const _=S.multimodeSequence;return!_||_.requestId!==u?{}:{multimodeSequence:{..._,status:_.images.length>0?"partial":"empty"}}}):(e(S=>{const _=S.multimodeSequence;return!_||_.requestId!==u?{}:{multimodeSequence:{..._,status:"error",error:x.message}}}),Rr(x,a()))}finally{const x=a().inFlight.filter(S=>S.id!==u);Wn(x),e({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:x,multimodeAbortController:null})}},cancelMultimode:()=>{a().multimodeAbortController?.abort(),e(i=>{const r=i.multimodeSequence;return r?{multimodeAbortController:null,multimodeSequence:{...r,status:r.images.length>0?"partial":"empty"}}:{multimodeAbortController:null}})},async runGenerate(i){const r=a(),s=mf(r.prompt,r.insertedPrompts);if(!s)return;const c=i??r.getResolvedSize(),u=`f_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,m=Date.now(),g=[...r.inFlight,{id:u,prompt:s,startedAt:m}];Wn(g),e({activeGenerations:r.activeGenerations+1,inFlight:g}),a().startInFlightPolling();try{const p={prompt:s,quality:r.quality,size:c,format:r.format,moderation:r.moderation,provider:r.provider,n:r.count,model:r.imageModel,reasoningEffort:r.reasoningEffort,webSearchEnabled:r.webSearchEnabled,requestId:u,mode:r.promptMode,...r.referenceImages.length?{references:r.referenceImages.map(yf)}:{}},y=await z1(p);if(Hf(y)&&y.images.length>1){for(const v of y.images){const x={image:v.image,filename:v.filename,prompt:s,elapsed:y.elapsed,provider:y.provider,usage:y.usage,quality:y.quality??r.quality,size:y.size??c,model:y.model??r.imageModel};await Us(x,e,a)}a().showToast(ge("toast.generatedBatch",{count:y.images.length,elapsed:y.elapsed}))}else{let v;if(Hf(y)){const x=y.images[0];v={image:x.image,filename:x.filename,prompt:s,elapsed:y.elapsed,provider:y.provider,usage:y.usage,quality:y.quality??r.quality,size:y.size??c,model:y.model??r.imageModel}}else v={image:y.image,filename:y.filename,prompt:s,elapsed:y.elapsed,provider:y.provider,usage:y.usage,quality:y.quality??r.quality,size:y.size??c,model:y.model??r.imageModel};await Us(v,e,a),a().showToast(ge("toast.generatedSingle",{elapsed:y.elapsed}))}}catch(p){Rr(p,a())}finally{const p=a().inFlight.filter(y=>y.id!==u);Wn(p),e({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:p})}},async confirmCustomSizeAdjustment(){const i=a().customSizeConfirm;if(!i)return;const r=EE(i.adjustedW,i.adjustedH);if(e({customW:i.adjustedW,customH:i.adjustedH,customSizeConfirm:null}),i.continuation.kind==="classic"){await a().runGenerate(r);return}if(i.continuation.kind==="multimode"){await a().generateMultimode(r);return}if(i.continuation.kind==="node-in-place"){await a().runGenerateNodeInPlace(i.continuation.clientId,{sizeOverride:r});return}if(i.continuation.kind==="node-variation"){await a().generateNodeVariation(i.continuation.clientId,r);return}await a().runGenerateNode(i.continuation.clientId,r)},cancelCustomSizeAdjustment:()=>e({customSizeConfirm:null}),hydrateHistory(){(async()=>{try{const r=(await Bf({limit:fi})).items.map(Zy);if(r.length>0){const s=Ky(),c=s?r.find(u=>u.filename===s):null;e({history:r,currentImage:c??r[0]}),c||ci(r[0]?.filename??null)}}catch(i){console.warn("[history] load failed:",i)}})()},showToast(i,r=!1){e({toast:{message:i,error:r,id:Date.now()+Math.random()}})},showErrorCard(i,r){e({errorCard:{code:i,fallbackMessage:r?.fallbackMessage,id:Date.now()+Math.random()}})},dismissErrorCard(){e({errorCard:null})},togglePromptLibrary(){e(i=>({promptLibraryOpen:!i.promptLibraryOpen}))},async loadPromptLibrary(){e({promptLibraryLoading:!0});try{const i=await t_();e({promptLibrary:{prompts:i.prompts,folders:i.folders},promptLibraryLoading:!1})}catch(i){console.error("[PromptLibrary] load failed",i),e({promptLibraryLoading:!1})}},async savePromptToLibrary(i){try{await n_(i),await a().loadPromptLibrary(),a().showToast(ge("promptLibrary.saved"))}catch(r){console.error("[PromptLibrary] save failed",r),a().showToast(ge("promptLibrary.saveFailed"),!0)}},async deletePromptFromLibrary(i){try{await a_(i),await a().loadPromptLibrary()}catch(r){console.error("[PromptLibrary] delete failed",r)}},async togglePromptFavorite(i){try{await i_(i),await a().loadPromptLibrary()}catch(r){console.error("[PromptLibrary] favorite toggle failed",r)}},async importPromptsToLibrary(i){try{const r=[];for(const c of i){if(!/\.(txt|md|markdown)$/i.test(c.name))continue;const u=await c.text();if(!u.trim())continue;const m=c.name.replace(/\.(txt|md|markdown)$/i,"");r.push({name:m.trim()||ge("promptLibrary.untitled"),text:u.trim(),tags:[]})}if(r.length===0){a().showToast(ge("promptLibrary.importNoValidFiles"),!0);return}const s=await o_({prompts:r});await a().loadPromptLibrary(),a().showToast(ge("promptLibrary.imported",{count:s.promptsImported}))}catch(r){console.error("[PromptLibrary] import failed",r),a().showToast(ge("promptLibrary.importFailed"),!0)}},async toggleGalleryFavorite(i){try{const r=await H1(i);e(s=>{const c=new Set(s.galleryFavorites);return r.isFavorite?c.add(i):c.delete(i),{galleryFavorites:c}}),e(s=>({history:s.history.map(c=>c.filename===i?{...c,isFavorite:r.isFavorite}:c)}))}catch(r){console.error("[GalleryFavorite] toggle failed",r)}},openCanvas:()=>e({canvasOpen:!0,canvasZoom:1}),closeCanvas:()=>e({canvasOpen:!1}),setCanvasZoom:i=>e({canvasZoom:Math.max(.5,Math.min(3,i))}),resetCanvasZoom:()=>e({canvasZoom:1})})),DE=800,Qy="ima2.graphTabId";let En=null,oc=!1,rc=!1,mi=null,tx=0;function nx(){try{const e=sessionStorage.getItem(Qy);if(e)return e;const a=`tab_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`;return sessionStorage.setItem(Qy,a),a}catch{return"tab_unavailable"}}function ax(e){const a={...e};return delete a.referenceImages,delete a.partialImageUrl,e.status==="pending"||e.status==="reconciling"?{...a,status:"empty",pendingRequestId:null,recoveryRequestId:e.pendingRequestId??e.recoveryRequestId??null,pendingPhase:null,pendingStartedAt:null,error:void 0}:a}function ix(e){return e.map(a=>({id:a.id,source:a.source,target:a.target,data:{sourceHandle:a.sourceHandle??null,targetHandle:a.targetHandle??null}}))}async function ox(e,a){const i=e().activeSessionId;if(!i||e().graphNodes.filter(m=>!m.data.imageUrl&&!m.data.serverNodeId).length===0)return;let s=[];try{s=(await Bf({sessionId:i,limit:fi})).items}catch{return}let c=!1;const u=e().graphNodes.map(m=>{if(m.data.imageUrl||m.data.serverNodeId)return m;const g=m.data.pendingStartedAt??0,p=m.data.pendingRequestId??m.data.recoveryRequestId??null,v=(p?s.find(x=>(x.sessionId??null)===i&&(x.requestId??null)===p):null)??s.find(x=>(x.sessionId??null)===i&&(x.clientNodeId??null)===m.id&&(!g||(x.createdAt??0)>=g));return v?(c=!0,{...m,data:{...m.data,status:"ready",imageUrl:v.url,serverNodeId:v.nodeId??m.data.serverNodeId,size:v.size??m.data.size??null,pendingRequestId:null,recoveryRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,error:void 0}}):m});c&&(a({graphNodes:u}),lx(e,a,"recovery"))}async function zE(e,a){const i=e().activeSessionId;if(!i)return;const{session:r}=await j0(i),{graphNodes:s,graphEdges:c,graphVersion:u}=K0(r);a({graphNodes:s,graphEdges:c,activeSessionGraphVersion:u}),e().showToast(ge("toast.sessionReloadedElsewhere"),!0),await ox(e,a).catch(()=>{})}async function OE(e,a,i){const r=e().activeSessionId,s=e().activeSessionGraphVersion;if(!r||s==null)return"skipped";const{graphNodes:c,graphEdges:u}=e(),m=c.map(y=>({id:y.id,x:y.position.x,y:y.position.y,data:ax(y.data)})),g=ix(u),p=`gs_${Date.now().toString(36)}_${++tx}`;try{const y=await e_(r,s,m,g,{saveId:p,saveReason:i,tabId:nx()});return e().activeSessionId!==r?"skipped":(aE(r,e().graphNodes.map(v=>v.id)),a({activeSessionGraphVersion:y.graphVersion}),"saved")}catch(y){return y.status===409?(await zE(e,a),"conflict"):(console.warn("[sessions] save failed:",y),"failed")}}async function rx(e,a,i){if(oc){rc=!0,mi&&await mi;return}oc=!0,mi=(async()=>{let r=i;do{rc=!1;const s=await OE(e,a,r);if(s==="conflict"||s==="failed")break;r="queued"}while(rc)})().finally(()=>{oc=!1,mi=null}),await mi}function lx(e,a,i="debounced"){const r=e();r.activeSessionId&&(r.sessionLoading||(En&&clearTimeout(En),En=setTimeout(()=>{En=null,rx(e,a,i)},DE)))}async function IE(e,a,i="manual"){let r=!1;if(En&&(clearTimeout(En),En=null,r=!0),oc){rc=!0,mi&&await mi;return}r&&await rx(e,a,i)}function kE(e){const a=e();if(!a.activeSessionId||a.activeSessionGraphVersion==null)return;En&&(clearTimeout(En),En=null);const i=a.graphNodes.map(u=>({id:u.id,x:u.position.x,y:u.position.y,data:ax(u.data)})),r=ix(a.graphEdges),s=`/api/sessions/${encodeURIComponent(a.activeSessionId)}/graph`,c=JSON.stringify({nodes:i,edges:r});try{fetch(s,{method:"PUT",headers:{"Content-Type":"application/json","If-Match":String(a.activeSessionGraphVersion),"X-Ima2-Graph-Save-Id":`gs_${Date.now().toString(36)}_${++tx}`,"X-Ima2-Graph-Save-Reason":"beforeunload","X-Ima2-Tab-Id":nx()},body:c,keepalive:!0})}catch{}}async function Us(e,a,i){const r=await s_(e.image).catch(()=>e.image),s=e.filename?`/generated/${e.filename}`:e.image,c={...e,thumb:r,url:s,createdAt:e.createdAt||Date.now()},u=[c,...i().history].slice(0,fi);ci(c.filename??null),a({history:u,currentImage:c,unseenGeneratedCount:i().unseenGeneratedCount+1})}function LE(){const{t:e}=_e(),a=F(r=>r.uiMode),i=F(r=>r.setUIMode);return d.jsxs("div",{className:"ui-mode-switch",role:"tablist","aria-label":e("uiMode.ariaLabel"),children:[d.jsx("button",{type:"button",role:"tab","aria-selected":a==="classic",className:`ui-mode-switch__tab${a==="classic"?" active":""}`,onClick:()=>i("classic"),children:e("uiMode.classic")}),d.jsx("button",{type:"button",role:"tab","aria-selected":a==="node",className:`ui-mode-switch__tab${a==="node"?" active":""}`,onClick:()=>i("node"),children:e("uiMode.node")}),null]})}function fm({text:e,mode:a,onClose:i}){const{t:r}=_e(),s=F(_=>_.savePromptToLibrary),[c,u]=R.useState(e.slice(0,30)),[m,g]=R.useState(e),[p,y]=R.useState(""),[v,x]=R.useState(!1),S=async()=>{m.trim()&&(x(!0),await s({name:c.trim()||m.slice(0,30),text:m.trim(),tags:p.split(",").map(_=>_.trim()).filter(Boolean),mode:a||void 0}),x(!1),i())};return d.jsxs("div",{className:"save-prompt-popover",onClick:_=>_.stopPropagation(),children:[d.jsxs("div",{className:"save-prompt-popover__header",children:[d.jsx("span",{children:r("promptLibrary.saveTitle")}),d.jsx("button",{className:"save-prompt-popover__close",onClick:i,"aria-label":r("common.close"),children:"×"})]}),d.jsxs("div",{className:"save-prompt-popover__body",children:[d.jsxs("label",{children:[r("promptLibrary.name"),d.jsx("input",{type:"text",value:c,onChange:_=>u(_.target.value),placeholder:m.slice(0,30)})]}),d.jsxs("label",{children:[r("promptLibrary.content"),d.jsx("textarea",{value:m,onChange:_=>g(_.target.value),placeholder:"Enter prompt...",rows:4,autoFocus:!0})]}),d.jsxs("label",{children:[r("promptLibrary.tags"),d.jsx("input",{type:"text",value:p,onChange:_=>y(_.target.value),placeholder:"cta, product, summer"})]})]}),d.jsx("div",{className:"save-prompt-popover__footer",children:d.jsx("button",{onClick:S,disabled:v||!m.trim(),className:"save-prompt-popover__save",children:r(v?"common.saving":"promptLibrary.save")})})]})}function sx({variant:e="label"}){const{t:a}=_e(),i=F(c=>c.webSearchEnabled),r=F(c=>c.setWebSearchEnabled),s=a(i?"settings.webSearch.on":"settings.webSearch.off");return d.jsx("button",{type:"button",className:`web-search-toggle web-search-toggle--${e}${i?" is-active":""}`,onClick:()=>r(!i),"aria-pressed":i,"aria-label":s,title:s,children:e==="compact"?d.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[d.jsx("circle",{cx:"12",cy:"12",r:"10"}),d.jsx("path",{d:"M2 12h20"}),d.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 0 20"}),d.jsx("path",{d:"M12 2a15.3 15.3 0 0 0 0 20"})]}):d.jsx("span",{children:s})})}const yo=5;function HE(){const e=F(j=>j.prompt),a=F(j=>j.setPrompt),i=F(j=>j.insertedPrompts),r=F(j=>j.removeInsertedPromptFromComposer),s=F(j=>j.generate),{t:c}=_e(),u=F(j=>j.referenceImages),m=F(j=>j.addReferences),g=F(j=>j.readDroppedImageMetadata),p=F(j=>j.removeReference),y=F(j=>j.useCurrentAsReference),v=F(j=>j.currentImage),x=R.useRef(null),S=R.useRef(null),[_,A]=R.useState(!1),[E,C]=R.useState(!1),O=F(j=>j.promptMode),N=F(j=>j.setPromptMode),w=F(j=>j.multimode),B=F(j=>j.multimodeMaxImages),z=O==="direct",U=u.length<yo,H=w?u.length>0?c("multimode.promptPlaceholderWithRefs"):c("multimode.promptPlaceholder"):u.length>0?c("prompt.placeholderWithRefs"):c("prompt.placeholder"),X=async j=>{j.length!==0&&(j.length===1&&await g(j[0])||await m(j))},W=j=>{j.preventDefault(),A(!1);const M=Array.from(j.dataTransfer.files).filter(L=>L.type.startsWith("image/"));M.length>0&&X(M)},V=j=>{j.preventDefault(),_||A(!0)},K=j=>{j.currentTarget.contains(j.relatedTarget)||A(!1)},ie=j=>{if(!j)return[];const M=[];for(const L of Array.from(j)){if(L.kind!=="file"||!L.type.startsWith("image/"))continue;const G=L.getAsFile();G&&M.push(G)}return M},k=j=>{if(!U)return;const M=ie(j.clipboardData?.items??null);if(M.length===0)return;j.preventDefault();const L=yo-u.length;m(M.slice(0,L))};return R.useLayoutEffect(()=>{const j=S.current;j&&(j.style.height="auto",j.style.height=`${j.scrollHeight}px`)},[e]),R.useEffect(()=>{const j=M=>{const L=M.target,G=L?.tagName;if(G==="INPUT"||G==="TEXTAREA"||L?.isContentEditable)return;const Q=ie(M.clipboardData?.items??null);if(Q.length===0||u.length>=yo)return;M.preventDefault();const J=yo-u.length;m(Q.slice(0,J))};return window.addEventListener("paste",j),()=>window.removeEventListener("paste",j)},[u.length,m]),d.jsxs("div",{className:`composer${_?" composer--drag":""}${z&&!w?" composer--direct":""}${w?" composer--multimode":""}`,role:"group","aria-label":w?c("multimode.composerAriaLabel",{count:B}):c("prompt.label"),onDrop:W,onDragOver:V,onDragLeave:K,onPaste:k,children:[d.jsxs("div",{className:"composer__header",children:[d.jsx("span",{className:"section-title composer__label",children:c("prompt.label")}),d.jsxs("div",{className:"composer__header-meta",children:[w&&d.jsx("span",{className:"composer__mode-badge",children:c("multimode.composerBadge",{count:B})}),z&&d.jsx("span",{className:"composer__direct-badge",children:c("prompt.directModeActive")}),u.length>0&&d.jsx("span",{className:"composer__count",children:c("prompt.refCount",{count:u.length,max:yo})})]})]}),u.length>0&&d.jsx("div",{className:"composer__chips",children:u.map((j,M)=>d.jsxs("div",{className:"composer__chip",title:c("prompt.refChipTitle",{n:M+1}),children:[d.jsx("img",{src:j,alt:c("prompt.refChipAlt",{n:M+1})}),d.jsx("button",{type:"button",className:"composer__chip-remove",onClick:()=>p(M),"aria-label":c("prompt.refRemoveAria",{n:M+1}),children:"×"})]},M))}),i.length>0&&d.jsx("div",{className:"composer__prompt-chips",children:i.map(j=>d.jsxs("div",{className:"composer__prompt-chip",title:j.name,children:[d.jsx("span",{className:"composer__prompt-chip-plus","aria-hidden":"true",children:"+"}),d.jsx("span",{className:"composer__prompt-chip-title",children:j.name}),d.jsx("button",{type:"button",className:"composer__prompt-chip-remove",onClick:()=>r(j.id),"aria-label":c("promptLibrary.removeInserted",{name:j.name}),children:"×"})]},j.id))}),d.jsx("textarea",{ref:S,className:"prompt-area composer__textarea",value:e,placeholder:H,onChange:j=>a(j.target.value),onKeyDown:j=>{j.key==="Enter"&&(j.metaKey||j.ctrlKey)&&(j.preventDefault(),s())}}),d.jsxs("div",{className:"composer__toolbar",children:[d.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>U&&x.current?.click(),disabled:!U,title:c("prompt.attachTitle"),"aria-label":c("prompt.attachTitle"),children:[d.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:d.jsx("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"})}),d.jsx("span",{children:c("prompt.attach")})]}),d.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>{y()},disabled:!v||!U,title:c("prompt.useCurrentTitle"),children:[d.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[d.jsx("polyline",{points:"23 4 23 10 17 10"}),d.jsx("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]}),d.jsx("span",{children:c("prompt.useCurrent")})]}),d.jsxs("button",{type:"button",className:`composer__tool${z?" composer__tool--on":""}`,onClick:()=>N(z?"auto":"direct"),title:c("prompt.directModeTitle"),"aria-label":c("prompt.directModeTitle"),"aria-pressed":z,children:[d.jsx("span",{"aria-hidden":"true",style:{fontWeight:700,fontSize:11},children:"1:1"}),d.jsx("span",{children:c("prompt.directMode")})]}),d.jsx(sx,{variant:"compact"}),d.jsxs("div",{style:{position:"relative"},children:[d.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>C(j=>!j),disabled:!e.trim(),title:c("promptLibrary.saveTitle"),"aria-label":c("promptLibrary.saveTitle"),children:[d.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:d.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),d.jsx("span",{children:c("promptLibrary.save")})]}),E&&d.jsx(fm,{text:e,mode:O,onClose:()=>C(!1)})]}),d.jsx("span",{className:"composer__hint",children:c("prompt.hint")})]}),_&&d.jsx("div",{className:"composer__dropzone","aria-hidden":"true",children:c("prompt.dropHere",{max:yo})}),d.jsx("input",{ref:x,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:j=>{const M=Array.from(j.target.files??[]);M.length>0&&X(M),j.target.value=""}})]})}function BE(){const e=F(c=>c.activeGenerations),a=F(c=>c.generate),{t:i}=_e(),r=e>0,s=r?i("generate.buttonLoading",{n:e}):i("generate.button");return d.jsx("button",{type:"button",className:`generate-btn${r?" loading":""}`,onClick:()=>{a()},children:s})}function UE(e,a=28){const i=e.trim().replace(/\s+/g," ");return i.length>a?`${i.slice(0,a)}...`:i}function Jy(){const e=F(r=>r.inFlight),{t:a}=_e(),i={queued:a("inflight.queued"),streaming:a("inflight.streaming"),decoding:a("inflight.decoding")};return e.length===0?null:d.jsx("ul",{className:"in-flight-list",children:e.map(r=>{const s=r.phase?i[r.phase]??r.phase:a("inflight.queued");return d.jsxs("li",{className:"in-flight-item","data-phase":r.phase??"queued",children:[d.jsx("span",{className:"in-flight-prompt",children:UE(r.prompt)}),d.jsx("span",{className:"in-flight-phase",children:s}),d.jsx("span",{className:"in-flight-spinner","aria-hidden":"true"})]},r.id)})})}function qE(){const{t:e}=_e(),a=F(x=>x.sessions),i=F(x=>x.activeSessionId),r=F(x=>x.switchSession),s=F(x=>x.createAndSwitchSession),c=F(x=>x.renameCurrentSession),u=F(x=>x.deleteSessionById),[m,g]=R.useState(!1),p=a.find(x=>x.id===i),y=()=>{const x=window.prompt(e("session.renamePrompt"),p?.title??e("session.newSession"));x&&x.trim()&&c(x.trim())},v=(x,S)=>{window.confirm(e("session.deleteConfirm",{title:S}))&&u(x)};return d.jsxs("div",{className:"session-picker",children:[d.jsxs("div",{className:"session-picker-row",children:[d.jsxs("button",{type:"button",className:"session-current",onClick:()=>g(x=>!x),title:e("session.switchTitle"),children:[d.jsx("span",{className:"session-title",children:p?.title??e("session.loading")}),d.jsx("span",{className:"session-caret",children:m?"▴":"▾"})]}),d.jsx("button",{type:"button",className:"session-btn",onClick:()=>{s(e("session.newSession"))},title:e("session.newSessionTitle"),children:"+"}),d.jsx("button",{type:"button",className:"session-btn",onClick:y,title:e("session.renameTitle"),disabled:!p,children:"✎"})]}),m&&d.jsxs("ul",{className:"session-list",children:[a.map(x=>d.jsxs("li",{className:x.id===i?"is-active":"",children:[d.jsxs("button",{type:"button",className:"session-item",onClick:()=>{g(!1),r(x.id)},children:[d.jsx("span",{className:"session-item-title",children:x.title}),d.jsx("span",{className:"session-item-count",children:x.nodeCount})]}),d.jsx("button",{type:"button",className:"session-del",onClick:()=>v(x.id,x.title),title:e("session.deleteTitle"),children:"×"})]},x.id)),a.length===0&&d.jsx("li",{className:"session-empty",children:e("session.empty")})]})]})}function GE(){const{t:e}=_e(),a=F(r=>r.settingsOpen),i=F(r=>r.toggleSettings);return d.jsx("button",{type:"button",className:`settings-button${a?" is-active":""}`,onClick:i,"aria-label":e("settings.openAria"),"aria-pressed":a,title:e("settings.openTitle"),children:d.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"M12 8.2a3.8 3.8 0 1 0 0 7.6 3.8 3.8 0 0 0 0-7.6Zm0 5.7a1.9 1.9 0 1 1 0-3.8 1.9 1.9 0 0 1 0 3.8Z"}),d.jsx("path",{d:"m20.3 13.4.1-1.4-.1-1.4-2.2-.5a6.9 6.9 0 0 0-.6-1.3l1.2-1.9a9.6 9.6 0 0 0-2-2l-1.9 1.2c-.4-.2-.9-.4-1.3-.6L13 3.3a9.5 9.5 0 0 0-2.8 0l-.5 2.2c-.5.2-.9.3-1.3.6L6.5 4.9a9.6 9.6 0 0 0-2 2l1.2 1.9c-.2.4-.4.9-.6 1.3l-2.2.5a9.5 9.5 0 0 0 0 2.8l2.2.5c.2.5.3.9.6 1.3l-1.2 1.9a9.6 9.6 0 0 0 2 2l1.9-1.2c.4.2.9.4 1.3.6l.5 2.2a9.5 9.5 0 0 0 2.8 0l.5-2.2c.5-.2.9-.3 1.3-.6l1.9 1.2a9.6 9.6 0 0 0 2-2l-1.2-1.9c.2-.4.4-.9.6-1.3l2.2-.5Z"})]})})}function cx({variant:e}){const{t:a}=_e(),[i,r]=R.useState(!1),s=R.useRef(null),c=F(y=>y.imageModel),u=F(y=>y.setImageModel),m=e==="settings"?"settings-image-model":"sidebar-image-model",g=bo.find(y=>y.value===c)??bo[0],p=y=>{u(y.target.value)};return R.useEffect(()=>{if(e!=="sidebar"||!i)return;const y=x=>{const S=x.target;S instanceof Node&&(s.current?.contains(S)||r(!1))},v=x=>{x.key==="Escape"&&r(!1)};return document.addEventListener("pointerdown",y),document.addEventListener("keydown",v),()=>{document.removeEventListener("pointerdown",y),document.removeEventListener("keydown",v)}},[i,e]),e==="sidebar"?d.jsxs("div",{ref:s,className:"image-model-select image-model-select--sidebar",children:[d.jsx("button",{id:m,type:"button",className:"image-model-select__trigger","aria-haspopup":"listbox","aria-expanded":i,"aria-label":a("sidebar.imageModelAria"),onClick:()=>r(y=>!y),children:g.shortLabel}),i?d.jsx("div",{className:"image-model-select__menu",role:"listbox","aria-label":a("sidebar.imageModelAria"),children:bo.map(y=>d.jsxs("button",{type:"button",className:`image-model-select__item${y.value===c?" is-active":""}`,role:"option","aria-selected":y.value===c,onClick:()=>{u(y.value),r(!1)},children:[d.jsx("span",{children:y.shortLabel}),d.jsx("small",{children:a(y.fullLabelKey)})]},y.value))}):null]}):d.jsx("div",{className:"image-model-select image-model-select--settings",children:d.jsxs("select",{id:m,value:c,onChange:p,children:[bo.map(y=>d.jsx("option",{value:y.value,children:a(y.fullLabelKey)},y.value)),XN.map(y=>d.jsx("option",{value:y.value,disabled:!0,children:a(y.fullLabelKey)},y.value))]})})}function ux(e){return{...e,textFields:Array.isArray(e.textFields)?e.textFields:[]}}function Fr(e){return{...e,cards:Array.isArray(e.cards)?e.cards.map(ux):[]}}async function Ci(e,a){const i=await fetch(e,a),r=await i.json().catch(()=>({}));if(!i.ok){const s=r,c=typeof s.error=="string"?s.error:s.error?.message||`Request failed: ${i.status}`,u=new Error(c);throw typeof s.error!="string"&&(u.code=s.error?.code),u}return r}function PE(){return Ci("/api/cardnews/image-templates")}function FE(){return Ci("/api/cardnews/role-templates")}async function VE(e){const a=await Ci("/api/cardnews/draft",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return{...a,plan:Fr(a.plan)}}function $E(e){return Ci("/api/cardnews/jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function YE(e){return Ci(`/api/cardnews/jobs/${encodeURIComponent(e)}`)}async function XE(e){const i=(await Ci(`/api/cardnews/cards/${encodeURIComponent(e.card.id)}/regenerate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,cards:[e.card]})})).cards.find(r=>r.id===e.card.id);if(!i)throw new Error("Regenerated card not found");return{card:i}}function Wy(e){return Ci(`/api/cardnews/sets/${encodeURIComponent(e)}`).then(a=>({...a,plan:Fr(a.plan)}))}function KE(e){return`/api/cardnews/sets/${encodeURIComponent(e)}/manifest?download=1`}function ZE(e){return e[0]?.id||"academy-lesson-square"}function QE(e){return e.find(a=>a.id==="mid-5")?.id||e[0]?.id||"mid-5"}function JE(e){return Math.round(e/16)*16}function hc(e){return Math.min(sm,Math.max(1024,JE(e)))}function ev(e){return e.outputSizePreset!=="custom"?e.outputSizePreset:`${hc(e.customW)}x${hc(e.customH)}`}function dx(e){if(e){if(typeof e=="string")return e;if(typeof e=="object"&&"message"in e){const a=e.message;return typeof a=="string"?a:void 0}return String(e)}}function WE(e,a){const i=a.status||"generated";return{...e,...a,textFields:Array.isArray(a.textFields)?a.textFields:e.textFields,status:i,error:i==="error"?dx(a.error)||ge("cardNews.error"):void 0}}function eC(e){return new Promise(a=>setTimeout(a,e))}function vf(e,a){const i=new Map(a.cards.map(r=>[r.id,r]));return{...e,cards:e.cards.map(r=>{const s=i.get(r.id);return s?{...r,...s,textFields:Array.isArray(s.textFields)?s.textFields:r.textFields,status:s.status||r.status,error:dx(s.error)}:r})}}const Te=T0((e,a)=>({templates:[],roleTemplates:[],activePlan:null,selectedCardId:null,selectedTextFieldId:null,topic:"",audience:"",goal:"",contentBrief:"",imageTemplateId:"academy-lesson-square",roleTemplateId:"mid-5",outputSizePreset:"2048x2048",customW:2048,customH:2048,loading:!1,generating:!1,error:null,draftError:null,plannerMeta:null,async hydrate(){if(!(a().loading||a().templates.length>0)){e({loading:!0,error:null});try{const[i,r]=await Promise.all([PE(),FE()]);e({templates:i.templates,roleTemplates:r.templates,imageTemplateId:ZE(i.templates),roleTemplateId:QE(r.templates),loading:!1})}catch(i){e({loading:!1,error:i instanceof Error?i.message:String(i)})}}},setBriefField(i,r){e({[i]:r})},setImageTemplate(i){e({imageTemplateId:i})},setRoleTemplate(i){e({roleTemplateId:i})},setOutputSizePreset(i){e({outputSizePreset:i})},setCustomSize(i,r){e({customW:hc(i),customH:hc(r)})},async draft(){const i=a();e({loading:!0,error:null,draftError:null});try{const{plan:r,planner:s}=await VE({topic:i.topic,audience:i.audience,goal:i.goal,contentBrief:i.contentBrief,imageTemplateId:i.imageTemplateId,roleTemplateId:i.roleTemplateId,size:ev(i)});e({activePlan:Fr(r),selectedCardId:r.cards[0]?.id||null,selectedTextFieldId:null,plannerMeta:s||null,loading:!1})}catch(r){const s=r instanceof Error?r.message:String(r);e({loading:!1,draftError:s,error:s})}},updateCard(i,r){e(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===i?{...c,...r}:c)}:null}))},updateTextField(i,r,s){e(c=>({activePlan:c.activePlan?{...c.activePlan,cards:c.activePlan.cards.map(u=>u.id!==i||u.locked?u:{...u,textFields:u.textFields.map(m=>m.id===r?{...m,...s,source:s.source||"user"}:m)})}:null}))},addTextField(i,r){e(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===i&&!c.locked?{...c,textFields:[...c.textFields,{...r,source:"user"}]}:c)}:null,selectedTextFieldId:r.id}))},removeTextField(i,r){e(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===i&&!c.locked?{...c,textFields:c.textFields.filter(u=>u.id!==r)}:c)}:null,selectedTextFieldId:s.selectedTextFieldId===r?null:s.selectedTextFieldId}))},selectCard(i){e({selectedCardId:i,selectedTextFieldId:null})},selectTextField(i){e({selectedTextFieldId:i})},getGenerationSummary(){const i=a().activePlan?.cards||[];return{total:i.length,done:i.filter(r=>r.status==="generated").length,queued:i.filter(r=>r.status==="queued").length,generating:i.filter(r=>r.status==="generating").length,errors:i.filter(r=>r.status==="error").length,skipped:i.filter(r=>r.locked||r.status==="skipped").length}},async generateSet(){const i=a();if(!i.activePlan)return;const r=F.getState();e({generating:!0,error:null,activePlan:{...i.activePlan,cards:i.activePlan.cards.map(s=>s.locked?{...s,status:"skipped"}:{...s,status:"queued",error:void 0})}});try{const s=a().activePlan||i.activePlan;let u=await $E({...s,size:ev(i),quality:r.quality,moderation:r.moderation,model:r.imageModel,sessionId:r.activeSessionId});for(e(g=>({activePlan:g.activePlan?vf(g.activePlan,u):g.activePlan}));["queued","running"].includes(u.status);)await eC(900),u=await YE(u.jobId),e(g=>({activePlan:g.activePlan?vf(g.activePlan,u):g.activePlan}));const m=await Wy(u.setId).catch(()=>null);e(g=>({generating:!1,activePlan:m?.plan?Fr(m.plan):g.activePlan?vf(g.activePlan,u):g.activePlan,selectedTextFieldId:null})),r.showToast(ge("cardNews.generated",{count:u.generated}))}catch(s){const c=s instanceof Error?s.message:String(s);e(u=>({generating:!1,error:c,activePlan:u.activePlan?{...u.activePlan,cards:u.activePlan.cards.map(m=>m.status==="queued"||m.status==="generating"?{...m,status:"error",error:c}:m)}:u.activePlan}))}},async retryCard(i){const s=a().activePlan,c=s?.cards.find(m=>m.id===i);if(!s||!c||c.locked||!["draft","error"].includes(c.status))return;const u=F.getState();e({error:null,activePlan:{...s,cards:s.cards.map(m=>m.id===i?{...m,status:"generating",error:void 0}:m)}});try{const{card:m}=await XE({setId:s.setId,card:c,quality:u.quality,moderation:u.moderation,model:u.imageModel});e(g=>({activePlan:g.activePlan?{...g.activePlan,cards:g.activePlan.cards.map(p=>p.id===i?WE(p,ux(m)):p)}:g.activePlan}))}catch(m){const g=m instanceof Error?m.message:String(m);e(p=>({error:g,activePlan:p.activePlan?{...p.activePlan,cards:p.activePlan.cards.map(y=>y.id===i?{...y,status:"error",error:g}:y)}:p.activePlan}))}},async loadSet(i){e({loading:!0,error:null,selectedTextFieldId:null});try{const{plan:r}=await Wy(i);e({activePlan:Fr(r),selectedCardId:r.cards[0]?.id||null,selectedTextFieldId:null,loading:!1})}catch(r){e({loading:!1,error:r instanceof Error?r.message:String(r)})}}}));function tC(){const{t:e}=_e(),a=Te(w=>w.hydrate),i=Te(w=>w.topic),r=Te(w=>w.audience),s=Te(w=>w.goal),c=Te(w=>w.contentBrief),u=Te(w=>w.outputSizePreset),m=Te(w=>w.customW),g=Te(w=>w.customH),p=Te(w=>w.setBriefField),y=Te(w=>w.setOutputSizePreset),v=Te(w=>w.setCustomSize),x=Te(w=>w.draft),S=Te(w=>w.loading),_=Te(w=>w.generating),A=Te(w=>w.draftError),E=Te(w=>w.generateSet),C=Te(w=>w.activePlan),O=C?.cards||[],N={total:O.length,done:O.filter(w=>w.status==="generated").length};return R.useEffect(()=>{a()},[a]),d.jsxs("section",{className:"card-news-composer","aria-label":e("cardNews.composer"),children:[d.jsx("div",{className:"card-news-composer__head",children:d.jsxs("div",{children:[d.jsx("div",{className:"section-title",children:e("cardNews.composer")}),d.jsx("p",{children:e("cardNews.composerHint")})]})}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:e("cardNews.topic")}),d.jsx("input",{value:i,placeholder:e("cardNews.topicPlaceholder"),onChange:w=>p("topic",w.target.value)})]}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:e("cardNews.audience")}),d.jsx("input",{value:r,placeholder:e("cardNews.audiencePlaceholder"),onChange:w=>p("audience",w.target.value)})]}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:e("cardNews.goal")}),d.jsx("input",{value:s,placeholder:e("cardNews.goalPlaceholder"),onChange:w=>p("goal",w.target.value)})]}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:e("cardNews.brief")}),d.jsx("textarea",{value:c,placeholder:e("cardNews.briefPlaceholder"),onChange:w=>p("contentBrief",w.target.value)})]}),d.jsxs("div",{className:"card-news-field",children:[d.jsx("span",{children:e("cardNews.outputSize")}),d.jsx("div",{className:"card-news-size-row",role:"group","aria-label":e("cardNews.outputSize"),children:["1024x1024","2048x2048","custom"].map(w=>d.jsx("button",{type:"button",className:`option-btn${u===w?" active":""}`,onClick:()=>y(w),children:w==="custom"?e("cardNews.customSize"):w==="1024x1024"?"1024²":"2048²"},w))}),u==="custom"?d.jsxs("div",{className:"card-news-custom-size",children:[d.jsx("input",{className:"custom-size-input",type:"text",inputMode:"numeric",value:m,onChange:w=>v(Number.parseInt(w.target.value,10)||m,g),"aria-label":e("size.width")}),d.jsx("span",{children:"×"}),d.jsx("input",{className:"custom-size-input",type:"text",inputMode:"numeric",value:g,onChange:w=>v(m,Number.parseInt(w.target.value,10)||g),"aria-label":e("size.height")})]}):null]}),d.jsxs("button",{type:"button",className:"generate-btn card-news-draft-btn",onClick:()=>{x()},disabled:S||!i.trim(),children:[S?d.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,e(S?"cardNews.drafting":"cardNews.draft")]}),A?d.jsx("div",{className:"card-news-error",role:"alert",children:A}):null,S?d.jsxs("div",{className:"card-news-inline-status",role:"status",children:[d.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}),d.jsx("span",{children:e("cardNews.drafting")})]}):null,d.jsxs("button",{type:"button",className:"composer__tool card-news-generate-btn",onClick:()=>{E()},disabled:!C||_||C.cards.every(w=>w.locked),children:[_?d.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,_?e("cardNews.progress.generating",{done:N.done,total:N.total}):e("cardNews.batchGenerate")]})]})}function nC(){const{t:e}=_e(),a=F(c=>c.uiMode),i=F(c=>c.referenceImages),r=F(c=>c.clearReferences),s=a==="node"&&dm?"node":"classic";return d.jsx("aside",{className:"sidebar",children:d.jsxs("div",{className:"sidebar__scroll",children:[d.jsxs("div",{className:"logo",children:[d.jsx("div",{className:"logo-mark","aria-hidden":"true"}),d.jsxs("div",{className:"logo-copy",children:[d.jsx("div",{className:"logo-title",children:"ima2-gen"}),d.jsx("div",{className:"logo-subtitle",children:"gpt-image-2 studio"})]}),d.jsxs("div",{className:"logo-actions",children:[d.jsx(aC,{}),d.jsx(cx,{variant:"sidebar"}),d.jsx(GE,{})]})]}),d.jsx(LE,{}),s==="classic"?d.jsxs(d.Fragment,{children:[d.jsx(HE,{}),d.jsx(BE,{}),d.jsx(Jy,{})]}):s==="card-news"?d.jsx(d.Fragment,{children:d.jsx(tC,{})}):d.jsxs(d.Fragment,{children:[d.jsx(qE,{}),i.length>0?d.jsxs("div",{className:"node-mode-ref-warning",role:"status",children:[d.jsx("strong",{children:e("node.classicRefsParkedTitle")}),d.jsx("span",{children:e("node.classicRefsParkedBody")}),d.jsx("button",{type:"button",onClick:r,children:e("node.clearParkedRefs")})]}):null,d.jsx("div",{className:"sidebar__node-hint",children:e("sidebar.nodeModeHint")}),d.jsx(Jy,{})]})]})})}function aC(){const{t:e}=_e(),a=F(u=>u.togglePromptLibrary),i=F(u=>u.promptLibraryOpen),r=F(u=>u.rightPanelOpen),s=F(u=>u.toggleRightPanel),c=()=>{!i&&!r&&s(),a()};return d.jsx("button",{type:"button",className:"settings-button",onClick:c,title:e("promptLibrary.title"),"aria-label":e("promptLibrary.title"),children:d.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:d.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})})})}function iC({imageOverride:e=null}){const{t:a}=_e(),i=F(N=>N.currentImage),r=F(N=>N.showToast),s=F(N=>N.setPrompt),c=F(N=>N.useImageAsReference),u=F(N=>N.trashHistoryItem),m=F(N=>N.permanentlyDeleteHistoryItemByClick),g=F(N=>N.canvasOpen),p=F(N=>N.openCanvas),[y,v]=R.useState(!1),x=e??i;if(!x)return null;const S=!!x.filename,_=()=>{const N=document.createElement("a");N.href=x.image,N.download=x.filename||"generated.png",N.click()},A=async()=>{try{const w=await(await fetch(x.image)).blob();await navigator.clipboard.write([new ClipboardItem({[w.type]:w})]),r(a("toast.imageCopied"))}catch{r(a("toast.copyFailed"),!0)}},E=()=>{x.prompt&&(navigator.clipboard.writeText(x.prompt),r(a("toast.promptCopied")))},C=async()=>{if(!x.prompt){r(a("toast.noPromptToFork"),!0);return}s(x.prompt);try{await c(x)}catch{}const N=document.querySelector('textarea[name="prompt"], textarea#prompt, .sidebar textarea');N&&(N.focus(),N.setSelectionRange(N.value.length,N.value.length)),r(a("toast.forkStarted"))},O=async()=>{if(!(!x.filename||y)){v(!0);try{const N=await F1({filename:x.filename});r(a("toast.comfyExported",{filename:N.uploadedFilename}))}catch(N){const w=N instanceof Error?N.code:void 0;r(a(w==="COMFY_URL_NOT_LOCAL"?"toast.comfyExportInvalidUrl":w==="COMFY_IMAGE_INVALID"?"toast.comfyExportInvalidImage":w==="COMFY_IMAGE_NOT_FOUND"?"toast.comfyExportImageNotFound":"toast.comfyExportFailed"),!0)}finally{v(!1)}}};return d.jsxs("div",{className:"result-actions",children:[d.jsx("button",{type:"button",className:"action-btn",onClick:_,children:a("result.download")}),d.jsx("button",{type:"button",className:"action-btn",onClick:A,children:a("result.copyImage")}),d.jsx("button",{type:"button",className:"action-btn",onClick:E,children:a("result.copyPrompt")}),d.jsx("button",{type:"button",className:"action-btn action-btn--primary",onClick:C,title:a("result.continueHereTitle"),children:a("result.continueHere")}),!g&&d.jsx("button",{type:"button",className:"action-btn",onClick:p,title:a("canvas.open"),"aria-label":a("canvas.openAria"),children:d.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:d.jsx("path",{d:"M4 4h8v8M12 4l-8 8"})})}),x.filename&&d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button",className:"action-btn action-btn--danger",onClick:()=>{u(x)},title:a("result.deleteTitle"),children:a("result.delete")}),d.jsxs("details",{className:"result-actions__more",children:[d.jsx("summary",{className:"action-btn",children:a("result.more")}),d.jsxs("div",{className:"result-actions__menu",children:[S&&d.jsx("button",{type:"button",className:"result-actions__menu-item",onClick:()=>{O()},title:a("result.sendToComfyUITitle"),disabled:y,children:a("result.sendToComfyUI")}),d.jsx("button",{type:"button",className:"result-actions__menu-item result-actions__danger-item",onClick:()=>{m(x)},children:a("result.permanentDelete")})]})]})]})]})}function oC(){const e=F(c=>c.multimodeSequence),a=F(c=>c.cancelMultimode),i=F(c=>c.activeGenerations),{t:r}=_e();if(!e)return null;const s=Array.from({length:e.requested},(c,u)=>{const m=e.images[u],g=e.partials.find(p=>p.index===u||p.index==null);return{index:u,image:m,partial:g}});return d.jsxs("section",{className:"multimode-sequence","aria-live":"polite",children:[d.jsxs("div",{className:"multimode-sequence__header",children:[d.jsxs("div",{children:[d.jsx("div",{className:"multimode-sequence__title",children:r("multimode.sequenceTitle")}),d.jsx("div",{className:"multimode-sequence__meta",children:r("multimode.sequenceProgress",{returned:e.returned,requested:e.requested})})]}),i>0?d.jsx("button",{type:"button",className:"secondary-btn",onClick:a,children:r("multimode.cancel")}):null]}),d.jsx("div",{className:`multimode-sequence__grid count-${Math.min(e.requested,4)}`,children:s.map(({index:c,image:u,partial:m})=>d.jsxs("article",{className:`multimode-sequence__slot${u?" done":""}`,children:[d.jsx("div",{className:"multimode-sequence__badge",children:r("multimode.stageLabel",{index:c+1})}),u?d.jsx("img",{src:u.url??u.image,alt:r("canvas.resultAlt")}):m?d.jsx("img",{src:m.image,alt:r("multimode.partialAlt")}):d.jsx("div",{className:"multimode-sequence__empty",children:e.status==="error"?r("multimode.error"):e.status==="empty"?r("multimode.empty"):r("multimode.generating")})]},u?.filename??c))})]})}function ka(e){return e instanceof HTMLElement?e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLButtonElement||e.isContentEditable:!1}const qs=2,pc=1e-6;function rC({paths:e,points:a,radius:i,makeId:r=()=>crypto.randomUUID()}){if(e.length===0||a.length===0||i<=0)return{paths:e,changed:!1};let s=!1;const c=[];for(const u of e){const m=lC(u,a,i,r);(m.length!==1||m[0]!==u)&&(s=!0),c.push(...m)}return{paths:c,changed:s}}function lC(e,a,i,r=()=>crypto.randomUUID()){if(e.points.length<qs||a.length===0||i<=0)return[e];const s=[];let c=Hr(e.points[0],a,i)?[]:[e.points[0]];for(let m=1;m<e.points.length;m+=1){const g=e.points[m-1],p=e.points[m],y=Hr(p,a,i),v=sC(g,p,a,i);if(v){c.length===0&&!Hr(g,a,i)&&(c=[g]),c.length>0&&v.leftT>pc&&nv(c,Vr(g,p,v.leftT)),c.length>=qs&&s.push(c),c=[],v.rightT<1-pc&&!y&&(c=[Vr(g,p,v.rightT),p]);continue}if(y){c.length>=qs&&s.push(c),c=[];continue}c.length===0&&!Hr(g,a,i)&&(c=[g]),nv(c,p)}if(c.length>=qs&&s.push(c),s.length===0)return[];if(s.length===1&&s[0].length===e.points.length)return[e];const u=e.tool==="arrow"?s.length-1:-1;return s.map((m,g)=>({...e,id:g===0?e.id:r(),tool:e.tool==="arrow"&&g!==u?"pen":e.tool,points:m}))}function Hr(e,a,i){if(a.length===1)return yi(e,a[0])<=i;for(let r=1;r<a.length;r+=1)if(cC(e,a[r-1],a[r])<=i)return!0;return!1}function yi(e,a){const i=e.x-a.x,r=e.y-a.y;return Math.sqrt(i*i+r*r)}function sC(e,a,i,r){const s=yi(e,a);if(s<=pc)return Hr(e,i,r)?{leftT:0,rightT:1}:null;let c=null,u=Number.POSITIVE_INFINITY;for(const g of i){const p=tv(g,e,a),y=Vr(e,a,p),v=yi(g,y);v<u&&(u=v,c=p)}for(let g=1;g<i.length;g+=1){const p=[0,.25,.5,.75,1];for(const y of p){const v=Vr(i[g-1],i[g],y),x=tv(v,e,a),S=Vr(e,a,x),_=yi(v,S);_<u&&(u=_,c=x)}}if(c===null||u>r)return null;const m=Math.max(r/s,.01);return{leftT:Math.max(0,c-m),rightT:Math.min(1,c+m)}}function tv(e,a,i){const r=i.x-a.x,s=i.y-a.y,c=e.x-a.x,u=e.y-a.y,m=r*r+s*s;return m===0?0:Math.max(0,Math.min(1,(c*r+u*s)/m))}function Vr(e,a,i){return{x:e.x+(a.x-e.x)*i,y:e.y+(a.y-e.y)*i}}function nv(e,a){const i=e.at(-1);(!i||yi(i,a)>pc)&&e.push(a)}function cC(e,a,i){const r=i.x-a.x,s=i.y-a.y,c=e.x-a.x,u=e.y-a.y,m=r*r+s*s;if(m===0)return yi(e,a);const g=Math.max(0,Math.min(1,(c*r+u*s)/m));return yi(e,{x:a.x+g*r,y:a.y+g*s})}function mm(e,a){return`${e}:${a}`}function hm(e){const a=e.indexOf(":");if(a<=0)return null;const i=e.slice(0,a),r=e.slice(a+1);return!r||i!=="path"&&i!=="box"&&i!=="memo"?null:{kind:i,id:r}}function fx(e){return mm("path",e.id)}function mx(e){return mm("box",e.id)}function hx(e){return mm("memo",e.id)}function La(e,a,i){const r=hm(e);return r?.kind===a&&r.id===i}const qf={activeTool:"pan",toolColor:"#ef4444",strokeWidth:3,paths:[],boxes:[],memos:[],activeMemoId:null,activePath:null,activeBox:null,eraserMode:"object",activeEraserStroke:null,eraserBaseline:null,selectionBox:null,selectedIds:[],past:[],future:[],memoBaseline:null,moveBaseline:null,isDirty:!1};function ui(e){return{paths:e.paths,boxes:e.boxes,memos:e.memos}}function si(e){return{...e,past:[...e.past.slice(-49),ui(e)],future:[]}}function xf(e,a){return{...e,past:[...e.past.slice(-49),a],future:[]}}function uC(e,a){return JSON.stringify(e)===JSON.stringify(a)}function av(e,a){return{...e,...a,activeMemoId:null,activePath:null,activeBox:null,selectionBox:null,selectedIds:[],isDirty:!0}}function dC(e,a,i){const{start:r,current:s}=e,c=Math.min(r.x,s.x),u=Math.min(r.y,s.y),m=Math.abs(s.x-r.x),g=Math.abs(s.y-r.y);return m<.01||g<.01?null:{id:crypto.randomUUID(),x:c,y:u,width:m,height:g,color:a,strokeWidth:i}}function fC(e,a){return{...e,x:Math.min(1-e.width,Math.max(0,e.x+a.x)),y:Math.min(1-e.height,Math.max(0,e.y+a.y))}}function bf(e,a){return{x:Math.min(1,Math.max(0,e.x+a.x)),y:Math.min(1,Math.max(0,e.y+a.y))}}function mC(e,a){switch(a.type){case"SET_TOOL":return{...e,activeTool:a.tool};case"SET_ERASER_MODE":return{...e,eraserMode:a.mode};case"START_PATH":return{...e,isDirty:!0,activePath:{id:crypto.randomUUID(),tool:e.activeTool,points:[a.point],color:e.toolColor,strokeWidth:e.strokeWidth}};case"ADD_POINT":return e.activePath?{...e,activePath:{...e.activePath,points:[...e.activePath.points,a.point]}}:e;case"END_PATH":return!e.activePath||e.activePath.points.length<2?{...e,activePath:null}:{...si(e),isDirty:!0,paths:[...e.paths,e.activePath],activePath:null};case"START_BOX":return{...e,isDirty:!0,activeBox:{start:a.point,current:a.point}};case"UPDATE_BOX":return e.activeBox?{...e,activeBox:{...e.activeBox,current:a.point}}:e;case"END_BOX":{if(!e.activeBox)return e;const i=dC(e.activeBox,e.toolColor,e.strokeWidth);return i?{...si(e),isDirty:!0,boxes:[...e.boxes,i],activeBox:null}:{...e,activeBox:null}}case"CREATE_MEMO":{const i=crypto.randomUUID(),r={id:i,x:a.point.x,y:a.point.y,text:"",color:e.toolColor};return{...si(e),isDirty:!0,memos:[...e.memos,r],activeMemoId:i}}case"UPDATE_MEMO":return{...e,isDirty:!0,memos:e.memos.map(i=>i.id===a.id?{...i,text:a.text}:i)};case"COMMIT_MEMO_EDIT":return e.memoBaseline?uC(e.memoBaseline,ui(e))?{...e,memoBaseline:null,activeMemoId:null}:{...xf(e,e.memoBaseline),memoBaseline:null,activeMemoId:null,isDirty:!0}:{...e,activeMemoId:null};case"DELETE_MEMO":return{...si(e),isDirty:!0,memos:e.memos.filter(i=>i.id!==a.id),activeMemoId:e.activeMemoId===a.id?null:e.activeMemoId,selectedIds:e.selectedIds.filter(i=>!La(i,"memo",a.id))};case"FOCUS_MEMO":return{...e,activeMemoId:a.id,memoBaseline:a.id&&e.activeMemoId!==a.id&&!e.memoBaseline?ui(e):e.memoBaseline};case"CLEAR":return{...si(e),isDirty:!0,paths:[],boxes:[],memos:[],activeMemoId:null,activePath:null,activeBox:null,selectionBox:null,selectedIds:[]};case"LOAD":return{...qf,activeTool:e.activeTool,eraserMode:e.eraserMode,...a.payload};case"MARK_SAVED":return{...e,isDirty:!1};case"RESET_LOCAL":return{...qf,activeTool:e.activeTool,eraserMode:e.eraserMode};case"UNDO":{const i=e.past.at(-1);return i?{...av(e,i),past:e.past.slice(0,-1),future:[ui(e),...e.future]}:e}case"REDO":{const i=e.future[0];return i?{...av(e,i),past:[...e.past.slice(-49),ui(e)],future:e.future.slice(1)}:e}case"SELECT_ONE":return{...e,selectedIds:[a.id],selectionBox:null};case"TOGGLE_SELECTED":return{...e,selectedIds:e.selectedIds.includes(a.id)?e.selectedIds.filter(i=>i!==a.id):[...e.selectedIds,a.id],selectionBox:null};case"CLEAR_SELECTION":return{...e,selectedIds:[],selectionBox:null};case"DELETE_SELECTED":return e.selectedIds.length===0?e:{...si(e),isDirty:!0,paths:e.paths.filter(i=>!e.selectedIds.some(r=>La(r,"path",i.id))),boxes:e.boxes.filter(i=>!e.selectedIds.some(r=>La(r,"box",i.id))),memos:e.memos.filter(i=>!e.selectedIds.some(r=>La(r,"memo",i.id))),selectedIds:[]};case"MOVE_SELECTED":return e.selectedIds.length===0?e:{...e,isDirty:!0,paths:e.paths.map(i=>e.selectedIds.some(r=>La(r,"path",i.id))?{...i,points:i.points.map(r=>bf(r,a.delta))}:i),boxes:e.boxes.map(i=>e.selectedIds.some(r=>La(r,"box",i.id))?fC(i,a.delta):i),memos:e.memos.map(i=>e.selectedIds.some(r=>La(r,"memo",i.id))?{...i,x:bf(i,a.delta).x,y:bf(i,a.delta).y}:i)};case"START_SELECTED_MOVE":return{...e,moveBaseline:ui(e)};case"COMMIT_SELECTED_MOVE":return e.moveBaseline?{...xf(e,e.moveBaseline),moveBaseline:null,isDirty:!0}:e;case"START_SELECTION_BOX":return{...e,selectionBox:{start:a.point,current:a.point},selectedIds:[]};case"UPDATE_SELECTION_BOX":return e.selectionBox?{...e,selectionBox:{...e.selectionBox,current:a.point}}:e;case"END_SELECTION_BOX":return{...e,selectionBox:null,selectedIds:a.ids};case"ERASE_OBJECT":{const i=hm(a.id);return!i||!(i.kind==="path"?e.paths.some(s=>s.id===i.id):i.kind==="box"?e.boxes.some(s=>s.id===i.id):e.memos.some(s=>s.id===i.id))?e:{...si(e),isDirty:!0,paths:i.kind==="path"?e.paths.filter(s=>s.id!==i.id):e.paths,boxes:i.kind==="box"?e.boxes.filter(s=>s.id!==i.id):e.boxes,memos:i.kind==="memo"?e.memos.filter(s=>s.id!==i.id):e.memos,selectedIds:e.selectedIds.filter(s=>s!==a.id)}}case"START_ERASER_STROKE":return{...e,activeEraserStroke:{points:[a.point],radius:.018},eraserBaseline:ui(e)};case"UPDATE_ERASER_STROKE":return e.activeEraserStroke?{...e,activeEraserStroke:{...e.activeEraserStroke,points:[...e.activeEraserStroke.points,a.point]}}:e;case"END_ERASER_STROKE":{if(!e.activeEraserStroke||!e.eraserBaseline)return{...e,activeEraserStroke:null,eraserBaseline:null};const i=rC({paths:e.paths,points:e.activeEraserStroke.points,radius:e.activeEraserStroke.radius});return i.changed?{...xf(e,e.eraserBaseline),paths:i.paths,activeEraserStroke:null,eraserBaseline:null,selectedIds:[],isDirty:!0}:{...e,activeEraserStroke:null,eraserBaseline:null}}default:return e}}function hC(){const[e,a]=R.useReducer(mC,qf),i=R.useMemo(()=>e.paths.length>0||e.boxes.length>0||e.memos.length>0,[e.paths.length,e.boxes.length,e.memos.length]),r=e.past.length>0,s=e.future.length>0,c=R.useCallback(J=>a({type:"SET_TOOL",tool:J}),[]),u=R.useCallback(()=>a({type:"CLEAR"}),[]),m=R.useCallback(J=>a({type:"LOAD",payload:J}),[]),g=R.useCallback(()=>a({type:"MARK_SAVED"}),[]),p=R.useCallback(()=>a({type:"RESET_LOCAL"}),[]),y=R.useCallback(()=>a({type:"UNDO"}),[]),v=R.useCallback(()=>a({type:"REDO"}),[]),x=R.useCallback(()=>a({type:"COMMIT_MEMO_EDIT"}),[]),S=R.useCallback(()=>a({type:"START_SELECTED_MOVE"}),[]),_=R.useCallback(()=>a({type:"COMMIT_SELECTED_MOVE"}),[]),A=R.useCallback(J=>{e.activeTool==="pen"||e.activeTool==="arrow"?a({type:"START_PATH",point:J}):e.activeTool==="box"&&a({type:"START_BOX",point:J})},[e.activeTool]),E=R.useCallback(J=>{e.activePath?a({type:"ADD_POINT",point:J}):e.activeBox&&a({type:"UPDATE_BOX",point:J})},[e.activePath,e.activeBox]),C=R.useCallback(()=>{e.activePath?a({type:"END_PATH"}):e.activeBox&&a({type:"END_BOX"})},[e.activePath,e.activeBox]),O=R.useCallback(J=>a({type:"CREATE_MEMO",point:J}),[]),N=R.useCallback((J,D)=>a({type:"UPDATE_MEMO",id:J,text:D}),[]),w=R.useCallback(J=>a({type:"DELETE_MEMO",id:J}),[]),B=R.useCallback(J=>a({type:"FOCUS_MEMO",id:J}),[]),z=R.useCallback(J=>a({type:"SET_ERASER_MODE",mode:J}),[]),U=R.useCallback(J=>a({type:"SELECT_ONE",id:J}),[]),H=R.useCallback(J=>a({type:"TOGGLE_SELECTED",id:J}),[]),X=R.useCallback(()=>a({type:"CLEAR_SELECTION"}),[]),W=R.useCallback(()=>a({type:"DELETE_SELECTED"}),[]),V=R.useCallback(J=>a({type:"MOVE_SELECTED",delta:J}),[]),K=R.useCallback(J=>a({type:"START_SELECTION_BOX",point:J}),[]),ie=R.useCallback(J=>a({type:"UPDATE_SELECTION_BOX",point:J}),[]),k=R.useCallback(J=>a({type:"END_SELECTION_BOX",ids:J}),[]),j=R.useCallback(J=>a({type:"ERASE_OBJECT",id:J}),[]),M=R.useCallback(J=>a({type:"START_ERASER_STROKE",point:J}),[]),L=R.useCallback(J=>a({type:"UPDATE_ERASER_STROKE",point:J}),[]),G=R.useCallback(()=>a({type:"END_ERASER_STROKE"}),[]),Q=R.useCallback(()=>({paths:e.paths,boxes:e.boxes,memos:e.memos}),[e.paths,e.boxes,e.memos]);return{...e,canUndo:r,canRedo:s,hasAnnotations:i,setTool:c,setEraserMode:z,startDrawing:A,moveDrawing:E,endDrawing:C,createMemo:O,updateMemo:N,commitMemoEdit:x,deleteMemo:w,focusMemo:B,clear:u,load:m,toPayload:Q,markSaved:g,resetLocal:p,undo:y,redo:v,selectOne:U,toggleSelected:H,clearSelection:X,deleteSelected:W,moveSelected:V,startSelectedMove:S,commitSelectedMove:_,startSelectionBox:K,updateSelectionBox:ie,endSelectionBox:k,eraseObjectAtPoint:j,startEraserStroke:M,updateEraserStroke:L,endEraserStroke:G}}function iv(e){return Math.min(1,Math.max(0,e))}function ov(e,a){const i=a.getBoundingClientRect();return{x:iv((e.clientX-i.left)/i.width),y:iv((e.clientY-i.top)/i.height)}}function Gs(e,a){return{x:e.x*a.width,y:e.y*a.height}}function Gf(e,a,i){if(a.points.length<2)return;const r=Gs(a.points[0],i);e.save(),e.beginPath(),e.strokeStyle=a.color,e.lineWidth=a.strokeWidth,e.lineCap="round",e.lineJoin="round",e.moveTo(r.x,r.y);for(const s of a.points.slice(1)){const c=Gs(s,i);e.lineTo(c.x,c.y)}if(e.stroke(),a.tool==="arrow"){const s=Gs(a.points[a.points.length-1],i),c=Gs(a.points[a.points.length-2],i);yC(e,c,s,a.color,a.strokeWidth)}e.restore()}function Pf(e,a,i,r){const s="start"in a?{x:Math.min(a.start.x,a.current.x),y:Math.min(a.start.y,a.current.y),width:Math.abs(a.current.x-a.start.x),height:Math.abs(a.current.y-a.start.y),color:"#ef4444",strokeWidth:3}:a;e.save(),e.strokeStyle=s.color,e.lineWidth=r==="active"?Math.max(2,s.strokeWidth):s.strokeWidth,r==="active"&&e.setLineDash([8,6]),e.strokeRect(s.x*i.width,s.y*i.height,s.width*i.width,s.height*i.height),e.restore()}function pC(e,a,i){const r=a.x*i.width,s=a.y*i.height,c=Math.min(260,Math.max(150,i.width*.22)),u=12,m=18;e.save(),e.font="14px sans-serif";const g=vC(e,a.text.trim()||" ",c-u*2),p=Math.max(52,u*2+g.length*m);e.fillStyle="rgba(255, 246, 179, 0.96)",e.strokeStyle="rgba(44, 37, 12, 0.28)",e.lineWidth=1,xC(e,r,s,c,p,8),e.fill(),e.stroke(),e.fillStyle="#2f2a13",e.textBaseline="top",g.forEach((y,v)=>{e.fillText(y,r+u,s+u+v*m)}),e.restore()}function gC(e,a){const i=hm(e);if(!i)return null;if(i.kind==="box")return a.boxes.find(p=>p.id===i.id)??null;const r=i.kind==="memo"?a.memos.find(p=>p.id===i.id):null;if(r)return{id:r.id,x:r.x,y:r.y,width:.18,height:.12,color:r.color,strokeWidth:1};if(i.kind!=="path")return null;const s=a.paths.find(p=>p.id===i.id);if(!s||s.points.length===0)return null;const c=s.points.map(p=>p.x),u=s.points.map(p=>p.y),m=Math.min(...c),g=Math.min(...u);return{id:s.id,x:m,y:g,width:Math.max(.01,Math.max(...c)-m),height:Math.max(.01,Math.max(...u)-g),color:s.color,strokeWidth:s.strokeWidth}}function rv(e,a,i){const r="start"in a?{x:Math.min(a.start.x,a.current.x),y:Math.min(a.start.y,a.current.y),width:Math.abs(a.current.x-a.start.x),height:Math.abs(a.current.y-a.start.y)}:a;e.save(),e.strokeStyle="#64c8ff",e.lineWidth=2,e.setLineDash([5,5]),e.strokeRect(r.x*i.width,r.y*i.height,r.width*i.width,r.height*i.height),e.restore()}function yC(e,a,i,r,s){const c=Math.atan2(i.y-a.y,i.x-a.x),u=Math.max(12,s*4),m=Math.PI/7;e.save(),e.fillStyle=r,e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(i.x-u*Math.cos(c-m),i.y-u*Math.sin(c-m)),e.lineTo(i.x-u*Math.cos(c+m),i.y-u*Math.sin(c+m)),e.closePath(),e.fill(),e.restore()}function vC(e,a,i){const r=a.split(/\s+/).filter(Boolean);if(r.length===0)return[""];const s=[];let c="";for(const u of r){const m=c?`${c} ${u}`:u;if(e.measureText(m).width<=i||c===""){c=m;continue}s.push(c),c=u}return c&&s.push(c),s}function xC(e,a,i,r,s,c){const u=Math.min(c,r/2,s/2);e.beginPath(),e.moveTo(a+u,i),e.lineTo(a+r-u,i),e.quadraticCurveTo(a+r,i,a+r,i+u),e.lineTo(a+r,i+s-u),e.quadraticCurveTo(a+r,i+s,a+r-u,i+s),e.lineTo(a+u,i+s),e.quadraticCurveTo(a,i+s,a,i+s-u),e.lineTo(a,i+u),e.quadraticCurveTo(a,i,a+u,i),e.closePath()}function bC(e,a){return new Promise((i,r)=>{e.toBlob(s=>{if(s){i(s);return}r(new Error("canvas_blob_unavailable"))},a)})}async function px(e){const a=document.createElement("canvas");a.width=e.imageElement.naturalWidth,a.height=e.imageElement.naturalHeight;const i=a.getContext("2d");if(!i)throw new Error("canvas_context_unavailable");i.drawImage(e.imageElement,0,0,a.width,a.height);const r={width:a.width,height:a.height};for(const c of e.paths)Gf(i,c,r);for(const c of e.boxes)Pf(i,c,r,"committed");for(const c of e.memos)pC(i,c,r);return{blob:await bC(a,"image/png"),dataUrl:a.toDataURL("image/png")}}function Ps(e){return Math.min(1,Math.max(0,e))}function SC(e){return new Promise((a,i)=>{e.toBlob(r=>{r?a(r):i(new Error("mask_blob_unavailable"))},"image/png")})}async function wC(e){const a=e.imageElement.naturalWidth,i=e.imageElement.naturalHeight;if(!a||!i)throw new Error("mask_source_size_unavailable");if(e.boxes.length===0)throw new Error("mask_boxes_required");const r=document.createElement("canvas");r.width=a,r.height=i;const s=r.getContext("2d");if(!s)throw new Error("mask_context_unavailable");s.fillStyle="rgba(0, 0, 0, 1)",s.fillRect(0,0,a,i),s.globalCompositeOperation="destination-out";for(const c of e.boxes){const u=Ps(c.x)*a,m=Ps(c.y)*i,g=Ps(c.width)*a,p=Ps(c.height)*i;g>0&&p>0&&s.fillRect(u,m,g,p)}return SC(r)}async function _C(e){const a=e.naturalWidth,i=e.naturalHeight;if(!a||!i)throw new Error("image_source_size_unavailable");const r=document.createElement("canvas");r.width=a,r.height=i;const s=r.getContext("2d");if(!s)throw new Error("image_context_unavailable");return s.drawImage(e,0,0,a,i),r.toDataURL("image/png")}function NC(e){return new Promise((a,i)=>{const r=new FileReader;r.onerror=()=>i(new Error("mask_blob_read_failed")),r.onload=()=>a(String(r.result)),r.readAsDataURL(e)})}const EC=.18,CC=.12;function TC(e){return{id:"selection-box",x:Math.min(e.start.x,e.current.x),y:Math.min(e.start.y,e.current.y),width:Math.abs(e.current.x-e.start.x),height:Math.abs(e.current.y-e.start.y),color:"#64c8ff",strokeWidth:2}}function Ff(e,a,i=0){return e.x>=a.x-i&&e.x<=a.x+a.width+i&&e.y>=a.y-i&&e.y<=a.y+a.height+i}function gx(e){return{id:e.id,x:e.x,y:e.y,width:EC,height:CC,color:e.color,strokeWidth:1}}function MC(e,a,i){const r=i.x-a.x,s=i.y-a.y,c=e.x-a.x,u=e.y-a.y,m=r*r+s*s;if(m===0)return Math.hypot(e.x-a.x,e.y-a.y);const g=Math.max(0,Math.min(1,(c*r+u*s)/m));return Math.hypot(e.x-(a.x+g*r),e.y-(a.y+g*s))}function AC(e,a,i){for(let r=1;r<a.points.length;r+=1)if(MC(e,a.points[r-1],a.points[r])<=i)return!0;return!1}function lv(e,a){return e.x<=a.x+a.width&&e.x+e.width>=a.x&&e.y<=a.y+a.height&&e.y+e.height>=a.y}function jC(e,a){return e.points.some(i=>Ff(i,a))}function sv(e){const a=e.tolerance??.015;for(const i of[...e.memos].reverse())if(Ff(e.point,gx(i),a))return hx(i);for(const i of[...e.boxes].reverse())if(Ff(e.point,i,a))return mx(i);for(const i of[...e.paths].reverse())if(AC(e.point,i,a))return fx(i);return null}function RC(e){const a=[];for(const i of e.annotations.paths)jC(i,e.box)&&a.push(fx(i));for(const i of e.annotations.boxes)lv(i,e.box)&&a.push(mx(i));for(const i of e.annotations.memos)lv(gx(i),e.box)&&a.push(hx(i));return a}async function DC(e){return(await px(e)).blob}function zC(e=new Date){return`canvas-export-${e.toISOString().slice(0,19).replace(/[-:T]/g,"")}.png`}function OC(e,a){const i=URL.createObjectURL(e);try{const r=document.createElement("a");r.href=i,r.download=a,r.click()}finally{URL.revokeObjectURL(i)}}function IC({paths:e,boxes:a,memos:i=[],selectedIds:r=[],selectionBox:s=null,activePath:c,activeBox:u}){const m=R.useRef(null);return R.useEffect(()=>{const g=m.current;if(!g)return;const p=g.getBoundingClientRect(),y=window.devicePixelRatio||1;g.width=Math.max(1,Math.round(p.width*y)),g.height=Math.max(1,Math.round(p.height*y));const v=g.getContext("2d");if(!v)return;v.setTransform(y,0,0,y,0,0),v.clearRect(0,0,p.width,p.height);const x={width:p.width,height:p.height};for(const S of e)Gf(v,S,x);for(const S of a)Pf(v,S,x,"committed");for(const S of r){const _=gC(S,{paths:e,boxes:a,memos:i});_&&rv(v,_,x)}s&&rv(v,s,x),c&&Gf(v,c,x),u&&Pf(v,u,x,"active")},[e,a,i,r,s,c,u]),d.jsx("canvas",{ref:m,className:"canvas-annotation-layer","aria-hidden":"true"})}function Fs(e){e.stopPropagation()}function kC({memos:e,activeMemoId:a,onUpdate:i,onDelete:r,onFocus:s,onCommit:c}){return d.jsx("div",{className:"canvas-memo-overlay",children:e.map(u=>d.jsx("textarea",{className:`canvas-memo${a===u.id?" canvas-memo--active":""}`,value:u.text,style:{left:`${u.x*100}%`,top:`${u.y*100}%`},autoFocus:a===u.id,onFocus:()=>s(u.id),onPointerDown:Fs,onPointerMove:Fs,onPointerUp:Fs,onPointerCancel:Fs,onChange:m=>i(u.id,m.currentTarget.value),onBlur:()=>{c?.(),u.text.trim()===""&&r(u.id)},"aria-label":"Canvas memo"},u.id))})}function LC({activeTool:e,hasAnnotations:a,hasExportableContent:i,onToolChange:r,eraserMode:s="object",onEraserModeChange:c,onClear:u,onApply:m,onExport:g,onUndo:p,onRedo:y,canUndo:v,canRedo:x,onDeleteSelected:S,selectedCount:_=0,onEditWithMask:A,canEditWithMask:E,isEditingWithMask:C,isApplying:O,isExporting:N}){const{t:w}=_e(),[B,z]=R.useState(!1),U=R.useRef(null),H=i??a??!1,X=w(s==="object"?"canvas.toolbar.objectEraser":"canvas.toolbar.brushEraser"),W=[{id:"pan",shortcut:"1",label:w("canvas.toolbar.pan"),icon:HC},{id:"pen",shortcut:"2",label:w("canvas.toolbar.pen"),icon:BC},{id:"box",shortcut:"3",label:w("canvas.toolbar.box"),icon:UC},{id:"arrow",shortcut:"4",label:w("canvas.toolbar.arrow"),icon:qC},{id:"memo",shortcut:"5",label:w("canvas.toolbar.memo"),icon:GC}];R.useEffect(()=>{if(!B)return;const K=ie=>{U.current?.contains(ie.target)||z(!1)};return window.addEventListener("pointerdown",K),()=>window.removeEventListener("pointerdown",K)},[B]);const V=K=>{c?.(K),r("eraser"),z(!1)};return d.jsxs("div",{className:"canvas-toolbar","aria-label":w("canvas.toolbar.label"),children:[W.map(K=>{const ie=K.icon;return d.jsxs("button",{type:"button",className:`canvas-toolbar__button${e===K.id?" canvas-toolbar__button--active":""}`,onClick:()=>r(K.id),"aria-label":`${K.label} (${K.shortcut})`,"aria-pressed":e===K.id,title:`${K.label} (${K.shortcut})`,children:[d.jsx(ie,{}),d.jsx("span",{className:"canvas-toolbar__shortcut","aria-hidden":"true",children:K.shortcut})]},K.id)}),d.jsxs("div",{ref:U,className:`canvas-toolbar__split-button${e==="eraser"?" canvas-toolbar__split-button--active":""}`,onKeyDown:K=>{K.key==="Escape"&&B&&(K.preventDefault(),z(!1))},children:[d.jsxs("button",{type:"button",className:`canvas-toolbar__button canvas-toolbar__button--split-main${e==="eraser"?" canvas-toolbar__button--active":""}`,onClick:()=>r("eraser"),"aria-label":`${X} (6)`,"aria-pressed":e==="eraser",title:`${X} (6)`,children:[d.jsx(PC,{}),d.jsx("span",{className:"canvas-toolbar__shortcut","aria-hidden":"true",children:"6"})]}),d.jsx("button",{type:"button",className:"canvas-toolbar__button canvas-toolbar__button--split-menu",onClick:()=>z(K=>!K),"aria-label":w("canvas.toolbar.eraserMenu"),"aria-haspopup":"menu","aria-expanded":B,"aria-controls":"canvas-eraser-menu",title:w("canvas.toolbar.eraserMenu"),children:d.jsx(FC,{})}),B?d.jsxs("div",{id:"canvas-eraser-menu",className:"canvas-toolbar__eraser-menu",role:"menu",children:[d.jsx("button",{type:"button",className:`canvas-toolbar__eraser-menu-item${s==="object"?" canvas-toolbar__eraser-menu-item--active":""}`,role:"menuitemradio","aria-checked":s==="object",onClick:()=>V("object"),children:w("canvas.toolbar.objectEraser")}),d.jsx("button",{type:"button",className:`canvas-toolbar__eraser-menu-item${s==="brush"?" canvas-toolbar__eraser-menu-item--active":""}`,role:"menuitemradio","aria-checked":s==="brush",onClick:()=>V("brush"),children:w("canvas.toolbar.brushEraser")})]}):null]}),d.jsx("span",{className:"canvas-toolbar__divider","aria-hidden":"true"}),m?d.jsx("button",{type:"button",className:`canvas-toolbar__button canvas-toolbar__button--primary${O?" canvas-toolbar__button--busy":""}`,onClick:m,disabled:!H||O,"aria-label":w("canvas.toolbar.apply"),title:w("canvas.toolbar.apply"),children:d.jsx(VC,{})}):null,A?d.jsx("button",{type:"button",className:`canvas-toolbar__button canvas-toolbar__button--primary canvas-toolbar__button--mask${C?" canvas-toolbar__button--busy":""}`,onClick:A,disabled:!E||C,"aria-label":w(E?"canvas.toolbar.editMask":"canvas.toolbar.editMaskDisabled"),title:w(E?"canvas.toolbar.editMask":"canvas.toolbar.editMaskDisabled"),children:d.jsx(KC,{})}):null,p?d.jsx("button",{type:"button",className:"canvas-toolbar__button",onClick:p,disabled:!v,"aria-label":w("canvas.toolbar.undo"),title:w("canvas.toolbar.undo"),children:d.jsx(YC,{})}):null,y?d.jsx("button",{type:"button",className:"canvas-toolbar__button",onClick:y,disabled:!x,"aria-label":w("canvas.toolbar.redo"),title:w("canvas.toolbar.redo"),children:d.jsx(XC,{})}):null,S?d.jsx("button",{type:"button",className:"canvas-toolbar__button canvas-toolbar__button--danger",onClick:S,disabled:_===0,"aria-label":w("canvas.toolbar.deleteSelected"),title:w("canvas.toolbar.deleteSelected"),children:d.jsx(cv,{})}):null,g?d.jsx("button",{type:"button",className:`canvas-toolbar__button${N?" canvas-toolbar__button--busy":""}`,onClick:g,disabled:!H||N,"aria-label":w("canvas.toolbar.export"),title:w("canvas.toolbar.export"),children:d.jsx($C,{})}):null,d.jsx("button",{type:"button",className:"canvas-toolbar__button canvas-toolbar__button--danger",onClick:u,disabled:!H,"aria-label":w("canvas.toolbar.clear"),title:w("canvas.toolbar.clear"),children:d.jsx(cv,{})})]})}function HC(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"M8 12.5V7a2 2 0 0 1 4 0v4"}),d.jsx("path",{d:"M12 11V5a2 2 0 0 1 4 0v7"}),d.jsx("path",{d:"M16 12V8a2 2 0 0 1 4 0v5.5A6.5 6.5 0 0 1 13.5 20H12a6 6 0 0 1-4.24-1.76L4.7 15.18a1.7 1.7 0 0 1 2.4-2.4L9 14.68"})]})}function BC(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"m4 20 4.2-1.1L19.5 7.6a2.2 2.2 0 0 0-3.1-3.1L5.1 15.8 4 20Z"}),d.jsx("path",{d:"m14.5 6.5 3 3"})]})}function UC(){return d.jsx("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:d.jsx("rect",{x:"5",y:"5",width:"14",height:"14",rx:"2"})})}function qC(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"M5 19 19 5"}),d.jsx("path",{d:"M10 5h9v9"})]})}function GC(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"M6 4h12v16H6z"}),d.jsx("path",{d:"M9 8h6"}),d.jsx("path",{d:"M9 12h5"}),d.jsx("path",{d:"M9 16h3"})]})}function PC(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"m4 15 8.5-8.5a2.1 2.1 0 0 1 3 0l2 2a2.1 2.1 0 0 1 0 3L10 19H6.5L4 16.5V15Z"}),d.jsx("path",{d:"M10 19h10"}),d.jsx("path",{d:"m8.5 10.5 5 5"})]})}function FC(){return d.jsx("svg",{className:"canvas-toolbar__icon canvas-toolbar__icon--small",viewBox:"0 0 24 24","aria-hidden":"true",children:d.jsx("path",{d:"m7 14 5-5 5 5"})})}function VC(){return d.jsx("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:d.jsx("path",{d:"M5 12.5 10 17 19 7"})})}function $C(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"M12 4v11"}),d.jsx("path",{d:"m8 11 4 4 4-4"}),d.jsx("path",{d:"M5 20h14"})]})}function cv(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"M4 7h16"}),d.jsx("path",{d:"M9 7V5h6v2"}),d.jsx("path",{d:"M7 7l1 13h8l1-13"}),d.jsx("path",{d:"M10 11v5"}),d.jsx("path",{d:"M14 11v5"})]})}function YC(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"M9 7 5 11l4 4"}),d.jsx("path",{d:"M5 11h9a5 5 0 0 1 0 10h-2"})]})}function XC(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"m15 7 4 4-4 4"}),d.jsx("path",{d:"M19 11h-9a5 5 0 0 0 0 10h2"})]})}function KC(){return d.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("rect",{x:"5",y:"5",width:"14",height:"14",rx:"2"}),d.jsx("path",{d:"M9 9h6v6H9z"})]})}const ZC=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='8' fill='white' fill-opacity='0.16' stroke='black' stroke-width='3'/%3E%3Ccircle cx='14' cy='14' r='8' fill='none' stroke='white' stroke-width='1.5'/%3E%3Ccircle cx='14' cy='14' r='2' fill='white' stroke='black' stroke-width='1'/%3E%3C/svg%3E") 14 14, auto`,QC=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='8' fill='white' fill-opacity='0.18' stroke='black' stroke-width='3'/%3E%3Ccircle cx='14' cy='14' r='8' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 14 14, auto`;function JC(e){return e==="low"?"l":e==="medium"?"m":e==="high"?"h":e??null}function WC(e){if(!e)return null;const a=e.match(/^(\d+)x\1$/);return a?`${a[1]}²`:e.replace("x","×")}function e2(e){const a=e.url??e.image;if(!e.canvasVersion||!e.canvasMergedAt||a.startsWith("data:"))return a;const i=a.includes("?")?"&":"?";return`${a}${i}canvasMergedAt=${e.canvasMergedAt}`}function yx(e,a){return!e.canvasVersion||e.prompt||!a?.prompt?e:{...e,prompt:a.prompt}}function t2(e,a){if(!a?.filename)return null;const i=e.find(r=>r.canvasVersion&&(r.canvasSourceFilename===a.filename||r.canvasEditableFilename===a.filename))??null;return i?yx(i,a):null}function n2(e,a){if(Hf(e)){const i=e.images[0];if(!i)throw new Error("edit_empty_response");return{...i,prompt:a,provider:e.provider,quality:e.quality,size:e.size,moderation:e.moderation,model:e.model,usage:e.usage,kind:"edit",createdAt:Date.now()}}return{image:e.image,url:e.filename?`/generated/${e.filename}`:e.image,thumb:e.image,filename:e.filename,prompt:a,elapsed:e.elapsed,provider:e.provider,quality:e.quality,size:e.size,moderation:e.moderation,model:e.model,usage:e.usage,revisedPrompt:e.revisedPrompt??null,promptMode:e.promptMode??null,kind:"edit",createdAt:Date.now()}}function uv(){const e=F(re=>re.currentImage),a=F(re=>re.history),i=F(re=>re.multimodeSequence),r=F(re=>re.selectHistoryShortcutTarget),s=F(re=>re.trashHistoryItem),c=F(re=>re.markGeneratedResultsSeen),u=F(re=>re.activeGenerations),m=F(re=>re.quality),g=F(re=>re.format),p=F(re=>re.moderation),y=F(re=>re.provider),v=F(re=>re.imageModel),x=F(re=>re.reasoningEffort),S=F(re=>re.promptMode),_=F(re=>re.webSearchEnabled),A=F(re=>re.getResolvedSize),E=F(re=>re.showToast),C=F(re=>re.canvasOpen),O=F(re=>re.openCanvas),N=F(re=>re.closeCanvas),w=F(re=>re.canvasZoom),B=F(re=>re.applyMergedCanvasImage),z=F(re=>re.addGeneratedHistoryItem),U=F(re=>re.attachCanvasVersionReference),{t:H}=_e(),X=R.useRef(null),W=R.useRef(null),V=R.useRef(null),K=R.useRef(null),ie=R.useRef(null),k=R.useRef(null),j=R.useRef(null),M=R.useRef({mode:null,lastPoint:null,didMove:!1}),[L,G]=R.useState(null),[Q,J]=R.useState("idle"),[D,P]=R.useState(!1),[Y,te]=R.useState(!1),[de,me]=R.useState(!1),I=hC(),le=()=>{e?.prompt&&(navigator.clipboard.writeText(e.prompt),E(H("toast.promptCopied")))},fe=JC(e?.quality??m),he=WC(e?.size??A()),Se=k0(e?.model),pe=e?.filename??e?.url??e?.image??null,we=t2(a,e),Ce=C?L??we??e:e,qe=Ce?e2(Ce):null,Le=()=>{k.current=null,K.current=null,ie.current!=null&&(window.clearTimeout(ie.current),ie.current=null),G(null),J("idle"),j.current=null,M.current={mode:null,lastPoint:null,didMove:!1}};R.useEffect(()=>{if(!C){V.current=pe,Le();return}if(V.current===null){V.current=pe,k.current=e,G(we);return}V.current!==pe&&(I.resetLocal(),Le(),k.current=e,G(we),V.current=pe)},[I.resetLocal,C,e,pe,we]),R.useEffect(()=>{!C||!e||k.current||(k.current=e,G(we))},[C,e,we]),R.useEffect(()=>{if(!C||!e?.filename||e.canvasVersion)return;const re=e.filename;if(K.current===re)return;K.current=re;let Ne=!1;return $1(re).then(tt=>{!Ne&&tt.annotations&&I.load(tt.annotations)}).catch(()=>{}),()=>{Ne=!0}},[I.load,C,e?.canvasVersion,e?.filename]),R.useEffect(()=>{if(!C||!e?.filename||e.canvasVersion||!I.isDirty)return;const re=e.filename;return ie.current!=null&&window.clearTimeout(ie.current),ie.current=window.setTimeout(()=>{const Ne=I.toPayload();(I.hasAnnotations?Y1(re,Ne):Ay(re)).then(()=>I.markSaved()).catch(()=>{})},500),()=>{ie.current!=null&&(window.clearTimeout(ie.current),ie.current=null)}},[I,I.hasAnnotations,I.isDirty,C,e?.canvasVersion,e?.filename]);const rt=re=>{if(ka(re.target)){re.key==="Escape"&&(re.preventDefault(),re.target.blur(),I.focusMemo(null));return}if(C&&["1","2","3","4","5","6"].includes(re.key)){re.preventDefault();const Ne=["pan","pen","box","arrow","memo","eraser"];I.setTool(Ne[Number(re.key)-1]);return}if(C&&re.key==="Escape"){re.preventDefault(),et();return}if(re.key==="Delete"||re.key==="Backspace"){if(re.shiftKey||!e)return;re.preventDefault(),s(e);return}re.key!=="ArrowLeft"&&re.key!=="ArrowRight"&&re.key!=="Home"&&re.key!=="End"||re.target===re.currentTarget&&(ka(re.target)||(re.preventDefault(),re.key==="ArrowLeft"?r("previous"):re.key==="ArrowRight"?r("next"):re.key==="Home"?r("first"):re.key==="End"&&r("last")))},Lt=re=>{ka(re.target)||(c(),re.currentTarget.focus())},wt=re=>{if(!C||ka(re.target)||!X.current)return;re.preventDefault();const Ne=ov(re,X.current);if(I.activeTool==="pan"){const tt=sv({point:Ne,paths:I.paths,boxes:I.boxes,memos:I.memos});tt?(re.shiftKey?I.toggleSelected(tt):I.selectOne(tt),I.startSelectedMove(),M.current={mode:"move",lastPoint:Ne,didMove:!1}):(I.clearSelection(),I.startSelectionBox(Ne),M.current={mode:"box",lastPoint:Ne,didMove:!1}),re.currentTarget.setPointerCapture(re.pointerId);return}if(I.activeTool==="memo"){I.createMemo(Ne),requestAnimationFrame(()=>{X.current?.querySelector(".canvas-memo--active")?.focus()});return}if(I.activeTool==="eraser"){if(I.eraserMode==="object"){const tt=sv({point:Ne,paths:I.paths,boxes:I.boxes,memos:I.memos});tt&&I.eraseObjectAtPoint(tt);return}re.currentTarget.setPointerCapture(re.pointerId),I.startEraserStroke(Ne);return}re.currentTarget.setPointerCapture(re.pointerId),I.startDrawing(Ne)},Ht=re=>{if(!C||ka(re.target)||!X.current)return;const Ne=ov(re,X.current);if(I.activeTool==="pan"){if(M.current.mode==="move"&&M.current.lastPoint){const tt={x:Ne.x-M.current.lastPoint.x,y:Ne.y-M.current.lastPoint.y};(Math.abs(tt.x)>5e-4||Math.abs(tt.y)>5e-4)&&(I.moveSelected(tt),M.current.didMove=!0),M.current.lastPoint=Ne}else M.current.mode==="box"&&I.updateSelectionBox(Ne);return}if(I.activeTool!=="memo"){if(I.activeTool==="eraser"){I.eraserMode==="brush"&&I.updateEraserStroke(Ne);return}I.moveDrawing(Ne)}},Kt=re=>{if(C&&!ka(re.target)){if(re.currentTarget.hasPointerCapture(re.pointerId)&&re.currentTarget.releasePointerCapture(re.pointerId),I.activeTool==="pan"){M.current.mode==="move"&&M.current.didMove&&I.commitSelectedMove(),M.current.mode==="box"&&I.selectionBox&&I.endSelectionBox(RC({box:TC(I.selectionBox),annotations:I.toPayload()})),M.current={mode:null,lastPoint:null,didMove:!1};return}if(I.activeTool!=="memo"){if(I.activeTool==="eraser"){I.eraserMode==="brush"&&I.endEraserStroke();return}I.endDrawing()}}},on=R.useCallback(async()=>{if(!W.current||!e)return null;const re=k.current??e;if(!re?.filename)return E(H("canvas.version.failed"),!0),null;P(!0),J("saving");try{const Ne=await px({imageElement:W.current,paths:I.paths,boxes:I.boxes,memos:I.memos});j.current=Ne.dataUrl;const tt=L?.filename?await K1(L.filename,{image:Ne.blob,sourceFilename:re.canvasSourceFilename??re.filename,prompt:re.prompt}):await X1({sourceFilename:re.filename,image:Ne.blob,prompt:re.prompt}),_t=yx(tt.item,re);return G(_t),B(_t),await U(_t),await Ay(re.filename).catch(()=>{}),I.resetLocal(),I.markSaved(),J("saved"),E(H("canvas.version.saved")),_t}catch{return J("error"),E(H("canvas.version.failed"),!0),null}finally{P(!1)}},[I,B,U,L?.filename,e,E,H]),jn=async()=>{await on()},et=async()=>{(I.hasAnnotations||I.isDirty)&&!await on()||(N(),Le())};R.useEffect(()=>{if(!C)return;const re=Ne=>{if(ka(Ne.target)){Ne.key==="Escape"&&(Ne.preventDefault(),Ne.target.blur(),I.focusMemo(null));return}if(Ne.key==="Escape"){Ne.preventDefault(),et();return}(Ne.metaKey||Ne.ctrlKey)&&Ne.key.toLowerCase()==="z"&&(Ne.preventDefault(),Ne.shiftKey?I.redo():I.undo())};return window.addEventListener("keydown",re),()=>window.removeEventListener("keydown",re)},[I.focusMemo,I.redo,I.undo,C,et]);const ia=async()=>{if(!(!W.current||!e)){te(!0);try{const re=await DC({imageElement:W.current,paths:I.paths,boxes:I.boxes,memos:I.memos});OC(re,zC())}catch{E(H("canvas.toolbar.exportFailed"),!0)}finally{te(!1)}}},rn=async()=>{if(!(!W.current||!Ce||I.boxes.length===0)){me(!0);try{let re=j.current;if(I.isDirty||I.hasAnnotations){if(!await on())return;re=j.current}re||(re=await _C(W.current));const Ne=I.boxes.filter(Ti=>I.selectedIds.some(Rn=>La(Rn,"box",Ti.id))),tt=await NC(await wC({imageElement:W.current,boxes:Ne.length>0?Ne:I.boxes})),_t=Ce.prompt??e?.prompt??"";if(!_t.trim()){E(H("toast.noPromptToFork"),!0);return}const Oo=await k1({prompt:_t,image:re,mask:tt,quality:m,size:Ce.size??e?.size??A(),format:g,moderation:p,provider:y,n:1,model:v,reasoningEffort:x,mode:S,webSearchEnabled:_});await z(n2(Oo,_t))}catch(re){const Ne=re.code;E(H(Ne==="EDIT_MASK_NOT_SUPPORTED"?"canvas.toolbar.editMaskUnsupported":"canvas.toolbar.editMaskFailed"),!0)}finally{me(!1)}}};return d.jsxs("main",{className:`canvas${C?" canvas--mode-open":""}`,children:[C&&d.jsxs("div",{className:"canvas-mode-topbar",children:[d.jsx("span",{className:"canvas-mode-topbar__label",children:"Canvas Mode"}),d.jsxs("button",{type:"button",className:"canvas-mode-close",onClick:()=>{et()},"aria-label":H("canvas.close"),children:[d.jsx("kbd",{children:"ESC"}),d.jsx("span",{children:H("canvas.close")})]})]}),d.jsx("div",{className:`progress-bar${u>0?" active":""}`}),i?d.jsx(oC,{}):e?d.jsxs("div",{className:"result-container visible",tabIndex:0,onMouseDown:Lt,onKeyDown:rt,"aria-label":H("canvas.imageViewerAria"),children:[d.jsxs("div",{ref:X,className:"canvas-annotation-frame",onPointerDown:wt,onPointerMove:Ht,onPointerUp:Kt,onPointerCancel:Kt,style:{cursor:C?I.activeTool==="pan"?"default":I.activeTool==="eraser"?I.eraserMode==="object"?ZC:QC:"crosshair":"zoom-in",transform:C?`scale(${w})`:void 0,transition:C?"transform 0.2s ease":void 0},children:[d.jsx("img",{ref:W,className:"result-img",src:qe??e.image,alt:H("canvas.resultAlt"),onDoubleClick:re=>{re.stopPropagation(),O()}},`${Ce?.filename??Ce?.url??Ce?.image}:${Ce?.canvasMergedAt??""}`),C&&d.jsxs(d.Fragment,{children:[d.jsx(IC,{paths:I.paths,boxes:I.boxes,memos:I.memos,selectedIds:I.selectedIds,selectionBox:I.selectionBox,activePath:I.activePath,activeBox:I.activeBox}),d.jsx(kC,{memos:I.memos,activeMemoId:I.activeMemoId,onUpdate:I.updateMemo,onDelete:I.deleteMemo,onFocus:I.focusMemo,onCommit:I.commitMemoEdit})]})]}),C&&d.jsx(LC,{activeTool:I.activeTool,eraserMode:I.eraserMode,onEraserModeChange:I.setEraserMode,hasExportableContent:I.hasAnnotations,onToolChange:I.setTool,onClear:I.clear,onApply:()=>{jn()},onExport:()=>{ia()},onUndo:I.undo,onRedo:I.redo,canUndo:I.canUndo,canRedo:I.canRedo,onDeleteSelected:I.deleteSelected,selectedCount:I.selectedIds.length,onEditWithMask:()=>{rn()},canEditWithMask:I.boxes.length>0,isEditingWithMask:de,isApplying:D,isExporting:Y}),C&&Q!=="idle"?d.jsx("div",{className:`canvas-save-state canvas-save-state--${Q}`,children:H(Q==="saving"?"canvas.version.saving":Q==="saved"?"canvas.version.saved":"canvas.version.failed")}):null,d.jsx("div",{className:"result-meta",children:[e.elapsed!=null?`${e.elapsed}s`:null,e.usage?H("canvas.tokens",{n:e.usage.total_tokens??"?"}):null,fe,he,Se,e.provider??null].filter(re=>!!re).join(" · ")}),d.jsx(iC,{imageOverride:C?Ce:null}),e.prompt?d.jsx("div",{className:"result-prompt",onClick:le,children:e.prompt}):null]}):null]})}function ft(e){if(typeof e=="string"||typeof e=="number")return""+e;let a="";if(Array.isArray(e))for(let i=0,r;i<e.length;i++)(r=ft(e[i]))!==""&&(a+=(a&&" ")+r);else for(let i in e)e[i]&&(a+=(a&&" ")+i);return a}var a2={value:()=>{}};function Mc(){for(var e=0,a=arguments.length,i={},r;e<a;++e){if(!(r=arguments[e]+"")||r in i||/[\s.]/.test(r))throw new Error("illegal type: "+r);i[r]=[]}return new lc(i)}function lc(e){this._=e}function i2(e,a){return e.trim().split(/^|\s+/).map(function(i){var r="",s=i.indexOf(".");if(s>=0&&(r=i.slice(s+1),i=i.slice(0,s)),i&&!a.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:r}})}lc.prototype=Mc.prototype={constructor:lc,on:function(e,a){var i=this._,r=i2(e+"",i),s,c=-1,u=r.length;if(arguments.length<2){for(;++c<u;)if((s=(e=r[c]).type)&&(s=o2(i[s],e.name)))return s;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++c<u;)if(s=(e=r[c]).type)i[s]=dv(i[s],e.name,a);else if(a==null)for(s in i)i[s]=dv(i[s],e.name,null);return this},copy:function(){var e={},a=this._;for(var i in a)e[i]=a[i].slice();return new lc(e)},call:function(e,a){if((s=arguments.length-2)>0)for(var i=new Array(s),r=0,s,c;r<s;++r)i[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(c=this._[e],r=0,s=c.length;r<s;++r)c[r].value.apply(a,i)},apply:function(e,a,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,c=r.length;s<c;++s)r[s].value.apply(a,i)}};function o2(e,a){for(var i=0,r=e.length,s;i<r;++i)if((s=e[i]).name===a)return s.value}function dv(e,a,i){for(var r=0,s=e.length;r<s;++r)if(e[r].name===a){e[r]=a2,e=e.slice(0,r).concat(e.slice(r+1));break}return i!=null&&e.push({name:a,value:i}),e}var Vf="http://www.w3.org/1999/xhtml";const fv={svg:"http://www.w3.org/2000/svg",xhtml:Vf,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ac(e){var a=e+="",i=a.indexOf(":");return i>=0&&(a=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),fv.hasOwnProperty(a)?{space:fv[a],local:e}:e}function r2(e){return function(){var a=this.ownerDocument,i=this.namespaceURI;return i===Vf&&a.documentElement.namespaceURI===Vf?a.createElement(e):a.createElementNS(i,e)}}function l2(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function vx(e){var a=Ac(e);return(a.local?l2:r2)(a)}function s2(){}function pm(e){return e==null?s2:function(){return this.querySelector(e)}}function c2(e){typeof e!="function"&&(e=pm(e));for(var a=this._groups,i=a.length,r=new Array(i),s=0;s<i;++s)for(var c=a[s],u=c.length,m=r[s]=new Array(u),g,p,y=0;y<u;++y)(g=c[y])&&(p=e.call(g,g.__data__,y,c))&&("__data__"in g&&(p.__data__=g.__data__),m[y]=p);return new Xt(r,this._parents)}function u2(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function d2(){return[]}function xx(e){return e==null?d2:function(){return this.querySelectorAll(e)}}function f2(e){return function(){return u2(e.apply(this,arguments))}}function m2(e){typeof e=="function"?e=f2(e):e=xx(e);for(var a=this._groups,i=a.length,r=[],s=[],c=0;c<i;++c)for(var u=a[c],m=u.length,g,p=0;p<m;++p)(g=u[p])&&(r.push(e.call(g,g.__data__,p,u)),s.push(g));return new Xt(r,s)}function bx(e){return function(){return this.matches(e)}}function Sx(e){return function(a){return a.matches(e)}}var h2=Array.prototype.find;function p2(e){return function(){return h2.call(this.children,e)}}function g2(){return this.firstElementChild}function y2(e){return this.select(e==null?g2:p2(typeof e=="function"?e:Sx(e)))}var v2=Array.prototype.filter;function x2(){return Array.from(this.children)}function b2(e){return function(){return v2.call(this.children,e)}}function S2(e){return this.selectAll(e==null?x2:b2(typeof e=="function"?e:Sx(e)))}function w2(e){typeof e!="function"&&(e=bx(e));for(var a=this._groups,i=a.length,r=new Array(i),s=0;s<i;++s)for(var c=a[s],u=c.length,m=r[s]=[],g,p=0;p<u;++p)(g=c[p])&&e.call(g,g.__data__,p,c)&&m.push(g);return new Xt(r,this._parents)}function wx(e){return new Array(e.length)}function _2(){return new Xt(this._enter||this._groups.map(wx),this._parents)}function gc(e,a){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=a}gc.prototype={constructor:gc,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,a){return this._parent.insertBefore(e,a)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function N2(e){return function(){return e}}function E2(e,a,i,r,s,c){for(var u=0,m,g=a.length,p=c.length;u<p;++u)(m=a[u])?(m.__data__=c[u],r[u]=m):i[u]=new gc(e,c[u]);for(;u<g;++u)(m=a[u])&&(s[u]=m)}function C2(e,a,i,r,s,c,u){var m,g,p=new Map,y=a.length,v=c.length,x=new Array(y),S;for(m=0;m<y;++m)(g=a[m])&&(x[m]=S=u.call(g,g.__data__,m,a)+"",p.has(S)?s[m]=g:p.set(S,g));for(m=0;m<v;++m)S=u.call(e,c[m],m,c)+"",(g=p.get(S))?(r[m]=g,g.__data__=c[m],p.delete(S)):i[m]=new gc(e,c[m]);for(m=0;m<y;++m)(g=a[m])&&p.get(x[m])===g&&(s[m]=g)}function T2(e){return e.__data__}function M2(e,a){if(!arguments.length)return Array.from(this,T2);var i=a?C2:E2,r=this._parents,s=this._groups;typeof e!="function"&&(e=N2(e));for(var c=s.length,u=new Array(c),m=new Array(c),g=new Array(c),p=0;p<c;++p){var y=r[p],v=s[p],x=v.length,S=A2(e.call(y,y&&y.__data__,p,r)),_=S.length,A=m[p]=new Array(_),E=u[p]=new Array(_),C=g[p]=new Array(x);i(y,v,A,E,C,S,a);for(var O=0,N=0,w,B;O<_;++O)if(w=A[O]){for(O>=N&&(N=O+1);!(B=E[N])&&++N<_;);w._next=B||null}}return u=new Xt(u,r),u._enter=m,u._exit=g,u}function A2(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function j2(){return new Xt(this._exit||this._groups.map(wx),this._parents)}function R2(e,a,i){var r=this.enter(),s=this,c=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),a!=null&&(s=a(s),s&&(s=s.selection())),i==null?c.remove():i(c),r&&s?r.merge(s).order():s}function D2(e){for(var a=e.selection?e.selection():e,i=this._groups,r=a._groups,s=i.length,c=r.length,u=Math.min(s,c),m=new Array(s),g=0;g<u;++g)for(var p=i[g],y=r[g],v=p.length,x=m[g]=new Array(v),S,_=0;_<v;++_)(S=p[_]||y[_])&&(x[_]=S);for(;g<s;++g)m[g]=i[g];return new Xt(m,this._parents)}function z2(){for(var e=this._groups,a=-1,i=e.length;++a<i;)for(var r=e[a],s=r.length-1,c=r[s],u;--s>=0;)(u=r[s])&&(c&&u.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(u,c),c=u);return this}function O2(e){e||(e=I2);function a(v,x){return v&&x?e(v.__data__,x.__data__):!v-!x}for(var i=this._groups,r=i.length,s=new Array(r),c=0;c<r;++c){for(var u=i[c],m=u.length,g=s[c]=new Array(m),p,y=0;y<m;++y)(p=u[y])&&(g[y]=p);g.sort(a)}return new Xt(s,this._parents).order()}function I2(e,a){return e<a?-1:e>a?1:e>=a?0:NaN}function k2(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function L2(){return Array.from(this)}function H2(){for(var e=this._groups,a=0,i=e.length;a<i;++a)for(var r=e[a],s=0,c=r.length;s<c;++s){var u=r[s];if(u)return u}return null}function B2(){let e=0;for(const a of this)++e;return e}function U2(){return!this.node()}function q2(e){for(var a=this._groups,i=0,r=a.length;i<r;++i)for(var s=a[i],c=0,u=s.length,m;c<u;++c)(m=s[c])&&e.call(m,m.__data__,c,s);return this}function G2(e){return function(){this.removeAttribute(e)}}function P2(e){return function(){this.removeAttributeNS(e.space,e.local)}}function F2(e,a){return function(){this.setAttribute(e,a)}}function V2(e,a){return function(){this.setAttributeNS(e.space,e.local,a)}}function $2(e,a){return function(){var i=a.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function Y2(e,a){return function(){var i=a.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function X2(e,a){var i=Ac(e);if(arguments.length<2){var r=this.node();return i.local?r.getAttributeNS(i.space,i.local):r.getAttribute(i)}return this.each((a==null?i.local?P2:G2:typeof a=="function"?i.local?Y2:$2:i.local?V2:F2)(i,a))}function _x(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function K2(e){return function(){this.style.removeProperty(e)}}function Z2(e,a,i){return function(){this.style.setProperty(e,a,i)}}function Q2(e,a,i){return function(){var r=a.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,i)}}function J2(e,a,i){return arguments.length>1?this.each((a==null?K2:typeof a=="function"?Q2:Z2)(e,a,i??"")):Co(this.node(),e)}function Co(e,a){return e.style.getPropertyValue(a)||_x(e).getComputedStyle(e,null).getPropertyValue(a)}function W2(e){return function(){delete this[e]}}function eT(e,a){return function(){this[e]=a}}function tT(e,a){return function(){var i=a.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function nT(e,a){return arguments.length>1?this.each((a==null?W2:typeof a=="function"?tT:eT)(e,a)):this.node()[e]}function Nx(e){return e.trim().split(/^|\s+/)}function gm(e){return e.classList||new Ex(e)}function Ex(e){this._node=e,this._names=Nx(e.getAttribute("class")||"")}Ex.prototype={add:function(e){var a=this._names.indexOf(e);a<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var a=this._names.indexOf(e);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Cx(e,a){for(var i=gm(e),r=-1,s=a.length;++r<s;)i.add(a[r])}function Tx(e,a){for(var i=gm(e),r=-1,s=a.length;++r<s;)i.remove(a[r])}function aT(e){return function(){Cx(this,e)}}function iT(e){return function(){Tx(this,e)}}function oT(e,a){return function(){(a.apply(this,arguments)?Cx:Tx)(this,e)}}function rT(e,a){var i=Nx(e+"");if(arguments.length<2){for(var r=gm(this.node()),s=-1,c=i.length;++s<c;)if(!r.contains(i[s]))return!1;return!0}return this.each((typeof a=="function"?oT:a?aT:iT)(i,a))}function lT(){this.textContent=""}function sT(e){return function(){this.textContent=e}}function cT(e){return function(){var a=e.apply(this,arguments);this.textContent=a??""}}function uT(e){return arguments.length?this.each(e==null?lT:(typeof e=="function"?cT:sT)(e)):this.node().textContent}function dT(){this.innerHTML=""}function fT(e){return function(){this.innerHTML=e}}function mT(e){return function(){var a=e.apply(this,arguments);this.innerHTML=a??""}}function hT(e){return arguments.length?this.each(e==null?dT:(typeof e=="function"?mT:fT)(e)):this.node().innerHTML}function pT(){this.nextSibling&&this.parentNode.appendChild(this)}function gT(){return this.each(pT)}function yT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function vT(){return this.each(yT)}function xT(e){var a=typeof e=="function"?e:vx(e);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function bT(){return null}function ST(e,a){var i=typeof e=="function"?e:vx(e),r=a==null?bT:typeof a=="function"?a:pm(a);return this.select(function(){return this.insertBefore(i.apply(this,arguments),r.apply(this,arguments)||null)})}function wT(){var e=this.parentNode;e&&e.removeChild(this)}function _T(){return this.each(wT)}function NT(){var e=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(e,this.nextSibling):e}function ET(){var e=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(e,this.nextSibling):e}function CT(e){return this.select(e?ET:NT)}function TT(e){return arguments.length?this.property("__data__",e):this.node().__data__}function MT(e){return function(a){e.call(this,a,this.__data__)}}function AT(e){return e.trim().split(/^|\s+/).map(function(a){var i="",r=a.indexOf(".");return r>=0&&(i=a.slice(r+1),a=a.slice(0,r)),{type:a,name:i}})}function jT(e){return function(){var a=this.__on;if(a){for(var i=0,r=-1,s=a.length,c;i<s;++i)c=a[i],(!e.type||c.type===e.type)&&c.name===e.name?this.removeEventListener(c.type,c.listener,c.options):a[++r]=c;++r?a.length=r:delete this.__on}}}function RT(e,a,i){return function(){var r=this.__on,s,c=MT(a);if(r){for(var u=0,m=r.length;u<m;++u)if((s=r[u]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=c,s.options=i),s.value=a;return}}this.addEventListener(e.type,c,i),s={type:e.type,name:e.name,value:a,listener:c,options:i},r?r.push(s):this.__on=[s]}}function DT(e,a,i){var r=AT(e+""),s,c=r.length,u;if(arguments.length<2){var m=this.node().__on;if(m){for(var g=0,p=m.length,y;g<p;++g)for(s=0,y=m[g];s<c;++s)if((u=r[s]).type===y.type&&u.name===y.name)return y.value}return}for(m=a?RT:jT,s=0;s<c;++s)this.each(m(r[s],a,i));return this}function Mx(e,a,i){var r=_x(e),s=r.CustomEvent;typeof s=="function"?s=new s(a,i):(s=r.document.createEvent("Event"),i?(s.initEvent(a,i.bubbles,i.cancelable),s.detail=i.detail):s.initEvent(a,!1,!1)),e.dispatchEvent(s)}function zT(e,a){return function(){return Mx(this,e,a)}}function OT(e,a){return function(){return Mx(this,e,a.apply(this,arguments))}}function IT(e,a){return this.each((typeof a=="function"?OT:zT)(e,a))}function*kT(){for(var e=this._groups,a=0,i=e.length;a<i;++a)for(var r=e[a],s=0,c=r.length,u;s<c;++s)(u=r[s])&&(yield u)}var Ax=[null];function Xt(e,a){this._groups=e,this._parents=a}function il(){return new Xt([[document.documentElement]],Ax)}function LT(){return this}Xt.prototype=il.prototype={constructor:Xt,select:c2,selectAll:m2,selectChild:y2,selectChildren:S2,filter:w2,data:M2,enter:_2,exit:j2,join:R2,merge:D2,selection:LT,order:z2,sort:O2,call:k2,nodes:L2,node:H2,size:B2,empty:U2,each:q2,attr:X2,style:J2,property:nT,classed:rT,text:uT,html:hT,raise:gT,lower:vT,append:xT,insert:ST,remove:_T,clone:CT,datum:TT,on:DT,dispatch:IT,[Symbol.iterator]:kT};function Yt(e){return typeof e=="string"?new Xt([[document.querySelector(e)]],[document.documentElement]):new Xt([[e]],Ax)}function HT(e){let a;for(;a=e.sourceEvent;)e=a;return e}function mn(e,a){if(e=HT(e),a===void 0&&(a=e.currentTarget),a){var i=a.ownerSVGElement||a;if(i.createSVGPoint){var r=i.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(a.getScreenCTM().inverse()),[r.x,r.y]}if(a.getBoundingClientRect){var s=a.getBoundingClientRect();return[e.clientX-s.left-a.clientLeft,e.clientY-s.top-a.clientTop]}}return[e.pageX,e.pageY]}const BT={passive:!1},Xr={capture:!0,passive:!1};function Sf(e){e.stopImmediatePropagation()}function No(e){e.preventDefault(),e.stopImmediatePropagation()}function jx(e){var a=e.document.documentElement,i=Yt(e).on("dragstart.drag",No,Xr);"onselectstart"in a?i.on("selectstart.drag",No,Xr):(a.__noselect=a.style.MozUserSelect,a.style.MozUserSelect="none")}function Rx(e,a){var i=e.document.documentElement,r=Yt(e).on("dragstart.drag",null);a&&(r.on("click.drag",No,Xr),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in i?r.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const Vs=e=>()=>e;function $f(e,{sourceEvent:a,subject:i,target:r,identifier:s,active:c,x:u,y:m,dx:g,dy:p,dispatch:y}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:a,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:c,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:m,enumerable:!0,configurable:!0},dx:{value:g,enumerable:!0,configurable:!0},dy:{value:p,enumerable:!0,configurable:!0},_:{value:y}})}$f.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function UT(e){return!e.ctrlKey&&!e.button}function qT(){return this.parentNode}function GT(e,a){return a??{x:e.x,y:e.y}}function PT(){return navigator.maxTouchPoints||"ontouchstart"in this}function Dx(){var e=UT,a=qT,i=GT,r=PT,s={},c=Mc("start","drag","end"),u=0,m,g,p,y,v=0;function x(w){w.on("mousedown.drag",S).filter(r).on("touchstart.drag",E).on("touchmove.drag",C,BT).on("touchend.drag touchcancel.drag",O).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(w,B){if(!(y||!e.call(this,w,B))){var z=N(this,a.call(this,w,B),w,B,"mouse");z&&(Yt(w.view).on("mousemove.drag",_,Xr).on("mouseup.drag",A,Xr),jx(w.view),Sf(w),p=!1,m=w.clientX,g=w.clientY,z("start",w))}}function _(w){if(No(w),!p){var B=w.clientX-m,z=w.clientY-g;p=B*B+z*z>v}s.mouse("drag",w)}function A(w){Yt(w.view).on("mousemove.drag mouseup.drag",null),Rx(w.view,p),No(w),s.mouse("end",w)}function E(w,B){if(e.call(this,w,B)){var z=w.changedTouches,U=a.call(this,w,B),H=z.length,X,W;for(X=0;X<H;++X)(W=N(this,U,w,B,z[X].identifier,z[X]))&&(Sf(w),W("start",w,z[X]))}}function C(w){var B=w.changedTouches,z=B.length,U,H;for(U=0;U<z;++U)(H=s[B[U].identifier])&&(No(w),H("drag",w,B[U]))}function O(w){var B=w.changedTouches,z=B.length,U,H;for(y&&clearTimeout(y),y=setTimeout(function(){y=null},500),U=0;U<z;++U)(H=s[B[U].identifier])&&(Sf(w),H("end",w,B[U]))}function N(w,B,z,U,H,X){var W=c.copy(),V=mn(X||z,B),K,ie,k;if((k=i.call(w,new $f("beforestart",{sourceEvent:z,target:x,identifier:H,active:u,x:V[0],y:V[1],dx:0,dy:0,dispatch:W}),U))!=null)return K=k.x-V[0]||0,ie=k.y-V[1]||0,function j(M,L,G){var Q=V,J;switch(M){case"start":s[H]=j,J=u++;break;case"end":delete s[H],--u;case"drag":V=mn(G||L,B),J=u;break}W.call(M,w,new $f(M,{sourceEvent:L,subject:k,target:x,identifier:H,active:J,x:V[0]+K,y:V[1]+ie,dx:V[0]-Q[0],dy:V[1]-Q[1],dispatch:W}),U)}}return x.filter=function(w){return arguments.length?(e=typeof w=="function"?w:Vs(!!w),x):e},x.container=function(w){return arguments.length?(a=typeof w=="function"?w:Vs(w),x):a},x.subject=function(w){return arguments.length?(i=typeof w=="function"?w:Vs(w),x):i},x.touchable=function(w){return arguments.length?(r=typeof w=="function"?w:Vs(!!w),x):r},x.on=function(){var w=c.on.apply(c,arguments);return w===c?x:w},x.clickDistance=function(w){return arguments.length?(v=(w=+w)*w,x):Math.sqrt(v)},x}function ym(e,a,i){e.prototype=a.prototype=i,i.constructor=e}function zx(e,a){var i=Object.create(e.prototype);for(var r in a)i[r]=a[r];return i}function ol(){}var Kr=.7,yc=1/Kr,Eo="\\s*([+-]?\\d+)\\s*",Zr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Cn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",FT=/^#([0-9a-f]{3,8})$/,VT=new RegExp(`^rgb\\(${Eo},${Eo},${Eo}\\)$`),$T=new RegExp(`^rgb\\(${Cn},${Cn},${Cn}\\)$`),YT=new RegExp(`^rgba\\(${Eo},${Eo},${Eo},${Zr}\\)$`),XT=new RegExp(`^rgba\\(${Cn},${Cn},${Cn},${Zr}\\)$`),KT=new RegExp(`^hsl\\(${Zr},${Cn},${Cn}\\)$`),ZT=new RegExp(`^hsla\\(${Zr},${Cn},${Cn},${Zr}\\)$`),mv={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ym(ol,Si,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:hv,formatHex:hv,formatHex8:QT,formatHsl:JT,formatRgb:pv,toString:pv});function hv(){return this.rgb().formatHex()}function QT(){return this.rgb().formatHex8()}function JT(){return Ox(this).formatHsl()}function pv(){return this.rgb().formatRgb()}function Si(e){var a,i;return e=(e+"").trim().toLowerCase(),(a=FT.exec(e))?(i=a[1].length,a=parseInt(a[1],16),i===6?gv(a):i===3?new kt(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):i===8?$s(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):i===4?$s(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=VT.exec(e))?new kt(a[1],a[2],a[3],1):(a=$T.exec(e))?new kt(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=YT.exec(e))?$s(a[1],a[2],a[3],a[4]):(a=XT.exec(e))?$s(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=KT.exec(e))?xv(a[1],a[2]/100,a[3]/100,1):(a=ZT.exec(e))?xv(a[1],a[2]/100,a[3]/100,a[4]):mv.hasOwnProperty(e)?gv(mv[e]):e==="transparent"?new kt(NaN,NaN,NaN,0):null}function gv(e){return new kt(e>>16&255,e>>8&255,e&255,1)}function $s(e,a,i,r){return r<=0&&(e=a=i=NaN),new kt(e,a,i,r)}function WT(e){return e instanceof ol||(e=Si(e)),e?(e=e.rgb(),new kt(e.r,e.g,e.b,e.opacity)):new kt}function Yf(e,a,i,r){return arguments.length===1?WT(e):new kt(e,a,i,r??1)}function kt(e,a,i,r){this.r=+e,this.g=+a,this.b=+i,this.opacity=+r}ym(kt,Yf,zx(ol,{brighter(e){return e=e==null?yc:Math.pow(yc,e),new kt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Kr:Math.pow(Kr,e),new kt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new kt(vi(this.r),vi(this.g),vi(this.b),vc(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:yv,formatHex:yv,formatHex8:eM,formatRgb:vv,toString:vv}));function yv(){return`#${pi(this.r)}${pi(this.g)}${pi(this.b)}`}function eM(){return`#${pi(this.r)}${pi(this.g)}${pi(this.b)}${pi((isNaN(this.opacity)?1:this.opacity)*255)}`}function vv(){const e=vc(this.opacity);return`${e===1?"rgb(":"rgba("}${vi(this.r)}, ${vi(this.g)}, ${vi(this.b)}${e===1?")":`, ${e})`}`}function vc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function vi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function pi(e){return e=vi(e),(e<16?"0":"")+e.toString(16)}function xv(e,a,i,r){return r<=0?e=a=i=NaN:i<=0||i>=1?e=a=NaN:a<=0&&(e=NaN),new hn(e,a,i,r)}function Ox(e){if(e instanceof hn)return new hn(e.h,e.s,e.l,e.opacity);if(e instanceof ol||(e=Si(e)),!e)return new hn;if(e instanceof hn)return e;e=e.rgb();var a=e.r/255,i=e.g/255,r=e.b/255,s=Math.min(a,i,r),c=Math.max(a,i,r),u=NaN,m=c-s,g=(c+s)/2;return m?(a===c?u=(i-r)/m+(i<r)*6:i===c?u=(r-a)/m+2:u=(a-i)/m+4,m/=g<.5?c+s:2-c-s,u*=60):m=g>0&&g<1?0:u,new hn(u,m,g,e.opacity)}function tM(e,a,i,r){return arguments.length===1?Ox(e):new hn(e,a,i,r??1)}function hn(e,a,i,r){this.h=+e,this.s=+a,this.l=+i,this.opacity=+r}ym(hn,tM,zx(ol,{brighter(e){return e=e==null?yc:Math.pow(yc,e),new hn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Kr:Math.pow(Kr,e),new hn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,a=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,r=i+(i<.5?i:1-i)*a,s=2*i-r;return new kt(wf(e>=240?e-240:e+120,s,r),wf(e,s,r),wf(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new hn(bv(this.h),Ys(this.s),Ys(this.l),vc(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=vc(this.opacity);return`${e===1?"hsl(":"hsla("}${bv(this.h)}, ${Ys(this.s)*100}%, ${Ys(this.l)*100}%${e===1?")":`, ${e})`}`}}));function bv(e){return e=(e||0)%360,e<0?e+360:e}function Ys(e){return Math.max(0,Math.min(1,e||0))}function wf(e,a,i){return(e<60?a+(i-a)*e/60:e<180?i:e<240?a+(i-a)*(240-e)/60:a)*255}const vm=e=>()=>e;function nM(e,a){return function(i){return e+i*a}}function aM(e,a,i){return e=Math.pow(e,i),a=Math.pow(a,i)-e,i=1/i,function(r){return Math.pow(e+r*a,i)}}function iM(e){return(e=+e)==1?Ix:function(a,i){return i-a?aM(a,i,e):vm(isNaN(a)?i:a)}}function Ix(e,a){var i=a-e;return i?nM(e,i):vm(isNaN(e)?a:e)}const xc=(function e(a){var i=iM(a);function r(s,c){var u=i((s=Yf(s)).r,(c=Yf(c)).r),m=i(s.g,c.g),g=i(s.b,c.b),p=Ix(s.opacity,c.opacity);return function(y){return s.r=u(y),s.g=m(y),s.b=g(y),s.opacity=p(y),s+""}}return r.gamma=e,r})(1);function oM(e,a){a||(a=[]);var i=e?Math.min(a.length,e.length):0,r=a.slice(),s;return function(c){for(s=0;s<i;++s)r[s]=e[s]*(1-c)+a[s]*c;return r}}function rM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function lM(e,a){var i=a?a.length:0,r=e?Math.min(i,e.length):0,s=new Array(r),c=new Array(i),u;for(u=0;u<r;++u)s[u]=$r(e[u],a[u]);for(;u<i;++u)c[u]=a[u];return function(m){for(u=0;u<r;++u)c[u]=s[u](m);return c}}function sM(e,a){var i=new Date;return e=+e,a=+a,function(r){return i.setTime(e*(1-r)+a*r),i}}function Nn(e,a){return e=+e,a=+a,function(i){return e*(1-i)+a*i}}function cM(e,a){var i={},r={},s;(e===null||typeof e!="object")&&(e={}),(a===null||typeof a!="object")&&(a={});for(s in a)s in e?i[s]=$r(e[s],a[s]):r[s]=a[s];return function(c){for(s in i)r[s]=i[s](c);return r}}var Xf=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_f=new RegExp(Xf.source,"g");function uM(e){return function(){return e}}function dM(e){return function(a){return e(a)+""}}function kx(e,a){var i=Xf.lastIndex=_f.lastIndex=0,r,s,c,u=-1,m=[],g=[];for(e=e+"",a=a+"";(r=Xf.exec(e))&&(s=_f.exec(a));)(c=s.index)>i&&(c=a.slice(i,c),m[u]?m[u]+=c:m[++u]=c),(r=r[0])===(s=s[0])?m[u]?m[u]+=s:m[++u]=s:(m[++u]=null,g.push({i:u,x:Nn(r,s)})),i=_f.lastIndex;return i<a.length&&(c=a.slice(i),m[u]?m[u]+=c:m[++u]=c),m.length<2?g[0]?dM(g[0].x):uM(a):(a=g.length,function(p){for(var y=0,v;y<a;++y)m[(v=g[y]).i]=v.x(p);return m.join("")})}function $r(e,a){var i=typeof a,r;return a==null||i==="boolean"?vm(a):(i==="number"?Nn:i==="string"?(r=Si(a))?(a=r,xc):kx:a instanceof Si?xc:a instanceof Date?sM:rM(a)?oM:Array.isArray(a)?lM:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?cM:Nn)(e,a)}var Sv=180/Math.PI,Kf={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Lx(e,a,i,r,s,c){var u,m,g;return(u=Math.sqrt(e*e+a*a))&&(e/=u,a/=u),(g=e*i+a*r)&&(i-=e*g,r-=a*g),(m=Math.sqrt(i*i+r*r))&&(i/=m,r/=m,g/=m),e*r<a*i&&(e=-e,a=-a,g=-g,u=-u),{translateX:s,translateY:c,rotate:Math.atan2(a,e)*Sv,skewX:Math.atan(g)*Sv,scaleX:u,scaleY:m}}var Xs;function fM(e){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return a.isIdentity?Kf:Lx(a.a,a.b,a.c,a.d,a.e,a.f)}function mM(e){return e==null||(Xs||(Xs=document.createElementNS("http://www.w3.org/2000/svg","g")),Xs.setAttribute("transform",e),!(e=Xs.transform.baseVal.consolidate()))?Kf:(e=e.matrix,Lx(e.a,e.b,e.c,e.d,e.e,e.f))}function Hx(e,a,i,r){function s(p){return p.length?p.pop()+" ":""}function c(p,y,v,x,S,_){if(p!==v||y!==x){var A=S.push("translate(",null,a,null,i);_.push({i:A-4,x:Nn(p,v)},{i:A-2,x:Nn(y,x)})}else(v||x)&&S.push("translate("+v+a+x+i)}function u(p,y,v,x){p!==y?(p-y>180?y+=360:y-p>180&&(p+=360),x.push({i:v.push(s(v)+"rotate(",null,r)-2,x:Nn(p,y)})):y&&v.push(s(v)+"rotate("+y+r)}function m(p,y,v,x){p!==y?x.push({i:v.push(s(v)+"skewX(",null,r)-2,x:Nn(p,y)}):y&&v.push(s(v)+"skewX("+y+r)}function g(p,y,v,x,S,_){if(p!==v||y!==x){var A=S.push(s(S)+"scale(",null,",",null,")");_.push({i:A-4,x:Nn(p,v)},{i:A-2,x:Nn(y,x)})}else(v!==1||x!==1)&&S.push(s(S)+"scale("+v+","+x+")")}return function(p,y){var v=[],x=[];return p=e(p),y=e(y),c(p.translateX,p.translateY,y.translateX,y.translateY,v,x),u(p.rotate,y.rotate,v,x),m(p.skewX,y.skewX,v,x),g(p.scaleX,p.scaleY,y.scaleX,y.scaleY,v,x),p=y=null,function(S){for(var _=-1,A=x.length,E;++_<A;)v[(E=x[_]).i]=E.x(S);return v.join("")}}}var hM=Hx(fM,"px, ","px)","deg)"),pM=Hx(mM,", ",")",")"),gM=1e-12;function wv(e){return((e=Math.exp(e))+1/e)/2}function yM(e){return((e=Math.exp(e))-1/e)/2}function vM(e){return((e=Math.exp(2*e))-1)/(e+1)}const sc=(function e(a,i,r){function s(c,u){var m=c[0],g=c[1],p=c[2],y=u[0],v=u[1],x=u[2],S=y-m,_=v-g,A=S*S+_*_,E,C;if(A<gM)C=Math.log(x/p)/a,E=function(U){return[m+U*S,g+U*_,p*Math.exp(a*U*C)]};else{var O=Math.sqrt(A),N=(x*x-p*p+r*A)/(2*p*i*O),w=(x*x-p*p-r*A)/(2*x*i*O),B=Math.log(Math.sqrt(N*N+1)-N),z=Math.log(Math.sqrt(w*w+1)-w);C=(z-B)/a,E=function(U){var H=U*C,X=wv(B),W=p/(i*O)*(X*vM(a*H+B)-yM(B));return[m+W*S,g+W*_,p*X/wv(a*H+B)]}}return E.duration=C*1e3*a/Math.SQRT2,E}return s.rho=function(c){var u=Math.max(.001,+c),m=u*u,g=m*m;return e(u,m,g)},s})(Math.SQRT2,2,4);var To=0,Br=0,zr=0,Bx=1e3,bc,Ur,Sc=0,wi=0,jc=0,Qr=typeof performance=="object"&&performance.now?performance:Date,Ux=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function xm(){return wi||(Ux(xM),wi=Qr.now()+jc)}function xM(){wi=0}function wc(){this._call=this._time=this._next=null}wc.prototype=qx.prototype={constructor:wc,restart:function(e,a,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?xm():+i)+(a==null?0:+a),!this._next&&Ur!==this&&(Ur?Ur._next=this:bc=this,Ur=this),this._call=e,this._time=i,Zf()},stop:function(){this._call&&(this._call=null,this._time=1/0,Zf())}};function qx(e,a,i){var r=new wc;return r.restart(e,a,i),r}function bM(){xm(),++To;for(var e=bc,a;e;)(a=wi-e._time)>=0&&e._call.call(void 0,a),e=e._next;--To}function _v(){wi=(Sc=Qr.now())+jc,To=Br=0;try{bM()}finally{To=0,wM(),wi=0}}function SM(){var e=Qr.now(),a=e-Sc;a>Bx&&(jc-=a,Sc=e)}function wM(){for(var e,a=bc,i,r=1/0;a;)a._call?(r>a._time&&(r=a._time),e=a,a=a._next):(i=a._next,a._next=null,a=e?e._next=i:bc=i);Ur=e,Zf(r)}function Zf(e){if(!To){Br&&(Br=clearTimeout(Br));var a=e-wi;a>24?(e<1/0&&(Br=setTimeout(_v,e-Qr.now()-jc)),zr&&(zr=clearInterval(zr))):(zr||(Sc=Qr.now(),zr=setInterval(SM,Bx)),To=1,Ux(_v))}}function Nv(e,a,i){var r=new wc;return a=a==null?0:+a,r.restart(s=>{r.stop(),e(s+a)},a,i),r}var _M=Mc("start","end","cancel","interrupt"),NM=[],Gx=0,Ev=1,Qf=2,cc=3,Cv=4,Jf=5,uc=6;function Rc(e,a,i,r,s,c){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;EM(e,i,{name:a,index:r,group:s,on:_M,tween:NM,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:Gx})}function bm(e,a){var i=yn(e,a);if(i.state>Gx)throw new Error("too late; already scheduled");return i}function An(e,a){var i=yn(e,a);if(i.state>cc)throw new Error("too late; already running");return i}function yn(e,a){var i=e.__transition;if(!i||!(i=i[a]))throw new Error("transition not found");return i}function EM(e,a,i){var r=e.__transition,s;r[a]=i,i.timer=qx(c,0,i.time);function c(p){i.state=Ev,i.timer.restart(u,i.delay,i.time),i.delay<=p&&u(p-i.delay)}function u(p){var y,v,x,S;if(i.state!==Ev)return g();for(y in r)if(S=r[y],S.name===i.name){if(S.state===cc)return Nv(u);S.state===Cv?(S.state=uc,S.timer.stop(),S.on.call("interrupt",e,e.__data__,S.index,S.group),delete r[y]):+y<a&&(S.state=uc,S.timer.stop(),S.on.call("cancel",e,e.__data__,S.index,S.group),delete r[y])}if(Nv(function(){i.state===cc&&(i.state=Cv,i.timer.restart(m,i.delay,i.time),m(p))}),i.state=Qf,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Qf){for(i.state=cc,s=new Array(x=i.tween.length),y=0,v=-1;y<x;++y)(S=i.tween[y].value.call(e,e.__data__,i.index,i.group))&&(s[++v]=S);s.length=v+1}}function m(p){for(var y=p<i.duration?i.ease.call(null,p/i.duration):(i.timer.restart(g),i.state=Jf,1),v=-1,x=s.length;++v<x;)s[v].call(e,y);i.state===Jf&&(i.on.call("end",e,e.__data__,i.index,i.group),g())}function g(){i.state=uc,i.timer.stop(),delete r[a];for(var p in r)return;delete e.__transition}}function dc(e,a){var i=e.__transition,r,s,c=!0,u;if(i){a=a==null?null:a+"";for(u in i){if((r=i[u]).name!==a){c=!1;continue}s=r.state>Qf&&r.state<Jf,r.state=uc,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete i[u]}c&&delete e.__transition}}function CM(e){return this.each(function(){dc(this,e)})}function TM(e,a){var i,r;return function(){var s=An(this,e),c=s.tween;if(c!==i){r=i=c;for(var u=0,m=r.length;u<m;++u)if(r[u].name===a){r=r.slice(),r.splice(u,1);break}}s.tween=r}}function MM(e,a,i){var r,s;if(typeof i!="function")throw new Error;return function(){var c=An(this,e),u=c.tween;if(u!==r){s=(r=u).slice();for(var m={name:a,value:i},g=0,p=s.length;g<p;++g)if(s[g].name===a){s[g]=m;break}g===p&&s.push(m)}c.tween=s}}function AM(e,a){var i=this._id;if(e+="",arguments.length<2){for(var r=yn(this.node(),i).tween,s=0,c=r.length,u;s<c;++s)if((u=r[s]).name===e)return u.value;return null}return this.each((a==null?TM:MM)(i,e,a))}function Sm(e,a,i){var r=e._id;return e.each(function(){var s=An(this,r);(s.value||(s.value={}))[a]=i.apply(this,arguments)}),function(s){return yn(s,r).value[a]}}function Px(e,a){var i;return(typeof a=="number"?Nn:a instanceof Si?xc:(i=Si(a))?(a=i,xc):kx)(e,a)}function jM(e){return function(){this.removeAttribute(e)}}function RM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function DM(e,a,i){var r,s=i+"",c;return function(){var u=this.getAttribute(e);return u===s?null:u===r?c:c=a(r=u,i)}}function zM(e,a,i){var r,s=i+"",c;return function(){var u=this.getAttributeNS(e.space,e.local);return u===s?null:u===r?c:c=a(r=u,i)}}function OM(e,a,i){var r,s,c;return function(){var u,m=i(this),g;return m==null?void this.removeAttribute(e):(u=this.getAttribute(e),g=m+"",u===g?null:u===r&&g===s?c:(s=g,c=a(r=u,m)))}}function IM(e,a,i){var r,s,c;return function(){var u,m=i(this),g;return m==null?void this.removeAttributeNS(e.space,e.local):(u=this.getAttributeNS(e.space,e.local),g=m+"",u===g?null:u===r&&g===s?c:(s=g,c=a(r=u,m)))}}function kM(e,a){var i=Ac(e),r=i==="transform"?pM:Px;return this.attrTween(e,typeof a=="function"?(i.local?IM:OM)(i,r,Sm(this,"attr."+e,a)):a==null?(i.local?RM:jM)(i):(i.local?zM:DM)(i,r,a))}function LM(e,a){return function(i){this.setAttribute(e,a.call(this,i))}}function HM(e,a){return function(i){this.setAttributeNS(e.space,e.local,a.call(this,i))}}function BM(e,a){var i,r;function s(){var c=a.apply(this,arguments);return c!==r&&(i=(r=c)&&HM(e,c)),i}return s._value=a,s}function UM(e,a){var i,r;function s(){var c=a.apply(this,arguments);return c!==r&&(i=(r=c)&&LM(e,c)),i}return s._value=a,s}function qM(e,a){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(a==null)return this.tween(i,null);if(typeof a!="function")throw new Error;var r=Ac(e);return this.tween(i,(r.local?BM:UM)(r,a))}function GM(e,a){return function(){bm(this,e).delay=+a.apply(this,arguments)}}function PM(e,a){return a=+a,function(){bm(this,e).delay=a}}function FM(e){var a=this._id;return arguments.length?this.each((typeof e=="function"?GM:PM)(a,e)):yn(this.node(),a).delay}function VM(e,a){return function(){An(this,e).duration=+a.apply(this,arguments)}}function $M(e,a){return a=+a,function(){An(this,e).duration=a}}function YM(e){var a=this._id;return arguments.length?this.each((typeof e=="function"?VM:$M)(a,e)):yn(this.node(),a).duration}function XM(e,a){if(typeof a!="function")throw new Error;return function(){An(this,e).ease=a}}function KM(e){var a=this._id;return arguments.length?this.each(XM(a,e)):yn(this.node(),a).ease}function ZM(e,a){return function(){var i=a.apply(this,arguments);if(typeof i!="function")throw new Error;An(this,e).ease=i}}function QM(e){if(typeof e!="function")throw new Error;return this.each(ZM(this._id,e))}function JM(e){typeof e!="function"&&(e=bx(e));for(var a=this._groups,i=a.length,r=new Array(i),s=0;s<i;++s)for(var c=a[s],u=c.length,m=r[s]=[],g,p=0;p<u;++p)(g=c[p])&&e.call(g,g.__data__,p,c)&&m.push(g);return new na(r,this._parents,this._name,this._id)}function WM(e){if(e._id!==this._id)throw new Error;for(var a=this._groups,i=e._groups,r=a.length,s=i.length,c=Math.min(r,s),u=new Array(r),m=0;m<c;++m)for(var g=a[m],p=i[m],y=g.length,v=u[m]=new Array(y),x,S=0;S<y;++S)(x=g[S]||p[S])&&(v[S]=x);for(;m<r;++m)u[m]=a[m];return new na(u,this._parents,this._name,this._id)}function eA(e){return(e+"").trim().split(/^|\s+/).every(function(a){var i=a.indexOf(".");return i>=0&&(a=a.slice(0,i)),!a||a==="start"})}function tA(e,a,i){var r,s,c=eA(a)?bm:An;return function(){var u=c(this,e),m=u.on;m!==r&&(s=(r=m).copy()).on(a,i),u.on=s}}function nA(e,a){var i=this._id;return arguments.length<2?yn(this.node(),i).on.on(e):this.each(tA(i,e,a))}function aA(e){return function(){var a=this.parentNode;for(var i in this.__transition)if(+i!==e)return;a&&a.removeChild(this)}}function iA(){return this.on("end.remove",aA(this._id))}function oA(e){var a=this._name,i=this._id;typeof e!="function"&&(e=pm(e));for(var r=this._groups,s=r.length,c=new Array(s),u=0;u<s;++u)for(var m=r[u],g=m.length,p=c[u]=new Array(g),y,v,x=0;x<g;++x)(y=m[x])&&(v=e.call(y,y.__data__,x,m))&&("__data__"in y&&(v.__data__=y.__data__),p[x]=v,Rc(p[x],a,i,x,p,yn(y,i)));return new na(c,this._parents,a,i)}function rA(e){var a=this._name,i=this._id;typeof e!="function"&&(e=xx(e));for(var r=this._groups,s=r.length,c=[],u=[],m=0;m<s;++m)for(var g=r[m],p=g.length,y,v=0;v<p;++v)if(y=g[v]){for(var x=e.call(y,y.__data__,v,g),S,_=yn(y,i),A=0,E=x.length;A<E;++A)(S=x[A])&&Rc(S,a,i,A,x,_);c.push(x),u.push(y)}return new na(c,u,a,i)}var lA=il.prototype.constructor;function sA(){return new lA(this._groups,this._parents)}function cA(e,a){var i,r,s;return function(){var c=Co(this,e),u=(this.style.removeProperty(e),Co(this,e));return c===u?null:c===i&&u===r?s:s=a(i=c,r=u)}}function Fx(e){return function(){this.style.removeProperty(e)}}function uA(e,a,i){var r,s=i+"",c;return function(){var u=Co(this,e);return u===s?null:u===r?c:c=a(r=u,i)}}function dA(e,a,i){var r,s,c;return function(){var u=Co(this,e),m=i(this),g=m+"";return m==null&&(g=m=(this.style.removeProperty(e),Co(this,e))),u===g?null:u===r&&g===s?c:(s=g,c=a(r=u,m))}}function fA(e,a){var i,r,s,c="style."+a,u="end."+c,m;return function(){var g=An(this,e),p=g.on,y=g.value[c]==null?m||(m=Fx(a)):void 0;(p!==i||s!==y)&&(r=(i=p).copy()).on(u,s=y),g.on=r}}function mA(e,a,i){var r=(e+="")=="transform"?hM:Px;return a==null?this.styleTween(e,cA(e,r)).on("end.style."+e,Fx(e)):typeof a=="function"?this.styleTween(e,dA(e,r,Sm(this,"style."+e,a))).each(fA(this._id,e)):this.styleTween(e,uA(e,r,a),i).on("end.style."+e,null)}function hA(e,a,i){return function(r){this.style.setProperty(e,a.call(this,r),i)}}function pA(e,a,i){var r,s;function c(){var u=a.apply(this,arguments);return u!==s&&(r=(s=u)&&hA(e,u,i)),r}return c._value=a,c}function gA(e,a,i){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(a==null)return this.tween(r,null);if(typeof a!="function")throw new Error;return this.tween(r,pA(e,a,i??""))}function yA(e){return function(){this.textContent=e}}function vA(e){return function(){var a=e(this);this.textContent=a??""}}function xA(e){return this.tween("text",typeof e=="function"?vA(Sm(this,"text",e)):yA(e==null?"":e+""))}function bA(e){return function(a){this.textContent=e.call(this,a)}}function SA(e){var a,i;function r(){var s=e.apply(this,arguments);return s!==i&&(a=(i=s)&&bA(s)),a}return r._value=e,r}function wA(e){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;return this.tween(a,SA(e))}function _A(){for(var e=this._name,a=this._id,i=Vx(),r=this._groups,s=r.length,c=0;c<s;++c)for(var u=r[c],m=u.length,g,p=0;p<m;++p)if(g=u[p]){var y=yn(g,a);Rc(g,e,i,p,u,{time:y.time+y.delay+y.duration,delay:0,duration:y.duration,ease:y.ease})}return new na(r,this._parents,e,i)}function NA(){var e,a,i=this,r=i._id,s=i.size();return new Promise(function(c,u){var m={value:u},g={value:function(){--s===0&&c()}};i.each(function(){var p=An(this,r),y=p.on;y!==e&&(a=(e=y).copy(),a._.cancel.push(m),a._.interrupt.push(m),a._.end.push(g)),p.on=a}),s===0&&c()})}var EA=0;function na(e,a,i,r){this._groups=e,this._parents=a,this._name=i,this._id=r}function Vx(){return++EA}var ea=il.prototype;na.prototype={constructor:na,select:oA,selectAll:rA,selectChild:ea.selectChild,selectChildren:ea.selectChildren,filter:JM,merge:WM,selection:sA,transition:_A,call:ea.call,nodes:ea.nodes,node:ea.node,size:ea.size,empty:ea.empty,each:ea.each,on:nA,attr:kM,attrTween:qM,style:mA,styleTween:gA,text:xA,textTween:wA,remove:iA,tween:AM,delay:FM,duration:YM,ease:KM,easeVarying:QM,end:NA,[Symbol.iterator]:ea[Symbol.iterator]};function CA(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var TA={time:null,delay:0,duration:250,ease:CA};function MA(e,a){for(var i;!(i=e.__transition)||!(i=i[a]);)if(!(e=e.parentNode))throw new Error(`transition ${a} not found`);return i}function AA(e){var a,i;e instanceof na?(a=e._id,e=e._name):(a=Vx(),(i=TA).time=xm(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,c=0;c<s;++c)for(var u=r[c],m=u.length,g,p=0;p<m;++p)(g=u[p])&&Rc(g,e,a,p,u,i||MA(g,a));return new na(r,this._parents,e,a)}il.prototype.interrupt=CM;il.prototype.transition=AA;const Ks=e=>()=>e;function jA(e,{sourceEvent:a,target:i,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:a,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function ta(e,a,i){this.k=e,this.x=a,this.y=i}ta.prototype={constructor:ta,scale:function(e){return e===1?this:new ta(this.k*e,this.x,this.y)},translate:function(e,a){return e===0&a===0?this:new ta(this.k,this.x+this.k*e,this.y+this.k*a)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Dc=new ta(1,0,0);$x.prototype=ta.prototype;function $x(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Dc;return e.__zoom}function Nf(e){e.stopImmediatePropagation()}function Or(e){e.preventDefault(),e.stopImmediatePropagation()}function RA(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function DA(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Tv(){return this.__zoom||Dc}function zA(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function OA(){return navigator.maxTouchPoints||"ontouchstart"in this}function IA(e,a,i){var r=e.invertX(a[0][0])-i[0][0],s=e.invertX(a[1][0])-i[1][0],c=e.invertY(a[0][1])-i[0][1],u=e.invertY(a[1][1])-i[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),u>c?(c+u)/2:Math.min(0,c)||Math.max(0,u))}function Yx(){var e=RA,a=DA,i=IA,r=zA,s=OA,c=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],m=250,g=sc,p=Mc("start","zoom","end"),y,v,x,S=500,_=150,A=0,E=10;function C(k){k.property("__zoom",Tv).on("wheel.zoom",H,{passive:!1}).on("mousedown.zoom",X).on("dblclick.zoom",W).filter(s).on("touchstart.zoom",V).on("touchmove.zoom",K).on("touchend.zoom touchcancel.zoom",ie).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}C.transform=function(k,j,M,L){var G=k.selection?k.selection():k;G.property("__zoom",Tv),k!==G?B(k,j,M,L):G.interrupt().each(function(){z(this,arguments).event(L).start().zoom(null,typeof j=="function"?j.apply(this,arguments):j).end()})},C.scaleBy=function(k,j,M,L){C.scaleTo(k,function(){var G=this.__zoom.k,Q=typeof j=="function"?j.apply(this,arguments):j;return G*Q},M,L)},C.scaleTo=function(k,j,M,L){C.transform(k,function(){var G=a.apply(this,arguments),Q=this.__zoom,J=M==null?w(G):typeof M=="function"?M.apply(this,arguments):M,D=Q.invert(J),P=typeof j=="function"?j.apply(this,arguments):j;return i(N(O(Q,P),J,D),G,u)},M,L)},C.translateBy=function(k,j,M,L){C.transform(k,function(){return i(this.__zoom.translate(typeof j=="function"?j.apply(this,arguments):j,typeof M=="function"?M.apply(this,arguments):M),a.apply(this,arguments),u)},null,L)},C.translateTo=function(k,j,M,L,G){C.transform(k,function(){var Q=a.apply(this,arguments),J=this.__zoom,D=L==null?w(Q):typeof L=="function"?L.apply(this,arguments):L;return i(Dc.translate(D[0],D[1]).scale(J.k).translate(typeof j=="function"?-j.apply(this,arguments):-j,typeof M=="function"?-M.apply(this,arguments):-M),Q,u)},L,G)};function O(k,j){return j=Math.max(c[0],Math.min(c[1],j)),j===k.k?k:new ta(j,k.x,k.y)}function N(k,j,M){var L=j[0]-M[0]*k.k,G=j[1]-M[1]*k.k;return L===k.x&&G===k.y?k:new ta(k.k,L,G)}function w(k){return[(+k[0][0]+ +k[1][0])/2,(+k[0][1]+ +k[1][1])/2]}function B(k,j,M,L){k.on("start.zoom",function(){z(this,arguments).event(L).start()}).on("interrupt.zoom end.zoom",function(){z(this,arguments).event(L).end()}).tween("zoom",function(){var G=this,Q=arguments,J=z(G,Q).event(L),D=a.apply(G,Q),P=M==null?w(D):typeof M=="function"?M.apply(G,Q):M,Y=Math.max(D[1][0]-D[0][0],D[1][1]-D[0][1]),te=G.__zoom,de=typeof j=="function"?j.apply(G,Q):j,me=g(te.invert(P).concat(Y/te.k),de.invert(P).concat(Y/de.k));return function(I){if(I===1)I=de;else{var le=me(I),fe=Y/le[2];I=new ta(fe,P[0]-le[0]*fe,P[1]-le[1]*fe)}J.zoom(null,I)}})}function z(k,j,M){return!M&&k.__zooming||new U(k,j)}function U(k,j){this.that=k,this.args=j,this.active=0,this.sourceEvent=null,this.extent=a.apply(k,j),this.taps=0}U.prototype={event:function(k){return k&&(this.sourceEvent=k),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(k,j){return this.mouse&&k!=="mouse"&&(this.mouse[1]=j.invert(this.mouse[0])),this.touch0&&k!=="touch"&&(this.touch0[1]=j.invert(this.touch0[0])),this.touch1&&k!=="touch"&&(this.touch1[1]=j.invert(this.touch1[0])),this.that.__zoom=j,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(k){var j=Yt(this.that).datum();p.call(k,this.that,new jA(k,{sourceEvent:this.sourceEvent,target:C,transform:this.that.__zoom,dispatch:p}),j)}};function H(k,...j){if(!e.apply(this,arguments))return;var M=z(this,j).event(k),L=this.__zoom,G=Math.max(c[0],Math.min(c[1],L.k*Math.pow(2,r.apply(this,arguments)))),Q=mn(k);if(M.wheel)(M.mouse[0][0]!==Q[0]||M.mouse[0][1]!==Q[1])&&(M.mouse[1]=L.invert(M.mouse[0]=Q)),clearTimeout(M.wheel);else{if(L.k===G)return;M.mouse=[Q,L.invert(Q)],dc(this),M.start()}Or(k),M.wheel=setTimeout(J,_),M.zoom("mouse",i(N(O(L,G),M.mouse[0],M.mouse[1]),M.extent,u));function J(){M.wheel=null,M.end()}}function X(k,...j){if(x||!e.apply(this,arguments))return;var M=k.currentTarget,L=z(this,j,!0).event(k),G=Yt(k.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",Y,!0),Q=mn(k,M),J=k.clientX,D=k.clientY;jx(k.view),Nf(k),L.mouse=[Q,this.__zoom.invert(Q)],dc(this),L.start();function P(te){if(Or(te),!L.moved){var de=te.clientX-J,me=te.clientY-D;L.moved=de*de+me*me>A}L.event(te).zoom("mouse",i(N(L.that.__zoom,L.mouse[0]=mn(te,M),L.mouse[1]),L.extent,u))}function Y(te){G.on("mousemove.zoom mouseup.zoom",null),Rx(te.view,L.moved),Or(te),L.event(te).end()}}function W(k,...j){if(e.apply(this,arguments)){var M=this.__zoom,L=mn(k.changedTouches?k.changedTouches[0]:k,this),G=M.invert(L),Q=M.k*(k.shiftKey?.5:2),J=i(N(O(M,Q),L,G),a.apply(this,j),u);Or(k),m>0?Yt(this).transition().duration(m).call(B,J,L,k):Yt(this).call(C.transform,J,L,k)}}function V(k,...j){if(e.apply(this,arguments)){var M=k.touches,L=M.length,G=z(this,j,k.changedTouches.length===L).event(k),Q,J,D,P;for(Nf(k),J=0;J<L;++J)D=M[J],P=mn(D,this),P=[P,this.__zoom.invert(P),D.identifier],G.touch0?!G.touch1&&G.touch0[2]!==P[2]&&(G.touch1=P,G.taps=0):(G.touch0=P,Q=!0,G.taps=1+!!y);y&&(y=clearTimeout(y)),Q&&(G.taps<2&&(v=P[0],y=setTimeout(function(){y=null},S)),dc(this),G.start())}}function K(k,...j){if(this.__zooming){var M=z(this,j).event(k),L=k.changedTouches,G=L.length,Q,J,D,P;for(Or(k),Q=0;Q<G;++Q)J=L[Q],D=mn(J,this),M.touch0&&M.touch0[2]===J.identifier?M.touch0[0]=D:M.touch1&&M.touch1[2]===J.identifier&&(M.touch1[0]=D);if(J=M.that.__zoom,M.touch1){var Y=M.touch0[0],te=M.touch0[1],de=M.touch1[0],me=M.touch1[1],I=(I=de[0]-Y[0])*I+(I=de[1]-Y[1])*I,le=(le=me[0]-te[0])*le+(le=me[1]-te[1])*le;J=O(J,Math.sqrt(I/le)),D=[(Y[0]+de[0])/2,(Y[1]+de[1])/2],P=[(te[0]+me[0])/2,(te[1]+me[1])/2]}else if(M.touch0)D=M.touch0[0],P=M.touch0[1];else return;M.zoom("touch",i(N(J,D,P),M.extent,u))}}function ie(k,...j){if(this.__zooming){var M=z(this,j).event(k),L=k.changedTouches,G=L.length,Q,J;for(Nf(k),x&&clearTimeout(x),x=setTimeout(function(){x=null},S),Q=0;Q<G;++Q)J=L[Q],M.touch0&&M.touch0[2]===J.identifier?delete M.touch0:M.touch1&&M.touch1[2]===J.identifier&&delete M.touch1;if(M.touch1&&!M.touch0&&(M.touch0=M.touch1,delete M.touch1),M.touch0)M.touch0[1]=this.__zoom.invert(M.touch0[0]);else if(M.end(),M.taps===2&&(J=mn(J,this),Math.hypot(v[0]-J[0],v[1]-J[1])<E)){var D=Yt(this).on("dblclick.zoom");D&&D.apply(this,arguments)}}}return C.wheelDelta=function(k){return arguments.length?(r=typeof k=="function"?k:Ks(+k),C):r},C.filter=function(k){return arguments.length?(e=typeof k=="function"?k:Ks(!!k),C):e},C.touchable=function(k){return arguments.length?(s=typeof k=="function"?k:Ks(!!k),C):s},C.extent=function(k){return arguments.length?(a=typeof k=="function"?k:Ks([[+k[0][0],+k[0][1]],[+k[1][0],+k[1][1]]]),C):a},C.scaleExtent=function(k){return arguments.length?(c[0]=+k[0],c[1]=+k[1],C):[c[0],c[1]]},C.translateExtent=function(k){return arguments.length?(u[0][0]=+k[0][0],u[1][0]=+k[1][0],u[0][1]=+k[0][1],u[1][1]=+k[1][1],C):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},C.constrain=function(k){return arguments.length?(i=k,C):i},C.duration=function(k){return arguments.length?(m=+k,C):m},C.interpolate=function(k){return arguments.length?(g=k,C):g},C.on=function(){var k=p.on.apply(p,arguments);return k===p?C:k},C.clickDistance=function(k){return arguments.length?(A=(k=+k)*k,C):Math.sqrt(A)},C.tapDistance=function(k){return arguments.length?(E=+k,C):E},C}const Mn={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:a,sourceHandle:i,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:r}", edge id: ${a}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Jr=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Xx=["Enter"," ","Escape"],Kx={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:a,y:i})=>`Moved selected node ${e}. New position, x: ${a}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var _i;(function(e){e.Strict="strict",e.Loose="loose"})(_i||(_i={}));var xi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(xi||(xi={}));var Wr;(function(e){e.Partial="partial",e.Full="full"})(Wr||(Wr={}));const Zx={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Ha;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Ha||(Ha={}));var _c;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(_c||(_c={}));var xe;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(xe||(xe={}));const Mv={[xe.Left]:xe.Right,[xe.Right]:xe.Left,[xe.Top]:xe.Bottom,[xe.Bottom]:xe.Top};function Qx(e){return e===null?null:e?"valid":"invalid"}const Jx=e=>"id"in e&&"source"in e&&"target"in e,kA=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),wm=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),rl=(e,a=[0,0])=>{const{width:i,height:r}=aa(e),s=e.origin??a,c=i*s[0],u=r*s[1];return{x:e.position.x-c,y:e.position.y-u}},LA=(e,a={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((r,s)=>{const c=typeof s=="string";let u=!a.nodeLookup&&!c?s:void 0;a.nodeLookup&&(u=c?a.nodeLookup.get(s):wm(s)?s:a.nodeLookup.get(s.id));const m=u?Nc(u,a.nodeOrigin):{x:0,y:0,x2:0,y2:0};return zc(r,m)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Oc(i)},ll=(e,a={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(a.filter===void 0||a.filter(s))&&(i=zc(i,Nc(s)),r=!0)}),r?Oc(i):{x:0,y:0,width:0,height:0}},_m=(e,a,[i,r,s]=[0,0,1],c=!1,u=!1)=>{const m={...cl(a,[i,r,s]),width:a.width/s,height:a.height/s},g=[];for(const p of e.values()){const{measured:y,selectable:v=!0,hidden:x=!1}=p;if(u&&!v||x)continue;const S=y.width??p.width??p.initialWidth??null,_=y.height??p.height??p.initialHeight??null,A=el(m,Ao(p)),E=(S??0)*(_??0),C=c&&A>0;(!p.internals.handleBounds||C||A>=E||p.dragging)&&g.push(p)}return g},HA=(e,a)=>{const i=new Set;return e.forEach(r=>{i.add(r.id)}),a.filter(r=>i.has(r.source)||i.has(r.target))};function BA(e,a){const i=new Map,r=a?.nodes?new Set(a.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(a?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&i.set(s.id,s)}),i}async function UA({nodes:e,width:a,height:i,panZoom:r,minZoom:s,maxZoom:c},u){if(e.size===0)return Promise.resolve(!0);const m=BA(e,u),g=ll(m),p=Nm(g,a,i,u?.minZoom??s,u?.maxZoom??c,u?.padding??.1);return await r.setViewport(p,{duration:u?.duration,ease:u?.ease,interpolate:u?.interpolate}),Promise.resolve(!0)}function Wx({nodeId:e,nextPosition:a,nodeLookup:i,nodeOrigin:r=[0,0],nodeExtent:s,onError:c}){const u=i.get(e),m=u.parentId?i.get(u.parentId):void 0,{x:g,y:p}=m?m.internals.positionAbsolute:{x:0,y:0},y=u.origin??r;let v=u.extent||s;if(u.extent==="parent"&&!u.expandParent)if(!m)c?.("005",Mn.error005());else{const S=m.measured.width,_=m.measured.height;S&&_&&(v=[[g,p],[g+S,p+_]])}else m&&jo(u.extent)&&(v=[[u.extent[0][0]+g,u.extent[0][1]+p],[u.extent[1][0]+g,u.extent[1][1]+p]]);const x=jo(v)?Ni(a,v,u.measured):a;return(u.measured.width===void 0||u.measured.height===void 0)&&c?.("015",Mn.error015()),{position:{x:x.x-g+(u.measured.width??0)*y[0],y:x.y-p+(u.measured.height??0)*y[1]},positionAbsolute:x}}async function qA({nodesToRemove:e=[],edgesToRemove:a=[],nodes:i,edges:r,onBeforeDelete:s}){const c=new Set(e.map(x=>x.id)),u=[];for(const x of i){if(x.deletable===!1)continue;const S=c.has(x.id),_=!S&&x.parentId&&u.find(A=>A.id===x.parentId);(S||_)&&u.push(x)}const m=new Set(a.map(x=>x.id)),g=r.filter(x=>x.deletable!==!1),y=HA(u,g);for(const x of g)m.has(x.id)&&!y.find(_=>_.id===x.id)&&y.push(x);if(!s)return{edges:y,nodes:u};const v=await s({nodes:u,edges:y});return typeof v=="boolean"?v?{edges:y,nodes:u}:{edges:[],nodes:[]}:v}const Mo=(e,a=0,i=1)=>Math.min(Math.max(e,a),i),Ni=(e={x:0,y:0},a,i)=>({x:Mo(e.x,a[0][0],a[1][0]-(i?.width??0)),y:Mo(e.y,a[0][1],a[1][1]-(i?.height??0))});function eb(e,a,i){const{width:r,height:s}=aa(i),{x:c,y:u}=i.internals.positionAbsolute;return Ni(e,[[c,u],[c+r,u+s]],a)}const Av=(e,a,i)=>e<a?Mo(Math.abs(e-a),1,a)/a:e>i?-Mo(Math.abs(e-i),1,a)/a:0,tb=(e,a,i=15,r=40)=>{const s=Av(e.x,r,a.width-r)*i,c=Av(e.y,r,a.height-r)*i;return[s,c]},zc=(e,a)=>({x:Math.min(e.x,a.x),y:Math.min(e.y,a.y),x2:Math.max(e.x2,a.x2),y2:Math.max(e.y2,a.y2)}),Wf=({x:e,y:a,width:i,height:r})=>({x:e,y:a,x2:e+i,y2:a+r}),Oc=({x:e,y:a,x2:i,y2:r})=>({x:e,y:a,width:i-e,height:r-a}),Ao=(e,a=[0,0])=>{const{x:i,y:r}=wm(e)?e.internals.positionAbsolute:rl(e,a);return{x:i,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},Nc=(e,a=[0,0])=>{const{x:i,y:r}=wm(e)?e.internals.positionAbsolute:rl(e,a);return{x:i,y:r,x2:i+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},nb=(e,a)=>Oc(zc(Wf(e),Wf(a))),el=(e,a)=>{const i=Math.max(0,Math.min(e.x+e.width,a.x+a.width)-Math.max(e.x,a.x)),r=Math.max(0,Math.min(e.y+e.height,a.y+a.height)-Math.max(e.y,a.y));return Math.ceil(i*r)},jv=e=>pn(e.width)&&pn(e.height)&&pn(e.x)&&pn(e.y),pn=e=>!isNaN(e)&&isFinite(e),GA=(e,a)=>{},sl=(e,a=[1,1])=>({x:a[0]*Math.round(e.x/a[0]),y:a[1]*Math.round(e.y/a[1])}),cl=({x:e,y:a},[i,r,s],c=!1,u=[1,1])=>{const m={x:(e-i)/s,y:(a-r)/s};return c?sl(m,u):m},Ec=({x:e,y:a},[i,r,s])=>({x:e*s+i,y:a*s+r});function vo(e,a){if(typeof e=="number")return Math.floor((a-a/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(a*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function PA(e,a,i){if(typeof e=="string"||typeof e=="number"){const r=vo(e,i),s=vo(e,a);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=vo(e.top??e.y??0,i),s=vo(e.bottom??e.y??0,i),c=vo(e.left??e.x??0,a),u=vo(e.right??e.x??0,a);return{top:r,right:u,bottom:s,left:c,x:c+u,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function FA(e,a,i,r,s,c){const{x:u,y:m}=Ec(e,[a,i,r]),{x:g,y:p}=Ec({x:e.x+e.width,y:e.y+e.height},[a,i,r]),y=s-g,v=c-p;return{left:Math.floor(u),top:Math.floor(m),right:Math.floor(y),bottom:Math.floor(v)}}const Nm=(e,a,i,r,s,c)=>{const u=PA(c,a,i),m=(a-u.x)/e.width,g=(i-u.y)/e.height,p=Math.min(m,g),y=Mo(p,r,s),v=e.x+e.width/2,x=e.y+e.height/2,S=a/2-v*y,_=i/2-x*y,A=FA(e,S,_,y,a,i),E={left:Math.min(A.left-u.left,0),top:Math.min(A.top-u.top,0),right:Math.min(A.right-u.right,0),bottom:Math.min(A.bottom-u.bottom,0)};return{x:S-E.left+E.right,y:_-E.top+E.bottom,zoom:y}},tl=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function jo(e){return e!=null&&e!=="parent"}function aa(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function ab(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function ib(e,a={width:0,height:0},i,r,s){const c={...e},u=r.get(i);if(u){const m=u.origin||s;c.x+=u.internals.positionAbsolute.x-(a.width??0)*m[0],c.y+=u.internals.positionAbsolute.y-(a.height??0)*m[1]}return c}function Rv(e,a){if(e.size!==a.size)return!1;for(const i of e)if(!a.has(i))return!1;return!0}function VA(){let e,a;return{promise:new Promise((r,s)=>{e=r,a=s}),resolve:e,reject:a}}function $A(e){return{...Kx,...e||{}}}function Yr(e,{snapGrid:a=[0,0],snapToGrid:i=!1,transform:r,containerBounds:s}){const{x:c,y:u}=gn(e),m=cl({x:c-(s?.left??0),y:u-(s?.top??0)},r),{x:g,y:p}=i?sl(m,a):m;return{xSnapped:g,ySnapped:p,...m}}const Em=e=>({width:e.offsetWidth,height:e.offsetHeight}),ob=e=>e?.getRootNode?.()||window?.document,YA=["INPUT","SELECT","TEXTAREA"];function rb(e){const a=e.composedPath?.()?.[0]||e.target;return a?.nodeType!==1?!1:YA.includes(a.nodeName)||a.hasAttribute("contenteditable")||!!a.closest(".nokey")}const lb=e=>"clientX"in e,gn=(e,a)=>{const i=lb(e),r=i?e.clientX:e.touches?.[0].clientX,s=i?e.clientY:e.touches?.[0].clientY;return{x:r-(a?.left??0),y:s-(a?.top??0)}},Dv=(e,a,i,r,s)=>{const c=a.querySelectorAll(`.${e}`);return!c||!c.length?null:Array.from(c).map(u=>{const m=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:s,position:u.getAttribute("data-handlepos"),x:(m.left-i.left)/r,y:(m.top-i.top)/r,...Em(u)}})};function sb({sourceX:e,sourceY:a,targetX:i,targetY:r,sourceControlX:s,sourceControlY:c,targetControlX:u,targetControlY:m}){const g=e*.125+s*.375+u*.375+i*.125,p=a*.125+c*.375+m*.375+r*.125,y=Math.abs(g-e),v=Math.abs(p-a);return[g,p,y,v]}function Zs(e,a){return e>=0?.5*e:a*25*Math.sqrt(-e)}function zv({pos:e,x1:a,y1:i,x2:r,y2:s,c}){switch(e){case xe.Left:return[a-Zs(a-r,c),i];case xe.Right:return[a+Zs(r-a,c),i];case xe.Top:return[a,i-Zs(i-s,c)];case xe.Bottom:return[a,i+Zs(s-i,c)]}}function cb({sourceX:e,sourceY:a,sourcePosition:i=xe.Bottom,targetX:r,targetY:s,targetPosition:c=xe.Top,curvature:u=.25}){const[m,g]=zv({pos:i,x1:e,y1:a,x2:r,y2:s,c:u}),[p,y]=zv({pos:c,x1:r,y1:s,x2:e,y2:a,c:u}),[v,x,S,_]=sb({sourceX:e,sourceY:a,targetX:r,targetY:s,sourceControlX:m,sourceControlY:g,targetControlX:p,targetControlY:y});return[`M${e},${a} C${m},${g} ${p},${y} ${r},${s}`,v,x,S,_]}function ub({sourceX:e,sourceY:a,targetX:i,targetY:r}){const s=Math.abs(i-e)/2,c=i<e?i+s:i-s,u=Math.abs(r-a)/2,m=r<a?r+u:r-u;return[c,m,s,u]}function XA({sourceNode:e,targetNode:a,selected:i=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:c="basic"}){if(c==="manual")return r;const u=s&&i?r+1e3:r,m=Math.max(e.parentId||s&&e.selected?e.internals.z:0,a.parentId||s&&a.selected?a.internals.z:0);return u+m}function KA({sourceNode:e,targetNode:a,width:i,height:r,transform:s}){const c=zc(Nc(e),Nc(a));c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const u={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:r/s[2]};return el(u,Oc(c))>0}const ZA=({source:e,sourceHandle:a,target:i,targetHandle:r})=>`xy-edge__${e}${a||""}-${i}${r||""}`,QA=(e,a)=>a.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),JA=(e,a,i={})=>{if(!e.source||!e.target)return a;const r=i.getEdgeId||ZA;let s;return Jx(e)?s={...e}:s={...e,id:r(e)},QA(s,a)?a:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,a.concat(s))};function db({sourceX:e,sourceY:a,targetX:i,targetY:r}){const[s,c,u,m]=ub({sourceX:e,sourceY:a,targetX:i,targetY:r});return[`M ${e},${a}L ${i},${r}`,s,c,u,m]}const Ov={[xe.Left]:{x:-1,y:0},[xe.Right]:{x:1,y:0},[xe.Top]:{x:0,y:-1},[xe.Bottom]:{x:0,y:1}},WA=({source:e,sourcePosition:a=xe.Bottom,target:i})=>a===xe.Left||a===xe.Right?e.x<i.x?{x:1,y:0}:{x:-1,y:0}:e.y<i.y?{x:0,y:1}:{x:0,y:-1},Iv=(e,a)=>Math.sqrt(Math.pow(a.x-e.x,2)+Math.pow(a.y-e.y,2));function ej({source:e,sourcePosition:a=xe.Bottom,target:i,targetPosition:r=xe.Top,center:s,offset:c,stepPosition:u}){const m=Ov[a],g=Ov[r],p={x:e.x+m.x*c,y:e.y+m.y*c},y={x:i.x+g.x*c,y:i.y+g.y*c},v=WA({source:p,sourcePosition:a,target:y}),x=v.x!==0?"x":"y",S=v[x];let _=[],A,E;const C={x:0,y:0},O={x:0,y:0},[,,N,w]=ub({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(m[x]*g[x]===-1){x==="x"?(A=s.x??p.x+(y.x-p.x)*u,E=s.y??(p.y+y.y)/2):(A=s.x??(p.x+y.x)/2,E=s.y??p.y+(y.y-p.y)*u);const H=[{x:A,y:p.y},{x:A,y:y.y}],X=[{x:p.x,y:E},{x:y.x,y:E}];m[x]===S?_=x==="x"?H:X:_=x==="x"?X:H}else{const H=[{x:p.x,y:y.y}],X=[{x:y.x,y:p.y}];if(x==="x"?_=m.x===S?X:H:_=m.y===S?H:X,a===r){const k=Math.abs(e[x]-i[x]);if(k<=c){const j=Math.min(c-1,c-k);m[x]===S?C[x]=(p[x]>e[x]?-1:1)*j:O[x]=(y[x]>i[x]?-1:1)*j}}if(a!==r){const k=x==="x"?"y":"x",j=m[x]===g[k],M=p[k]>y[k],L=p[k]<y[k];(m[x]===1&&(!j&&M||j&&L)||m[x]!==1&&(!j&&L||j&&M))&&(_=x==="x"?H:X)}const W={x:p.x+C.x,y:p.y+C.y},V={x:y.x+O.x,y:y.y+O.y},K=Math.max(Math.abs(W.x-_[0].x),Math.abs(V.x-_[0].x)),ie=Math.max(Math.abs(W.y-_[0].y),Math.abs(V.y-_[0].y));K>=ie?(A=(W.x+V.x)/2,E=_[0].y):(A=_[0].x,E=(W.y+V.y)/2)}const B={x:p.x+C.x,y:p.y+C.y},z={x:y.x+O.x,y:y.y+O.y};return[[e,...B.x!==_[0].x||B.y!==_[0].y?[B]:[],..._,...z.x!==_[_.length-1].x||z.y!==_[_.length-1].y?[z]:[],i],A,E,N,w]}function tj(e,a,i,r){const s=Math.min(Iv(e,a)/2,Iv(a,i)/2,r),{x:c,y:u}=a;if(e.x===c&&c===i.x||e.y===u&&u===i.y)return`L${c} ${u}`;if(e.y===u){const p=e.x<i.x?-1:1,y=e.y<i.y?1:-1;return`L ${c+s*p},${u}Q ${c},${u} ${c},${u+s*y}`}const m=e.x<i.x?1:-1,g=e.y<i.y?-1:1;return`L ${c},${u+s*g}Q ${c},${u} ${c+s*m},${u}`}function em({sourceX:e,sourceY:a,sourcePosition:i=xe.Bottom,targetX:r,targetY:s,targetPosition:c=xe.Top,borderRadius:u=5,centerX:m,centerY:g,offset:p=20,stepPosition:y=.5}){const[v,x,S,_,A]=ej({source:{x:e,y:a},sourcePosition:i,target:{x:r,y:s},targetPosition:c,center:{x:m,y:g},offset:p,stepPosition:y});let E=`M${v[0].x} ${v[0].y}`;for(let C=1;C<v.length-1;C++)E+=tj(v[C-1],v[C],v[C+1],u);return E+=`L${v[v.length-1].x} ${v[v.length-1].y}`,[E,x,S,_,A]}function kv(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function nj(e){const{sourceNode:a,targetNode:i}=e;if(!kv(a)||!kv(i))return null;const r=a.internals.handleBounds||Lv(a.handles),s=i.internals.handleBounds||Lv(i.handles),c=Hv(r?.source??[],e.sourceHandle),u=Hv(e.connectionMode===_i.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!c||!u)return e.onError?.("008",Mn.error008(c?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const m=c?.position||xe.Bottom,g=u?.position||xe.Top,p=Ei(a,c,m),y=Ei(i,u,g);return{sourceX:p.x,sourceY:p.y,targetX:y.x,targetY:y.y,sourcePosition:m,targetPosition:g}}function Lv(e){if(!e)return null;const a=[],i=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?a.push(r):r.type==="target"&&i.push(r);return{source:a,target:i}}function Ei(e,a,i=xe.Left,r=!1){const s=(a?.x??0)+e.internals.positionAbsolute.x,c=(a?.y??0)+e.internals.positionAbsolute.y,{width:u,height:m}=a??aa(e);if(r)return{x:s+u/2,y:c+m/2};switch(a?.position??i){case xe.Top:return{x:s+u/2,y:c};case xe.Right:return{x:s+u,y:c+m/2};case xe.Bottom:return{x:s+u/2,y:c+m};case xe.Left:return{x:s,y:c+m/2}}}function Hv(e,a){return e&&(a?e.find(i=>i.id===a):e[0])||null}function tm(e,a){return e?typeof e=="string"?e:`${a?`${a}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function aj(e,{id:a,defaultColor:i,defaultMarkerStart:r,defaultMarkerEnd:s}){const c=new Set;return e.reduce((u,m)=>([m.markerStart||r,m.markerEnd||s].forEach(g=>{if(g&&typeof g=="object"){const p=tm(g,a);c.has(p)||(u.push({id:p,color:g.color||i,...g}),c.add(p))}}),u),[]).sort((u,m)=>u.id.localeCompare(m.id))}const fb=1e3,ij=10,Cm={nodeOrigin:[0,0],nodeExtent:Jr,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},oj={...Cm,checkEquality:!0};function Tm(e,a){const i={...e};for(const r in a)a[r]!==void 0&&(i[r]=a[r]);return i}function rj(e,a,i){const r=Tm(Cm,i);for(const s of e.values())if(s.parentId)Am(s,e,a,r);else{const c=rl(s,r.nodeOrigin),u=jo(s.extent)?s.extent:r.nodeExtent,m=Ni(c,u,aa(s));s.internals.positionAbsolute=m}}function lj(e,a){if(!e.handles)return e.measured?a?.internals.handleBounds:void 0;const i=[],r=[];for(const s of e.handles){const c={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?i.push(c):s.type==="target"&&r.push(c)}return{source:i,target:r}}function Mm(e){return e==="manual"}function nm(e,a,i,r={}){const s=Tm(oj,r),c={i:0},u=new Map(a),m=s?.elevateNodesOnSelect&&!Mm(s.zIndexMode)?fb:0;let g=e.length>0,p=!1;a.clear(),i.clear();for(const y of e){let v=u.get(y.id);if(s.checkEquality&&y===v?.internals.userNode)a.set(y.id,v);else{const x=rl(y,s.nodeOrigin),S=jo(y.extent)?y.extent:s.nodeExtent,_=Ni(x,S,aa(y));v={...s.defaults,...y,measured:{width:y.measured?.width,height:y.measured?.height},internals:{positionAbsolute:_,handleBounds:lj(y,v),z:mb(y,m,s.zIndexMode),userNode:y}},a.set(y.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(g=!1),y.parentId&&Am(v,a,i,r,c),p||=y.selected??!1}return{nodesInitialized:g,hasSelectedNodes:p}}function sj(e,a){if(!e.parentId)return;const i=a.get(e.parentId);i?i.set(e.id,e):a.set(e.parentId,new Map([[e.id,e]]))}function Am(e,a,i,r,s){const{elevateNodesOnSelect:c,nodeOrigin:u,nodeExtent:m,zIndexMode:g}=Tm(Cm,r),p=e.parentId,y=a.get(p);if(!y){console.warn(`Parent node ${p} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}sj(e,i),s&&!y.parentId&&y.internals.rootParentIndex===void 0&&g==="auto"&&(y.internals.rootParentIndex=++s.i,y.internals.z=y.internals.z+s.i*ij),s&&y.internals.rootParentIndex!==void 0&&(s.i=y.internals.rootParentIndex);const v=c&&!Mm(g)?fb:0,{x,y:S,z:_}=cj(e,y,u,m,v,g),{positionAbsolute:A}=e.internals,E=x!==A.x||S!==A.y;(E||_!==e.internals.z)&&a.set(e.id,{...e,internals:{...e.internals,positionAbsolute:E?{x,y:S}:A,z:_}})}function mb(e,a,i){const r=pn(e.zIndex)?e.zIndex:0;return Mm(i)?r:r+(e.selected?a:0)}function cj(e,a,i,r,s,c){const{x:u,y:m}=a.internals.positionAbsolute,g=aa(e),p=rl(e,i),y=jo(e.extent)?Ni(p,e.extent,g):p;let v=Ni({x:u+y.x,y:m+y.y},r,g);e.extent==="parent"&&(v=eb(v,g,a));const x=mb(e,s,c),S=a.internals.z??0;return{x:v.x,y:v.y,z:S>=x?S+1:x}}function jm(e,a,i,r=[0,0]){const s=[],c=new Map;for(const u of e){const m=a.get(u.parentId);if(!m)continue;const g=c.get(u.parentId)?.expandedRect??Ao(m),p=nb(g,u.rect);c.set(u.parentId,{expandedRect:p,parent:m})}return c.size>0&&c.forEach(({expandedRect:u,parent:m},g)=>{const p=m.internals.positionAbsolute,y=aa(m),v=m.origin??r,x=u.x<p.x?Math.round(Math.abs(p.x-u.x)):0,S=u.y<p.y?Math.round(Math.abs(p.y-u.y)):0,_=Math.max(y.width,Math.round(u.width)),A=Math.max(y.height,Math.round(u.height)),E=(_-y.width)*v[0],C=(A-y.height)*v[1];(x>0||S>0||E||C)&&(s.push({id:g,type:"position",position:{x:m.position.x-x+E,y:m.position.y-S+C}}),i.get(g)?.forEach(O=>{e.some(N=>N.id===O.id)||s.push({id:O.id,type:"position",position:{x:O.position.x+x,y:O.position.y+S}})})),(y.width<u.width||y.height<u.height||x||S)&&s.push({id:g,type:"dimensions",setAttributes:!0,dimensions:{width:_+(x?v[0]*x-E:0),height:A+(S?v[1]*S-C:0)}})}),s}function uj(e,a,i,r,s,c,u){const m=r?.querySelector(".xyflow__viewport");let g=!1;if(!m)return{changes:[],updatedInternals:g};const p=[],y=window.getComputedStyle(m),{m22:v}=new window.DOMMatrixReadOnly(y.transform),x=[];for(const S of e.values()){const _=a.get(S.id);if(!_)continue;if(_.hidden){a.set(_.id,{..._,internals:{..._.internals,handleBounds:void 0}}),g=!0;continue}const A=Em(S.nodeElement),E=_.measured.width!==A.width||_.measured.height!==A.height;if(!!(A.width&&A.height&&(E||!_.internals.handleBounds||S.force))){const O=S.nodeElement.getBoundingClientRect(),N=jo(_.extent)?_.extent:c;let{positionAbsolute:w}=_.internals;_.parentId&&_.extent==="parent"?w=eb(w,A,a.get(_.parentId)):N&&(w=Ni(w,N,A));const B={..._,measured:A,internals:{..._.internals,positionAbsolute:w,handleBounds:{source:Dv("source",S.nodeElement,O,v,_.id),target:Dv("target",S.nodeElement,O,v,_.id)}}};a.set(_.id,B),_.parentId&&Am(B,a,i,{nodeOrigin:s,zIndexMode:u}),g=!0,E&&(p.push({id:_.id,type:"dimensions",dimensions:A}),_.expandParent&&_.parentId&&x.push({id:_.id,parentId:_.parentId,rect:Ao(B,s)}))}}if(x.length>0){const S=jm(x,a,i,s);p.push(...S)}return{changes:p,updatedInternals:g}}async function dj({delta:e,panZoom:a,transform:i,translateExtent:r,width:s,height:c}){if(!a||!e.x&&!e.y)return Promise.resolve(!1);const u=await a.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[s,c]],r),m=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(m)}function Bv(e,a,i,r,s,c){let u=s;const m=r.get(u)||new Map;r.set(u,m.set(i,a)),u=`${s}-${e}`;const g=r.get(u)||new Map;if(r.set(u,g.set(i,a)),c){u=`${s}-${e}-${c}`;const p=r.get(u)||new Map;r.set(u,p.set(i,a))}}function hb(e,a,i){e.clear(),a.clear();for(const r of i){const{source:s,target:c,sourceHandle:u=null,targetHandle:m=null}=r,g={edgeId:r.id,source:s,target:c,sourceHandle:u,targetHandle:m},p=`${s}-${u}--${c}-${m}`,y=`${c}-${m}--${s}-${u}`;Bv("source",g,y,e,s,u),Bv("target",g,p,e,c,m),a.set(r.id,r)}}function pb(e,a){if(!e.parentId)return!1;const i=a.get(e.parentId);return i?i.selected?!0:pb(i,a):!1}function Uv(e,a,i){let r=e;do{if(r?.matches?.(a))return!0;if(r===i)return!1;r=r?.parentElement}while(r);return!1}function fj(e,a,i,r){const s=new Map;for(const[c,u]of e)if((u.selected||u.id===r)&&(!u.parentId||!pb(u,e))&&(u.draggable||a&&typeof u.draggable>"u")){const m=e.get(c);m&&s.set(c,{id:c,position:m.position||{x:0,y:0},distance:{x:i.x-m.internals.positionAbsolute.x,y:i.y-m.internals.positionAbsolute.y},extent:m.extent,parentId:m.parentId,origin:m.origin,expandParent:m.expandParent,internals:{positionAbsolute:m.internals.positionAbsolute||{x:0,y:0}},measured:{width:m.measured.width??0,height:m.measured.height??0}})}return s}function Ef({nodeId:e,dragItems:a,nodeLookup:i,dragging:r=!0}){const s=[];for(const[u,m]of a){const g=i.get(u)?.internals.userNode;g&&s.push({...g,position:m.position,dragging:r})}if(!e)return[s[0],s];const c=i.get(e)?.internals.userNode;return[c?{...c,position:a.get(e)?.position||c.position,dragging:r}:s[0],s]}function mj({dragItems:e,snapGrid:a,x:i,y:r}){const s=e.values().next().value;if(!s)return null;const c={x:i-s.distance.x,y:r-s.distance.y},u=sl(c,a);return{x:u.x-c.x,y:u.y-c.y}}function hj({onNodeMouseDown:e,getStoreItems:a,onDragStart:i,onDrag:r,onDragStop:s}){let c={x:null,y:null},u=0,m=new Map,g=!1,p={x:0,y:0},y=null,v=!1,x=null,S=!1,_=!1,A=null;function E({noDragClassName:O,handleSelector:N,domNode:w,isSelectable:B,nodeId:z,nodeClickDistance:U=0}){x=Yt(w);function H({x:K,y:ie}){const{nodeLookup:k,nodeExtent:j,snapGrid:M,snapToGrid:L,nodeOrigin:G,onNodeDrag:Q,onSelectionDrag:J,onError:D,updateNodePositions:P}=a();c={x:K,y:ie};let Y=!1;const te=m.size>1,de=te&&j?Wf(ll(m)):null,me=te&&L?mj({dragItems:m,snapGrid:M,x:K,y:ie}):null;for(const[I,le]of m){if(!k.has(I))continue;let fe={x:K-le.distance.x,y:ie-le.distance.y};L&&(fe=me?{x:Math.round(fe.x+me.x),y:Math.round(fe.y+me.y)}:sl(fe,M));let he=null;if(te&&j&&!le.extent&&de){const{positionAbsolute:we}=le.internals,Ce=we.x-de.x+j[0][0],qe=we.x+le.measured.width-de.x2+j[1][0],Le=we.y-de.y+j[0][1],rt=we.y+le.measured.height-de.y2+j[1][1];he=[[Ce,Le],[qe,rt]]}const{position:Se,positionAbsolute:pe}=Wx({nodeId:I,nextPosition:fe,nodeLookup:k,nodeExtent:he||j,nodeOrigin:G,onError:D});Y=Y||le.position.x!==Se.x||le.position.y!==Se.y,le.position=Se,le.internals.positionAbsolute=pe}if(_=_||Y,!!Y&&(P(m,!0),A&&(r||Q||!z&&J))){const[I,le]=Ef({nodeId:z,dragItems:m,nodeLookup:k});r?.(A,m,I,le),Q?.(A,I,le),z||J?.(A,le)}}async function X(){if(!y)return;const{transform:K,panBy:ie,autoPanSpeed:k,autoPanOnNodeDrag:j}=a();if(!j){g=!1,cancelAnimationFrame(u);return}const[M,L]=tb(p,y,k);(M!==0||L!==0)&&(c.x=(c.x??0)-M/K[2],c.y=(c.y??0)-L/K[2],await ie({x:M,y:L})&&H(c)),u=requestAnimationFrame(X)}function W(K){const{nodeLookup:ie,multiSelectionActive:k,nodesDraggable:j,transform:M,snapGrid:L,snapToGrid:G,selectNodesOnDrag:Q,onNodeDragStart:J,onSelectionDragStart:D,unselectNodesAndEdges:P}=a();v=!0,(!Q||!B)&&!k&&z&&(ie.get(z)?.selected||P()),B&&Q&&z&&e?.(z);const Y=Yr(K.sourceEvent,{transform:M,snapGrid:L,snapToGrid:G,containerBounds:y});if(c=Y,m=fj(ie,j,Y,z),m.size>0&&(i||J||!z&&D)){const[te,de]=Ef({nodeId:z,dragItems:m,nodeLookup:ie});i?.(K.sourceEvent,m,te,de),J?.(K.sourceEvent,te,de),z||D?.(K.sourceEvent,de)}}const V=Dx().clickDistance(U).on("start",K=>{const{domNode:ie,nodeDragThreshold:k,transform:j,snapGrid:M,snapToGrid:L}=a();y=ie?.getBoundingClientRect()||null,S=!1,_=!1,A=K.sourceEvent,k===0&&W(K),c=Yr(K.sourceEvent,{transform:j,snapGrid:M,snapToGrid:L,containerBounds:y}),p=gn(K.sourceEvent,y)}).on("drag",K=>{const{autoPanOnNodeDrag:ie,transform:k,snapGrid:j,snapToGrid:M,nodeDragThreshold:L,nodeLookup:G}=a(),Q=Yr(K.sourceEvent,{transform:k,snapGrid:j,snapToGrid:M,containerBounds:y});if(A=K.sourceEvent,(K.sourceEvent.type==="touchmove"&&K.sourceEvent.touches.length>1||z&&!G.has(z))&&(S=!0),!S){if(!g&&ie&&v&&(g=!0,X()),!v){const J=gn(K.sourceEvent,y),D=J.x-p.x,P=J.y-p.y;Math.sqrt(D*D+P*P)>L&&W(K)}(c.x!==Q.xSnapped||c.y!==Q.ySnapped)&&m&&v&&(p=gn(K.sourceEvent,y),H(Q))}}).on("end",K=>{if(!(!v||S)&&(g=!1,v=!1,cancelAnimationFrame(u),m.size>0)){const{nodeLookup:ie,updateNodePositions:k,onNodeDragStop:j,onSelectionDragStop:M}=a();if(_&&(k(m,!1),_=!1),s||j||!z&&M){const[L,G]=Ef({nodeId:z,dragItems:m,nodeLookup:ie,dragging:!1});s?.(K.sourceEvent,m,L,G),j?.(K.sourceEvent,L,G),z||M?.(K.sourceEvent,G)}}}).filter(K=>{const ie=K.target;return!K.button&&(!O||!Uv(ie,`.${O}`,w))&&(!N||Uv(ie,N,w))});x.call(V)}function C(){x?.on(".drag",null)}return{update:E,destroy:C}}function pj(e,a,i){const r=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const c of a.values())el(s,Ao(c))>0&&r.push(c);return r}const gj=250;function yj(e,a,i,r){let s=[],c=1/0;const u=pj(e,i,a+gj);for(const m of u){const g=[...m.internals.handleBounds?.source??[],...m.internals.handleBounds?.target??[]];for(const p of g){if(r.nodeId===p.nodeId&&r.type===p.type&&r.id===p.id)continue;const{x:y,y:v}=Ei(m,p,p.position,!0),x=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));x>a||(x<c?(s=[{...p,x:y,y:v}],c=x):x===c&&s.push({...p,x:y,y:v}))}}if(!s.length)return null;if(s.length>1){const m=r.type==="source"?"target":"source";return s.find(g=>g.type===m)??s[0]}return s[0]}function gb(e,a,i,r,s,c=!1){const u=r.get(e);if(!u)return null;const m=s==="strict"?u.internals.handleBounds?.[a]:[...u.internals.handleBounds?.source??[],...u.internals.handleBounds?.target??[]],g=(i?m?.find(p=>p.id===i):m?.[0])??null;return g&&c?{...g,...Ei(u,g,g.position,!0)}:g}function yb(e,a){return e||(a?.classList.contains("target")?"target":a?.classList.contains("source")?"source":null)}function vj(e,a){let i=null;return a?i=!0:e&&!a&&(i=!1),i}const vb=()=>!0;function xj(e,{connectionMode:a,connectionRadius:i,handleId:r,nodeId:s,edgeUpdaterType:c,isTarget:u,domNode:m,nodeLookup:g,lib:p,autoPanOnConnect:y,flowId:v,panBy:x,cancelConnection:S,onConnectStart:_,onConnect:A,onConnectEnd:E,isValidConnection:C=vb,onReconnectEnd:O,updateConnection:N,getTransform:w,getFromHandle:B,autoPanSpeed:z,dragThreshold:U=1,handleDomNode:H}){const X=ob(e.target);let W=0,V;const{x:K,y:ie}=gn(e),k=yb(c,H),j=m?.getBoundingClientRect();let M=!1;if(!j||!k)return;const L=gb(s,k,r,g,a);if(!L)return;let G=gn(e,j),Q=!1,J=null,D=!1,P=null;function Y(){if(!y||!j)return;const[Se,pe]=tb(G,j,z);x({x:Se,y:pe}),W=requestAnimationFrame(Y)}const te={...L,nodeId:s,type:k,position:L.position},de=g.get(s);let I={inProgress:!0,isValid:null,from:Ei(de,te,xe.Left,!0),fromHandle:te,fromPosition:te.position,fromNode:de,to:G,toHandle:null,toPosition:Mv[te.position],toNode:null,pointer:G};function le(){M=!0,N(I),_?.(e,{nodeId:s,handleId:r,handleType:k})}U===0&&le();function fe(Se){if(!M){const{x:rt,y:Lt}=gn(Se),wt=rt-K,Ht=Lt-ie;if(!(wt*wt+Ht*Ht>U*U))return;le()}if(!B()||!te){he(Se);return}const pe=w();G=gn(Se,j),V=yj(cl(G,pe,!1,[1,1]),i,g,te),Q||(Y(),Q=!0);const we=xb(Se,{handle:V,connectionMode:a,fromNodeId:s,fromHandleId:r,fromType:u?"target":"source",isValidConnection:C,doc:X,lib:p,flowId:v,nodeLookup:g});P=we.handleDomNode,J=we.connection,D=vj(!!V,we.isValid);const Ce=g.get(s),qe=Ce?Ei(Ce,te,xe.Left,!0):I.from,Le={...I,from:qe,isValid:D,to:we.toHandle&&D?Ec({x:we.toHandle.x,y:we.toHandle.y},pe):G,toHandle:we.toHandle,toPosition:D&&we.toHandle?we.toHandle.position:Mv[te.position],toNode:we.toHandle?g.get(we.toHandle.nodeId):null,pointer:G};N(Le),I=Le}function he(Se){if(!("touches"in Se&&Se.touches.length>0)){if(M){(V||P)&&J&&D&&A?.(J);const{inProgress:pe,...we}=I,Ce={...we,toPosition:I.toHandle?I.toPosition:null};E?.(Se,Ce),c&&O?.(Se,Ce)}S(),cancelAnimationFrame(W),Q=!1,D=!1,J=null,P=null,X.removeEventListener("mousemove",fe),X.removeEventListener("mouseup",he),X.removeEventListener("touchmove",fe),X.removeEventListener("touchend",he)}}X.addEventListener("mousemove",fe),X.addEventListener("mouseup",he),X.addEventListener("touchmove",fe),X.addEventListener("touchend",he)}function xb(e,{handle:a,connectionMode:i,fromNodeId:r,fromHandleId:s,fromType:c,doc:u,lib:m,flowId:g,isValidConnection:p=vb,nodeLookup:y}){const v=c==="target",x=a?u.querySelector(`.${m}-flow__handle[data-id="${g}-${a?.nodeId}-${a?.id}-${a?.type}"]`):null,{x:S,y:_}=gn(e),A=u.elementFromPoint(S,_),E=A?.classList.contains(`${m}-flow__handle`)?A:x,C={handleDomNode:E,isValid:!1,connection:null,toHandle:null};if(E){const O=yb(void 0,E),N=E.getAttribute("data-nodeid"),w=E.getAttribute("data-handleid"),B=E.classList.contains("connectable"),z=E.classList.contains("connectableend");if(!N||!O)return C;const U={source:v?N:r,sourceHandle:v?w:s,target:v?r:N,targetHandle:v?s:w};C.connection=U;const X=B&&z&&(i===_i.Strict?v&&O==="source"||!v&&O==="target":N!==r||w!==s);C.isValid=X&&p(U),C.toHandle=gb(N,O,w,y,i,!0)}return C}const am={onPointerDown:xj,isValid:xb};function bj({domNode:e,panZoom:a,getTransform:i,getViewScale:r}){const s=Yt(e);function c({translateExtent:m,width:g,height:p,zoomStep:y=1,pannable:v=!0,zoomable:x=!0,inversePan:S=!1}){const _=N=>{if(N.sourceEvent.type!=="wheel"||!a)return;const w=i(),B=N.sourceEvent.ctrlKey&&tl()?10:1,z=-N.sourceEvent.deltaY*(N.sourceEvent.deltaMode===1?.05:N.sourceEvent.deltaMode?1:.002)*y,U=w[2]*Math.pow(2,z*B);a.scaleTo(U)};let A=[0,0];const E=N=>{(N.sourceEvent.type==="mousedown"||N.sourceEvent.type==="touchstart")&&(A=[N.sourceEvent.clientX??N.sourceEvent.touches[0].clientX,N.sourceEvent.clientY??N.sourceEvent.touches[0].clientY])},C=N=>{const w=i();if(N.sourceEvent.type!=="mousemove"&&N.sourceEvent.type!=="touchmove"||!a)return;const B=[N.sourceEvent.clientX??N.sourceEvent.touches[0].clientX,N.sourceEvent.clientY??N.sourceEvent.touches[0].clientY],z=[B[0]-A[0],B[1]-A[1]];A=B;const U=r()*Math.max(w[2],Math.log(w[2]))*(S?-1:1),H={x:w[0]-z[0]*U,y:w[1]-z[1]*U},X=[[0,0],[g,p]];a.setViewportConstrained({x:H.x,y:H.y,zoom:w[2]},X,m)},O=Yx().on("start",E).on("zoom",v?C:null).on("zoom.wheel",x?_:null);s.call(O,{})}function u(){s.on("zoom",null)}return{update:c,destroy:u,pointer:mn}}const Ic=e=>({x:e.x,y:e.y,zoom:e.k}),Cf=({x:e,y:a,zoom:i})=>Dc.translate(e,a).scale(i),So=(e,a)=>e.target.closest(`.${a}`),bb=(e,a)=>a===2&&Array.isArray(e)&&e.includes(2),Sj=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Tf=(e,a=0,i=Sj,r=()=>{})=>{const s=typeof a=="number"&&a>0;return s||r(),s?e.transition().duration(a).ease(i).on("end",r):e},Sb=e=>{const a=e.ctrlKey&&tl()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*a};function wj({zoomPanValues:e,noWheelClassName:a,d3Selection:i,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:c,zoomOnPinch:u,onPanZoomStart:m,onPanZoom:g,onPanZoomEnd:p}){return y=>{if(So(y,a))return y.ctrlKey&&y.preventDefault(),!1;y.preventDefault(),y.stopImmediatePropagation();const v=i.property("__zoom").k||1;if(y.ctrlKey&&u){const E=mn(y),C=Sb(y),O=v*Math.pow(2,C);r.scaleTo(i,O,E,y);return}const x=y.deltaMode===1?20:1;let S=s===xi.Vertical?0:y.deltaX*x,_=s===xi.Horizontal?0:y.deltaY*x;!tl()&&y.shiftKey&&s!==xi.Vertical&&(S=y.deltaY*x,_=0),r.translateBy(i,-(S/v)*c,-(_/v)*c,{internal:!0});const A=Ic(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(g?.(y,A),e.panScrollTimeout=setTimeout(()=>{p?.(y,A),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,m?.(y,A))}}function _j({noWheelClassName:e,preventScrolling:a,d3ZoomHandler:i}){return function(r,s){const c=r.type==="wheel",u=!a&&c&&!r.ctrlKey,m=So(r,e);if(r.ctrlKey&&c&&m&&r.preventDefault(),u||m)return null;r.preventDefault(),i.call(this,r,s)}}function Nj({zoomPanValues:e,onDraggingChange:a,onPanZoomStart:i}){return r=>{if(r.sourceEvent?.internal)return;const s=Ic(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&a(!0),i&&i?.(r.sourceEvent,s)}}function Ej({zoomPanValues:e,panOnDrag:a,onPaneContextMenu:i,onTransformChange:r,onPanZoom:s}){return c=>{e.usedRightMouseButton=!!(i&&bb(a,e.mouseButton??0)),c.sourceEvent?.sync||r([c.transform.x,c.transform.y,c.transform.k]),s&&!c.sourceEvent?.internal&&s?.(c.sourceEvent,Ic(c.transform))}}function Cj({zoomPanValues:e,panOnDrag:a,panOnScroll:i,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:c}){return u=>{if(!u.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,c&&bb(a,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&c(u.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const m=Ic(u.transform);e.prevViewport=m,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(u.sourceEvent,m)},i?150:0)}}}function Tj({zoomActivationKeyPressed:e,zoomOnScroll:a,zoomOnPinch:i,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:c,userSelectionActive:u,noWheelClassName:m,noPanClassName:g,lib:p,connectionInProgress:y}){return v=>{const x=e||a,S=i&&v.ctrlKey,_=v.type==="wheel";if(v.button===1&&v.type==="mousedown"&&(So(v,`${p}-flow__node`)||So(v,`${p}-flow__edge`)))return!0;if(!r&&!x&&!s&&!c&&!i||u||y&&!_||So(v,m)&&_||So(v,g)&&(!_||s&&_&&!e)||!i&&v.ctrlKey&&_)return!1;if(!i&&v.type==="touchstart"&&v.touches?.length>1)return v.preventDefault(),!1;if(!x&&!s&&!S&&_||!r&&(v.type==="mousedown"||v.type==="touchstart")||Array.isArray(r)&&!r.includes(v.button)&&v.type==="mousedown")return!1;const A=Array.isArray(r)&&r.includes(v.button)||!v.button||v.button<=1;return(!v.ctrlKey||_)&&A}}function Mj({domNode:e,minZoom:a,maxZoom:i,translateExtent:r,viewport:s,onPanZoom:c,onPanZoomStart:u,onPanZoomEnd:m,onDraggingChange:g}){const p={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},y=e.getBoundingClientRect(),v=Yx().scaleExtent([a,i]).translateExtent(r),x=Yt(e).call(v);O({x:s.x,y:s.y,zoom:Mo(s.zoom,a,i)},[[0,0],[y.width,y.height]],r);const S=x.on("wheel.zoom"),_=x.on("dblclick.zoom");v.wheelDelta(Sb);function A(V,K){return x?new Promise(ie=>{v?.interpolate(K?.interpolate==="linear"?$r:sc).transform(Tf(x,K?.duration,K?.ease,()=>ie(!0)),V)}):Promise.resolve(!1)}function E({noWheelClassName:V,noPanClassName:K,onPaneContextMenu:ie,userSelectionActive:k,panOnScroll:j,panOnDrag:M,panOnScrollMode:L,panOnScrollSpeed:G,preventScrolling:Q,zoomOnPinch:J,zoomOnScroll:D,zoomOnDoubleClick:P,zoomActivationKeyPressed:Y,lib:te,onTransformChange:de,connectionInProgress:me,paneClickDistance:I,selectionOnDrag:le}){k&&!p.isZoomingOrPanning&&C();const fe=j&&!Y&&!k;v.clickDistance(le?1/0:!pn(I)||I<0?0:I);const he=fe?wj({zoomPanValues:p,noWheelClassName:V,d3Selection:x,d3Zoom:v,panOnScrollMode:L,panOnScrollSpeed:G,zoomOnPinch:J,onPanZoomStart:u,onPanZoom:c,onPanZoomEnd:m}):_j({noWheelClassName:V,preventScrolling:Q,d3ZoomHandler:S});if(x.on("wheel.zoom",he,{passive:!1}),!k){const pe=Nj({zoomPanValues:p,onDraggingChange:g,onPanZoomStart:u});v.on("start",pe);const we=Ej({zoomPanValues:p,panOnDrag:M,onPaneContextMenu:!!ie,onPanZoom:c,onTransformChange:de});v.on("zoom",we);const Ce=Cj({zoomPanValues:p,panOnDrag:M,panOnScroll:j,onPaneContextMenu:ie,onPanZoomEnd:m,onDraggingChange:g});v.on("end",Ce)}const Se=Tj({zoomActivationKeyPressed:Y,panOnDrag:M,zoomOnScroll:D,panOnScroll:j,zoomOnDoubleClick:P,zoomOnPinch:J,userSelectionActive:k,noPanClassName:K,noWheelClassName:V,lib:te,connectionInProgress:me});v.filter(Se),P?x.on("dblclick.zoom",_):x.on("dblclick.zoom",null)}function C(){v.on("zoom",null)}async function O(V,K,ie){const k=Cf(V),j=v?.constrain()(k,K,ie);return j&&await A(j),new Promise(M=>M(j))}async function N(V,K){const ie=Cf(V);return await A(ie,K),new Promise(k=>k(ie))}function w(V){if(x){const K=Cf(V),ie=x.property("__zoom");(ie.k!==V.zoom||ie.x!==V.x||ie.y!==V.y)&&v?.transform(x,K,null,{sync:!0})}}function B(){const V=x?$x(x.node()):{x:0,y:0,k:1};return{x:V.x,y:V.y,zoom:V.k}}function z(V,K){return x?new Promise(ie=>{v?.interpolate(K?.interpolate==="linear"?$r:sc).scaleTo(Tf(x,K?.duration,K?.ease,()=>ie(!0)),V)}):Promise.resolve(!1)}function U(V,K){return x?new Promise(ie=>{v?.interpolate(K?.interpolate==="linear"?$r:sc).scaleBy(Tf(x,K?.duration,K?.ease,()=>ie(!0)),V)}):Promise.resolve(!1)}function H(V){v?.scaleExtent(V)}function X(V){v?.translateExtent(V)}function W(V){const K=!pn(V)||V<0?0:V;v?.clickDistance(K)}return{update:E,destroy:C,setViewport:N,setViewportConstrained:O,getViewport:B,scaleTo:z,scaleBy:U,setScaleExtent:H,setTranslateExtent:X,syncViewport:w,setClickDistance:W}}var Ro;(function(e){e.Line="line",e.Handle="handle"})(Ro||(Ro={}));function Aj({width:e,prevWidth:a,height:i,prevHeight:r,affectsX:s,affectsY:c}){const u=e-a,m=i-r,g=[u>0?1:u<0?-1:0,m>0?1:m<0?-1:0];return u&&s&&(g[0]=g[0]*-1),m&&c&&(g[1]=g[1]*-1),g}function qv(e){const a=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:a,isVertical:i,affectsX:r,affectsY:s}}function za(e,a){return Math.max(0,a-e)}function Oa(e,a){return Math.max(0,e-a)}function Qs(e,a,i){return Math.max(0,a-e,e-i)}function Gv(e,a){return e?!a:a}function jj(e,a,i,r,s,c,u,m){let{affectsX:g,affectsY:p}=a;const{isHorizontal:y,isVertical:v}=a,x=y&&v,{xSnapped:S,ySnapped:_}=i,{minWidth:A,maxWidth:E,minHeight:C,maxHeight:O}=r,{x:N,y:w,width:B,height:z,aspectRatio:U}=e;let H=Math.floor(y?S-e.pointerX:0),X=Math.floor(v?_-e.pointerY:0);const W=B+(g?-H:H),V=z+(p?-X:X),K=-c[0]*B,ie=-c[1]*z;let k=Qs(W,A,E),j=Qs(V,C,O);if(u){let G=0,Q=0;g&&H<0?G=za(N+H+K,u[0][0]):!g&&H>0&&(G=Oa(N+W+K,u[1][0])),p&&X<0?Q=za(w+X+ie,u[0][1]):!p&&X>0&&(Q=Oa(w+V+ie,u[1][1])),k=Math.max(k,G),j=Math.max(j,Q)}if(m){let G=0,Q=0;g&&H>0?G=Oa(N+H,m[0][0]):!g&&H<0&&(G=za(N+W,m[1][0])),p&&X>0?Q=Oa(w+X,m[0][1]):!p&&X<0&&(Q=za(w+V,m[1][1])),k=Math.max(k,G),j=Math.max(j,Q)}if(s){if(y){const G=Qs(W/U,C,O)*U;if(k=Math.max(k,G),u){let Q=0;!g&&!p||g&&!p&&x?Q=Oa(w+ie+W/U,u[1][1])*U:Q=za(w+ie+(g?H:-H)/U,u[0][1])*U,k=Math.max(k,Q)}if(m){let Q=0;!g&&!p||g&&!p&&x?Q=za(w+W/U,m[1][1])*U:Q=Oa(w+(g?H:-H)/U,m[0][1])*U,k=Math.max(k,Q)}}if(v){const G=Qs(V*U,A,E)/U;if(j=Math.max(j,G),u){let Q=0;!g&&!p||p&&!g&&x?Q=Oa(N+V*U+K,u[1][0])/U:Q=za(N+(p?X:-X)*U+K,u[0][0])/U,j=Math.max(j,Q)}if(m){let Q=0;!g&&!p||p&&!g&&x?Q=za(N+V*U,m[1][0])/U:Q=Oa(N+(p?X:-X)*U,m[0][0])/U,j=Math.max(j,Q)}}}X=X+(X<0?j:-j),H=H+(H<0?k:-k),s&&(x?W>V*U?X=(Gv(g,p)?-H:H)/U:H=(Gv(g,p)?-X:X)*U:y?(X=H/U,p=g):(H=X*U,g=p));const M=g?N+H:N,L=p?w+X:w;return{width:B+(g?-H:H),height:z+(p?-X:X),x:c[0]*H*(g?-1:1)+M,y:c[1]*X*(p?-1:1)+L}}const wb={width:0,height:0,x:0,y:0},Rj={...wb,pointerX:0,pointerY:0,aspectRatio:1};function Dj(e){return[[0,0],[e.measured.width,e.measured.height]]}function zj(e,a,i){const r=a.position.x+e.position.x,s=a.position.y+e.position.y,c=e.measured.width??0,u=e.measured.height??0,m=i[0]*c,g=i[1]*u;return[[r-m,s-g],[r+c-m,s+u-g]]}function Oj({domNode:e,nodeId:a,getStoreItems:i,onChange:r,onEnd:s}){const c=Yt(e);let u={controlDirection:qv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function m({controlPosition:p,boundaries:y,keepAspectRatio:v,resizeDirection:x,onResizeStart:S,onResize:_,onResizeEnd:A,shouldResize:E}){let C={...wb},O={...Rj};u={boundaries:y,resizeDirection:x,keepAspectRatio:v,controlDirection:qv(p)};let N,w=null,B=[],z,U,H,X=!1;const W=Dx().on("start",V=>{const{nodeLookup:K,transform:ie,snapGrid:k,snapToGrid:j,nodeOrigin:M,paneDomNode:L}=i();if(N=K.get(a),!N)return;w=L?.getBoundingClientRect()??null;const{xSnapped:G,ySnapped:Q}=Yr(V.sourceEvent,{transform:ie,snapGrid:k,snapToGrid:j,containerBounds:w});C={width:N.measured.width??0,height:N.measured.height??0,x:N.position.x??0,y:N.position.y??0},O={...C,pointerX:G,pointerY:Q,aspectRatio:C.width/C.height},z=void 0,N.parentId&&(N.extent==="parent"||N.expandParent)&&(z=K.get(N.parentId),U=z&&N.extent==="parent"?Dj(z):void 0),B=[],H=void 0;for(const[J,D]of K)if(D.parentId===a&&(B.push({id:J,position:{...D.position},extent:D.extent}),D.extent==="parent"||D.expandParent)){const P=zj(D,N,D.origin??M);H?H=[[Math.min(P[0][0],H[0][0]),Math.min(P[0][1],H[0][1])],[Math.max(P[1][0],H[1][0]),Math.max(P[1][1],H[1][1])]]:H=P}S?.(V,{...C})}).on("drag",V=>{const{transform:K,snapGrid:ie,snapToGrid:k,nodeOrigin:j}=i(),M=Yr(V.sourceEvent,{transform:K,snapGrid:ie,snapToGrid:k,containerBounds:w}),L=[];if(!N)return;const{x:G,y:Q,width:J,height:D}=C,P={},Y=N.origin??j,{width:te,height:de,x:me,y:I}=jj(O,u.controlDirection,M,u.boundaries,u.keepAspectRatio,Y,U,H),le=te!==J,fe=de!==D,he=me!==G&&le,Se=I!==Q&&fe;if(!he&&!Se&&!le&&!fe)return;if((he||Se||Y[0]===1||Y[1]===1)&&(P.x=he?me:C.x,P.y=Se?I:C.y,C.x=P.x,C.y=P.y,B.length>0)){const qe=me-G,Le=I-Q;for(const rt of B)rt.position={x:rt.position.x-qe+Y[0]*(te-J),y:rt.position.y-Le+Y[1]*(de-D)},L.push(rt)}if((le||fe)&&(P.width=le&&(!u.resizeDirection||u.resizeDirection==="horizontal")?te:C.width,P.height=fe&&(!u.resizeDirection||u.resizeDirection==="vertical")?de:C.height,C.width=P.width,C.height=P.height),z&&N.expandParent){const qe=Y[0]*(P.width??0);P.x&&P.x<qe&&(C.x=qe,O.x=O.x-(P.x-qe));const Le=Y[1]*(P.height??0);P.y&&P.y<Le&&(C.y=Le,O.y=O.y-(P.y-Le))}const pe=Aj({width:C.width,prevWidth:J,height:C.height,prevHeight:D,affectsX:u.controlDirection.affectsX,affectsY:u.controlDirection.affectsY}),we={...C,direction:pe};E?.(V,we)!==!1&&(X=!0,_?.(V,we),r(P,L))}).on("end",V=>{X&&(A?.(V,{...C}),s?.({...C}),X=!1)});c.call(W)}function g(){c.on(".drag",null)}return{update:m,destroy:g}}var Mf={exports:{}},Af={},jf={exports:{}},Rf={};var Pv;function Ij(){if(Pv)return Rf;Pv=1;var e=al();function a(v,x){return v===x&&(v!==0||1/v===1/x)||v!==v&&x!==x}var i=typeof Object.is=="function"?Object.is:a,r=e.useState,s=e.useEffect,c=e.useLayoutEffect,u=e.useDebugValue;function m(v,x){var S=x(),_=r({inst:{value:S,getSnapshot:x}}),A=_[0].inst,E=_[1];return c(function(){A.value=S,A.getSnapshot=x,g(A)&&E({inst:A})},[v,S,x]),s(function(){return g(A)&&E({inst:A}),v(function(){g(A)&&E({inst:A})})},[v]),u(S),S}function g(v){var x=v.getSnapshot;v=v.value;try{var S=x();return!i(v,S)}catch{return!0}}function p(v,x){return x()}var y=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?p:m;return Rf.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:y,Rf}var Fv;function kj(){return Fv||(Fv=1,jf.exports=Ij()),jf.exports}var Vv;function Lj(){if(Vv)return Af;Vv=1;var e=al(),a=kj();function i(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var r=typeof Object.is=="function"?Object.is:i,s=a.useSyncExternalStore,c=e.useRef,u=e.useEffect,m=e.useMemo,g=e.useDebugValue;return Af.useSyncExternalStoreWithSelector=function(p,y,v,x,S){var _=c(null);if(_.current===null){var A={hasValue:!1,value:null};_.current=A}else A=_.current;_=m(function(){function C(z){if(!O){if(O=!0,N=z,z=x(z),S!==void 0&&A.hasValue){var U=A.value;if(S(U,z))return w=U}return w=z}if(U=w,r(N,z))return U;var H=x(z);return S!==void 0&&S(U,H)?(N=z,U):(N=z,w=H)}var O=!1,N,w,B=v===void 0?null:v;return[function(){return C(y())},B===null?void 0:function(){return C(B())}]},[y,v,x,S]);var E=s(p,_[0],_[1]);return u(function(){A.hasValue=!0,A.value=E},[E]),g(E),E},Af}var $v;function Hj(){return $v||($v=1,Mf.exports=Lj()),Mf.exports}var Bj=Hj();const Uj=E0(Bj),qj={},Yv=e=>{let a;const i=new Set,r=(y,v)=>{const x=typeof y=="function"?y(a):y;if(!Object.is(x,a)){const S=a;a=v??(typeof x!="object"||x===null)?x:Object.assign({},a,x),i.forEach(_=>_(a,S))}},s=()=>a,g={setState:r,getState:s,getInitialState:()=>p,subscribe:y=>(i.add(y),()=>i.delete(y)),destroy:()=>{(qj?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},p=a=e(r,s,g);return g},Gj=e=>e?Yv(e):Yv,{useDebugValue:Pj}=Lr,{useSyncExternalStoreWithSelector:Fj}=Uj,Vj=e=>e;function _b(e,a=Vj,i){const r=Fj(e.subscribe,e.getState,e.getServerState||e.getInitialState,a,i);return Pj(r),r}const Xv=(e,a)=>{const i=Gj(e),r=(s,c=a)=>_b(i,s,c);return Object.assign(r,i),r},$j=(e,a)=>e?Xv(e,a):Xv;function Je(e,a){if(Object.is(e,a))return!0;if(typeof e!="object"||e===null||typeof a!="object"||a===null)return!1;if(e instanceof Map&&a instanceof Map){if(e.size!==a.size)return!1;for(const[r,s]of e)if(!Object.is(s,a.get(r)))return!1;return!0}if(e instanceof Set&&a instanceof Set){if(e.size!==a.size)return!1;for(const r of e)if(!a.has(r))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(a).length)return!1;for(const r of i)if(!Object.prototype.hasOwnProperty.call(a,r)||!Object.is(e[r],a[r]))return!1;return!0}C0();const kc=R.createContext(null),Yj=kc.Provider,Nb=Mn.error001();function ke(e,a){const i=R.useContext(kc);if(i===null)throw new Error(Nb);return _b(i,e,a)}function We(){const e=R.useContext(kc);if(e===null)throw new Error(Nb);return R.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Kv={display:"none"},Xj={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Eb="react-flow__node-desc",Cb="react-flow__edge-desc",Kj="react-flow__aria-live",Zj=e=>e.ariaLiveMessage,Qj=e=>e.ariaLabelConfig;function Jj({rfId:e}){const a=ke(Zj);return d.jsx("div",{id:`${Kj}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Xj,children:a})}function Wj({rfId:e,disableKeyboardA11y:a}){const i=ke(Qj);return d.jsxs(d.Fragment,{children:[d.jsx("div",{id:`${Eb}-${e}`,style:Kv,children:a?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),d.jsx("div",{id:`${Cb}-${e}`,style:Kv,children:i["edge.a11yDescription.default"]}),!a&&d.jsx(Jj,{rfId:e})]})}const ul=R.forwardRef(({position:e="top-left",children:a,className:i,style:r,...s},c)=>{const u=`${e}`.split("-");return d.jsx("div",{className:ft(["react-flow__panel",i,...u]),style:r,ref:c,...s,children:a})});ul.displayName="Panel";function eR({proOptions:e,position:a="bottom-right"}){return e?.hideAttribution?null:d.jsx(ul,{position:a,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:d.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const tR=e=>{const a=[],i=[];for(const[,r]of e.nodeLookup)r.selected&&a.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&i.push(r);return{selectedNodes:a,selectedEdges:i}},Js=e=>e.id;function nR(e,a){return Je(e.selectedNodes.map(Js),a.selectedNodes.map(Js))&&Je(e.selectedEdges.map(Js),a.selectedEdges.map(Js))}function aR({onSelectionChange:e}){const a=We(),{selectedNodes:i,selectedEdges:r}=ke(tR,nR);return R.useEffect(()=>{const s={nodes:i,edges:r};e?.(s),a.getState().onSelectionChangeHandlers.forEach(c=>c(s))},[i,r,e]),null}const iR=e=>!!e.onSelectionChangeHandlers;function oR({onSelectionChange:e}){const a=ke(iR);return e||a?d.jsx(aR,{onSelectionChange:e}):null}const im=typeof window<"u"?R.useLayoutEffect:R.useEffect,Tb=[0,0],rR={x:0,y:0,zoom:1},lR=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],Zv=[...lR,"rfId"],sR=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Qv={translateExtent:Jr,nodeOrigin:Tb,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function cR(e){const{setNodes:a,setEdges:i,setMinZoom:r,setMaxZoom:s,setTranslateExtent:c,setNodeExtent:u,reset:m,setDefaultNodesAndEdges:g}=ke(sR,Je),p=We();im(()=>(g(e.defaultNodes,e.defaultEdges),()=>{y.current=Qv,m()}),[]);const y=R.useRef(Qv);return im(()=>{for(const v of Zv){const x=e[v],S=y.current[v];x!==S&&(typeof e[v]>"u"||(v==="nodes"?a(x):v==="edges"?i(x):v==="minZoom"?r(x):v==="maxZoom"?s(x):v==="translateExtent"?c(x):v==="nodeExtent"?u(x):v==="ariaLabelConfig"?p.setState({ariaLabelConfig:$A(x)}):v==="fitView"?p.setState({fitViewQueued:x}):v==="fitViewOptions"?p.setState({fitViewOptions:x}):p.setState({[v]:x})))}y.current=e},Zv.map(v=>e[v])),null}function Jv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function uR(e){const[a,i]=R.useState(e==="system"?null:e);return R.useEffect(()=>{if(e!=="system"){i(e);return}const r=Jv(),s=()=>i(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),a!==null?a:Jv()?.matches?"dark":"light"}const Wv=typeof document<"u"?document:null;function nl(e=null,a={target:Wv,actInsideInputWithModifier:!0}){const[i,r]=R.useState(!1),s=R.useRef(!1),c=R.useRef(new Set([])),[u,m]=R.useMemo(()=>{if(e!==null){const p=(Array.isArray(e)?e:[e]).filter(v=>typeof v=="string").map(v=>v.replace("+",`
24
- `).replace(`
25
-
26
- `,`
27
- +`).split(`
28
- `)),y=p.reduce((v,x)=>v.concat(...x),[]);return[p,y]}return[[],[]]},[e]);return R.useEffect(()=>{const g=a?.target??Wv,p=a?.actInsideInputWithModifier??!0;if(e!==null){const y=S=>{if(s.current=S.ctrlKey||S.metaKey||S.shiftKey||S.altKey,(!s.current||s.current&&!p)&&rb(S))return!1;const A=t0(S.code,m);if(c.current.add(S[A]),e0(u,c.current,!1)){const E=S.composedPath?.()?.[0]||S.target,C=E?.nodeName==="BUTTON"||E?.nodeName==="A";a.preventDefault!==!1&&(s.current||!C)&&S.preventDefault(),r(!0)}},v=S=>{const _=t0(S.code,m);e0(u,c.current,!0)?(r(!1),c.current.clear()):c.current.delete(S[_]),S.key==="Meta"&&c.current.clear(),s.current=!1},x=()=>{c.current.clear(),r(!1)};return g?.addEventListener("keydown",y),g?.addEventListener("keyup",v),window.addEventListener("blur",x),window.addEventListener("contextmenu",x),()=>{g?.removeEventListener("keydown",y),g?.removeEventListener("keyup",v),window.removeEventListener("blur",x),window.removeEventListener("contextmenu",x)}}},[e,r]),i}function e0(e,a,i){return e.filter(r=>i||r.length===a.size).some(r=>r.every(s=>a.has(s)))}function t0(e,a){return a.includes(e)?"code":"key"}const dR=()=>{const e=We();return R.useMemo(()=>({zoomIn:a=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,a):Promise.resolve(!1)},zoomOut:a=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,a):Promise.resolve(!1)},zoomTo:(a,i)=>{const{panZoom:r}=e.getState();return r?r.scaleTo(a,i):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(a,i)=>{const{transform:[r,s,c],panZoom:u}=e.getState();return u?(await u.setViewport({x:a.x??r,y:a.y??s,zoom:a.zoom??c},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[a,i,r]=e.getState().transform;return{x:a,y:i,zoom:r}},setCenter:async(a,i,r)=>e.getState().setCenter(a,i,r),fitBounds:async(a,i)=>{const{width:r,height:s,minZoom:c,maxZoom:u,panZoom:m}=e.getState(),g=Nm(a,r,s,c,u,i?.padding??.1);return m?(await m.setViewport(g,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(a,i={})=>{const{transform:r,snapGrid:s,snapToGrid:c,domNode:u}=e.getState();if(!u)return a;const{x:m,y:g}=u.getBoundingClientRect(),p={x:a.x-m,y:a.y-g},y=i.snapGrid??s,v=i.snapToGrid??c;return cl(p,r,v,y)},flowToScreenPosition:a=>{const{transform:i,domNode:r}=e.getState();if(!r)return a;const{x:s,y:c}=r.getBoundingClientRect(),u=Ec(a,i);return{x:u.x+s,y:u.y+c}}}),[])};function Mb(e,a){const i=[],r=new Map,s=[];for(const c of e)if(c.type==="add"){s.push(c);continue}else if(c.type==="remove"||c.type==="replace")r.set(c.id,[c]);else{const u=r.get(c.id);u?u.push(c):r.set(c.id,[c])}for(const c of a){const u=r.get(c.id);if(!u){i.push(c);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const m={...c};for(const g of u)fR(g,m);i.push(m)}return s.length&&s.forEach(c=>{c.index!==void 0?i.splice(c.index,0,{...c.item}):i.push({...c.item})}),i}function fR(e,a){switch(e.type){case"select":{a.selected=e.selected;break}case"position":{typeof e.position<"u"&&(a.position=e.position),typeof e.dragging<"u"&&(a.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(a.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(a.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(a.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(a.resizing=e.resizing);break}}}function Ab(e,a){return Mb(e,a)}function jb(e,a){return Mb(e,a)}function di(e,a){return{id:e,type:"select",selected:a}}function wo(e,a=new Set,i=!1){const r=[];for(const[s,c]of e){const u=a.has(s);!(c.selected===void 0&&!u)&&c.selected!==u&&(i&&(c.selected=u),r.push(di(c.id,u)))}return r}function n0({items:e=[],lookup:a}){const i=[],r=new Map(e.map(s=>[s.id,s]));for(const[s,c]of e.entries()){const u=a.get(c.id),m=u?.internals?.userNode??u;m!==void 0&&m!==c&&i.push({id:c.id,item:c,type:"replace"}),m===void 0&&i.push({item:c,type:"add",index:s})}for(const[s]of a)r.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function a0(e){return{id:e.id,type:"remove"}}const i0=e=>kA(e),mR=e=>Jx(e);function Rb(e){return R.forwardRef(e)}function o0(e){const[a,i]=R.useState(BigInt(0)),[r]=R.useState(()=>hR(()=>i(s=>s+BigInt(1))));return im(()=>{const s=r.get();s.length&&(e(s),r.reset())},[a]),r}function hR(e){let a=[];return{get:()=>a,reset:()=>{a=[]},push:i=>{a.push(i),e()}}}const Db=R.createContext(null);function pR({children:e}){const a=We(),i=R.useCallback(m=>{const{nodes:g=[],setNodes:p,hasDefaultNodes:y,onNodesChange:v,nodeLookup:x,fitViewQueued:S,onNodesChangeMiddlewareMap:_}=a.getState();let A=g;for(const C of m)A=typeof C=="function"?C(A):C;let E=n0({items:A,lookup:x});for(const C of _.values())E=C(E);y&&p(A),E.length>0?v?.(E):S&&window.requestAnimationFrame(()=>{const{fitViewQueued:C,nodes:O,setNodes:N}=a.getState();C&&N(O)})},[]),r=o0(i),s=R.useCallback(m=>{const{edges:g=[],setEdges:p,hasDefaultEdges:y,onEdgesChange:v,edgeLookup:x}=a.getState();let S=g;for(const _ of m)S=typeof _=="function"?_(S):_;y?p(S):v&&v(n0({items:S,lookup:x}))},[]),c=o0(s),u=R.useMemo(()=>({nodeQueue:r,edgeQueue:c}),[]);return d.jsx(Db.Provider,{value:u,children:e})}function gR(){const e=R.useContext(Db);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const yR=e=>!!e.panZoom;function Lc(){const e=dR(),a=We(),i=gR(),r=ke(yR),s=R.useMemo(()=>{const c=v=>a.getState().nodeLookup.get(v),u=v=>{i.nodeQueue.push(v)},m=v=>{i.edgeQueue.push(v)},g=v=>{const{nodeLookup:x,nodeOrigin:S}=a.getState(),_=i0(v)?v:x.get(v.id),A=_.parentId?ib(_.position,_.measured,_.parentId,x,S):_.position,E={..._,position:A,width:_.measured?.width??_.width,height:_.measured?.height??_.height};return Ao(E)},p=(v,x,S={replace:!1})=>{u(_=>_.map(A=>{if(A.id===v){const E=typeof x=="function"?x(A):x;return S.replace&&i0(E)?E:{...A,...E}}return A}))},y=(v,x,S={replace:!1})=>{m(_=>_.map(A=>{if(A.id===v){const E=typeof x=="function"?x(A):x;return S.replace&&mR(E)?E:{...A,...E}}return A}))};return{getNodes:()=>a.getState().nodes.map(v=>({...v})),getNode:v=>c(v)?.internals.userNode,getInternalNode:c,getEdges:()=>{const{edges:v=[]}=a.getState();return v.map(x=>({...x}))},getEdge:v=>a.getState().edgeLookup.get(v),setNodes:u,setEdges:m,addNodes:v=>{const x=Array.isArray(v)?v:[v];i.nodeQueue.push(S=>[...S,...x])},addEdges:v=>{const x=Array.isArray(v)?v:[v];i.edgeQueue.push(S=>[...S,...x])},toObject:()=>{const{nodes:v=[],edges:x=[],transform:S}=a.getState(),[_,A,E]=S;return{nodes:v.map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:_,y:A,zoom:E}}},deleteElements:async({nodes:v=[],edges:x=[]})=>{const{nodes:S,edges:_,onNodesDelete:A,onEdgesDelete:E,triggerNodeChanges:C,triggerEdgeChanges:O,onDelete:N,onBeforeDelete:w}=a.getState(),{nodes:B,edges:z}=await qA({nodesToRemove:v,edgesToRemove:x,nodes:S,edges:_,onBeforeDelete:w}),U=z.length>0,H=B.length>0;if(U){const X=z.map(a0);E?.(z),O(X)}if(H){const X=B.map(a0);A?.(B),C(X)}return(H||U)&&N?.({nodes:B,edges:z}),{deletedNodes:B,deletedEdges:z}},getIntersectingNodes:(v,x=!0,S)=>{const _=jv(v),A=_?v:g(v),E=S!==void 0;return A?(S||a.getState().nodes).filter(C=>{const O=a.getState().nodeLookup.get(C.id);if(O&&!_&&(C.id===v.id||!O.internals.positionAbsolute))return!1;const N=Ao(E?C:O),w=el(N,A);return x&&w>0||w>=N.width*N.height||w>=A.width*A.height}):[]},isNodeIntersecting:(v,x,S=!0)=>{const A=jv(v)?v:g(v);if(!A)return!1;const E=el(A,x);return S&&E>0||E>=x.width*x.height||E>=A.width*A.height},updateNode:p,updateNodeData:(v,x,S={replace:!1})=>{p(v,_=>{const A=typeof x=="function"?x(_):x;return S.replace?{..._,data:A}:{..._,data:{..._.data,...A}}},S)},updateEdge:y,updateEdgeData:(v,x,S={replace:!1})=>{y(v,_=>{const A=typeof x=="function"?x(_):x;return S.replace?{..._,data:A}:{..._,data:{..._.data,...A}}},S)},getNodesBounds:v=>{const{nodeLookup:x,nodeOrigin:S}=a.getState();return LA(v,{nodeLookup:x,nodeOrigin:S})},getHandleConnections:({type:v,id:x,nodeId:S})=>Array.from(a.getState().connectionLookup.get(`${S}-${v}${x?`-${x}`:""}`)?.values()??[]),getNodeConnections:({type:v,handleId:x,nodeId:S})=>Array.from(a.getState().connectionLookup.get(`${S}${v?x?`-${v}-${x}`:`-${v}`:""}`)?.values()??[]),fitView:async v=>{const x=a.getState().fitViewResolver??VA();return a.setState({fitViewQueued:!0,fitViewOptions:v,fitViewResolver:x}),i.nodeQueue.push(S=>[...S]),x.promise}}},[]);return R.useMemo(()=>({...s,...e,viewportInitialized:r}),[r])}const r0=e=>e.selected,vR=typeof window<"u"?window:void 0;function xR({deleteKeyCode:e,multiSelectionKeyCode:a}){const i=We(),{deleteElements:r}=Lc(),s=nl(e,{actInsideInputWithModifier:!1}),c=nl(a,{target:vR});R.useEffect(()=>{if(s){const{edges:u,nodes:m}=i.getState();r({nodes:m.filter(r0),edges:u.filter(r0)}),i.setState({nodesSelectionActive:!1})}},[s]),R.useEffect(()=>{i.setState({multiSelectionActive:c})},[c])}function bR(e){const a=We();R.useEffect(()=>{const i=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;const r=Em(e.current);(r.height===0||r.width===0)&&a.getState().onError?.("004",Mn.error004()),a.setState({width:r.width||500,height:r.height||500})};if(e.current){i(),window.addEventListener("resize",i);const r=new ResizeObserver(()=>i());return r.observe(e.current),()=>{window.removeEventListener("resize",i),r&&e.current&&r.unobserve(e.current)}}},[])}const Hc={position:"absolute",width:"100%",height:"100%",top:0,left:0},SR=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function wR({onPaneContextMenu:e,zoomOnScroll:a=!0,zoomOnPinch:i=!0,panOnScroll:r=!1,panOnScrollSpeed:s=.5,panOnScrollMode:c=xi.Free,zoomOnDoubleClick:u=!0,panOnDrag:m=!0,defaultViewport:g,translateExtent:p,minZoom:y,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:S=!0,children:_,noWheelClassName:A,noPanClassName:E,onViewportChange:C,isControlledViewport:O,paneClickDistance:N,selectionOnDrag:w}){const B=We(),z=R.useRef(null),{userSelectionActive:U,lib:H,connectionInProgress:X}=ke(SR,Je),W=nl(x),V=R.useRef();bR(z);const K=R.useCallback(ie=>{C?.({x:ie[0],y:ie[1],zoom:ie[2]}),O||B.setState({transform:ie})},[C,O]);return R.useEffect(()=>{if(z.current){V.current=Mj({domNode:z.current,minZoom:y,maxZoom:v,translateExtent:p,viewport:g,onDraggingChange:M=>B.setState(L=>L.paneDragging===M?L:{paneDragging:M}),onPanZoomStart:(M,L)=>{const{onViewportChangeStart:G,onMoveStart:Q}=B.getState();Q?.(M,L),G?.(L)},onPanZoom:(M,L)=>{const{onViewportChange:G,onMove:Q}=B.getState();Q?.(M,L),G?.(L)},onPanZoomEnd:(M,L)=>{const{onViewportChangeEnd:G,onMoveEnd:Q}=B.getState();Q?.(M,L),G?.(L)}});const{x:ie,y:k,zoom:j}=V.current.getViewport();return B.setState({panZoom:V.current,transform:[ie,k,j],domNode:z.current.closest(".react-flow")}),()=>{V.current?.destroy()}}},[]),R.useEffect(()=>{V.current?.update({onPaneContextMenu:e,zoomOnScroll:a,zoomOnPinch:i,panOnScroll:r,panOnScrollSpeed:s,panOnScrollMode:c,zoomOnDoubleClick:u,panOnDrag:m,zoomActivationKeyPressed:W,preventScrolling:S,noPanClassName:E,userSelectionActive:U,noWheelClassName:A,lib:H,onTransformChange:K,connectionInProgress:X,selectionOnDrag:w,paneClickDistance:N})},[e,a,i,r,s,c,u,m,W,S,E,U,A,H,K,X,w,N]),d.jsx("div",{className:"react-flow__renderer",ref:z,style:Hc,children:_})}const _R=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function NR(){const{userSelectionActive:e,userSelectionRect:a}=ke(_R,Je);return e&&a?d.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:a.width,height:a.height,transform:`translate(${a.x}px, ${a.y}px)`}}):null}const Df=(e,a)=>i=>{i.target===a.current&&e?.(i)},ER=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function CR({isSelecting:e,selectionKeyPressed:a,selectionMode:i=Wr.Full,panOnDrag:r,paneClickDistance:s,selectionOnDrag:c,onSelectionStart:u,onSelectionEnd:m,onPaneClick:g,onPaneContextMenu:p,onPaneScroll:y,onPaneMouseEnter:v,onPaneMouseMove:x,onPaneMouseLeave:S,children:_}){const A=We(),{userSelectionActive:E,elementsSelectable:C,dragging:O,connectionInProgress:N}=ke(ER,Je),w=C&&(e||E),B=R.useRef(null),z=R.useRef(),U=R.useRef(new Set),H=R.useRef(new Set),X=R.useRef(!1),W=G=>{if(X.current||N){X.current=!1;return}g?.(G),A.getState().resetSelectedElements(),A.setState({nodesSelectionActive:!1})},V=G=>{if(Array.isArray(r)&&r?.includes(2)){G.preventDefault();return}p?.(G)},K=y?G=>y(G):void 0,ie=G=>{X.current&&(G.stopPropagation(),X.current=!1)},k=G=>{const{domNode:Q}=A.getState();if(z.current=Q?.getBoundingClientRect(),!z.current)return;const J=G.target===B.current;if(!J&&!!G.target.closest(".nokey")||!e||!(c&&J||a)||G.button!==0||!G.isPrimary)return;G.target?.setPointerCapture?.(G.pointerId),X.current=!1;const{x:Y,y:te}=gn(G.nativeEvent,z.current);A.setState({userSelectionRect:{width:0,height:0,startX:Y,startY:te,x:Y,y:te}}),J||(G.stopPropagation(),G.preventDefault())},j=G=>{const{userSelectionRect:Q,transform:J,nodeLookup:D,edgeLookup:P,connectionLookup:Y,triggerNodeChanges:te,triggerEdgeChanges:de,defaultEdgeOptions:me,resetSelectedElements:I}=A.getState();if(!z.current||!Q)return;const{x:le,y:fe}=gn(G.nativeEvent,z.current),{startX:he,startY:Se}=Q;if(!X.current){const Le=a?0:s;if(Math.hypot(le-he,fe-Se)<=Le)return;I(),u?.(G)}X.current=!0;const pe={startX:he,startY:Se,x:le<he?le:he,y:fe<Se?fe:Se,width:Math.abs(le-he),height:Math.abs(fe-Se)},we=U.current,Ce=H.current;U.current=new Set(_m(D,pe,J,i===Wr.Partial,!0).map(Le=>Le.id)),H.current=new Set;const qe=me?.selectable??!0;for(const Le of U.current){const rt=Y.get(Le);if(rt)for(const{edgeId:Lt}of rt.values()){const wt=P.get(Lt);wt&&(wt.selectable??qe)&&H.current.add(Lt)}}if(!Rv(we,U.current)){const Le=wo(D,U.current,!0);te(Le)}if(!Rv(Ce,H.current)){const Le=wo(P,H.current);de(Le)}A.setState({userSelectionRect:pe,userSelectionActive:!0,nodesSelectionActive:!1})},M=G=>{G.button===0&&(G.target?.releasePointerCapture?.(G.pointerId),!E&&G.target===B.current&&A.getState().userSelectionRect&&W?.(G),A.setState({userSelectionActive:!1,userSelectionRect:null}),X.current&&(m?.(G),A.setState({nodesSelectionActive:U.current.size>0})))},L=r===!0||Array.isArray(r)&&r.includes(0);return d.jsxs("div",{className:ft(["react-flow__pane",{draggable:L,dragging:O,selection:e}]),onClick:w?void 0:Df(W,B),onContextMenu:Df(V,B),onWheel:Df(K,B),onPointerEnter:w?void 0:v,onPointerMove:w?j:x,onPointerUp:w?M:void 0,onPointerDownCapture:w?k:void 0,onClickCapture:w?ie:void 0,onPointerLeave:S,ref:B,style:Hc,children:[_,d.jsx(NR,{})]})}function om({id:e,store:a,unselect:i=!1,nodeRef:r}){const{addSelectedNodes:s,unselectNodesAndEdges:c,multiSelectionActive:u,nodeLookup:m,onError:g}=a.getState(),p=m.get(e);if(!p){g?.("012",Mn.error012(e));return}a.setState({nodesSelectionActive:!1}),p.selected?(i||p.selected&&u)&&(c({nodes:[p],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):s([e])}function zb({nodeRef:e,disabled:a=!1,noDragClassName:i,handleSelector:r,nodeId:s,isSelectable:c,nodeClickDistance:u}){const m=We(),[g,p]=R.useState(!1),y=R.useRef();return R.useEffect(()=>{y.current=hj({getStoreItems:()=>m.getState(),onNodeMouseDown:v=>{om({id:v,store:m,nodeRef:e})},onDragStart:()=>{p(!0)},onDragStop:()=>{p(!1)}})},[]),R.useEffect(()=>{if(!(a||!e.current||!y.current))return y.current.update({noDragClassName:i,handleSelector:r,domNode:e.current,isSelectable:c,nodeId:s,nodeClickDistance:u}),()=>{y.current?.destroy()}},[i,r,a,c,e,s,u]),g}const TR=e=>a=>a.selected&&(a.draggable||e&&typeof a.draggable>"u");function Ob(){const e=We();return R.useCallback(i=>{const{nodeExtent:r,snapToGrid:s,snapGrid:c,nodesDraggable:u,onError:m,updateNodePositions:g,nodeLookup:p,nodeOrigin:y}=e.getState(),v=new Map,x=TR(u),S=s?c[0]:5,_=s?c[1]:5,A=i.direction.x*S*i.factor,E=i.direction.y*_*i.factor;for(const[,C]of p){if(!x(C))continue;let O={x:C.internals.positionAbsolute.x+A,y:C.internals.positionAbsolute.y+E};s&&(O=sl(O,c));const{position:N,positionAbsolute:w}=Wx({nodeId:C.id,nextPosition:O,nodeLookup:p,nodeExtent:r,nodeOrigin:y,onError:m});C.position=N,C.internals.positionAbsolute=w,v.set(C.id,C)}g(v)},[])}const Rm=R.createContext(null),MR=Rm.Provider;Rm.Consumer;const Ib=()=>R.useContext(Rm),AR=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),jR=(e,a,i)=>r=>{const{connectionClickStartHandle:s,connectionMode:c,connection:u}=r,{fromHandle:m,toHandle:g,isValid:p}=u,y=g?.nodeId===e&&g?.id===a&&g?.type===i;return{connectingFrom:m?.nodeId===e&&m?.id===a&&m?.type===i,connectingTo:y,clickConnecting:s?.nodeId===e&&s?.id===a&&s?.type===i,isPossibleEndHandle:c===_i.Strict?m?.type!==i:e!==m?.nodeId||a!==m?.id,connectionInProcess:!!m,clickConnectionInProcess:!!s,valid:y&&p}};function RR({type:e="source",position:a=xe.Top,isValidConnection:i,isConnectable:r=!0,isConnectableStart:s=!0,isConnectableEnd:c=!0,id:u,onConnect:m,children:g,className:p,onMouseDown:y,onTouchStart:v,...x},S){const _=u||null,A=e==="target",E=We(),C=Ib(),{connectOnClick:O,noPanClassName:N,rfId:w}=ke(AR,Je),{connectingFrom:B,connectingTo:z,clickConnecting:U,isPossibleEndHandle:H,connectionInProcess:X,clickConnectionInProcess:W,valid:V}=ke(jR(C,_,e),Je);C||E.getState().onError?.("010",Mn.error010());const K=j=>{const{defaultEdgeOptions:M,onConnect:L,hasDefaultEdges:G}=E.getState(),Q={...M,...j};if(G){const{edges:J,setEdges:D}=E.getState();D(JA(Q,J))}L?.(Q),m?.(Q)},ie=j=>{if(!C)return;const M=lb(j.nativeEvent);if(s&&(M&&j.button===0||!M)){const L=E.getState();am.onPointerDown(j.nativeEvent,{handleDomNode:j.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:A,handleId:_,nodeId:C,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...G)=>E.getState().onConnectEnd?.(...G),updateConnection:L.updateConnection,onConnect:K,isValidConnection:i||((...G)=>E.getState().isValidConnection?.(...G)??!0),getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}M?y?.(j):v?.(j)},k=j=>{const{onClickConnectStart:M,onClickConnectEnd:L,connectionClickStartHandle:G,connectionMode:Q,isValidConnection:J,lib:D,rfId:P,nodeLookup:Y,connection:te}=E.getState();if(!C||!G&&!s)return;if(!G){M?.(j.nativeEvent,{nodeId:C,handleId:_,handleType:e}),E.setState({connectionClickStartHandle:{nodeId:C,type:e,id:_}});return}const de=ob(j.target),me=i||J,{connection:I,isValid:le}=am.isValid(j.nativeEvent,{handle:{nodeId:C,id:_,type:e},connectionMode:Q,fromNodeId:G.nodeId,fromHandleId:G.id||null,fromType:G.type,isValidConnection:me,flowId:P,doc:de,lib:D,nodeLookup:Y});le&&I&&K(I);const fe=structuredClone(te);delete fe.inProgress,fe.toPosition=fe.toHandle?fe.toHandle.position:null,L?.(j,fe),E.setState({connectionClickStartHandle:null})};return d.jsx("div",{"data-handleid":_,"data-nodeid":C,"data-handlepos":a,"data-id":`${w}-${C}-${_}-${e}`,className:ft(["react-flow__handle",`react-flow__handle-${a}`,"nodrag",N,p,{source:!A,target:A,connectable:r,connectablestart:s,connectableend:c,clickconnecting:U,connectingfrom:B,connectingto:z,valid:V,connectionindicator:r&&(!X||H)&&(X||W?c:s)}]),onMouseDown:ie,onTouchStart:ie,onClick:O?k:void 0,ref:S,...x,children:g})}const Do=R.memo(Rb(RR));function DR({data:e,isConnectable:a,sourcePosition:i=xe.Bottom}){return d.jsxs(d.Fragment,{children:[e?.label,d.jsx(Do,{type:"source",position:i,isConnectable:a})]})}function zR({data:e,isConnectable:a,targetPosition:i=xe.Top,sourcePosition:r=xe.Bottom}){return d.jsxs(d.Fragment,{children:[d.jsx(Do,{type:"target",position:i,isConnectable:a}),e?.label,d.jsx(Do,{type:"source",position:r,isConnectable:a})]})}function OR(){return null}function IR({data:e,isConnectable:a,targetPosition:i=xe.Top}){return d.jsxs(d.Fragment,{children:[d.jsx(Do,{type:"target",position:i,isConnectable:a}),e?.label]})}const Cc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},l0={input:DR,default:zR,output:IR,group:OR};function kR(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}const LR=e=>{const{width:a,height:i,x:r,y:s}=ll(e.nodeLookup,{filter:c=>!!c.selected});return{width:pn(a)?a:null,height:pn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${s}px)`}};function HR({onSelectionContextMenu:e,noPanClassName:a,disableKeyboardA11y:i}){const r=We(),{width:s,height:c,transformString:u,userSelectionActive:m}=ke(LR,Je),g=Ob(),p=R.useRef(null);R.useEffect(()=>{i||p.current?.focus({preventScroll:!0})},[i]);const y=!m&&s!==null&&c!==null;if(zb({nodeRef:p,disabled:!y}),!y)return null;const v=e?S=>{const _=r.getState().nodes.filter(A=>A.selected);e(S,_)}:void 0,x=S=>{Object.prototype.hasOwnProperty.call(Cc,S.key)&&(S.preventDefault(),g({direction:Cc[S.key],factor:S.shiftKey?4:1}))};return d.jsx("div",{className:ft(["react-flow__nodesselection","react-flow__container",a]),style:{transform:u},children:d.jsx("div",{ref:p,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:i?void 0:-1,onKeyDown:i?void 0:x,style:{width:s,height:c}})})}const s0=typeof window<"u"?window:void 0,BR=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function kb({children:e,onPaneClick:a,onPaneMouseEnter:i,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:c,onPaneScroll:u,paneClickDistance:m,deleteKeyCode:g,selectionKeyCode:p,selectionOnDrag:y,selectionMode:v,onSelectionStart:x,onSelectionEnd:S,multiSelectionKeyCode:_,panActivationKeyCode:A,zoomActivationKeyCode:E,elementsSelectable:C,zoomOnScroll:O,zoomOnPinch:N,panOnScroll:w,panOnScrollSpeed:B,panOnScrollMode:z,zoomOnDoubleClick:U,panOnDrag:H,defaultViewport:X,translateExtent:W,minZoom:V,maxZoom:K,preventScrolling:ie,onSelectionContextMenu:k,noWheelClassName:j,noPanClassName:M,disableKeyboardA11y:L,onViewportChange:G,isControlledViewport:Q}){const{nodesSelectionActive:J,userSelectionActive:D}=ke(BR,Je),P=nl(p,{target:s0}),Y=nl(A,{target:s0}),te=Y||H,de=Y||w,me=y&&te!==!0,I=P||D||me;return xR({deleteKeyCode:g,multiSelectionKeyCode:_}),d.jsx(wR,{onPaneContextMenu:c,elementsSelectable:C,zoomOnScroll:O,zoomOnPinch:N,panOnScroll:de,panOnScrollSpeed:B,panOnScrollMode:z,zoomOnDoubleClick:U,panOnDrag:!P&&te,defaultViewport:X,translateExtent:W,minZoom:V,maxZoom:K,zoomActivationKeyCode:E,preventScrolling:ie,noWheelClassName:j,noPanClassName:M,onViewportChange:G,isControlledViewport:Q,paneClickDistance:m,selectionOnDrag:me,children:d.jsxs(CR,{onSelectionStart:x,onSelectionEnd:S,onPaneClick:a,onPaneMouseEnter:i,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:c,onPaneScroll:u,panOnDrag:te,isSelecting:!!I,selectionMode:v,selectionKeyPressed:P,paneClickDistance:m,selectionOnDrag:me,children:[e,J&&d.jsx(HR,{onSelectionContextMenu:k,noPanClassName:M,disableKeyboardA11y:L})]})})}kb.displayName="FlowRenderer";const UR=R.memo(kb),qR=e=>a=>e?_m(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(i=>i.id):Array.from(a.nodeLookup.keys());function GR(e){return ke(R.useCallback(qR(e),[e]),Je)}const PR=e=>e.updateNodeInternals;function FR(){const e=ke(PR),[a]=R.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const r=new Map;i.forEach(s=>{const c=s.target.getAttribute("data-id");r.set(c,{id:c,nodeElement:s.target,force:!0})}),e(r)}));return R.useEffect(()=>()=>{a?.disconnect()},[a]),a}function VR({node:e,nodeType:a,hasDimensions:i,resizeObserver:r}){const s=We(),c=R.useRef(null),u=R.useRef(null),m=R.useRef(e.sourcePosition),g=R.useRef(e.targetPosition),p=R.useRef(a),y=i&&!!e.internals.handleBounds;return R.useEffect(()=>{c.current&&!e.hidden&&(!y||u.current!==c.current)&&(u.current&&r?.unobserve(u.current),r?.observe(c.current),u.current=c.current)},[y,e.hidden]),R.useEffect(()=>()=>{u.current&&(r?.unobserve(u.current),u.current=null)},[]),R.useEffect(()=>{if(c.current){const v=p.current!==a,x=m.current!==e.sourcePosition,S=g.current!==e.targetPosition;(v||x||S)&&(p.current=a,m.current=e.sourcePosition,g.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:c.current,force:!0}]])))}},[e.id,a,e.sourcePosition,e.targetPosition]),c}function $R({id:e,onClick:a,onMouseEnter:i,onMouseMove:r,onMouseLeave:s,onContextMenu:c,onDoubleClick:u,nodesDraggable:m,elementsSelectable:g,nodesConnectable:p,nodesFocusable:y,resizeObserver:v,noDragClassName:x,noPanClassName:S,disableKeyboardA11y:_,rfId:A,nodeTypes:E,nodeClickDistance:C,onError:O}){const{node:N,internals:w,isParent:B}=ke(le=>{const fe=le.nodeLookup.get(e),he=le.parentLookup.has(e);return{node:fe,internals:fe.internals,isParent:he}},Je);let z=N.type||"default",U=E?.[z]||l0[z];U===void 0&&(O?.("003",Mn.error003(z)),z="default",U=E?.default||l0.default);const H=!!(N.draggable||m&&typeof N.draggable>"u"),X=!!(N.selectable||g&&typeof N.selectable>"u"),W=!!(N.connectable||p&&typeof N.connectable>"u"),V=!!(N.focusable||y&&typeof N.focusable>"u"),K=We(),ie=ab(N),k=VR({node:N,nodeType:z,hasDimensions:ie,resizeObserver:v}),j=zb({nodeRef:k,disabled:N.hidden||!H,noDragClassName:x,handleSelector:N.dragHandle,nodeId:e,isSelectable:X,nodeClickDistance:C}),M=Ob();if(N.hidden)return null;const L=aa(N),G=kR(N),Q=X||H||a||i||r||s,J=i?le=>i(le,{...w.userNode}):void 0,D=r?le=>r(le,{...w.userNode}):void 0,P=s?le=>s(le,{...w.userNode}):void 0,Y=c?le=>c(le,{...w.userNode}):void 0,te=u?le=>u(le,{...w.userNode}):void 0,de=le=>{const{selectNodesOnDrag:fe,nodeDragThreshold:he}=K.getState();X&&(!fe||!H||he>0)&&om({id:e,store:K,nodeRef:k}),a&&a(le,{...w.userNode})},me=le=>{if(!(rb(le.nativeEvent)||_)){if(Xx.includes(le.key)&&X){const fe=le.key==="Escape";om({id:e,store:K,unselect:fe,nodeRef:k})}else if(H&&N.selected&&Object.prototype.hasOwnProperty.call(Cc,le.key)){le.preventDefault();const{ariaLabelConfig:fe}=K.getState();K.setState({ariaLiveMessage:fe["node.a11yDescription.ariaLiveMessage"]({direction:le.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),M({direction:Cc[le.key],factor:le.shiftKey?4:1})}}},I=()=>{if(_||!k.current?.matches(":focus-visible"))return;const{transform:le,width:fe,height:he,autoPanOnNodeFocus:Se,setCenter:pe}=K.getState();if(!Se)return;_m(new Map([[e,N]]),{x:0,y:0,width:fe,height:he},le,!0).length>0||pe(N.position.x+L.width/2,N.position.y+L.height/2,{zoom:le[2]})};return d.jsx("div",{className:ft(["react-flow__node",`react-flow__node-${z}`,{[S]:H},N.className,{selected:N.selected,selectable:X,parent:B,draggable:H,dragging:j}]),ref:k,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:Q?"all":"none",visibility:ie?"visible":"hidden",...N.style,...G},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:J,onMouseMove:D,onMouseLeave:P,onContextMenu:Y,onClick:de,onDoubleClick:te,onKeyDown:V?me:void 0,tabIndex:V?0:void 0,onFocus:V?I:void 0,role:N.ariaRole??(V?"group":void 0),"aria-roledescription":"node","aria-describedby":_?void 0:`${Eb}-${A}`,"aria-label":N.ariaLabel,...N.domAttributes,children:d.jsx(MR,{value:e,children:d.jsx(U,{id:e,data:N.data,type:z,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:N.selected??!1,selectable:X,draggable:H,deletable:N.deletable??!0,isConnectable:W,sourcePosition:N.sourcePosition,targetPosition:N.targetPosition,dragging:j,dragHandle:N.dragHandle,zIndex:w.z,parentId:N.parentId,...L})})})}var YR=R.memo($R);const XR=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Lb(e){const{nodesDraggable:a,nodesConnectable:i,nodesFocusable:r,elementsSelectable:s,onError:c}=ke(XR,Je),u=GR(e.onlyRenderVisibleElements),m=FR();return d.jsx("div",{className:"react-flow__nodes",style:Hc,children:u.map(g=>d.jsx(YR,{id:g,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:m,nodesDraggable:a,nodesConnectable:i,nodesFocusable:r,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:c},g))})}Lb.displayName="NodeRenderer";const KR=R.memo(Lb);function ZR(e){return ke(R.useCallback(i=>{if(!e)return i.edges.map(s=>s.id);const r=[];if(i.width&&i.height)for(const s of i.edges){const c=i.nodeLookup.get(s.source),u=i.nodeLookup.get(s.target);c&&u&&KA({sourceNode:c,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&r.push(s.id)}return r},[e]),Je)}const QR=({color:e="none",strokeWidth:a=1})=>{const i={strokeWidth:a,...e&&{stroke:e}};return d.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},JR=({color:e="none",strokeWidth:a=1})=>{const i={strokeWidth:a,...e&&{stroke:e,fill:e}};return d.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},c0={[_c.Arrow]:QR,[_c.ArrowClosed]:JR};function WR(e){const a=We();return R.useMemo(()=>Object.prototype.hasOwnProperty.call(c0,e)?c0[e]:(a.getState().onError?.("009",Mn.error009(e)),null),[e])}const eD=({id:e,type:a,color:i,width:r=12.5,height:s=12.5,markerUnits:c="strokeWidth",strokeWidth:u,orient:m="auto-start-reverse"})=>{const g=WR(a);return g?d.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:m,refX:"0",refY:"0",children:d.jsx(g,{color:i,strokeWidth:u})}):null},Hb=({defaultColor:e,rfId:a})=>{const i=ke(c=>c.edges),r=ke(c=>c.defaultEdgeOptions),s=R.useMemo(()=>aj(i,{id:a,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[i,r,a,e]);return s.length?d.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:d.jsx("defs",{children:s.map(c=>d.jsx(eD,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};Hb.displayName="MarkerDefinitions";var tD=R.memo(Hb);function Bb({x:e,y:a,label:i,labelStyle:r,labelShowBg:s=!0,labelBgStyle:c,labelBgPadding:u=[2,4],labelBgBorderRadius:m=2,children:g,className:p,...y}){const[v,x]=R.useState({x:1,y:0,width:0,height:0}),S=ft(["react-flow__edge-textwrapper",p]),_=R.useRef(null);return R.useEffect(()=>{if(_.current){const A=_.current.getBBox();x({x:A.x,y:A.y,width:A.width,height:A.height})}},[i]),i?d.jsxs("g",{transform:`translate(${e-v.width/2} ${a-v.height/2})`,className:S,visibility:v.width?"visible":"hidden",...y,children:[s&&d.jsx("rect",{width:v.width+2*u[0],x:-u[0],y:-u[1],height:v.height+2*u[1],className:"react-flow__edge-textbg",style:c,rx:m,ry:m}),d.jsx("text",{className:"react-flow__edge-text",y:v.height/2,dy:"0.3em",ref:_,style:r,children:i}),g]}):null}Bb.displayName="EdgeText";const nD=R.memo(Bb);function Bc({path:e,labelX:a,labelY:i,label:r,labelStyle:s,labelShowBg:c,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:g,interactionWidth:p=20,...y}){return d.jsxs(d.Fragment,{children:[d.jsx("path",{...y,d:e,fill:"none",className:ft(["react-flow__edge-path",y.className])}),p?d.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}):null,r&&pn(a)&&pn(i)?d.jsx(nD,{x:a,y:i,label:r,labelStyle:s,labelShowBg:c,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:g}):null]})}function u0({pos:e,x1:a,y1:i,x2:r,y2:s}){return e===xe.Left||e===xe.Right?[.5*(a+r),i]:[a,.5*(i+s)]}function Ub({sourceX:e,sourceY:a,sourcePosition:i=xe.Bottom,targetX:r,targetY:s,targetPosition:c=xe.Top}){const[u,m]=u0({pos:i,x1:e,y1:a,x2:r,y2:s}),[g,p]=u0({pos:c,x1:r,y1:s,x2:e,y2:a}),[y,v,x,S]=sb({sourceX:e,sourceY:a,targetX:r,targetY:s,sourceControlX:u,sourceControlY:m,targetControlX:g,targetControlY:p});return[`M${e},${a} C${u},${m} ${g},${p} ${r},${s}`,y,v,x,S]}function qb(e){return R.memo(({id:a,sourceX:i,sourceY:r,targetX:s,targetY:c,sourcePosition:u,targetPosition:m,label:g,labelStyle:p,labelShowBg:y,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:_,markerEnd:A,markerStart:E,interactionWidth:C})=>{const[O,N,w]=Ub({sourceX:i,sourceY:r,sourcePosition:u,targetX:s,targetY:c,targetPosition:m}),B=e.isInternal?void 0:a;return d.jsx(Bc,{id:B,path:O,labelX:N,labelY:w,label:g,labelStyle:p,labelShowBg:y,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:_,markerEnd:A,markerStart:E,interactionWidth:C})})}const aD=qb({isInternal:!1}),Gb=qb({isInternal:!0});aD.displayName="SimpleBezierEdge";Gb.displayName="SimpleBezierEdgeInternal";function Pb(e){return R.memo(({id:a,sourceX:i,sourceY:r,targetX:s,targetY:c,label:u,labelStyle:m,labelShowBg:g,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:x,sourcePosition:S=xe.Bottom,targetPosition:_=xe.Top,markerEnd:A,markerStart:E,pathOptions:C,interactionWidth:O})=>{const[N,w,B]=em({sourceX:i,sourceY:r,sourcePosition:S,targetX:s,targetY:c,targetPosition:_,borderRadius:C?.borderRadius,offset:C?.offset,stepPosition:C?.stepPosition}),z=e.isInternal?void 0:a;return d.jsx(Bc,{id:z,path:N,labelX:w,labelY:B,label:u,labelStyle:m,labelShowBg:g,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:x,markerEnd:A,markerStart:E,interactionWidth:O})})}const Fb=Pb({isInternal:!1}),Vb=Pb({isInternal:!0});Fb.displayName="SmoothStepEdge";Vb.displayName="SmoothStepEdgeInternal";function $b(e){return R.memo(({id:a,...i})=>{const r=e.isInternal?void 0:a;return d.jsx(Fb,{...i,id:r,pathOptions:R.useMemo(()=>({borderRadius:0,offset:i.pathOptions?.offset}),[i.pathOptions?.offset])})})}const iD=$b({isInternal:!1}),Yb=$b({isInternal:!0});iD.displayName="StepEdge";Yb.displayName="StepEdgeInternal";function Xb(e){return R.memo(({id:a,sourceX:i,sourceY:r,targetX:s,targetY:c,label:u,labelStyle:m,labelShowBg:g,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:x,markerEnd:S,markerStart:_,interactionWidth:A})=>{const[E,C,O]=db({sourceX:i,sourceY:r,targetX:s,targetY:c}),N=e.isInternal?void 0:a;return d.jsx(Bc,{id:N,path:E,labelX:C,labelY:O,label:u,labelStyle:m,labelShowBg:g,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:x,markerEnd:S,markerStart:_,interactionWidth:A})})}const oD=Xb({isInternal:!1}),Kb=Xb({isInternal:!0});oD.displayName="StraightEdge";Kb.displayName="StraightEdgeInternal";function Zb(e){return R.memo(({id:a,sourceX:i,sourceY:r,targetX:s,targetY:c,sourcePosition:u=xe.Bottom,targetPosition:m=xe.Top,label:g,labelStyle:p,labelShowBg:y,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:_,markerEnd:A,markerStart:E,pathOptions:C,interactionWidth:O})=>{const[N,w,B]=cb({sourceX:i,sourceY:r,sourcePosition:u,targetX:s,targetY:c,targetPosition:m,curvature:C?.curvature}),z=e.isInternal?void 0:a;return d.jsx(Bc,{id:z,path:N,labelX:w,labelY:B,label:g,labelStyle:p,labelShowBg:y,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:_,markerEnd:A,markerStart:E,interactionWidth:O})})}const rD=Zb({isInternal:!1}),Qb=Zb({isInternal:!0});rD.displayName="BezierEdge";Qb.displayName="BezierEdgeInternal";const d0={default:Qb,straight:Kb,step:Yb,smoothstep:Vb,simplebezier:Gb},f0={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},lD=(e,a,i)=>i===xe.Left?e-a:i===xe.Right?e+a:e,sD=(e,a,i)=>i===xe.Top?e-a:i===xe.Bottom?e+a:e,m0="react-flow__edgeupdater";function h0({position:e,centerX:a,centerY:i,radius:r=10,onMouseDown:s,onMouseEnter:c,onMouseOut:u,type:m}){return d.jsx("circle",{onMouseDown:s,onMouseEnter:c,onMouseOut:u,className:ft([m0,`${m0}-${m}`]),cx:lD(a,r,e),cy:sD(i,r,e),r,stroke:"transparent",fill:"transparent"})}function cD({isReconnectable:e,reconnectRadius:a,edge:i,sourceX:r,sourceY:s,targetX:c,targetY:u,sourcePosition:m,targetPosition:g,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,setReconnecting:x,setUpdateHover:S}){const _=We(),A=(w,B)=>{if(w.button!==0)return;const{autoPanOnConnect:z,domNode:U,connectionMode:H,connectionRadius:X,lib:W,onConnectStart:V,cancelConnection:K,nodeLookup:ie,rfId:k,panBy:j,updateConnection:M}=_.getState(),L=B.type==="target",G=(D,P)=>{x(!1),v?.(D,i,B.type,P)},Q=D=>p?.(i,D),J=(D,P)=>{x(!0),y?.(w,i,B.type),V?.(D,P)};am.onPointerDown(w.nativeEvent,{autoPanOnConnect:z,connectionMode:H,connectionRadius:X,domNode:U,handleId:B.id,nodeId:B.nodeId,nodeLookup:ie,isTarget:L,edgeUpdaterType:B.type,lib:W,flowId:k,cancelConnection:K,panBy:j,isValidConnection:(...D)=>_.getState().isValidConnection?.(...D)??!0,onConnect:Q,onConnectStart:J,onConnectEnd:(...D)=>_.getState().onConnectEnd?.(...D),onReconnectEnd:G,updateConnection:M,getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,dragThreshold:_.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},E=w=>A(w,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),C=w=>A(w,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),O=()=>S(!0),N=()=>S(!1);return d.jsxs(d.Fragment,{children:[(e===!0||e==="source")&&d.jsx(h0,{position:m,centerX:r,centerY:s,radius:a,onMouseDown:E,onMouseEnter:O,onMouseOut:N,type:"source"}),(e===!0||e==="target")&&d.jsx(h0,{position:g,centerX:c,centerY:u,radius:a,onMouseDown:C,onMouseEnter:O,onMouseOut:N,type:"target"})]})}function uD({id:e,edgesFocusable:a,edgesReconnectable:i,elementsSelectable:r,onClick:s,onDoubleClick:c,onContextMenu:u,onMouseEnter:m,onMouseMove:g,onMouseLeave:p,reconnectRadius:y,onReconnect:v,onReconnectStart:x,onReconnectEnd:S,rfId:_,edgeTypes:A,noPanClassName:E,onError:C,disableKeyboardA11y:O}){let N=ke(pe=>pe.edgeLookup.get(e));const w=ke(pe=>pe.defaultEdgeOptions);N=w?{...w,...N}:N;let B=N.type||"default",z=A?.[B]||d0[B];z===void 0&&(C?.("011",Mn.error011(B)),B="default",z=A?.default||d0.default);const U=!!(N.focusable||a&&typeof N.focusable>"u"),H=typeof v<"u"&&(N.reconnectable||i&&typeof N.reconnectable>"u"),X=!!(N.selectable||r&&typeof N.selectable>"u"),W=R.useRef(null),[V,K]=R.useState(!1),[ie,k]=R.useState(!1),j=We(),{zIndex:M,sourceX:L,sourceY:G,targetX:Q,targetY:J,sourcePosition:D,targetPosition:P}=ke(R.useCallback(pe=>{const we=pe.nodeLookup.get(N.source),Ce=pe.nodeLookup.get(N.target);if(!we||!Ce)return{zIndex:N.zIndex,...f0};const qe=nj({id:e,sourceNode:we,targetNode:Ce,sourceHandle:N.sourceHandle||null,targetHandle:N.targetHandle||null,connectionMode:pe.connectionMode,onError:C});return{zIndex:XA({selected:N.selected,zIndex:N.zIndex,sourceNode:we,targetNode:Ce,elevateOnSelect:pe.elevateEdgesOnSelect,zIndexMode:pe.zIndexMode}),...qe||f0}},[N.source,N.target,N.sourceHandle,N.targetHandle,N.selected,N.zIndex]),Je),Y=R.useMemo(()=>N.markerStart?`url('#${tm(N.markerStart,_)}')`:void 0,[N.markerStart,_]),te=R.useMemo(()=>N.markerEnd?`url('#${tm(N.markerEnd,_)}')`:void 0,[N.markerEnd,_]);if(N.hidden||L===null||G===null||Q===null||J===null)return null;const de=pe=>{const{addSelectedEdges:we,unselectNodesAndEdges:Ce,multiSelectionActive:qe}=j.getState();X&&(j.setState({nodesSelectionActive:!1}),N.selected&&qe?(Ce({nodes:[],edges:[N]}),W.current?.blur()):we([e])),s&&s(pe,N)},me=c?pe=>{c(pe,{...N})}:void 0,I=u?pe=>{u(pe,{...N})}:void 0,le=m?pe=>{m(pe,{...N})}:void 0,fe=g?pe=>{g(pe,{...N})}:void 0,he=p?pe=>{p(pe,{...N})}:void 0,Se=pe=>{if(!O&&Xx.includes(pe.key)&&X){const{unselectNodesAndEdges:we,addSelectedEdges:Ce}=j.getState();pe.key==="Escape"?(W.current?.blur(),we({edges:[N]})):Ce([e])}};return d.jsx("svg",{style:{zIndex:M},children:d.jsxs("g",{className:ft(["react-flow__edge",`react-flow__edge-${B}`,N.className,E,{selected:N.selected,animated:N.animated,inactive:!X&&!s,updating:V,selectable:X}]),onClick:de,onDoubleClick:me,onContextMenu:I,onMouseEnter:le,onMouseMove:fe,onMouseLeave:he,onKeyDown:U?Se:void 0,tabIndex:U?0:void 0,role:N.ariaRole??(U?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":N.ariaLabel===null?void 0:N.ariaLabel||`Edge from ${N.source} to ${N.target}`,"aria-describedby":U?`${Cb}-${_}`:void 0,ref:W,...N.domAttributes,children:[!ie&&d.jsx(z,{id:e,source:N.source,target:N.target,type:N.type,selected:N.selected,animated:N.animated,selectable:X,deletable:N.deletable??!0,label:N.label,labelStyle:N.labelStyle,labelShowBg:N.labelShowBg,labelBgStyle:N.labelBgStyle,labelBgPadding:N.labelBgPadding,labelBgBorderRadius:N.labelBgBorderRadius,sourceX:L,sourceY:G,targetX:Q,targetY:J,sourcePosition:D,targetPosition:P,data:N.data,style:N.style,sourceHandleId:N.sourceHandle,targetHandleId:N.targetHandle,markerStart:Y,markerEnd:te,pathOptions:"pathOptions"in N?N.pathOptions:void 0,interactionWidth:N.interactionWidth}),H&&d.jsx(cD,{edge:N,isReconnectable:H,reconnectRadius:y,onReconnect:v,onReconnectStart:x,onReconnectEnd:S,sourceX:L,sourceY:G,targetX:Q,targetY:J,sourcePosition:D,targetPosition:P,setUpdateHover:K,setReconnecting:k})]})})}var dD=R.memo(uD);const fD=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Jb({defaultMarkerColor:e,onlyRenderVisibleElements:a,rfId:i,edgeTypes:r,noPanClassName:s,onReconnect:c,onEdgeContextMenu:u,onEdgeMouseEnter:m,onEdgeMouseMove:g,onEdgeMouseLeave:p,onEdgeClick:y,reconnectRadius:v,onEdgeDoubleClick:x,onReconnectStart:S,onReconnectEnd:_,disableKeyboardA11y:A}){const{edgesFocusable:E,edgesReconnectable:C,elementsSelectable:O,onError:N}=ke(fD,Je),w=ZR(a);return d.jsxs("div",{className:"react-flow__edges",children:[d.jsx(tD,{defaultColor:e,rfId:i}),w.map(B=>d.jsx(dD,{id:B,edgesFocusable:E,edgesReconnectable:C,elementsSelectable:O,noPanClassName:s,onReconnect:c,onContextMenu:u,onMouseEnter:m,onMouseMove:g,onMouseLeave:p,onClick:y,reconnectRadius:v,onDoubleClick:x,onReconnectStart:S,onReconnectEnd:_,rfId:i,onError:N,edgeTypes:r,disableKeyboardA11y:A},B))]})}Jb.displayName="EdgeRenderer";const mD=R.memo(Jb),hD=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function pD({children:e}){const a=ke(hD);return d.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:a},children:e})}function gD(e){const a=Lc(),i=R.useRef(!1);R.useEffect(()=>{!i.current&&a.viewportInitialized&&e&&(setTimeout(()=>e(a),1),i.current=!0)},[e,a.viewportInitialized])}const yD=e=>e.panZoom?.syncViewport;function vD(e){const a=ke(yD),i=We();return R.useEffect(()=>{e&&(a?.(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,a]),null}function xD(e){return e.connection.inProgress?{...e.connection,to:cl(e.connection.to,e.transform)}:{...e.connection}}function bD(e){return xD}function SD(e){const a=bD();return ke(a,Je)}const wD=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function _D({containerStyle:e,style:a,type:i,component:r}){const{nodesConnectable:s,width:c,height:u,isValid:m,inProgress:g}=ke(wD,Je);return!(c&&s&&g)?null:d.jsx("svg",{style:e,width:c,height:u,className:"react-flow__connectionline react-flow__container",children:d.jsx("g",{className:ft(["react-flow__connection",Qx(m)]),children:d.jsx(Wb,{style:a,type:i,CustomComponent:r,isValid:m})})})}const Wb=({style:e,type:a=Ha.Bezier,CustomComponent:i,isValid:r})=>{const{inProgress:s,from:c,fromNode:u,fromHandle:m,fromPosition:g,to:p,toNode:y,toHandle:v,toPosition:x,pointer:S}=SD();if(!s)return;if(i)return d.jsx(i,{connectionLineType:a,connectionLineStyle:e,fromNode:u,fromHandle:m,fromX:c.x,fromY:c.y,toX:p.x,toY:p.y,fromPosition:g,toPosition:x,connectionStatus:Qx(r),toNode:y,toHandle:v,pointer:S});let _="";const A={sourceX:c.x,sourceY:c.y,sourcePosition:g,targetX:p.x,targetY:p.y,targetPosition:x};switch(a){case Ha.Bezier:[_]=cb(A);break;case Ha.SimpleBezier:[_]=Ub(A);break;case Ha.Step:[_]=em({...A,borderRadius:0});break;case Ha.SmoothStep:[_]=em(A);break;default:[_]=db(A)}return d.jsx("path",{d:_,fill:"none",className:"react-flow__connection-path",style:e})};Wb.displayName="ConnectionLine";const ND={};function p0(e=ND){R.useRef(e),We(),R.useEffect(()=>{},[e])}function ED(){We(),R.useRef(!1),R.useEffect(()=>{},[])}function eS({nodeTypes:e,edgeTypes:a,onInit:i,onNodeClick:r,onEdgeClick:s,onNodeDoubleClick:c,onEdgeDoubleClick:u,onNodeMouseEnter:m,onNodeMouseMove:g,onNodeMouseLeave:p,onNodeContextMenu:y,onSelectionContextMenu:v,onSelectionStart:x,onSelectionEnd:S,connectionLineType:_,connectionLineStyle:A,connectionLineComponent:E,connectionLineContainerStyle:C,selectionKeyCode:O,selectionOnDrag:N,selectionMode:w,multiSelectionKeyCode:B,panActivationKeyCode:z,zoomActivationKeyCode:U,deleteKeyCode:H,onlyRenderVisibleElements:X,elementsSelectable:W,defaultViewport:V,translateExtent:K,minZoom:ie,maxZoom:k,preventScrolling:j,defaultMarkerColor:M,zoomOnScroll:L,zoomOnPinch:G,panOnScroll:Q,panOnScrollSpeed:J,panOnScrollMode:D,zoomOnDoubleClick:P,panOnDrag:Y,onPaneClick:te,onPaneMouseEnter:de,onPaneMouseMove:me,onPaneMouseLeave:I,onPaneScroll:le,onPaneContextMenu:fe,paneClickDistance:he,nodeClickDistance:Se,onEdgeContextMenu:pe,onEdgeMouseEnter:we,onEdgeMouseMove:Ce,onEdgeMouseLeave:qe,reconnectRadius:Le,onReconnect:rt,onReconnectStart:Lt,onReconnectEnd:wt,noDragClassName:Ht,noWheelClassName:Kt,noPanClassName:on,disableKeyboardA11y:jn,nodeExtent:et,rfId:ia,viewport:rn,onViewportChange:re}){return p0(e),p0(a),ED(),gD(i),vD(rn),d.jsx(UR,{onPaneClick:te,onPaneMouseEnter:de,onPaneMouseMove:me,onPaneMouseLeave:I,onPaneContextMenu:fe,onPaneScroll:le,paneClickDistance:he,deleteKeyCode:H,selectionKeyCode:O,selectionOnDrag:N,selectionMode:w,onSelectionStart:x,onSelectionEnd:S,multiSelectionKeyCode:B,panActivationKeyCode:z,zoomActivationKeyCode:U,elementsSelectable:W,zoomOnScroll:L,zoomOnPinch:G,zoomOnDoubleClick:P,panOnScroll:Q,panOnScrollSpeed:J,panOnScrollMode:D,panOnDrag:Y,defaultViewport:V,translateExtent:K,minZoom:ie,maxZoom:k,onSelectionContextMenu:v,preventScrolling:j,noDragClassName:Ht,noWheelClassName:Kt,noPanClassName:on,disableKeyboardA11y:jn,onViewportChange:re,isControlledViewport:!!rn,children:d.jsxs(pD,{children:[d.jsx(mD,{edgeTypes:a,onEdgeClick:s,onEdgeDoubleClick:u,onReconnect:rt,onReconnectStart:Lt,onReconnectEnd:wt,onlyRenderVisibleElements:X,onEdgeContextMenu:pe,onEdgeMouseEnter:we,onEdgeMouseMove:Ce,onEdgeMouseLeave:qe,reconnectRadius:Le,defaultMarkerColor:M,noPanClassName:on,disableKeyboardA11y:jn,rfId:ia}),d.jsx(_D,{style:A,type:_,component:E,containerStyle:C}),d.jsx("div",{className:"react-flow__edgelabel-renderer"}),d.jsx(KR,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:c,onNodeMouseEnter:m,onNodeMouseMove:g,onNodeMouseLeave:p,onNodeContextMenu:y,nodeClickDistance:Se,onlyRenderVisibleElements:X,noPanClassName:on,noDragClassName:Ht,disableKeyboardA11y:jn,nodeExtent:et,rfId:ia}),d.jsx("div",{className:"react-flow__viewport-portal"})]})})}eS.displayName="GraphView";const CD=R.memo(eS),g0=({nodes:e,edges:a,defaultNodes:i,defaultEdges:r,width:s,height:c,fitView:u,fitViewOptions:m,minZoom:g=.5,maxZoom:p=2,nodeOrigin:y,nodeExtent:v,zIndexMode:x="basic"}={})=>{const S=new Map,_=new Map,A=new Map,E=new Map,C=r??a??[],O=i??e??[],N=y??[0,0],w=v??Jr;hb(A,E,C);const{nodesInitialized:B}=nm(O,S,_,{nodeOrigin:N,nodeExtent:w,zIndexMode:x});let z=[0,0,1];if(u&&s&&c){const U=ll(S,{filter:V=>!!((V.width||V.initialWidth)&&(V.height||V.initialHeight))}),{x:H,y:X,zoom:W}=Nm(U,s,c,g,p,m?.padding??.1);z=[H,X,W]}return{rfId:"1",width:s??0,height:c??0,transform:z,nodes:O,nodesInitialized:B,nodeLookup:S,parentLookup:_,edges:C,edgeLookup:E,connectionLookup:A,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:g,maxZoom:p,translateExtent:Jr,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:_i.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:N,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:u??!1,fitViewOptions:m,fitViewResolver:null,connection:{...Zx},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:GA,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Kx,zIndexMode:x,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},TD=({nodes:e,edges:a,defaultNodes:i,defaultEdges:r,width:s,height:c,fitView:u,fitViewOptions:m,minZoom:g,maxZoom:p,nodeOrigin:y,nodeExtent:v,zIndexMode:x})=>$j((S,_)=>{async function A(){const{nodeLookup:E,panZoom:C,fitViewOptions:O,fitViewResolver:N,width:w,height:B,minZoom:z,maxZoom:U}=_();C&&(await UA({nodes:E,width:w,height:B,panZoom:C,minZoom:z,maxZoom:U},O),N?.resolve(!0),S({fitViewResolver:null}))}return{...g0({nodes:e,edges:a,width:s,height:c,fitView:u,fitViewOptions:m,minZoom:g,maxZoom:p,nodeOrigin:y,nodeExtent:v,defaultNodes:i,defaultEdges:r,zIndexMode:x}),setNodes:E=>{const{nodeLookup:C,parentLookup:O,nodeOrigin:N,elevateNodesOnSelect:w,fitViewQueued:B,zIndexMode:z,nodesSelectionActive:U}=_(),{nodesInitialized:H,hasSelectedNodes:X}=nm(E,C,O,{nodeOrigin:N,nodeExtent:v,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:z}),W=U&&X;B&&H?(A(),S({nodes:E,nodesInitialized:H,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:W})):S({nodes:E,nodesInitialized:H,nodesSelectionActive:W})},setEdges:E=>{const{connectionLookup:C,edgeLookup:O}=_();hb(C,O,E),S({edges:E})},setDefaultNodesAndEdges:(E,C)=>{if(E){const{setNodes:O}=_();O(E),S({hasDefaultNodes:!0})}if(C){const{setEdges:O}=_();O(C),S({hasDefaultEdges:!0})}},updateNodeInternals:E=>{const{triggerNodeChanges:C,nodeLookup:O,parentLookup:N,domNode:w,nodeOrigin:B,nodeExtent:z,debug:U,fitViewQueued:H,zIndexMode:X}=_(),{changes:W,updatedInternals:V}=uj(E,O,N,w,B,z,X);V&&(rj(O,N,{nodeOrigin:B,nodeExtent:z,zIndexMode:X}),H?(A(),S({fitViewQueued:!1,fitViewOptions:void 0})):S({}),W?.length>0&&(U&&console.log("React Flow: trigger node changes",W),C?.(W)))},updateNodePositions:(E,C=!1)=>{const O=[];let N=[];const{nodeLookup:w,triggerNodeChanges:B,connection:z,updateConnection:U,onNodesChangeMiddlewareMap:H}=_();for(const[X,W]of E){const V=w.get(X),K=!!(V?.expandParent&&V?.parentId&&W?.position),ie={id:X,type:"position",position:K?{x:Math.max(0,W.position.x),y:Math.max(0,W.position.y)}:W.position,dragging:C};if(V&&z.inProgress&&z.fromNode.id===V.id){const k=Ei(V,z.fromHandle,xe.Left,!0);U({...z,from:k})}K&&V.parentId&&O.push({id:X,parentId:V.parentId,rect:{...W.internals.positionAbsolute,width:W.measured.width??0,height:W.measured.height??0}}),N.push(ie)}if(O.length>0){const{parentLookup:X,nodeOrigin:W}=_(),V=jm(O,w,X,W);N.push(...V)}for(const X of H.values())N=X(N);B(N)},triggerNodeChanges:E=>{const{onNodesChange:C,setNodes:O,nodes:N,hasDefaultNodes:w,debug:B}=_();if(E?.length){if(w){const z=Ab(E,N);O(z)}B&&console.log("React Flow: trigger node changes",E),C?.(E)}},triggerEdgeChanges:E=>{const{onEdgesChange:C,setEdges:O,edges:N,hasDefaultEdges:w,debug:B}=_();if(E?.length){if(w){const z=jb(E,N);O(z)}B&&console.log("React Flow: trigger edge changes",E),C?.(E)}},addSelectedNodes:E=>{const{multiSelectionActive:C,edgeLookup:O,nodeLookup:N,triggerNodeChanges:w,triggerEdgeChanges:B}=_();if(C){const z=E.map(U=>di(U,!0));w(z);return}w(wo(N,new Set([...E]),!0)),B(wo(O))},addSelectedEdges:E=>{const{multiSelectionActive:C,edgeLookup:O,nodeLookup:N,triggerNodeChanges:w,triggerEdgeChanges:B}=_();if(C){const z=E.map(U=>di(U,!0));B(z);return}B(wo(O,new Set([...E]))),w(wo(N,new Set,!0))},unselectNodesAndEdges:({nodes:E,edges:C}={})=>{const{edges:O,nodes:N,nodeLookup:w,triggerNodeChanges:B,triggerEdgeChanges:z}=_(),U=E||N,H=C||O,X=[];for(const V of U){if(!V.selected)continue;const K=w.get(V.id);K&&(K.selected=!1),X.push(di(V.id,!1))}const W=[];for(const V of H)V.selected&&W.push(di(V.id,!1));B(X),z(W)},setMinZoom:E=>{const{panZoom:C,maxZoom:O}=_();C?.setScaleExtent([E,O]),S({minZoom:E})},setMaxZoom:E=>{const{panZoom:C,minZoom:O}=_();C?.setScaleExtent([O,E]),S({maxZoom:E})},setTranslateExtent:E=>{_().panZoom?.setTranslateExtent(E),S({translateExtent:E})},resetSelectedElements:()=>{const{edges:E,nodes:C,triggerNodeChanges:O,triggerEdgeChanges:N,elementsSelectable:w}=_();if(!w)return;const B=C.reduce((U,H)=>H.selected?[...U,di(H.id,!1)]:U,[]),z=E.reduce((U,H)=>H.selected?[...U,di(H.id,!1)]:U,[]);O(B),N(z)},setNodeExtent:E=>{const{nodes:C,nodeLookup:O,parentLookup:N,nodeOrigin:w,elevateNodesOnSelect:B,nodeExtent:z,zIndexMode:U}=_();E[0][0]===z[0][0]&&E[0][1]===z[0][1]&&E[1][0]===z[1][0]&&E[1][1]===z[1][1]||(nm(C,O,N,{nodeOrigin:w,nodeExtent:E,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:U}),S({nodeExtent:E}))},panBy:E=>{const{transform:C,width:O,height:N,panZoom:w,translateExtent:B}=_();return dj({delta:E,panZoom:w,transform:C,translateExtent:B,width:O,height:N})},setCenter:async(E,C,O)=>{const{width:N,height:w,maxZoom:B,panZoom:z}=_();if(!z)return Promise.resolve(!1);const U=typeof O?.zoom<"u"?O.zoom:B;return await z.setViewport({x:N/2-E*U,y:w/2-C*U,zoom:U},{duration:O?.duration,ease:O?.ease,interpolate:O?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{S({connection:{...Zx}})},updateConnection:E=>{S({connection:E})},reset:()=>S({...g0()})}},Object.is);function tS({initialNodes:e,initialEdges:a,defaultNodes:i,defaultEdges:r,initialWidth:s,initialHeight:c,initialMinZoom:u,initialMaxZoom:m,initialFitViewOptions:g,fitView:p,nodeOrigin:y,nodeExtent:v,zIndexMode:x,children:S}){const[_]=R.useState(()=>TD({nodes:e,edges:a,defaultNodes:i,defaultEdges:r,width:s,height:c,fitView:p,minZoom:u,maxZoom:m,fitViewOptions:g,nodeOrigin:y,nodeExtent:v,zIndexMode:x}));return d.jsx(Yj,{value:_,children:d.jsx(pR,{children:S})})}function MD({children:e,nodes:a,edges:i,defaultNodes:r,defaultEdges:s,width:c,height:u,fitView:m,fitViewOptions:g,minZoom:p,maxZoom:y,nodeOrigin:v,nodeExtent:x,zIndexMode:S}){return R.useContext(kc)?d.jsx(d.Fragment,{children:e}):d.jsx(tS,{initialNodes:a,initialEdges:i,defaultNodes:r,defaultEdges:s,initialWidth:c,initialHeight:u,fitView:m,initialFitViewOptions:g,initialMinZoom:p,initialMaxZoom:y,nodeOrigin:v,nodeExtent:x,zIndexMode:S,children:e})}const AD={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function jD({nodes:e,edges:a,defaultNodes:i,defaultEdges:r,className:s,nodeTypes:c,edgeTypes:u,onNodeClick:m,onEdgeClick:g,onInit:p,onMove:y,onMoveStart:v,onMoveEnd:x,onConnect:S,onConnectStart:_,onConnectEnd:A,onClickConnectStart:E,onClickConnectEnd:C,onNodeMouseEnter:O,onNodeMouseMove:N,onNodeMouseLeave:w,onNodeContextMenu:B,onNodeDoubleClick:z,onNodeDragStart:U,onNodeDrag:H,onNodeDragStop:X,onNodesDelete:W,onEdgesDelete:V,onDelete:K,onSelectionChange:ie,onSelectionDragStart:k,onSelectionDrag:j,onSelectionDragStop:M,onSelectionContextMenu:L,onSelectionStart:G,onSelectionEnd:Q,onBeforeDelete:J,connectionMode:D,connectionLineType:P=Ha.Bezier,connectionLineStyle:Y,connectionLineComponent:te,connectionLineContainerStyle:de,deleteKeyCode:me="Backspace",selectionKeyCode:I="Shift",selectionOnDrag:le=!1,selectionMode:fe=Wr.Full,panActivationKeyCode:he="Space",multiSelectionKeyCode:Se=tl()?"Meta":"Control",zoomActivationKeyCode:pe=tl()?"Meta":"Control",snapToGrid:we,snapGrid:Ce,onlyRenderVisibleElements:qe=!1,selectNodesOnDrag:Le,nodesDraggable:rt,autoPanOnNodeFocus:Lt,nodesConnectable:wt,nodesFocusable:Ht,nodeOrigin:Kt=Tb,edgesFocusable:on,edgesReconnectable:jn,elementsSelectable:et=!0,defaultViewport:ia=rR,minZoom:rn=.5,maxZoom:re=2,translateExtent:Ne=Jr,preventScrolling:tt=!0,nodeExtent:_t,defaultMarkerColor:Oo="#b1b1b7",zoomOnScroll:Ti=!0,zoomOnPinch:Rn=!0,panOnScroll:Nt=!1,panOnScrollSpeed:vn=.5,panOnScrollMode:Et=xi.Free,zoomOnDoubleClick:Uc=!0,panOnDrag:qc=!0,onPaneClick:Gc,onPaneMouseEnter:Mi,onPaneMouseMove:Ai,onPaneMouseLeave:ji,onPaneScroll:Dn,onPaneContextMenu:Ri,paneClickDistance:qa=1,nodeClickDistance:Pc=0,children:dl,onReconnect:Io,onReconnectStart:Ga,onReconnectEnd:Fc,onEdgeContextMenu:fl,onEdgeDoubleClick:ml,onEdgeMouseEnter:hl,onEdgeMouseMove:ko,onEdgeMouseLeave:Lo,reconnectRadius:pl=10,onNodesChange:gl,onEdgesChange:xn,noDragClassName:mt="nodrag",noWheelClassName:bt="nowheel",noPanClassName:zn="nopan",fitView:Di,fitViewOptions:yl,connectOnClick:Vc,attributionPosition:vl,proOptions:Pa,defaultEdgeOptions:Ho,elevateNodesOnSelect:oa=!0,elevateEdgesOnSelect:ra=!1,disableKeyboardA11y:la=!1,autoPanOnConnect:sa,autoPanOnNodeDrag:lt,autoPanSpeed:xl,connectionRadius:bl,isValidConnection:On,onError:ca,style:$c,id:Bo,nodeDragThreshold:Sl,connectionDragThreshold:Yc,viewport:zi,onViewportChange:Oi,width:ln,height:Tt,colorMode:wl="light",debug:Xc,onScroll:Ii,ariaLabelConfig:_l,zIndexMode:Fa="basic",...Kc},Mt){const Va=Bo||"1",Nl=uR(wl),Uo=R.useCallback(In=>{In.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ii?.(In)},[Ii]);return d.jsx("div",{"data-testid":"rf__wrapper",...Kc,onScroll:Uo,style:{...$c,...AD},ref:Mt,className:ft(["react-flow",s,Nl]),id:Bo,role:"application",children:d.jsxs(MD,{nodes:e,edges:a,width:ln,height:Tt,fitView:Di,fitViewOptions:yl,minZoom:rn,maxZoom:re,nodeOrigin:Kt,nodeExtent:_t,zIndexMode:Fa,children:[d.jsx(cR,{nodes:e,edges:a,defaultNodes:i,defaultEdges:r,onConnect:S,onConnectStart:_,onConnectEnd:A,onClickConnectStart:E,onClickConnectEnd:C,nodesDraggable:rt,autoPanOnNodeFocus:Lt,nodesConnectable:wt,nodesFocusable:Ht,edgesFocusable:on,edgesReconnectable:jn,elementsSelectable:et,elevateNodesOnSelect:oa,elevateEdgesOnSelect:ra,minZoom:rn,maxZoom:re,nodeExtent:_t,onNodesChange:gl,onEdgesChange:xn,snapToGrid:we,snapGrid:Ce,connectionMode:D,translateExtent:Ne,connectOnClick:Vc,defaultEdgeOptions:Ho,fitView:Di,fitViewOptions:yl,onNodesDelete:W,onEdgesDelete:V,onDelete:K,onNodeDragStart:U,onNodeDrag:H,onNodeDragStop:X,onSelectionDrag:j,onSelectionDragStart:k,onSelectionDragStop:M,onMove:y,onMoveStart:v,onMoveEnd:x,noPanClassName:zn,nodeOrigin:Kt,rfId:Va,autoPanOnConnect:sa,autoPanOnNodeDrag:lt,autoPanSpeed:xl,onError:ca,connectionRadius:bl,isValidConnection:On,selectNodesOnDrag:Le,nodeDragThreshold:Sl,connectionDragThreshold:Yc,onBeforeDelete:J,debug:Xc,ariaLabelConfig:_l,zIndexMode:Fa}),d.jsx(CD,{onInit:p,onNodeClick:m,onEdgeClick:g,onNodeMouseEnter:O,onNodeMouseMove:N,onNodeMouseLeave:w,onNodeContextMenu:B,onNodeDoubleClick:z,nodeTypes:c,edgeTypes:u,connectionLineType:P,connectionLineStyle:Y,connectionLineComponent:te,connectionLineContainerStyle:de,selectionKeyCode:I,selectionOnDrag:le,selectionMode:fe,deleteKeyCode:me,multiSelectionKeyCode:Se,panActivationKeyCode:he,zoomActivationKeyCode:pe,onlyRenderVisibleElements:qe,defaultViewport:ia,translateExtent:Ne,minZoom:rn,maxZoom:re,preventScrolling:tt,zoomOnScroll:Ti,zoomOnPinch:Rn,zoomOnDoubleClick:Uc,panOnScroll:Nt,panOnScrollSpeed:vn,panOnScrollMode:Et,panOnDrag:qc,onPaneClick:Gc,onPaneMouseEnter:Mi,onPaneMouseMove:Ai,onPaneMouseLeave:ji,onPaneScroll:Dn,onPaneContextMenu:Ri,paneClickDistance:qa,nodeClickDistance:Pc,onSelectionContextMenu:L,onSelectionStart:G,onSelectionEnd:Q,onReconnect:Io,onReconnectStart:Ga,onReconnectEnd:Fc,onEdgeContextMenu:fl,onEdgeDoubleClick:ml,onEdgeMouseEnter:hl,onEdgeMouseMove:ko,onEdgeMouseLeave:Lo,reconnectRadius:pl,defaultMarkerColor:Oo,noDragClassName:mt,noWheelClassName:bt,noPanClassName:zn,rfId:Va,disableKeyboardA11y:la,nodeExtent:_t,viewport:zi,onViewportChange:Oi}),d.jsx(oR,{onSelectionChange:ie}),dl,d.jsx(eR,{proOptions:Pa,position:vl}),d.jsx(Wj,{rfId:Va,disableKeyboardA11y:la})]})})}var RD=Rb(jD);function DD({dimensions:e,lineWidth:a,variant:i,className:r}){return d.jsx("path",{strokeWidth:a,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:ft(["react-flow__background-pattern",i,r])})}function zD({radius:e,className:a}){return d.jsx("circle",{cx:e,cy:e,r:e,className:ft(["react-flow__background-pattern","dots",a])})}var Ua;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ua||(Ua={}));const OD={[Ua.Dots]:1,[Ua.Lines]:1,[Ua.Cross]:6},ID=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function nS({id:e,variant:a=Ua.Dots,gap:i=20,size:r,lineWidth:s=1,offset:c=0,color:u,bgColor:m,style:g,className:p,patternClassName:y}){const v=R.useRef(null),{transform:x,patternId:S}=ke(ID,Je),_=r||OD[a],A=a===Ua.Dots,E=a===Ua.Cross,C=Array.isArray(i)?i:[i,i],O=[C[0]*x[2]||1,C[1]*x[2]||1],N=_*x[2],w=Array.isArray(c)?c:[c,c],B=E?[N,N]:O,z=[w[0]*x[2]||1+B[0]/2,w[1]*x[2]||1+B[1]/2],U=`${S}${e||""}`;return d.jsxs("svg",{className:ft(["react-flow__background",p]),style:{...g,...Hc,"--xy-background-color-props":m,"--xy-background-pattern-color-props":u},ref:v,"data-testid":"rf__background",children:[d.jsx("pattern",{id:U,x:x[0]%O[0],y:x[1]%O[1],width:O[0],height:O[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${z[0]},-${z[1]})`,children:A?d.jsx(zD,{radius:N/2,className:y}):d.jsx(DD,{dimensions:B,lineWidth:s,variant:a,className:y})}),d.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${U})`})]})}nS.displayName="Background";const kD=R.memo(nS);function LD(){return d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:d.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function HD(){return d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:d.jsx("path",{d:"M0 0h32v4.2H0z"})})}function BD(){return d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:d.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function UD(){return d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:d.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function qD(){return d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:d.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ws({children:e,className:a,...i}){return d.jsx("button",{type:"button",className:ft(["react-flow__controls-button",a]),...i,children:e})}const GD=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function aS({style:e,showZoom:a=!0,showFitView:i=!0,showInteractive:r=!0,fitViewOptions:s,onZoomIn:c,onZoomOut:u,onFitView:m,onInteractiveChange:g,className:p,children:y,position:v="bottom-left",orientation:x="vertical","aria-label":S}){const _=We(),{isInteractive:A,minZoomReached:E,maxZoomReached:C,ariaLabelConfig:O}=ke(GD,Je),{zoomIn:N,zoomOut:w,fitView:B}=Lc(),z=()=>{N(),c?.()},U=()=>{w(),u?.()},H=()=>{B(s),m?.()},X=()=>{_.setState({nodesDraggable:!A,nodesConnectable:!A,elementsSelectable:!A}),g?.(!A)},W=x==="horizontal"?"horizontal":"vertical";return d.jsxs(ul,{className:ft(["react-flow__controls",W,p]),position:v,style:e,"data-testid":"rf__controls","aria-label":S??O["controls.ariaLabel"],children:[a&&d.jsxs(d.Fragment,{children:[d.jsx(Ws,{onClick:z,className:"react-flow__controls-zoomin",title:O["controls.zoomIn.ariaLabel"],"aria-label":O["controls.zoomIn.ariaLabel"],disabled:C,children:d.jsx(LD,{})}),d.jsx(Ws,{onClick:U,className:"react-flow__controls-zoomout",title:O["controls.zoomOut.ariaLabel"],"aria-label":O["controls.zoomOut.ariaLabel"],disabled:E,children:d.jsx(HD,{})})]}),i&&d.jsx(Ws,{className:"react-flow__controls-fitview",onClick:H,title:O["controls.fitView.ariaLabel"],"aria-label":O["controls.fitView.ariaLabel"],children:d.jsx(BD,{})}),r&&d.jsx(Ws,{className:"react-flow__controls-interactive",onClick:X,title:O["controls.interactive.ariaLabel"],"aria-label":O["controls.interactive.ariaLabel"],children:A?d.jsx(qD,{}):d.jsx(UD,{})}),y]})}aS.displayName="Controls";const PD=R.memo(aS);function FD({id:e,x:a,y:i,width:r,height:s,style:c,color:u,strokeColor:m,strokeWidth:g,className:p,borderRadius:y,shapeRendering:v,selected:x,onClick:S}){const{background:_,backgroundColor:A}=c||{},E=u||_||A;return d.jsx("rect",{className:ft(["react-flow__minimap-node",{selected:x},p]),x:a,y:i,rx:y,ry:y,width:r,height:s,style:{fill:E,stroke:m,strokeWidth:g},shapeRendering:v,onClick:S?C=>S(C,e):void 0})}const VD=R.memo(FD),$D=e=>e.nodes.map(a=>a.id),zf=e=>e instanceof Function?e:()=>e;function YD({nodeStrokeColor:e,nodeColor:a,nodeClassName:i="",nodeBorderRadius:r=5,nodeStrokeWidth:s,nodeComponent:c=VD,onClick:u}){const m=ke($D,Je),g=zf(a),p=zf(e),y=zf(i),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return d.jsx(d.Fragment,{children:m.map(x=>d.jsx(KD,{id:x,nodeColorFunc:g,nodeStrokeColorFunc:p,nodeClassNameFunc:y,nodeBorderRadius:r,nodeStrokeWidth:s,NodeComponent:c,onClick:u,shapeRendering:v},x))})}function XD({id:e,nodeColorFunc:a,nodeStrokeColorFunc:i,nodeClassNameFunc:r,nodeBorderRadius:s,nodeStrokeWidth:c,shapeRendering:u,NodeComponent:m,onClick:g}){const{node:p,x:y,y:v,width:x,height:S}=ke(_=>{const A=_.nodeLookup.get(e);if(!A)return{node:void 0,x:0,y:0,width:0,height:0};const E=A.internals.userNode,{x:C,y:O}=A.internals.positionAbsolute,{width:N,height:w}=aa(E);return{node:E,x:C,y:O,width:N,height:w}},Je);return!p||p.hidden||!ab(p)?null:d.jsx(m,{x:y,y:v,width:x,height:S,style:p.style,selected:!!p.selected,className:r(p),color:a(p),borderRadius:s,strokeColor:i(p),strokeWidth:c,shapeRendering:u,onClick:g,id:p.id})}const KD=R.memo(XD);var ZD=R.memo(YD);const QD=200,JD=150,WD=e=>!e.hidden,e4=e=>{const a={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:a,boundingRect:e.nodeLookup.size>0?nb(ll(e.nodeLookup,{filter:WD}),a):a,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},t4="react-flow__minimap-desc";function iS({style:e,className:a,nodeStrokeColor:i,nodeColor:r,nodeClassName:s="",nodeBorderRadius:c=5,nodeStrokeWidth:u,nodeComponent:m,bgColor:g,maskColor:p,maskStrokeColor:y,maskStrokeWidth:v,position:x="bottom-right",onClick:S,onNodeClick:_,pannable:A=!1,zoomable:E=!1,ariaLabel:C,inversePan:O,zoomStep:N=1,offsetScale:w=5}){const B=We(),z=R.useRef(null),{boundingRect:U,viewBB:H,rfId:X,panZoom:W,translateExtent:V,flowWidth:K,flowHeight:ie,ariaLabelConfig:k}=ke(e4,Je),j=e?.width??QD,M=e?.height??JD,L=U.width/j,G=U.height/M,Q=Math.max(L,G),J=Q*j,D=Q*M,P=w*Q,Y=U.x-(J-U.width)/2-P,te=U.y-(D-U.height)/2-P,de=J+P*2,me=D+P*2,I=`${t4}-${X}`,le=R.useRef(0),fe=R.useRef();le.current=Q,R.useEffect(()=>{if(z.current&&W)return fe.current=bj({domNode:z.current,panZoom:W,getTransform:()=>B.getState().transform,getViewScale:()=>le.current}),()=>{fe.current?.destroy()}},[W]),R.useEffect(()=>{fe.current?.update({translateExtent:V,width:K,height:ie,inversePan:O,pannable:A,zoomStep:N,zoomable:E})},[A,E,O,N,V,K,ie]);const he=S?we=>{const[Ce,qe]=fe.current?.pointer(we)||[0,0];S(we,{x:Ce,y:qe})}:void 0,Se=_?R.useCallback((we,Ce)=>{const qe=B.getState().nodeLookup.get(Ce).internals.userNode;_(we,qe)},[]):void 0,pe=C??k["minimap.ariaLabel"];return d.jsx(ul,{position:x,style:{...e,"--xy-minimap-background-color-props":typeof g=="string"?g:void 0,"--xy-minimap-mask-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-stroke-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-stroke-width-props":typeof v=="number"?v*Q:void 0,"--xy-minimap-node-background-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof u=="number"?u:void 0},className:ft(["react-flow__minimap",a]),"data-testid":"rf__minimap",children:d.jsxs("svg",{width:j,height:M,viewBox:`${Y} ${te} ${de} ${me}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":I,ref:z,onClick:he,children:[pe&&d.jsx("title",{id:I,children:pe}),d.jsx(ZD,{onClick:Se,nodeColor:r,nodeStrokeColor:i,nodeBorderRadius:c,nodeClassName:s,nodeStrokeWidth:u,nodeComponent:m}),d.jsx("path",{className:"react-flow__minimap-mask",d:`M${Y-P},${te-P}h${de+P*2}v${me+P*2}h${-de-P*2}z
29
- M${H.x},${H.y}h${H.width}v${H.height}h${-H.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}iS.displayName="MiniMap";const n4=R.memo(iS),a4=e=>a=>e?`${Math.max(1/a.transform[2],1)}`:void 0,i4={[Ro.Line]:"right",[Ro.Handle]:"bottom-right"};function o4({nodeId:e,position:a,variant:i=Ro.Handle,className:r,style:s=void 0,children:c,color:u,minWidth:m=10,minHeight:g=10,maxWidth:p=Number.MAX_VALUE,maxHeight:y=Number.MAX_VALUE,keepAspectRatio:v=!1,resizeDirection:x,autoScale:S=!0,shouldResize:_,onResizeStart:A,onResize:E,onResizeEnd:C}){const O=Ib(),N=typeof e=="string"?e:O,w=We(),B=R.useRef(null),z=i===Ro.Handle,U=ke(R.useCallback(a4(z&&S),[z,S]),Je),H=R.useRef(null),X=a??i4[i];R.useEffect(()=>{if(!(!B.current||!N))return H.current||(H.current=Oj({domNode:B.current,nodeId:N,getStoreItems:()=>{const{nodeLookup:V,transform:K,snapGrid:ie,snapToGrid:k,nodeOrigin:j,domNode:M}=w.getState();return{nodeLookup:V,transform:K,snapGrid:ie,snapToGrid:k,nodeOrigin:j,paneDomNode:M}},onChange:(V,K)=>{const{triggerNodeChanges:ie,nodeLookup:k,parentLookup:j,nodeOrigin:M}=w.getState(),L=[],G={x:V.x,y:V.y},Q=k.get(N);if(Q&&Q.expandParent&&Q.parentId){const J=Q.origin??M,D=V.width??Q.measured.width??0,P=V.height??Q.measured.height??0,Y={id:Q.id,parentId:Q.parentId,rect:{width:D,height:P,...ib({x:V.x??Q.position.x,y:V.y??Q.position.y},{width:D,height:P},Q.parentId,k,J)}},te=jm([Y],k,j,M);L.push(...te),G.x=V.x?Math.max(J[0]*D,V.x):void 0,G.y=V.y?Math.max(J[1]*P,V.y):void 0}if(G.x!==void 0&&G.y!==void 0){const J={id:N,type:"position",position:{...G}};L.push(J)}if(V.width!==void 0&&V.height!==void 0){const D={id:N,type:"dimensions",resizing:!0,setAttributes:x?x==="horizontal"?"width":"height":!0,dimensions:{width:V.width,height:V.height}};L.push(D)}for(const J of K){const D={...J,type:"position"};L.push(D)}ie(L)},onEnd:({width:V,height:K})=>{const ie={id:N,type:"dimensions",resizing:!1,dimensions:{width:V,height:K}};w.getState().triggerNodeChanges([ie])}})),H.current.update({controlPosition:X,boundaries:{minWidth:m,minHeight:g,maxWidth:p,maxHeight:y},keepAspectRatio:v,resizeDirection:x,onResizeStart:A,onResize:E,onResizeEnd:C,shouldResize:_}),()=>{H.current?.destroy()}},[X,m,g,p,y,v,A,E,C,_]);const W=X.split("-");return d.jsx("div",{className:ft(["react-flow__resize-control","nodrag",...W,i,r]),ref:B,style:{...s,scale:U,...u&&{[z?"backgroundColor":"borderColor"]:u}},children:c})}R.memo(o4);const Of=5,fc=240,r4=180,l4=420,y0=[{id:"top",position:xe.Top},{id:"right",position:xe.Right},{id:"bottom",position:xe.Bottom},{id:"left",position:xe.Left}];function s4(e){const a=/^(\d+)x(\d+)$/.exec(e??"");if(!a)return fc;const i=Number(a[1]),r=Number(a[2]);if(!Number.isFinite(i)||!Number.isFinite(r)||i<=0||r<=0)return fc;const s=fc*(i/r);return Math.round(Math.min(l4,Math.max(r4,s)))}function c4({id:e,data:a,selected:i}){const{t:r}=_e(),s=a,c=F(Y=>Y.updateNodePrompt),u=F(Y=>Y.addNodeReferences),m=F(Y=>Y.readDroppedImageMetadata),g=F(Y=>Y.removeNodeReference),p=F(Y=>Y.generateNode),y=F(Y=>Y.generateNodeInPlace),v=F(Y=>Y.generateNodeVariation),x=F(Y=>Y.addChildNode),S=F(Y=>Y.duplicateBranchRoot),_=F(Y=>Y.deleteNode),A=R.useRef(null),[E,C]=R.useState(!1),[O,N]=R.useState(!1),w=s.referenceImages??[],B=s.status==="pending"||s.status==="reconciling",z=!B&&w.length<Of,U={"--node-preview-w":`${s4(s.size)}px`,"--node-preview-h":`${fc}px`},H=R.useCallback(Y=>c(e,Y.target.value),[e,c]),X=R.useCallback(()=>{p(e)},[e,p]),W=R.useCallback(()=>{y(e)},[e,y]),V=R.useCallback(()=>{v(e)},[e,v]),K=R.useCallback(()=>{s.status==="ready"&&x(e)},[e,s.status,x]),ie=R.useCallback(()=>{S(e)},[e,S]),k=R.useCallback(()=>_(e),[e,_]),j=Y=>{if(!Y)return[];const te=[];for(const de of Array.from(Y)){if(de.kind!=="file"||!de.type.startsWith("image/"))continue;const me=de.getAsFile();me&&te.push(me)}return te},M=async Y=>{Y.length!==0&&(Y.length===1&&await m(Y[0],e)||await u(e,Y))},L=async Y=>{Y.preventDefault(),Y.stopPropagation(),C(!1);const te=Array.from(Y.dataTransfer.files).filter(de=>de.type.startsWith("image/"));te.length===1&&await m(te[0],e)||z&&te.length>0&&u(e,te)},G=Y=>{Y.preventDefault(),Y.stopPropagation(),z&&!E&&C(!0)},Q=Y=>{Y.currentTarget.contains(Y.relatedTarget)||C(!1)},J=Y=>{const te=j(Y.clipboardData?.items??null);if(te.length===0||(Y.preventDefault(),Y.stopPropagation(),!z))return;const de=Of-w.length;u(e,te.slice(0,de))},P=(()=>{switch(s.status){case"empty":return r("node.empty");case"pending":return r("node.pending");case"reconciling":return s.pendingPhase?r("node.reconcilingPhase",{phase:s.pendingPhase}):r("node.reconciling");case"ready":return[s.webSearchCalls?r("node.readyWithSearch",{elapsed:s.elapsed??"?",searches:s.webSearchCalls}):r("node.ready",{elapsed:s.elapsed??"?"}),k0(s.model)].filter(Boolean).join(" · ");case"stale":return s.error?r("node.staleWithError",{error:s.error}):r("node.stale");case"asset-missing":return s.error?r("node.assetMissingWithError",{error:s.error}):r("node.assetMissing");case"error":return r("node.error",{error:s.error??r("node.errorUnknown")});default:return""}})();return d.jsxs("div",{className:`image-node image-node--${s.status}${i?" image-node--selected":""}`,style:U,children:[y0.map(({id:Y,position:te})=>d.jsx(Do,{type:"target",id:`target-${Y}`,position:te,className:`image-node__handle image-node__handle--target image-node__handle--${Y}`},`target-${Y}`)),d.jsx("div",{className:"image-node__preview",children:s.imageUrl&&s.status!=="asset-missing"?d.jsx("img",{src:s.imageUrl,alt:r("node.nodeImageAlt")}):B&&s.partialImageUrl?d.jsx("img",{className:"image-node__partial",src:s.partialImageUrl,alt:r("node.partialImageAlt")}):B?d.jsx("div",{className:"image-node__skeleton"}):s.status==="asset-missing"?d.jsx("div",{className:"image-node__placeholder",children:r("node.noAsset")}):s.status==="stale"?d.jsx("div",{className:"image-node__placeholder",children:r("node.stateStale")}):d.jsx("div",{className:"image-node__placeholder",children:r("node.noImage")})}),d.jsxs("div",{className:`image-node__composer nodrag${E?" is-dragging":""}`,onDrop:L,onDragOver:G,onDragLeave:Q,onPaste:J,children:[w.length>0?d.jsx("div",{className:"image-node__refs",children:w.map((Y,te)=>d.jsxs("div",{className:"image-node__ref-chip",title:r("node.refAlt",{n:te+1}),children:[d.jsx("img",{src:Y,alt:r("node.refAlt",{n:te+1})}),d.jsx("button",{type:"button",className:"image-node__ref-remove",onClick:()=>g(e,te),disabled:B,"aria-label":r("node.removeRef",{n:te+1}),children:"×"})]},te))}):null,d.jsx("textarea",{className:"image-node__prompt",value:s.prompt,onChange:H,onKeyDown:Y=>Y.stopPropagation(),placeholder:s.parentServerNodeId?r("node.editPromptPlaceholder"):r("node.promptPlaceholder"),rows:2,disabled:B}),d.jsxs("div",{className:"image-node__composer-bar",children:[d.jsx("button",{type:"button",className:"image-node__attach",onClick:()=>z&&A.current?.click(),disabled:!z,title:s.parentServerNodeId?r("node.nodeRefsUsedWithParent"):r("node.attachRefTitle"),children:r("node.attachRef")}),E?d.jsx("span",{className:"image-node__drop-hint",children:r("node.dropRefs")}):w.length>0?d.jsxs("span",{className:"image-node__ref-count",children:[w.length,"/",Of]}):null]}),d.jsx("input",{ref:A,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:Y=>{const te=Array.from(Y.target.files??[]);te.length>0&&M(te),Y.target.value=""}})]}),d.jsxs("div",{className:"image-node__footer nodrag",children:[d.jsx("span",{className:"image-node__status",title:P,children:P}),d.jsxs("div",{className:"image-node__actions",children:[d.jsxs("div",{style:{position:"relative"},children:[d.jsx("button",{type:"button",onClick:()=>N(Y=>!Y),disabled:!s.prompt?.trim(),title:r("promptLibrary.saveTitle"),"aria-label":r("promptLibrary.saveTitle"),children:"☆"}),O&&d.jsx(fm,{text:s.prompt||"",onClose:()=>N(!1)})]}),s.status==="ready"?d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button",onClick:W,disabled:B,title:r("node.regenerateTitle"),"aria-label":r("node.regenerateTitle"),children:"↻"}),d.jsx("button",{type:"button",onClick:V,disabled:B,title:r("node.newVariationTitle"),"aria-label":r("node.newVariationTitle"),children:r("node.newVariation")})]}):d.jsx("button",{type:"button",className:"image-node__generate",onClick:X,disabled:B,title:r("node.generateTitle"),"aria-label":r("node.generateTitle"),children:r("node.generate")}),s.status==="ready"?d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button",onClick:K,title:r("node.addChildTitle"),"aria-label":r("node.addChildTitle"),children:r("node.addChild")}),d.jsx("button",{type:"button",onClick:ie,title:r("node.duplicateBranchTitle"),"aria-label":r("node.duplicateBranchTitle"),children:r("node.duplicateBranch")})]}):null,d.jsx("button",{type:"button",onClick:k,className:"image-node__del",title:r("node.deleteTitle"),"aria-label":r("node.deleteTitle"),children:"×"})]})]}),y0.map(({id:Y,position:te})=>d.jsx(Do,{type:"source",id:`source-${Y}`,position:te,className:`image-node__handle image-node__handle--source image-node__handle--${Y}`},`source-${Y}`))]})}const u4=R.memo(c4);function d4(){const{t:e}=_e(),a=F(O=>O.graphNodes),i=F(O=>O.graphEdges),r=F(O=>O.nodeSelectionMode),s=F(O=>O.nodeBatchRunning),c=F(O=>O.nodeBatchStopping),u=F(O=>O.toggleNodeSelectionMode),m=F(O=>O.selectAllGraphNodes),g=F(O=>O.clearNodeSelection),p=F(O=>O.runNodeBatch),y=F(O=>O.cancelNodeBatch),v=F(O=>O.disconnectEdges),x=a.filter(O=>O.selected).map(O=>O.id),S=i.filter(O=>O.selected).map(O=>O.id),_=new Set(x),A=a.filter(O=>_.has(O.id)&&!F0(O)).length,E=V0(i,x).length,C=O=>{p(O)};return d.jsxs(ul,{position:"top-center",className:"node-batch-bar nodrag",children:[d.jsx("button",{type:"button",onClick:u,"aria-pressed":r,children:e(r?"nodeBatch.selectionOn":"nodeBatch.selectionOff")}),d.jsx("button",{type:"button",onClick:m,disabled:a.length===0,children:e("nodeBatch.selectAll")}),S.length>0?d.jsx("button",{type:"button",className:"node-batch-bar__danger",onClick:()=>v(S),title:e("edge.disconnectTitle"),"aria-label":e("edge.disconnectTitle"),children:e("edge.disconnect")}):null,x.length>0?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"node-batch-bar__meta",children:e("nodeBatch.summary",{selected:x.length,missing:A,stale:E})}),d.jsx("button",{type:"button",onClick:()=>C("missing-only"),disabled:s,children:e("nodeBatch.generateMissing")}),d.jsx("button",{type:"button",onClick:()=>C("regenerate-all"),disabled:s,children:e("nodeBatch.regenerateSelected")}),s?d.jsx("button",{type:"button",onClick:y,disabled:c,children:e(c?"nodeBatch.stopping":"nodeBatch.stopRemaining")}):null,d.jsx("button",{type:"button",onClick:g,disabled:s,children:e("nodeBatch.clear")})]}):null]})}function f4(){const{t:e}=_e(),a=F(z=>z.graphNodes),i=F(z=>z.graphEdges),r=F(z=>z.setGraphNodes),s=F(z=>z.setGraphEdges),c=F(z=>z.disconnectEdges),u=F(z=>z.addRootNode),m=F(z=>z.addChildNodeAt),g=F(z=>z.connectNodes),p=F(z=>z.deleteNodes),y=F(z=>z.nodeSelectionMode),v=F(z=>z.selectNodeGraph),x=F(z=>z.sessionLoading),{screenToFlowPosition:S}=Lc(),_=R.useRef(null),A=R.useMemo(()=>({imageNode:u4}),[]),E=R.useCallback(z=>r(Ab(z,a)),[a,r]),C=R.useCallback(z=>{const U=z.filter(H=>H.type==="remove").map(H=>H.id);if(U.length>0){if(y)return;c(U);return}s(jb(z,i))},[c,i,y,s]),O=R.useCallback(z=>{z.source&&z.target&&g(z.source,z.target,z.sourceHandle,z.targetHandle)},[g]),N=R.useCallback((z,U)=>{if(U.isValid)return;const H=U.fromNode?.id;if(!H||U.toNode||U.toHandle)return;const X="touches"in z?z.changedTouches[0].clientX:z.clientX,W="touches"in z?z.changedTouches[0].clientY:z.clientY,V=S({x:X,y:W});m(H,V,U.fromHandle?.id??null)},[m,S]),w=R.useCallback(z=>p(z.map(U=>U.id)),[p]),B=R.useCallback((z,U)=>{y&&(z.preventDefault(),v(U.id,z.metaKey||z.ctrlKey))},[y,v]);return d.jsxs("main",{className:"node-canvas",ref:_,children:[x&&d.jsx("div",{className:"node-canvas__loading",children:e("nodeCanvas.loading")}),a.length===0?d.jsx("button",{type:"button",className:"node-canvas__plus",onClick:()=>u(),children:e("nodeCanvas.addFirst")}):d.jsxs(d.Fragment,{children:[d.jsxs(RD,{nodes:a,edges:i,onNodesChange:E,onEdgesChange:C,onConnect:O,onConnectEnd:N,onNodesDelete:w,onNodeClick:B,nodeTypes:A,connectionMode:_i.Loose,connectionRadius:32,selectionOnDrag:y,multiSelectionKeyCode:y?null:void 0,panOnDrag:y?[2]:!0,fitView:!0,deleteKeyCode:y?null:["Delete","Backspace"],proOptions:{hideAttribution:!0},children:[d.jsx(d4,{}),d.jsx(kD,{gap:24,color:"var(--canvas-grid)"}),d.jsx(PD,{className:"node-canvas__controls"}),d.jsx(n4,{pannable:!0,zoomable:!0,maskColor:"var(--minimap-mask)",nodeColor:"var(--minimap-node-fill)",nodeStrokeColor:"var(--minimap-node-stroke)",style:{background:"var(--minimap-bg)",border:"1px solid var(--minimap-border)"}})]}),d.jsx("button",{type:"button",className:"node-canvas__add-root",onClick:()=>u(),title:e("nodeCanvas.addRootTitle"),children:"+"}),d.jsx("div",{className:"node-canvas__hint",children:e("nodeCanvas.hint")})]})]})}function m4(){return d.jsx(tS,{children:d.jsx(f4,{})})}function gi({title:e,help:a,items:i,value:r,onChange:s}){return d.jsxs("div",{className:"option-group",children:[e?d.jsx("div",{className:"section-title",children:e}):null,d.jsx("div",{className:"option-row",children:i.map(c=>d.jsxs("button",{className:`option-btn${c.value===r?" active":""}`,style:c.color?{color:c.color}:void 0,disabled:c.disabled,onClick:()=>s(c.value),type:"button",children:[c.label,c.sub?d.jsxs(d.Fragment,{children:[d.jsx("br",{}),d.jsx("span",{className:"option-sub",children:c.sub})]}):null]},c.value))}),a?d.jsx("p",{className:"option-help",children:a}):null]})}const oS="ima2.customSizeSlots";function h4(e){if(!e||typeof e!="object")return!1;const a=e;return typeof a.id=="string"&&typeof a.w=="number"&&typeof a.h=="number"&&typeof a.updatedAt=="number"}function p4(){try{const e=localStorage.getItem(oS);if(!e)return[];const a=JSON.parse(e);return Array.isArray(a)?_o(a.filter(h4)):[]}catch{return[]}}function g4(e){try{localStorage.setItem(oS,JSON.stringify(_o(e)))}catch{}}function y4(e,a,i){return Tc({id:`slot_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,w:e,h:a,ratio:i,updatedAt:Date.now()})}function Ir(e){return e.map(a=>({value:a.value,label:a.label,sub:a.sub}))}function v4(){const e=F(j=>j.sizePreset),a=F(j=>j.setSizePreset),i=F(j=>j.customW),r=F(j=>j.customH),s=F(j=>j.setCustomSize),{t:c}=_e(),[u,m]=R.useState(String(i)),[g,p]=R.useState(String(r)),[y,v]=R.useState(e==="custom"),[x,S]=R.useState(()=>p4()),[_,A]=R.useState(null),[E,C]=R.useState("free"),O=e==="custom",N=cm(u,g,i,r),w=$N().filter(j=>j.value==="auto");R.useEffect(()=>{m(String(i)),p(String(r))},[i,r]),R.useEffect(()=>{O||(v(!1),A(null))},[O]);function B(j){S(j),g4(j)}function z(){const j=Tn(u,i),M=Tn(g,r);s(j,M),m(String(j)),p(String(M))}function U(j){j.key==="Enter"&&(j.preventDefault(),z())}function H(){a("custom"),v(!0),A(x.length>=xo?x[0]?.id??null:null)}function X(j){a(j),j!=="custom"&&(v(!1),A(null))}function W(j){a("custom"),s(j.w,j.h),m(String(j.w)),p(String(j.h)),v(!1),A(j.id)}function V(j){C(j.id);const M=BN(j);M&&(m(String(M.w)),p(String(M.h)))}function K(){const j=y4(N.w,N.h,E),M=x.length>=xo&&_?qN(x,_,j):UN(x,j);B(M),a("custom"),s(N.w,N.h),m(String(N.w)),p(String(N.h)),A(j.id),v(!1)}const ie=N.reasons.length>0?N.reasons.map(j=>c(`size.adjustedReasons.${j}`)).join(", "):c("size.noAdjustment"),k=N.reasons.includes("maxPixels")&&N.requestedW===N.requestedH&&N.w===N.h?c("size.squareMaxHint",{size:`${ky}×${ky}`}):null;return d.jsxs("div",{className:"option-group size-picker",children:[d.jsx("div",{className:"section-title",children:c("size.title")}),d.jsx(gi,{title:"",items:Ir(GN),value:e,onChange:X}),d.jsx(gi,{title:"",items:Ir(PN),value:e,onChange:X}),d.jsx(gi,{title:"",items:Ir(FN),value:e,onChange:X}),d.jsx(gi,{title:"",items:Ir(VN),value:e,onChange:X}),d.jsxs("div",{className:"option-row size-picker__quick-row",children:[Ir(w).map(j=>d.jsxs("button",{type:"button",className:`option-btn${e===j.value?" active":""}`,onClick:()=>X(j.value),children:[j.label,j.sub?d.jsxs(d.Fragment,{children:[d.jsx("br",{}),d.jsx("span",{className:"option-sub",children:j.sub})]}):null]},j.value)),d.jsxs("button",{type:"button",className:`option-btn${O?" active":""}`,onClick:H,children:[c("size.customPlus"),d.jsx("br",{}),d.jsx("span",{className:"option-sub",children:c("size.customSub")})]})]}),x.length>0?d.jsx("div",{className:"option-row size-picker__slot-row",children:x.map(j=>d.jsxs("button",{type:"button",className:`option-btn size-picker__slot${O&&i===j.w&&r===j.h?" active":""}`,onClick:()=>W(j),children:[j.w,"×",j.h,d.jsx("br",{}),d.jsx("span",{className:"option-sub",children:j.ratio||c("size.customSlot")})]},j.id))}):null,y?d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"size-picker__ratio-row",children:LN.map(j=>d.jsx("button",{type:"button",className:`size-picker__ratio${E===j.id?" active":""}`,onClick:()=>V(j),children:j.id==="free"?c("size.ratioFree"):j.label},j.id))}),d.jsxs("div",{className:"option-row",children:[d.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"custom-size-input",value:u,onChange:j=>m(j.target.value.replace(/\D/g,"")),onBlur:z,onKeyDown:U,placeholder:c("size.width")}),d.jsx("span",{style:{color:"var(--text-dim)",alignSelf:"center",fontFamily:"var(--mono)",fontSize:12},children:"x"}),d.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"custom-size-input",value:g,onChange:j=>p(j.target.value.replace(/\D/g,"")),onBlur:z,onKeyDown:U,placeholder:c("size.height")})]}),d.jsxs("div",{className:"size-picker__preview",children:[d.jsx("span",{children:c("size.normalizedPreview")}),d.jsx("strong",{children:HN(N.w,N.h)})]}),d.jsx("div",{className:"size-picker__preview size-picker__preview--reason",children:ie}),k?d.jsx("div",{className:"size-picker__preview size-picker__preview--detail",children:k}):null,x.length>=xo?d.jsxs("div",{className:"size-picker__replace-row",children:[d.jsx("span",{children:c("size.replaceCustomSlot")}),x.map(j=>d.jsxs("button",{type:"button",className:`size-picker__replace${_===j.id?" active":""}`,onClick:()=>A(j.id),children:[j.w,"×",j.h]},j.id))]}):null,d.jsx("button",{type:"button",className:"size-picker__save",onClick:K,children:x.length>=xo?c("size.replaceCustomSlot"):c("size.saveCustomSlot")}),d.jsx("div",{className:"size-hint",children:c("size.hint")})]}):null]})}const If=[1,2,4];function v0(e){return Math.min(8,Math.max(1,Math.trunc(e||1)))}function x4(){const e=F(O=>O.count),a=F(O=>O.setCount),i=F(O=>O.uiMode),r=F(O=>O.multimode),s=F(O=>O.multimodeMaxImages),c=F(O=>O.setMultimodeMaxImages),{t:u}=_e(),m=i==="classic"&&r,g=m?s:e,p=m?c:a,[y,v]=R.useState(!If.includes(g)),[x,S]=R.useState(String(g));R.useEffect(()=>{v(!If.includes(g)),S(String(g))},[m,g]);function _(O=x){const N=v0(Number.parseInt(O,10));p(N),S(String(N))}function A(O){v(!1),S(String(O)),p(O)}function E(O){const N=v0(g+O);v(!0),S(String(N)),p(N)}function C(O){O.key==="Enter"&&(O.preventDefault(),_())}return d.jsxs("div",{className:"option-group count-picker",children:[d.jsx("div",{className:"section-title",children:u(m?"multimode.maxStages":"count.title")}),d.jsxs("div",{className:"option-row",children:[If.map(O=>d.jsx("button",{type:"button",className:`option-btn${g===O&&!y?" active":""}`,onClick:()=>A(O),children:O},O)),d.jsx("button",{type:"button",className:`option-btn${y?" active":""}`,onClick:()=>{v(O=>!O),S(String(g))},children:u("count.customPlus")})]}),y?d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"count-picker__custom",children:[d.jsx("button",{type:"button",className:"count-picker__step",onClick:()=>E(-1),"aria-label":u("count.decrease"),children:"-"}),d.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"count-picker__input",value:x,onChange:O=>S(O.target.value.replace(/\D/g,"")),onBlur:()=>_(),onKeyDown:C,"aria-label":u("count.customLabel")}),d.jsx("button",{type:"button",className:"count-picker__step",onClick:()=>E(1),"aria-label":u("count.increase"),children:"+"})]}),d.jsx("p",{className:"option-help",children:g>=5?u(m?"multimode.highCountHint":"count.highCountHint"):u(m?"multimode.minMaxHint":"count.minMaxHint")})]}):null]})}const b4={low:{"1024x1024":.006,"1024x1536":.005,"1536x1024":.005,"1024x1360":.005,"1360x1024":.005,"1024x1824":.006,"1824x1024":.006,"2048x2048":.012,"2048x1152":.009,"1152x2048":.009,"3840x2160":.023,"2160x3840":.023,auto:.006},medium:{"1024x1024":.053,"1024x1536":.041,"1536x1024":.041,"1024x1360":.041,"1360x1024":.041,"1024x1824":.05,"1824x1024":.05,"2048x2048":.106,"2048x1152":.08,"1152x2048":.08,"3840x2160":.2,"2160x3840":.2,auto:.053},high:{"1024x1024":.211,"1024x1536":.165,"1536x1024":.165,"1024x1360":.165,"1360x1024":.165,"1024x1824":.2,"1824x1024":.2,"2048x2048":.422,"2048x1152":.32,"1152x2048":.32,"3840x2160":.8,"2160x3840":.8,auto:.211}};function S4(e,a){return b4[e]?.[a]??0}function w4(){const{t:e}=_e(),a=F(v=>v.provider),i=F(v=>v.quality),r=F(v=>v.multimode),s=F(v=>v.multimodeMaxImages),u=F(v=>v.getResolvedSize)(),m=a==="oauth",g=S4(i,u),p=m?e("cost.free"):r?e("cost.multimodeApprox",{amount:(g*s).toFixed(3),count:s}):e("cost.approx",{amount:g.toFixed(3)}),y=m?"var(--green)":void 0;return d.jsxs("div",{className:"cost-estimate",children:[d.jsx("span",{children:e("cost.label")}),d.jsx("span",{className:"price",style:y?{color:y}:void 0,children:p})]})}function _4({prompt:e,onClose:a,onLoad:i,onInsert:r,onDelete:s,onToggleFavorite:c}){const{t:u}=_e(),m=async()=>{try{await navigator.clipboard.writeText(e.text)}catch{}};return d.jsxs("div",{className:"prompt-detail-modal",onClick:a,children:[d.jsx("div",{className:"prompt-detail-modal__backdrop"}),d.jsxs("div",{className:"prompt-detail-modal__content",onClick:g=>g.stopPropagation(),children:[d.jsxs("div",{className:"prompt-detail-modal__header",children:[d.jsx("h4",{children:e.name||u("promptLibrary.untitled")}),d.jsx("button",{className:"prompt-detail-modal__close",onClick:a,"aria-label":u("common.close"),children:"×"})]}),d.jsxs("div",{className:"prompt-detail-modal__body",children:[d.jsx("div",{className:"prompt-detail-modal__label",children:u("promptLibrary.content")}),d.jsx("div",{className:"prompt-detail-modal__prompt",children:e.text}),e.tags.length>0&&d.jsxs("div",{className:"prompt-detail-modal__tags",children:[d.jsx("div",{className:"prompt-detail-modal__label",children:u("promptLibrary.tags")}),d.jsx("div",{className:"prompt-detail-modal__tag-list",children:e.tags.map(g=>d.jsxs("span",{className:"prompt-detail-modal__tag",children:["#",g]},g))})]})]}),d.jsxs("div",{className:"prompt-detail-modal__footer",children:[d.jsx("button",{className:"prompt-detail-modal__load",onClick:i,children:u("promptLibrary.load")}),d.jsx("button",{className:"prompt-detail-modal__copy",onClick:m,children:u("promptLibrary.copy")}),d.jsxs("button",{className:"prompt-detail-modal__insert",onClick:r,children:["+ ",u("promptLibrary.insert")]}),d.jsx("button",{className:`prompt-detail-modal__favorite${e.isFavorite?" prompt-detail-modal__favorite--on":""}`,onClick:c,children:e.isFavorite?"★ "+u("promptLibrary.unfavorite"):"☆ "+u("promptLibrary.favorite")}),d.jsx("button",{className:"prompt-detail-modal__delete",onClick:s,children:u("common.delete")})]})]})]})}function N4({prompt:e,onLoad:a,onInsert:i,onDelete:r,onToggleFavorite:s}){const{t:c}=_e(),[u,m]=R.useState(!1),g=e.text.length>45?e.text.slice(0,45)+"...":e.text;return d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"prompt-library-row",onClick:()=>m(!0),children:[d.jsxs("div",{className:"prompt-library-row__main",children:[d.jsx("div",{className:"prompt-library-row__title",children:e.name||c("promptLibrary.untitled")}),d.jsx("div",{className:"prompt-library-row__preview",children:g})]}),d.jsxs("div",{className:"prompt-library-row__actions",children:[d.jsx("button",{className:"prompt-library-row__insert",onClick:p=>{p.stopPropagation(),i()},title:c("promptLibrary.insert"),"aria-label":c("promptLibrary.insert"),children:"+"}),d.jsx("button",{className:`prompt-library-row__star${e.isFavorite?" prompt-library-row__star--on":""}`,onClick:p=>{p.stopPropagation(),s()},"aria-label":e.isFavorite?c("promptLibrary.unfavorite"):c("promptLibrary.favorite"),children:e.isFavorite?"★":"☆"}),d.jsx("span",{className:"prompt-library-row__chevron",children:"›"})]})]}),u&&d.jsx(_4,{prompt:e,onClose:()=>m(!1),onLoad:()=>{a(),m(!1)},onInsert:()=>{i(),m(!1)},onDelete:r,onToggleFavorite:s})]})}const E4=/\.(txt|md|markdown)$/i;function C4({open:e,onClose:a,onImported:i}){const{t:r}=_e(),s=F(W=>W.showToast),c=R.useRef(null),u=R.useRef(null),m=R.useRef(null),[g,p]=R.useState(""),[y,v]=R.useState([]),[x,S]=R.useState(new Set),[_,A]=R.useState(!1),[E,C]=R.useState(null),[O,N]=R.useState(!1);R.useEffect(()=>{if(e)return m.current=document.activeElement,window.setTimeout(()=>u.current?.focus(),0),()=>m.current?.focus()},[e]);const w=R.useCallback(W=>{v(V=>{const K=new Set(V.map(k=>k.id)),ie=[...V];for(const k of W)K.has(k.id)||ie.push(k);return S(new Set(ie.map(k=>k.id))),ie})},[]),B=R.useCallback(async W=>{const V=W.filter(K=>E4.test(K.name));if(V.length===0){C(r("promptLibrary.importNoValidFiles"));return}A(!0),C(null);try{const K=[];for(const ie of V)K.push(await jy({source:{kind:"local",filename:ie.name,text:await ie.text()}}));w(K.flatMap(ie=>ie.candidates))}catch(K){C(K instanceof Error?K.message:r("promptLibrary.importFailed"))}finally{A(!1)}},[w,r]),z=R.useCallback(async()=>{if(g.trim()){A(!0),C(null);try{const W=await jy({source:{kind:"github",input:g.trim()}});w(W.candidates)}catch(W){C(W instanceof Error?W.message:r("promptLibrary.importFailed"))}finally{A(!1)}}},[w,g,r]),U=R.useCallback(async()=>{const W=y.filter(V=>x.has(V.id));if(W.length===0){C(r("promptLibrary.importSelectAtLeastOne"));return}A(!0),C(null);try{const V=await r_({candidates:W});await i(),s(r("promptLibrary.imported",{count:V.promptsImported})),a()}catch(V){C(V instanceof Error?V.message:r("promptLibrary.importFailed"))}finally{A(!1)}},[y,a,i,x,s,r]),H=R.useCallback(W=>{const V=Array.from(W.target.files??[]);V.length>0&&B(V),W.target.value=""},[B]),X=R.useCallback(W=>{W.preventDefault(),W.stopPropagation(),N(!1);const V=Array.from(W.dataTransfer?.files??[]);V.length>0&&B(V)},[B]);return R.useEffect(()=>{if(!e)return;const W=K=>{K.preventDefault(),N(!0)},V=K=>{K.relatedTarget===null&&N(!1)};return window.addEventListener("dragover",W),window.addEventListener("dragleave",V),window.addEventListener("drop",X),()=>{window.removeEventListener("dragover",W),window.removeEventListener("dragleave",V),window.removeEventListener("drop",X)}},[X,e]),e?d.jsxs("div",{className:"prompt-import-dialog",role:"presentation",children:[d.jsx("div",{className:"prompt-import-dialog__backdrop",onClick:a}),d.jsxs("div",{ref:u,className:"prompt-import-dialog__panel",role:"dialog","aria-modal":"true","aria-labelledby":"prompt-import-title",tabIndex:-1,onKeyDown:W=>{W.key==="Escape"&&a()},children:[d.jsxs("div",{className:"prompt-import-dialog__header",children:[d.jsx("h3",{id:"prompt-import-title",children:r("promptLibrary.importTitle")}),d.jsx("button",{type:"button",onClick:a,"aria-label":r("common.close"),children:"×"})]}),d.jsxs("div",{className:`prompt-import-dialog__dropzone${O?" active":""}`,onDragOver:W=>{W.preventDefault(),N(!0)},onDragLeave:()=>N(!1),onDrop:X,children:[d.jsx("strong",{children:r("promptLibrary.importDropTitle")}),d.jsx("span",{children:r("promptLibrary.importDropHint")}),d.jsx("button",{type:"button",onClick:()=>c.current?.click(),children:r("promptLibrary.importChooseFiles")}),d.jsx("input",{ref:c,className:"prompt-library-panel__file-input",type:"file",accept:".txt,.md,.markdown,text/plain,text/markdown",multiple:!0,onChange:H})]}),d.jsxs("div",{className:"prompt-import-dialog__github",children:[d.jsx("label",{htmlFor:"prompt-import-github",children:r("promptLibrary.importGithubLabel")}),d.jsxs("div",{children:[d.jsx("input",{id:"prompt-import-github",type:"text",value:g,onChange:W=>p(W.target.value),placeholder:"owner/repo:path/to/prompts.md"}),d.jsx("button",{type:"button",onClick:()=>{z()},disabled:_||!g.trim(),children:r("promptLibrary.importPreview")})]})]}),E?d.jsx("div",{className:"prompt-import-dialog__error",role:"alert",children:E}):null,d.jsx("div",{className:"prompt-import-dialog__preview","aria-live":"polite",children:y.length===0?d.jsx("div",{className:"prompt-import-dialog__empty",children:r("promptLibrary.importPreviewEmpty")}):y.map(W=>d.jsxs("label",{className:"prompt-import-dialog__candidate",children:[d.jsx("input",{type:"checkbox",checked:x.has(W.id),onChange:V=>{S(K=>{const ie=new Set(K);return V.target.checked?ie.add(W.id):ie.delete(W.id),ie})}}),d.jsxs("span",{children:[d.jsx("strong",{children:W.name}),d.jsx("small",{children:W.text.slice(0,180)}),W.tags.length>0?d.jsx("em",{children:W.tags.join(" · ")}):null]})]},W.id))}),d.jsxs("div",{className:"prompt-import-dialog__footer",children:[d.jsx("button",{type:"button",onClick:a,children:r("common.cancel")}),d.jsx("button",{type:"button",onClick:()=>{U()},disabled:_||x.size===0,children:r(_?"common.loading":"promptLibrary.importCommit")})]})]})]}):null}function rS({variant:e="overlay"}){const{t:a}=_e(),i=F(H=>H.promptLibraryOpen),r=F(H=>H.togglePromptLibrary),s=F(H=>H.promptLibrary),c=F(H=>H.promptLibraryLoading),u=F(H=>H.loadPromptLibrary),m=F(H=>H.deletePromptFromLibrary),g=F(H=>H.togglePromptFavorite),p=F(H=>H.setPrompt),y=F(H=>H.insertPromptToComposer),v=F(H=>H.clearInsertedPrompts),x=F(H=>H.showToast),[S,_]=R.useState(""),[A,E]=R.useState(!1),[C,O]=R.useState(!1),[N,w]=R.useState(!1);R.useEffect(()=>{i&&u()},[i,u]);const B=R.useCallback(H=>{y({id:H.id,name:H.name||a("promptLibrary.untitled"),text:H.text}),x(a("promptLibrary.inserted")),r()},[y,x,a,r]);if(!i)return null;const z=s.prompts.filter(H=>{if(A&&!H.isFavorite)return!1;if(!S.trim())return!0;const X=S.toLowerCase();return H.name.toLowerCase().includes(X)||H.text.toLowerCase().includes(X)||H.tags.some(W=>W.toLowerCase().includes(X))}),U=d.jsxs("div",{className:"prompt-library-panel__drawer",children:[d.jsxs("div",{className:"prompt-library-panel__header",children:[d.jsx("h3",{children:a("promptLibrary.title")}),d.jsxs("div",{className:"prompt-library-panel__actions",children:[d.jsx("button",{className:"prompt-library-panel__add",onClick:()=>O(H=>!H),title:a("promptLibrary.addNew"),"aria-label":a("promptLibrary.addNew"),children:"+"}),d.jsx("button",{className:"prompt-library-panel__import",onClick:()=>w(!0),title:a("promptLibrary.importFiles"),"aria-label":a("promptLibrary.importFiles"),children:a("promptLibrary.import")}),d.jsx("button",{onClick:r,"aria-label":a("common.close"),children:"×"})]}),C&&d.jsx(fm,{text:"",onClose:()=>O(!1)})]}),d.jsxs("div",{className:"prompt-library-panel__search",children:[d.jsx("input",{type:"text",placeholder:a("promptLibrary.search"),value:S,onChange:H=>_(H.target.value)}),d.jsxs("button",{type:"button",className:`prompt-library-panel__filter-toggle${A?" active":""}`,"aria-pressed":A,title:a("promptLibrary.favorites"),onClick:()=>E(H=>!H),children:[d.jsx("span",{"aria-hidden":"true",children:"★"}),d.jsx("span",{children:a("promptLibrary.favorites")})]})]}),c?d.jsx("div",{className:"prompt-library-panel__loading",children:a("common.loading")}):d.jsx("div",{className:"prompt-library-panel__list",children:z.length===0?d.jsx("div",{className:"prompt-library-panel__empty",children:a("promptLibrary.empty")}):z.map(H=>d.jsx(N4,{prompt:H,onLoad:()=>{v(),p(H.text),r()},onInsert:()=>B(H),onDelete:()=>m(H.id),onToggleFavorite:()=>g(H.id)},H.id))}),d.jsx(C4,{open:N,onClose:()=>w(!1),onImported:u})]});return d.jsxs("div",{className:`prompt-library-panel prompt-library-panel--${e}`,children:[e==="overlay"?d.jsx("div",{className:"prompt-library-panel__backdrop",onClick:r}):null,U]})}const T4=[{value:"png",label:"PNG"},{value:"jpeg",label:"JPEG"},{value:"webp",label:"WebP"}];function M4(){const e=F(w=>w.rightPanelOpen),a=F(w=>w.toggleRightPanel),i=F(w=>w.promptLibraryOpen),r=F(w=>w.togglePromptLibrary),{t:s}=_e(),[c,u]=R.useState(typeof window<"u"?window.matchMedia("(max-width: 800px)").matches:!1);R.useEffect(()=>{if(typeof window>"u")return;const w=window.matchMedia("(max-width: 800px)"),B=()=>u(w.matches);return w.addEventListener("change",B),()=>w.removeEventListener("change",B)},[]);const m=c?e:!0,g=F(w=>w.quality),p=F(w=>w.setQuality),y=F(w=>w.format),v=F(w=>w.setFormat),x=F(w=>w.moderation),S=F(w=>w.setModeration),_=F(w=>w.multimode),A=F(w=>w.setMultimode),C=F(w=>w.uiMode)==="classic",O=[{value:"low",label:s("quality.lowLabel"),sub:s("quality.lowSub")},{value:"medium",label:s("quality.mediumLabel"),sub:s("quality.mediumSub")},{value:"high",label:s("quality.highLabel"),sub:s("quality.highSub")}],N=[{value:"auto",label:s("moderation.autoLabel"),sub:s("moderation.autoSub")},{value:"low",label:s("moderation.lowLabel"),sub:s("moderation.lowSub"),color:"var(--amber)"}];return d.jsxs(d.Fragment,{children:[c&&e?d.jsx("div",{className:"right-panel-backdrop",role:"button","aria-label":s("panel.closeSettings"),onClick:a}):null,d.jsxs("aside",{className:`right-panel${e?"":" collapsed"}${c&&m?" drawer-open":""}`,"aria-label":s("panel.detailSettings"),children:[d.jsx("button",{type:"button",className:"right-panel-toggle","aria-expanded":e,"aria-controls":"right-panel-body",onClick:a,title:s(e?"panel.toggleHide":"panel.toggleShow"),children:c?s(e?"panel.close":"panel.open"):e?">":"<"}),d.jsxs("div",{id:"right-panel-body",className:"right-panel-body",hidden:!e,children:[d.jsxs("div",{className:"right-panel-tabs",role:"tablist","aria-label":s("panel.detailSettings"),children:[d.jsx("button",{type:"button",role:"tab","aria-selected":!i,className:`right-panel-tabs__button${i?"":" active"}`,onClick:()=>{i&&r()},children:s("panel.detailSettings")}),d.jsx("button",{type:"button",role:"tab","aria-selected":i,className:`right-panel-tabs__button${i?" active":""}`,onClick:()=>{i||r()},children:s("promptLibrary.title")})]}),i?d.jsx(rS,{variant:"embedded"}):d.jsxs("div",{className:"right-panel-settings",role:"tabpanel",children:[d.jsx(gi,{title:s("quality.title"),items:O,value:g,onChange:p}),d.jsx(v4,{}),d.jsx(gi,{title:s("format.title"),items:T4,value:y,onChange:v}),d.jsx(gi,{title:s("moderation.title"),items:N,value:x,onChange:S}),d.jsx("p",{className:"option-help",children:s("moderation.explain")}),C&&d.jsx("div",{className:"option-group multimode-toggle",children:d.jsxs("button",{type:"button",className:`multimode-toggle__button${_?" active":""}`,"aria-pressed":_,title:s("multimode.tooltip"),onClick:()=>A(!_),children:[d.jsx("span",{children:s("multimode.label")}),d.jsx("span",{children:s("multimode.shortHint")})]})}),d.jsx(x4,{}),d.jsx(w4,{})]})]})]})]})}function lS(e){const a=e.currentTarget;if(a.scrollWidth<=a.clientWidth||!(Math.abs(e.deltaY)>Math.abs(e.deltaX)))return;const r=a.scrollLeft<=0,s=a.scrollLeft+a.clientWidth>=a.scrollWidth-1,c=e.deltaY<0,u=e.deltaY>0;c&&r||u&&s||(e.preventDefault(),a.scrollLeft+=e.deltaY)}function x0(e){return e.filename??e.url??e.image}function A4(){const e=F(p=>p.history),a=F(p=>p.currentImage),i=F(p=>p.historyStripLayout),r=F(p=>p.selectHistory),s=F(p=>p.openGallery),c=R.useRef({}),{t:u}=_e(),m=a?x0(a):null,g=R.useMemo(()=>e.filter(p=>!p.canvasVersion),[e]);return R.useEffect(()=>{m&&c.current[m]?.scrollIntoView({block:"nearest",inline:"nearest"})},[m,g]),d.jsxs("div",{className:`history-strip${i==="horizontal"?" history-strip--horizontal":""}${i==="sidebar"?" history-strip--sidebar":""}`,onWheel:lS,"data-layout":i,children:[d.jsx("button",{type:"button",className:"history-thumb history-thumb--add",onClick:s,"aria-label":u("history.openGalleryAria"),title:u("history.openGalleryTitle"),children:d.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[d.jsx("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),d.jsx("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),d.jsx("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),d.jsx("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]})}),g.map((p,y)=>{const v=x0(p),x=m===v;return d.jsx("img",{ref:S=>{c.current[v]=S},src:p.thumb||p.url||p.image,alt:"",className:`history-thumb${x?" active":""}`,onClick:()=>r(p)},p.filename??`${y}-${p.image}`)})]})}function j4(){const[e,a]=R.useState(null),[i,r]=R.useState(!1);return R.useEffect(()=>{let s=!1;return D1().then(c=>{s||a(c)}).catch(()=>{s||r(!0)}),()=>{s=!0}},[]),{data:e,error:i}}function R4(){const[e,a]=R.useState(null);return R.useEffect(()=>{let i=!1,r=null;const s=async()=>{try{const c=await R1();if(i)return;a(c),c.status==="starting"&&(r=setTimeout(s,3e3))}catch{i||a(null)}};return s(),()=>{i=!0,r&&clearTimeout(r)}},[]),e}function D4(e){return e==="ready"?"Ready":e==="auth_required"?"Login required":e==="starting"?"Starting":e==="offline"?"Offline":"Checking"}function z4(){const{t:e}=_e(),a=R4(),{data:i,error:r}=j4(),s=i?.apiKeySource==="env"||i?.apiKeySource==="config"||i?.apiKeyValid===!0,c=a?.status==="ready",u=i?.apiKeySource==="config"?e("settings.account.apiSourceConfig"):e("settings.account.apiSourceEnv");return d.jsxs(d.Fragment,{children:[d.jsxs("article",{className:"settings-row",children:[d.jsxs("div",{className:"settings-row__copy",children:[d.jsx("p",{className:"settings-eyebrow",children:e("settings.account.primaryEyebrow")}),d.jsx("h4",{children:e("settings.account.oauthTitle")}),d.jsx("p",{children:e("settings.account.oauthBody")})]}),d.jsxs("div",{className:`settings-status${c?" is-ok":""}`,children:[d.jsx("span",{"aria-hidden":"true"}),D4(a?.status)]})]}),s?d.jsxs("article",{className:"settings-row",children:[d.jsxs("div",{className:"settings-row__copy",children:[d.jsx("p",{className:"settings-eyebrow",children:u}),d.jsx("h4",{children:e("settings.account.apiTitle")}),d.jsx("p",{children:e("settings.account.apiBody")})]}),d.jsxs("div",{className:"settings-status is-muted",children:[d.jsx("span",{"aria-hidden":"true"}),e(r?"settings.account.apiUnknown":"settings.account.apiDisabled")]})]}):null]})}function O4(){const{t:e}=_e(),a=F(s=>s.reasoningEffort),i=F(s=>s.setReasoningEffort),r=s=>{i(s.target.value)};return d.jsx("div",{className:"image-model-select image-model-select--settings",children:d.jsx("select",{id:"settings-reasoning-effort",value:a,onChange:r,children:H0.map(s=>d.jsx("option",{value:s.value,children:e(s.fullLabelKey)},s.value))})})}const I4={ko:"KO",en:"EN"};function k4(){const{t:e,locale:a}=_e(),i=F(r=>r.setLocale);return d.jsx("div",{className:"lang-toggle",role:"group","aria-label":e("language.label"),children:jN.map(r=>d.jsx("button",{type:"button",className:`lang-toggle__btn ${a===r?"is-active":""}`,onClick:()=>i(r),"aria-pressed":a===r,title:e(`language.${r}`),children:d.jsx("span",{className:"lang-toggle__label",children:I4[r]})},r))})}const L4=["system","dark","light"];function H4(){const{t:e}=_e(),a=F(p=>p.theme),i=F(p=>p.setTheme),r=F(p=>p.themeFamily),s=F(p=>p.setThemeFamily),[c,u]=R.useState(!1),m=R.useRef(null);R.useEffect(()=>{if(!c)return;const p=v=>{m.current&&(m.current.contains(v.target)||u(!1))},y=v=>{v.key==="Escape"&&u(!1)};return document.addEventListener("mousedown",p),document.addEventListener("keydown",y),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",y)}},[c]);const g=p=>e(`theme.family.${p}`);return d.jsxs("div",{className:"theme-toggle","aria-label":e("theme.label"),children:[d.jsxs("div",{className:"theme-toggle__row",children:[d.jsx("span",{className:"theme-toggle__label",id:"theme-style-label",children:e("theme.styleLabel")}),d.jsxs("div",{className:"theme-toggle__family",ref:m,children:[d.jsxs("button",{type:"button",className:"theme-toggle__family-trigger","aria-haspopup":"listbox","aria-expanded":c,"aria-labelledby":"theme-style-label",onClick:()=>u(p=>!p),children:[d.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${r}`,"aria-hidden":"true"}),d.jsx("span",{className:"theme-toggle__family-name",children:g(r)}),d.jsx("span",{className:"theme-toggle__family-caret","aria-hidden":"true",children:"▾"})]}),c?d.jsx("ul",{className:"theme-toggle__family-menu",role:"listbox","aria-labelledby":"theme-style-label",children:M0.map(p=>d.jsx("li",{role:"none",children:d.jsxs("button",{type:"button",role:"option","aria-selected":r===p,className:`theme-toggle__family-option ${r===p?"is-active":""}`,onClick:()=>{s(p),u(!1)},children:[d.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${p}`,"aria-hidden":"true"}),d.jsx("span",{className:"theme-toggle__family-name",children:g(p)})]})},p))}):null]})]}),d.jsxs("div",{className:"theme-toggle__row",children:[d.jsx("span",{className:"theme-toggle__label",id:"theme-mode-label",children:e("theme.modeLabel")}),d.jsx("div",{className:"theme-toggle__mode",role:"group","aria-labelledby":"theme-mode-label",children:L4.map(p=>d.jsx("button",{type:"button",className:`theme-toggle__btn ${a===p?"is-active":""}`,onClick:()=>i(p),"aria-pressed":a===p,title:e(`theme.${p}`),children:e(`theme.${p}`)},p))})]})]})}const B4=["rail","horizontal","sidebar"];function U4(){const{t:e}=_e(),a=F(r=>r.historyStripLayout),i=F(r=>r.setHistoryStripLayout);return d.jsx("div",{className:"history-layout-toggle",role:"group","aria-label":e("settings.appearance.historyStripLayoutTitle"),children:B4.map(r=>d.jsx("button",{type:"button",className:`history-layout-toggle__btn ${a===r?"is-active":""}`,onClick:()=>i(r),"aria-pressed":a===r,title:e(`settings.appearance.historyStripLayout.${r}`),children:e(`settings.appearance.historyStripLayout.${r}`)},r))})}const kf=["account","generation","appearance","language","future"];function kr({id:e,setRef:a,children:i}){const{t:r}=_e();return d.jsxs("section",{id:e,ref:s=>a(e,s),className:"settings-section","aria-labelledby":`settings-section-${e}`,children:[d.jsx("header",{className:"settings-section__header",children:d.jsxs("div",{children:[d.jsx("h3",{id:`settings-section-${e}`,children:r(`settings.sections.${e}.title`)}),d.jsx("p",{children:r(`settings.sections.${e}.hint`)})]})}),d.jsx("div",{className:"settings-section__body",children:i})]})}function q4(){const{t:e}=_e(),a=F(y=>y.activeSettingsSection),i=F(y=>y.setActiveSettingsSection),r=F(y=>y.closeSettings),s=R.useRef(null),c=R.useRef(null),u=R.useRef(!1),m=R.useRef({account:null,generation:null,appearance:null,language:null,future:null}),g=(y,v)=>{m.current[y]=v},p=y=>{i(y),u.current=!0,m.current[y]?.scrollIntoView({behavior:"auto",block:"start"}),c.current!==null&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>{u.current=!1,c.current=null},120)};return R.useEffect(()=>{const y=v=>{v.key==="Escape"&&r()};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[r]),R.useEffect(()=>{const y=s.current;if(!y||typeof IntersectionObserver!="function")return;const v=new IntersectionObserver(x=>{if(u.current)return;const _=x.filter(A=>A.isIntersecting).sort((A,E)=>E.intersectionRatio-A.intersectionRatio)[0]?.target.id;_&&kf.includes(_)&&i(_)},{root:y,threshold:[.35,.6]});for(const x of kf){const S=m.current[x];S&&v.observe(S)}return()=>v.disconnect()},[i]),R.useEffect(()=>()=>{c.current!==null&&window.clearTimeout(c.current)},[]),d.jsx("main",{ref:s,className:"settings-workspace","aria-labelledby":"settings-title",children:d.jsxs("div",{className:"settings-shell",children:[d.jsxs("header",{className:"settings-header",children:[d.jsxs("div",{children:[d.jsx("p",{className:"settings-eyebrow",children:e("settings.eyebrow")}),d.jsx("h2",{id:"settings-title",children:e("settings.title")}),d.jsx("p",{children:e("settings.subtitle")})]}),d.jsx("button",{type:"button",className:"settings-close",onClick:r,"aria-label":e("settings.closeAria"),title:e("settings.closeTitle"),children:"X"})]}),d.jsxs("div",{className:"settings-layout",children:[d.jsx("nav",{className:"settings-nav","aria-label":e("settings.navAria"),children:kf.map(y=>d.jsxs("button",{type:"button",className:`settings-nav__item${a===y?" is-active":""}`,onClick:()=>p(y),"aria-label":e("settings.jumpTo",{section:e(`settings.sections.${y}.title`)}),children:[d.jsx("span",{children:e(`settings.sections.${y}.title`)}),d.jsx("small",{children:e(`settings.sections.${y}.hint`)})]},y))}),d.jsxs("section",{className:"settings-content","aria-label":e("settings.contentAria"),children:[d.jsx(kr,{id:"account",setRef:g,children:d.jsx(z4,{})}),d.jsxs(kr,{id:"generation",setRef:g,children:[d.jsxs("article",{className:"settings-row",children:[d.jsxs("div",{className:"settings-row__copy",children:[d.jsx("h4",{children:e("settings.imageModel.title")}),d.jsx("p",{children:e("settings.imageModel.body")}),d.jsx("p",{className:"settings-row__microcopy",children:e("settings.imageModel.unsupportedHelp")})]}),d.jsx("div",{className:"settings-row__control",children:d.jsx(cx,{variant:"settings"})})]}),d.jsxs("article",{className:"settings-row",children:[d.jsxs("div",{className:"settings-row__copy",children:[d.jsx("h4",{children:e("settings.reasoning.title")}),d.jsx("p",{children:e("settings.reasoning.body")})]}),d.jsx("div",{className:"settings-row__control",children:d.jsx(O4,{})})]}),d.jsxs("article",{className:"settings-row",children:[d.jsxs("div",{className:"settings-row__copy",children:[d.jsx("h4",{children:e("settings.webSearch.title")}),d.jsx("p",{children:e("settings.webSearch.body")})]}),d.jsx("div",{className:"settings-row__control",children:d.jsx(sx,{})})]})]}),d.jsxs(kr,{id:"appearance",setRef:g,children:[d.jsxs("article",{className:"settings-row",children:[d.jsxs("div",{className:"settings-row__copy",children:[d.jsx("h4",{children:e("settings.appearance.themeTitle")}),d.jsx("p",{children:e("settings.appearance.themeBody")})]}),d.jsx("div",{className:"settings-row__control",children:d.jsx(H4,{})})]}),d.jsxs("article",{className:"settings-row",children:[d.jsxs("div",{className:"settings-row__copy",children:[d.jsx("h4",{children:e("settings.appearance.historyStripLayoutTitle")}),d.jsx("p",{children:e("settings.appearance.historyStripLayoutBody")})]}),d.jsx("div",{className:"settings-row__control",children:d.jsx(U4,{})})]})]}),d.jsx(kr,{id:"language",setRef:g,children:d.jsxs("article",{className:"settings-row",children:[d.jsxs("div",{className:"settings-row__copy",children:[d.jsx("h4",{children:e("settings.language.title")}),d.jsx("p",{children:e("settings.language.body")})]}),d.jsx("div",{className:"settings-row__control",children:d.jsx(k4,{})})]})}),d.jsx(kr,{id:"future",setRef:g,children:d.jsxs("article",{className:"settings-note",children:[d.jsx("h4",{children:e("settings.future.title")}),d.jsx("p",{children:e("settings.future.body")})]})})]})]})]})})}function G4(){const e=F(s=>s.toast),[a,i]=R.useState(!1);if(R.useEffect(()=>{if(!e)return;i(!0);const s=setTimeout(()=>i(!1),3e3);return()=>clearTimeout(s)},[e]),!e)return null;const r=["toast",a?"visible":"",e.error?"error":""].filter(Boolean).join(" ");return d.jsx("div",{className:r,children:e.message})}function P4(){const{t:e}=_e(),a=F(v=>v.errorCard),i=F(v=>v.dismissErrorCard);if(!a)return null;const r=Gr[a.code]??Gr.UNKNOWN,s=`${r.cardKey??"errorCard.unknown"}.title`,c=`${r.cardKey??"errorCard.unknown"}.body`,u=r.cta?`${r.cardKey??"errorCard.unknown"}.cta`:null,m=e(s),g=e(c),p=u?e(u):null,y=()=>{if(r.cta==="reload"){window.location.reload();return}else i()};return d.jsx("div",{className:"error-card-backdrop",role:"alertdialog","aria-labelledby":"error-card-title",children:d.jsxs("div",{className:"error-card",children:[d.jsx("div",{className:"error-card__icon","aria-hidden":"true",children:d.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[d.jsx("circle",{cx:"12",cy:"12",r:"10"}),d.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),d.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]})}),d.jsxs("div",{className:"error-card__content",children:[d.jsx("h3",{id:"error-card-title",className:"error-card__title",children:m}),d.jsx("p",{className:"error-card__body",children:g}),a.fallbackMessage&&d.jsxs("details",{className:"error-card__details",children:[d.jsx("summary",{children:e("errorCard.details")}),d.jsx("pre",{children:a.fallbackMessage})]}),d.jsxs("div",{className:"error-card__actions",children:[d.jsx("button",{type:"button",className:"btn btn--ghost",onClick:i,children:e("errorCard.close")}),p&&d.jsx("button",{type:"button",className:"btn btn--primary",onClick:y,children:p})]})]})]})})}function F4(e){if(!e)return"earlier";const a=new Date(e);if(Number.isNaN(a.getTime()))return"earlier";const r=Math.floor((new Date().getTime()-a.getTime())/864e5);return r===0?"today":r===1?"yesterday":r<7?"thisWeek":a.toLocaleDateString("ko-KR",{year:"numeric",month:"short",day:"numeric"})}function b0(e){return e.filename||e.image}function V4({item:e,onOpen:a,onCopyPath:i,onDownloadManifest:r}){const{t:s}=_e(),u=e.cards?.find(m=>m.headline)?.headline||e.headline||s("gallery.cardNewsSet");return d.jsxs(d.Fragment,{children:[d.jsxs("button",{type:"button",className:"gallery__tile",onClick:()=>a(e),title:u,children:[e.image?d.jsx("img",{src:e.image,alt:u,loading:"lazy"}):null,d.jsxs("div",{className:"gallery__caption",children:[d.jsx("small",{children:s("gallery.cardNewsSet")}),d.jsx("span",{className:"gallery__caption-text",children:u})]}),d.jsx("div",{className:"gallery-card-news-strip",children:(e.cards||[]).slice(0,5).map((m,g)=>d.jsxs("span",{children:[m.url?d.jsx("img",{src:m.url,alt:m.headline??"",loading:"lazy"}):null,d.jsx("em",{children:m.cardOrder??g+1})]},`${m.url}-${g}`))})]}),d.jsxs("div",{className:"gallery-card-news-actions",children:[d.jsx("span",{children:s("gallery.cardNewsCount",{n:e.cards?.length??0})}),d.jsx("button",{type:"button",onClick:()=>a(e),children:s("gallery.openCardNewsSet")}),d.jsx("button",{type:"button",onClick:m=>i(e,m),children:s("gallery.copyCardNewsSetPath")}),d.jsx("button",{type:"button",onClick:m=>r(e,m),children:s("gallery.downloadCardNewsManifest")})]})]})}function $4({item:e,active:a,itemRef:i,onSelect:r,onDelete:s,onToggleFavorite:c,t:u}){return d.jsxs("div",{ref:i,className:`gallery__tile-wrap${a?" gallery__tile-wrap--active":""}${e.isFavorite?" gallery__tile-wrap--favorite":""}`,children:[d.jsxs("button",{type:"button",className:`gallery__tile${a?" gallery__tile--active":""}`,onClick:()=>r(e),title:e.prompt??"",children:[d.jsx("img",{src:e.thumb||e.image,alt:e.prompt??u("gallery.imageAltFallback"),loading:"lazy",decoding:"async"}),e.prompt&&d.jsx("div",{className:"gallery__caption",children:d.jsx("span",{className:"gallery__caption-text",children:e.prompt})})]}),e.filename&&c&&d.jsx("button",{type:"button",className:`gallery__favorite${e.isFavorite?" gallery__favorite--on":""}`,onClick:m=>{m.stopPropagation(),c(e)},title:e.isFavorite?u("gallery.unfavoriteTitle"):u("gallery.favoriteTitle"),"aria-label":e.isFavorite?u("gallery.unfavoriteAria"):u("gallery.favoriteAria"),children:e.isFavorite?"★":"☆"}),e.filename&&d.jsx("button",{type:"button",className:"gallery__delete",onClick:m=>s(e,m),title:u("gallery.deleteTitle"),"aria-label":u("gallery.deleteAria"),children:"×"})]})}const S0="ima2.storageNoticeDismissed.0.09.23";function Lf(e){return!e.canvasVersion}function Y4(){const{t:e}=_e(),a=F(I=>I.galleryOpen),i=F(I=>I.closeGallery),r=F(I=>I.history),s=F(I=>I.selectHistory),c=F(I=>I.currentImage),u=F(I=>I.trashHistoryItem),m=F(I=>I.showToast),g=F(I=>I.toggleGalleryFavorite),[p,y]=R.useState(""),[v,x]=R.useState("date"),[S,_]=R.useState(!1),[A,E]=R.useState([]),[C,O]=R.useState([]),[N,w]=R.useState(null),[B,z]=R.useState(()=>{try{return localStorage.getItem(S0)==="1"}catch{return!1}}),U=R.useRef(null),H=R.useRef({}),X=R.useRef(0),W=R.useMemo(()=>r.filter(Lf),[r]);R.useEffect(()=>{if(!a)return;const I=le=>{le.key==="Escape"&&i()};return window.addEventListener("keydown",I),()=>window.removeEventListener("keydown",I)},[a,i]),R.useEffect(()=>{a||y("")},[a]),R.useEffect(()=>{if(!a)return;let I=!1;return(async()=>{try{const le=await B1();I||w(le)}catch{I||w({generatedDirLabel:"~/.ima2/generated",generatedCount:0,legacyCandidatesScanned:0,legacySourcesFound:0,legacyFilesFound:0,state:"unknown",messageKind:"unknown",recoveryDocsPath:"docs/RECOVER_OLD_IMAGES.md",doctorCommand:"ima2 doctor",overrides:{generatedDir:!1,configDir:!1}})}})(),()=>{I=!0}},[a]),R.useEffect(()=>{if(!a||v!=="session")return;let I=!1;return(async()=>{try{const le=await L1({limit:500});if(I)return;const fe=he=>{const Se=he.kind,pe=Se==="classic"||Se==="edit"||Se==="generate"||Se==="card-news-card"||Se==="card-news-set"?Se:null;return{image:he.url,url:he.url,filename:he.filename,prompt:he.prompt??void 0,size:he.size??void 0,quality:he.quality??void 0,model:he.model??void 0,provider:he.provider,createdAt:he.createdAt,sessionId:he.sessionId??null,nodeId:he.nodeId??null,clientNodeId:he.clientNodeId??null,kind:pe,setId:he.setId??null,cardId:he.cardId??null,cardOrder:he.cardOrder??null,headline:he.headline??null,body:he.body??null,cards:he.cards,isFavorite:he.isFavorite??!1}};E(le.sessions.map(he=>({sessionId:he.sessionId,title:he.title??null,label:he.label??null,displayLabel:he.title||he.label||he.sessionId.slice(0,8),items:he.items.filter(Lf).map(fe)})).filter(he=>he.items.length>0)),O(le.loose.filter(Lf).map(fe))}catch{}})(),()=>{I=!0}},[a,v]);const V=R.useMemo(()=>{const I=p.trim().toLowerCase().normalize("NFC");return W.filter(le=>S&&!le.isFavorite?!1:I?(le.prompt??"").toLowerCase().normalize("NFC").includes(I)||(le.filename??"").toLowerCase().normalize("NFC").includes(I):!0)},[W,p,S]),K=R.useMemo(()=>S?A.map(I=>({...I,items:I.items.filter(le=>le.isFavorite)})).filter(I=>I.items.length>0):A,[A,S]),ie=R.useMemo(()=>S?C.filter(I=>I.isFavorite):C,[C,S]),k=R.useMemo(()=>{const I=new Map;for(const le of V){const fe=F4(le.createdAt);I.has(fe)||I.set(fe,[]),I.get(fe).push(le)}return Array.from(I.entries())},[V]),j=v==="session"?K.reduce((I,le)=>I+le.items.length,0)+ie.length:V.length;R.useLayoutEffect(()=>{if(!a)return;const I=c?b0(c):null,le=I?H.current[I]:null;if(le){le.scrollIntoView({block:"center"});return}U.current&&(U.current.scrollTop=X.current)},[a,c?.filename,c?.image,v,j,k.length,K.length,ie.length]);async function M(I,le){le.stopPropagation(),await u(I)}async function L(){try{await U1(),m(e("toast.openGeneratedDirOpened"))}catch{m(e("toast.openGeneratedDirFailed"),!0)}}async function G(I){if(I.setId)try{await Te.getState().loadSet(I.setId),F.getState().setUIMode("card-news"),i()}catch{m(e("gallery.openCardNewsSetFailed"),!0)}}async function Q(I,le){if(le.stopPropagation(),!I.setId)return;const fe=`generated/cardnews/${I.setId}`;try{await navigator.clipboard?.writeText(fe),m(e("gallery.cardNewsPathCopied"))}catch{m(e("toast.copyFailed"),!0)}}function J(I,le){le.stopPropagation(),I.setId&&window.open(KE(I.setId),"_blank","noopener,noreferrer")}function D(){z(!0);try{localStorage.setItem(S0,"1")}catch{}}if(!a)return null;const P=I=>I==="earlier"||I==="today"||I==="yesterday"||I==="thisWeek"?e(`gallery.${I}`):I,Y=(I,le,fe)=>{const he=c?.image===I.image,Se=pe=>{H.current[b0(I)]=pe};return I.kind==="card-news-set"?d.jsx("div",{ref:Se,className:"gallery__tile-wrap gallery-card-news-set",children:d.jsx(V4,{item:I,onOpen:pe=>{G(pe)},onCopyPath:Q,onDownloadManifest:J})},`${le}-${fe}-${I.filename??fe}`):d.jsx($4,{item:I,active:he,itemRef:Se,onSelect:pe=>{s(pe),i()},onDelete:M,onToggleFavorite:pe=>{g(pe.filename)},t:e},`${le}-${fe}-${I.filename??fe}`)},te=v==="session",de=N!=null&&N.state!=="ok"&&!B,me=N?.state==="recoverable"?"gallery.storageNoticeRecoverable":N?.state==="not_found"?"gallery.storageNoticeNotFound":"gallery.storageNoticeUnknown";return d.jsx("div",{className:"gallery-backdrop",onClick:i,role:"presentation",children:d.jsxs("div",{className:"gallery",role:"dialog","aria-modal":"true","aria-label":e("gallery.ariaLabel"),onClick:I=>I.stopPropagation(),children:[d.jsxs("div",{className:"gallery__header",children:[d.jsxs("div",{className:"gallery__title-row",children:[d.jsx("div",{className:"gallery__title",children:e("gallery.title")}),d.jsxs("div",{className:"gallery__meta",children:[e("gallery.total",{n:j}),p||S?e("gallery.totalFiltered",{n:W.length}):""]}),d.jsxs("div",{className:"gallery__favorite-filter",role:"tablist","aria-label":e("gallery.favoriteFilterAria"),children:[d.jsx("button",{type:"button",role:"tab","aria-selected":!S,className:S?"":"active",onClick:()=>_(!1),children:e("gallery.filterAll")}),d.jsx("button",{type:"button",role:"tab","aria-selected":S,className:S?"active":"",onClick:()=>_(!0),children:e("gallery.filterFavorites")})]}),d.jsxs("div",{className:"gallery__group-toggle",role:"tablist","aria-label":e("gallery.sortByAria"),children:[d.jsx("button",{type:"button",role:"tab","aria-selected":v==="date",className:v==="date"?"active":"",onClick:()=>x("date"),children:e("gallery.sortByDate")}),d.jsx("button",{type:"button",role:"tab","aria-selected":v==="session",className:v==="session"?"active":"",onClick:()=>x("session"),children:e("gallery.sortBySession")})]})]}),d.jsx("input",{type:"text",className:"gallery__search",placeholder:e(te?"gallery.searchDisabledPlaceholder":"gallery.searchPlaceholder"),value:p,onChange:I=>y(I.target.value),autoFocus:!0,disabled:te}),d.jsx("button",{type:"button",className:"gallery__close",onClick:i,"aria-label":e("gallery.closeAria"),title:e("gallery.closeTitle"),children:"×"})]}),d.jsxs("div",{className:`gallery__storage-bar${de?" gallery__storage-bar--notice":""}`,children:[de?d.jsxs("div",{className:"gallery__storage-copy",children:[d.jsx("div",{className:"gallery__storage-title",children:e("gallery.storageNoticeTitle")}),d.jsx("div",{className:"gallery__storage-text",children:e(me)})]}):d.jsx("div",{className:"gallery__storage-copy gallery__storage-copy--quiet",children:N?.generatedDirLabel??"~/.ima2/generated"}),d.jsxs("div",{className:"gallery__storage-actions",children:[d.jsx("button",{type:"button",className:"gallery__storage-button",onClick:L,title:e("gallery.openGeneratedDirTitle"),children:e("gallery.openGeneratedDir")}),de&&d.jsx("button",{type:"button",className:"gallery__storage-button gallery__storage-button--ghost",onClick:D,children:e("common.close")})]})]}),d.jsx("div",{className:"gallery__scroll",ref:U,onScroll:()=>{X.current=U.current?.scrollTop??0},children:te?d.jsxs(d.Fragment,{children:[K.map(I=>d.jsxs("section",{className:"gallery__group",children:[d.jsxs("header",{className:"gallery__group-header",children:[d.jsx("span",{className:"gallery__group-label",title:I.sessionId,children:I.title?I.displayLabel:e("gallery.sessionLabel",{name:I.displayLabel})}),d.jsx("span",{className:"gallery__group-count",children:I.items.length})]}),d.jsx("div",{className:"gallery__grid",children:I.items.map((le,fe)=>Y(le,I.sessionId,fe))})]},I.sessionId)),ie.length>0&&d.jsxs("section",{className:"gallery__group",children:[d.jsxs("header",{className:"gallery__group-header",children:[d.jsx("span",{className:"gallery__group-label",children:e("gallery.standalone")}),d.jsx("span",{className:"gallery__group-count",children:ie.length})]}),d.jsx("div",{className:"gallery__grid",children:ie.map((I,le)=>Y(I,"loose",le))})]}),K.length===0&&ie.length===0&&d.jsx("div",{className:"gallery__empty",children:e(S?"gallery.emptyFavorites":"gallery.emptySessions")})]}):V.length===0?d.jsx("div",{className:"gallery__empty",children:W.length===0?e("gallery.emptyAll"):e(S?"gallery.emptyFavorites":"gallery.noResults")}):k.map(([I,le])=>d.jsxs("section",{className:"gallery__group",children:[d.jsxs("header",{className:"gallery__group-header",children:[d.jsx("span",{className:"gallery__group-label",children:P(I)}),d.jsx("span",{className:"gallery__group-count",children:le.length})]}),d.jsx("div",{className:"gallery__grid",children:le.map((fe,he)=>Y(fe,I,he))})]},I))})]})})}function X4(e){return e.includes("ratio")?"sizeConfirm.reasonRatio":e.includes("maxPixels")||e.includes("pixels")?"sizeConfirm.reasonPixels":e.includes("minPixels")?"sizeConfirm.reasonMinPixels":e.includes("min")?"sizeConfirm.reasonMin":e.includes("maxEdge")||e.includes("max")?"sizeConfirm.reasonMax":"sizeConfirm.reasonSnap"}function K4(){const e=F(m=>m.customSizeConfirm),a=F(m=>m.confirmCustomSizeAdjustment),i=F(m=>m.cancelCustomSizeAdjustment),r=R.useRef(null),{t:s}=_e();if(R.useEffect(()=>{if(!e)return;r.current?.focus();const m=g=>{g.key==="Escape"&&i()};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[i,e]),!e)return null;const c=`${e.requestedW}x${e.requestedH}`,u=`${e.adjustedW}x${e.adjustedH}`;return d.jsx("div",{className:"modal-backdrop custom-size-confirm-backdrop",role:"presentation",children:d.jsxs("div",{className:"modal custom-size-confirm",role:"dialog","aria-modal":"true","aria-labelledby":"custom-size-confirm-title","aria-describedby":"custom-size-confirm-body",children:[d.jsx("div",{id:"custom-size-confirm-title",className:"modal__title",children:s("sizeConfirm.title")}),d.jsxs("div",{id:"custom-size-confirm-body",className:"modal__body",children:[d.jsx("p",{children:s("sizeConfirm.body")}),d.jsxs("dl",{className:"size-confirm__pairs",children:[d.jsxs("div",{className:"size-confirm__pair",children:[d.jsx("dt",{children:s("sizeConfirm.requested")}),d.jsx("dd",{children:c})]}),d.jsxs("div",{className:"size-confirm__pair",children:[d.jsx("dt",{children:s("sizeConfirm.adjusted")}),d.jsx("dd",{children:u})]})]}),d.jsx("p",{className:"size-confirm__reason",children:s(X4(e.reasons))})]}),d.jsxs("div",{className:"modal__actions",children:[d.jsx("button",{ref:r,type:"button",className:"modal__btn modal__btn--secondary",onClick:i,children:s("sizeConfirm.cancel")}),d.jsx("button",{type:"button",className:"modal__btn",onClick:()=>{a()},children:s("sizeConfirm.approve")})]})]})})}function ec(e){return e==null||e===""?"-":String(e)}function Z4(){const{t:e}=_e(),a=F(m=>m.metadataRestore),i=F(m=>m.applyMetadataRestore),r=F(m=>m.addMetadataRestoreAsReference),s=F(m=>m.cancelMetadataRestore);if(!a)return null;const c=a.metadata,u=c.userPrompt||c.prompt||c.revisedPrompt||"";return d.jsx("div",{className:"modal-backdrop metadata-restore-backdrop",role:"presentation",children:d.jsxs("div",{className:"modal metadata-restore",role:"dialog","aria-modal":"true","aria-labelledby":"metadata-restore-title",children:[d.jsx("div",{id:"metadata-restore-title",className:"modal__title",children:e("metadata.restoreTitle")}),d.jsxs("div",{className:"modal__body metadata-restore__body",children:[d.jsx("p",{children:e("metadata.restoreBody")}),d.jsxs("div",{className:"metadata-restore__preview",children:[d.jsx("img",{src:a.image,alt:e("metadata.imageAlt")}),d.jsxs("div",{className:"metadata-restore__details",children:[d.jsxs("div",{children:[d.jsx("span",{children:e("metadata.prompt")}),d.jsx("strong",{title:u,children:ec(u)})]}),d.jsxs("div",{children:[d.jsx("span",{children:e("metadata.size")}),d.jsx("strong",{children:ec(c.size)})]}),d.jsxs("div",{children:[d.jsx("span",{children:e("metadata.quality")}),d.jsx("strong",{children:ec(c.quality)})]}),d.jsxs("div",{children:[d.jsx("span",{children:e("metadata.model")}),d.jsx("strong",{children:ec(c.model)})]}),d.jsxs("div",{children:[d.jsx("span",{children:e("metadata.source")}),d.jsx("strong",{children:a.source==="png-comment"?e("metadata.sourcePngComment"):e("metadata.sourceXmp")})]})]})]})]}),d.jsxs("div",{className:"modal__actions",children:[d.jsx("button",{type:"button",className:"modal__btn modal__btn--secondary",onClick:s,children:e("common.cancel")}),d.jsx("button",{type:"button",className:"modal__btn modal__btn--secondary",onClick:r,children:e("metadata.useAsReferenceOnly")}),d.jsx("button",{type:"button",className:"modal__btn",onClick:i,children:e("metadata.applySettings")})]})]})})}function Q4(){const e=F(u=>u.trashPending),a=F(u=>u.restorePendingTrash),i=F(u=>u.clearPendingTrash),{t:r}=_e(),[s,c]=R.useState(Date.now());return R.useEffect(()=>{if(!e)return;c(Date.now());const u=window.setInterval(()=>{const m=Date.now();c(m),m>=e.expiresAt&&i()},500);return()=>window.clearInterval(u)},[i,e]),e?d.jsxs("div",{className:"trash-undo-toast",children:[d.jsx("span",{children:r("gallery.deleted",{filename:e.filename})}),d.jsx("button",{type:"button",onClick:()=>{a()},children:r("gallery.undo")}),d.jsx("span",{className:"trash-undo-toast__timer",children:r("gallery.secondsSuffix",{n:Math.max(0,Math.ceil((e.expiresAt-s)/1e3))})})]}):null}function J4(e){const a=e.slots.filter(r=>r.kind==="text"||r.textKind).length,i=e.slots.filter(r=>r.kind==="image").length;return`${a} text / ${i} image`}function W4(){const{t:e}=_e(),a=Te(s=>s.templates),i=Te(s=>s.imageTemplateId),r=Te(s=>s.setImageTemplate);return d.jsxs("section",{className:"card-news-panel",children:[d.jsxs("div",{className:"card-news-panel__head",children:[d.jsx("span",{children:e("cardNews.imageTemplate")}),d.jsx("button",{type:"button",disabled:!0,title:e("cardNews.newTemplateLater"),children:"+"})]}),d.jsx("div",{className:"card-news-template-grid",children:a.map(s=>d.jsxs("button",{type:"button",className:`card-news-template${i===s.id?" selected":""}`,onClick:()=>r(s.id),children:[d.jsx("img",{src:s.previewUrl,alt:""}),d.jsxs("span",{className:"card-news-template__body",children:[d.jsx("span",{className:"card-news-template__name",children:s.name}),d.jsx("span",{className:"card-news-template__meta",children:J4(s)}),d.jsx("span",{className:"card-news-template__sizes",children:s.recommendedOutputSizes.join(" · ")})]})]},s.id))})]})}function e3(){const{t:e}=_e(),a=Te(s=>s.roleTemplates),i=Te(s=>s.roleTemplateId),r=Te(s=>s.setRoleTemplate);return d.jsxs("section",{className:"card-news-panel",children:[d.jsx("div",{className:"card-news-panel__head",children:d.jsx("span",{children:e("cardNews.roleTemplate")})}),d.jsx("div",{className:"card-news-role-row",children:a.map(s=>d.jsx("button",{type:"button",className:i===s.id?"selected":"",onClick:()=>r(s.id),children:s.name},s.id))})]})}function t3({status:e,locked:a}){const{t:i}=_e(),r=a?"locked":e,s=r==="queued"||r==="generating";return d.jsxs("span",{className:`card-news-status-badge card-news-status-badge--${r}`,children:[s?d.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,i(`cardNews.status.${r}`)]})}function n3(e,a){const i=`cardNews.roles.${e}`,r=a(i);return r===i?e:r}function a3(){const{t:e}=_e(),a=Te(s=>s.activePlan),i=Te(s=>s.selectedCardId),r=Te(s=>s.selectCard);return a?d.jsx("div",{className:"card-news-deck","aria-label":"Card deck",onWheel:lS,children:a.cards.map(s=>d.jsxs("button",{type:"button",className:`card-news-deck-card${i===s.id?" selected":""}`,onClick:()=>r(s.id),children:[d.jsx("span",{children:String(s.order).padStart(2,"0")}),s.url?d.jsx("img",{src:s.url,alt:"",className:"card-news-deck-card__thumb"}):null,d.jsx("strong",{children:n3(s.role,e)}),d.jsx("small",{children:s.headline||s.textFields.find(c=>c.renderMode==="in-image")?.text}),d.jsx(t3,{status:s.status,locked:s.locked})]},s.id))}):null}const i3=[];function o3(){const{t:e}=_e(),a=Te(s=>s.activePlan?.cards??i3),i=Te(s=>s.generating),r={total:a.length,done:a.filter(s=>s.status==="generated").length,queued:a.filter(s=>s.status==="queued").length,errors:a.filter(s=>s.status==="error").length,skipped:a.filter(s=>s.locked||s.status==="skipped").length};return r.total?d.jsxs("div",{className:"card-news-batch-bar","aria-live":"polite",children:[d.jsx("span",{children:i?e("cardNews.progress.generating",{done:r.done,total:r.total}):e("cardNews.progress.summary",{done:r.done,total:r.total})}),d.jsx("span",{children:e("cardNews.progress.detail",{queued:r.queued,errors:r.errors,skipped:r.skipped})})]}):null}function r3({meta:e}){const{t:a}=_e();if(!e)return null;const i=e.mode==="structured-output"?a("cardNews.planner.structured"):e.mode==="json-mode"?a("cardNews.planner.jsonMode"):a("cardNews.planner.fallback");return d.jsxs("span",{className:"card-news-planner-badge",children:[i," · ",e.model,e.repaired?` · ${a("cardNews.planner.repaired")}`:""]})}function l3(e){const a=e.textFields.filter(i=>i.renderMode==="in-image"&&i.text).map(i=>`[${i.placement}] ${i.text}`);return[e.headline,...a].filter(Boolean).join(`
30
- `)}function s3(e,a){const i=e.slotId?a?.slots.find(r=>r.id===e.slotId):null;return i?{left:`${i.x/20.48}%`,top:`${i.y/20.48}%`,width:`${i.w/20.48}%`,minHeight:`${i.h/20.48}%`}:c3(e)}const w0={"top-left":{left:"10%",top:"10%",width:"34%"},"top-center":{left:"50%",top:"10%",width:"42%",transform:"translateX(-50%)"},"top-right":{right:"10%",top:"10%",width:"34%"},"center-left":{left:"10%",top:"50%",width:"34%",transform:"translateY(-50%)"},center:{left:"50%",top:"50%",width:"44%",transform:"translate(-50%, -50%)"},"center-right":{right:"10%",top:"50%",width:"34%",transform:"translateY(-50%)"},"bottom-left":{left:"10%",bottom:"10%",width:"34%"},"bottom-center":{left:"50%",bottom:"10%",width:"42%",transform:"translateX(-50%)"},"bottom-right":{right:"10%",bottom:"10%",width:"34%"},free:{left:"50%",top:"50%",width:"44%",transform:"translate(-50%, -50%)"}};function c3(e){return w0[e.placement]||w0.center}function u3(){const{t:e}=_e(),a=Te(v=>v.activePlan),i=Te(v=>v.selectedCardId),r=Te(v=>v.selectedTextFieldId),s=Te(v=>v.templates),c=Te(v=>v.plannerMeta),u=Te(v=>v.retryCard),m=Te(v=>v.selectTextField),g=a?.cards.find(v=>v.id===i)||a?.cards[0],p=a?s.find(v=>v.id===a.imageTemplateId):void 0,y=g?.textFields.filter(v=>v.renderMode==="in-image")||[];return!a||!g?d.jsxs("section",{className:"card-news-empty",children:[d.jsxs("div",{className:"card-news-empty__deck","aria-hidden":"true",children:[d.jsx("div",{className:"card-news-empty__card card-news-empty__card--back"}),d.jsx("div",{className:"card-news-empty__card card-news-empty__card--mid"}),d.jsxs("div",{className:"card-news-empty__card",children:[d.jsx("span",{}),d.jsx("strong",{}),d.jsx("em",{})]})]}),d.jsxs("div",{className:"card-news-empty__copy",children:[d.jsx("span",{children:e("uiMode.cardNews")}),d.jsx("h2",{children:e("cardNews.emptyTitle")}),d.jsx("p",{children:e("cardNews.emptyBody")})]})]}):d.jsxs("section",{className:"card-news-stage",children:[d.jsxs("div",{className:"card-news-stage__header",children:[d.jsxs("div",{children:[d.jsx("h2",{children:a.title}),d.jsx("p",{children:a.generationStrategy}),d.jsx(r3,{meta:c})]}),d.jsxs("span",{children:[g.order," / ",a.cards.length]})]}),d.jsx(o3,{}),d.jsxs("div",{className:"card-news-preview",children:[g.status==="queued"||g.status==="generating"?d.jsx("div",{className:"card-news-preview__loading",children:e("cardNews.progress.cardGenerating")}):g.status==="error"?d.jsxs("div",{className:"card-news-preview__error",children:[d.jsx("span",{children:g.error||e("cardNews.error")}),g.locked?null:d.jsx("button",{type:"button",onClick:()=>{u(g.id)},children:e("cardNews.retryCard")})]}):g.url?d.jsx("img",{src:g.url,alt:g.headline}):d.jsx("div",{className:"card-news-preview__slot"}),y.length?d.jsx("div",{className:"card-news-stage-overlay",children:y.map(v=>d.jsx("button",{type:"button",className:`card-news-stage-overlay__field card-news-stage-overlay__field--${v.placement}${r===v.id?" selected":""}`,style:s3(v,p),onClick:()=>m(v.id),"aria-label":e("cardNews.selectTextField",{text:v.text||v.kind}),children:d.jsx("span",{children:v.text||v.kind})},v.id))}):null]}),g.url?d.jsxs("div",{className:"card-news-result-actions",children:[d.jsx("button",{type:"button",onClick:()=>navigator.clipboard?.writeText(g.visualPrompt),children:e("cardNews.actions.copyPrompt")}),d.jsx("button",{type:"button",onClick:()=>navigator.clipboard?.writeText(l3(g)),children:e("cardNews.actions.copyCopy")}),d.jsx("a",{href:g.url,target:"_blank",rel:"noreferrer",children:e("cardNews.actions.openImage")}),d.jsx("a",{href:g.url,download:!0,children:e("cardNews.actions.downloadCard")})]}):null]})}function sS(e,a){const i=`cardNews.placements.${e}`,r=a(i);return r===i?e:r}function d3({placement:e}){const{t:a}=_e();return d.jsx("span",{className:"card-news-placement-chip",children:sS(e,a)})}const f3=["headline","body","caption","cta","badge","number"],m3=["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right","free"],h3=["in-image","ui-only"],p3=["primary","secondary","supporting"];function tc(e,a,i){const r=`cardNews.${e}.${a}`,s=i(r);return s===r?a:s}function g3({field:e,locked:a,selected:i=!1,onSelect:r,onChange:s,onRemove:c}){const{t:u}=_e(),m=e.text.length,g=typeof e.maxChars=="number"&&m>e.maxChars,p=e.maxChars===null||e.maxChars>80;return d.jsxs("div",{className:`card-news-text-field-card${i?" selected":""}`,onClick:r,children:[d.jsxs("div",{className:"card-news-text-field-card__header",children:[d.jsx("span",{children:tc("textKinds",e.kind,u)}),d.jsx(d3,{placement:e.placement})]}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:u("cardNews.textFieldText")}),p?d.jsx("textarea",{value:e.text,disabled:a,onChange:y=>s({text:y.target.value,source:"user"})}):d.jsx("input",{value:e.text,disabled:a,onChange:y=>s({text:y.target.value,source:"user"})})]}),d.jsxs("div",{className:"card-news-text-field-card__grid",children:[d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:u("cardNews.textKind")}),d.jsx("select",{value:e.kind,disabled:a,onChange:y=>s({kind:y.target.value,source:"user"}),children:f3.map(y=>d.jsx("option",{value:y,children:tc("textKinds",y,u)},y))})]}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:u("cardNews.placement")}),d.jsx("select",{value:e.placement,disabled:a,onChange:y=>s({placement:y.target.value,source:"user"}),children:m3.map(y=>d.jsx("option",{value:y,children:sS(y,u)},y))})]}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:u("cardNews.renderMode")}),d.jsx("select",{value:e.renderMode,disabled:a,onChange:y=>s({renderMode:y.target.value,source:"user"}),children:h3.map(y=>d.jsx("option",{value:y,children:tc("renderModes",y,u)},y))})]}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:u("cardNews.hierarchyLabel")}),d.jsx("select",{value:e.hierarchy,disabled:a,onChange:y=>s({hierarchy:y.target.value,source:"user"}),children:p3.map(y=>d.jsx("option",{value:y,children:tc("hierarchy",y,u)},y))})]})]}),d.jsxs("div",{className:`card-news-text-field-card__meta${g?" over":""}`,children:[d.jsx("span",{children:e.maxChars===null?m:`${m}/${e.maxChars}`}),g?d.jsx("span",{children:u("cardNews.textTooLong")}):null,c?d.jsx("button",{type:"button",disabled:a,onClick:c,children:u("cardNews.removeTextField")}):null]})]})}function y3(){return{id:`tf_${Date.now().toString(36)}`,kind:"body",text:"",renderMode:"in-image",placement:"center",slotId:null,hierarchy:"supporting",maxChars:null,language:null,source:"user"}}function v3(){const{t:e}=_e(),a=Te(v=>v.activePlan),i=Te(v=>v.selectedCardId),r=Te(v=>v.selectedTextFieldId),s=Te(v=>v.updateCard),c=Te(v=>v.updateTextField),u=Te(v=>v.addTextField),m=Te(v=>v.removeTextField),g=Te(v=>v.selectTextField),p=Te(v=>v.retryCard),y=a?.cards.find(v=>v.id===i)||a?.cards[0];return y?d.jsxs("aside",{className:"card-news-inspector",children:[d.jsx("div",{className:"section-title",children:e("cardNews.inspector")}),d.jsxs("div",{className:"card-news-inspector-group",children:[d.jsx("span",{className:"card-news-inspector-label",children:e("cardNews.cardTitle")}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:e("cardNews.headline")}),d.jsx("input",{value:y.headline,disabled:y.locked,onChange:v=>s(y.id,{headline:v.target.value})})]})]}),d.jsxs("div",{className:"card-news-inspector-group",children:[d.jsxs("div",{className:"card-news-inspector-row",children:[d.jsx("span",{className:"card-news-inspector-label",children:e("cardNews.textFields")}),d.jsx("button",{type:"button",className:"secondary-btn",disabled:y.locked,onClick:()=>u(y.id,y3()),children:e("cardNews.addTextField")})]}),y.textFields.length?y.textFields.map(v=>d.jsx(g3,{field:v,locked:y.locked,selected:r===v.id,onSelect:()=>g(v.id),onChange:x=>c(y.id,v.id,x),onRemove:()=>m(y.id,v.id)},v.id)):d.jsx("p",{className:"card-news-muted",children:e("cardNews.noTextFields")})]}),d.jsxs("details",{className:"card-news-inspector-group card-news-advanced-prompt",children:[d.jsx("summary",{children:e("cardNews.designPrompt")}),d.jsxs("label",{className:"card-news-field",children:[d.jsx("span",{children:e("cardNews.visualPrompt")}),d.jsx("textarea",{value:y.visualPrompt,disabled:y.locked,onChange:v=>s(y.id,{visualPrompt:v.target.value})})]})]}),y.imageFilename?d.jsxs("div",{className:"card-news-generated-meta",children:[d.jsx("span",{children:e("cardNews.generatedMeta")}),d.jsx("code",{children:y.imageFilename}),d.jsx("span",{children:y.status})]}):null,y.locked?d.jsx("p",{className:"card-news-locked-help",children:e("cardNews.lockedHelp")}):null,d.jsx("button",{type:"button",className:`secondary-btn${y.locked?" active":""}`,onClick:()=>s(y.id,{locked:!y.locked}),children:y.locked?e("cardNews.locked"):e("cardNews.unlocked")}),d.jsx("button",{type:"button",className:"secondary-btn",disabled:y.locked||!["draft","error"].includes(y.status),onClick:()=>{p(y.id)},children:e("cardNews.retryCard")})]}):d.jsxs("aside",{className:"card-news-inspector card-news-inspector-empty",children:[d.jsx("div",{className:"section-title",children:e("cardNews.inspector")}),d.jsxs("div",{className:"card-news-inspector-empty__mock","aria-hidden":"true",children:[d.jsx("span",{}),d.jsx("strong",{}),d.jsx("i",{}),d.jsx("i",{})]}),d.jsx("p",{children:e("cardNews.noCard")})]})}function x3(){const{t:e}=_e(),a=Te(r=>r.hydrate),i=Te(r=>r.error);return R.useEffect(()=>{a()},[a]),d.jsxs("main",{className:"card-news-workspace","aria-label":e("cardNews.workspace"),children:[d.jsxs("div",{className:"card-news-setup",children:[d.jsx(W4,{}),d.jsx(e3,{})]}),d.jsxs("div",{className:"card-news-main",children:[i?d.jsx("div",{className:"card-news-error",role:"alert",children:i}):null,d.jsx(u3,{}),d.jsx(a3,{})]}),d.jsx(v3,{})]})}const b3={ArrowLeft:"previous",ArrowRight:"next",Home:"first",End:"last"};function S3(){const e=F(r=>r.uiMode),a=F(r=>r.currentImage),i=F(r=>r.selectHistoryShortcutTarget);R.useEffect(()=>{if(e!=="classic")return;const r=s=>{const c=b3[s.key];c&&(s.defaultPrevented||ka(s.target)||a&&(s.preventDefault(),i(c)))};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[a,i,e])}const nc=64,cS="Image Gen";let Dm=cS,rm=!1,Ba=null,zm="",lm=!1;function uS(){return navigator}function dS(){if(typeof document>"u")return null;if(Ba)return Ba;const e=document.querySelector('link[rel~="icon"]');if(e)return Ba=e,zm=e.href||e.getAttribute("href")||"",e;const a=document.createElement("link");return a.rel="icon",document.head.appendChild(a),Ba=a,lm=!0,a}function w3(e){const a=document.createElement("canvas");a.width=nc,a.height=nc;const i=a.getContext("2d");return i?(i.clearRect(0,0,nc,nc),i.fillStyle="#0a0a0a",_3(i,6,6,52,52,12),i.fill(),i.strokeStyle="#ffffff",i.lineWidth=5,i.beginPath(),i.arc(30,32,14,0,Math.PI*2),i.stroke(),i.fillStyle="#ffffff",i.beginPath(),i.arc(30,32,5,0,Math.PI*2),i.fill(),i.beginPath(),i.arc(48,16,e>1?13:10,0,Math.PI*2),i.fillStyle="#ff335f",i.fill(),i.lineWidth=4,i.strokeStyle="#ffffff",i.stroke(),e>1&&(i.fillStyle="#ffffff",i.font="bold 15px sans-serif",i.textAlign="center",i.textBaseline="middle",i.fillText(String(Math.min(e,9)),48,17)),a.toDataURL("image/png")):zm}function _3(e,a,i,r,s,c){e.beginPath(),e.moveTo(a+c,i),e.arcTo(a+r,i,a+r,i+s,c),e.arcTo(a+r,i+s,a,i+s,c),e.arcTo(a,i+s,a,i,c),e.arcTo(a,i,a+r,i,c),e.closePath()}async function N3(e){const a=uS();if(typeof a.setAppBadge=="function")try{await a.setAppBadge(e)}catch{}}async function E3(){const e=uS();if(typeof e.clearAppBadge=="function")try{await e.clearAppBadge()}catch{}}function C3(e){document.title=`(${e}) ${Dm}`;const a=dS();a&&(a.href=w3(e)),N3(e)}function _0(){document.title=Dm,Ba&&(lm?(Ba.remove(),Ba=null,lm=!1):Ba.href=zm),E3()}function N0(){rm||typeof document>"u"||(rm=!0,Dm=document.title||cS,dS())}function T3(e){R.useEffect(()=>(N0(),()=>{rm&&_0()}),[]),R.useEffect(()=>{N0(),e>0?C3(e):_0()},[e])}function M3(){S3();const e=F(E=>E.hydrateHistory),a=F(E=>E.loadSessions),i=F(E=>E.startInFlightPolling),r=F(E=>E.reconcileInflight),s=F(E=>E.syncFromStorage),c=F(E=>E.theme),u=F(E=>E.resolvedTheme),m=F(E=>E.themeFamily),g=F(E=>E.settingsOpen),p=F(E=>E.unseenGeneratedCount),y=F(E=>E.historyStripLayout),v=F(E=>E.syncThemeFromStorage),x=F(E=>E.syncThemeFamilyFromStorage),S=F(E=>E.refreshResolvedTheme),A=F(E=>E.uiMode)==="node"&&dm?"node":"classic";return T3(p),R.useEffect(()=>{e(),a(),r(),i()},[e,a,r,i]),R.useEffect(()=>{const E=C=>{C.key&&(C.key==="ima2.inFlight"||C.key==="ima2.selectedFilename"?s():C.key==="ima2:theme"?v():C.key==="ima2:themeFamily"&&x())};return window.addEventListener("storage",E),()=>window.removeEventListener("storage",E)},[s,v,x]),R.useEffect(()=>{const E=document.documentElement;E.dataset.theme=u,E.dataset.themeMode=u,E.dataset.themeFamily=m,E.style.colorScheme=u},[u,m]),R.useEffect(()=>{if(c!=="system")return;const E=window.matchMedia("(prefers-color-scheme: light)");return E.addEventListener("change",S),()=>E.removeEventListener("change",S)},[S,c]),R.useEffect(()=>{const E=()=>{kE(F.getState)};return window.addEventListener("beforeunload",E),()=>{window.removeEventListener("beforeunload",E)}},[]),d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:`app${g?" app--settings-open":""}${y==="horizontal"?" app--history-horizontal":""}${y==="sidebar"?" app--history-sidebar":""}`,"data-theme-mode":u,"data-theme-family":m,"data-history-strip-layout":y,children:[d.jsx(nC,{}),d.jsx(A4,{}),g?d.jsx(q4,{}):A==="classic"?d.jsx(uv,{}):A==="node"?d.jsx(m4,{}):A==="card-news"?d.jsx(x3,{}):d.jsx(uv,{}),A==="card-news"?null:d.jsx(M4,{})]}),d.jsx(K4,{}),d.jsx(Q4,{}),d.jsx(G4,{}),d.jsx(P4,{}),d.jsx(Y4,{}),d.jsx(Z4,{}),A==="card-news"?d.jsx(rS,{}):null]})}E1.createRoot(document.getElementById("root")).render(d.jsx(R.StrictMode,{children:d.jsx(M3,{})}));
31
- //# sourceMappingURL=index-ht80GMq4.js.map