autoforge-ai 0.1.21 → 0.1.22

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.
@@ -0,0 +1,96 @@
1
+ import{a as Yp,u as dt,d as Ge,e as Fe,r as f,j as n,g as Vp,Q as Xp,f as Kp}from"./vendor-query-CcgjkJlA.js";import{r as Fp,P as _h,u as Zp,a as $p,R as Jp,b as kh,A as Wp,c as ml,d as Mh,e as Ip,f as Pp,g as ey,h as Oh,D as ty,C as ay,S as Rh,i as ny,j as ly,k as Uh,T as sy,l as iy,m as ry,O as cy,n as uy,o as Mu,p as oy,q as dy,s as fy,t as my,I as hy,v as xy,w as gy,x as py,y as yy,z as vy,B as by}from"./vendor-radix-CXoPacKb.js";import{c as Yi,t as jy,a as Ny,b as Ou,I as Sy,B as Ns,U as Cy,F as Ii,C as Da,d as Kt,E as Ru,X as Ie,e as oa,R as nn,P as Pi,S as rr,L as Ce,Z as Bh,A as qh,W as bl,f as jl,g as $i,h as Ji,i as Zm,H as wy,j as er,k as $m,l as zy,m as Eu,T as da,n as tr,o as sn,p as ln,q as Ty,r as Ey,G as Nl,M as Lh,s as Hh,u as Gh,v as Qh,w as Yh,x as Vh,y as Ay,z as Dy,D as _y,J as gl,K as _a,N as ky,O as My,Q as Oy,V as Xh,Y as Ry,_ as Uy,$ as Jm,a0 as By,a1 as Kh,a2 as Uu,a3 as qy,a4 as ar,a5 as nr,a6 as Fh,a7 as Ly,a8 as Au,a9 as Hy,aa as cr,ab as pl,ac as Gy,ad as Qy,ae as Yy,af as Vy,ag as Xy,ah as Ky,ai as Wm,aj as Fy,ak as Zy,al as $y,am as Jy,an as Wy,ao as Iy,ap as Py,aq as e0}from"./vendor-utils-D_WdX4_S.js";import{M as t0,r as a0}from"./vendor-markdown-BxiGvyag.js";import{r as n0,M as l0,u as s0,a as i0,i as r0,C as c0,B as u0,b as o0,c as d0,P as hl,H as Im}from"./vendor-flow-4rkFkfFX.js";import{D as f0,o as m0}from"./vendor-xterm-DP_gxef0.js";(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const m of document.querySelectorAll('link[rel="modulepreload"]'))u(m);new MutationObserver(m=>{for(const g of m)if(g.type==="childList")for(const x of g.addedNodes)x.tagName==="LINK"&&x.rel==="modulepreload"&&u(x)}).observe(document,{childList:!0,subtree:!0});function o(m){const g={};return m.integrity&&(g.integrity=m.integrity),m.referrerPolicy&&(g.referrerPolicy=m.referrerPolicy),m.crossOrigin==="use-credentials"?g.credentials="include":m.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function u(m){if(m.ep)return;m.ep=!0;const g=o(m);fetch(m.href,g)}})();var wu={exports:{}},vs={},zu={exports:{}},Tu={};var Pm;function h0(){return Pm||(Pm=1,(function(s){function c(v,R){var ee=v.length;v.push(R);e:for(;0<ee;){var te=ee-1>>>1,ie=v[te];if(0<m(ie,R))v[te]=R,v[ee]=ie,ee=te;else break e}}function o(v){return v.length===0?null:v[0]}function u(v){if(v.length===0)return null;var R=v[0],ee=v.pop();if(ee!==R){v[0]=ee;e:for(var te=0,ie=v.length,Ne=ie>>>1;te<Ne;){var $=2*(te+1)-1,he=v[$],ce=$+1,fe=v[ce];if(0>m(he,ee))ce<ie&&0>m(fe,he)?(v[te]=fe,v[ce]=ee,te=ce):(v[te]=he,v[$]=ee,te=$);else if(ce<ie&&0>m(fe,ee))v[te]=fe,v[ce]=ee,te=ce;else break e}}return R}function m(v,R){var ee=v.sortIndex-R.sortIndex;return ee!==0?ee:v.id-R.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var g=performance;s.unstable_now=function(){return g.now()}}else{var x=Date,p=x.now();s.unstable_now=function(){return x.now()-p}}var y=[],b=[],T=1,w=null,_=3,S=!1,D=!1,k=!1,N=!1,M=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function z(v){for(var R=o(b);R!==null;){if(R.callback===null)u(b);else if(R.startTime<=v)u(b),R.sortIndex=R.expirationTime,c(y,R);else break;R=o(b)}}function L(v){if(k=!1,z(v),!D)if(o(y)!==null)D=!0,W||(W=!0,H());else{var R=o(b);R!==null&&Y(L,R.startTime-v)}}var W=!1,K=-1,ae=5,Q=-1;function ne(){return N?!0:!(s.unstable_now()-Q<ae)}function I(){if(N=!1,W){var v=s.unstable_now();Q=v;var R=!0;try{e:{D=!1,k&&(k=!1,O(K),K=-1),S=!0;var ee=_;try{t:{for(z(v),w=o(y);w!==null&&!(w.expirationTime>v&&ne());){var te=w.callback;if(typeof te=="function"){w.callback=null,_=w.priorityLevel;var ie=te(w.expirationTime<=v);if(v=s.unstable_now(),typeof ie=="function"){w.callback=ie,z(v),R=!0;break t}w===o(y)&&u(y),z(v)}else u(y);w=o(y)}if(w!==null)R=!0;else{var Ne=o(b);Ne!==null&&Y(L,Ne.startTime-v),R=!1}}break e}finally{w=null,_=ee,S=!1}R=void 0}}finally{R?H():W=!1}}}var H;if(typeof E=="function")H=function(){E(I)};else if(typeof MessageChannel<"u"){var P=new MessageChannel,Z=P.port2;P.port1.onmessage=I,H=function(){Z.postMessage(null)}}else H=function(){M(I,0)};function Y(v,R){K=M(function(){v(s.unstable_now())},R)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(v){v.callback=null},s.unstable_forceFrameRate=function(v){0>v||125<v?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ae=0<v?Math.floor(1e3/v):5},s.unstable_getCurrentPriorityLevel=function(){return _},s.unstable_next=function(v){switch(_){case 1:case 2:case 3:var R=3;break;default:R=_}var ee=_;_=R;try{return v()}finally{_=ee}},s.unstable_requestPaint=function(){N=!0},s.unstable_runWithPriority=function(v,R){switch(v){case 1:case 2:case 3:case 4:case 5:break;default:v=3}var ee=_;_=v;try{return R()}finally{_=ee}},s.unstable_scheduleCallback=function(v,R,ee){var te=s.unstable_now();switch(typeof ee=="object"&&ee!==null?(ee=ee.delay,ee=typeof ee=="number"&&0<ee?te+ee:te):ee=te,v){case 1:var ie=-1;break;case 2:ie=250;break;case 5:ie=1073741823;break;case 4:ie=1e4;break;default:ie=5e3}return ie=ee+ie,v={id:T++,callback:R,priorityLevel:v,startTime:ee,expirationTime:ie,sortIndex:-1},ee>te?(v.sortIndex=ee,c(b,v),o(y)===null&&v===o(b)&&(k?(O(K),K=-1):k=!0,Y(L,ee-te))):(v.sortIndex=ie,c(y,v),D||S||(D=!0,W||(W=!0,H()))),v},s.unstable_shouldYield=ne,s.unstable_wrapCallback=function(v){var R=_;return function(){var ee=_;_=R;try{return v.apply(this,arguments)}finally{_=ee}}}})(Tu)),Tu}var eh;function x0(){return eh||(eh=1,zu.exports=h0()),zu.exports}var th;function g0(){if(th)return vs;th=1;var s=x0(),c=Yp(),o=Fp();function u(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function m(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function g(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function x(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function p(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function y(e){if(g(e)!==e)throw Error(u(188))}function b(e){var t=e.alternate;if(!t){if(t=g(e),t===null)throw Error(u(188));return t!==e?null:e}for(var a=e,l=t;;){var i=a.return;if(i===null)break;var r=i.alternate;if(r===null){if(l=i.return,l!==null){a=l;continue}break}if(i.child===r.child){for(r=i.child;r;){if(r===a)return y(i),e;if(r===l)return y(i),t;r=r.sibling}throw Error(u(188))}if(a.return!==l.return)a=i,l=r;else{for(var d=!1,h=i.child;h;){if(h===a){d=!0,a=i,l=r;break}if(h===l){d=!0,l=i,a=r;break}h=h.sibling}if(!d){for(h=r.child;h;){if(h===a){d=!0,a=r,l=i;break}if(h===l){d=!0,l=r,a=i;break}h=h.sibling}if(!d)throw Error(u(189))}}if(a.alternate!==l)throw Error(u(190))}if(a.tag!==3)throw Error(u(188));return a.stateNode.current===a?e:t}function T(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=T(e),t!==null)return t;e=e.sibling}return null}var w=Object.assign,_=Symbol.for("react.element"),S=Symbol.for("react.transitional.element"),D=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),N=Symbol.for("react.strict_mode"),M=Symbol.for("react.profiler"),O=Symbol.for("react.consumer"),E=Symbol.for("react.context"),z=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),K=Symbol.for("react.memo"),ae=Symbol.for("react.lazy"),Q=Symbol.for("react.activity"),ne=Symbol.for("react.memo_cache_sentinel"),I=Symbol.iterator;function H(e){return e===null||typeof e!="object"?null:(e=I&&e[I]||e["@@iterator"],typeof e=="function"?e:null)}var P=Symbol.for("react.client.reference");function Z(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===P?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case k:return"Fragment";case M:return"Profiler";case N:return"StrictMode";case L:return"Suspense";case W:return"SuspenseList";case Q:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case D:return"Portal";case E:return e.displayName||"Context";case O:return(e._context.displayName||"Context")+".Consumer";case z:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case K:return t=e.displayName||null,t!==null?t:Z(e.type)||"Memo";case ae:t=e._payload,e=e._init;try{return Z(e(t))}catch{}}return null}var Y=Array.isArray,v=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},te=[],ie=-1;function Ne(e){return{current:e}}function $(e){0>ie||(e.current=te[ie],te[ie]=null,ie--)}function he(e,t){ie++,te[ie]=e.current,e.current=t}var ce=Ne(null),fe=Ne(null),Ve=Ne(null),Mt=Ne(null);function bt(e,t){switch(he(Ve,t),he(fe,e),he(ce,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?pm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=pm(t),e=ym(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}$(ce),he(ce,e)}function jt(){$(ce),$(fe),$(Ve)}function na(e){e.memoizedState!==null&&he(Mt,e);var t=ce.current,a=ym(t,e.type);t!==a&&(he(fe,e),he(ce,a))}function Zt(e){fe.current===e&&($(ce),$(fe)),Mt.current===e&&($(Mt),xs._currentValue=ee)}var $t,Nt;function Ot(e){if($t===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);$t=t&&t[1]||"",Nt=-1<a.stack.indexOf(`
2
+ at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
3
+ `+$t+e+Nt}var la=!1;function wl(e,t){if(!e||la)return"";la=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var F=function(){throw Error()};if(Object.defineProperty(F.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(F,[])}catch(G){var q=G}Reflect.construct(e,[],F)}else{try{F.call()}catch(G){q=G}e.call(F.prototype)}}else{try{throw Error()}catch(G){q=G}(F=e())&&typeof F.catch=="function"&&F.catch(function(){})}}catch(G){if(G&&q&&typeof G.stack=="string")return[G.stack,q.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var i=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");i&&i.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var r=l.DetermineComponentFrameRoot(),d=r[0],h=r[1];if(d&&h){var j=d.split(`
4
+ `),B=h.split(`
5
+ `);for(i=l=0;l<j.length&&!j[l].includes("DetermineComponentFrameRoot");)l++;for(;i<B.length&&!B[i].includes("DetermineComponentFrameRoot");)i++;if(l===j.length||i===B.length)for(l=j.length-1,i=B.length-1;1<=l&&0<=i&&j[l]!==B[i];)i--;for(;1<=l&&0<=i;l--,i--)if(j[l]!==B[i]){if(l!==1||i!==1)do if(l--,i--,0>i||j[l]!==B[i]){var V=`
6
+ `+j[l].replace(" at new "," at ");return e.displayName&&V.includes("<anonymous>")&&(V=V.replace("<anonymous>",e.displayName)),V}while(1<=l&&0<=i);break}}}finally{la=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ot(a):""}function Me(e,t){switch(e.tag){case 26:case 27:case 5:return Ot(e.type);case 16:return Ot("Lazy");case 13:return e.child!==t&&t!==null?Ot("Suspense Fallback"):Ot("Suspense");case 19:return Ot("SuspenseList");case 0:case 15:return wl(e.type,!1);case 11:return wl(e.type.render,!1);case 1:return wl(e.type,!0);case 31:return Ot("Activity");default:return""}}function oe(e){try{var t="",a=null;do t+=Me(e,a),a=e,e=e.return;while(e);return t}catch(l){return`
7
+ Error generating stack: `+l.message+`
8
+ `+l.stack}}var sa=Object.prototype.hasOwnProperty,zl=s.unstable_scheduleCallback,fr=s.unstable_cancelCallback,jx=s.unstable_shouldYield,Nx=s.unstable_requestPaint,St=s.unstable_now,Sx=s.unstable_getCurrentPriorityLevel,Fu=s.unstable_ImmediatePriority,Zu=s.unstable_UserBlockingPriority,zs=s.unstable_NormalPriority,Cx=s.unstable_LowPriority,$u=s.unstable_IdlePriority,wx=s.log,zx=s.unstable_setDisableYieldValue,Tl=null,Ct=null;function ka(e){if(typeof wx=="function"&&zx(e),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(Tl,e)}catch{}}var wt=Math.clz32?Math.clz32:Ax,Tx=Math.log,Ex=Math.LN2;function Ax(e){return e>>>=0,e===0?32:31-(Tx(e)/Ex|0)|0}var Ts=256,Es=262144,As=4194304;function rn(e){var t=e&42;if(t!==0)return t;switch(e&-e){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 e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ds(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var i=0,r=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var h=l&134217727;return h!==0?(l=h&~r,l!==0?i=rn(l):(d&=h,d!==0?i=rn(d):a||(a=h&~e,a!==0&&(i=rn(a))))):(h=l&~r,h!==0?i=rn(h):d!==0?i=rn(d):a||(a=l&~e,a!==0&&(i=rn(a)))),i===0?0:t!==0&&t!==i&&(t&r)===0&&(r=i&-i,a=t&-t,r>=a||r===32&&(a&4194048)!==0)?t:i}function El(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Dx(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Ju(){var e=As;return As<<=1,(As&62914560)===0&&(As=4194304),e}function mr(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Al(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function _x(e,t,a,l,i,r){var d=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var h=e.entanglements,j=e.expirationTimes,B=e.hiddenUpdates;for(a=d&~a;0<a;){var V=31-wt(a),F=1<<V;h[V]=0,j[V]=-1;var q=B[V];if(q!==null)for(B[V]=null,V=0;V<q.length;V++){var G=q[V];G!==null&&(G.lane&=-536870913)}a&=~F}l!==0&&Wu(e,l,0),r!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=r&~(d&~t))}function Wu(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-wt(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|a&261930}function Iu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var l=31-wt(a),i=1<<l;i&t|e[l]&t&&(e[l]|=t),a&=~i}}function Pu(e,t){var a=t&-t;return a=(a&42)!==0?1:hr(a),(a&(e.suspendedLanes|t))!==0?0:a}function hr(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function xr(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function eo(){var e=R.p;return e!==0?e:(e=window.event,e===void 0?32:Gm(e.type))}function to(e,t){var a=R.p;try{return R.p=e,t()}finally{R.p=a}}var Ma=Math.random().toString(36).slice(2),it="__reactFiber$"+Ma,mt="__reactProps$"+Ma,An="__reactContainer$"+Ma,gr="__reactEvents$"+Ma,kx="__reactListeners$"+Ma,Mx="__reactHandles$"+Ma,ao="__reactResources$"+Ma,Dl="__reactMarker$"+Ma;function pr(e){delete e[it],delete e[mt],delete e[gr],delete e[kx],delete e[Mx]}function Dn(e){var t=e[it];if(t)return t;for(var a=e.parentNode;a;){if(t=a[An]||a[it]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=wm(e);e!==null;){if(a=e[it])return a;e=wm(e)}return t}e=a,a=e.parentNode}return null}function _n(e){if(e=e[it]||e[An]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function _l(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(u(33))}function kn(e){var t=e[ao];return t||(t=e[ao]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function lt(e){e[Dl]=!0}var no=new Set,lo={};function cn(e,t){Mn(e,t),Mn(e+"Capture",t)}function Mn(e,t){for(lo[e]=t,e=0;e<t.length;e++)no.add(t[e])}var Ox=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]*$"),so={},io={};function Rx(e){return sa.call(io,e)?!0:sa.call(so,e)?!1:Ox.test(e)?io[e]=!0:(so[e]=!0,!1)}function _s(e,t,a){if(Rx(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function ks(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function fa(e,t,a,l){if(l===null)e.removeAttribute(a);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+l)}}function Rt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ro(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ux(e,t,a){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var i=l.get,r=l.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(d){a=""+d,r.call(this,d)}}),Object.defineProperty(e,t,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(d){a=""+d},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function yr(e){if(!e._valueTracker){var t=ro(e)?"checked":"value";e._valueTracker=Ux(e,t,""+e[t])}}function co(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),l="";return e&&(l=ro(e)?e.checked?"true":"false":e.value),e=l,e!==a?(t.setValue(e),!0):!1}function Ms(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Bx=/[\n"\\]/g;function Ut(e){return e.replace(Bx,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function vr(e,t,a,l,i,r,d,h){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Rt(t)):e.value!==""+Rt(t)&&(e.value=""+Rt(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?br(e,d,Rt(t)):a!=null?br(e,d,Rt(a)):l!=null&&e.removeAttribute("value"),i==null&&r!=null&&(e.defaultChecked=!!r),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.name=""+Rt(h):e.removeAttribute("name")}function uo(e,t,a,l,i,r,d,h){if(r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.type=r),t!=null||a!=null){if(!(r!=="submit"&&r!=="reset"||t!=null)){yr(e);return}a=a!=null?""+Rt(a):"",t=t!=null?""+Rt(t):a,h||t===e.value||(e.value=t),e.defaultValue=t}l=l??i,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=h?e.checked:!!l,e.defaultChecked=!!l,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),yr(e)}function br(e,t,a){t==="number"&&Ms(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function On(e,t,a,l){if(e=e.options,t){t={};for(var i=0;i<a.length;i++)t["$"+a[i]]=!0;for(a=0;a<e.length;a++)i=t.hasOwnProperty("$"+e[a].value),e[a].selected!==i&&(e[a].selected=i),i&&l&&(e[a].defaultSelected=!0)}else{for(a=""+Rt(a),t=null,i=0;i<e.length;i++){if(e[i].value===a){e[i].selected=!0,l&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function oo(e,t,a){if(t!=null&&(t=""+Rt(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Rt(a):""}function fo(e,t,a,l){if(t==null){if(l!=null){if(a!=null)throw Error(u(92));if(Y(l)){if(1<l.length)throw Error(u(93));l=l[0]}a=l}a==null&&(a=""),t=a}a=Rt(t),e.defaultValue=a,l=e.textContent,l===a&&l!==""&&l!==null&&(e.value=l),yr(e)}function Rn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var qx=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 mo(e,t,a){var l=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,a):typeof a!="number"||a===0||qx.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function ho(e,t,a){if(t!=null&&typeof t!="object")throw Error(u(62));if(e=e.style,a!=null){for(var l in a)!a.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var i in t)l=t[i],t.hasOwnProperty(i)&&a[i]!==l&&mo(e,i,l)}else for(var r in t)t.hasOwnProperty(r)&&mo(e,r,t[r])}function jr(e){if(e.indexOf("-")===-1)return!1;switch(e){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 Lx=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"]]),Hx=/^[\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 Os(e){return Hx.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ma(){}var Nr=null;function Sr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Un=null,Bn=null;function xo(e){var t=_n(e);if(t&&(e=t.stateNode)){var a=e[mt]||null;e:switch(e=t.stateNode,t.type){case"input":if(vr(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+Ut(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var l=a[t];if(l!==e&&l.form===e.form){var i=l[mt]||null;if(!i)throw Error(u(90));vr(l,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<a.length;t++)l=a[t],l.form===e.form&&co(l)}break e;case"textarea":oo(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&On(e,!!a.multiple,t,!1)}}}var Cr=!1;function go(e,t,a){if(Cr)return e(t,a);Cr=!0;try{var l=e(t);return l}finally{if(Cr=!1,(Un!==null||Bn!==null)&&(ji(),Un&&(t=Un,e=Bn,Bn=Un=null,xo(t),e)))for(t=0;t<e.length;t++)xo(e[t])}}function kl(e,t){var a=e.stateNode;if(a===null)return null;var l=a[mt]||null;if(l===null)return null;a=l[t];e:switch(t){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)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(u(231,t,typeof a));return a}var ha=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),wr=!1;if(ha)try{var Ml={};Object.defineProperty(Ml,"passive",{get:function(){wr=!0}}),window.addEventListener("test",Ml,Ml),window.removeEventListener("test",Ml,Ml)}catch{wr=!1}var Oa=null,zr=null,Rs=null;function po(){if(Rs)return Rs;var e,t=zr,a=t.length,l,i="value"in Oa?Oa.value:Oa.textContent,r=i.length;for(e=0;e<a&&t[e]===i[e];e++);var d=a-e;for(l=1;l<=d&&t[a-l]===i[r-l];l++);return Rs=i.slice(e,1<l?1-l:void 0)}function Us(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Bs(){return!0}function yo(){return!1}function ht(e){function t(a,l,i,r,d){this._reactName=a,this._targetInst=i,this.type=l,this.nativeEvent=r,this.target=d,this.currentTarget=null;for(var h in e)e.hasOwnProperty(h)&&(a=e[h],this[h]=a?a(r):r[h]);return this.isDefaultPrevented=(r.defaultPrevented!=null?r.defaultPrevented:r.returnValue===!1)?Bs:yo,this.isPropagationStopped=yo,this}return w(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Bs)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Bs)},persist:function(){},isPersistent:Bs}),t}var un={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},qs=ht(un),Ol=w({},un,{view:0,detail:0}),Gx=ht(Ol),Tr,Er,Rl,Ls=w({},Ol,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Dr,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Rl&&(Rl&&e.type==="mousemove"?(Tr=e.screenX-Rl.screenX,Er=e.screenY-Rl.screenY):Er=Tr=0,Rl=e),Tr)},movementY:function(e){return"movementY"in e?e.movementY:Er}}),vo=ht(Ls),Qx=w({},Ls,{dataTransfer:0}),Yx=ht(Qx),Vx=w({},Ol,{relatedTarget:0}),Ar=ht(Vx),Xx=w({},un,{animationName:0,elapsedTime:0,pseudoElement:0}),Kx=ht(Xx),Fx=w({},un,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Zx=ht(Fx),$x=w({},un,{data:0}),bo=ht($x),Jx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Wx={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"},Ix={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Px(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Ix[e])?!!t[e]:!1}function Dr(){return Px}var eg=w({},Ol,{key:function(e){if(e.key){var t=Jx[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Us(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Wx[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Dr,charCode:function(e){return e.type==="keypress"?Us(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Us(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),tg=ht(eg),ag=w({},Ls,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),jo=ht(ag),ng=w({},Ol,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Dr}),lg=ht(ng),sg=w({},un,{propertyName:0,elapsedTime:0,pseudoElement:0}),ig=ht(sg),rg=w({},Ls,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),cg=ht(rg),ug=w({},un,{newState:0,oldState:0}),og=ht(ug),dg=[9,13,27,32],_r=ha&&"CompositionEvent"in window,Ul=null;ha&&"documentMode"in document&&(Ul=document.documentMode);var fg=ha&&"TextEvent"in window&&!Ul,No=ha&&(!_r||Ul&&8<Ul&&11>=Ul),So=" ",Co=!1;function wo(e,t){switch(e){case"keyup":return dg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zo(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var qn=!1;function mg(e,t){switch(e){case"compositionend":return zo(t);case"keypress":return t.which!==32?null:(Co=!0,So);case"textInput":return e=t.data,e===So&&Co?null:e;default:return null}}function hg(e,t){if(qn)return e==="compositionend"||!_r&&wo(e,t)?(e=po(),Rs=zr=Oa=null,qn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return No&&t.locale!=="ko"?null:t.data;default:return null}}var xg={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 To(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!xg[e.type]:t==="textarea"}function Eo(e,t,a,l){Un?Bn?Bn.push(l):Bn=[l]:Un=l,t=Ei(t,"onChange"),0<t.length&&(a=new qs("onChange","change",null,a,l),e.push({event:a,listeners:t}))}var Bl=null,ql=null;function gg(e){dm(e,0)}function Hs(e){var t=_l(e);if(co(t))return e}function Ao(e,t){if(e==="change")return t}var Do=!1;if(ha){var kr;if(ha){var Mr="oninput"in document;if(!Mr){var _o=document.createElement("div");_o.setAttribute("oninput","return;"),Mr=typeof _o.oninput=="function"}kr=Mr}else kr=!1;Do=kr&&(!document.documentMode||9<document.documentMode)}function ko(){Bl&&(Bl.detachEvent("onpropertychange",Mo),ql=Bl=null)}function Mo(e){if(e.propertyName==="value"&&Hs(ql)){var t=[];Eo(t,ql,e,Sr(e)),go(gg,t)}}function pg(e,t,a){e==="focusin"?(ko(),Bl=t,ql=a,Bl.attachEvent("onpropertychange",Mo)):e==="focusout"&&ko()}function yg(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Hs(ql)}function vg(e,t){if(e==="click")return Hs(t)}function bg(e,t){if(e==="input"||e==="change")return Hs(t)}function jg(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var zt=typeof Object.is=="function"?Object.is:jg;function Ll(e,t){if(zt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),l=Object.keys(t);if(a.length!==l.length)return!1;for(l=0;l<a.length;l++){var i=a[l];if(!sa.call(t,i)||!zt(e[i],t[i]))return!1}return!0}function Oo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ro(e,t){var a=Oo(e);e=0;for(var l;a;){if(a.nodeType===3){if(l=e+a.textContent.length,e<=t&&l>=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Oo(a)}}function Uo(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Uo(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Bo(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ms(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ms(e.document)}return t}function Or(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Ng=ha&&"documentMode"in document&&11>=document.documentMode,Ln=null,Rr=null,Hl=null,Ur=!1;function qo(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Ur||Ln==null||Ln!==Ms(l)||(l=Ln,"selectionStart"in l&&Or(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}),Hl&&Ll(Hl,l)||(Hl=l,l=Ei(Rr,"onSelect"),0<l.length&&(t=new qs("onSelect","select",null,t,a),e.push({event:t,listeners:l}),t.target=Ln)))}function on(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Hn={animationend:on("Animation","AnimationEnd"),animationiteration:on("Animation","AnimationIteration"),animationstart:on("Animation","AnimationStart"),transitionrun:on("Transition","TransitionRun"),transitionstart:on("Transition","TransitionStart"),transitioncancel:on("Transition","TransitionCancel"),transitionend:on("Transition","TransitionEnd")},Br={},Lo={};ha&&(Lo=document.createElement("div").style,"AnimationEvent"in window||(delete Hn.animationend.animation,delete Hn.animationiteration.animation,delete Hn.animationstart.animation),"TransitionEvent"in window||delete Hn.transitionend.transition);function dn(e){if(Br[e])return Br[e];if(!Hn[e])return e;var t=Hn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Lo)return Br[e]=t[a];return e}var Ho=dn("animationend"),Go=dn("animationiteration"),Qo=dn("animationstart"),Sg=dn("transitionrun"),Cg=dn("transitionstart"),wg=dn("transitioncancel"),Yo=dn("transitionend"),Vo=new Map,qr="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(" ");qr.push("scrollEnd");function Jt(e,t){Vo.set(e,t),cn(t,[e])}var Gs=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Bt=[],Gn=0,Lr=0;function Qs(){for(var e=Gn,t=Lr=Gn=0;t<e;){var a=Bt[t];Bt[t++]=null;var l=Bt[t];Bt[t++]=null;var i=Bt[t];Bt[t++]=null;var r=Bt[t];if(Bt[t++]=null,l!==null&&i!==null){var d=l.pending;d===null?i.next=i:(i.next=d.next,d.next=i),l.pending=i}r!==0&&Xo(a,i,r)}}function Ys(e,t,a,l){Bt[Gn++]=e,Bt[Gn++]=t,Bt[Gn++]=a,Bt[Gn++]=l,Lr|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function Hr(e,t,a,l){return Ys(e,t,a,l),Vs(e)}function fn(e,t){return Ys(e,null,null,t),Vs(e)}function Xo(e,t,a){e.lanes|=a;var l=e.alternate;l!==null&&(l.lanes|=a);for(var i=!1,r=e.return;r!==null;)r.childLanes|=a,l=r.alternate,l!==null&&(l.childLanes|=a),r.tag===22&&(e=r.stateNode,e===null||e._visibility&1||(i=!0)),e=r,r=r.return;return e.tag===3?(r=e.stateNode,i&&t!==null&&(i=31-wt(a),e=r.hiddenUpdates,l=e[i],l===null?e[i]=[t]:l.push(t),t.lane=a|536870912),r):null}function Vs(e){if(50<cs)throw cs=0,$c=null,Error(u(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Qn={};function zg(e,t,a,l){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,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 Tt(e,t,a,l){return new zg(e,t,a,l)}function Gr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function xa(e,t){var a=e.alternate;return a===null?(a=Tt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Ko(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Xs(e,t,a,l,i,r){var d=0;if(l=e,typeof e=="function")Gr(e)&&(d=1);else if(typeof e=="string")d=_p(e,a,ce.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Q:return e=Tt(31,a,t,i),e.elementType=Q,e.lanes=r,e;case k:return mn(a.children,i,r,t);case N:d=8,i|=24;break;case M:return e=Tt(12,a,t,i|2),e.elementType=M,e.lanes=r,e;case L:return e=Tt(13,a,t,i),e.elementType=L,e.lanes=r,e;case W:return e=Tt(19,a,t,i),e.elementType=W,e.lanes=r,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case E:d=10;break e;case O:d=9;break e;case z:d=11;break e;case K:d=14;break e;case ae:d=16,l=null;break e}d=29,a=Error(u(130,e===null?"null":typeof e,"")),l=null}return t=Tt(d,a,t,i),t.elementType=e,t.type=l,t.lanes=r,t}function mn(e,t,a,l){return e=Tt(7,e,l,t),e.lanes=a,e}function Qr(e,t,a){return e=Tt(6,e,null,t),e.lanes=a,e}function Fo(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Yr(e,t,a){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Zo=new WeakMap;function qt(e,t){if(typeof e=="object"&&e!==null){var a=Zo.get(e);return a!==void 0?a:(t={value:e,source:t,stack:oe(t)},Zo.set(e,t),t)}return{value:e,source:t,stack:oe(t)}}var Yn=[],Vn=0,Ks=null,Gl=0,Lt=[],Ht=0,Ra=null,ia=1,ra="";function ga(e,t){Yn[Vn++]=Gl,Yn[Vn++]=Ks,Ks=e,Gl=t}function $o(e,t,a){Lt[Ht++]=ia,Lt[Ht++]=ra,Lt[Ht++]=Ra,Ra=e;var l=ia;e=ra;var i=32-wt(l)-1;l&=~(1<<i),a+=1;var r=32-wt(t)+i;if(30<r){var d=i-i%5;r=(l&(1<<d)-1).toString(32),l>>=d,i-=d,ia=1<<32-wt(t)+i|a<<i|l,ra=r+e}else ia=1<<r|a<<i|l,ra=e}function Vr(e){e.return!==null&&(ga(e,1),$o(e,1,0))}function Xr(e){for(;e===Ks;)Ks=Yn[--Vn],Yn[Vn]=null,Gl=Yn[--Vn],Yn[Vn]=null;for(;e===Ra;)Ra=Lt[--Ht],Lt[Ht]=null,ra=Lt[--Ht],Lt[Ht]=null,ia=Lt[--Ht],Lt[Ht]=null}function Jo(e,t){Lt[Ht++]=ia,Lt[Ht++]=ra,Lt[Ht++]=Ra,ia=t.id,ra=t.overflow,Ra=e}var rt=null,qe=null,je=!1,Ua=null,Gt=!1,Kr=Error(u(519));function Ba(e){var t=Error(u(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ql(qt(t,e)),Kr}function Wo(e){var t=e.stateNode,a=e.type,l=e.memoizedProps;switch(t[it]=e,t[mt]=l,a){case"dialog":ye("cancel",t),ye("close",t);break;case"iframe":case"object":case"embed":ye("load",t);break;case"video":case"audio":for(a=0;a<os.length;a++)ye(os[a],t);break;case"source":ye("error",t);break;case"img":case"image":case"link":ye("error",t),ye("load",t);break;case"details":ye("toggle",t);break;case"input":ye("invalid",t),uo(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":ye("invalid",t);break;case"textarea":ye("invalid",t),fo(t,l.value,l.defaultValue,l.children)}a=l.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||l.suppressHydrationWarning===!0||xm(t.textContent,a)?(l.popover!=null&&(ye("beforetoggle",t),ye("toggle",t)),l.onScroll!=null&&ye("scroll",t),l.onScrollEnd!=null&&ye("scrollend",t),l.onClick!=null&&(t.onclick=ma),t=!0):t=!1,t||Ba(e,!0)}function Io(e){for(rt=e.return;rt;)switch(rt.tag){case 5:case 31:case 13:Gt=!1;return;case 27:case 3:Gt=!0;return;default:rt=rt.return}}function Xn(e){if(e!==rt)return!1;if(!je)return Io(e),je=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||ou(e.type,e.memoizedProps)),a=!a),a&&qe&&Ba(e),Io(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(u(317));qe=Cm(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(u(317));qe=Cm(e)}else t===27?(t=qe,Wa(e.type)?(e=xu,xu=null,qe=e):qe=t):qe=rt?Yt(e.stateNode.nextSibling):null;return!0}function hn(){qe=rt=null,je=!1}function Fr(){var e=Ua;return e!==null&&(yt===null?yt=e:yt.push.apply(yt,e),Ua=null),e}function Ql(e){Ua===null?Ua=[e]:Ua.push(e)}var Zr=Ne(null),xn=null,pa=null;function qa(e,t,a){he(Zr,t._currentValue),t._currentValue=a}function ya(e){e._currentValue=Zr.current,$(Zr)}function $r(e,t,a){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===a)break;e=e.return}}function Jr(e,t,a,l){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var r=i.dependencies;if(r!==null){var d=i.child;r=r.firstContext;e:for(;r!==null;){var h=r;r=i;for(var j=0;j<t.length;j++)if(h.context===t[j]){r.lanes|=a,h=r.alternate,h!==null&&(h.lanes|=a),$r(r.return,a,e),l||(d=null);break e}r=h.next}}else if(i.tag===18){if(d=i.return,d===null)throw Error(u(341));d.lanes|=a,r=d.alternate,r!==null&&(r.lanes|=a),$r(d,a,e),d=null}else d=i.child;if(d!==null)d.return=i;else for(d=i;d!==null;){if(d===e){d=null;break}if(i=d.sibling,i!==null){i.return=d.return,d=i;break}d=d.return}i=d}}function Kn(e,t,a,l){e=null;for(var i=t,r=!1;i!==null;){if(!r){if((i.flags&524288)!==0)r=!0;else if((i.flags&262144)!==0)break}if(i.tag===10){var d=i.alternate;if(d===null)throw Error(u(387));if(d=d.memoizedProps,d!==null){var h=i.type;zt(i.pendingProps.value,d.value)||(e!==null?e.push(h):e=[h])}}else if(i===Mt.current){if(d=i.alternate,d===null)throw Error(u(387));d.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e!==null?e.push(xs):e=[xs])}i=i.return}e!==null&&Jr(t,e,a,l),t.flags|=262144}function Fs(e){for(e=e.firstContext;e!==null;){if(!zt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function gn(e){xn=e,pa=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function ct(e){return Po(xn,e)}function Zs(e,t){return xn===null&&gn(e),Po(e,t)}function Po(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},pa===null){if(e===null)throw Error(u(308));pa=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else pa=pa.next=t;return a}var Tg=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},Eg=s.unstable_scheduleCallback,Ag=s.unstable_NormalPriority,Ze={$$typeof:E,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Wr(){return{controller:new Tg,data:new Map,refCount:0}}function Yl(e){e.refCount--,e.refCount===0&&Eg(Ag,function(){e.controller.abort()})}var Vl=null,Ir=0,Fn=0,Zn=null;function Dg(e,t){if(Vl===null){var a=Vl=[];Ir=0,Fn=tu(),Zn={status:"pending",value:void 0,then:function(l){a.push(l)}}}return Ir++,t.then(ed,ed),t}function ed(){if(--Ir===0&&Vl!==null){Zn!==null&&(Zn.status="fulfilled");var e=Vl;Vl=null,Fn=0,Zn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function _g(e,t){var a=[],l={status:"pending",value:null,reason:null,then:function(i){a.push(i)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var i=0;i<a.length;i++)(0,a[i])(t)},function(i){for(l.status="rejected",l.reason=i,i=0;i<a.length;i++)(0,a[i])(void 0)}),l}var td=v.S;v.S=function(e,t){Lf=St(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Dg(e,t),td!==null&&td(e,t)};var pn=Ne(null);function Pr(){var e=pn.current;return e!==null?e:Be.pooledCache}function $s(e,t){t===null?he(pn,pn.current):he(pn,t.pool)}function ad(){var e=Pr();return e===null?null:{parent:Ze._currentValue,pool:e}}var $n=Error(u(460)),ec=Error(u(474)),Js=Error(u(542)),Ws={then:function(){}};function nd(e){return e=e.status,e==="fulfilled"||e==="rejected"}function ld(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(ma,ma),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,id(e),e;default:if(typeof t.status=="string")t.then(ma,ma);else{if(e=Be,e!==null&&100<e.shellSuspendCounter)throw Error(u(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var i=t;i.status="fulfilled",i.value=l}},function(l){if(t.status==="pending"){var i=t;i.status="rejected",i.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,id(e),e}throw vn=t,$n}}function yn(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(vn=a,$n):a}}var vn=null;function sd(){if(vn===null)throw Error(u(459));var e=vn;return vn=null,e}function id(e){if(e===$n||e===Js)throw Error(u(483))}var Jn=null,Xl=0;function Is(e){var t=Xl;return Xl+=1,Jn===null&&(Jn=[]),ld(Jn,e,t)}function Kl(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Ps(e,t){throw t.$$typeof===_?Error(u(525)):(e=Object.prototype.toString.call(t),Error(u(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function rd(e){function t(A,C){if(e){var U=A.deletions;U===null?(A.deletions=[C],A.flags|=16):U.push(C)}}function a(A,C){if(!e)return null;for(;C!==null;)t(A,C),C=C.sibling;return null}function l(A){for(var C=new Map;A!==null;)A.key!==null?C.set(A.key,A):C.set(A.index,A),A=A.sibling;return C}function i(A,C){return A=xa(A,C),A.index=0,A.sibling=null,A}function r(A,C,U){return A.index=U,e?(U=A.alternate,U!==null?(U=U.index,U<C?(A.flags|=67108866,C):U):(A.flags|=67108866,C)):(A.flags|=1048576,C)}function d(A){return e&&A.alternate===null&&(A.flags|=67108866),A}function h(A,C,U,X){return C===null||C.tag!==6?(C=Qr(U,A.mode,X),C.return=A,C):(C=i(C,U),C.return=A,C)}function j(A,C,U,X){var re=U.type;return re===k?V(A,C,U.props.children,X,U.key):C!==null&&(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===ae&&yn(re)===C.type)?(C=i(C,U.props),Kl(C,U),C.return=A,C):(C=Xs(U.type,U.key,U.props,null,A.mode,X),Kl(C,U),C.return=A,C)}function B(A,C,U,X){return C===null||C.tag!==4||C.stateNode.containerInfo!==U.containerInfo||C.stateNode.implementation!==U.implementation?(C=Yr(U,A.mode,X),C.return=A,C):(C=i(C,U.children||[]),C.return=A,C)}function V(A,C,U,X,re){return C===null||C.tag!==7?(C=mn(U,A.mode,X,re),C.return=A,C):(C=i(C,U),C.return=A,C)}function F(A,C,U){if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return C=Qr(""+C,A.mode,U),C.return=A,C;if(typeof C=="object"&&C!==null){switch(C.$$typeof){case S:return U=Xs(C.type,C.key,C.props,null,A.mode,U),Kl(U,C),U.return=A,U;case D:return C=Yr(C,A.mode,U),C.return=A,C;case ae:return C=yn(C),F(A,C,U)}if(Y(C)||H(C))return C=mn(C,A.mode,U,null),C.return=A,C;if(typeof C.then=="function")return F(A,Is(C),U);if(C.$$typeof===E)return F(A,Zs(A,C),U);Ps(A,C)}return null}function q(A,C,U,X){var re=C!==null?C.key:null;if(typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint")return re!==null?null:h(A,C,""+U,X);if(typeof U=="object"&&U!==null){switch(U.$$typeof){case S:return U.key===re?j(A,C,U,X):null;case D:return U.key===re?B(A,C,U,X):null;case ae:return U=yn(U),q(A,C,U,X)}if(Y(U)||H(U))return re!==null?null:V(A,C,U,X,null);if(typeof U.then=="function")return q(A,C,Is(U),X);if(U.$$typeof===E)return q(A,C,Zs(A,U),X);Ps(A,U)}return null}function G(A,C,U,X,re){if(typeof X=="string"&&X!==""||typeof X=="number"||typeof X=="bigint")return A=A.get(U)||null,h(C,A,""+X,re);if(typeof X=="object"&&X!==null){switch(X.$$typeof){case S:return A=A.get(X.key===null?U:X.key)||null,j(C,A,X,re);case D:return A=A.get(X.key===null?U:X.key)||null,B(C,A,X,re);case ae:return X=yn(X),G(A,C,U,X,re)}if(Y(X)||H(X))return A=A.get(U)||null,V(C,A,X,re,null);if(typeof X.then=="function")return G(A,C,U,Is(X),re);if(X.$$typeof===E)return G(A,C,U,Zs(C,X),re);Ps(C,X)}return null}function le(A,C,U,X){for(var re=null,we=null,se=C,xe=C=0,be=null;se!==null&&xe<U.length;xe++){se.index>xe?(be=se,se=null):be=se.sibling;var ze=q(A,se,U[xe],X);if(ze===null){se===null&&(se=be);break}e&&se&&ze.alternate===null&&t(A,se),C=r(ze,C,xe),we===null?re=ze:we.sibling=ze,we=ze,se=be}if(xe===U.length)return a(A,se),je&&ga(A,xe),re;if(se===null){for(;xe<U.length;xe++)se=F(A,U[xe],X),se!==null&&(C=r(se,C,xe),we===null?re=se:we.sibling=se,we=se);return je&&ga(A,xe),re}for(se=l(se);xe<U.length;xe++)be=G(se,A,xe,U[xe],X),be!==null&&(e&&be.alternate!==null&&se.delete(be.key===null?xe:be.key),C=r(be,C,xe),we===null?re=be:we.sibling=be,we=be);return e&&se.forEach(function(an){return t(A,an)}),je&&ga(A,xe),re}function ue(A,C,U,X){if(U==null)throw Error(u(151));for(var re=null,we=null,se=C,xe=C=0,be=null,ze=U.next();se!==null&&!ze.done;xe++,ze=U.next()){se.index>xe?(be=se,se=null):be=se.sibling;var an=q(A,se,ze.value,X);if(an===null){se===null&&(se=be);break}e&&se&&an.alternate===null&&t(A,se),C=r(an,C,xe),we===null?re=an:we.sibling=an,we=an,se=be}if(ze.done)return a(A,se),je&&ga(A,xe),re;if(se===null){for(;!ze.done;xe++,ze=U.next())ze=F(A,ze.value,X),ze!==null&&(C=r(ze,C,xe),we===null?re=ze:we.sibling=ze,we=ze);return je&&ga(A,xe),re}for(se=l(se);!ze.done;xe++,ze=U.next())ze=G(se,A,xe,ze.value,X),ze!==null&&(e&&ze.alternate!==null&&se.delete(ze.key===null?xe:ze.key),C=r(ze,C,xe),we===null?re=ze:we.sibling=ze,we=ze);return e&&se.forEach(function(Qp){return t(A,Qp)}),je&&ga(A,xe),re}function Ue(A,C,U,X){if(typeof U=="object"&&U!==null&&U.type===k&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case S:e:{for(var re=U.key;C!==null;){if(C.key===re){if(re=U.type,re===k){if(C.tag===7){a(A,C.sibling),X=i(C,U.props.children),X.return=A,A=X;break e}}else if(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===ae&&yn(re)===C.type){a(A,C.sibling),X=i(C,U.props),Kl(X,U),X.return=A,A=X;break e}a(A,C);break}else t(A,C);C=C.sibling}U.type===k?(X=mn(U.props.children,A.mode,X,U.key),X.return=A,A=X):(X=Xs(U.type,U.key,U.props,null,A.mode,X),Kl(X,U),X.return=A,A=X)}return d(A);case D:e:{for(re=U.key;C!==null;){if(C.key===re)if(C.tag===4&&C.stateNode.containerInfo===U.containerInfo&&C.stateNode.implementation===U.implementation){a(A,C.sibling),X=i(C,U.children||[]),X.return=A,A=X;break e}else{a(A,C);break}else t(A,C);C=C.sibling}X=Yr(U,A.mode,X),X.return=A,A=X}return d(A);case ae:return U=yn(U),Ue(A,C,U,X)}if(Y(U))return le(A,C,U,X);if(H(U)){if(re=H(U),typeof re!="function")throw Error(u(150));return U=re.call(U),ue(A,C,U,X)}if(typeof U.then=="function")return Ue(A,C,Is(U),X);if(U.$$typeof===E)return Ue(A,C,Zs(A,U),X);Ps(A,U)}return typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint"?(U=""+U,C!==null&&C.tag===6?(a(A,C.sibling),X=i(C,U),X.return=A,A=X):(a(A,C),X=Qr(U,A.mode,X),X.return=A,A=X),d(A)):a(A,C)}return function(A,C,U,X){try{Xl=0;var re=Ue(A,C,U,X);return Jn=null,re}catch(se){if(se===$n||se===Js)throw se;var we=Tt(29,se,null,A.mode);return we.lanes=X,we.return=A,we}}}var bn=rd(!0),cd=rd(!1),La=!1;function tc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ac(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ha(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ga(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Te&2)!==0){var i=l.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),l.pending=t,t=Vs(e),Xo(e,null,a),t}return Ys(e,l,t,a),Vs(e)}function Fl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Iu(e,a)}}function nc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var i=null,r=null;if(a=a.firstBaseUpdate,a!==null){do{var d={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};r===null?i=r=d:r=r.next=d,a=a.next}while(a!==null);r===null?i=r=t:r=r.next=t}else i=r=t;a={baseState:l.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var lc=!1;function Zl(){if(lc){var e=Zn;if(e!==null)throw e}}function $l(e,t,a,l){lc=!1;var i=e.updateQueue;La=!1;var r=i.firstBaseUpdate,d=i.lastBaseUpdate,h=i.shared.pending;if(h!==null){i.shared.pending=null;var j=h,B=j.next;j.next=null,d===null?r=B:d.next=B,d=j;var V=e.alternate;V!==null&&(V=V.updateQueue,h=V.lastBaseUpdate,h!==d&&(h===null?V.firstBaseUpdate=B:h.next=B,V.lastBaseUpdate=j))}if(r!==null){var F=i.baseState;d=0,V=B=j=null,h=r;do{var q=h.lane&-536870913,G=q!==h.lane;if(G?(ve&q)===q:(l&q)===q){q!==0&&q===Fn&&(lc=!0),V!==null&&(V=V.next={lane:0,tag:h.tag,payload:h.payload,callback:null,next:null});e:{var le=e,ue=h;q=t;var Ue=a;switch(ue.tag){case 1:if(le=ue.payload,typeof le=="function"){F=le.call(Ue,F,q);break e}F=le;break e;case 3:le.flags=le.flags&-65537|128;case 0:if(le=ue.payload,q=typeof le=="function"?le.call(Ue,F,q):le,q==null)break e;F=w({},F,q);break e;case 2:La=!0}}q=h.callback,q!==null&&(e.flags|=64,G&&(e.flags|=8192),G=i.callbacks,G===null?i.callbacks=[q]:G.push(q))}else G={lane:q,tag:h.tag,payload:h.payload,callback:h.callback,next:null},V===null?(B=V=G,j=F):V=V.next=G,d|=q;if(h=h.next,h===null){if(h=i.shared.pending,h===null)break;G=h,h=G.next,G.next=null,i.lastBaseUpdate=G,i.shared.pending=null}}while(!0);V===null&&(j=F),i.baseState=j,i.firstBaseUpdate=B,i.lastBaseUpdate=V,r===null&&(i.shared.lanes=0),Ka|=d,e.lanes=d,e.memoizedState=F}}function ud(e,t){if(typeof e!="function")throw Error(u(191,e));e.call(t)}function od(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)ud(a[e],t)}var Wn=Ne(null),ei=Ne(0);function dd(e,t){e=Ta,he(ei,e),he(Wn,t),Ta=e|t.baseLanes}function sc(){he(ei,Ta),he(Wn,Wn.current)}function ic(){Ta=ei.current,$(Wn),$(ei)}var Et=Ne(null),Qt=null;function Qa(e){var t=e.alternate;he(Xe,Xe.current&1),he(Et,e),Qt===null&&(t===null||Wn.current!==null||t.memoizedState!==null)&&(Qt=e)}function rc(e){he(Xe,Xe.current),he(Et,e),Qt===null&&(Qt=e)}function fd(e){e.tag===22?(he(Xe,Xe.current),he(Et,e),Qt===null&&(Qt=e)):Ya()}function Ya(){he(Xe,Xe.current),he(Et,Et.current)}function At(e){$(Et),Qt===e&&(Qt=null),$(Xe)}var Xe=Ne(0);function ti(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||mu(a)||hu(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var va=0,me=null,Oe=null,$e=null,ai=!1,In=!1,jn=!1,ni=0,Jl=0,Pn=null,kg=0;function Qe(){throw Error(u(321))}function cc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!zt(e[a],t[a]))return!1;return!0}function uc(e,t,a,l,i,r){return va=r,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,v.H=e===null||e.memoizedState===null?$d:Cc,jn=!1,r=a(l,i),jn=!1,In&&(r=hd(t,a,l,i)),md(e),r}function md(e){v.H=Pl;var t=Oe!==null&&Oe.next!==null;if(va=0,$e=Oe=me=null,ai=!1,Jl=0,Pn=null,t)throw Error(u(300));e===null||Je||(e=e.dependencies,e!==null&&Fs(e)&&(Je=!0))}function hd(e,t,a,l){me=e;var i=0;do{if(In&&(Pn=null),Jl=0,In=!1,25<=i)throw Error(u(301));if(i+=1,$e=Oe=null,e.updateQueue!=null){var r=e.updateQueue;r.lastEffect=null,r.events=null,r.stores=null,r.memoCache!=null&&(r.memoCache.index=0)}v.H=Jd,r=t(a,l)}while(In);return r}function Mg(){var e=v.H,t=e.useState()[0];return t=typeof t.then=="function"?Wl(t):t,e=e.useState()[0],(Oe!==null?Oe.memoizedState:null)!==e&&(me.flags|=1024),t}function oc(){var e=ni!==0;return ni=0,e}function dc(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function fc(e){if(ai){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ai=!1}va=0,$e=Oe=me=null,In=!1,Jl=ni=0,Pn=null}function ft(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $e===null?me.memoizedState=$e=e:$e=$e.next=e,$e}function Ke(){if(Oe===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Oe.next;var t=$e===null?me.memoizedState:$e.next;if(t!==null)$e=t,Oe=e;else{if(e===null)throw me.alternate===null?Error(u(467)):Error(u(310));Oe=e,e={memoizedState:Oe.memoizedState,baseState:Oe.baseState,baseQueue:Oe.baseQueue,queue:Oe.queue,next:null},$e===null?me.memoizedState=$e=e:$e=$e.next=e}return $e}function li(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Wl(e){var t=Jl;return Jl+=1,Pn===null&&(Pn=[]),e=ld(Pn,e,t),t=me,($e===null?t.memoizedState:$e.next)===null&&(t=t.alternate,v.H=t===null||t.memoizedState===null?$d:Cc),e}function si(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Wl(e);if(e.$$typeof===E)return ct(e)}throw Error(u(438,String(e)))}function mc(e){var t=null,a=me.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var l=me.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(i){return i.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=li(),me.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),l=0;l<e;l++)a[l]=ne;return t.index++,a}function ba(e,t){return typeof t=="function"?t(e):t}function ii(e){var t=Ke();return hc(t,Oe,e)}function hc(e,t,a){var l=e.queue;if(l===null)throw Error(u(311));l.lastRenderedReducer=a;var i=e.baseQueue,r=l.pending;if(r!==null){if(i!==null){var d=i.next;i.next=r.next,r.next=d}t.baseQueue=i=r,l.pending=null}if(r=e.baseState,i===null)e.memoizedState=r;else{t=i.next;var h=d=null,j=null,B=t,V=!1;do{var F=B.lane&-536870913;if(F!==B.lane?(ve&F)===F:(va&F)===F){var q=B.revertLane;if(q===0)j!==null&&(j=j.next={lane:0,revertLane:0,gesture:null,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null}),F===Fn&&(V=!0);else if((va&q)===q){B=B.next,q===Fn&&(V=!0);continue}else F={lane:0,revertLane:B.revertLane,gesture:null,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null},j===null?(h=j=F,d=r):j=j.next=F,me.lanes|=q,Ka|=q;F=B.action,jn&&a(r,F),r=B.hasEagerState?B.eagerState:a(r,F)}else q={lane:F,revertLane:B.revertLane,gesture:B.gesture,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null},j===null?(h=j=q,d=r):j=j.next=q,me.lanes|=F,Ka|=F;B=B.next}while(B!==null&&B!==t);if(j===null?d=r:j.next=h,!zt(r,e.memoizedState)&&(Je=!0,V&&(a=Zn,a!==null)))throw a;e.memoizedState=r,e.baseState=d,e.baseQueue=j,l.lastRenderedState=r}return i===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function xc(e){var t=Ke(),a=t.queue;if(a===null)throw Error(u(311));a.lastRenderedReducer=e;var l=a.dispatch,i=a.pending,r=t.memoizedState;if(i!==null){a.pending=null;var d=i=i.next;do r=e(r,d.action),d=d.next;while(d!==i);zt(r,t.memoizedState)||(Je=!0),t.memoizedState=r,t.baseQueue===null&&(t.baseState=r),a.lastRenderedState=r}return[r,l]}function xd(e,t,a){var l=me,i=Ke(),r=je;if(r){if(a===void 0)throw Error(u(407));a=a()}else a=t();var d=!zt((Oe||i).memoizedState,a);if(d&&(i.memoizedState=a,Je=!0),i=i.queue,yc(yd.bind(null,l,i,e),[e]),i.getSnapshot!==t||d||$e!==null&&$e.memoizedState.tag&1){if(l.flags|=2048,el(9,{destroy:void 0},pd.bind(null,l,i,a,t),null),Be===null)throw Error(u(349));r||(va&127)!==0||gd(l,t,a)}return a}function gd(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=me.updateQueue,t===null?(t=li(),me.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function pd(e,t,a,l){t.value=a,t.getSnapshot=l,vd(t)&&bd(e)}function yd(e,t,a){return a(function(){vd(t)&&bd(e)})}function vd(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!zt(e,a)}catch{return!0}}function bd(e){var t=fn(e,2);t!==null&&vt(t,e,2)}function gc(e){var t=ft();if(typeof e=="function"){var a=e;if(e=a(),jn){ka(!0);try{a()}finally{ka(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ba,lastRenderedState:e},t}function jd(e,t,a,l){return e.baseState=a,hc(e,Oe,typeof l=="function"?l:ba)}function Og(e,t,a,l,i){if(ui(e))throw Error(u(485));if(e=t.action,e!==null){var r={payload:i,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(d){r.listeners.push(d)}};v.T!==null?a(!0):r.isTransition=!1,l(r),a=t.pending,a===null?(r.next=t.pending=r,Nd(t,r)):(r.next=a.next,t.pending=a.next=r)}}function Nd(e,t){var a=t.action,l=t.payload,i=e.state;if(t.isTransition){var r=v.T,d={};v.T=d;try{var h=a(i,l),j=v.S;j!==null&&j(d,h),Sd(e,t,h)}catch(B){pc(e,t,B)}finally{r!==null&&d.types!==null&&(r.types=d.types),v.T=r}}else try{r=a(i,l),Sd(e,t,r)}catch(B){pc(e,t,B)}}function Sd(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(l){Cd(e,t,l)},function(l){return pc(e,t,l)}):Cd(e,t,a)}function Cd(e,t,a){t.status="fulfilled",t.value=a,wd(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Nd(e,a)))}function pc(e,t,a){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=a,wd(t),t=t.next;while(t!==l)}e.action=null}function wd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function zd(e,t){return t}function Td(e,t){if(je){var a=Be.formState;if(a!==null){e:{var l=me;if(je){if(qe){t:{for(var i=qe,r=Gt;i.nodeType!==8;){if(!r){i=null;break t}if(i=Yt(i.nextSibling),i===null){i=null;break t}}r=i.data,i=r==="F!"||r==="F"?i:null}if(i){qe=Yt(i.nextSibling),l=i.data==="F!";break e}}Ba(l)}l=!1}l&&(t=a[0])}}return a=ft(),a.memoizedState=a.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zd,lastRenderedState:t},a.queue=l,a=Kd.bind(null,me,l),l.dispatch=a,l=gc(!1),r=Sc.bind(null,me,!1,l.queue),l=ft(),i={state:t,dispatch:null,action:e,pending:null},l.queue=i,a=Og.bind(null,me,i,r,a),i.dispatch=a,l.memoizedState=e,[t,a,!1]}function Ed(e){var t=Ke();return Ad(t,Oe,e)}function Ad(e,t,a){if(t=hc(e,t,zd)[0],e=ii(ba)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var l=Wl(t)}catch(d){throw d===$n?Js:d}else l=t;t=Ke();var i=t.queue,r=i.dispatch;return a!==t.memoizedState&&(me.flags|=2048,el(9,{destroy:void 0},Rg.bind(null,i,a),null)),[l,r,e]}function Rg(e,t){e.action=t}function Dd(e){var t=Ke(),a=Oe;if(a!==null)return Ad(t,a,e);Ke(),t=t.memoizedState,a=Ke();var l=a.queue.dispatch;return a.memoizedState=e,[t,l,!1]}function el(e,t,a,l){return e={tag:e,create:a,deps:l,inst:t,next:null},t=me.updateQueue,t===null&&(t=li(),me.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(l=a.next,a.next=e,e.next=l,t.lastEffect=e),e}function _d(){return Ke().memoizedState}function ri(e,t,a,l){var i=ft();me.flags|=e,i.memoizedState=el(1|t,{destroy:void 0},a,l===void 0?null:l)}function ci(e,t,a,l){var i=Ke();l=l===void 0?null:l;var r=i.memoizedState.inst;Oe!==null&&l!==null&&cc(l,Oe.memoizedState.deps)?i.memoizedState=el(t,r,a,l):(me.flags|=e,i.memoizedState=el(1|t,r,a,l))}function kd(e,t){ri(8390656,8,e,t)}function yc(e,t){ci(2048,8,e,t)}function Ug(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=li(),me.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function Md(e){var t=Ke().memoizedState;return Ug({ref:t,nextImpl:e}),function(){if((Te&2)!==0)throw Error(u(440));return t.impl.apply(void 0,arguments)}}function Od(e,t){return ci(4,2,e,t)}function Rd(e,t){return ci(4,4,e,t)}function Ud(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Bd(e,t,a){a=a!=null?a.concat([e]):null,ci(4,4,Ud.bind(null,t,e),a)}function vc(){}function qd(e,t){var a=Ke();t=t===void 0?null:t;var l=a.memoizedState;return t!==null&&cc(t,l[1])?l[0]:(a.memoizedState=[e,t],e)}function Ld(e,t){var a=Ke();t=t===void 0?null:t;var l=a.memoizedState;if(t!==null&&cc(t,l[1]))return l[0];if(l=e(),jn){ka(!0);try{e()}finally{ka(!1)}}return a.memoizedState=[l,t],l}function bc(e,t,a){return a===void 0||(va&1073741824)!==0&&(ve&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=Gf(),me.lanes|=e,Ka|=e,a)}function Hd(e,t,a,l){return zt(a,t)?a:Wn.current!==null?(e=bc(e,a,l),zt(e,t)||(Je=!0),e):(va&42)===0||(va&1073741824)!==0&&(ve&261930)===0?(Je=!0,e.memoizedState=a):(e=Gf(),me.lanes|=e,Ka|=e,t)}function Gd(e,t,a,l,i){var r=R.p;R.p=r!==0&&8>r?r:8;var d=v.T,h={};v.T=h,Sc(e,!1,t,a);try{var j=i(),B=v.S;if(B!==null&&B(h,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var V=_g(j,l);Il(e,t,V,kt(e))}else Il(e,t,l,kt(e))}catch(F){Il(e,t,{then:function(){},status:"rejected",reason:F},kt())}finally{R.p=r,d!==null&&h.types!==null&&(d.types=h.types),v.T=d}}function Bg(){}function jc(e,t,a,l){if(e.tag!==5)throw Error(u(476));var i=Qd(e).queue;Gd(e,i,t,ee,a===null?Bg:function(){return Yd(e),a(l)})}function Qd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ba,lastRenderedState:ee},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ba,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Yd(e){var t=Qd(e);t.next===null&&(t=e.alternate.memoizedState),Il(e,t.next.queue,{},kt())}function Nc(){return ct(xs)}function Vd(){return Ke().memoizedState}function Xd(){return Ke().memoizedState}function qg(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=kt();e=Ha(a);var l=Ga(t,e,a);l!==null&&(vt(l,t,a),Fl(l,t,a)),t={cache:Wr()},e.payload=t;return}t=t.return}}function Lg(e,t,a){var l=kt();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},ui(e)?Fd(t,a):(a=Hr(e,t,a,l),a!==null&&(vt(a,e,l),Zd(a,t,l)))}function Kd(e,t,a){var l=kt();Il(e,t,a,l)}function Il(e,t,a,l){var i={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(ui(e))Fd(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var d=t.lastRenderedState,h=r(d,a);if(i.hasEagerState=!0,i.eagerState=h,zt(h,d))return Ys(e,t,i,0),Be===null&&Qs(),!1}catch{}if(a=Hr(e,t,i,l),a!==null)return vt(a,e,l),Zd(a,t,l),!0}return!1}function Sc(e,t,a,l){if(l={lane:2,revertLane:tu(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ui(e)){if(t)throw Error(u(479))}else t=Hr(e,a,l,2),t!==null&&vt(t,e,2)}function ui(e){var t=e.alternate;return e===me||t!==null&&t===me}function Fd(e,t){In=ai=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Zd(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Iu(e,a)}}var Pl={readContext:ct,use:si,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};Pl.useEffectEvent=Qe;var $d={readContext:ct,use:si,useCallback:function(e,t){return ft().memoizedState=[e,t===void 0?null:t],e},useContext:ct,useEffect:kd,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ri(4194308,4,Ud.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ri(4194308,4,e,t)},useInsertionEffect:function(e,t){ri(4,2,e,t)},useMemo:function(e,t){var a=ft();t=t===void 0?null:t;var l=e();if(jn){ka(!0);try{e()}finally{ka(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=ft();if(a!==void 0){var i=a(t);if(jn){ka(!0);try{a(t)}finally{ka(!1)}}}else i=t;return l.memoizedState=l.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},l.queue=e,e=e.dispatch=Lg.bind(null,me,e),[l.memoizedState,e]},useRef:function(e){var t=ft();return e={current:e},t.memoizedState=e},useState:function(e){e=gc(e);var t=e.queue,a=Kd.bind(null,me,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:vc,useDeferredValue:function(e,t){var a=ft();return bc(a,e,t)},useTransition:function(){var e=gc(!1);return e=Gd.bind(null,me,e.queue,!0,!1),ft().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=me,i=ft();if(je){if(a===void 0)throw Error(u(407));a=a()}else{if(a=t(),Be===null)throw Error(u(349));(ve&127)!==0||gd(l,t,a)}i.memoizedState=a;var r={value:a,getSnapshot:t};return i.queue=r,kd(yd.bind(null,l,r,e),[e]),l.flags|=2048,el(9,{destroy:void 0},pd.bind(null,l,r,a,t),null),a},useId:function(){var e=ft(),t=Be.identifierPrefix;if(je){var a=ra,l=ia;a=(l&~(1<<32-wt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=ni++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=kg++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Nc,useFormState:Td,useActionState:Td,useOptimistic:function(e){var t=ft();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Sc.bind(null,me,!0,a),a.dispatch=t,[e,t]},useMemoCache:mc,useCacheRefresh:function(){return ft().memoizedState=qg.bind(null,me)},useEffectEvent:function(e){var t=ft(),a={impl:e};return t.memoizedState=a,function(){if((Te&2)!==0)throw Error(u(440));return a.impl.apply(void 0,arguments)}}},Cc={readContext:ct,use:si,useCallback:qd,useContext:ct,useEffect:yc,useImperativeHandle:Bd,useInsertionEffect:Od,useLayoutEffect:Rd,useMemo:Ld,useReducer:ii,useRef:_d,useState:function(){return ii(ba)},useDebugValue:vc,useDeferredValue:function(e,t){var a=Ke();return Hd(a,Oe.memoizedState,e,t)},useTransition:function(){var e=ii(ba)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Wl(e),t]},useSyncExternalStore:xd,useId:Vd,useHostTransitionStatus:Nc,useFormState:Ed,useActionState:Ed,useOptimistic:function(e,t){var a=Ke();return jd(a,Oe,e,t)},useMemoCache:mc,useCacheRefresh:Xd};Cc.useEffectEvent=Md;var Jd={readContext:ct,use:si,useCallback:qd,useContext:ct,useEffect:yc,useImperativeHandle:Bd,useInsertionEffect:Od,useLayoutEffect:Rd,useMemo:Ld,useReducer:xc,useRef:_d,useState:function(){return xc(ba)},useDebugValue:vc,useDeferredValue:function(e,t){var a=Ke();return Oe===null?bc(a,e,t):Hd(a,Oe.memoizedState,e,t)},useTransition:function(){var e=xc(ba)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Wl(e),t]},useSyncExternalStore:xd,useId:Vd,useHostTransitionStatus:Nc,useFormState:Dd,useActionState:Dd,useOptimistic:function(e,t){var a=Ke();return Oe!==null?jd(a,Oe,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:mc,useCacheRefresh:Xd};Jd.useEffectEvent=Md;function wc(e,t,a,l){t=e.memoizedState,a=a(l,t),a=a==null?t:w({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var zc={enqueueSetState:function(e,t,a){e=e._reactInternals;var l=kt(),i=Ha(l);i.payload=t,a!=null&&(i.callback=a),t=Ga(e,i,l),t!==null&&(vt(t,e,l),Fl(t,e,l))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var l=kt(),i=Ha(l);i.tag=1,i.payload=t,a!=null&&(i.callback=a),t=Ga(e,i,l),t!==null&&(vt(t,e,l),Fl(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=kt(),l=Ha(a);l.tag=2,t!=null&&(l.callback=t),t=Ga(e,l,a),t!==null&&(vt(t,e,a),Fl(t,e,a))}};function Wd(e,t,a,l,i,r,d){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,r,d):t.prototype&&t.prototype.isPureReactComponent?!Ll(a,l)||!Ll(i,r):!0}function Id(e,t,a,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,l),t.state!==e&&zc.enqueueReplaceState(t,t.state,null)}function Nn(e,t){var a=t;if("ref"in t){a={};for(var l in t)l!=="ref"&&(a[l]=t[l])}if(e=e.defaultProps){a===t&&(a=w({},a));for(var i in e)a[i]===void 0&&(a[i]=e[i])}return a}function Pd(e){Gs(e)}function ef(e){console.error(e)}function tf(e){Gs(e)}function oi(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function af(e,t,a){try{var l=e.onCaughtError;l(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(i){setTimeout(function(){throw i})}}function Tc(e,t,a){return a=Ha(a),a.tag=3,a.payload={element:null},a.callback=function(){oi(e,t)},a}function nf(e){return e=Ha(e),e.tag=3,e}function lf(e,t,a,l){var i=a.type.getDerivedStateFromError;if(typeof i=="function"){var r=l.value;e.payload=function(){return i(r)},e.callback=function(){af(t,a,l)}}var d=a.stateNode;d!==null&&typeof d.componentDidCatch=="function"&&(e.callback=function(){af(t,a,l),typeof i!="function"&&(Fa===null?Fa=new Set([this]):Fa.add(this));var h=l.stack;this.componentDidCatch(l.value,{componentStack:h!==null?h:""})})}function Hg(e,t,a,l,i){if(a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=a.alternate,t!==null&&Kn(t,a,i,!0),a=Et.current,a!==null){switch(a.tag){case 31:case 13:return Qt===null?Ni():a.alternate===null&&Ye===0&&(Ye=3),a.flags&=-257,a.flags|=65536,a.lanes=i,l===Ws?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([l]):t.add(l),Ic(e,l,i)),!1;case 22:return a.flags|=65536,l===Ws?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([l]):a.add(l)),Ic(e,l,i)),!1}throw Error(u(435,a.tag))}return Ic(e,l,i),Ni(),!1}if(je)return t=Et.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=i,l!==Kr&&(e=Error(u(422),{cause:l}),Ql(qt(e,a)))):(l!==Kr&&(t=Error(u(423),{cause:l}),Ql(qt(t,a))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,l=qt(l,a),i=Tc(e.stateNode,l,i),nc(e,i),Ye!==4&&(Ye=2)),!1;var r=Error(u(520),{cause:l});if(r=qt(r,a),rs===null?rs=[r]:rs.push(r),Ye!==4&&(Ye=2),t===null)return!0;l=qt(l,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=i&-i,a.lanes|=e,e=Tc(a.stateNode,l,e),nc(a,e),!1;case 1:if(t=a.type,r=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||r!==null&&typeof r.componentDidCatch=="function"&&(Fa===null||!Fa.has(r))))return a.flags|=65536,i&=-i,a.lanes|=i,i=nf(i),lf(i,e,a,l),nc(a,i),!1}a=a.return}while(a!==null);return!1}var Ec=Error(u(461)),Je=!1;function ut(e,t,a,l){t.child=e===null?cd(t,null,a,l):bn(t,e.child,a,l)}function sf(e,t,a,l,i){a=a.render;var r=t.ref;if("ref"in l){var d={};for(var h in l)h!=="ref"&&(d[h]=l[h])}else d=l;return gn(t),l=uc(e,t,a,d,r,i),h=oc(),e!==null&&!Je?(dc(e,t,i),ja(e,t,i)):(je&&h&&Vr(t),t.flags|=1,ut(e,t,l,i),t.child)}function rf(e,t,a,l,i){if(e===null){var r=a.type;return typeof r=="function"&&!Gr(r)&&r.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=r,cf(e,t,r,l,i)):(e=Xs(a.type,null,l,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(r=e.child,!Uc(e,i)){var d=r.memoizedProps;if(a=a.compare,a=a!==null?a:Ll,a(d,l)&&e.ref===t.ref)return ja(e,t,i)}return t.flags|=1,e=xa(r,l),e.ref=t.ref,e.return=t,t.child=e}function cf(e,t,a,l,i){if(e!==null){var r=e.memoizedProps;if(Ll(r,l)&&e.ref===t.ref)if(Je=!1,t.pendingProps=l=r,Uc(e,i))(e.flags&131072)!==0&&(Je=!0);else return t.lanes=e.lanes,ja(e,t,i)}return Ac(e,t,a,l,i)}function uf(e,t,a,l){var i=l.children,r=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((t.flags&128)!==0){if(r=r!==null?r.baseLanes|a:a,e!==null){for(l=t.child=e.child,i=0;l!==null;)i=i|l.lanes|l.childLanes,l=l.sibling;l=i&~r}else l=0,t.child=null;return of(e,t,r,a,l)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&$s(t,r!==null?r.cachePool:null),r!==null?dd(t,r):sc(),fd(t);else return l=t.lanes=536870912,of(e,t,r!==null?r.baseLanes|a:a,a,l)}else r!==null?($s(t,r.cachePool),dd(t,r),Ya(),t.memoizedState=null):(e!==null&&$s(t,null),sc(),Ya());return ut(e,t,i,a),t.child}function es(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function of(e,t,a,l,i){var r=Pr();return r=r===null?null:{parent:Ze._currentValue,pool:r},t.memoizedState={baseLanes:a,cachePool:r},e!==null&&$s(t,null),sc(),fd(t),e!==null&&Kn(e,t,l,!0),t.childLanes=i,null}function di(e,t){return t=mi({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function df(e,t,a){return bn(t,e.child,null,a),e=di(t,t.pendingProps),e.flags|=2,At(t),t.memoizedState=null,e}function Gg(e,t,a){var l=t.pendingProps,i=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(je){if(l.mode==="hidden")return e=di(t,l),t.lanes=536870912,es(null,e);if(rc(t),(e=qe)?(e=Sm(e,Gt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ra!==null?{id:ia,overflow:ra}:null,retryLane:536870912,hydrationErrors:null},a=Fo(e),a.return=t,t.child=a,rt=t,qe=null)):e=null,e===null)throw Ba(t);return t.lanes=536870912,null}return di(t,l)}var r=e.memoizedState;if(r!==null){var d=r.dehydrated;if(rc(t),i)if(t.flags&256)t.flags&=-257,t=df(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(u(558));else if(Je||Kn(e,t,a,!1),i=(a&e.childLanes)!==0,Je||i){if(l=Be,l!==null&&(d=Pu(l,a),d!==0&&d!==r.retryLane))throw r.retryLane=d,fn(e,d),vt(l,e,d),Ec;Ni(),t=df(e,t,a)}else e=r.treeContext,qe=Yt(d.nextSibling),rt=t,je=!0,Ua=null,Gt=!1,e!==null&&Jo(t,e),t=di(t,l),t.flags|=4096;return t}return e=xa(e.child,{mode:l.mode,children:l.children}),e.ref=t.ref,t.child=e,e.return=t,e}function fi(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(u(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Ac(e,t,a,l,i){return gn(t),a=uc(e,t,a,l,void 0,i),l=oc(),e!==null&&!Je?(dc(e,t,i),ja(e,t,i)):(je&&l&&Vr(t),t.flags|=1,ut(e,t,a,i),t.child)}function ff(e,t,a,l,i,r){return gn(t),t.updateQueue=null,a=hd(t,l,a,i),md(e),l=oc(),e!==null&&!Je?(dc(e,t,r),ja(e,t,r)):(je&&l&&Vr(t),t.flags|=1,ut(e,t,a,r),t.child)}function mf(e,t,a,l,i){if(gn(t),t.stateNode===null){var r=Qn,d=a.contextType;typeof d=="object"&&d!==null&&(r=ct(d)),r=new a(l,r),t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=zc,t.stateNode=r,r._reactInternals=t,r=t.stateNode,r.props=l,r.state=t.memoizedState,r.refs={},tc(t),d=a.contextType,r.context=typeof d=="object"&&d!==null?ct(d):Qn,r.state=t.memoizedState,d=a.getDerivedStateFromProps,typeof d=="function"&&(wc(t,a,d,l),r.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(d=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),d!==r.state&&zc.enqueueReplaceState(r,r.state,null),$l(t,l,r,i),Zl(),r.state=t.memoizedState),typeof r.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){r=t.stateNode;var h=t.memoizedProps,j=Nn(a,h);r.props=j;var B=r.context,V=a.contextType;d=Qn,typeof V=="object"&&V!==null&&(d=ct(V));var F=a.getDerivedStateFromProps;V=typeof F=="function"||typeof r.getSnapshotBeforeUpdate=="function",h=t.pendingProps!==h,V||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(h||B!==d)&&Id(t,r,l,d),La=!1;var q=t.memoizedState;r.state=q,$l(t,l,r,i),Zl(),B=t.memoizedState,h||q!==B||La?(typeof F=="function"&&(wc(t,a,F,l),B=t.memoizedState),(j=La||Wd(t,a,j,l,q,B,d))?(V||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount()),typeof r.componentDidMount=="function"&&(t.flags|=4194308)):(typeof r.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=B),r.props=l,r.state=B,r.context=d,l=j):(typeof r.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{r=t.stateNode,ac(e,t),d=t.memoizedProps,V=Nn(a,d),r.props=V,F=t.pendingProps,q=r.context,B=a.contextType,j=Qn,typeof B=="object"&&B!==null&&(j=ct(B)),h=a.getDerivedStateFromProps,(B=typeof h=="function"||typeof r.getSnapshotBeforeUpdate=="function")||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(d!==F||q!==j)&&Id(t,r,l,j),La=!1,q=t.memoizedState,r.state=q,$l(t,l,r,i),Zl();var G=t.memoizedState;d!==F||q!==G||La||e!==null&&e.dependencies!==null&&Fs(e.dependencies)?(typeof h=="function"&&(wc(t,a,h,l),G=t.memoizedState),(V=La||Wd(t,a,V,l,q,G,j)||e!==null&&e.dependencies!==null&&Fs(e.dependencies))?(B||typeof r.UNSAFE_componentWillUpdate!="function"&&typeof r.componentWillUpdate!="function"||(typeof r.componentWillUpdate=="function"&&r.componentWillUpdate(l,G,j),typeof r.UNSAFE_componentWillUpdate=="function"&&r.UNSAFE_componentWillUpdate(l,G,j)),typeof r.componentDidUpdate=="function"&&(t.flags|=4),typeof r.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof r.componentDidUpdate!="function"||d===e.memoizedProps&&q===e.memoizedState||(t.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&q===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=G),r.props=l,r.state=G,r.context=j,l=V):(typeof r.componentDidUpdate!="function"||d===e.memoizedProps&&q===e.memoizedState||(t.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&q===e.memoizedState||(t.flags|=1024),l=!1)}return r=l,fi(e,t),l=(t.flags&128)!==0,r||l?(r=t.stateNode,a=l&&typeof a.getDerivedStateFromError!="function"?null:r.render(),t.flags|=1,e!==null&&l?(t.child=bn(t,e.child,null,i),t.child=bn(t,null,a,i)):ut(e,t,a,i),t.memoizedState=r.state,e=t.child):e=ja(e,t,i),e}function hf(e,t,a,l){return hn(),t.flags|=256,ut(e,t,a,l),t.child}var Dc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function _c(e){return{baseLanes:e,cachePool:ad()}}function kc(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=_t),e}function xf(e,t,a){var l=t.pendingProps,i=!1,r=(t.flags&128)!==0,d;if((d=r)||(d=e!==null&&e.memoizedState===null?!1:(Xe.current&2)!==0),d&&(i=!0,t.flags&=-129),d=(t.flags&32)!==0,t.flags&=-33,e===null){if(je){if(i?Qa(t):Ya(),(e=qe)?(e=Sm(e,Gt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ra!==null?{id:ia,overflow:ra}:null,retryLane:536870912,hydrationErrors:null},a=Fo(e),a.return=t,t.child=a,rt=t,qe=null)):e=null,e===null)throw Ba(t);return hu(e)?t.lanes=32:t.lanes=536870912,null}var h=l.children;return l=l.fallback,i?(Ya(),i=t.mode,h=mi({mode:"hidden",children:h},i),l=mn(l,i,a,null),h.return=t,l.return=t,h.sibling=l,t.child=h,l=t.child,l.memoizedState=_c(a),l.childLanes=kc(e,d,a),t.memoizedState=Dc,es(null,l)):(Qa(t),Mc(t,h))}var j=e.memoizedState;if(j!==null&&(h=j.dehydrated,h!==null)){if(r)t.flags&256?(Qa(t),t.flags&=-257,t=Oc(e,t,a)):t.memoizedState!==null?(Ya(),t.child=e.child,t.flags|=128,t=null):(Ya(),h=l.fallback,i=t.mode,l=mi({mode:"visible",children:l.children},i),h=mn(h,i,a,null),h.flags|=2,l.return=t,h.return=t,l.sibling=h,t.child=l,bn(t,e.child,null,a),l=t.child,l.memoizedState=_c(a),l.childLanes=kc(e,d,a),t.memoizedState=Dc,t=es(null,l));else if(Qa(t),hu(h)){if(d=h.nextSibling&&h.nextSibling.dataset,d)var B=d.dgst;d=B,l=Error(u(419)),l.stack="",l.digest=d,Ql({value:l,source:null,stack:null}),t=Oc(e,t,a)}else if(Je||Kn(e,t,a,!1),d=(a&e.childLanes)!==0,Je||d){if(d=Be,d!==null&&(l=Pu(d,a),l!==0&&l!==j.retryLane))throw j.retryLane=l,fn(e,l),vt(d,e,l),Ec;mu(h)||Ni(),t=Oc(e,t,a)}else mu(h)?(t.flags|=192,t.child=e.child,t=null):(e=j.treeContext,qe=Yt(h.nextSibling),rt=t,je=!0,Ua=null,Gt=!1,e!==null&&Jo(t,e),t=Mc(t,l.children),t.flags|=4096);return t}return i?(Ya(),h=l.fallback,i=t.mode,j=e.child,B=j.sibling,l=xa(j,{mode:"hidden",children:l.children}),l.subtreeFlags=j.subtreeFlags&65011712,B!==null?h=xa(B,h):(h=mn(h,i,a,null),h.flags|=2),h.return=t,l.return=t,l.sibling=h,t.child=l,es(null,l),l=t.child,h=e.child.memoizedState,h===null?h=_c(a):(i=h.cachePool,i!==null?(j=Ze._currentValue,i=i.parent!==j?{parent:j,pool:j}:i):i=ad(),h={baseLanes:h.baseLanes|a,cachePool:i}),l.memoizedState=h,l.childLanes=kc(e,d,a),t.memoizedState=Dc,es(e.child,l)):(Qa(t),a=e.child,e=a.sibling,a=xa(a,{mode:"visible",children:l.children}),a.return=t,a.sibling=null,e!==null&&(d=t.deletions,d===null?(t.deletions=[e],t.flags|=16):d.push(e)),t.child=a,t.memoizedState=null,a)}function Mc(e,t){return t=mi({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function mi(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function Oc(e,t,a){return bn(t,e.child,null,a),e=Mc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function gf(e,t,a){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),$r(e.return,t,a)}function Rc(e,t,a,l,i,r){var d=e.memoizedState;d===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:a,tailMode:i,treeForkCount:r}:(d.isBackwards=t,d.rendering=null,d.renderingStartTime=0,d.last=l,d.tail=a,d.tailMode=i,d.treeForkCount=r)}function pf(e,t,a){var l=t.pendingProps,i=l.revealOrder,r=l.tail;l=l.children;var d=Xe.current,h=(d&2)!==0;if(h?(d=d&1|2,t.flags|=128):d&=1,he(Xe,d),ut(e,t,l,a),l=je?Gl:0,!h&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&gf(e,a,t);else if(e.tag===19)gf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case"forwards":for(a=t.child,i=null;a!==null;)e=a.alternate,e!==null&&ti(e)===null&&(i=a),a=a.sibling;a=i,a===null?(i=t.child,t.child=null):(i=a.sibling,a.sibling=null),Rc(t,!1,i,a,r,l);break;case"backwards":case"unstable_legacy-backwards":for(a=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ti(e)===null){t.child=i;break}e=i.sibling,i.sibling=a,a=i,i=e}Rc(t,!0,a,null,r,l);break;case"together":Rc(t,!1,null,null,void 0,l);break;default:t.memoizedState=null}return t.child}function ja(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Ka|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Kn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(u(153));if(t.child!==null){for(e=t.child,a=xa(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=xa(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Uc(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Fs(e)))}function Qg(e,t,a){switch(t.tag){case 3:bt(t,t.stateNode.containerInfo),qa(t,Ze,e.memoizedState.cache),hn();break;case 27:case 5:na(t);break;case 4:bt(t,t.stateNode.containerInfo);break;case 10:qa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,rc(t),null;break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(Qa(t),t.flags|=128,null):(a&t.child.childLanes)!==0?xf(e,t,a):(Qa(t),e=ja(e,t,a),e!==null?e.sibling:null);Qa(t);break;case 19:var i=(e.flags&128)!==0;if(l=(a&t.childLanes)!==0,l||(Kn(e,t,a,!1),l=(a&t.childLanes)!==0),i){if(l)return pf(e,t,a);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),he(Xe,Xe.current),l)break;return null;case 22:return t.lanes=0,uf(e,t,a,t.pendingProps);case 24:qa(t,Ze,e.memoizedState.cache)}return ja(e,t,a)}function yf(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Je=!0;else{if(!Uc(e,a)&&(t.flags&128)===0)return Je=!1,Qg(e,t,a);Je=(e.flags&131072)!==0}else Je=!1,je&&(t.flags&1048576)!==0&&$o(t,Gl,t.index);switch(t.lanes=0,t.tag){case 16:e:{var l=t.pendingProps;if(e=yn(t.elementType),t.type=e,typeof e=="function")Gr(e)?(l=Nn(e,l),t.tag=1,t=mf(null,t,e,l,a)):(t.tag=0,t=Ac(null,t,e,l,a));else{if(e!=null){var i=e.$$typeof;if(i===z){t.tag=11,t=sf(null,t,e,l,a);break e}else if(i===K){t.tag=14,t=rf(null,t,e,l,a);break e}}throw t=Z(e)||e,Error(u(306,t,""))}}return t;case 0:return Ac(e,t,t.type,t.pendingProps,a);case 1:return l=t.type,i=Nn(l,t.pendingProps),mf(e,t,l,i,a);case 3:e:{if(bt(t,t.stateNode.containerInfo),e===null)throw Error(u(387));l=t.pendingProps;var r=t.memoizedState;i=r.element,ac(e,t),$l(t,l,null,a);var d=t.memoizedState;if(l=d.cache,qa(t,Ze,l),l!==r.cache&&Jr(t,[Ze],a,!0),Zl(),l=d.element,r.isDehydrated)if(r={element:l,isDehydrated:!1,cache:d.cache},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){t=hf(e,t,l,a);break e}else if(l!==i){i=qt(Error(u(424)),t),Ql(i),t=hf(e,t,l,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,qe=Yt(e.firstChild),rt=t,je=!0,Ua=null,Gt=!0,a=cd(t,null,l,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(hn(),l===i){t=ja(e,t,a);break e}ut(e,t,l,a)}t=t.child}return t;case 26:return fi(e,t),e===null?(a=Am(t.type,null,t.pendingProps,null))?t.memoizedState=a:je||(a=t.type,e=t.pendingProps,l=Ai(Ve.current).createElement(a),l[it]=t,l[mt]=e,ot(l,a,e),lt(l),t.stateNode=l):t.memoizedState=Am(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return na(t),e===null&&je&&(l=t.stateNode=zm(t.type,t.pendingProps,Ve.current),rt=t,Gt=!0,i=qe,Wa(t.type)?(xu=i,qe=Yt(l.firstChild)):qe=i),ut(e,t,t.pendingProps.children,a),fi(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&je&&((i=l=qe)&&(l=yp(l,t.type,t.pendingProps,Gt),l!==null?(t.stateNode=l,rt=t,qe=Yt(l.firstChild),Gt=!1,i=!0):i=!1),i||Ba(t)),na(t),i=t.type,r=t.pendingProps,d=e!==null?e.memoizedProps:null,l=r.children,ou(i,r)?l=null:d!==null&&ou(i,d)&&(t.flags|=32),t.memoizedState!==null&&(i=uc(e,t,Mg,null,null,a),xs._currentValue=i),fi(e,t),ut(e,t,l,a),t.child;case 6:return e===null&&je&&((e=a=qe)&&(a=vp(a,t.pendingProps,Gt),a!==null?(t.stateNode=a,rt=t,qe=null,e=!0):e=!1),e||Ba(t)),null;case 13:return xf(e,t,a);case 4:return bt(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=bn(t,null,l,a):ut(e,t,l,a),t.child;case 11:return sf(e,t,t.type,t.pendingProps,a);case 7:return ut(e,t,t.pendingProps,a),t.child;case 8:return ut(e,t,t.pendingProps.children,a),t.child;case 12:return ut(e,t,t.pendingProps.children,a),t.child;case 10:return l=t.pendingProps,qa(t,t.type,l.value),ut(e,t,l.children,a),t.child;case 9:return i=t.type._context,l=t.pendingProps.children,gn(t),i=ct(i),l=l(i),t.flags|=1,ut(e,t,l,a),t.child;case 14:return rf(e,t,t.type,t.pendingProps,a);case 15:return cf(e,t,t.type,t.pendingProps,a);case 19:return pf(e,t,a);case 31:return Gg(e,t,a);case 22:return uf(e,t,a,t.pendingProps);case 24:return gn(t),l=ct(Ze),e===null?(i=Pr(),i===null&&(i=Be,r=Wr(),i.pooledCache=r,r.refCount++,r!==null&&(i.pooledCacheLanes|=a),i=r),t.memoizedState={parent:l,cache:i},tc(t),qa(t,Ze,i)):((e.lanes&a)!==0&&(ac(e,t),$l(t,null,null,a),Zl()),i=e.memoizedState,r=t.memoizedState,i.parent!==l?(i={parent:l,cache:l},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),qa(t,Ze,l)):(l=r.cache,qa(t,Ze,l),l!==i.cache&&Jr(t,[Ze],a,!0))),ut(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(u(156,t.tag))}function Na(e){e.flags|=4}function Bc(e,t,a,l,i){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(Xf())e.flags|=8192;else throw vn=Ws,ec}else e.flags&=-16777217}function vf(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Om(t))if(Xf())e.flags|=8192;else throw vn=Ws,ec}function hi(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ju():536870912,e.lanes|=t,ll|=t)}function ts(e,t){if(!je)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function Le(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,l=0;if(t)for(var i=e.child;i!==null;)a|=i.lanes|i.childLanes,l|=i.subtreeFlags&65011712,l|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)a|=i.lanes|i.childLanes,l|=i.subtreeFlags,l|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=l,e.childLanes=a,t}function Yg(e,t,a){var l=t.pendingProps;switch(Xr(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Le(t),null;case 1:return Le(t),null;case 3:return a=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),ya(Ze),jt(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Xn(t)?Na(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Fr())),Le(t),null;case 26:var i=t.type,r=t.memoizedState;return e===null?(Na(t),r!==null?(Le(t),vf(t,r)):(Le(t),Bc(t,i,null,l,a))):r?r!==e.memoizedState?(Na(t),Le(t),vf(t,r)):(Le(t),t.flags&=-16777217):(e=e.memoizedProps,e!==l&&Na(t),Le(t),Bc(t,i,e,l,a)),null;case 27:if(Zt(t),a=Ve.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&Na(t);else{if(!l){if(t.stateNode===null)throw Error(u(166));return Le(t),null}e=ce.current,Xn(t)?Wo(t):(e=zm(i,l,a),t.stateNode=e,Na(t))}return Le(t),null;case 5:if(Zt(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&Na(t);else{if(!l){if(t.stateNode===null)throw Error(u(166));return Le(t),null}if(r=ce.current,Xn(t))Wo(t);else{var d=Ai(Ve.current);switch(r){case 1:r=d.createElementNS("http://www.w3.org/2000/svg",i);break;case 2:r=d.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;default:switch(i){case"svg":r=d.createElementNS("http://www.w3.org/2000/svg",i);break;case"math":r=d.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;case"script":r=d.createElement("div"),r.innerHTML="<script><\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof l.is=="string"?d.createElement("select",{is:l.is}):d.createElement("select"),l.multiple?r.multiple=!0:l.size&&(r.size=l.size);break;default:r=typeof l.is=="string"?d.createElement(i,{is:l.is}):d.createElement(i)}}r[it]=t,r[mt]=l;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)r.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=r;e:switch(ot(r,i,l),i){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Na(t)}}return Le(t),Bc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&Na(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(u(166));if(e=Ve.current,Xn(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,i=rt,i!==null)switch(i.tag){case 27:case 5:l=i.memoizedProps}e[it]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||xm(e.nodeValue,a)),e||Ba(t,!0)}else e=Ai(e).createTextNode(l),e[it]=t,t.stateNode=e}return Le(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=Xn(t),a!==null){if(e===null){if(!l)throw Error(u(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(u(557));e[it]=t}else hn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Le(t),e=!1}else a=Fr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(At(t),t):(At(t),null);if((t.flags&128)!==0)throw Error(u(558))}return Le(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Xn(t),l!==null&&l.dehydrated!==null){if(e===null){if(!i)throw Error(u(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(u(317));i[it]=t}else hn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Le(t),i=!1}else i=Fr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(At(t),t):(At(t),null)}return At(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,i=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(i=l.alternate.memoizedState.cachePool.pool),r=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(r=l.memoizedState.cachePool.pool),r!==i&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),hi(t,t.updateQueue),Le(t),null);case 4:return jt(),e===null&&su(t.stateNode.containerInfo),Le(t),null;case 10:return ya(t.type),Le(t),null;case 19:if($(Xe),l=t.memoizedState,l===null)return Le(t),null;if(i=(t.flags&128)!==0,r=l.rendering,r===null)if(i)ts(l,!1);else{if(Ye!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(r=ti(e),r!==null){for(t.flags|=128,ts(l,!1),e=r.updateQueue,t.updateQueue=e,hi(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Ko(a,e),a=a.sibling;return he(Xe,Xe.current&1|2),je&&ga(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&St()>vi&&(t.flags|=128,i=!0,ts(l,!1),t.lanes=4194304)}else{if(!i)if(e=ti(r),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,hi(t,e),ts(l,!0),l.tail===null&&l.tailMode==="hidden"&&!r.alternate&&!je)return Le(t),null}else 2*St()-l.renderingStartTime>vi&&a!==536870912&&(t.flags|=128,i=!0,ts(l,!1),t.lanes=4194304);l.isBackwards?(r.sibling=t.child,t.child=r):(e=l.last,e!==null?e.sibling=r:t.child=r,l.last=r)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=St(),e.sibling=null,a=Xe.current,he(Xe,i?a&1|2:a&1),je&&ga(t,l.treeForkCount),e):(Le(t),null);case 22:case 23:return At(t),ic(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Le(t),t.subtreeFlags&6&&(t.flags|=8192)):Le(t),a=t.updateQueue,a!==null&&hi(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&$(pn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ya(Ze),Le(t),null;case 25:return null;case 30:return null}throw Error(u(156,t.tag))}function Vg(e,t){switch(Xr(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ya(Ze),jt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Zt(t),null;case 31:if(t.memoizedState!==null){if(At(t),t.alternate===null)throw Error(u(340));hn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(At(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(u(340));hn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return $(Xe),null;case 4:return jt(),null;case 10:return ya(t.type),null;case 22:case 23:return At(t),ic(),e!==null&&$(pn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ya(Ze),null;case 25:return null;default:return null}}function bf(e,t){switch(Xr(t),t.tag){case 3:ya(Ze),jt();break;case 26:case 27:case 5:Zt(t);break;case 4:jt();break;case 31:t.memoizedState!==null&&At(t);break;case 13:At(t);break;case 19:$(Xe);break;case 10:ya(t.type);break;case 22:case 23:At(t),ic(),e!==null&&$(pn);break;case 24:ya(Ze)}}function as(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){l=void 0;var r=a.create,d=a.inst;l=r(),d.destroy=l}a=a.next}while(a!==i)}}catch(h){_e(t,t.return,h)}}function Va(e,t,a){try{var l=t.updateQueue,i=l!==null?l.lastEffect:null;if(i!==null){var r=i.next;l=r;do{if((l.tag&e)===e){var d=l.inst,h=d.destroy;if(h!==void 0){d.destroy=void 0,i=t;var j=a,B=h;try{B()}catch(V){_e(i,j,V)}}}l=l.next}while(l!==r)}}catch(V){_e(t,t.return,V)}}function jf(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{od(t,a)}catch(l){_e(e,e.return,l)}}}function Nf(e,t,a){a.props=Nn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){_e(e,t,l)}}function ns(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(i){_e(e,t,i)}}function ca(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(i){_e(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){_e(e,t,i)}else a.current=null}function Sf(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(i){_e(e,e.return,i)}}function qc(e,t,a){try{var l=e.stateNode;fp(l,e.type,a,t),l[mt]=t}catch(i){_e(e,e.return,i)}}function Cf(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Wa(e.type)||e.tag===4}function Lc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Cf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Wa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hc(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=ma));else if(l!==4&&(l===27&&Wa(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Hc(e,t,a),e=e.sibling;e!==null;)Hc(e,t,a),e=e.sibling}function xi(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&Wa(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(xi(e,t,a),e=e.sibling;e!==null;)xi(e,t,a),e=e.sibling}function wf(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);ot(t,l,a),t[it]=e,t[mt]=a}catch(r){_e(e,e.return,r)}}var Sa=!1,We=!1,Gc=!1,zf=typeof WeakSet=="function"?WeakSet:Set,st=null;function Xg(e,t){if(e=e.containerInfo,cu=Ui,e=Bo(e),Or(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var i=l.anchorOffset,r=l.focusNode;l=l.focusOffset;try{a.nodeType,r.nodeType}catch{a=null;break e}var d=0,h=-1,j=-1,B=0,V=0,F=e,q=null;t:for(;;){for(var G;F!==a||i!==0&&F.nodeType!==3||(h=d+i),F!==r||l!==0&&F.nodeType!==3||(j=d+l),F.nodeType===3&&(d+=F.nodeValue.length),(G=F.firstChild)!==null;)q=F,F=G;for(;;){if(F===e)break t;if(q===a&&++B===i&&(h=d),q===r&&++V===l&&(j=d),(G=F.nextSibling)!==null)break;F=q,q=F.parentNode}F=G}a=h===-1||j===-1?null:{start:h,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(uu={focusedElem:e,selectionRange:a},Ui=!1,st=t;st!==null;)if(t=st,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,st=e;else for(;st!==null;){switch(t=st,r=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)i=e[a],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&r!==null){e=void 0,a=t,i=r.memoizedProps,r=r.memoizedState,l=a.stateNode;try{var le=Nn(a.type,i);e=l.getSnapshotBeforeUpdate(le,r),l.__reactInternalSnapshotBeforeUpdate=e}catch(ue){_e(a,a.return,ue)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)fu(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":fu(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(u(163))}if(e=t.sibling,e!==null){e.return=t.return,st=e;break}st=t.return}}function Tf(e,t,a){var l=a.flags;switch(a.tag){case 0:case 11:case 15:wa(e,a),l&4&&as(5,a);break;case 1:if(wa(e,a),l&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(d){_e(a,a.return,d)}else{var i=Nn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(d){_e(a,a.return,d)}}l&64&&jf(a),l&512&&ns(a,a.return);break;case 3:if(wa(e,a),l&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{od(e,t)}catch(d){_e(a,a.return,d)}}break;case 27:t===null&&l&4&&wf(a);case 26:case 5:wa(e,a),t===null&&l&4&&Sf(a),l&512&&ns(a,a.return);break;case 12:wa(e,a);break;case 31:wa(e,a),l&4&&Df(e,a);break;case 13:wa(e,a),l&4&&_f(e,a),l&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=ep.bind(null,a),bp(e,a))));break;case 22:if(l=a.memoizedState!==null||Sa,!l){t=t!==null&&t.memoizedState!==null||We,i=Sa;var r=We;Sa=l,(We=t)&&!r?za(e,a,(a.subtreeFlags&8772)!==0):wa(e,a),Sa=i,We=r}break;case 30:break;default:wa(e,a)}}function Ef(e){var t=e.alternate;t!==null&&(e.alternate=null,Ef(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&pr(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var He=null,xt=!1;function Ca(e,t,a){for(a=a.child;a!==null;)Af(e,t,a),a=a.sibling}function Af(e,t,a){if(Ct&&typeof Ct.onCommitFiberUnmount=="function")try{Ct.onCommitFiberUnmount(Tl,a)}catch{}switch(a.tag){case 26:We||ca(a,t),Ca(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:We||ca(a,t);var l=He,i=xt;Wa(a.type)&&(He=a.stateNode,xt=!1),Ca(e,t,a),fs(a.stateNode),He=l,xt=i;break;case 5:We||ca(a,t);case 6:if(l=He,i=xt,He=null,Ca(e,t,a),He=l,xt=i,He!==null)if(xt)try{(He.nodeType===9?He.body:He.nodeName==="HTML"?He.ownerDocument.body:He).removeChild(a.stateNode)}catch(r){_e(a,t,r)}else try{He.removeChild(a.stateNode)}catch(r){_e(a,t,r)}break;case 18:He!==null&&(xt?(e=He,jm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),fl(e)):jm(He,a.stateNode));break;case 4:l=He,i=xt,He=a.stateNode.containerInfo,xt=!0,Ca(e,t,a),He=l,xt=i;break;case 0:case 11:case 14:case 15:Va(2,a,t),We||Va(4,a,t),Ca(e,t,a);break;case 1:We||(ca(a,t),l=a.stateNode,typeof l.componentWillUnmount=="function"&&Nf(a,t,l)),Ca(e,t,a);break;case 21:Ca(e,t,a);break;case 22:We=(l=We)||a.memoizedState!==null,Ca(e,t,a),We=l;break;default:Ca(e,t,a)}}function Df(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{fl(e)}catch(a){_e(t,t.return,a)}}}function _f(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{fl(e)}catch(a){_e(t,t.return,a)}}function Kg(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new zf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new zf),t;default:throw Error(u(435,e.tag))}}function gi(e,t){var a=Kg(e);t.forEach(function(l){if(!a.has(l)){a.add(l);var i=tp.bind(null,e,l);l.then(i,i)}})}function gt(e,t){var a=t.deletions;if(a!==null)for(var l=0;l<a.length;l++){var i=a[l],r=e,d=t,h=d;e:for(;h!==null;){switch(h.tag){case 27:if(Wa(h.type)){He=h.stateNode,xt=!1;break e}break;case 5:He=h.stateNode,xt=!1;break e;case 3:case 4:He=h.stateNode.containerInfo,xt=!0;break e}h=h.return}if(He===null)throw Error(u(160));Af(r,d,i),He=null,xt=!1,r=i.alternate,r!==null&&(r.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)kf(t,e),t=t.sibling}var Wt=null;function kf(e,t){var a=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),pt(e),l&4&&(Va(3,e,e.return),as(3,e),Va(5,e,e.return));break;case 1:gt(t,e),pt(e),l&512&&(We||a===null||ca(a,a.return)),l&64&&Sa&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?l:a.concat(l))));break;case 26:var i=Wt;if(gt(t,e),pt(e),l&512&&(We||a===null||ca(a,a.return)),l&4){var r=a!==null?a.memoizedState:null;if(l=e.memoizedState,a===null)if(l===null)if(e.stateNode===null){e:{l=e.type,a=e.memoizedProps,i=i.ownerDocument||i;t:switch(l){case"title":r=i.getElementsByTagName("title")[0],(!r||r[Dl]||r[it]||r.namespaceURI==="http://www.w3.org/2000/svg"||r.hasAttribute("itemprop"))&&(r=i.createElement(l),i.head.insertBefore(r,i.querySelector("head > title"))),ot(r,l,a),r[it]=e,lt(r),l=r;break e;case"link":var d=km("link","href",i).get(l+(a.href||""));if(d){for(var h=0;h<d.length;h++)if(r=d[h],r.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&r.getAttribute("rel")===(a.rel==null?null:a.rel)&&r.getAttribute("title")===(a.title==null?null:a.title)&&r.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){d.splice(h,1);break t}}r=i.createElement(l),ot(r,l,a),i.head.appendChild(r);break;case"meta":if(d=km("meta","content",i).get(l+(a.content||""))){for(h=0;h<d.length;h++)if(r=d[h],r.getAttribute("content")===(a.content==null?null:""+a.content)&&r.getAttribute("name")===(a.name==null?null:a.name)&&r.getAttribute("property")===(a.property==null?null:a.property)&&r.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&r.getAttribute("charset")===(a.charSet==null?null:a.charSet)){d.splice(h,1);break t}}r=i.createElement(l),ot(r,l,a),i.head.appendChild(r);break;default:throw Error(u(468,l))}r[it]=e,lt(r),l=r}e.stateNode=l}else Mm(i,e.type,e.stateNode);else e.stateNode=_m(i,l,e.memoizedProps);else r!==l?(r===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):r.count--,l===null?Mm(i,e.type,e.stateNode):_m(i,l,e.memoizedProps)):l===null&&e.stateNode!==null&&qc(e,e.memoizedProps,a.memoizedProps)}break;case 27:gt(t,e),pt(e),l&512&&(We||a===null||ca(a,a.return)),a!==null&&l&4&&qc(e,e.memoizedProps,a.memoizedProps);break;case 5:if(gt(t,e),pt(e),l&512&&(We||a===null||ca(a,a.return)),e.flags&32){i=e.stateNode;try{Rn(i,"")}catch(le){_e(e,e.return,le)}}l&4&&e.stateNode!=null&&(i=e.memoizedProps,qc(e,i,a!==null?a.memoizedProps:i)),l&1024&&(Gc=!0);break;case 6:if(gt(t,e),pt(e),l&4){if(e.stateNode===null)throw Error(u(162));l=e.memoizedProps,a=e.stateNode;try{a.nodeValue=l}catch(le){_e(e,e.return,le)}}break;case 3:if(ki=null,i=Wt,Wt=Di(t.containerInfo),gt(t,e),Wt=i,pt(e),l&4&&a!==null&&a.memoizedState.isDehydrated)try{fl(t.containerInfo)}catch(le){_e(e,e.return,le)}Gc&&(Gc=!1,Mf(e));break;case 4:l=Wt,Wt=Di(e.stateNode.containerInfo),gt(t,e),pt(e),Wt=l;break;case 12:gt(t,e),pt(e);break;case 31:gt(t,e),pt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,gi(e,l)));break;case 13:gt(t,e),pt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(yi=St()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,gi(e,l)));break;case 22:i=e.memoizedState!==null;var j=a!==null&&a.memoizedState!==null,B=Sa,V=We;if(Sa=B||i,We=V||j,gt(t,e),We=V,Sa=B,pt(e),l&8192)e:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(a===null||j||Sa||We||Sn(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){j=a=t;try{if(r=j.stateNode,i)d=r.style,typeof d.setProperty=="function"?d.setProperty("display","none","important"):d.display="none";else{h=j.stateNode;var F=j.memoizedProps.style,q=F!=null&&F.hasOwnProperty("display")?F.display:null;h.style.display=q==null||typeof q=="boolean"?"":(""+q).trim()}}catch(le){_e(j,j.return,le)}}}else if(t.tag===6){if(a===null){j=t;try{j.stateNode.nodeValue=i?"":j.memoizedProps}catch(le){_e(j,j.return,le)}}}else if(t.tag===18){if(a===null){j=t;try{var G=j.stateNode;i?Nm(G,!0):Nm(j.stateNode,!1)}catch(le){_e(j,j.return,le)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(a=l.retryQueue,a!==null&&(l.retryQueue=null,gi(e,a))));break;case 19:gt(t,e),pt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,gi(e,l)));break;case 30:break;case 21:break;default:gt(t,e),pt(e)}}function pt(e){var t=e.flags;if(t&2){try{for(var a,l=e.return;l!==null;){if(Cf(l)){a=l;break}l=l.return}if(a==null)throw Error(u(160));switch(a.tag){case 27:var i=a.stateNode,r=Lc(e);xi(e,r,i);break;case 5:var d=a.stateNode;a.flags&32&&(Rn(d,""),a.flags&=-33);var h=Lc(e);xi(e,h,d);break;case 3:case 4:var j=a.stateNode.containerInfo,B=Lc(e);Hc(e,B,j);break;default:throw Error(u(161))}}catch(V){_e(e,e.return,V)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Mf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Mf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function wa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Tf(e,t.alternate,t),t=t.sibling}function Sn(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Va(4,t,t.return),Sn(t);break;case 1:ca(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Nf(t,t.return,a),Sn(t);break;case 27:fs(t.stateNode);case 26:case 5:ca(t,t.return),Sn(t);break;case 22:t.memoizedState===null&&Sn(t);break;case 30:Sn(t);break;default:Sn(t)}e=e.sibling}}function za(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,i=e,r=t,d=r.flags;switch(r.tag){case 0:case 11:case 15:za(i,r,a),as(4,r);break;case 1:if(za(i,r,a),l=r,i=l.stateNode,typeof i.componentDidMount=="function")try{i.componentDidMount()}catch(B){_e(l,l.return,B)}if(l=r,i=l.updateQueue,i!==null){var h=l.stateNode;try{var j=i.shared.hiddenCallbacks;if(j!==null)for(i.shared.hiddenCallbacks=null,i=0;i<j.length;i++)ud(j[i],h)}catch(B){_e(l,l.return,B)}}a&&d&64&&jf(r),ns(r,r.return);break;case 27:wf(r);case 26:case 5:za(i,r,a),a&&l===null&&d&4&&Sf(r),ns(r,r.return);break;case 12:za(i,r,a);break;case 31:za(i,r,a),a&&d&4&&Df(i,r);break;case 13:za(i,r,a),a&&d&4&&_f(i,r);break;case 22:r.memoizedState===null&&za(i,r,a),ns(r,r.return);break;case 30:break;default:za(i,r,a)}t=t.sibling}}function Qc(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Yl(a))}function Yc(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yl(e))}function It(e,t,a,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Of(e,t,a,l),t=t.sibling}function Of(e,t,a,l){var i=t.flags;switch(t.tag){case 0:case 11:case 15:It(e,t,a,l),i&2048&&as(9,t);break;case 1:It(e,t,a,l);break;case 3:It(e,t,a,l),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yl(e)));break;case 12:if(i&2048){It(e,t,a,l),e=t.stateNode;try{var r=t.memoizedProps,d=r.id,h=r.onPostCommit;typeof h=="function"&&h(d,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(j){_e(t,t.return,j)}}else It(e,t,a,l);break;case 31:It(e,t,a,l);break;case 13:It(e,t,a,l);break;case 23:break;case 22:r=t.stateNode,d=t.alternate,t.memoizedState!==null?r._visibility&2?It(e,t,a,l):ls(e,t):r._visibility&2?It(e,t,a,l):(r._visibility|=2,tl(e,t,a,l,(t.subtreeFlags&10256)!==0||!1)),i&2048&&Qc(d,t);break;case 24:It(e,t,a,l),i&2048&&Yc(t.alternate,t);break;default:It(e,t,a,l)}}function tl(e,t,a,l,i){for(i=i&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var r=e,d=t,h=a,j=l,B=d.flags;switch(d.tag){case 0:case 11:case 15:tl(r,d,h,j,i),as(8,d);break;case 23:break;case 22:var V=d.stateNode;d.memoizedState!==null?V._visibility&2?tl(r,d,h,j,i):ls(r,d):(V._visibility|=2,tl(r,d,h,j,i)),i&&B&2048&&Qc(d.alternate,d);break;case 24:tl(r,d,h,j,i),i&&B&2048&&Yc(d.alternate,d);break;default:tl(r,d,h,j,i)}t=t.sibling}}function ls(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,l=t,i=l.flags;switch(l.tag){case 22:ls(a,l),i&2048&&Qc(l.alternate,l);break;case 24:ls(a,l),i&2048&&Yc(l.alternate,l);break;default:ls(a,l)}t=t.sibling}}var ss=8192;function al(e,t,a){if(e.subtreeFlags&ss)for(e=e.child;e!==null;)Rf(e,t,a),e=e.sibling}function Rf(e,t,a){switch(e.tag){case 26:al(e,t,a),e.flags&ss&&e.memoizedState!==null&&kp(a,Wt,e.memoizedState,e.memoizedProps);break;case 5:al(e,t,a);break;case 3:case 4:var l=Wt;Wt=Di(e.stateNode.containerInfo),al(e,t,a),Wt=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=ss,ss=16777216,al(e,t,a),ss=l):al(e,t,a));break;default:al(e,t,a)}}function Uf(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function is(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];st=l,qf(l,e)}Uf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Bf(e),e=e.sibling}function Bf(e){switch(e.tag){case 0:case 11:case 15:is(e),e.flags&2048&&Va(9,e,e.return);break;case 3:is(e);break;case 12:is(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,pi(e)):is(e);break;default:is(e)}}function pi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];st=l,qf(l,e)}Uf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Va(8,t,t.return),pi(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,pi(t));break;default:pi(t)}e=e.sibling}}function qf(e,t){for(;st!==null;){var a=st;switch(a.tag){case 0:case 11:case 15:Va(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var l=a.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Yl(a.memoizedState.cache)}if(l=a.child,l!==null)l.return=a,st=l;else e:for(a=e;st!==null;){l=st;var i=l.sibling,r=l.return;if(Ef(l),l===a){st=null;break e}if(i!==null){i.return=r,st=i;break e}st=r}}}var Fg={getCacheForType:function(e){var t=ct(Ze),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return ct(Ze).controller.signal}},Zg=typeof WeakMap=="function"?WeakMap:Map,Te=0,Be=null,pe=null,ve=0,De=0,Dt=null,Xa=!1,nl=!1,Vc=!1,Ta=0,Ye=0,Ka=0,Cn=0,Xc=0,_t=0,ll=0,rs=null,yt=null,Kc=!1,yi=0,Lf=0,vi=1/0,bi=null,Fa=null,Pe=0,Za=null,sl=null,Ea=0,Fc=0,Zc=null,Hf=null,cs=0,$c=null;function kt(){return(Te&2)!==0&&ve!==0?ve&-ve:v.T!==null?tu():eo()}function Gf(){if(_t===0)if((ve&536870912)===0||je){var e=Es;Es<<=1,(Es&3932160)===0&&(Es=262144),_t=e}else _t=536870912;return e=Et.current,e!==null&&(e.flags|=32),_t}function vt(e,t,a){(e===Be&&(De===2||De===9)||e.cancelPendingCommit!==null)&&(il(e,0),$a(e,ve,_t,!1)),Al(e,a),((Te&2)===0||e!==Be)&&(e===Be&&((Te&2)===0&&(Cn|=a),Ye===4&&$a(e,ve,_t,!1)),ua(e))}function Qf(e,t,a){if((Te&6)!==0)throw Error(u(327));var l=!a&&(t&127)===0&&(t&e.expiredLanes)===0||El(e,t),i=l?Wg(e,t):Wc(e,t,!0),r=l;do{if(i===0){nl&&!l&&$a(e,t,0,!1);break}else{if(a=e.current.alternate,r&&!$g(a)){i=Wc(e,t,!1),r=!1;continue}if(i===2){if(r=t,e.errorRecoveryDisabledLanes&r)var d=0;else d=e.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){t=d;e:{var h=e;i=rs;var j=h.current.memoizedState.isDehydrated;if(j&&(il(h,d).flags|=256),d=Wc(h,d,!1),d!==2){if(Vc&&!j){h.errorRecoveryDisabledLanes|=r,Cn|=r,i=4;break e}r=yt,yt=i,r!==null&&(yt===null?yt=r:yt.push.apply(yt,r))}i=d}if(r=!1,i!==2)continue}}if(i===1){il(e,0),$a(e,t,0,!0);break}e:{switch(l=e,r=i,r){case 0:case 1:throw Error(u(345));case 4:if((t&4194048)!==t)break;case 6:$a(l,t,_t,!Xa);break e;case 2:yt=null;break;case 3:case 5:break;default:throw Error(u(329))}if((t&62914560)===t&&(i=yi+300-St(),10<i)){if($a(l,t,_t,!Xa),Ds(l,0,!0)!==0)break e;Ea=t,l.timeoutHandle=vm(Yf.bind(null,l,a,yt,bi,Kc,t,_t,Cn,ll,Xa,r,"Throttled",-0,0),i);break e}Yf(l,a,yt,bi,Kc,t,_t,Cn,ll,Xa,r,null,-0,0)}}break}while(!0);ua(e)}function Yf(e,t,a,l,i,r,d,h,j,B,V,F,q,G){if(e.timeoutHandle=-1,F=t.subtreeFlags,F&8192||(F&16785408)===16785408){F={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ma},Rf(t,r,F);var le=(r&62914560)===r?yi-St():(r&4194048)===r?Lf-St():0;if(le=Mp(F,le),le!==null){Ea=r,e.cancelPendingCommit=le(Wf.bind(null,e,t,r,a,l,i,d,h,j,V,F,null,q,G)),$a(e,r,d,!B);return}}Wf(e,t,r,a,l,i,d,h,j)}function $g(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var l=0;l<a.length;l++){var i=a[l],r=i.getSnapshot;i=i.value;try{if(!zt(r(),i))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function $a(e,t,a,l){t&=~Xc,t&=~Cn,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var i=t;0<i;){var r=31-wt(i),d=1<<r;l[r]=-1,i&=~d}a!==0&&Wu(e,a,t)}function ji(){return(Te&6)===0?(us(0),!1):!0}function Jc(){if(pe!==null){if(De===0)var e=pe.return;else e=pe,pa=xn=null,fc(e),Jn=null,Xl=0,e=pe;for(;e!==null;)bf(e.alternate,e),e=e.return;pe=null}}function il(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,xp(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ea=0,Jc(),Be=e,pe=a=xa(e.current,null),ve=t,De=0,Dt=null,Xa=!1,nl=El(e,t),Vc=!1,ll=_t=Xc=Cn=Ka=Ye=0,yt=rs=null,Kc=!1,(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var i=31-wt(l),r=1<<i;t|=e[i],l&=~r}return Ta=t,Qs(),a}function Vf(e,t){me=null,v.H=Pl,t===$n||t===Js?(t=sd(),De=3):t===ec?(t=sd(),De=4):De=t===Ec?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Dt=t,pe===null&&(Ye=1,oi(e,qt(t,e.current)))}function Xf(){var e=Et.current;return e===null?!0:(ve&4194048)===ve?Qt===null:(ve&62914560)===ve||(ve&536870912)!==0?e===Qt:!1}function Kf(){var e=v.H;return v.H=Pl,e===null?Pl:e}function Ff(){var e=v.A;return v.A=Fg,e}function Ni(){Ye=4,Xa||(ve&4194048)!==ve&&Et.current!==null||(nl=!0),(Ka&134217727)===0&&(Cn&134217727)===0||Be===null||$a(Be,ve,_t,!1)}function Wc(e,t,a){var l=Te;Te|=2;var i=Kf(),r=Ff();(Be!==e||ve!==t)&&(bi=null,il(e,t)),t=!1;var d=Ye;e:do try{if(De!==0&&pe!==null){var h=pe,j=Dt;switch(De){case 8:Jc(),d=6;break e;case 3:case 2:case 9:case 6:Et.current===null&&(t=!0);var B=De;if(De=0,Dt=null,rl(e,h,j,B),a&&nl){d=0;break e}break;default:B=De,De=0,Dt=null,rl(e,h,j,B)}}Jg(),d=Ye;break}catch(V){Vf(e,V)}while(!0);return t&&e.shellSuspendCounter++,pa=xn=null,Te=l,v.H=i,v.A=r,pe===null&&(Be=null,ve=0,Qs()),d}function Jg(){for(;pe!==null;)Zf(pe)}function Wg(e,t){var a=Te;Te|=2;var l=Kf(),i=Ff();Be!==e||ve!==t?(bi=null,vi=St()+500,il(e,t)):nl=El(e,t);e:do try{if(De!==0&&pe!==null){t=pe;var r=Dt;t:switch(De){case 1:De=0,Dt=null,rl(e,t,r,1);break;case 2:case 9:if(nd(r)){De=0,Dt=null,$f(t);break}t=function(){De!==2&&De!==9||Be!==e||(De=7),ua(e)},r.then(t,t);break e;case 3:De=7;break e;case 4:De=5;break e;case 7:nd(r)?(De=0,Dt=null,$f(t)):(De=0,Dt=null,rl(e,t,r,7));break;case 5:var d=null;switch(pe.tag){case 26:d=pe.memoizedState;case 5:case 27:var h=pe;if(d?Om(d):h.stateNode.complete){De=0,Dt=null;var j=h.sibling;if(j!==null)pe=j;else{var B=h.return;B!==null?(pe=B,Si(B)):pe=null}break t}}De=0,Dt=null,rl(e,t,r,5);break;case 6:De=0,Dt=null,rl(e,t,r,6);break;case 8:Jc(),Ye=6;break e;default:throw Error(u(462))}}Ig();break}catch(V){Vf(e,V)}while(!0);return pa=xn=null,v.H=l,v.A=i,Te=a,pe!==null?0:(Be=null,ve=0,Qs(),Ye)}function Ig(){for(;pe!==null&&!jx();)Zf(pe)}function Zf(e){var t=yf(e.alternate,e,Ta);e.memoizedProps=e.pendingProps,t===null?Si(e):pe=t}function $f(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=ff(a,t,t.pendingProps,t.type,void 0,ve);break;case 11:t=ff(a,t,t.pendingProps,t.type.render,t.ref,ve);break;case 5:fc(t);default:bf(a,t),t=pe=Ko(t,Ta),t=yf(a,t,Ta)}e.memoizedProps=e.pendingProps,t===null?Si(e):pe=t}function rl(e,t,a,l){pa=xn=null,fc(t),Jn=null,Xl=0;var i=t.return;try{if(Hg(e,i,t,a,ve)){Ye=1,oi(e,qt(a,e.current)),pe=null;return}}catch(r){if(i!==null)throw pe=i,r;Ye=1,oi(e,qt(a,e.current)),pe=null;return}t.flags&32768?(je||l===1?e=!0:nl||(ve&536870912)!==0?e=!1:(Xa=e=!0,(l===2||l===9||l===3||l===6)&&(l=Et.current,l!==null&&l.tag===13&&(l.flags|=16384))),Jf(t,e)):Si(t)}function Si(e){var t=e;do{if((t.flags&32768)!==0){Jf(t,Xa);return}e=t.return;var a=Yg(t.alternate,t,Ta);if(a!==null){pe=a;return}if(t=t.sibling,t!==null){pe=t;return}pe=t=e}while(t!==null);Ye===0&&(Ye=5)}function Jf(e,t){do{var a=Vg(e.alternate,e);if(a!==null){a.flags&=32767,pe=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){pe=e;return}pe=e=a}while(e!==null);Ye=6,pe=null}function Wf(e,t,a,l,i,r,d,h,j){e.cancelPendingCommit=null;do Ci();while(Pe!==0);if((Te&6)!==0)throw Error(u(327));if(t!==null){if(t===e.current)throw Error(u(177));if(r=t.lanes|t.childLanes,r|=Lr,_x(e,a,r,d,h,j),e===Be&&(pe=Be=null,ve=0),sl=t,Za=e,Ea=a,Fc=r,Zc=i,Hf=l,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,ap(zs,function(){return am(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||l){l=v.T,v.T=null,i=R.p,R.p=2,d=Te,Te|=4;try{Xg(e,t,a)}finally{Te=d,R.p=i,v.T=l}}Pe=1,If(),Pf(),em()}}function If(){if(Pe===1){Pe=0;var e=Za,t=sl,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=v.T,v.T=null;var l=R.p;R.p=2;var i=Te;Te|=4;try{kf(t,e);var r=uu,d=Bo(e.containerInfo),h=r.focusedElem,j=r.selectionRange;if(d!==h&&h&&h.ownerDocument&&Uo(h.ownerDocument.documentElement,h)){if(j!==null&&Or(h)){var B=j.start,V=j.end;if(V===void 0&&(V=B),"selectionStart"in h)h.selectionStart=B,h.selectionEnd=Math.min(V,h.value.length);else{var F=h.ownerDocument||document,q=F&&F.defaultView||window;if(q.getSelection){var G=q.getSelection(),le=h.textContent.length,ue=Math.min(j.start,le),Ue=j.end===void 0?ue:Math.min(j.end,le);!G.extend&&ue>Ue&&(d=Ue,Ue=ue,ue=d);var A=Ro(h,ue),C=Ro(h,Ue);if(A&&C&&(G.rangeCount!==1||G.anchorNode!==A.node||G.anchorOffset!==A.offset||G.focusNode!==C.node||G.focusOffset!==C.offset)){var U=F.createRange();U.setStart(A.node,A.offset),G.removeAllRanges(),ue>Ue?(G.addRange(U),G.extend(C.node,C.offset)):(U.setEnd(C.node,C.offset),G.addRange(U))}}}}for(F=[],G=h;G=G.parentNode;)G.nodeType===1&&F.push({element:G,left:G.scrollLeft,top:G.scrollTop});for(typeof h.focus=="function"&&h.focus(),h=0;h<F.length;h++){var X=F[h];X.element.scrollLeft=X.left,X.element.scrollTop=X.top}}Ui=!!cu,uu=cu=null}finally{Te=i,R.p=l,v.T=a}}e.current=t,Pe=2}}function Pf(){if(Pe===2){Pe=0;var e=Za,t=sl,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=v.T,v.T=null;var l=R.p;R.p=2;var i=Te;Te|=4;try{Tf(e,t.alternate,t)}finally{Te=i,R.p=l,v.T=a}}Pe=3}}function em(){if(Pe===4||Pe===3){Pe=0,Nx();var e=Za,t=sl,a=Ea,l=Hf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Pe=5:(Pe=0,sl=Za=null,tm(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(Fa=null),xr(a),t=t.stateNode,Ct&&typeof Ct.onCommitFiberRoot=="function")try{Ct.onCommitFiberRoot(Tl,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=v.T,i=R.p,R.p=2,v.T=null;try{for(var r=e.onRecoverableError,d=0;d<l.length;d++){var h=l[d];r(h.value,{componentStack:h.stack})}}finally{v.T=t,R.p=i}}(Ea&3)!==0&&Ci(),ua(e),i=e.pendingLanes,(a&261930)!==0&&(i&42)!==0?e===$c?cs++:(cs=0,$c=e):cs=0,us(0)}}function tm(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Yl(t)))}function Ci(){return If(),Pf(),em(),am()}function am(){if(Pe!==5)return!1;var e=Za,t=Fc;Fc=0;var a=xr(Ea),l=v.T,i=R.p;try{R.p=32>a?32:a,v.T=null,a=Zc,Zc=null;var r=Za,d=Ea;if(Pe=0,sl=Za=null,Ea=0,(Te&6)!==0)throw Error(u(331));var h=Te;if(Te|=4,Bf(r.current),Of(r,r.current,d,a),Te=h,us(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(Tl,r)}catch{}return!0}finally{R.p=i,v.T=l,tm(e,t)}}function nm(e,t,a){t=qt(a,t),t=Tc(e.stateNode,t,2),e=Ga(e,t,2),e!==null&&(Al(e,2),ua(e))}function _e(e,t,a){if(e.tag===3)nm(e,e,a);else for(;t!==null;){if(t.tag===3){nm(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Fa===null||!Fa.has(l))){e=qt(a,e),a=nf(2),l=Ga(t,a,2),l!==null&&(lf(a,l,t,e),Al(l,2),ua(l));break}}t=t.return}}function Ic(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Zg;var i=new Set;l.set(t,i)}else i=l.get(t),i===void 0&&(i=new Set,l.set(t,i));i.has(a)||(Vc=!0,i.add(a),e=Pg.bind(null,e,t,a),t.then(e,e))}function Pg(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Be===e&&(ve&a)===a&&(Ye===4||Ye===3&&(ve&62914560)===ve&&300>St()-yi?(Te&2)===0&&il(e,0):Xc|=a,ll===ve&&(ll=0)),ua(e)}function lm(e,t){t===0&&(t=Ju()),e=fn(e,t),e!==null&&(Al(e,t),ua(e))}function ep(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),lm(e,a)}function tp(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(u(314))}l!==null&&l.delete(t),lm(e,a)}function ap(e,t){return zl(e,t)}var wi=null,cl=null,Pc=!1,zi=!1,eu=!1,Ja=0;function ua(e){e!==cl&&e.next===null&&(cl===null?wi=cl=e:cl=cl.next=e),zi=!0,Pc||(Pc=!0,lp())}function us(e,t){if(!eu&&zi){eu=!0;do for(var a=!1,l=wi;l!==null;){if(e!==0){var i=l.pendingLanes;if(i===0)var r=0;else{var d=l.suspendedLanes,h=l.pingedLanes;r=(1<<31-wt(42|e)+1)-1,r&=i&~(d&~h),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(a=!0,cm(l,r))}else r=ve,r=Ds(l,l===Be?r:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(r&3)===0||El(l,r)||(a=!0,cm(l,r));l=l.next}while(a);eu=!1}}function np(){sm()}function sm(){zi=Pc=!1;var e=0;Ja!==0&&hp()&&(e=Ja);for(var t=St(),a=null,l=wi;l!==null;){var i=l.next,r=im(l,t);r===0?(l.next=null,a===null?wi=i:a.next=i,i===null&&(cl=a)):(a=l,(e!==0||(r&3)!==0)&&(zi=!0)),l=i}Pe!==0&&Pe!==5||us(e),Ja!==0&&(Ja=0)}function im(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,i=e.expirationTimes,r=e.pendingLanes&-62914561;0<r;){var d=31-wt(r),h=1<<d,j=i[d];j===-1?((h&a)===0||(h&l)!==0)&&(i[d]=Dx(h,t)):j<=t&&(e.expiredLanes|=h),r&=~h}if(t=Be,a=ve,a=Ds(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,a===0||e===t&&(De===2||De===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&fr(l),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||El(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(l!==null&&fr(l),xr(a)){case 2:case 8:a=Zu;break;case 32:a=zs;break;case 268435456:a=$u;break;default:a=zs}return l=rm.bind(null,e),a=zl(a,l),e.callbackPriority=t,e.callbackNode=a,t}return l!==null&&l!==null&&fr(l),e.callbackPriority=2,e.callbackNode=null,2}function rm(e,t){if(Pe!==0&&Pe!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Ci()&&e.callbackNode!==a)return null;var l=ve;return l=Ds(e,e===Be?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(Qf(e,l,t),im(e,St()),e.callbackNode!=null&&e.callbackNode===a?rm.bind(null,e):null)}function cm(e,t){if(Ci())return null;Qf(e,t,!0)}function lp(){gp(function(){(Te&6)!==0?zl(Fu,np):sm()})}function tu(){if(Ja===0){var e=Fn;e===0&&(e=Ts,Ts<<=1,(Ts&261888)===0&&(Ts=256)),Ja=e}return Ja}function um(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Os(""+e)}function om(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function sp(e,t,a,l,i){if(t==="submit"&&a&&a.stateNode===i){var r=um((i[mt]||null).action),d=l.submitter;d&&(t=(t=d[mt]||null)?um(t.formAction):d.getAttribute("formAction"),t!==null&&(r=t,d=null));var h=new qs("action","action",null,l,i);e.push({event:h,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Ja!==0){var j=d?om(i,d):new FormData(i);jc(a,{pending:!0,data:j,method:i.method,action:r},null,j)}}else typeof r=="function"&&(h.preventDefault(),j=d?om(i,d):new FormData(i),jc(a,{pending:!0,data:j,method:i.method,action:r},r,j))},currentTarget:i}]})}}for(var au=0;au<qr.length;au++){var nu=qr[au],ip=nu.toLowerCase(),rp=nu[0].toUpperCase()+nu.slice(1);Jt(ip,"on"+rp)}Jt(Ho,"onAnimationEnd"),Jt(Go,"onAnimationIteration"),Jt(Qo,"onAnimationStart"),Jt("dblclick","onDoubleClick"),Jt("focusin","onFocus"),Jt("focusout","onBlur"),Jt(Sg,"onTransitionRun"),Jt(Cg,"onTransitionStart"),Jt(wg,"onTransitionCancel"),Jt(Yo,"onTransitionEnd"),Mn("onMouseEnter",["mouseout","mouseover"]),Mn("onMouseLeave",["mouseout","mouseover"]),Mn("onPointerEnter",["pointerout","pointerover"]),Mn("onPointerLeave",["pointerout","pointerover"]),cn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),cn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),cn("onBeforeInput",["compositionend","keypress","textInput","paste"]),cn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),cn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),cn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var os="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(" "),cp=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(os));function dm(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var l=e[a],i=l.event;l=l.listeners;e:{var r=void 0;if(t)for(var d=l.length-1;0<=d;d--){var h=l[d],j=h.instance,B=h.currentTarget;if(h=h.listener,j!==r&&i.isPropagationStopped())break e;r=h,i.currentTarget=B;try{r(i)}catch(V){Gs(V)}i.currentTarget=null,r=j}else for(d=0;d<l.length;d++){if(h=l[d],j=h.instance,B=h.currentTarget,h=h.listener,j!==r&&i.isPropagationStopped())break e;r=h,i.currentTarget=B;try{r(i)}catch(V){Gs(V)}i.currentTarget=null,r=j}}}}function ye(e,t){var a=t[gr];a===void 0&&(a=t[gr]=new Set);var l=e+"__bubble";a.has(l)||(fm(t,e,2,!1),a.add(l))}function lu(e,t,a){var l=0;t&&(l|=4),fm(a,e,l,t)}var Ti="_reactListening"+Math.random().toString(36).slice(2);function su(e){if(!e[Ti]){e[Ti]=!0,no.forEach(function(a){a!=="selectionchange"&&(cp.has(a)||lu(a,!1,e),lu(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ti]||(t[Ti]=!0,lu("selectionchange",!1,t))}}function fm(e,t,a,l){switch(Gm(t)){case 2:var i=Up;break;case 8:i=Bp;break;default:i=bu}a=i.bind(null,t,a,e),i=void 0,!wr||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),l?i!==void 0?e.addEventListener(t,a,{capture:!0,passive:i}):e.addEventListener(t,a,!0):i!==void 0?e.addEventListener(t,a,{passive:i}):e.addEventListener(t,a,!1)}function iu(e,t,a,l,i){var r=l;if((t&1)===0&&(t&2)===0&&l!==null)e:for(;;){if(l===null)return;var d=l.tag;if(d===3||d===4){var h=l.stateNode.containerInfo;if(h===i)break;if(d===4)for(d=l.return;d!==null;){var j=d.tag;if((j===3||j===4)&&d.stateNode.containerInfo===i)return;d=d.return}for(;h!==null;){if(d=Dn(h),d===null)return;if(j=d.tag,j===5||j===6||j===26||j===27){l=r=d;continue e}h=h.parentNode}}l=l.return}go(function(){var B=r,V=Sr(a),F=[];e:{var q=Vo.get(e);if(q!==void 0){var G=qs,le=e;switch(e){case"keypress":if(Us(a)===0)break e;case"keydown":case"keyup":G=tg;break;case"focusin":le="focus",G=Ar;break;case"focusout":le="blur",G=Ar;break;case"beforeblur":case"afterblur":G=Ar;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":G=vo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":G=Yx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":G=lg;break;case Ho:case Go:case Qo:G=Kx;break;case Yo:G=ig;break;case"scroll":case"scrollend":G=Gx;break;case"wheel":G=cg;break;case"copy":case"cut":case"paste":G=Zx;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":G=jo;break;case"toggle":case"beforetoggle":G=og}var ue=(t&4)!==0,Ue=!ue&&(e==="scroll"||e==="scrollend"),A=ue?q!==null?q+"Capture":null:q;ue=[];for(var C=B,U;C!==null;){var X=C;if(U=X.stateNode,X=X.tag,X!==5&&X!==26&&X!==27||U===null||A===null||(X=kl(C,A),X!=null&&ue.push(ds(C,X,U))),Ue)break;C=C.return}0<ue.length&&(q=new G(q,le,null,a,V),F.push({event:q,listeners:ue}))}}if((t&7)===0){e:{if(q=e==="mouseover"||e==="pointerover",G=e==="mouseout"||e==="pointerout",q&&a!==Nr&&(le=a.relatedTarget||a.fromElement)&&(Dn(le)||le[An]))break e;if((G||q)&&(q=V.window===V?V:(q=V.ownerDocument)?q.defaultView||q.parentWindow:window,G?(le=a.relatedTarget||a.toElement,G=B,le=le?Dn(le):null,le!==null&&(Ue=g(le),ue=le.tag,le!==Ue||ue!==5&&ue!==27&&ue!==6)&&(le=null)):(G=null,le=B),G!==le)){if(ue=vo,X="onMouseLeave",A="onMouseEnter",C="mouse",(e==="pointerout"||e==="pointerover")&&(ue=jo,X="onPointerLeave",A="onPointerEnter",C="pointer"),Ue=G==null?q:_l(G),U=le==null?q:_l(le),q=new ue(X,C+"leave",G,a,V),q.target=Ue,q.relatedTarget=U,X=null,Dn(V)===B&&(ue=new ue(A,C+"enter",le,a,V),ue.target=U,ue.relatedTarget=Ue,X=ue),Ue=X,G&&le)t:{for(ue=up,A=G,C=le,U=0,X=A;X;X=ue(X))U++;X=0;for(var re=C;re;re=ue(re))X++;for(;0<U-X;)A=ue(A),U--;for(;0<X-U;)C=ue(C),X--;for(;U--;){if(A===C||C!==null&&A===C.alternate){ue=A;break t}A=ue(A),C=ue(C)}ue=null}else ue=null;G!==null&&mm(F,q,G,ue,!1),le!==null&&Ue!==null&&mm(F,Ue,le,ue,!0)}}e:{if(q=B?_l(B):window,G=q.nodeName&&q.nodeName.toLowerCase(),G==="select"||G==="input"&&q.type==="file")var we=Ao;else if(To(q))if(Do)we=bg;else{we=yg;var se=pg}else G=q.nodeName,!G||G.toLowerCase()!=="input"||q.type!=="checkbox"&&q.type!=="radio"?B&&jr(B.elementType)&&(we=Ao):we=vg;if(we&&(we=we(e,B))){Eo(F,we,a,V);break e}se&&se(e,q,B),e==="focusout"&&B&&q.type==="number"&&B.memoizedProps.value!=null&&br(q,"number",q.value)}switch(se=B?_l(B):window,e){case"focusin":(To(se)||se.contentEditable==="true")&&(Ln=se,Rr=B,Hl=null);break;case"focusout":Hl=Rr=Ln=null;break;case"mousedown":Ur=!0;break;case"contextmenu":case"mouseup":case"dragend":Ur=!1,qo(F,a,V);break;case"selectionchange":if(Ng)break;case"keydown":case"keyup":qo(F,a,V)}var xe;if(_r)e:{switch(e){case"compositionstart":var be="onCompositionStart";break e;case"compositionend":be="onCompositionEnd";break e;case"compositionupdate":be="onCompositionUpdate";break e}be=void 0}else qn?wo(e,a)&&(be="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(be="onCompositionStart");be&&(No&&a.locale!=="ko"&&(qn||be!=="onCompositionStart"?be==="onCompositionEnd"&&qn&&(xe=po()):(Oa=V,zr="value"in Oa?Oa.value:Oa.textContent,qn=!0)),se=Ei(B,be),0<se.length&&(be=new bo(be,e,null,a,V),F.push({event:be,listeners:se}),xe?be.data=xe:(xe=zo(a),xe!==null&&(be.data=xe)))),(xe=fg?mg(e,a):hg(e,a))&&(be=Ei(B,"onBeforeInput"),0<be.length&&(se=new bo("onBeforeInput","beforeinput",null,a,V),F.push({event:se,listeners:be}),se.data=xe)),sp(F,e,B,a,V)}dm(F,t)})}function ds(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ei(e,t){for(var a=t+"Capture",l=[];e!==null;){var i=e,r=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||r===null||(i=kl(e,a),i!=null&&l.unshift(ds(e,i,r)),i=kl(e,t),i!=null&&l.push(ds(e,i,r))),e.tag===3)return l;e=e.return}return[]}function up(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function mm(e,t,a,l,i){for(var r=t._reactName,d=[];a!==null&&a!==l;){var h=a,j=h.alternate,B=h.stateNode;if(h=h.tag,j!==null&&j===l)break;h!==5&&h!==26&&h!==27||B===null||(j=B,i?(B=kl(a,r),B!=null&&d.unshift(ds(a,B,j))):i||(B=kl(a,r),B!=null&&d.push(ds(a,B,j)))),a=a.return}d.length!==0&&e.push({event:t,listeners:d})}var op=/\r\n?/g,dp=/\u0000|\uFFFD/g;function hm(e){return(typeof e=="string"?e:""+e).replace(op,`
9
+ `).replace(dp,"")}function xm(e,t){return t=hm(t),hm(e)===t}function Re(e,t,a,l,i,r){switch(a){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||Rn(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&Rn(e,""+l);break;case"className":ks(e,"class",l);break;case"tabIndex":ks(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":ks(e,a,l);break;case"style":ho(e,l,r);break;case"data":if(t!=="object"){ks(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=Os(""+l),e.setAttribute(a,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(a,"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 r=="function"&&(a==="formAction"?(t!=="input"&&Re(e,t,"name",i.name,i,null),Re(e,t,"formEncType",i.formEncType,i,null),Re(e,t,"formMethod",i.formMethod,i,null),Re(e,t,"formTarget",i.formTarget,i,null)):(Re(e,t,"encType",i.encType,i,null),Re(e,t,"method",i.method,i,null),Re(e,t,"target",i.target,i,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=Os(""+l),e.setAttribute(a,l);break;case"onClick":l!=null&&(e.onclick=ma);break;case"onScroll":l!=null&&ye("scroll",e);break;case"onScrollEnd":l!=null&&ye("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(u(61));if(a=l.__html,a!=null){if(i.children!=null)throw Error(u(60));e.innerHTML=a}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.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"){e.removeAttribute("xlink:href");break}a=Os(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);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"?e.setAttribute(a,""+l):e.removeAttribute(a);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"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":l===!0?e.setAttribute(a,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,l):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(a,l):e.removeAttribute(a);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(a):e.setAttribute(a,l);break;case"popover":ye("beforetoggle",e),ye("toggle",e),_s(e,"popover",l);break;case"xlinkActuate":fa(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":fa(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":fa(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":fa(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":fa(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":fa(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":fa(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":fa(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":fa(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":_s(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Lx.get(a)||a,_s(e,a,l))}}function ru(e,t,a,l,i,r){switch(a){case"style":ho(e,l,r);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(u(61));if(a=l.__html,a!=null){if(i.children!=null)throw Error(u(60));e.innerHTML=a}}break;case"children":typeof l=="string"?Rn(e,l):(typeof l=="number"||typeof l=="bigint")&&Rn(e,""+l);break;case"onScroll":l!=null&&ye("scroll",e);break;case"onScrollEnd":l!=null&&ye("scrollend",e);break;case"onClick":l!=null&&(e.onclick=ma);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!lo.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(i=a.endsWith("Capture"),t=a.slice(2,i?a.length-7:void 0),r=e[mt]||null,r=r!=null?r[a]:null,typeof r=="function"&&e.removeEventListener(t,r,i),typeof l=="function")){typeof r!="function"&&r!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,l,i);break e}a in e?e[a]=l:l===!0?e.setAttribute(a,""):_s(e,a,l)}}}function ot(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ye("error",e),ye("load",e);var l=!1,i=!1,r;for(r in a)if(a.hasOwnProperty(r)){var d=a[r];if(d!=null)switch(r){case"src":l=!0;break;case"srcSet":i=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(u(137,t));default:Re(e,t,r,d,a,null)}}i&&Re(e,t,"srcSet",a.srcSet,a,null),l&&Re(e,t,"src",a.src,a,null);return;case"input":ye("invalid",e);var h=r=d=i=null,j=null,B=null;for(l in a)if(a.hasOwnProperty(l)){var V=a[l];if(V!=null)switch(l){case"name":i=V;break;case"type":d=V;break;case"checked":j=V;break;case"defaultChecked":B=V;break;case"value":r=V;break;case"defaultValue":h=V;break;case"children":case"dangerouslySetInnerHTML":if(V!=null)throw Error(u(137,t));break;default:Re(e,t,l,V,a,null)}}uo(e,r,h,j,B,d,i,!1);return;case"select":ye("invalid",e),l=d=r=null;for(i in a)if(a.hasOwnProperty(i)&&(h=a[i],h!=null))switch(i){case"value":r=h;break;case"defaultValue":d=h;break;case"multiple":l=h;default:Re(e,t,i,h,a,null)}t=r,a=d,e.multiple=!!l,t!=null?On(e,!!l,t,!1):a!=null&&On(e,!!l,a,!0);return;case"textarea":ye("invalid",e),r=i=l=null;for(d in a)if(a.hasOwnProperty(d)&&(h=a[d],h!=null))switch(d){case"value":l=h;break;case"defaultValue":i=h;break;case"children":r=h;break;case"dangerouslySetInnerHTML":if(h!=null)throw Error(u(91));break;default:Re(e,t,d,h,a,null)}fo(e,l,i,r);return;case"option":for(j in a)a.hasOwnProperty(j)&&(l=a[j],l!=null)&&(j==="selected"?e.selected=l&&typeof l!="function"&&typeof l!="symbol":Re(e,t,j,l,a,null));return;case"dialog":ye("beforetoggle",e),ye("toggle",e),ye("cancel",e),ye("close",e);break;case"iframe":case"object":ye("load",e);break;case"video":case"audio":for(l=0;l<os.length;l++)ye(os[l],e);break;case"image":ye("error",e),ye("load",e);break;case"details":ye("toggle",e);break;case"embed":case"source":case"link":ye("error",e),ye("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(B in a)if(a.hasOwnProperty(B)&&(l=a[B],l!=null))switch(B){case"children":case"dangerouslySetInnerHTML":throw Error(u(137,t));default:Re(e,t,B,l,a,null)}return;default:if(jr(t)){for(V in a)a.hasOwnProperty(V)&&(l=a[V],l!==void 0&&ru(e,t,V,l,a,void 0));return}}for(h in a)a.hasOwnProperty(h)&&(l=a[h],l!=null&&Re(e,t,h,l,a,null))}function fp(e,t,a,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var i=null,r=null,d=null,h=null,j=null,B=null,V=null;for(G in a){var F=a[G];if(a.hasOwnProperty(G)&&F!=null)switch(G){case"checked":break;case"value":break;case"defaultValue":j=F;default:l.hasOwnProperty(G)||Re(e,t,G,null,l,F)}}for(var q in l){var G=l[q];if(F=a[q],l.hasOwnProperty(q)&&(G!=null||F!=null))switch(q){case"type":r=G;break;case"name":i=G;break;case"checked":B=G;break;case"defaultChecked":V=G;break;case"value":d=G;break;case"defaultValue":h=G;break;case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(u(137,t));break;default:G!==F&&Re(e,t,q,G,l,F)}}vr(e,d,h,j,B,V,r,i);return;case"select":G=d=h=q=null;for(r in a)if(j=a[r],a.hasOwnProperty(r)&&j!=null)switch(r){case"value":break;case"multiple":G=j;default:l.hasOwnProperty(r)||Re(e,t,r,null,l,j)}for(i in l)if(r=l[i],j=a[i],l.hasOwnProperty(i)&&(r!=null||j!=null))switch(i){case"value":q=r;break;case"defaultValue":h=r;break;case"multiple":d=r;default:r!==j&&Re(e,t,i,r,l,j)}t=h,a=d,l=G,q!=null?On(e,!!a,q,!1):!!l!=!!a&&(t!=null?On(e,!!a,t,!0):On(e,!!a,a?[]:"",!1));return;case"textarea":G=q=null;for(h in a)if(i=a[h],a.hasOwnProperty(h)&&i!=null&&!l.hasOwnProperty(h))switch(h){case"value":break;case"children":break;default:Re(e,t,h,null,l,i)}for(d in l)if(i=l[d],r=a[d],l.hasOwnProperty(d)&&(i!=null||r!=null))switch(d){case"value":q=i;break;case"defaultValue":G=i;break;case"children":break;case"dangerouslySetInnerHTML":if(i!=null)throw Error(u(91));break;default:i!==r&&Re(e,t,d,i,l,r)}oo(e,q,G);return;case"option":for(var le in a)q=a[le],a.hasOwnProperty(le)&&q!=null&&!l.hasOwnProperty(le)&&(le==="selected"?e.selected=!1:Re(e,t,le,null,l,q));for(j in l)q=l[j],G=a[j],l.hasOwnProperty(j)&&q!==G&&(q!=null||G!=null)&&(j==="selected"?e.selected=q&&typeof q!="function"&&typeof q!="symbol":Re(e,t,j,q,l,G));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 ue in a)q=a[ue],a.hasOwnProperty(ue)&&q!=null&&!l.hasOwnProperty(ue)&&Re(e,t,ue,null,l,q);for(B in l)if(q=l[B],G=a[B],l.hasOwnProperty(B)&&q!==G&&(q!=null||G!=null))switch(B){case"children":case"dangerouslySetInnerHTML":if(q!=null)throw Error(u(137,t));break;default:Re(e,t,B,q,l,G)}return;default:if(jr(t)){for(var Ue in a)q=a[Ue],a.hasOwnProperty(Ue)&&q!==void 0&&!l.hasOwnProperty(Ue)&&ru(e,t,Ue,void 0,l,q);for(V in l)q=l[V],G=a[V],!l.hasOwnProperty(V)||q===G||q===void 0&&G===void 0||ru(e,t,V,q,l,G);return}}for(var A in a)q=a[A],a.hasOwnProperty(A)&&q!=null&&!l.hasOwnProperty(A)&&Re(e,t,A,null,l,q);for(F in l)q=l[F],G=a[F],!l.hasOwnProperty(F)||q===G||q==null&&G==null||Re(e,t,F,q,l,G)}function gm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function mp(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),l=0;l<a.length;l++){var i=a[l],r=i.transferSize,d=i.initiatorType,h=i.duration;if(r&&h&&gm(d)){for(d=0,h=i.responseEnd,l+=1;l<a.length;l++){var j=a[l],B=j.startTime;if(B>h)break;var V=j.transferSize,F=j.initiatorType;V&&gm(F)&&(j=j.responseEnd,d+=V*(j<h?1:(h-B)/(j-B)))}if(--l,t+=8*(r+d)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var cu=null,uu=null;function Ai(e){return e.nodeType===9?e:e.ownerDocument}function pm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function ym(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function ou(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var du=null;function hp(){var e=window.event;return e&&e.type==="popstate"?e===du?!1:(du=e,!0):(du=null,!1)}var vm=typeof setTimeout=="function"?setTimeout:void 0,xp=typeof clearTimeout=="function"?clearTimeout:void 0,bm=typeof Promise=="function"?Promise:void 0,gp=typeof queueMicrotask=="function"?queueMicrotask:typeof bm<"u"?function(e){return bm.resolve(null).then(e).catch(pp)}:vm;function pp(e){setTimeout(function(){throw e})}function Wa(e){return e==="head"}function jm(e,t){var a=t,l=0;do{var i=a.nextSibling;if(e.removeChild(a),i&&i.nodeType===8)if(a=i.data,a==="/$"||a==="/&"){if(l===0){e.removeChild(i),fl(t);return}l--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")l++;else if(a==="html")fs(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,fs(a);for(var r=a.firstChild;r;){var d=r.nextSibling,h=r.nodeName;r[Dl]||h==="SCRIPT"||h==="STYLE"||h==="LINK"&&r.rel.toLowerCase()==="stylesheet"||a.removeChild(r),r=d}}else a==="body"&&fs(e.ownerDocument.body);a=i}while(a);fl(t)}function Nm(e,t){var a=e;e=0;do{var l=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),l&&l.nodeType===8)if(a=l.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=l}while(a)}function fu(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":fu(a),pr(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function yp(e,t,a,l){for(;e.nodeType===1;){var i=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[Dl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(r=e.getAttribute("rel"),r==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(r!==i.rel||e.getAttribute("href")!==(i.href==null||i.href===""?null:i.href)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute("title")!==(i.title==null?null:i.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(r=e.getAttribute("src"),(r!==(i.src==null?null:i.src)||e.getAttribute("type")!==(i.type==null?null:i.type)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin))&&r&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var r=i.name==null?null:""+i.name;if(i.type==="hidden"&&e.getAttribute("name")===r)return e}else return e;if(e=Yt(e.nextSibling),e===null)break}return null}function vp(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Yt(e.nextSibling),e===null))return null;return e}function Sm(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Yt(e.nextSibling),e===null))return null;return e}function mu(e){return e.data==="$?"||e.data==="$~"}function hu(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function bp(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var l=function(){t(),a.removeEventListener("DOMContentLoaded",l)};a.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Yt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var xu=null;function Cm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Yt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function wm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function zm(e,t,a){switch(t=Ai(a),e){case"html":if(e=t.documentElement,!e)throw Error(u(452));return e;case"head":if(e=t.head,!e)throw Error(u(453));return e;case"body":if(e=t.body,!e)throw Error(u(454));return e;default:throw Error(u(451))}}function fs(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);pr(e)}var Vt=new Map,Tm=new Set;function Di(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Aa=R.d;R.d={f:jp,r:Np,D:Sp,C:Cp,L:wp,m:zp,X:Ep,S:Tp,M:Ap};function jp(){var e=Aa.f(),t=ji();return e||t}function Np(e){var t=_n(e);t!==null&&t.tag===5&&t.type==="form"?Yd(t):Aa.r(e)}var ul=typeof document>"u"?null:document;function Em(e,t,a){var l=ul;if(l&&typeof t=="string"&&t){var i=Ut(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),Tm.has(i)||(Tm.add(i),e={rel:e,crossOrigin:a,href:t},l.querySelector(i)===null&&(t=l.createElement("link"),ot(t,"link",e),lt(t),l.head.appendChild(t)))}}function Sp(e){Aa.D(e),Em("dns-prefetch",e,null)}function Cp(e,t){Aa.C(e,t),Em("preconnect",e,t)}function wp(e,t,a){Aa.L(e,t,a);var l=ul;if(l&&e&&t){var i='link[rel="preload"][as="'+Ut(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+Ut(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+Ut(a.imageSizes)+'"]')):i+='[href="'+Ut(e)+'"]';var r=i;switch(t){case"style":r=ol(e);break;case"script":r=dl(e)}Vt.has(r)||(e=w({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Vt.set(r,e),l.querySelector(i)!==null||t==="style"&&l.querySelector(ms(r))||t==="script"&&l.querySelector(hs(r))||(t=l.createElement("link"),ot(t,"link",e),lt(t),l.head.appendChild(t)))}}function zp(e,t){Aa.m(e,t);var a=ul;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+Ut(l)+'"][href="'+Ut(e)+'"]',r=i;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=dl(e)}if(!Vt.has(r)&&(e=w({rel:"modulepreload",href:e},t),Vt.set(r,e),a.querySelector(i)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(hs(r)))return}l=a.createElement("link"),ot(l,"link",e),lt(l),a.head.appendChild(l)}}}function Tp(e,t,a){Aa.S(e,t,a);var l=ul;if(l&&e){var i=kn(l).hoistableStyles,r=ol(e);t=t||"default";var d=i.get(r);if(!d){var h={loading:0,preload:null};if(d=l.querySelector(ms(r)))h.loading=5;else{e=w({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Vt.get(r))&&gu(e,a);var j=d=l.createElement("link");lt(j),ot(j,"link",e),j._p=new Promise(function(B,V){j.onload=B,j.onerror=V}),j.addEventListener("load",function(){h.loading|=1}),j.addEventListener("error",function(){h.loading|=2}),h.loading|=4,_i(d,t,l)}d={type:"stylesheet",instance:d,count:1,state:h},i.set(r,d)}}}function Ep(e,t){Aa.X(e,t);var a=ul;if(a&&e){var l=kn(a).hoistableScripts,i=dl(e),r=l.get(i);r||(r=a.querySelector(hs(i)),r||(e=w({src:e,async:!0},t),(t=Vt.get(i))&&pu(e,t),r=a.createElement("script"),lt(r),ot(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},l.set(i,r))}}function Ap(e,t){Aa.M(e,t);var a=ul;if(a&&e){var l=kn(a).hoistableScripts,i=dl(e),r=l.get(i);r||(r=a.querySelector(hs(i)),r||(e=w({src:e,async:!0,type:"module"},t),(t=Vt.get(i))&&pu(e,t),r=a.createElement("script"),lt(r),ot(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},l.set(i,r))}}function Am(e,t,a,l){var i=(i=Ve.current)?Di(i):null;if(!i)throw Error(u(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=ol(a.href),a=kn(i).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=ol(a.href);var r=kn(i).hoistableStyles,d=r.get(e);if(d||(i=i.ownerDocument||i,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,d),(r=i.querySelector(ms(e)))&&!r._p&&(d.instance=r,d.state.loading=5),Vt.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Vt.set(e,a),r||Dp(i,e,a,d.state))),t&&l===null)throw Error(u(528,""));return d}if(t&&l!==null)throw Error(u(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=dl(a),a=kn(i).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(u(444,e))}}function ol(e){return'href="'+Ut(e)+'"'}function ms(e){return'link[rel="stylesheet"]['+e+"]"}function Dm(e){return w({},e,{"data-precedence":e.precedence,precedence:null})}function Dp(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),ot(t,"link",a),lt(t),e.head.appendChild(t))}function dl(e){return'[src="'+Ut(e)+'"]'}function hs(e){return"script[async]"+e}function _m(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+Ut(a.href)+'"]');if(l)return t.instance=l,lt(l),l;var i=w({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),lt(l),ot(l,"style",i),_i(l,a.precedence,e),t.instance=l;case"stylesheet":i=ol(a.href);var r=e.querySelector(ms(i));if(r)return t.state.loading|=4,t.instance=r,lt(r),r;l=Dm(a),(i=Vt.get(i))&&gu(l,i),r=(e.ownerDocument||e).createElement("link"),lt(r);var d=r;return d._p=new Promise(function(h,j){d.onload=h,d.onerror=j}),ot(r,"link",l),t.state.loading|=4,_i(r,a.precedence,e),t.instance=r;case"script":return r=dl(a.src),(i=e.querySelector(hs(r)))?(t.instance=i,lt(i),i):(l=a,(i=Vt.get(r))&&(l=w({},a),pu(l,i)),e=e.ownerDocument||e,i=e.createElement("script"),lt(i),ot(i,"link",l),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(u(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,_i(l,a.precedence,e));return t.instance}function _i(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=l.length?l[l.length-1]:null,r=i,d=0;d<l.length;d++){var h=l[d];if(h.dataset.precedence===t)r=h;else if(r!==i)break}r?r.parentNode.insertBefore(e,r.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function gu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function pu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var ki=null;function km(e,t,a){if(ki===null){var l=new Map,i=ki=new Map;i.set(a,l)}else i=ki,l=i.get(a),l||(l=new Map,i.set(a,l));if(l.has(e))return l;for(l.set(e,null),a=a.getElementsByTagName(e),i=0;i<a.length;i++){var r=a[i];if(!(r[Dl]||r[it]||e==="link"&&r.getAttribute("rel")==="stylesheet")&&r.namespaceURI!=="http://www.w3.org/2000/svg"){var d=r.getAttribute(t)||"";d=e+d;var h=l.get(d);h?h.push(r):l.set(d,[r])}}return l}function Mm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function _p(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Om(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function kp(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=ol(l.href),r=t.querySelector(ms(i));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Mi.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=r,lt(r);return}r=t.ownerDocument||t,l=Dm(l),(i=Vt.get(i))&&gu(l,i),r=r.createElement("link"),lt(r);var d=r;d._p=new Promise(function(h,j){d.onload=h,d.onerror=j}),ot(r,"link",l),a.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Mi.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var yu=0;function Mp(e,t){return e.stylesheets&&e.count===0&&Ri(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var l=setTimeout(function(){if(e.stylesheets&&Ri(e,e.stylesheets),e.unsuspend){var r=e.unsuspend;e.unsuspend=null,r()}},6e4+t);0<e.imgBytes&&yu===0&&(yu=62500*mp());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Ri(e,e.stylesheets),e.unsuspend)){var r=e.unsuspend;e.unsuspend=null,r()}},(e.imgBytes>yu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(i)}}:null}function Mi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ri(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Oi=null;function Ri(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Oi=new Map,t.forEach(Op,e),Oi=null,Mi.call(e))}function Op(e,t){if(!(t.state.loading&4)){var a=Oi.get(e);if(a)var l=a.get(null);else{a=new Map,Oi.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r<i.length;r++){var d=i[r];(d.nodeName==="LINK"||d.getAttribute("media")!=="not all")&&(a.set(d.dataset.precedence,d),l=d)}l&&a.set(null,l)}i=t.instance,d=i.getAttribute("data-precedence"),r=a.get(d)||l,r===l&&a.set(null,i),a.set(d,i),this.count++,l=Mi.bind(this),i.addEventListener("load",l),i.addEventListener("error",l),r?r.parentNode.insertBefore(i,r.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var xs={$$typeof:E,Provider:null,Consumer:null,_currentValue:ee,_currentValue2:ee,_threadCount:0};function Rp(e,t,a,l,i,r,d,h,j){this.tag=1,this.containerInfo=e,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=mr(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=mr(0),this.hiddenUpdates=mr(null),this.identifierPrefix=l,this.onUncaughtError=i,this.onCaughtError=r,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=j,this.incompleteTransitions=new Map}function Rm(e,t,a,l,i,r,d,h,j,B,V,F){return e=new Rp(e,t,a,d,j,B,V,F,h),t=1,r===!0&&(t|=24),r=Tt(3,null,null,t),e.current=r,r.stateNode=e,t=Wr(),t.refCount++,e.pooledCache=t,t.refCount++,r.memoizedState={element:l,isDehydrated:a,cache:t},tc(r),e}function Um(e){return e?(e=Qn,e):Qn}function Bm(e,t,a,l,i,r){i=Um(i),l.context===null?l.context=i:l.pendingContext=i,l=Ha(t),l.payload={element:a},r=r===void 0?null:r,r!==null&&(l.callback=r),a=Ga(e,l,t),a!==null&&(vt(a,e,t),Fl(a,e,t))}function qm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function vu(e,t){qm(e,t),(e=e.alternate)&&qm(e,t)}function Lm(e){if(e.tag===13||e.tag===31){var t=fn(e,67108864);t!==null&&vt(t,e,67108864),vu(e,67108864)}}function Hm(e){if(e.tag===13||e.tag===31){var t=kt();t=hr(t);var a=fn(e,t);a!==null&&vt(a,e,t),vu(e,t)}}var Ui=!0;function Up(e,t,a,l){var i=v.T;v.T=null;var r=R.p;try{R.p=2,bu(e,t,a,l)}finally{R.p=r,v.T=i}}function Bp(e,t,a,l){var i=v.T;v.T=null;var r=R.p;try{R.p=8,bu(e,t,a,l)}finally{R.p=r,v.T=i}}function bu(e,t,a,l){if(Ui){var i=ju(l);if(i===null)iu(e,t,l,Bi,a),Qm(e,l);else if(Lp(i,e,t,a,l))l.stopPropagation();else if(Qm(e,l),t&4&&-1<qp.indexOf(e)){for(;i!==null;){var r=_n(i);if(r!==null)switch(r.tag){case 3:if(r=r.stateNode,r.current.memoizedState.isDehydrated){var d=rn(r.pendingLanes);if(d!==0){var h=r;for(h.pendingLanes|=2,h.entangledLanes|=2;d;){var j=1<<31-wt(d);h.entanglements[1]|=j,d&=~j}ua(r),(Te&6)===0&&(vi=St()+500,us(0))}}break;case 31:case 13:h=fn(r,2),h!==null&&vt(h,r,2),ji(),vu(r,2)}if(r=ju(l),r===null&&iu(e,t,l,Bi,a),r===i)break;i=r}i!==null&&l.stopPropagation()}else iu(e,t,l,null,a)}}function ju(e){return e=Sr(e),Nu(e)}var Bi=null;function Nu(e){if(Bi=null,e=Dn(e),e!==null){var t=g(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=x(t),e!==null)return e;e=null}else if(a===31){if(e=p(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Bi=e,null}function Gm(e){switch(e){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(Sx()){case Fu:return 2;case Zu:return 8;case zs:case Cx:return 32;case $u:return 268435456;default:return 32}default:return 32}}var Su=!1,Ia=null,Pa=null,en=null,gs=new Map,ps=new Map,tn=[],qp="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 Qm(e,t){switch(e){case"focusin":case"focusout":Ia=null;break;case"dragenter":case"dragleave":Pa=null;break;case"mouseover":case"mouseout":en=null;break;case"pointerover":case"pointerout":gs.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ps.delete(t.pointerId)}}function ys(e,t,a,l,i,r){return e===null||e.nativeEvent!==r?(e={blockedOn:t,domEventName:a,eventSystemFlags:l,nativeEvent:r,targetContainers:[i]},t!==null&&(t=_n(t),t!==null&&Lm(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Lp(e,t,a,l,i){switch(t){case"focusin":return Ia=ys(Ia,e,t,a,l,i),!0;case"dragenter":return Pa=ys(Pa,e,t,a,l,i),!0;case"mouseover":return en=ys(en,e,t,a,l,i),!0;case"pointerover":var r=i.pointerId;return gs.set(r,ys(gs.get(r)||null,e,t,a,l,i)),!0;case"gotpointercapture":return r=i.pointerId,ps.set(r,ys(ps.get(r)||null,e,t,a,l,i)),!0}return!1}function Ym(e){var t=Dn(e.target);if(t!==null){var a=g(t);if(a!==null){if(t=a.tag,t===13){if(t=x(a),t!==null){e.blockedOn=t,to(e.priority,function(){Hm(a)});return}}else if(t===31){if(t=p(a),t!==null){e.blockedOn=t,to(e.priority,function(){Hm(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function qi(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=ju(e.nativeEvent);if(a===null){a=e.nativeEvent;var l=new a.constructor(a.type,a);Nr=l,a.target.dispatchEvent(l),Nr=null}else return t=_n(a),t!==null&&Lm(t),e.blockedOn=a,!1;t.shift()}return!0}function Vm(e,t,a){qi(e)&&a.delete(t)}function Hp(){Su=!1,Ia!==null&&qi(Ia)&&(Ia=null),Pa!==null&&qi(Pa)&&(Pa=null),en!==null&&qi(en)&&(en=null),gs.forEach(Vm),ps.forEach(Vm)}function Li(e,t){e.blockedOn===t&&(e.blockedOn=null,Su||(Su=!0,s.unstable_scheduleCallback(s.unstable_NormalPriority,Hp)))}var Hi=null;function Xm(e){Hi!==e&&(Hi=e,s.unstable_scheduleCallback(s.unstable_NormalPriority,function(){Hi===e&&(Hi=null);for(var t=0;t<e.length;t+=3){var a=e[t],l=e[t+1],i=e[t+2];if(typeof l!="function"){if(Nu(l||a)===null)continue;break}var r=_n(a);r!==null&&(e.splice(t,3),t-=3,jc(r,{pending:!0,data:i,method:a.method,action:l},l,i))}}))}function fl(e){function t(j){return Li(j,e)}Ia!==null&&Li(Ia,e),Pa!==null&&Li(Pa,e),en!==null&&Li(en,e),gs.forEach(t),ps.forEach(t);for(var a=0;a<tn.length;a++){var l=tn[a];l.blockedOn===e&&(l.blockedOn=null)}for(;0<tn.length&&(a=tn[0],a.blockedOn===null);)Ym(a),a.blockedOn===null&&tn.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(l=0;l<a.length;l+=3){var i=a[l],r=a[l+1],d=i[mt]||null;if(typeof r=="function")d||Xm(a);else if(d){var h=null;if(r&&r.hasAttribute("formAction")){if(i=r,d=r[mt]||null)h=d.formAction;else if(Nu(i)!==null)continue}else h=d.action;typeof h=="function"?a[l+1]=h:(a.splice(l,3),l-=3),Xm(a)}}}function Km(){function e(r){r.canIntercept&&r.info==="react-transition"&&r.intercept({handler:function(){return new Promise(function(d){return i=d})},focusReset:"manual",scroll:"manual"})}function t(){i!==null&&(i(),i=null),l||setTimeout(a,20)}function a(){if(!l&&!navigation.transition){var r=navigation.currentEntry;r&&r.url!=null&&navigation.navigate(r.url,{state:r.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,i=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),i!==null&&(i(),i=null)}}}function Cu(e){this._internalRoot=e}Gi.prototype.render=Cu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(u(409));var a=t.current,l=kt();Bm(a,l,e,t,null,null)},Gi.prototype.unmount=Cu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Bm(e.current,2,null,e,null,null),ji(),t[An]=null}};function Gi(e){this._internalRoot=e}Gi.prototype.unstable_scheduleHydration=function(e){if(e){var t=eo();e={blockedOn:null,target:e,priority:t};for(var a=0;a<tn.length&&t!==0&&t<tn[a].priority;a++);tn.splice(a,0,e),a===0&&Ym(e)}};var Fm=c.version;if(Fm!=="19.2.3")throw Error(u(527,Fm,"19.2.3"));R.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(u(188)):(e=Object.keys(e).join(","),Error(u(268,e)));return e=b(t),e=e!==null?T(e):null,e=e===null?null:e.stateNode,e};var Gp={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:v,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Qi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Qi.isDisabled&&Qi.supportsFiber)try{Tl=Qi.inject(Gp),Ct=Qi}catch{}}return vs.createRoot=function(e,t){if(!m(e))throw Error(u(299));var a=!1,l="",i=Pd,r=ef,d=tf;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(r=t.onCaughtError),t.onRecoverableError!==void 0&&(d=t.onRecoverableError)),t=Rm(e,1,!1,null,null,a,l,null,i,r,d,Km),e[An]=t.current,su(e),new Cu(t)},vs.hydrateRoot=function(e,t,a){if(!m(e))throw Error(u(299));var l=!1,i="",r=Pd,d=ef,h=tf,j=null;return a!=null&&(a.unstable_strictMode===!0&&(l=!0),a.identifierPrefix!==void 0&&(i=a.identifierPrefix),a.onUncaughtError!==void 0&&(r=a.onUncaughtError),a.onCaughtError!==void 0&&(d=a.onCaughtError),a.onRecoverableError!==void 0&&(h=a.onRecoverableError),a.formState!==void 0&&(j=a.formState)),t=Rm(e,1,!0,t,a??null,l,i,j,r,d,h,Km),t.context=Um(null),a=t.current,l=kt(),l=hr(l),i=Ha(l),i.callback=null,Ga(a,i,l),a=l,t.current.lanes=a,Al(t,a),ua(t),e[An]=t.current,su(e),new Gi(t)},vs.version="19.2.3",vs}var ah;function p0(){if(ah)return wu.exports;ah=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(c){console.error(c)}}return s(),wu.exports=g0(),wu.exports}var y0=p0();const v0="/api";async function de(s,c){const o=await fetch(`${v0}${s}`,{...c,headers:{"Content-Type":"application/json",...c?.headers}});if(!o.ok){const u=await o.json().catch(()=>({detail:"Unknown error"}));throw new Error(u.detail||`HTTP ${o.status}`)}if(o.status!==204)return o.json()}async function b0(){return de("/projects")}async function j0(s,c,o="manual"){return de("/projects",{method:"POST",body:JSON.stringify({name:s,path:c,spec_method:o})})}async function N0(s){return de(`/projects/${encodeURIComponent(s)}`)}async function S0(s){await de(`/projects/${encodeURIComponent(s)}`,{method:"DELETE"})}async function C0(s,c){return de(`/projects/${encodeURIComponent(s)}/settings`,{method:"PATCH",body:JSON.stringify(c)})}async function w0(s,c=!1){const o=c?"?full_reset=true":"";return de(`/projects/${encodeURIComponent(s)}/reset${o}`,{method:"POST"})}async function z0(s){return de(`/projects/${encodeURIComponent(s)}/features`)}async function T0(s,c){return de(`/projects/${encodeURIComponent(s)}/features`,{method:"POST",body:JSON.stringify(c)})}async function E0(s,c){await de(`/projects/${encodeURIComponent(s)}/features/${c}`,{method:"DELETE"})}async function A0(s,c){await de(`/projects/${encodeURIComponent(s)}/features/${c}/skip`,{method:"PATCH"})}async function D0(s,c,o){return de(`/projects/${encodeURIComponent(s)}/features/${c}`,{method:"PATCH",body:JSON.stringify(o)})}async function _0(s,c,o){return de(`/projects/${encodeURIComponent(s)}/features/${c}/resolve-human-input`,{method:"POST",body:JSON.stringify(o)})}async function k0(s){return de(`/projects/${encodeURIComponent(s)}/features/graph`)}async function M0(s){return de(`/projects/${encodeURIComponent(s)}/agent/status`)}async function Bu(s,c={}){return de(`/projects/${encodeURIComponent(s)}/agent/start`,{method:"POST",body:JSON.stringify({yolo_mode:c.yoloMode??!1,parallel_mode:c.parallelMode??!1,max_concurrency:c.maxConcurrency,testing_agent_ratio:c.testingAgentRatio})})}async function O0(s){return de(`/projects/${encodeURIComponent(s)}/agent/stop`,{method:"POST"})}async function R0(s){return de(`/projects/${encodeURIComponent(s)}/agent/graceful-pause`,{method:"POST"})}async function U0(s){return de(`/projects/${encodeURIComponent(s)}/agent/graceful-resume`,{method:"POST"})}async function B0(s){return de(`/spec/status/${encodeURIComponent(s)}`)}async function q0(){return de("/setup/status")}async function L0(){return de("/health")}async function H0(s){const c=s?`?path=${encodeURIComponent(s)}`:"";return de(`/filesystem/list${c}`)}async function G0(s){const c=s.endsWith("/")?s.slice(0,-1):s,o=c.lastIndexOf("/");let u,m;if(o===2&&/^[A-Za-z]:/.test(c))u=c.substring(0,3),m=c.substring(3);else if(o>0)u=c.substring(0,o),m=c.substring(o+1);else if(o===0)u="/",m=c.substring(1);else throw new Error("Invalid path: must be an absolute path");if(!m)throw new Error("Invalid path: directory name is empty");return de("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:u,name:m})})}async function Q0(s){return de(`/assistant/conversations/${encodeURIComponent(s)}`)}async function Y0(s,c){return de(`/assistant/conversations/${encodeURIComponent(s)}/${c}`)}async function V0(s,c){await de(`/assistant/conversations/${encodeURIComponent(s)}/${c}`,{method:"DELETE"})}async function X0(){return de("/settings/models")}async function K0(){return de("/settings/providers")}async function F0(){return de("/settings")}async function Z0(s){return de("/settings",{method:"PATCH",body:JSON.stringify(s)})}async function Zh(s,c){return de(`/projects/${encodeURIComponent(s)}/devserver/start`,{method:"POST",body:JSON.stringify({command:c})})}async function $0(s){return de(`/projects/${encodeURIComponent(s)}/devserver/stop`,{method:"POST"})}async function J0(s){return de(`/projects/${encodeURIComponent(s)}/devserver/config`)}async function W0(s,c){return de(`/projects/${encodeURIComponent(s)}/devserver/config`,{method:"PATCH",body:JSON.stringify({custom_command:c})})}async function I0(s){return de(`/terminal/${encodeURIComponent(s)}`)}async function P0(s,c){return de(`/terminal/${encodeURIComponent(s)}`,{method:"POST",body:JSON.stringify({name:null})})}async function ev(s,c,o){return de(`/terminal/${encodeURIComponent(s)}/${c}`,{method:"PATCH",body:JSON.stringify({name:o})})}async function tv(s,c){await de(`/terminal/${encodeURIComponent(s)}/${c}`,{method:"DELETE"})}async function av(s){return de(`/projects/${encodeURIComponent(s)}/schedules`)}async function nv(s,c){return de(`/projects/${encodeURIComponent(s)}/schedules`,{method:"POST",body:JSON.stringify(c)})}async function lv(s,c,o){return de(`/projects/${encodeURIComponent(s)}/schedules/${c}`,{method:"PATCH",body:JSON.stringify(o)})}async function sv(s,c){await de(`/projects/${encodeURIComponent(s)}/schedules/${c}`,{method:"DELETE"})}async function iv(s){return de(`/projects/${encodeURIComponent(s)}/schedules/next`)}function rv(){return dt({queryKey:["projects"],queryFn:b0})}function $h(s){return dt({queryKey:["project",s],queryFn:()=>N0(s),enabled:!!s})}function cv(){const s=Ge();return Fe({mutationFn:({name:c,path:o,specMethod:u})=>j0(c,o,u),onSuccess:()=>{s.invalidateQueries({queryKey:["projects"]})}})}function uv(){const s=Ge();return Fe({mutationFn:c=>S0(c),onSuccess:()=>{s.invalidateQueries({queryKey:["projects"]})}})}function ov(s){const c=Ge();return Fe({mutationFn:o=>w0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]}),c.invalidateQueries({queryKey:["project",s]}),c.invalidateQueries({queryKey:["features",s]}),c.invalidateQueries({queryKey:["agent-status",s]})}})}function Jh(s){const c=Ge();return Fe({mutationFn:o=>C0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]}),c.invalidateQueries({queryKey:["project",s]})}})}function Wh(s){return dt({queryKey:["features",s],queryFn:()=>z0(s),enabled:!!s,refetchInterval:5e3})}function dv(s){const c=Ge();return Fe({mutationFn:o=>T0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function fv(s){const c=Ge();return Fe({mutationFn:o=>E0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function mv(s){const c=Ge();return Fe({mutationFn:o=>A0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function hv(s){const c=Ge();return Fe({mutationFn:({featureId:o,update:u})=>D0(s,o,u),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function xv(s){const c=Ge();return Fe({mutationFn:({featureId:o,fields:u})=>_0(s,o,{fields:u}),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function gv(s){return dt({queryKey:["agent-status",s],queryFn:()=>M0(s),enabled:!!s,refetchInterval:3e3})}function pv(s){const c=Ge();return Fe({mutationFn:(o={})=>Bu(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["agent-status",s]})}})}function yv(s){const c=Ge();return Fe({mutationFn:()=>O0(s),onSuccess:()=>{c.invalidateQueries({queryKey:["agent-status",s]}),c.invalidateQueries({queryKey:["nextRun",s]})}})}function vv(s){const c=Ge();return Fe({mutationFn:()=>R0(s),onSuccess:()=>{c.invalidateQueries({queryKey:["agent-status",s]})}})}function bv(s){const c=Ge();return Fe({mutationFn:()=>U0(s),onSuccess:()=>{c.invalidateQueries({queryKey:["agent-status",s]})}})}function jv(){return dt({queryKey:["setup-status"],queryFn:q0,staleTime:6e4})}function Nv(){return dt({queryKey:["health"],queryFn:L0,retry:!1})}const Ih={models:[{id:"claude-opus-4-7",name:"Claude Opus"},{id:"claude-sonnet-4-6",name:"Claude Sonnet"}],default:"claude-opus-4-7"},Ph={yolo_mode:!1,model:"claude-opus-4-7",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3,testing_batch_size:3,effort:"xhigh",api_provider:"claude",api_base_url:null,api_has_auth_token:!1,api_model:null},Sv={providers:[{id:"claude",name:"Claude (Anthropic)",base_url:null,models:Ih.models,default_model:"claude-opus-4-7",requires_auth:!1}],current:"claude"};function Cv(){return dt({queryKey:["available-providers"],queryFn:K0,staleTime:3e5,retry:1,placeholderData:Sv})}function wv(){return dt({queryKey:["available-models"],queryFn:X0,staleTime:3e5,retry:1,placeholderData:Ih})}function qu(){return dt({queryKey:["settings"],queryFn:F0,staleTime:6e4,retry:1,placeholderData:Ph})}function zv(){const s=Ge();return Fe({mutationFn:c=>Z0(c),onMutate:async c=>{await s.cancelQueries({queryKey:["settings"]});const o=s.getQueryData(["settings"]);return s.setQueryData(["settings"],u=>({...Ph,...u,...c})),{previous:o}},onError:(c,o,u)=>{u?.previous&&s.setQueryData(["settings"],u.previous)},onSettled:()=>{s.invalidateQueries({queryKey:["settings"]}),s.invalidateQueries({queryKey:["available-models"]}),s.invalidateQueries({queryKey:["available-providers"]})}})}const Tv={detected_type:null,detected_command:null,custom_command:null,effective_command:null};function Ev(s){return dt({queryKey:["dev-server-config",s],queryFn:()=>J0(s),enabled:!!s,staleTime:3e4,placeholderData:Tv})}function Av(s){const c=Ge();return Fe({mutationFn:o=>W0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["dev-server-config",s]})}})}const nh=100,Dv=20,lh=500;function _v(s){const[c,o]=f.useState({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null,browserScreenshots:new Map,browserViewSubscribed:!1}),u=f.useRef(null),m=f.useRef(null),g=f.useRef(0),x=f.useCallback(()=>{if(!s)return;const k=window.location.protocol==="https:"?"wss:":"ws:",N=window.location.host,M=`${k}//${N}/ws/projects/${encodeURIComponent(s)}`;try{const O=new WebSocket(M);u.current=O,O.onopen=()=>{o(E=>({...E,isConnected:!0})),g.current=0},O.onmessage=E=>{try{const z=JSON.parse(E.data);switch(z.type){case"progress":o(L=>({...L,progress:{passing:z.passing,in_progress:z.in_progress,needs_human_input:z.needs_human_input??0,total:z.total,percentage:z.percentage}}));break;case"agent_status":o(L=>({...L,agentStatus:z.status,...(z.status==="stopped"||z.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null,browserScreenshots:new Map}}));break;case"log":o(L=>{const W=[...L.logs.slice(-nh+1),{line:z.line,timestamp:z.timestamp,featureId:z.featureId,agentIndex:z.agentIndex}];let K=L.agentLogs;if(z.agentIndex!==void 0){K=new Map(L.agentLogs);const ae=K.get(z.agentIndex)||[],Q={line:z.line,timestamp:z.timestamp,type:"output"};K.set(z.agentIndex,[...ae.slice(-lh+1),Q])}return{...L,logs:W,agentLogs:K}});break;case"feature_update":break;case"agent_update":o(L=>{const W=new Map(L.agentLogs),K=W.get(z.agentIndex)||[],ae={line:`[STATE] ${z.state}${z.thought?`: ${z.thought}`:""}`,timestamp:z.timestamp,type:z.state==="error"?"error":"state_change"};W.set(z.agentIndex,[...K.slice(-lh+1),ae]);const Q=W.get(z.agentIndex)||[],ne=L.activeAgents.findIndex(Y=>Y.agentIndex===z.agentIndex);let I;z.state==="success"||z.state==="error"?z.agentIndex===-1?I=L.activeAgents.filter(Y=>Y.featureId!==z.featureId):I=L.activeAgents.filter(Y=>Y.agentIndex!==z.agentIndex):ne>=0?(I=[...L.activeAgents],I[ne]={agentIndex:z.agentIndex,agentName:z.agentName,agentType:z.agentType||"coding",featureId:z.featureId,featureIds:z.featureIds||[z.featureId],featureName:z.featureName,state:z.state,thought:z.thought,timestamp:z.timestamp,logs:Q}):I=[...L.activeAgents,{agentIndex:z.agentIndex,agentName:z.agentName,agentType:z.agentType||"coding",featureId:z.featureId,featureIds:z.featureIds||[z.featureId],featureName:z.featureName,state:z.state,thought:z.thought,timestamp:z.timestamp,logs:Q}];let H=L.recentActivity;z.thought&&(H=[{agentName:z.agentName,thought:z.thought,timestamp:z.timestamp,featureId:z.featureId},...L.recentActivity.slice(0,Dv-1)]);let P=L.celebrationQueue,Z=L.celebration;if(z.state==="success"){const Y={agentName:z.agentName,featureName:z.featureName,featureId:z.featureId};L.celebration?P=[...L.celebrationQueue,Y]:Z=Y}return{...L,activeAgents:I,agentLogs:W,recentActivity:H,celebrationQueue:P,celebration:Z}});break;case"orchestrator_update":o(L=>{const W={eventType:z.eventType,message:z.message,timestamp:z.timestamp,featureId:z.featureId,featureName:z.featureName};return{...L,orchestratorStatus:{state:z.state,message:z.message,codingAgents:z.codingAgents??L.orchestratorStatus?.codingAgents??0,testingAgents:z.testingAgents??L.orchestratorStatus?.testingAgents??0,maxConcurrency:z.maxConcurrency??L.orchestratorStatus?.maxConcurrency??3,readyCount:z.readyCount??L.orchestratorStatus?.readyCount??0,blockedCount:z.blockedCount??L.orchestratorStatus?.blockedCount??0,timestamp:z.timestamp,recentEvents:[W,...(L.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":o(L=>({...L,devLogs:[...L.devLogs.slice(-nh+1),{line:z.line,timestamp:z.timestamp}]}));break;case"dev_server_status":o(L=>({...L,devServerStatus:z.status,devServerUrl:z.url}));break;case"browser_screenshot":o(L=>{const W=new Map(L.browserScreenshots);return W.set(z.sessionName,{sessionName:z.sessionName,agentIndex:z.agentIndex,agentType:z.agentType,featureId:z.featureId,featureName:z.featureName,imageDataUrl:`data:image/png;base64,${z.imageData}`,timestamp:z.timestamp}),{...L,browserScreenshots:W}});break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},O.onclose=E=>{if(o(W=>({...W,isConnected:!1})),u.current=null,E.code>=4e3&&E.code<=4999)return;const L=Math.min(1e3*Math.pow(2,g.current),3e4);g.current++,m.current=window.setTimeout(()=>{x()},L)},O.onerror=()=>{O.close()}}catch{}},[s]),p=f.useCallback(()=>{u.current?.readyState===WebSocket.OPEN&&u.current.send(JSON.stringify({type:"ping"}))},[]),y=f.useCallback(()=>{o(k=>{const[N,...M]=k.celebrationQueue;return{...k,celebration:N||null,celebrationQueue:M}})},[]);f.useEffect(()=>{if(o({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null,browserScreenshots:new Map,browserViewSubscribed:!1}),!s){u.current&&(u.current.close(),u.current=null);return}x();const k=setInterval(p,3e4);return()=>{clearInterval(k),m.current&&clearTimeout(m.current),u.current&&(u.current.close(),u.current=null)}},[s,x,p]),f.useEffect(()=>{const N=setInterval(()=>{o(M=>{const O=Date.now(),E=M.activeAgents.filter(z=>O-new Date(z.timestamp).getTime()<18e5);return E.length!==M.activeAgents.length?{...M,activeAgents:E}:M})},6e4);return()=>clearInterval(N)},[]);const b=f.useCallback(()=>{o(k=>({...k,logs:[]}))},[]),T=f.useCallback(()=>{o(k=>({...k,devLogs:[]}))},[]),w=f.useCallback(k=>c.agentLogs.get(k)||[],[c.agentLogs]),_=f.useCallback(k=>{o(N=>{const M=new Map(N.agentLogs);return M.delete(k),{...N,agentLogs:M}})},[]),S=f.useCallback(()=>{u.current?.readyState===WebSocket.OPEN&&(u.current.send(JSON.stringify({type:"browser_view_subscribe"})),o(k=>({...k,browserViewSubscribed:!0})))},[]),D=f.useCallback(()=>{u.current?.readyState===WebSocket.OPEN&&(u.current.send(JSON.stringify({type:"browser_view_unsubscribe"})),o(k=>({...k,browserViewSubscribed:!1})))},[]);return{...c,clearLogs:b,clearDevLogs:T,clearCelebration:y,getAgentLogs:w,clearAgentLogs:_,subscribeBrowserView:S,unsubscribeBrowserView:D}}const kv={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function sh(s){try{const c=new(window.AudioContext||window.webkitAudioContext),o=kv[s],u=s==="completed"?.15:.12,m=o.length*u;o.forEach((g,x)=>{const p=c.createOscillator(),y=c.createGain();p.connect(y),y.connect(c.destination),p.type="sine",p.frequency.setValueAtTime(g,c.currentTime);const b=c.currentTime+x*u;y.gain.setValueAtTime(0,b),y.gain.linearRampToValueAtTime(.3,b+.02),y.gain.exponentialRampToValueAtTime(.01,b+u),p.start(b),p.stop(b+u)}),setTimeout(()=>{c.close()},m*1e3+100)}catch{}}function Mv(s){return{pendingIds:new Set(s?.pending.map(c=>c.id)??[]),inProgressIds:new Set(s?.in_progress.map(c=>c.id)??[]),doneIds:new Set(s?.done.map(c=>c.id)??[])}}function Ov(s){const c=f.useRef(null),o=f.useRef(!1);f.useEffect(()=>{if(!s)return;const u=Mv(s);if(!o.current){c.current=u,o.current=!0;return}const m=c.current;if(!m){c.current=u;return}for(const g of u.inProgressIds)if(m.pendingIds.has(g)&&!m.inProgressIds.has(g)){sh("started");break}for(const g of u.doneIds)if(!m.doneIds.has(g)&&(m.inProgressIds.has(g)||m.pendingIds.has(g))){sh("completed");break}c.current=u},[s])}function Rv(){try{const s=new(window.AudioContext||window.webkitAudioContext),c=[{freq:523.25,start:0},{freq:659.25,start:.15},{freq:783.99,start:.3},{freq:1046.5,start:.45}],o=.25;c.forEach(({freq:x,start:p})=>{const y=s.createOscillator(),b=s.createGain();y.connect(b),b.connect(s.destination),y.type="sine",y.frequency.setValueAtTime(x,s.currentTime+p);const T=s.currentTime+p;b.gain.setValueAtTime(0,T),b.gain.linearRampToValueAtTime(.4,T+.03),b.gain.setValueAtTime(.4,T+o*.6),b.gain.exponentialRampToValueAtTime(.01,T+o),y.start(T),y.stop(T+o)});const u=[523.25,659.25,783.99,1046.5],m=.65,g=.5;u.forEach(x=>{const p=s.createOscillator(),y=s.createGain();p.connect(y),y.connect(s.destination),p.type="sine",p.frequency.setValueAtTime(x,s.currentTime+m);const b=s.currentTime+m;y.gain.setValueAtTime(0,b),y.gain.linearRampToValueAtTime(.2,b+.05),y.gain.setValueAtTime(.2,b+g*.5),y.gain.exponentialRampToValueAtTime(.01,b+g),p.start(b),p.stop(b+g)}),setTimeout(()=>{s.close()},1500)}catch{}}function Uv(){const c=Date.now()+2e3;Yi({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Yi({particleCount:100,spread:70,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]});const o=setInterval(()=>{if(Date.now()>c){clearInterval(o);return}Yi({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Yi({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function Bv(s){return s?s.pending.length===0&&s.in_progress.length===0&&(s.needs_human_input?.length||0)===0&&s.done.length>0:!1}function qv(s,c){const o=f.useRef(new Set),u=f.useRef(null);f.useEffect(()=>{if(!s||!c)return;const m=Bv(s);if(u.current!==c){u.current=c,m&&o.current.add(c);return}m&&!o.current.has(c)&&(o.current.add(c),Uv(),Rv())},[s,c])}const Wi=[{id:"twitter",name:"Twitter",description:"Clean and modern blue design",previewColors:{primary:"#4a9eff",background:"#ffffff",accent:"#e8f4ff"}},{id:"claude",name:"Claude",description:"Warm beige tones with orange accents",previewColors:{primary:"#c75b2a",background:"#faf6f0",accent:"#f5ede4"}},{id:"neo-brutalism",name:"Neo Brutalism",description:"Bold colors with hard shadows",previewColors:{primary:"#ff4d00",background:"#ffffff",accent:"#ffeb00"}},{id:"retro-arcade",name:"Retro Arcade",description:"Vibrant pink and teal pixel vibes",previewColors:{primary:"#e8457c",background:"#f0e6d3",accent:"#4eb8a5"}},{id:"aurora",name:"Aurora",description:"Deep violet and teal, like northern lights",previewColors:{primary:"#8b5cf6",background:"#faf8ff",accent:"#2dd4bf"}},{id:"business",name:"Business",description:"Deep navy (#000e4e) and gray monochrome",previewColors:{primary:"#000e4e",background:"#eaecef",accent:"#6b7280"}}],ih="autoforge-theme",rh="autoforge-dark-mode";function Lv(s){switch(s){case"twitter":return"";case"claude":return"theme-claude";case"neo-brutalism":return"theme-neo-brutalism";case"retro-arcade":return"theme-retro-arcade";case"aurora":return"theme-aurora";case"business":return"theme-business";default:return""}}function ex(){const[s,c]=f.useState(()=>{try{const p=localStorage.getItem(ih);if(p==="twitter"||p==="claude"||p==="neo-brutalism"||p==="retro-arcade"||p==="aurora"||p==="business")return p}catch{}return"twitter"}),[o,u]=f.useState(()=>{try{return localStorage.getItem(rh)==="true"}catch{return!1}});f.useEffect(()=>{const p=document.documentElement;p.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const y=Lv(s);y&&p.classList.add(y),o?p.classList.add("dark"):p.classList.remove("dark");try{localStorage.setItem(ih,s),localStorage.setItem(rh,String(o))}catch{}},[s,o]);const m=f.useCallback(p=>{c(p)},[]),g=f.useCallback(p=>{u(p)},[]),x=f.useCallback(()=>{u(p=>!p)},[]);return{theme:s,setTheme:m,darkMode:o,setDarkMode:g,toggleDarkMode:x,themes:Wi,currentTheme:Wi.find(p=>p.id===s)??Wi[0]}}var Hv=Symbol("radix.slottable");function Gv(s){const c=({children:o})=>n.jsx(n.Fragment,{children:o});return c.displayName=`${s}.Slottable`,c.__radixId=Hv,c}var Qv=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Yv="VisuallyHidden",tx=f.forwardRef((s,c)=>n.jsx(_h.span,{...s,ref:c,style:{...Qv,...s.style}}));tx.displayName=Yv;var Vv=tx,[ur]=ey("Tooltip",[Oh]),or=Oh(),ax="TooltipProvider",Xv=700,Du="tooltip.open",[Kv,Lu]=ur(ax),nx=s=>{const{__scopeTooltip:c,delayDuration:o=Xv,skipDelayDuration:u=300,disableHoverableContent:m=!1,children:g}=s,x=f.useRef(!0),p=f.useRef(!1),y=f.useRef(0);return f.useEffect(()=>{const b=y.current;return()=>window.clearTimeout(b)},[]),n.jsx(Kv,{scope:c,isOpenDelayedRef:x,delayDuration:o,onOpen:f.useCallback(()=>{window.clearTimeout(y.current),x.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>x.current=!0,u)},[u]),isPointerInTransitRef:p,onPointerInTransitChange:f.useCallback(b=>{p.current=b},[]),disableHoverableContent:m,children:g})};nx.displayName=ax;var js="Tooltip",[Fv,Ss]=ur(js),lx=s=>{const{__scopeTooltip:c,children:o,open:u,defaultOpen:m,onOpenChange:g,disableHoverableContent:x,delayDuration:p}=s,y=Lu(js,s.__scopeTooltip),b=or(c),[T,w]=f.useState(null),_=Zp(),S=f.useRef(0),D=x??y.disableHoverableContent,k=p??y.delayDuration,N=f.useRef(!1),[M,O]=$p({prop:u,defaultProp:m??!1,onChange:K=>{K?(y.onOpen(),document.dispatchEvent(new CustomEvent(Du))):y.onClose(),g?.(K)},caller:js}),E=f.useMemo(()=>M?N.current?"delayed-open":"instant-open":"closed",[M]),z=f.useCallback(()=>{window.clearTimeout(S.current),S.current=0,N.current=!1,O(!0)},[O]),L=f.useCallback(()=>{window.clearTimeout(S.current),S.current=0,O(!1)},[O]),W=f.useCallback(()=>{window.clearTimeout(S.current),S.current=window.setTimeout(()=>{N.current=!0,O(!0),S.current=0},k)},[k,O]);return f.useEffect(()=>()=>{S.current&&(window.clearTimeout(S.current),S.current=0)},[]),n.jsx(Jp,{...b,children:n.jsx(Fv,{scope:c,contentId:_,open:M,stateAttribute:E,trigger:T,onTriggerChange:w,onTriggerEnter:f.useCallback(()=>{y.isOpenDelayedRef.current?W():z()},[y.isOpenDelayedRef,W,z]),onTriggerLeave:f.useCallback(()=>{D?L():(window.clearTimeout(S.current),S.current=0)},[L,D]),onOpen:z,onClose:L,disableHoverableContent:D,children:o})})};lx.displayName=js;var _u="TooltipTrigger",sx=f.forwardRef((s,c)=>{const{__scopeTooltip:o,...u}=s,m=Ss(_u,o),g=Lu(_u,o),x=or(o),p=f.useRef(null),y=kh(c,p,m.onTriggerChange),b=f.useRef(!1),T=f.useRef(!1),w=f.useCallback(()=>b.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",w),[w]),n.jsx(Wp,{asChild:!0,...x,children:n.jsx(_h.button,{"aria-describedby":m.open?m.contentId:void 0,"data-state":m.stateAttribute,...u,ref:y,onPointerMove:ml(s.onPointerMove,_=>{_.pointerType!=="touch"&&!T.current&&!g.isPointerInTransitRef.current&&(m.onTriggerEnter(),T.current=!0)}),onPointerLeave:ml(s.onPointerLeave,()=>{m.onTriggerLeave(),T.current=!1}),onPointerDown:ml(s.onPointerDown,()=>{m.open&&m.onClose(),b.current=!0,document.addEventListener("pointerup",w,{once:!0})}),onFocus:ml(s.onFocus,()=>{b.current||m.onOpen()}),onBlur:ml(s.onBlur,m.onClose),onClick:ml(s.onClick,m.onClose)})})});sx.displayName=_u;var Hu="TooltipPortal",[Zv,$v]=ur(Hu,{forceMount:void 0}),ix=s=>{const{__scopeTooltip:c,forceMount:o,children:u,container:m}=s,g=Ss(Hu,c);return n.jsx(Zv,{scope:c,forceMount:o,children:n.jsx(Mh,{present:o||g.open,children:n.jsx(Ip,{asChild:!0,container:m,children:u})})})};ix.displayName=Hu;var Sl="TooltipContent",rx=f.forwardRef((s,c)=>{const o=$v(Sl,s.__scopeTooltip),{forceMount:u=o.forceMount,side:m="top",...g}=s,x=Ss(Sl,s.__scopeTooltip);return n.jsx(Mh,{present:u||x.open,children:x.disableHoverableContent?n.jsx(cx,{side:m,...g,ref:c}):n.jsx(Jv,{side:m,...g,ref:c})})}),Jv=f.forwardRef((s,c)=>{const o=Ss(Sl,s.__scopeTooltip),u=Lu(Sl,s.__scopeTooltip),m=f.useRef(null),g=kh(c,m),[x,p]=f.useState(null),{trigger:y,onClose:b}=o,T=m.current,{onPointerInTransitChange:w}=u,_=f.useCallback(()=>{p(null),w(!1)},[w]),S=f.useCallback((D,k)=>{const N=D.currentTarget,M={x:D.clientX,y:D.clientY},O=eb(M,N.getBoundingClientRect()),E=tb(M,O),z=ab(k.getBoundingClientRect()),L=lb([...E,...z]);p(L),w(!0)},[w]);return f.useEffect(()=>()=>_(),[_]),f.useEffect(()=>{if(y&&T){const D=N=>S(N,T),k=N=>S(N,y);return y.addEventListener("pointerleave",D),T.addEventListener("pointerleave",k),()=>{y.removeEventListener("pointerleave",D),T.removeEventListener("pointerleave",k)}}},[y,T,S,_]),f.useEffect(()=>{if(x){const D=k=>{const N=k.target,M={x:k.clientX,y:k.clientY},O=y?.contains(N)||T?.contains(N),E=!nb(M,x);O?_():E&&(_(),b())};return document.addEventListener("pointermove",D),()=>document.removeEventListener("pointermove",D)}},[y,T,x,b,_]),n.jsx(cx,{...s,ref:g})}),[Wv,Iv]=ur(js,{isInside:!1}),Pv=Gv("TooltipContent"),cx=f.forwardRef((s,c)=>{const{__scopeTooltip:o,children:u,"aria-label":m,onEscapeKeyDown:g,onPointerDownOutside:x,...p}=s,y=Ss(Sl,o),b=or(o),{onClose:T}=y;return f.useEffect(()=>(document.addEventListener(Du,T),()=>document.removeEventListener(Du,T)),[T]),f.useEffect(()=>{if(y.trigger){const w=_=>{_.target?.contains(y.trigger)&&T()};return window.addEventListener("scroll",w,{capture:!0}),()=>window.removeEventListener("scroll",w,{capture:!0})}},[y.trigger,T]),n.jsx(ty,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:g,onPointerDownOutside:x,onFocusOutside:w=>w.preventDefault(),onDismiss:T,children:n.jsxs(ay,{"data-state":y.stateAttribute,...b,...p,ref:c,style:{...p.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(Pv,{children:u}),n.jsx(Wv,{scope:o,isInside:!0,children:n.jsx(Vv,{id:y.contentId,role:"tooltip",children:m||u})})]})})});rx.displayName=Sl;var ux="TooltipArrow",ox=f.forwardRef((s,c)=>{const{__scopeTooltip:o,...u}=s,m=or(o);return Iv(ux,o).isInside?null:n.jsx(Pp,{...m,...u,ref:c})});ox.displayName=ux;function eb(s,c){const o=Math.abs(c.top-s.y),u=Math.abs(c.bottom-s.y),m=Math.abs(c.right-s.x),g=Math.abs(c.left-s.x);switch(Math.min(o,u,m,g)){case g:return"left";case m:return"right";case o:return"top";case u:return"bottom";default:throw new Error("unreachable")}}function tb(s,c,o=5){const u=[];switch(c){case"top":u.push({x:s.x-o,y:s.y+o},{x:s.x+o,y:s.y+o});break;case"bottom":u.push({x:s.x-o,y:s.y-o},{x:s.x+o,y:s.y-o});break;case"left":u.push({x:s.x+o,y:s.y-o},{x:s.x+o,y:s.y+o});break;case"right":u.push({x:s.x-o,y:s.y-o},{x:s.x-o,y:s.y+o});break}return u}function ab(s){const{top:c,right:o,bottom:u,left:m}=s;return[{x:m,y:c},{x:o,y:c},{x:o,y:u},{x:m,y:u}]}function nb(s,c){const{x:o,y:u}=s;let m=!1;for(let g=0,x=c.length-1;g<c.length;x=g++){const p=c[g],y=c[x],b=p.x,T=p.y,w=y.x,_=y.y;T>u!=_>u&&o<(w-b)*(u-T)/(_-T)+b&&(m=!m)}return m}function lb(s){const c=s.slice();return c.sort((o,u)=>o.x<u.x?-1:o.x>u.x?1:o.y<u.y?-1:o.y>u.y?1:0),sb(c)}function sb(s){if(s.length<=1)return s.slice();const c=[];for(let u=0;u<s.length;u++){const m=s[u];for(;c.length>=2;){const g=c[c.length-1],x=c[c.length-2];if((g.x-x.x)*(m.y-x.y)>=(g.y-x.y)*(m.x-x.x))c.pop();else break}c.push(m)}c.pop();const o=[];for(let u=s.length-1;u>=0;u--){const m=s[u];for(;o.length>=2;){const g=o[o.length-1],x=o[o.length-2];if((g.x-x.x)*(m.y-x.y)>=(g.y-x.y)*(m.x-x.x))o.pop();else break}o.push(m)}return o.pop(),c.length===1&&o.length===1&&c[0].x===o[0].x&&c[0].y===o[0].y?c:c.concat(o)}var ib=nx,rb=lx,cb=sx,ub=ix,ob=rx,db=ox;function ge(...s){return jy(Ny(s))}function fb({delayDuration:s=250,...c}){return n.jsx(ib,{"data-slot":"tooltip-provider",delayDuration:s,...c})}function Gu({...s}){return n.jsx(rb,{"data-slot":"tooltip",...s})}function Qu({...s}){return n.jsx(cb,{"data-slot":"tooltip-trigger",...s})}function Yu({className:s,side:c="bottom",align:o="center",sideOffset:u=8,children:m,...g}){return n.jsx(ub,{children:n.jsxs(ob,{"data-slot":"tooltip-content",side:c,align:o,sideOffset:u,className:ge("z-50 overflow-hidden rounded-md border bg-neutral-900 px-3 py-2 text-sm text-white shadow-md leading-tight min-h-7","data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...g,children:[m,n.jsx(db,{"data-slot":"tooltip-arrow",className:"fill-neutral-900"})]})})}const wn={selectedProject:"autoforge-selected-project",activeView:"autoforge-active-view",sidebarCollapsed:"autoforge-sidebar-collapsed"};function ch(s,c){try{return localStorage.getItem(s)??c}catch{return c}}function Vi(s,c){try{c===null?localStorage.removeItem(s):localStorage.setItem(s,c)}catch{}}const dx=f.createContext(null);function mb({children:s}){const[c,o]=f.useState(()=>ch(wn.selectedProject,"")||null),u=f.useCallback(Me=>{o(Me),Vi(wn.selectedProject,Me)},[]),[m,g]=f.useState(()=>{const Me=ch(wn.activeView,"dashboard");return["dashboard","kanban","graph","browsers","terminal","logs","assistant","settings"].includes(Me)?Me:"dashboard"}),x=f.useCallback(Me=>{g(Me),Vi(wn.activeView,Me)},[]),[p,y]=f.useState(()=>{try{return localStorage.getItem(wn.sidebarCollapsed)==="true"}catch{return!1}}),b=f.useCallback(Me=>{y(Me),Vi(wn.sidebarCollapsed,String(Me))},[]),T=f.useCallback(()=>{y(Me=>{const oe=!Me;return Vi(wn.sidebarCollapsed,String(oe)),oe})},[]),[w,_]=f.useState(!1),[S,D]=f.useState(!1),[k,N]=f.useState(null),[M,O]=f.useState(!1),[E,z]=f.useState(!1),[L,W]=f.useState(!1),[K,ae]=f.useState(!1),[Q,ne]=f.useState(!1),[I,H]=f.useState(!1),[P,Z]=f.useState(!0),[Y,v]=f.useState("idle"),[R,ee]=f.useState(null),te=Ge(),{data:ie,isLoading:Ne}=rv(),{data:$}=Wh(c),{data:he}=qu();gv(c);const ce=_v(c),{theme:fe,setTheme:Ve,darkMode:Mt,toggleDarkMode:bt,themes:jt,currentTheme:na}=ex(),Zt=ie?.find(Me=>Me.name===c),$t=Zt?.has_spec??!0,Nt=f.useMemo(()=>{if(ce.progress.total>0)return{passing:ce.progress.passing,total:ce.progress.total,percentage:ce.progress.percentage};const Me=($?.pending.length??0)+($?.in_progress.length??0)+($?.done.length??0)+($?.needs_human_input?.length??0),oe=$?.done.length??0,sa=Me>0?Math.round(oe/Me*100*10)/10:0;return{passing:oe,total:Me,percentage:sa}},[ce.progress,$]),{data:Ot}=dt({queryKey:["dependencyGraph",c],queryFn:()=>k0(c),enabled:!!c&&m==="graph",refetchInterval:5e3}),la=f.useCallback(Me=>{const sa=[...$?.pending??[],...$?.in_progress??[],...$?.done??[],...$?.needs_human_input??[]].find(zl=>zl.id===Me);sa&&N(sa)},[$]);Ov($),qv($,c),f.useEffect(()=>{c&&ie&&!ie.some(Me=>Me.name===c)&&u(null)},[c,ie,u]),f.useEffect(()=>{const Me=oe=>{if(!(oe.target instanceof HTMLInputElement||oe.target instanceof HTMLTextAreaElement)){if(oe.key==="h"||oe.key==="H"){oe.preventDefault(),x("dashboard");return}if(oe.key==="k"||oe.key==="K"){oe.preventDefault(),x("kanban");return}if(oe.key==="g"||oe.key==="G"){oe.preventDefault(),x("graph");return}if(oe.key==="b"||oe.key==="B"){oe.preventDefault(),x("browsers");return}if(oe.key==="t"||oe.key==="T"){oe.preventDefault(),x("terminal");return}if(oe.key==="d"||oe.key==="D"){oe.preventDefault(),x("logs");return}if((oe.key==="a"||oe.key==="A")&&c&&!Q){oe.preventDefault(),H(sa=>!sa);return}if(oe.key==="["){oe.preventDefault(),T();return}if((oe.key==="n"||oe.key==="N")&&c){oe.preventDefault(),_(!0);return}if((oe.key==="e"||oe.key==="E")&&c&&$t&&$&&$.pending.length+$.in_progress.length+$.done.length+($.needs_human_input?.length||0)>0){oe.preventDefault(),D(!0);return}if(oe.key===","){oe.preventDefault(),x("settings");return}if(oe.key==="?"){oe.preventDefault(),z(!0);return}if((oe.key==="r"||oe.key==="R")&&c&&!["running","pausing","paused_graceful"].includes(ce.agentStatus)){oe.preventDefault(),W(!0);return}oe.key==="Escape"&&(E?z(!1):L?W(!1):S?D(!1):M?O(!1):I?H(!1):w?_(!1):k&&N(null))}};return window.addEventListener("keydown",Me),()=>window.removeEventListener("keydown",Me)},[c,w,S,k,I,$,M,E,Q,L,ce.agentStatus,$t,x,T]);const wl=f.useMemo(()=>({selectedProject:c,setSelectedProject:u,activeView:m,setActiveView:x,sidebarCollapsed:p,setSidebarCollapsed:b,toggleSidebar:T,showAddFeature:w,setShowAddFeature:_,showExpandProject:S,setShowExpandProject:D,selectedFeature:k,setSelectedFeature:N,showSettings:M,setShowSettings:O,showKeyboardHelp:E,setShowKeyboardHelp:z,showResetModal:L,setShowResetModal:W,showSpecChat:K,setShowSpecChat:ae,isSpecCreating:Q,setIsSpecCreating:ne,assistantOpen:I,setAssistantOpen:H,setupComplete:P,setSetupComplete:Z,specInitializerStatus:Y,setSpecInitializerStatus:v,specInitializerError:R,setSpecInitializerError:ee,projects:ie,projectsLoading:Ne,features:$,settings:he,wsState:ce,theme:fe,setTheme:Ve,darkMode:Mt,toggleDarkMode:bt,themes:jt,currentTheme:na,queryClient:te,selectedProjectData:Zt,hasSpec:$t,progress:Nt,graphData:Ot,handleGraphNodeClick:la}),[c,u,m,x,p,b,T,w,S,k,M,E,L,K,Q,I,P,Y,R,ie,Ne,$,he,ce,fe,Ve,Mt,bt,jt,na,te,Zt,$t,Nt,Ot,la]);return n.jsx(dx.Provider,{value:wl,children:n.jsx(fb,{children:s})})}function Ft(){const s=f.useContext(dx);if(!s)throw new Error("useAppContext must be used within an <AppProvider>");return s}const hb=Ou("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function Ae({className:s,variant:c="default",asChild:o=!1,...u}){const m=o?Rh:"span";return n.jsx(m,{"data-slot":"badge","data-variant":c,className:ge(hb({variant:c}),s),...u})}function zn({icon:s,label:c,isActive:o,isCollapsed:u,onClick:m,badge:g,shortcutKey:x}){const p=n.jsxs("button",{onClick:m,"aria-label":c,className:ge("group relative flex items-center rounded-lg w-full","transition-all duration-200 ease-[cubic-bezier(0.4,0,0.2,1)]","outline-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",o&&["bg-sidebar-primary text-sidebar-primary-foreground","shadow-sm"],!o&&["text-sidebar-foreground/70","hover:bg-sidebar-accent hover:text-sidebar-accent-foreground","hover:shadow-sm","active:scale-[0.98]"],u?"h-11 w-11 justify-center mx-auto":"h-9 px-3 gap-3"),children:[o&&!u&&n.jsx("span",{className:"absolute left-0 top-1.5 bottom-1.5 w-[3px] rounded-r-full bg-sidebar-primary-foreground/40"}),n.jsx(s,{size:u?20:18,className:ge("shrink-0 transition-transform duration-200",o&&"scale-110",!o&&"group-hover:translate-x-0.5")}),!u&&n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"truncate text-sm font-medium flex-1 text-left",children:c}),g!==void 0&&n.jsx(Ae,{variant:"secondary",className:ge("text-[10px] px-1.5 py-0 h-5 min-w-5 tabular-nums","transition-opacity duration-200",o&&"bg-sidebar-primary-foreground/20 text-sidebar-primary-foreground"),children:g}),x&&g===void 0&&n.jsx("kbd",{className:ge("text-[10px] font-mono leading-none px-1 py-0.5 rounded","opacity-0 group-hover:opacity-100 transition-opacity duration-200",o?"text-sidebar-primary-foreground/50":"text-muted-foreground/60 bg-sidebar-accent/50"),children:x})]})]});return u?n.jsxs(Gu,{children:[n.jsx(Qu,{asChild:!0,children:p}),n.jsxs(Yu,{side:"right",sideOffset:8,className:"font-medium",children:[c,x&&n.jsx("kbd",{className:"ml-2 text-[10px] font-mono opacity-60",children:x})]})]}):p}function Tn(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function xb({projectName:s,onError:c}){const[o,u]=f.useState([]),[m,g]=f.useState(!1),[x,p]=f.useState(!1),[y,b]=f.useState("disconnected"),[T,w]=f.useState(null),[_,S]=f.useState(null),D=f.useRef(null),k=f.useRef(null),N=f.useRef(0),M=3,O=f.useRef(null),E=f.useRef(null),z=f.useRef(!1);f.useEffect(()=>{z.current=x},[x]),f.useEffect(()=>()=>{O.current&&clearInterval(O.current),E.current&&clearTimeout(E.current),D.current&&D.current.close()},[]),f.useEffect(()=>{if(x)return;const ne=setTimeout(()=>{const I=setInterval(async()=>{if(z.current){clearInterval(I);return}try{const H=await B0(s);H.exists&&H.status==="complete"&&(p(!0),g(!1),u(P=>{const Z=P[P.length-1];return Z?.role==="assistant"&&Z.isStreaming?[...P.slice(0,-1),{...Z,isStreaming:!1}]:P}),u(P=>[...P,{id:Tn(),role:"system",content:`Spec creation complete! Files written: ${H.files_written.join(", ")}${H.feature_count?` (${H.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(I))}catch{}},3e3);return()=>clearInterval(I)},3e3);return()=>clearTimeout(ne)},[s,x]);const L=f.useCallback(()=>{if(D.current?.readyState===WebSocket.OPEN)return;b("connecting");const ne=window.location.protocol==="https:"?"wss:":"ws:",I=window.location.host,H=`${ne}//${I}/api/spec/ws/${encodeURIComponent(s)}`,P=new WebSocket(H);D.current=P,P.onopen=()=>{b("connected"),N.current=0,O.current=window.setInterval(()=>{P.readyState===WebSocket.OPEN&&P.send(JSON.stringify({type:"ping"}))},3e4)},P.onclose=Z=>{if(b("disconnected"),O.current&&(clearInterval(O.current),O.current=null),!(Z.code>=4e3&&Z.code<=4999)&&N.current<M&&!z.current){N.current++;const v=Math.min(1e3*Math.pow(2,N.current),1e4);E.current=window.setTimeout(L,v)}},P.onerror=()=>{b("error"),c?.("WebSocket connection error")},P.onmessage=Z=>{try{const Y=JSON.parse(Z.data);switch(Y.type){case"text":{u(v=>{const R=v[v.length-1];return R?.role==="assistant"&&R.isStreaming?[...v.slice(0,-1),{...R,content:R.content+Y.content}]:(k.current=Tn(),[...v,{id:k.current,role:"assistant",content:Y.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{w(Y.questions),S(Y.tool_id||null),g(!1),u(v=>{const R=v[v.length-1];return R?.role==="assistant"&&R.isStreaming?[...v.slice(0,-1),{...R,isStreaming:!1,questions:Y.questions}]:v});break}case"spec_complete":{p(!0),g(!1),u(v=>{const R=v[v.length-1];return R?.role==="assistant"&&R.isStreaming?[...v.slice(0,-1),{...R,isStreaming:!1}]:v}),u(v=>[...v,{id:Tn(),role:"system",content:`Specification file created: ${Y.path}`,timestamp:new Date}]);break}case"file_written":{u(v=>[...v,{id:Tn(),role:"system",content:`File created: ${Y.path}`,timestamp:new Date}]);break}case"complete":{p(!0),g(!1),u(v=>{const R=v[v.length-1];return R?.role==="assistant"&&R.isStreaming?[...v.slice(0,-1),{...R,isStreaming:!1}]:v});break}case"error":{g(!1),c?.(Y.content),u(v=>[...v,{id:Tn(),role:"system",content:`Error: ${Y.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{g(!1),u(v=>{const R=v[v.length-1];return R?.role==="assistant"&&R.isStreaming?[...v.slice(0,-1),{...R,isStreaming:!1}]:v});break}}}catch(Y){console.error("Failed to parse WebSocket message:",Y)}}},[s,c]),W=f.useCallback(()=>{L();const ne=()=>{D.current?.readyState===WebSocket.OPEN?(g(!0),D.current.send(JSON.stringify({type:"start"}))):D.current?.readyState===WebSocket.CONNECTING&&setTimeout(ne,100)};setTimeout(ne,100)},[L]),K=f.useCallback((ne,I)=>{if(!D.current||D.current.readyState!==WebSocket.OPEN){c?.("Not connected");return}u(P=>[...P,{id:Tn(),role:"user",content:ne,attachments:I,timestamp:new Date}]),w(null),S(null),g(!0);const H={type:"message",content:ne};I&&I.length>0&&(H.attachments=I.map(P=>({filename:P.filename,mimeType:P.mimeType,base64Data:P.base64Data}))),D.current.send(JSON.stringify(H))},[c]),ae=f.useCallback(ne=>{if(!D.current||D.current.readyState!==WebSocket.OPEN){c?.("Not connected");return}const I=Object.values(ne).map(H=>Array.isArray(H)?H.join(", "):H).join("; ");u(H=>[...H,{id:Tn(),role:"user",content:I,timestamp:new Date}]),w(null),S(null),g(!0),D.current.send(JSON.stringify({type:"answer",answers:ne,tool_id:_}))},[_,c]),Q=f.useCallback(()=>{N.current=M,O.current&&(clearInterval(O.current),O.current=null),D.current&&(D.current.close(),D.current=null),b("disconnected")},[]);return{messages:o,isLoading:m,isComplete:x,connectionStatus:y,currentQuestions:T,currentToolId:_,start:W,sendMessage:K,sendAnswer:ae,disconnect:Q}}const xl=["Spark","Fizz","Octo","Hoot","Buzz","Pixel","Byte","Nova","Chip","Bolt","Dash","Zap","Gizmo","Turbo","Blip","Neon","Widget","Zippy","Quirk","Flux"],dr=["image/jpeg","image/png"],gb=["text/plain","text/markdown","text/csv","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/pdf","application/vnd.openxmlformats-officedocument.presentationml.presentation"],lr=[...dr,...gb];function Vu(s){return dr.includes(s.mimeType)}function sr(s){const c=s.split(".").pop()?.toLowerCase();return{md:"text/markdown",txt:"text/plain",csv:"text/csv",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",pdf:"application/pdf",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png"}[c||""]||"application/octet-stream"}function Ee({className:s,...c}){return n.jsx("div",{"data-slot":"card",className:ge("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",s),...c})}function En({className:s,...c}){return n.jsx("div",{"data-slot":"card-header",className:ge("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",s),...c})}function yl({className:s,...c}){return n.jsx("div",{"data-slot":"card-title",className:ge("leading-none font-semibold",s),...c})}function pb({className:s,...c}){return n.jsx("div",{"data-slot":"card-description",className:ge("text-muted-foreground text-sm",s),...c})}function ke({className:s,...c}){return n.jsx("div",{"data-slot":"card-content",className:ge("px-6",s),...c})}const yb=[a0],vb={a:({children:s,href:c,...o})=>n.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",...o,children:s})},Xu=f.memo(function({message:c}){const{role:o,content:u,attachments:m,timestamp:g,isStreaming:x}=c,p=g.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),b={user:{icon:Cy,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:Ns,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:Sy,bgColor:"bg-green-100 dark:bg-green-900/30",textColor:"text-green-900 dark:text-green-100",align:"justify-center",bubbleAlign:"items-center",iconBg:"bg-green-500",iconColor:"text-white"}}[o],T=b.icon;return o==="system"?n.jsx("div",{className:`flex ${b.align} px-4 py-2`,children:n.jsx("div",{className:`${b.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${b.textColor}`,children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(T,{size:14}),u]})})}):n.jsx("div",{className:`flex ${b.align} px-4 py-2`,children:n.jsxs("div",{className:`flex flex-col ${b.bubbleAlign} max-w-[80%] gap-1`,children:[n.jsxs("div",{className:"flex items-start gap-2",children:[o==="assistant"&&n.jsx("div",{className:`${b.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:b.iconColor})}),n.jsxs(Ee,{className:`${b.bgColor} px-4 py-3 border ${x?"animate-pulse":""}`,children:[u&&n.jsx("div",{className:`text-sm leading-relaxed ${b.textColor} chat-prose${o==="user"?" chat-prose-user":""}`,children:n.jsx(t0,{remarkPlugins:yb,components:vb,children:u})}),m&&m.length>0&&n.jsx("div",{className:`flex flex-wrap gap-2 ${u?"mt-3":""}`,children:m.map(w=>n.jsx("div",{className:"border border-border rounded p-1 bg-card",children:Vu(w)?n.jsxs(n.Fragment,{children:[n.jsx("img",{src:w.previewUrl,alt:w.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(w.previewUrl,"_blank"),title:`${w.filename} (click to enlarge)`}),n.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:w.filename})]}):n.jsxs("div",{className:"flex items-center gap-2 px-2 py-1",children:[n.jsx(Ii,{size:16,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:w.filename}),n.jsxs("span",{className:"text-xs text-muted-foreground/60",children:["(",(w.size/1024).toFixed(0)," KB)"]})]})},w.id))}),x&&n.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),o==="user"&&n.jsx("div",{className:`${b.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:b.iconColor})})]}),n.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:p})]})})}),bb=Ou("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function J({className:s,variant:c="default",size:o="default",asChild:u=!1,...m}){const g=u?Rh:"button";return n.jsx(g,{"data-slot":"button","data-variant":c,"data-size":o,className:ge(bb({variant:c,size:o,className:s})),...m})}function tt({className:s,type:c,...o}){return n.jsx("input",{type:c,"data-slot":"input",className:ge("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",s),...o})}function fx({questions:s,onSubmit:c,disabled:o=!1}){const[u,m]=f.useState({}),[g,x]=f.useState({}),[p,y]=f.useState({}),b=(k,N,M)=>{const O=String(k);if(N==="Other"){y(E=>({...E,[O]:!0}));return}y(E=>({...E,[O]:!1})),m(E=>{if(M){const z=E[O]||[];return z.includes(N)?{...E,[O]:z.filter(L=>L!==N)}:{...E,[O]:[...z,N]}}else return{...E,[O]:N}})},T=(k,N)=>{const M=String(k);x(O=>({...O,[M]:N})),m(O=>({...O,[M]:N}))},w=()=>{const k={};s.forEach((N,M)=>{const O=String(M);p[O]&&g[O]?k[O]=g[O]:u[O]&&(k[O]=u[O])}),c(k)},_=(k,N,M)=>{const O=String(k),E=u[O];return M?Array.isArray(E)&&E.includes(N):E===N},S=k=>{const N=String(k);return!!(u[N]||p[N]&&g[N])},D=s.every((k,N)=>S(N));return n.jsxs("div",{className:"space-y-6 p-4",children:[s.map((k,N)=>n.jsx(Ee,{children:n.jsxs(ke,{className:"p-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx(Ae,{children:k.header}),n.jsx("span",{className:"font-bold text-foreground",children:k.question}),k.multiSelect&&n.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[k.options.map((M,O)=>{const E=_(N,M.label,k.multiSelect);return n.jsx("button",{onClick:()=>b(N,M.label,k.multiSelect),disabled:o,className:`
10
+ text-left p-4 rounded-lg border-2 transition-all duration-150
11
+ ${E?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
12
+ disabled:opacity-50 disabled:cursor-not-allowed
13
+ `,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("div",{className:`
14
+ w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
15
+ ${k.multiSelect?"rounded":"rounded-full"}
16
+ ${E?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
17
+ `,children:E&&n.jsx(Da,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:M.label}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:M.description})]})]})},O)}),n.jsx("button",{onClick:()=>b(N,"Other",k.multiSelect),disabled:o,className:`
18
+ text-left p-4 rounded-lg border-2 transition-all duration-150
19
+ ${p[String(N)]?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
20
+ disabled:opacity-50 disabled:cursor-not-allowed
21
+ `,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("div",{className:`
22
+ w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
23
+ ${k.multiSelect?"rounded":"rounded-full"}
24
+ ${p[String(N)]?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
25
+ `,children:p[String(N)]&&n.jsx(Da,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:"Other"}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),p[String(N)]&&n.jsx("div",{className:"mt-4",children:n.jsx(tt,{type:"text",value:g[String(N)]||"",onChange:M=>T(N,M.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:o})})]})},N)),n.jsx("div",{className:"flex justify-end",children:n.jsx(J,{onClick:w,disabled:o||!D,children:"Continue"})})]})}function mx(){return n.jsxs("div",{className:"flex items-center gap-2 p-4",children:[n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function Cs(s,c=!0){return!(s.key!=="Enter"||c&&s.shiftKey||s.nativeEvent.isComposing)}function ws({className:s,...c}){return n.jsx("textarea",{"data-slot":"textarea",className:ge("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",s),...c})}const jb=Ou("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function at({className:s,variant:c,...o}){return n.jsx("div",{"data-slot":"alert",role:"alert",className:ge(jb({variant:c}),s),...o})}function Nb({className:s,...c}){return n.jsx("div",{"data-slot":"alert-title",className:ge("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",s),...c})}function nt({className:s,...c}){return n.jsx("div",{"data-slot":"alert-description",className:ge("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",s),...c})}const Sb=5*1024*1024,Cb=20*1024*1024,wb=["md","txt","csv","docx","xlsx","pdf","pptx","jpg","jpeg","png"],zb=`Let's call it Simple Todo. This is a really simple web app that I can use to track my to-do items using a Kanban board. I should be able to add to-dos and then drag and drop them through the Kanban board. The different columns in the Kanban board are:
26
+
27
+ - To Do
28
+ - In Progress
29
+ - Done
30
+
31
+ The app should use a neobrutalism design.
32
+
33
+ There is no need for user authentication either. All the to-dos will be stored in local storage, so each user has access to all of their to-dos when they open their browser. So do not worry about implementing a backend with user authentication or a database. Simply store everything in local storage. As for the design, please try to avoid AI slop, so use your front-end design skills to design something beautiful and practical. As for the content of the to-dos, we should store:
34
+
35
+ - The name or the title at the very least
36
+ - Optionally, we can also set tags, due dates, and priorities which should be represented as beautiful little badges on the to-do card
37
+
38
+ Users should have the ability to easily clear out all the completed To-Dos. They should also be able to filter and search for To-Dos as well.
39
+
40
+ You choose the rest. Keep it simple. Should be 25 features.`;function hx({projectName:s,onComplete:c,onCancel:o,onExitToProject:u,initializerStatus:m="idle",initializerError:g=null,onRetryInitializer:x}){const[p,y]=f.useState(""),[b,T]=f.useState(null),[w,_]=f.useState(!1),[S,D]=f.useState([]),k=f.useRef(null),N=f.useRef(null),M=f.useRef(null),{messages:O,isLoading:E,isComplete:z,connectionStatus:L,currentQuestions:W,start:K,sendMessage:ae,sendAnswer:Q,disconnect:ne}=xb({projectName:s,onComplete:c,onError:te=>T(te)});f.useEffect(()=>(K(),()=>{ne()}),[]),f.useEffect(()=>{k.current?.scrollIntoView({behavior:"smooth"})},[O,W,E]),f.useEffect(()=>{!E&&!W&&N.current&&N.current.focus()},[E,W]);const I=()=>{const te=p.trim();if(!(!te&&S.length===0||E)){if(/^\s*\/exit\s*$/i.test(te)){y(""),u();return}ae(te,S.length>0?S:void 0),y(""),D([]),N.current&&(N.current.style.height="auto")}},H=te=>{Cs(te)&&(te.preventDefault(),I())},P=te=>{Q(te)},Z=f.useCallback(te=>{te&&Array.from(te).forEach(ie=>{let Ne=ie.type;if((!Ne||!lr.includes(Ne))&&(Ne=sr(ie.name)),!lr.includes(Ne)){const Ve=ie.name.split(".").pop()?.toLowerCase();if(!Ve||!wb.includes(Ve)){T(`Unsupported file type: ${ie.name}. Supported: images (JPEG, PNG) and documents (MD, TXT, CSV, DOCX, XLSX, PDF, PPTX).`);return}Ne=sr(ie.name)}const $=dr.includes(Ne),he=$?Sb:Cb,ce=$?"5 MB":"20 MB";if(ie.size>he){T(`File too large: ${ie.name}. Maximum size is ${ce}.`);return}const fe=new FileReader;fe.onload=Ve=>{const Mt=Ve.target?.result,bt=Mt.split(",")[1],jt={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:ie.name,mimeType:Ne,base64Data:bt,previewUrl:$?Mt:"",size:ie.size};D(na=>[...na,jt])},fe.readAsDataURL(ie)})},[]),Y=f.useCallback(te=>{D(ie=>ie.filter(Ne=>Ne.id!==te))},[]),v=f.useCallback(te=>{te.preventDefault(),Z(te.dataTransfer.files)},[Z]),R=f.useCallback(te=>{te.preventDefault()},[]),ee=()=>{switch(L){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(jl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(jl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(bl,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(bl,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",s]}),n.jsx(ee,{})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[z&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(Kt,{size:16}),"Complete"]}),n.jsxs(J,{onClick:()=>{y(zb),N.current&&(N.current.style.height="auto",N.current.style.height=`${Math.min(N.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[n.jsx(Ii,{size:16}),"Load Sample"]}),n.jsxs(J,{onClick:u,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[n.jsx(Ru,{size:16}),"Exit to Project"]}),n.jsx(J,{onClick:o,variant:"ghost",size:"icon",title:"Cancel",children:n.jsx(Ie,{size:20})})]})]}),b&&n.jsxs(at,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(oa,{size:16}),n.jsx(nt,{className:"flex-1",children:b}),n.jsx(J,{onClick:()=>T(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(Ie,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[O.length===0&&!E&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Ee,{className:"p-6 max-w-md",children:n.jsxs(ke,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),L==="error"&&n.jsxs(J,{onClick:K,className:"mt-4",size:"sm",children:[n.jsx(nn,{size:14}),"Retry Connection"]})]})})}),O.map(te=>n.jsx(Xu,{message:te},te.id)),W&&W.length>0&&n.jsx(fx,{questions:W,onSubmit:P,disabled:E}),E&&!W&&n.jsx(mx,{}),n.jsx("div",{ref:k})]}),!z&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:v,onDragOver:R,children:[S.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:S.map(te=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[Vu(te)?n.jsx("img",{src:te.previewUrl,alt:te.filename,className:"w-16 h-16 object-cover rounded"}):n.jsx("div",{className:"w-16 h-16 flex items-center justify-center bg-muted rounded",children:n.jsx(Ii,{size:24,className:"text-muted-foreground"})}),n.jsx("button",{onClick:()=>Y(te.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(Ie,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:te.filename.length>10?`${te.filename.substring(0,7)}...`:te.filename})]},te.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:M,type:"file",accept:"image/jpeg,image/png,.md,.txt,.csv,.docx,.xlsx,.pdf,.pptx",multiple:!0,onChange:te=>Z(te.target.files),className:"hidden"}),n.jsx(J,{onClick:()=>M.current?.click(),disabled:L!=="connected",variant:"ghost",size:"icon",title:"Attach files (images: JPEG/PNG up to 5MB, documents: MD, TXT, CSV, DOCX, XLSX, PDF, PPTX up to 20MB)",children:n.jsx(Pi,{size:18})}),n.jsx(ws,{ref:N,value:p,onChange:te=>{y(te.target.value),te.target.style.height="auto",te.target.style.height=`${Math.min(te.target.scrollHeight,200)}px`},onKeyDown:H,placeholder:W?"Or type a custom response...":S.length>0?"Add a message with your image(s)...":"Type your response... (or /exit to go to project)",className:"flex-1 resize-none min-h-[46px] max-h-[200px] overflow-y-auto",disabled:E&&!W||L!=="connected",rows:1}),n.jsx(J,{onClick:I,disabled:!p.trim()&&S.length===0||E&&!W||L!=="connected",className:"px-6",children:n.jsx(rr,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",n.jsx(Pi,{size:12,className:"inline"})," to attach files."]})]}),z&&n.jsx("div",{className:`p-4 border-t-2 border-border ${m==="error"?"bg-destructive":"bg-green-500"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{className:"flex items-center gap-2",children:m==="starting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:20,className:"animate-spin text-white"}),n.jsxs("span",{className:"font-bold text-white",children:["Starting agent",w?" (YOLO mode)":"","..."]})]}):m==="error"?n.jsxs(n.Fragment,{children:[n.jsx(oa,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:g||"Failed to start agent"})]}):n.jsxs(n.Fragment,{children:[n.jsx(Kt,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[m==="error"&&x&&n.jsxs(J,{onClick:x,variant:"secondary",children:[n.jsx(nn,{size:14}),"Retry"]}),m==="idle"&&n.jsxs(n.Fragment,{children:[n.jsxs(J,{onClick:()=>_(!w),variant:w?"default":"secondary",size:"sm",className:w?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[n.jsx(Bh,{size:16}),n.jsx("span",{className:w?"font-bold":"",children:"YOLO"})]}),n.jsxs(J,{onClick:()=>c("",w),children:["Continue to Project",n.jsx(qh,{size:16})]})]})]})]})})]})}function Tb({onSelect:s,onCancel:c,initialPath:o}){const[u,m]=f.useState(o),[g,x]=f.useState(null),[p,y]=f.useState(!1),[b,T]=f.useState(""),[w,_]=f.useState(null),{data:S,isLoading:D,error:k,refetch:N}=dt({queryKey:["filesystem","list",u],queryFn:()=>H0(u)});f.useEffect(()=>{S?.current_path&&x(S.current_path)},[S?.current_path]);const M=Q=>{m(Q),x(Q),y(!1),T(""),_(null)},O=()=>{S?.parent_path&&M(S.parent_path)},E=Q=>{M(`${Q.letter}:/`)},z=Q=>{Q.is_directory&&M(Q.path)},L=async()=>{if(!b.trim()){_("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(b)){_("Invalid folder name");return}const Q=`${S?.current_path}/${b.trim()}`;try{await G0(Q),await N(),M(Q)}catch(ne){_(ne instanceof Error?ne.message:"Failed to create folder")}},W=()=>{g&&s(g)},K=Q=>{if(!Q)return[];const ne=[];if(/^[A-Za-z]:/.test(Q)){const P=Q.slice(0,2);ne.push({name:P,path:`${P}/`}),Q=Q.slice(3)}else Q.startsWith("/")&&(ne.push({name:"/",path:"/"}),Q=Q.slice(1));const I=Q.split("/").filter(Boolean);let H=ne.length>0?ne[0].path:"";for(const P of I)H=H.endsWith("/")?H+P:H+"/"+P,ne.push({name:P,path:H});return ne},ae=S?.current_path?K(S.current_path):[];return n.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[n.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx($i,{size:20,className:"text-primary"}),n.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),n.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[S?.parent_path&&n.jsx(J,{variant:"ghost",size:"icon-sm",onClick:O,title:"Go up",children:n.jsx(Ji,{size:16})}),ae.map((Q,ne)=>n.jsxs("div",{className:"flex items-center",children:[ne>0&&n.jsx(Zm,{size:14,className:"text-muted-foreground mx-1"}),n.jsx(J,{variant:"ghost",size:"sm",onClick:()=>M(Q.path),className:ne===ae.length-1?"font-semibold":"",children:Q.name})]},Q.path))]})]}),S?.drives&&S.drives.length>0&&n.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),S.drives.map(Q=>n.jsxs(J,{variant:u?.startsWith(Q.letter)?"default":"outline",size:"sm",onClick:()=>E(Q),children:[n.jsx(wy,{size:14}),Q.letter,": ",Q.label&&`(${Q.label})`]},Q.letter))]})}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:n.jsxs("div",{className:"p-2",children:[D?n.jsx("div",{className:"flex items-center justify-center p-8",children:n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}):k?n.jsxs("div",{className:"p-4 text-center",children:[n.jsx(oa,{size:32,className:"mx-auto mb-2 text-destructive"}),n.jsx("p",{className:"text-destructive",children:k instanceof Error?k.message:"Failed to load directory"}),n.jsx(J,{variant:"outline",size:"sm",onClick:()=>N(),className:"mt-2",children:"Retry"})]}):n.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[S?.entries.filter(Q=>Q.is_directory).map(Q=>n.jsxs("button",{onClick:()=>z(Q),onDoubleClick:()=>M(Q.path),className:`
41
+ w-full text-left p-2 rounded-md
42
+ flex items-center gap-2
43
+ hover:bg-muted
44
+ border-2 border-transparent transition-colors
45
+ ${g===Q.path?"bg-primary/10 border-primary":""}
46
+ `,children:[g===Q.path?n.jsx(er,{size:18,className:"text-primary flex-shrink-0"}):n.jsx($i,{size:18,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"truncate flex-1",children:Q.name}),Q.has_children&&n.jsx(Zm,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},Q.path)),S?.entries.filter(Q=>Q.is_directory).length===0&&n.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[n.jsx($i,{size:32,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No subfolders"}),n.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),p&&n.jsx(Ee,{className:"mt-2",children:n.jsxs(ke,{className:"p-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx($m,{size:18,className:"text-primary"}),n.jsx(tt,{type:"text",value:b,onChange:Q=>T(Q.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:Q=>{Cs(Q,!1)&&L(),Q.key==="Escape"&&(y(!1),T(""),_(null))}}),n.jsx(J,{onClick:L,size:"sm",children:"Create"}),n.jsx(J,{variant:"ghost",size:"sm",onClick:()=>{y(!1),T(""),_(null)},children:"Cancel"})]}),w&&n.jsx("p",{className:"text-sm text-destructive mt-1",children:w})]})})]})}),n.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[n.jsx(Ee,{className:"mb-3",children:n.jsxs(ke,{className:"p-2",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),n.jsx("div",{className:"font-mono text-sm truncate",children:g||"No folder selected"}),g&&n.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs(J,{variant:"outline",onClick:()=>y(!0),disabled:p,children:[n.jsx($m,{size:16}),"New Folder"]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(J,{variant:"outline",onClick:c,children:"Cancel"}),n.jsx(J,{onClick:W,disabled:!g,children:"Select This Folder"})]})]})]})]})}function Pt({...s}){return n.jsx(ny,{"data-slot":"dialog",...s})}function Eb({...s}){return n.jsx(ry,{"data-slot":"dialog-portal",...s})}function Ab({className:s,...c}){return n.jsx(cy,{"data-slot":"dialog-overlay",className:ge("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",s),...c})}function ea({className:s,children:c,showCloseButton:o=!0,...u}){return n.jsxs(Eb,{"data-slot":"dialog-portal",children:[n.jsx(Ab,{}),n.jsxs(ly,{"data-slot":"dialog-content",className:ge("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] max-h-[calc(100vh-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none overflow-y-auto sm:max-w-lg",s),...u,children:[c,o&&n.jsxs(Uh,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[n.jsx(Ie,{}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function ta({className:s,...c}){return n.jsx("div",{"data-slot":"dialog-header",className:ge("flex flex-col gap-2 text-center sm:text-left",s),...c})}function Xt({className:s,showCloseButton:c=!1,children:o,...u}){return n.jsxs("div",{"data-slot":"dialog-footer",className:ge("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",s),...u,children:[o,c&&n.jsx(Uh,{asChild:!0,children:n.jsx(J,{variant:"outline",children:"Close"})})]})}function aa({className:s,...c}){return n.jsx(sy,{"data-slot":"dialog-title",className:ge("text-lg leading-none font-semibold",s),...c})}function vl({className:s,...c}){return n.jsx(iy,{"data-slot":"dialog-description",className:ge("text-muted-foreground text-sm",s),...c})}function Se({className:s,...c}){return n.jsx(uy,{"data-slot":"label",className:ge("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",s),...c})}function Db({isOpen:s,onClose:c,onProjectCreated:o,onStepChange:u}){const[m,g]=f.useState("name"),[x,p]=f.useState(""),[y,b]=f.useState(null),[T,w]=f.useState(null),[_,S]=f.useState(null),[D,k]=f.useState("idle"),[N,M]=f.useState(null),[O,E]=f.useState(!1),[z,L]=f.useState("idle"),[W,K]=f.useState([]),[ae,Q]=f.useState(null),ne=f.useRef(null),I=cv(),H=ce=>{g(ce),u?.(ce)};if(!s)return null;const P=ce=>{ce.preventDefault();const fe=x.trim();if(!fe){S("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(fe)){S("Project name can only contain letters, numbers, hyphens, and underscores");return}S(null),H("folder")},Z=ce=>{b(ce),H("template")},Y=()=>{H("name")},v=async ce=>{if(ce==="blank"){H("method");return}if(y){L("running"),K([]),Q(null);try{const fe=await fetch("/api/scaffold/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:"agentic-starter",target_path:y})});if(!fe.ok||!fe.body){L("error"),Q(`Server error: ${fe.status}`);return}const Ve=fe.body.getReader(),Mt=new TextDecoder;let bt="";for(;;){const{done:jt,value:na}=await Ve.read();if(jt)break;bt+=Mt.decode(na,{stream:!0});const Zt=bt.split(`
47
+ `);bt=Zt.pop()||"";for(const $t of Zt)if($t.startsWith("data: "))try{const Nt=JSON.parse($t.slice(6));Nt.type==="output"?(K(Ot=>{const la=[...Ot,Nt.line];return la.length>100?la.slice(-100):la}),setTimeout(()=>ne.current?.scrollTo(0,ne.current.scrollHeight),0)):Nt.type==="complete"?Nt.success?(L("success"),setTimeout(()=>H("method"),1200)):(L("error"),Q(`Scaffold exited with code ${Nt.exit_code}`)):Nt.type==="error"&&(L("error"),Q(Nt.message))}catch{}}}catch(fe){L("error"),Q(fe instanceof Error?fe.message:"Failed to run scaffold")}}},R=async ce=>{if(w(ce),!y){S("Please select a project folder first"),H("folder");return}if(ce==="manual")try{const fe=await I.mutateAsync({name:x.trim(),path:y,specMethod:"manual"});H("complete"),setTimeout(()=>{o(fe.name),$()},1500)}catch(fe){S(fe instanceof Error?fe.message:"Failed to create project")}else try{await I.mutateAsync({name:x.trim(),path:y,specMethod:"claude"}),H("chat")}catch(fe){S(fe instanceof Error?fe.message:"Failed to create project")}},ee=async(ce,fe=!1)=>{E(fe),k("starting");try{await Bu(x.trim(),{yoloMode:fe,maxConcurrency:3}),H("complete"),setTimeout(()=>{o(x.trim()),$()},1500)}catch(Ve){k("error"),M(Ve instanceof Error?Ve.message:"Failed to start agent")}},te=()=>{M(null),k("idle"),ee("",O)},ie=()=>{H("method"),w(null)},Ne=()=>{o(x.trim()),$()},$=()=>{H("name"),p(""),b(null),w(null),S(null),k("idle"),M(null),E(!1),L("idle"),K([]),Q(null),c()},he=()=>{m==="method"?(H("template"),w(null)):m==="template"?(H("folder"),L("idle"),K([]),Q(null)):m==="folder"&&(H("name"),b(null))};return m==="chat"?Mu.createPortal(n.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:n.jsx(hx,{projectName:x.trim(),onComplete:ee,onCancel:ie,onExitToProject:Ne,initializerStatus:D,initializerError:N,onRetryInitializer:te})}),document.body):m==="folder"?n.jsx(Pt,{open:!0,onOpenChange:ce=>!ce&&$(),children:n.jsxs(ea,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[n.jsx(ta,{className:"p-6 pb-4 border-b",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx($i,{size:24,className:"text-primary"}),n.jsxs("div",{children:[n.jsx(aa,{children:"Select Project Location"}),n.jsxs(vl,{children:["Select the folder to use for project ",n.jsx("span",{className:"font-semibold font-mono",children:x}),". Create a new folder or choose an existing one."]})]})]})}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(Tb,{onSelect:Z,onCancel:Y})})]})}):n.jsx(Pt,{open:!0,onOpenChange:ce=>!ce&&$(),children:n.jsxs(ea,{className:"sm:max-w-lg",children:[n.jsx(ta,{children:n.jsxs(aa,{children:[m==="name"&&"Create New Project",m==="template"&&"Choose Project Template",m==="method"&&"Choose Setup Method",m==="complete"&&"Project Created!"]})}),m==="name"&&n.jsxs("form",{onSubmit:P,className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{htmlFor:"project-name",children:"Project Name"}),n.jsx(tt,{id:"project-name",type:"text",value:x,onChange:ce=>p(ce.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),_&&n.jsx(at,{variant:"destructive",children:n.jsx(nt,{children:_})}),n.jsx(Xt,{children:n.jsxs(J,{type:"submit",disabled:!x.trim(),children:["Next",n.jsx(qh,{size:16})]})})]}),m==="template"&&n.jsxs("div",{className:"space-y-4",children:[z==="idle"&&n.jsxs(n.Fragment,{children:[n.jsx(vl,{children:"Start with a blank project or use a pre-configured template."}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Ee,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>v("blank"),children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(zy,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Blank Project"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Start from scratch. AutoForge will scaffold your app based on the spec you define."})]})]})})}),n.jsx(Ee,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>v("agentic-starter"),children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Bh,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Agentic Starter"}),n.jsx(Ae,{variant:"secondary",children:"Next.js"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Pre-configured Next.js app with BetterAuth, Drizzle ORM, Postgres, and AI capabilities."})]})]})})})]}),n.jsx(Xt,{className:"sm:justify-start",children:n.jsxs(J,{variant:"ghost",onClick:he,children:[n.jsx(Ji,{size:16}),"Back"]})})]}),z==="running"&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"font-medium",children:"Setting up Agentic Starter..."})]}),n.jsx("div",{ref:ne,className:"bg-muted rounded-lg p-3 max-h-60 overflow-y-auto font-mono text-xs leading-relaxed",children:W.map((ce,fe)=>n.jsx("div",{className:"whitespace-pre-wrap break-all",children:ce},fe))})]}),z==="success"&&n.jsxs("div",{className:"text-center py-6",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-12 h-12 bg-primary/10 rounded-full mb-3",children:n.jsx(Kt,{size:24,className:"text-primary"})}),n.jsx("p",{className:"font-medium",children:"Template ready!"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Proceeding to setup method..."})]}),z==="error"&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs(at,{variant:"destructive",children:[n.jsx(oa,{size:16}),n.jsx(nt,{children:ae||"An unknown error occurred"})]}),W.length>0&&n.jsx("div",{className:"bg-muted rounded-lg p-3 max-h-40 overflow-y-auto font-mono text-xs leading-relaxed",children:W.slice(-10).map((ce,fe)=>n.jsx("div",{className:"whitespace-pre-wrap break-all",children:ce},fe))}),n.jsxs(Xt,{className:"sm:justify-start gap-2",children:[n.jsxs(J,{variant:"ghost",onClick:he,children:[n.jsx(Ji,{size:16}),"Back"]}),n.jsxs(J,{variant:"outline",onClick:()=>v("agentic-starter"),children:[n.jsx(nn,{size:16}),"Retry"]})]})]})]}),m==="method"&&n.jsxs("div",{className:"space-y-4",children:[n.jsx(vl,{children:"How would you like to define your project?"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Ee,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!I.isPending&&R("claude"),children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Ns,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Create with Claude"}),n.jsx(Ae,{children:"Recommended"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),n.jsx(Ee,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!I.isPending&&R("manual"),children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(Eu,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),_&&n.jsx(at,{variant:"destructive",children:n.jsx(nt,{children:_})}),I.isPending&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Creating project..."})]}),n.jsx(Xt,{className:"sm:justify-start",children:n.jsxs(J,{variant:"ghost",onClick:he,disabled:I.isPending,children:[n.jsx(Ji,{size:16}),"Back"]})})]}),m==="complete"&&n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:n.jsx(Kt,{size:32,className:"text-primary"})}),n.jsx("h3",{className:"font-semibold text-xl mb-2",children:x}),n.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),n.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function xx({isOpen:s,title:c,message:o,confirmLabel:u="Confirm",cancelLabel:m="Cancel",variant:g="danger",isLoading:x=!1,onConfirm:p,onCancel:y}){return n.jsx(Pt,{open:s,onOpenChange:b=>!b&&y(),children:n.jsxs(ea,{className:"sm:max-w-md",children:[n.jsx(ta,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:`p-2 rounded-lg ${g==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:n.jsx(da,{size:20})}),n.jsx(aa,{children:c})]})}),n.jsx(vl,{asChild:!0,children:n.jsx("div",{className:"text-muted-foreground",children:o})}),n.jsxs(Xt,{className:"gap-2 sm:gap-0",children:[n.jsx(J,{variant:"outline",onClick:y,disabled:x,children:m}),n.jsx(J,{variant:g==="danger"?"destructive":"default",onClick:p,disabled:x,children:x?"Deleting...":u})]})]})})}function _b({...s}){return n.jsx(oy,{"data-slot":"dropdown-menu",...s})}function kb({...s}){return n.jsx(dy,{"data-slot":"dropdown-menu-trigger",...s})}function Mb({className:s,sideOffset:c=4,...o}){return n.jsx(fy,{children:n.jsx(my,{"data-slot":"dropdown-menu-content",sideOffset:c,className:ge("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...o})})}function uh({className:s,inset:c,variant:o="default",...u}){return n.jsx(hy,{"data-slot":"dropdown-menu-item","data-inset":c,"data-variant":o,className:ge("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",s),...u})}function Ob({className:s,...c}){return n.jsx(xy,{"data-slot":"dropdown-menu-separator",className:ge("bg-border -mx-1 my-1 h-px",s),...c})}function Rb({projects:s,selectedProject:c,onSelectProject:o,isLoading:u,onSpecCreatingChange:m}){const[g,x]=f.useState(!1),[p,y]=f.useState(!1),[b,T]=f.useState(null),w=uv(),_=M=>{o(M),x(!1)},S=(M,O)=>{M.stopPropagation(),M.preventDefault(),T(O)},D=async()=>{if(b)try{await w.mutateAsync(b),c===b&&o(null),T(null)}catch(M){console.error("Failed to delete project:",M),T(null)}},k=()=>{T(null)},N=s.find(M=>M.name===c);return n.jsxs("div",{className:"relative",children:[n.jsxs(_b,{open:g,onOpenChange:x,children:[n.jsx(kb,{asChild:!0,children:n.jsxs(J,{variant:"outline",className:"min-w-[140px] sm:min-w-[200px] justify-between",disabled:u,title:N?.path,children:[u?n.jsx(Ce,{size:18,className:"animate-spin"}):c?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"flex items-center gap-2 truncate",children:[n.jsx(er,{size:18,className:"shrink-0"}),n.jsx("span",{className:"truncate",children:c})]}),N&&N.stats.total>0&&n.jsxs(Ae,{className:"ml-2",children:[N.stats.percentage,"%"]})]}):n.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),n.jsx(tr,{size:18,className:`transition-transform ${g?"rotate-180":""}`})]})}),n.jsxs(Mb,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[s.length>0?n.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:s.map(M=>n.jsxs(uh,{title:M.path,className:`flex items-center justify-between cursor-pointer ${M.name===c?"bg-primary/10":""}`,onSelect:()=>{o(M.name)},children:[n.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[n.jsx(er,{size:16}),M.name,M.stats.total>0&&n.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[M.stats.passing,"/",M.stats.total]})]}),n.jsx(J,{variant:"ghost",size:"icon-xs",onClick:O=>S(O,M.name),className:"text-muted-foreground hover:text-destructive",children:n.jsx(sn,{size:14})})]},M.name))}):n.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),n.jsx(Ob,{className:"my-0"}),n.jsx("div",{className:"p-1",children:n.jsxs(uh,{onSelect:()=>{y(!0)},className:"cursor-pointer font-semibold",children:[n.jsx(ln,{size:16}),"New Project"]})})]})]}),n.jsx(Db,{isOpen:p,onClose:()=>y(!1),onProjectCreated:_,onStepChange:M=>m?.(M==="chat")}),n.jsx(xx,{isOpen:b!==null,title:"Delete Project",message:`Are you sure you want to remove "${b}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:w.isPending,onConfirm:D,onCancel:k})]})}function Ub(){const{activeView:s,setActiveView:c,sidebarCollapsed:o,toggleSidebar:u,selectedProject:m,projects:g,projectsLoading:x,setSelectedProject:p,darkMode:y,toggleDarkMode:b,wsState:T,setIsSpecCreating:w}=Ft(),_=T.browserScreenshots.size,S=T.logs.length;return n.jsxs("aside",{className:ge("h-screen flex flex-col shrink-0 z-30 overflow-hidden","bg-sidebar text-sidebar-foreground","border-r border-sidebar-border","transition-[width] duration-200 ease-[cubic-bezier(0.4,0,0.2,1)]",o?"w-[64px]":"w-[240px]"),children:[n.jsxs("div",{className:"flex-shrink-0 px-3 pt-4 pb-3",children:[n.jsxs("div",{className:ge("flex items-center",o?"justify-center":"gap-2.5"),children:[n.jsx("img",{src:"/logo.png",alt:"AutoForge",className:ge("rounded-full shrink-0 transition-all duration-200",o?"h-8 w-8":"h-7 w-7")}),n.jsx("div",{className:ge("overflow-hidden transition-all duration-200",o?"w-0 opacity-0":"w-auto opacity-100"),children:n.jsx("span",{className:"font-bold text-base tracking-tight uppercase whitespace-nowrap block",children:"AutoForge"})})]}),n.jsx("div",{className:ge("overflow-hidden transition-all duration-200",o?"max-h-0 opacity-0 mt-0":"max-h-20 opacity-100 mt-3"),children:n.jsx(Rb,{projects:g??[],selectedProject:m,onSelectProject:p,isLoading:x,onSpecCreatingChange:w})})]}),n.jsx("div",{className:"mx-3 h-px bg-sidebar-border"}),n.jsx("nav",{className:"flex-1 overflow-y-auto py-3 px-2 space-y-0.5",children:m?n.jsxs(n.Fragment,{children:[!o&&n.jsx("p",{className:"px-3 pb-1 text-[10px] font-semibold uppercase tracking-widest text-sidebar-foreground/40",children:"Views"}),n.jsx(zn,{icon:Ty,label:"Dashboard",isActive:s==="dashboard",isCollapsed:o,onClick:()=>c("dashboard"),shortcutKey:"H"}),n.jsx(zn,{icon:Ey,label:"Kanban",isActive:s==="kanban",isCollapsed:o,onClick:()=>c("kanban"),shortcutKey:"K"}),n.jsx(zn,{icon:Nl,label:"Graph",isActive:s==="graph",isCollapsed:o,onClick:()=>c("graph"),shortcutKey:"G"}),n.jsx(zn,{icon:Lh,label:"Browsers",isActive:s==="browsers",isCollapsed:o,onClick:()=>c("browsers"),shortcutKey:"B",badge:_>0?_:void 0}),n.jsx("div",{className:"my-2 mx-2 h-px bg-sidebar-border/60"}),!o&&n.jsx("p",{className:"px-3 pb-1 text-[10px] font-semibold uppercase tracking-widest text-sidebar-foreground/40",children:"Tools"}),n.jsx(zn,{icon:Hh,label:"Terminal",isActive:s==="terminal",isCollapsed:o,onClick:()=>c("terminal"),shortcutKey:"T"}),n.jsx(zn,{icon:Gh,label:"Logs",isActive:s==="logs",isCollapsed:o,onClick:()=>c("logs"),shortcutKey:"D",badge:S>0?S:void 0}),n.jsx(zn,{icon:Ns,label:"Assistant",isActive:s==="assistant",isCollapsed:o,onClick:()=>c("assistant"),shortcutKey:"A"})]}):!o&&n.jsx("div",{className:"px-3 py-8 text-center",children:n.jsx("p",{className:"text-sm text-sidebar-foreground/40 leading-relaxed",children:"Select a project to get started"})})}),n.jsx("div",{className:"flex-shrink-0 mt-auto px-2 py-2.5 border-t border-sidebar-border/60",children:n.jsxs("div",{className:ge("flex flex-col",o?"items-center gap-1":"gap-0.5"),children:[n.jsx(Xi,{icon:Qh,label:"Settings",shortcut:",",collapsed:o,onClick:()=>c("settings")}),n.jsx(Xi,{icon:y?Yh:Vh,label:y?"Light mode":"Dark mode",collapsed:o,onClick:b}),n.jsx(Xi,{icon:Ay,label:"Docs",collapsed:o,onClick:()=>window.open("https://autoforge.cc","_blank")}),n.jsx("div",{className:ge("mt-1 pt-1",!o&&"border-t border-sidebar-border/40"),children:n.jsx(Xi,{icon:o?Dy:_y,label:o?"Expand sidebar":"Collapse",shortcut:"[",collapsed:o,onClick:u})})]})})]})}function Xi({icon:s,label:c,shortcut:o,collapsed:u,onClick:m}){return u?n.jsxs(Gu,{children:[n.jsx(Qu,{asChild:!0,children:n.jsx(J,{variant:"ghost",size:"icon",onClick:m,"aria-label":c,className:"h-8 w-8 text-sidebar-foreground/60 hover:text-sidebar-foreground hover:bg-sidebar-accent transition-colors duration-150",children:n.jsx(s,{size:16})})}),n.jsxs(Yu,{side:"right",sideOffset:8,children:[c,o&&n.jsx("kbd",{className:"ml-2 text-[10px] font-mono opacity-60",children:o})]})]}):n.jsxs("button",{onClick:m,className:ge("group flex items-center gap-3 w-full h-8 px-3 rounded-lg text-sm","text-sidebar-foreground/60 hover:text-sidebar-foreground","hover:bg-sidebar-accent transition-all duration-150","active:scale-[0.98]"),children:[n.jsx(s,{size:16,className:"shrink-0"}),n.jsx("span",{className:"flex-1 text-left truncate text-[13px]",children:c}),o&&n.jsx("kbd",{className:"text-[10px] font-mono opacity-0 group-hover:opacity-60 transition-opacity duration-200",children:o})]})}function Bb(s){return dt({queryKey:["schedules",s],queryFn:()=>av(s),enabled:!!s})}function qb(s){const c=Ge();return Fe({mutationFn:o=>nv(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["schedules",s]}),c.invalidateQueries({queryKey:["nextRun",s]})}})}function Lb(s){const c=Ge();return Fe({mutationFn:o=>sv(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["schedules",s]}),c.invalidateQueries({queryKey:["nextRun",s]})}})}function Hb(s){const c=Ge();return Fe({mutationFn:({scheduleId:o,enabled:u})=>lv(s,o,{enabled:u}),onSuccess:()=>{c.invalidateQueries({queryKey:["schedules",s]}),c.invalidateQueries({queryKey:["nextRun",s]})}})}function Gb(s){return dt({queryKey:["nextRun",s],queryFn:()=>iv(s),enabled:!!s,refetchInterval:3e4})}function Qb(s){const[c,o]=s.split(":").map(Number),u=new Date(Date.UTC(2e3,0,15,c,o,0,0)),m=u.getDate();let g=0;m===14&&(g=-1),m===16&&(g=1);const x=u.getHours(),p=u.getMinutes();return{time:`${String(x).padStart(2,"0")}:${String(p).padStart(2,"0")}`,dayShift:g}}function Yb(s){const[c,o]=s.split(":").map(Number),u=new Date(2e3,0,15,c,o,0,0),m=u.getUTCDate();let g=0;m===14&&(g=-1),m===16&&(g=1);const x=u.getUTCHours(),p=u.getUTCMinutes();return{time:`${String(x).padStart(2,"0")}:${String(p).padStart(2,"0")}`,dayShift:g}}function Vb(s){let c=0;return s&1&&(c|=2),s&2&&(c|=4),s&4&&(c|=8),s&8&&(c|=16),s&16&&(c|=32),s&32&&(c|=64),s&64&&(c|=1),c}function Xb(s){let c=0;return s&1&&(c|=64),s&2&&(c|=1),s&4&&(c|=2),s&8&&(c|=4),s&16&&(c|=8),s&32&&(c|=16),s&64&&(c|=32),c}function oh(s,c){return c===1?Vb(s):c===-1?Xb(s):s}function dh(s){const c=Math.floor(s/60),o=s%60;return c===0?`${o}m`:o===0?`${c}h`:`${c}h ${o}m`}function Kb(s){const c=new Date(s),o=new Date,u=c.getTime()-o.getTime();return Math.floor(u/(1e3*60*60))<24?c.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):c.toLocaleString([],{weekday:"short",hour:"numeric",minute:"2-digit"})}function Fb(s){return new Date(s).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const fh=[{label:"Mon",bit:1},{label:"Tue",bit:2},{label:"Wed",bit:4},{label:"Thu",bit:8},{label:"Fri",bit:16},{label:"Sat",bit:32},{label:"Sun",bit:64}];function mh(s,c){return(s&c)!==0}function Zb(s,c){return s^c}function $b({className:s,...c}){return n.jsx(gy,{"data-slot":"checkbox",className:ge("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",s),...c,children:n.jsx(py,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:n.jsx(Da,{className:"size-3.5"})})})}function ku({className:s,orientation:c="horizontal",decorative:o=!0,...u}){return n.jsx(yy,{"data-slot":"separator",decorative:o,orientation:c,className:ge("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",s),...u})}function Jb({projectName:s,isOpen:c,onClose:o}){const u=f.useRef(null),m=f.useRef(null),{data:g,isLoading:x}=Bb(s),p=qb(s),y=Lb(s),b=Hb(s),[T,w]=f.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[_,S]=f.useState(null);f.useEffect(()=>{c&&m.current&&m.current.focus()},[c]);const D=g?.schedules||[],k=async()=>{try{if(S(null),T.days_of_week===0){S("Please select at least one day");return}if(T.duration_minutes<1||T.duration_minutes>1440){S("Duration must be between 1 and 1440 minutes");return}const{time:E,dayShift:z}=Yb(T.start_time),L=oh(T.days_of_week,z),W={...T,start_time:E,days_of_week:L};await p.mutateAsync(W),w({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(E){S(E instanceof Error?E.message:"Failed to create schedule")}},N=async(E,z)=>{try{S(null),await b.mutateAsync({scheduleId:E,enabled:!z})}catch(L){S(L instanceof Error?L.message:"Failed to toggle schedule")}},M=async E=>{if(confirm("Are you sure you want to delete this schedule?"))try{S(null),await y.mutateAsync(E)}catch(z){S(z instanceof Error?z.message:"Failed to delete schedule")}},O=E=>{w(z=>({...z,days_of_week:Zb(z.days_of_week,E)}))};return n.jsx(Pt,{open:c,onOpenChange:E=>!E&&o(),children:n.jsxs(ea,{ref:u,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[n.jsx(ta,{className:"p-6 pb-4",children:n.jsxs(aa,{className:"flex items-center gap-2",children:[n.jsx(gl,{size:24,className:"text-primary"}),"Agent Schedules"]})}),n.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[_&&n.jsx(at,{variant:"destructive",className:"mb-4",children:n.jsx(nt,{children:_})}),x&&n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!x&&D.length>0&&n.jsx("div",{className:"space-y-3 mb-6",children:D.map(E=>{const{time:z,dayShift:L}=Qb(E.start_time),W=dh(E.duration_minutes),K=oh(E.days_of_week,L);return n.jsx(Ee,{children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[n.jsx("span",{className:"text-lg font-semibold",children:z}),n.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",W]})]}),n.jsx("div",{className:"flex gap-1 mb-2",children:fh.map(ae=>{const Q=mh(K,ae.bit);return n.jsx("span",{className:`text-xs px-2 py-1 rounded border ${Q?"border-primary bg-primary text-primary-foreground font-medium":"border-border text-muted-foreground"}`,children:ae.label},ae.label)})}),n.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[E.yolo_mode&&n.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(Nl,{size:12}),E.max_concurrency,"x"]}),E.model&&n.jsxs("span",{children:["Model: ",E.model]}),E.crash_count>0&&n.jsxs("span",{className:"text-destructive",children:["Crashes: ",E.crash_count]})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(J,{variant:"ghost",size:"sm",onClick:()=>N(E.id,E.enabled),disabled:b.isPending,className:E.enabled?"text-primary":"text-muted-foreground",children:E.enabled?"Enabled":"Disabled"}),n.jsx(J,{variant:"ghost",size:"icon-sm",onClick:()=>M(E.id),disabled:y.isPending,className:"text-destructive hover:text-destructive",children:n.jsx(sn,{size:16})})]})]})})},E.id)})}),!x&&D.length===0&&n.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[n.jsx(gl,{size:48,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No schedules configured yet"})]}),n.jsx(ku,{className:"my-6"}),n.jsxs("div",{className:"pb-6",children:[n.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),n.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{children:"Start Time (Local)"}),n.jsx(tt,{type:"time",value:T.start_time,onChange:E=>w(z=>({...z,start_time:E.target.value}))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{children:"Duration (minutes)"}),n.jsx(tt,{type:"number",min:"1",max:"1440",value:T.duration_minutes,onChange:E=>{const z=parseInt(E.target.value,10),L=isNaN(z)?1:Math.max(1,Math.min(1440,z));w(W=>({...W,duration_minutes:L}))}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:dh(T.duration_minutes)})]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Se,{children:"Days"}),n.jsx("div",{className:"flex gap-2",children:fh.map(E=>{const z=mh(T.days_of_week,E.bit);return n.jsx(J,{variant:z?"default":"outline",size:"sm",onClick:()=>O(E.bit),children:E.label},E.label)})})]}),n.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[n.jsx($b,{id:"yolo-mode",checked:T.yolo_mode,onCheckedChange:E=>w(z=>({...z,yolo_mode:E===!0}))}),n.jsx(Se,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Se,{children:"Concurrent Agents (1-5)"}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Nl,{size:16,className:T.max_concurrency>1?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:T.max_concurrency,onChange:E=>w(z=>({...z,max_concurrency:Number(E.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),n.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[T.max_concurrency,"x"]})]}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",T.max_concurrency," agent",T.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Se,{children:"Model (optional, defaults to global setting)"}),n.jsx(tt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:T.model||"",onChange:E=>w(z=>({...z,model:E.target.value||null}))})]})]})]}),n.jsxs(Xt,{className:"p-6 pt-4 border-t",children:[n.jsx(J,{variant:"outline",onClick:o,children:"Close"}),n.jsx(J,{onClick:k,disabled:p.isPending||T.days_of_week===0,children:p.isPending?"Creating...":"Create Schedule"})]})]})})}function Ku({className:s,size:c="default",...o}){return n.jsx(vy,{"data-slot":"switch","data-size":c,className:ge("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",s),...o,children:n.jsx(by,{"data-slot":"switch-thumb",className:ge("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}const Wb=[{label:"1 min",minutes:1},{label:"5 min",minutes:5},{label:"10 min",minutes:10},{label:"30 min",minutes:30},{label:"1 hour",minutes:60}];function Ib({projectName:s,isOpen:c,onClose:o}){const{data:u}=$h(s),m=Jh(s),[g,x]=f.useState(!1),[p,y]=f.useState(10),[b,T]=f.useState(null);f.useEffect(()=>{c&&u&&(x(!!u.auto_improve_enabled),y(u.auto_improve_interval_minutes||10),T(null))},[c,u]);const w=async()=>{if(T(null),p<1||p>1440){T("Interval must be between 1 and 1440 minutes");return}try{await m.mutateAsync({auto_improve_enabled:g,auto_improve_interval_minutes:p}),o()}catch(S){const D=S instanceof Error?S.message:"Failed to save settings";T(D)}},_=S=>{y(S)};return n.jsx(Pt,{open:c,onOpenChange:S=>!S&&o(),children:n.jsxs(ea,{className:"sm:max-w-[520px]",children:[n.jsx(ta,{children:n.jsxs(aa,{className:"flex items-center gap-2",children:[n.jsx(_a,{size:18,className:"text-primary"}),"Auto-Improve"]})}),n.jsxs("div",{className:"space-y-6 py-2",children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"Auto-Improve runs the agent on a timer. Each tick it analyzes the codebase, picks one meaningful improvement, adds it to the Kanban, implements it, and commits with a short TLDR message. Ticks skip silently while the agent is already running."}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Se,{htmlFor:"auto-improve-enabled",className:"font-medium",children:"Enable auto-improve"}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["When enabled, the agent will run every ",p," minute",p===1?"":"s","."]})]}),n.jsx(Ku,{id:"auto-improve-enabled",checked:g,onCheckedChange:x})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{htmlFor:"auto-improve-interval",className:"font-medium",children:"Interval (minutes)"}),n.jsx(tt,{id:"auto-improve-interval",type:"number",min:1,max:1440,value:p,onChange:S=>y(Number(S.target.value)),disabled:!g,className:"max-w-[140px]"}),n.jsx("div",{className:"flex flex-wrap gap-1.5 pt-1",children:Wb.map(S=>n.jsx(J,{type:"button",size:"sm",variant:p===S.minutes?"default":"outline",onClick:()=>_(S.minutes),disabled:!g,children:S.label},S.minutes))})]}),b&&n.jsx(at,{variant:"destructive",children:n.jsx(nt,{children:b})})]}),n.jsxs(Xt,{children:[n.jsx(J,{variant:"outline",onClick:o,disabled:m.isPending,children:"Cancel"}),n.jsx(J,{onClick:w,disabled:m.isPending,children:m.isPending?"Saving...":"Save"})]})]})})}function Pb({projectName:s,status:c,defaultConcurrency:o=3}){const{data:u}=qu(),m=u?.yolo_mode??!1,[g,x]=f.useState(o);f.useEffect(()=>{x(o)},[o]);const p=Jh(s),y=f.useRef(null),b=f.useCallback(P=>{x(P),y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{p.mutate({default_concurrency:P})},500)},[p]);f.useEffect(()=>()=>{y.current&&clearTimeout(y.current)},[]);const T=pv(s),w=yv(s),_=vv(s),S=bv(s),{data:D}=Gb(s),{data:k}=$h(s),N=!!k?.auto_improve_enabled,M=k?.auto_improve_interval_minutes??10,[O,E]=f.useState(!1),[z,L]=f.useState(!1),W=T.isPending||w.isPending||_.isPending||S.isPending,K=c==="running"||c==="paused"||c==="pausing"||c==="paused_graceful",ae=c==="loading",Q=g>1,ne=()=>T.mutate({yoloMode:m,parallelMode:Q,maxConcurrency:g,testingAgentRatio:u?.testing_agent_ratio}),I=()=>w.mutate(),H=c==="stopped"||c==="crashed";return n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-2 sm:gap-4",children:[H&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Nl,{size:16,className:Q?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:g,onChange:P=>b(Number(P.target.value)),disabled:W,className:"w-16 h-2 accent-primary cursor-pointer",title:`${g} concurrent agent${g>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),n.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[g,"x"]})]}),K&&Q&&n.jsxs(Ae,{variant:"secondary",className:"gap-1",children:[n.jsx(Nl,{size:14}),g,"x"]}),D?.is_currently_running&&D.next_end&&n.jsxs(Ae,{variant:"default",className:"gap-1",children:[n.jsx(gl,{size:14}),"Running until ",Fb(D.next_end)]}),!D?.is_currently_running&&D?.next_start&&n.jsxs(Ae,{variant:"secondary",className:"gap-1",children:[n.jsx(gl,{size:14}),"Next: ",Kb(D.next_start)]}),ae?n.jsx(J,{disabled:!0,variant:"outline",size:"sm",children:n.jsx(Ce,{size:18,className:"animate-spin"})}):H?n.jsx(J,{onClick:ne,disabled:W,variant:m?"secondary":"default",size:"sm",title:m?"Start Agent (YOLO Mode)":"Start Agent",children:W?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(ky,{size:18})}):n.jsxs("div",{className:"flex items-center gap-1.5",children:[c==="pausing"&&n.jsxs(Ae,{variant:"secondary",className:"gap-1 animate-pulse",children:[n.jsx(Ce,{size:12,className:"animate-spin"}),"Pausing..."]}),c==="paused_graceful"&&n.jsxs(n.Fragment,{children:[n.jsx(Ae,{variant:"outline",className:"gap-1",children:"Paused"}),n.jsx(J,{onClick:()=>S.mutate(),disabled:W,variant:"default",size:"sm",title:"Resume agent",children:S.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(My,{size:18})})]}),c==="running"&&n.jsx(J,{onClick:()=>_.mutate(),disabled:W,variant:"outline",size:"sm",title:"Pause agent (finish current work first)",children:_.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Oy,{size:18})}),n.jsx(J,{onClick:I,disabled:W,variant:"destructive",size:"sm",title:"Stop Agent (immediate)",children:w.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Xh,{size:18})})]}),n.jsx(J,{variant:"outline",size:"sm",onClick:()=>E(!0),title:"Manage schedules",children:n.jsx(gl,{size:18})}),n.jsx(J,{variant:N?"default":"outline",size:"sm",onClick:()=>L(!0),title:N?`Auto-Improve on (every ${M} min)`:"Configure Auto-Improve",children:n.jsx(_a,{size:18})})]}),n.jsx(Jb,{projectName:s,isOpen:O,onClose:()=>E(!1)}),n.jsx(Ib,{projectName:s,isOpen:z,onClose:()=>L(!1)})]})}function ej({projectName:s,isOpen:c,onClose:o,autoStartOnSave:u=!1}){const{data:m}=Ev(c?s:null),g=Av(s),x=Ge(),[p,y]=f.useState(""),[b,T]=f.useState(null),[w,_]=f.useState(!1);f.useEffect(()=>{c&&m&&(y(m.custom_command??m.effective_command??""),T(null))},[c,m]);const S=!!m?.custom_command,D=async()=>{const N=p.trim();if(!N){T("Please enter a dev server command.");return}_(!0),T(null);try{await g.mutateAsync(N),u&&(await Zh(s),x.invalidateQueries({queryKey:["dev-server-status",s]})),o()}catch(M){T(M instanceof Error?M.message:"Failed to save configuration")}finally{_(!1)}},k=async()=>{_(!0),T(null);try{await g.mutateAsync(null),y(m?.detected_command??"")}catch(N){T(N instanceof Error?N.message:"Failed to clear configuration")}finally{_(!1)}};return n.jsx(Pt,{open:c,onOpenChange:N=>!N&&o(),children:n.jsxs(ea,{className:"sm:max-w-lg",children:[n.jsx(ta,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"p-2 rounded-lg bg-primary/10 text-primary",children:n.jsx(Hh,{size:20})}),n.jsx(aa,{children:"Dev Server Configuration"})]})}),n.jsx(vl,{asChild:!0,children:n.jsxs("div",{className:"space-y-4",children:[n.jsx("div",{className:"rounded-lg border-2 border-border bg-muted/50 p-3 text-sm",children:m?.detected_type?n.jsxs("p",{children:["Detected project type: ",n.jsx("strong",{className:"text-foreground",children:m.detected_type}),m.detected_command&&n.jsxs("span",{className:"text-muted-foreground",children:[" — ",m.detected_command]})]}):n.jsx("p",{className:"text-muted-foreground",children:"No project type detected. Enter a custom command below."})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{htmlFor:"dev-command",className:"text-foreground",children:"Dev server command"}),n.jsx(tt,{id:"dev-command",value:p,onChange:N=>{y(N.target.value),T(null)},placeholder:"npm run dev",onKeyDown:N=>{N.key==="Enter"&&!w&&D()}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Allowed runners: npm, npx, pnpm, yarn, python, uvicorn, flask, poetry, cargo, go"})]}),S&&n.jsxs(J,{variant:"outline",size:"sm",onClick:k,disabled:w,className:"gap-1.5",children:[n.jsx(nn,{size:14}),"Clear custom command (use auto-detection)"]}),b&&n.jsx("p",{className:"text-sm font-mono text-destructive",children:b})]})}),n.jsxs(Xt,{className:"gap-2 sm:gap-0",children:[n.jsx(J,{variant:"outline",onClick:o,disabled:w,children:"Cancel"}),n.jsx(J,{onClick:D,disabled:w,children:w?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin mr-1.5"}),"Saving..."]}):u?"Save & Start":"Save"})]})]})})}function tj(s){const c=Ge();return Fe({mutationFn:()=>Zh(s),onSuccess:()=>{c.invalidateQueries({queryKey:["dev-server-status",s]})}})}function aj(s){const c=Ge();return Fe({mutationFn:()=>$0(s),onSuccess:()=>{c.invalidateQueries({queryKey:["dev-server-status",s]})}})}function nj({projectName:s,status:c,url:o}){const u=tj(s),m=aj(s),[g,x]=f.useState(!1),[p,y]=f.useState(!1),b=u.isPending||m.isPending,T=()=>{m.reset(),u.mutate(void 0,{onError:E=>{E.message?.includes("No dev command available")&&(y(!0),x(!0))}})},w=()=>{u.reset(),m.mutate()},_=()=>{y(!1),x(!0)},S=()=>{x(!1),u.error?.message?.includes("No dev command available")&&u.reset()},D=c==="stopped"||c==="crashed",k=c==="running",N=c==="crashed",M=u.error,O=M&&!M.message?.includes("No dev command available");return n.jsxs("div",{className:"flex items-center gap-2",children:[D?n.jsxs(n.Fragment,{children:[n.jsx(J,{onClick:T,disabled:b,variant:N?"destructive":"outline",size:"sm",title:N?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":N?"Restart Dev Server (crashed)":"Start Dev Server",children:b?n.jsx(Ce,{size:18,className:"animate-spin"}):N?n.jsx(da,{size:18}):n.jsx(Ry,{size:18})}),n.jsx(J,{onClick:_,variant:"ghost",size:"sm",title:"Configure Dev Server","aria-label":"Configure Dev Server",children:n.jsx(Uy,{size:16})})]}):n.jsx(J,{onClick:w,disabled:b,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:b?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Xh,{size:18})}),k&&o&&n.jsx(J,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:n.jsxs("a",{href:o,target:"_blank",rel:"noopener noreferrer",title:`Open ${o} in new tab`,children:[n.jsx("span",{className:"font-mono text-xs",children:o}),n.jsx(Ru,{size:14})]})}),(O||m.error)&&n.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((O?M:m.error)?.message||"Operation failed")}),n.jsx(ej,{projectName:s,isOpen:g,onClose:S,autoStartOnSave:p})]})}function lj(){const{selectedProject:s,selectedProjectData:c,wsState:o,settings:u,setShowResetModal:m}=Ft();return n.jsxs("div",{className:"sticky top-0 z-20 w-full flex items-center gap-3 bg-card/80 backdrop-blur-md border-b border-border px-4 py-2 shrink-0",children:[n.jsx(Pb,{projectName:s,status:o.agentStatus,defaultConcurrency:c?.default_concurrency}),n.jsx(nj,{projectName:s,status:o.devServerStatus,url:o.devServerUrl}),n.jsx("div",{className:"flex-1"}),u?.ollama_mode&&n.jsxs("div",{className:"hidden sm:flex items-center gap-1.5 px-2 py-1 bg-card rounded-lg border border-border shadow-sm",children:[n.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-4 h-4"}),n.jsx("span",{className:"text-[11px] font-bold text-foreground",children:"Ollama"})]}),u?.glm_mode&&n.jsx(Ae,{className:"hidden sm:inline-flex bg-purple-500 text-white hover:bg-purple-600 text-[11px]",children:"GLM"}),n.jsxs(Gu,{children:[n.jsx(Qu,{asChild:!0,children:n.jsx(J,{onClick:()=>m(!0),variant:"outline",size:"sm",disabled:["running","pausing","paused_graceful"].includes(o.agentStatus),className:"h-8",children:n.jsx(nn,{size:16})})}),n.jsx(Yu,{children:"Reset (R)"})]})]})}function sj({onComplete:s}){const{data:c,isLoading:o,error:u}=jv(),{data:m,error:g}=Nv(),x=m?.status==="healthy"&&!g,p=x&&c?.claude_cli&&c?.credentials,y=f.useCallback(()=>{p&&s()},[p,s]);return f.useEffect(()=>{y()},[y]),n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsx(Ee,{className:"w-full max-w-lg",children:n.jsxs(ke,{className:"p-8",children:[n.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),n.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),n.jsxs("div",{className:"space-y-4",children:[n.jsx(Ki,{label:"Backend Server",description:"FastAPI server is running",status:g?"error":x?"success":"loading"}),n.jsx(Ki,{label:"Claude CLI",description:"Claude Code CLI is installed",status:o?"loading":u?"error":c?.claude_cli?"success":"error",helpLink:"https://docs.anthropic.com/claude/claude-code",helpText:"Install Claude Code"}),n.jsx(Ki,{label:"Anthropic Credentials",description:"API credentials are configured",status:o?"loading":u?"error":c?.credentials?"success":"error",helpLink:"https://console.anthropic.com/account/keys",helpText:"Get API Key"}),n.jsx(Ki,{label:"Node.js",description:"Node.js is installed (for UI dev)",status:o?"loading":u?"error":c?.node?"success":"warning",helpLink:"https://nodejs.org",helpText:"Install Node.js",optional:!0})]}),p&&n.jsx(J,{onClick:s,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(g||u)&&n.jsxs(at,{variant:"destructive",className:"mt-6",children:[n.jsx(Nb,{children:"Setup Error"}),n.jsx(nt,{children:g?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function Ki({label:s,description:c,status:o,helpLink:u,helpText:m,optional:g}){return n.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[n.jsx("div",{className:"flex-shrink-0 mt-1",children:o==="success"?n.jsx(Kt,{size:24,className:"text-green-500"}):o==="error"?n.jsx(Jm,{size:24,className:"text-destructive"}):o==="warning"?n.jsx(Jm,{size:24,className:"text-yellow-500"}):n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-display font-bold text-foreground",children:s}),g&&n.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:c}),(o==="error"||o==="warning")&&u&&n.jsxs("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-sm text-primary hover:underline",children:[m," ",n.jsx(Ru,{size:12})]})]})]})}function ij({projectName:s,projectPath:c,onCreateWithClaude:o,onEditManually:u}){return n.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:n.jsxs(Ee,{className:"border-2",children:[n.jsxs(En,{className:"text-center",children:[n.jsx(yl,{className:"text-2xl font-display",children:"Project Setup Required"}),n.jsxs(pb,{className:"text-base",children:[n.jsx("span",{className:"font-semibold",children:s})," needs an app spec to get started"]}),c&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[n.jsx(er,{size:14}),n.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:c})]})]}),n.jsxs(ke,{className:"space-y-4",children:[n.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),n.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[n.jsx(Ee,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:n.jsxs(ke,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:n.jsx(_a,{className:"text-primary",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),n.jsxs(J,{className:"w-full",children:[n.jsx(_a,{size:16,className:"mr-2"}),"Start Chat"]})]})}),n.jsx(Ee,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:u,children:n.jsxs(ke,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:n.jsx(Eu,{className:"text-muted-foreground",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),n.jsxs(J,{variant:"outline",className:"w-full",children:[n.jsx(Eu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),n.jsx("p",{className:"text-center text-xs text-muted-foreground pt-4",children:"The app spec tells the agent what to build. It includes the application name, description, tech stack, and feature requirements."})]})]})})}const rj=3e4;function cj(s){const c=s.trim();return!(/^\[Tool:/.test(c)||/^\s*Input:\s*\{/.test(c)||/^\[(Done|Error)\]/.test(c)||/^Output:/.test(c)||/^[[{]/.test(c)||c.length<10||/^[A-Za-z]:\\/.test(c)||/^\/[a-z]/.test(c))}function uj(s){for(let c=s.length-1;c>=0;c--)if(cj(s[c].line))return s[c].line.trim();return null}function oj({passing:s,total:c,percentage:o,isConnected:u,logs:m=[],agentStatus:g}){const x=f.useMemo(()=>uj(m),[m]),[p,y]=f.useState(null),[b,T]=f.useState(!0),w=m.length>0?new Date(m[m.length-1].timestamp).getTime():0,_=f.useMemo(()=>x?g==="running"||g==="pausing"?!0:g==="paused"?Date.now()-w<rj:!1:!1,[x,g,w]);f.useEffect(()=>{if(x!==p&&x){T(!1);const D=setTimeout(()=>{y(x),T(!0)},150);return()=>clearTimeout(D)}},[x,p]);const S=g==="running";return n.jsxs(Ee,{children:[n.jsxs(En,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(yl,{className:"text-xl uppercase tracking-wide",children:"Progress"}),n.jsx(Ae,{variant:u?"default":"destructive",className:"gap-1",children:u?n.jsxs(n.Fragment,{children:[n.jsx(jl,{size:14}),"Live"]}):n.jsxs(n.Fragment,{children:[n.jsx(bl,{size:14}),"Offline"]})})]}),n.jsxs("div",{className:"flex items-baseline gap-1",children:[n.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:s}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),n.jsx("span",{className:"font-mono text-lg font-bold",children:c})]})]}),n.jsxs(ke,{className:"pt-3 pb-3",children:[n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:n.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${o}%`}})}),n.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[o.toFixed(1),"%"]})]}),n.jsx("div",{className:`
48
+ transition-all duration-300 ease-out overflow-hidden
49
+ ${_&&p?"opacity-100 max-h-10 mt-3":"opacity-0 max-h-0 mt-0"}
50
+ `,children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("div",{className:"relative shrink-0",children:[n.jsx(By,{size:16,className:"text-primary",strokeWidth:2.5}),S&&n.jsx(_a,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),n.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:b?1:0,transform:b?"translateY(0)":"translateY(-4px)"},children:p?.replace(/:$/,"")})]})})]})]})}const dj={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},fj={Spark:{primary:"#3B82F6",secondary:"#60A5FA",accent:"#DBEAFE"},Fizz:{primary:"#F97316",secondary:"#FB923C",accent:"#FFEDD5"},Octo:{primary:"#8B5CF6",secondary:"#A78BFA",accent:"#EDE9FE"},Hoot:{primary:"#22C55E",secondary:"#4ADE80",accent:"#DCFCE7"},Buzz:{primary:"#EAB308",secondary:"#FACC15",accent:"#FEF9C3"},Pixel:{primary:"#EC4899",secondary:"#F472B6",accent:"#FCE7F3"},Byte:{primary:"#06B6D4",secondary:"#22D3EE",accent:"#CFFAFE"},Nova:{primary:"#F43F5E",secondary:"#FB7185",accent:"#FFE4E6"},Chip:{primary:"#84CC16",secondary:"#A3E635",accent:"#ECFCCB"},Bolt:{primary:"#FBBF24",secondary:"#FCD34D",accent:"#FEF3C7"},Dash:{primary:"#14B8A6",secondary:"#2DD4BF",accent:"#CCFBF1"},Zap:{primary:"#A855F7",secondary:"#C084FC",accent:"#F3E8FF"},Gizmo:{primary:"#64748B",secondary:"#94A3B8",accent:"#F1F5F9"},Turbo:{primary:"#EF4444",secondary:"#F87171",accent:"#FEE2E2"},Blip:{primary:"#10B981",secondary:"#34D399",accent:"#D1FAE5"},Neon:{primary:"#D946EF",secondary:"#E879F9",accent:"#FAE8FF"},Widget:{primary:"#6366F1",secondary:"#818CF8",accent:"#E0E7FF"},Zippy:{primary:"#F59E0B",secondary:"#FBBF24",accent:"#FEF3C7"},Quirk:{primary:"#0EA5E9",secondary:"#38BDF8",accent:"#E0F2FE"},Flux:{primary:"#7C3AED",secondary:"#8B5CF6",accent:"#EDE9FE"}};function mj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:s.primary}),n.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:s.secondary}),n.jsx("circle",{cx:"32",cy:"4",r:"4",fill:s.primary,className:"animate-pulse"}),n.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:s.primary}),n.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"18",r:"2",fill:s.primary}),n.jsx("circle",{cx:"41",cy:"18",r:"2",fill:s.primary}),n.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),n.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:s.primary}),n.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:s.primary})]})}function hj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"12,12 20,28 4,28",fill:s.primary}),n.jsx("polygon",{points:"52,12 60,28 44,28",fill:s.primary}),n.jsx("polygon",{points:"14,14 18,26 8,26",fill:s.accent}),n.jsx("polygon",{points:"50,14 56,26 44,26",fill:s.accent}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:s.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:s.accent}),n.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:s.primary}),n.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:s.primary,strokeWidth:"2"}),n.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:s.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:s.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:s.primary,strokeWidth:"2"})]})}function xj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:s.secondary}),n.jsx("path",{d:"M22,50 Q20,58 24,62",fill:s.secondary}),n.jsx("path",{d:"M32,52 Q32,60 36,62",fill:s.secondary}),n.jsx("path",{d:"M42,50 Q44,58 40,62",fill:s.secondary}),n.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:s.secondary}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:s.primary}),n.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:s.primary}),n.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:s.primary}),n.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:s.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function gj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"14,8 22,24 6,20",fill:s.primary}),n.jsx("polygon",{points:"50,8 58,20 42,24",fill:s.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"28",r:"20",fill:s.secondary}),n.jsx("circle",{cx:"24",cy:"26",r:"10",fill:s.accent}),n.jsx("circle",{cx:"40",cy:"26",r:"10",fill:s.accent}),n.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),n.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:s.accent})]})}function pj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:s.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:s.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:s.primary}),n.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"16",r:"12",fill:s.primary}),n.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function yj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:s.primary}),n.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:s.secondary}),n.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:s.secondary}),n.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:s.primary}),n.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:s.accent})]})}function vj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:s.primary}),n.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:s.secondary}),n.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:s.accent,opacity:"0.6"}),n.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function bj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:s.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function jj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:s.primary}),n.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:s.secondary}),n.jsx("circle",{cx:"26",cy:"28",r:"4",fill:s.accent}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:s.accent}),n.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:s.accent})]})}function Nj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:s.primary}),n.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:s.secondary}),n.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),n.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function Sj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:s.accent,opacity:"0.6"}),n.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:s.accent,opacity:"0.4"}),n.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:s.primary}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:s.secondary}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Cj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:s.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:s.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:s.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:s.primary}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:s.primary}),n.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function wj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:s.primary}),n.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:s.primary}),n.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:s.primary}),n.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"20",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:s.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function zj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:s.primary}),n.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:s.secondary}),n.jsx("polygon",{points:"18,44 10,56 18,52",fill:s.secondary}),n.jsx("polygon",{points:"46,44 54,56 46,52",fill:s.secondary}),n.jsx("circle",{cx:"32",cy:"28",r:"8",fill:s.accent}),n.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function Tj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:s.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:s.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"10",fill:s.secondary}),n.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Ej({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"26",fill:s.accent,opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",fill:s.accent,opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"12",fill:s.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"2",fill:s.primary}),n.jsx("circle",{cx:"38",cy:"31",r:"2",fill:s.primary}),n.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Aj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:s.primary}),n.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:s.secondary}),n.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),n.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),n.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),n.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:s.accent}),n.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2",fill:s.primary}),n.jsx("circle",{cx:"41",cy:"35",r:"2",fill:s.primary}),n.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:s.primary})]})}function Dj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:s.primary}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:s.primary}),n.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:s.accent}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:s.accent}),n.jsx("circle",{cx:"32",cy:"38",r:"20",fill:s.primary}),n.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:s.secondary}),n.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function _j({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:s.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"32",cy:"52",r:"6",fill:s.primary}),n.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"20",r:"4",fill:s.secondary})]})}function kj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:s.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:s.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"16",cy:"24",r:"2",fill:s.accent,className:"animate-pulse"}),n.jsx("circle",{cx:"48",cy:"40",r:"2",fill:s.accent,className:"animate-pulse"})]})}function Mj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"24",fill:s.secondary}),n.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const Oj={Spark:mj,Fizz:hj,Octo:xj,Hoot:gj,Buzz:pj,Pixel:yj,Byte:vj,Nova:bj,Chip:jj,Bolt:Nj,Dash:Sj,Zap:Cj,Gizmo:wj,Turbo:zj,Blip:Tj,Neon:Ej,Widget:Aj,Zippy:Dj,Quirk:_j,Flux:kj},Rj=Mj,Uj={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function Bj(s){switch(s){case"idle":return"animate-bounce-gentle";case"thinking":return"animate-thinking";case"working":return"animate-working";case"testing":return"animate-testing";case"success":return"animate-celebrate";case"error":case"struggling":return"animate-shake-gentle";default:return""}}function qj(s){switch(s){case"working":return"shadow-[0_0_12px_rgba(0,180,216,0.5)]";case"thinking":return"shadow-[0_0_8px_rgba(255,214,10,0.4)]";case"success":return"shadow-[0_0_16px_rgba(112,224,0,0.6)]";case"error":case"struggling":return"shadow-[0_0_12px_rgba(255,84,0,0.5)]";default:return""}}function Lj(s){switch(s){case"idle":return"waiting";case"thinking":return"analyzing";case"working":return"coding";case"testing":return"running tests";case"success":return"completed successfully";case"error":return"encountered an error";case"struggling":return"having difficulty";default:return s}}function Cl({name:s,state:c,size:o="md",showName:u=!1}){const m=s==="Unknown",g=m?dj:fj[s],{svg:x,font:p}=Uj[o],y=m?Rj:Oj[s],b=Lj(c),T=`Agent ${s} is ${b}`;return n.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":T,"aria-live":"polite",children:[n.jsx("div",{className:`
51
+ rounded-full p-1 transition-all duration-300
52
+ ${Bj(c)}
53
+ ${qj(c)}
54
+ `,style:{backgroundColor:g.accent},title:T,role:"img","aria-hidden":"true",children:n.jsx(y,{colors:g,size:x})}),u&&n.jsx("span",{className:`${p} font-bold text-foreground`,style:{color:g.primary},children:s})]})}function Hj(s){switch(s){case"idle":return"Standing by...";case"thinking":return"Pondering...";case"working":return"Coding away...";case"testing":return"Checking work...";case"success":return"Nailed it!";case"error":return"Trying plan B...";case"struggling":return"Being persistent...";default:return"Busy..."}}function Gj(s){switch(s){case"success":return"text-primary";case"error":return"text-yellow-600";case"struggling":return"text-orange-500";case"working":case"testing":return"text-primary";case"thinking":return"text-yellow-600";default:return"text-muted-foreground"}}function gx(s){return s==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:ar}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:nr}}function Qj({agent:s,onShowLogs:c,browserScreenshot:o}){const u=["thinking","working","testing"].includes(s.state),m=s.logs&&s.logs.length>0,g=gx(s.agentType||"coding"),x=g.icon,[p,y]=f.useState(!1);return n.jsxs(n.Fragment,{children:[p&&o&&Mu.createPortal(n.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70",onClick:()=>y(!1),children:n.jsxs("div",{className:"relative max-w-[90vw] max-h-[90vh] bg-card border-2 border-border rounded-lg overflow-hidden",onClick:b=>b.stopPropagation(),children:[n.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-muted border-b border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(x,{size:14,className:s.agentType==="testing"?"text-purple-500":"text-blue-500"}),n.jsx("span",{className:"font-mono text-sm font-bold",children:xl[s.agentIndex%xl.length]}),n.jsx(Ae,{variant:"outline",className:"text-[10px] h-4",children:s.agentType||"coding"}),n.jsx("span",{className:"text-xs text-muted-foreground truncate",children:s.featureName})]}),n.jsx("button",{onClick:()=>y(!1),className:"p-1 hover:bg-accent rounded transition-colors cursor-pointer",children:n.jsx(Ie,{size:16})})]}),n.jsx("img",{src:o.imageDataUrl,alt:`Browser view - ${s.featureName}`,className:"max-w-full max-h-[calc(90vh-3rem)] object-contain"})]})}),document.body),n.jsx(Ee,{className:`min-w-[180px] ${o?"max-w-[280px]":"max-w-[220px]"} py-3 ${u?"animate-pulse":""}`,children:n.jsxs(ke,{className:"p-3 space-y-2",children:[n.jsx("div",{className:"flex justify-end",children:n.jsxs(Ae,{variant:"outline",className:`text-[10px] ${g.className}`,children:[n.jsx(x,{size:10}),g.label]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Cl,{name:s.agentName,state:s.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-semibold text-sm truncate",children:s.agentName}),n.jsx("div",{className:`text-xs ${Gj(s.state)}`,children:Hj(s.state)})]}),m&&c&&n.jsx(J,{variant:"ghost",size:"icon-xs",onClick:()=>c(s.agentIndex),title:`View logs (${s.logs?.length||0} entries)`,children:n.jsx(Gh,{size:14,className:"text-muted-foreground"})})]}),n.jsx("div",{children:s.featureIds&&s.featureIds.length>1?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",s.featureIds.map(b=>`#${b}`).join(", ")]}),n.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",s.featureId]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",s.featureId]}),n.jsx("div",{className:"text-sm font-medium truncate",title:s.featureName,children:s.featureName})]})}),o&&n.jsxs("div",{className:"pt-1 relative group",children:[n.jsx("div",{className:"cursor-pointer overflow-hidden rounded border border-border/50",onClick:()=>y(!0),children:n.jsx("img",{src:o.imageDataUrl,alt:"Browser view",className:"w-full h-auto max-h-[120px] object-cover object-top"})}),n.jsx("button",{onClick:()=>y(!0),className:"absolute top-2.5 right-1.5 p-0.5 bg-black/50 hover:bg-black/70 rounded transition-opacity opacity-0 group-hover:opacity-100 cursor-pointer",title:"Expand screenshot",children:n.jsx(Kh,{size:12,className:"text-white"})})]}),s.thought&&n.jsx("div",{className:"pt-2 border-t border-border/50",children:n.jsxs("div",{className:"flex items-start gap-1.5",children:[n.jsx(Uu,{size:14,className:"text-primary shrink-0 mt-0.5"}),n.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:s.thought,children:s.thought})]})})]})})]})}function Yj({agent:s,logs:c,onClose:o}){const[u,m]=f.useState(!1),g=gx(s.agentType||"coding"),x=g.icon,p=async()=>{const b=c.map(T=>`[${T.timestamp}] ${T.line}`).join(`
55
+ `);await navigator.clipboard.writeText(b),m(!0),setTimeout(()=>m(!1),2e3)},y=b=>{switch(b){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return Mu.createPortal(n.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:b=>{b.target===b.currentTarget&&o()},children:n.jsxs(Ee,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Cl,{name:s.agentName,state:s.state,size:"sm"}),n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("h2",{className:"font-semibold text-lg",children:[s.agentName," Logs"]}),n.jsxs(Ae,{variant:"outline",className:`text-[10px] ${g.className}`,children:[n.jsx(x,{size:10}),g.label]})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:s.featureIds&&s.featureIds.length>1?`Batch: ${s.featureIds.map(b=>`#${b}`).join(", ")}`:`Feature #${s.featureId}: ${s.featureName}`})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(J,{variant:"outline",size:"sm",onClick:p,children:[u?n.jsx(Da,{size:14}):n.jsx(qy,{size:14}),u?"Copied!":"Copy"]}),n.jsx(J,{variant:"ghost",size:"icon-sm",onClick:o,children:n.jsx(Ie,{size:20})})]})]}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 bg-muted/50",children:n.jsx("div",{className:"font-mono text-xs space-y-1",children:c.length===0?n.jsx("p",{className:"text-muted-foreground italic",children:"No logs available"}):c.map((b,T)=>n.jsxs("div",{className:`${y(b.type)} whitespace-pre-wrap break-all`,children:[n.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(b.timestamp).toLocaleTimeString(),"]"]})," ",b.line]},T))})}),n.jsxs("div",{className:"p-3 border-t text-xs text-muted-foreground",children:[c.length," log entries"]})]})}),document.body)}function Vj(s){const c=new Date(s),u=new Date().getTime()-c.getTime(),m=Math.floor(u/1e3);return m<5?"just now":m<60?`${m}s ago`:m<3600?`${Math.floor(m/60)}m ago`:c.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Xj({activities:s,maxItems:c=5,showHeader:o=!0}){const u=s.slice(0,c);return u.length===0?null:n.jsxs("div",{children:[o&&n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(Fh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"})]}),n.jsx("div",{className:"space-y-2",children:u.map(m=>n.jsx(Ee,{className:"py-1.5",children:n.jsxs(ke,{className:"p-2 flex items-start gap-2",children:[n.jsx(Cl,{name:m.agentName,state:"working",size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-xs font-semibold",style:{color:Kj(m.agentName)},children:m.agentName}),n.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["#",m.featureId]}),n.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:Vj(m.timestamp)})]}),n.jsx("p",{className:"text-xs text-muted-foreground truncate",title:m.thought,children:m.thought})]})]})},`${m.featureId}-${m.timestamp}-${m.thought.slice(0,20)}`))})]})}function Kj(s){return{Spark:"#3B82F6",Fizz:"#F97316",Octo:"#8B5CF6",Hoot:"#22C55E",Buzz:"#EAB308",Pixel:"#EC4899",Byte:"#06B6D4",Nova:"#F43F5E",Chip:"#84CC16",Bolt:"#FBBF24",Dash:"#14B8A6",Zap:"#A855F7",Gizmo:"#64748B",Turbo:"#EF4444",Blip:"#10B981",Neon:"#D946EF",Widget:"#6366F1",Zippy:"#F59E0B",Quirk:"#0EA5E9",Flux:"#7C3AED"}[s]||"#6B7280"}const Fj={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}},et={primary:"#7C3AED",secondary:"#A78BFA",accent:"#EDE9FE",baton:"#FBBF24",gold:"#F59E0B"};function Zj({size:s,state:c}){const o=c==="spawning"?"animate-conducting":c==="scheduling"?"animate-baton-tap":"";return n.jsxs("svg",{width:s,height:s,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"22",y:"54",width:"20",height:"6",rx:"2",fill:et.primary,opacity:"0.3"}),n.jsx("rect",{x:"18",y:"28",width:"28",height:"26",rx:"4",fill:et.primary}),n.jsx("rect",{x:"26",y:"32",width:"12",height:"18",fill:et.accent}),n.jsx("rect",{x:"30",y:"32",width:"4",height:"18",fill:et.secondary}),n.jsx("path",{d:"M27,30 L32,33 L37,30 L32,32 Z",fill:et.gold}),n.jsx("rect",{x:"16",y:"6",width:"32",height:"24",rx:"4",fill:et.secondary}),n.jsx("rect",{x:"14",y:"2",width:"36",height:"8",rx:"2",fill:et.primary}),n.jsx("rect",{x:"20",y:"0",width:"24",height:"4",rx:"2",fill:et.primary}),n.jsx("circle",{cx:"32",cy:"2",r:"3",fill:et.gold}),n.jsx("circle",{cx:"24",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"16",r:"2",fill:et.primary}),n.jsx("circle",{cx:"41",cy:"16",r:"2",fill:et.primary}),n.jsx("path",{d:"M26,24 Q32,28 38,24",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"}),n.jsx("rect",{x:"8",y:"32",width:"10",height:"4",rx:"2",fill:et.primary}),n.jsx("rect",{x:"46",y:"28",width:"10",height:"4",rx:"2",fill:et.primary,className:o,style:{transformOrigin:"46px 30px"}}),n.jsx("circle",{cx:"56",cy:"30",r:"4",fill:et.secondary,className:o,style:{transformOrigin:"46px 30px"}}),n.jsxs("g",{className:o,style:{transformOrigin:"56px 30px"},children:[n.jsx("line",{x1:"56",y1:"26",x2:"62",y2:"10",stroke:et.baton,strokeWidth:"2",strokeLinecap:"round"}),n.jsx("circle",{cx:"62",cy:"10",r:"2",fill:et.gold})]}),(c==="spawning"||c==="monitoring")&&n.jsxs(n.Fragment,{children:[n.jsx("text",{x:"4",y:"20",fontSize:"8",fill:et.secondary,className:"animate-pulse",children:"♪"}),n.jsx("text",{x:"58",y:"48",fontSize:"8",fill:et.secondary,className:"animate-pulse",style:{animationDelay:"0.3s"},children:"♫"})]})]})}function $j(s){switch(s){case"idle":return"animate-bounce-gentle";case"initializing":return"animate-thinking";case"scheduling":return"animate-thinking";case"spawning":return"animate-working";case"monitoring":return"animate-bounce-gentle";case"draining":return"animate-thinking";case"paused":return"";case"complete":return"animate-celebrate";default:return""}}function Jj(s){switch(s){case"initializing":return"shadow-[0_0_12px_rgba(124,58,237,0.4)]";case"scheduling":return"shadow-[0_0_10px_rgba(167,139,250,0.5)]";case"spawning":return"shadow-[0_0_16px_rgba(124,58,237,0.6)]";case"monitoring":return"shadow-[0_0_8px_rgba(167,139,250,0.4)]";case"draining":return"shadow-[0_0_10px_rgba(251,191,36,0.5)]";case"paused":return"";case"complete":return"shadow-[0_0_20px_rgba(112,224,0,0.6)]";default:return""}}function Wj(s){switch(s){case"idle":return"waiting";case"initializing":return"initializing features";case"scheduling":return"selecting next features";case"spawning":return"spawning agents";case"monitoring":return"monitoring progress";case"draining":return"draining active agents";case"paused":return"paused";case"complete":return"all features complete";default:return s}}function Ij({state:s,size:c="md"}){const{svg:o}=Fj[c],m=`Orchestrator Maestro is ${Wj(s)}`;return n.jsx("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":m,"aria-live":"polite",children:n.jsx("div",{className:`
56
+ rounded-full p-1 transition-all duration-300
57
+ ${$j(s)}
58
+ ${Jj(s)}
59
+ `,style:{backgroundColor:et.accent},title:m,role:"img","aria-hidden":"true",children:n.jsx(Zj,{size:o,state:s})})})}function Pj(s){switch(s){case"idle":return"Standing by...";case"initializing":return"Setting up features...";case"scheduling":return"Planning next moves...";case"spawning":return"Deploying agents...";case"monitoring":return"Watching progress...";case"complete":return"Mission accomplished!";case"draining":return"Draining agents...";case"paused":return"Paused";default:return"Orchestrating..."}}function e1(s){switch(s){case"complete":return"text-primary";case"spawning":return"text-primary";case"scheduling":case"monitoring":return"text-primary";case"initializing":return"text-yellow-600 dark:text-yellow-400";case"draining":return"text-amber-600 dark:text-amber-400";case"paused":return"text-muted-foreground";default:return"text-muted-foreground"}}function t1(s){const c=new Date,o=new Date(s),u=c.getTime()-o.getTime(),m=Math.floor(u/1e3);if(m<5)return"just now";if(m<60)return`${m}s ago`;const g=Math.floor(m/60);return g<60?`${g}m ago`:`${Math.floor(g/60)}h ago`}function a1({status:s}){const[c,o]=f.useState(!1);return n.jsx(Ee,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:n.jsxs(ke,{className:"p-4",children:[n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx(Ij,{state:s.state,size:"md"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),n.jsx("span",{className:`text-sm font-medium ${e1(s.state)}`,children:Pj(s.state)})]}),n.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:s.message}),n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsxs(Ae,{variant:"outline",className:"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-700",children:[n.jsx(nr,{size:12}),"Coding: ",s.codingAgents]}),n.jsxs(Ae,{variant:"outline",className:"bg-purple-100 text-purple-700 border-purple-300 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700",children:[n.jsx(ar,{size:12}),"Testing: ",s.testingAgents]}),n.jsxs(Ae,{variant:"outline",className:"bg-green-100 text-green-700 border-green-300 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700",children:[n.jsx(gl,{size:12}),"Ready: ",s.readyCount]}),s.blockedCount>0&&n.jsxs(Ae,{variant:"outline",className:"bg-amber-100 text-amber-700 border-amber-300 dark:bg-amber-900/30 dark:text-amber-300 dark:border-amber-700",children:[n.jsx(Ly,{size:12}),"Blocked: ",s.blockedCount]})]})]}),s.recentEvents.length>0&&n.jsxs(J,{variant:"ghost",size:"sm",onClick:()=>o(!c),className:"text-primary hover:bg-primary/10",children:[n.jsx(_a,{size:12}),"Activity",c?n.jsx(Au,{size:14}):n.jsx(tr,{size:14})]})]}),c&&s.recentEvents.length>0&&n.jsx("div",{className:"mt-3 pt-3 border-t border-primary/20",children:n.jsx("div",{className:"space-y-1.5",children:s.recentEvents.map((u,m)=>n.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[n.jsx("span",{className:"text-primary shrink-0 font-mono",children:t1(u.timestamp)}),n.jsx("span",{className:"text-foreground",children:u.message})]},`${u.timestamp}-${m}`))})})]})})}const hh="autoforge-activity-collapsed";function n1({agents:s,orchestratorStatus:c,recentActivity:o,isExpanded:u=!0,getAgentLogs:m,browserScreenshots:g}){const[x,p]=f.useState(u),[y,b]=f.useState(()=>{try{return localStorage.getItem(hh)==="true"}catch{return!1}}),[T,w]=f.useState(null),_=()=>{const S=!y;b(S);try{localStorage.setItem(hh,String(S))}catch{}};return!c&&s.length===0?null:n.jsxs(Ee,{className:"mb-6 overflow-hidden py-0",children:[n.jsxs("button",{onClick:()=>p(!x),className:"w-full flex items-center justify-between px-4 py-3 bg-primary hover:bg-primary/90 transition-colors",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Hy,{size:20,className:"text-primary-foreground"}),n.jsx("span",{className:"font-semibold text-primary-foreground uppercase tracking-wide",children:"Mission Control"}),n.jsx(Ae,{variant:"secondary",className:"ml-2",children:s.length>0?`${s.length} ${s.length===1?"agent":"agents"} active`:c?.state==="initializing"?"Initializing":c?.state==="draining"?"Draining":c?.state==="paused"?"Paused":c?.state==="complete"?"Complete":"Orchestrating"})]}),x?n.jsx(Au,{size:20,className:"text-primary-foreground"}):n.jsx(tr,{size:20,className:"text-primary-foreground"})]}),n.jsx("div",{className:`
60
+ transition-all duration-300 ease-out
61
+ ${x?"max-h-[600px] opacity-100 overflow-y-auto":"max-h-0 opacity-0 overflow-hidden"}
62
+ `,children:n.jsxs(ke,{className:"p-4",children:[c&&n.jsx(a1,{status:c}),s.length>0&&n.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:s.map(S=>{const D=g?Array.from(g.values()).find(k=>k.agentIndex===S.agentIndex):void 0;return n.jsx(Qj,{agent:S,onShowLogs:k=>{const N=s.find(M=>M.agentIndex===k);N&&w(N)},browserScreenshot:D},`agent-${S.agentIndex}`)})}),o.length>0&&n.jsxs("div",{className:"mt-4 pt-4 border-t",children:[n.jsxs(J,{variant:"ghost",size:"sm",onClick:_,className:"gap-2 mb-2 h-auto p-1",children:[n.jsx(Fh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",o.length,")"]}),y?n.jsx(tr,{size:14,className:"text-muted-foreground"}):n.jsx(Au,{size:14,className:"text-muted-foreground"})]}),n.jsx("div",{className:`
63
+ transition-all duration-200 ease-out overflow-hidden
64
+ ${y?"max-h-0 opacity-0":"max-h-[300px] opacity-100"}
65
+ `,children:n.jsx(Xj,{activities:o,maxItems:5,showHeader:!1})})]})]})}),T&&m&&n.jsx(Yj,{agent:T,logs:m(T.agentIndex),onClose:()=>w(null)})]})}function xh(){const{progress:s,wsState:c,features:o}=Ft(),u=o&&o.pending.length===0&&o.in_progress.length===0&&o.done.length===0&&(o.needs_human_input?.length||0)===0&&c.agentStatus==="running";return n.jsxs("div",{className:"overflow-y-auto flex-1 p-6 space-y-6",children:[n.jsx(oj,{passing:s.passing,total:s.total,percentage:s.percentage,isConnected:c.isConnected,logs:c.activeAgents.length===0?c.logs:void 0,agentStatus:c.activeAgents.length===0?c.agentStatus:void 0}),n.jsx(n1,{agents:c.activeAgents,orchestratorStatus:c.orchestratorStatus,recentActivity:c.recentActivity,getAgentLogs:c.getAgentLogs,browserScreenshots:c.browserScreenshots}),u&&n.jsx(Ee,{className:"p-8 text-center",children:n.jsxs(ke,{className:"p-0",children:[n.jsx(Ce,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),n.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),n.jsx("p",{className:"text-muted-foreground",children:"The agent is reading your spec and creating features. This may take a moment."})]})})]})}function l1({feature:s,allFeatures:c=[],compact:o=!1}){const u=s.dependencies||[];if(u.length===0)return null;const m=s.blocked??(s.blocking_dependencies&&s.blocking_dependencies.length>0)??!1,g=s.blocking_dependencies?.length??0;let x=u.length-g;if(c.length>0&&!s.blocking_dependencies){const p=new Set(c.filter(y=>y.passes).map(y=>y.id));x=u.filter(y=>p.has(y)).length}return o?n.jsx(Ae,{variant:"outline",className:`gap-1 font-mono text-xs ${m?"bg-destructive/10 text-destructive border-destructive/30":"bg-muted text-muted-foreground"}`,title:m?`Blocked by ${g} ${g===1?"dependency":"dependencies"}`:`${x}/${u.length} dependencies satisfied`,children:m?n.jsxs(n.Fragment,{children:[n.jsx(da,{size:12}),n.jsx("span",{children:g})]}):n.jsxs(n.Fragment,{children:[n.jsx(Nl,{size:12}),n.jsxs("span",{children:[x,"/",u.length]})]})}):n.jsx("div",{className:"flex items-center gap-2",children:m?n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[n.jsx(da,{size:14}),n.jsxs("span",{className:"font-medium",children:["Blocked by ",g," ",g===1?"dependency":"dependencies"]})]}):n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(Da,{size:14,className:"text-primary"}),n.jsxs("span",{children:["All ",u.length," ",u.length===1?"dependency":"dependencies"," satisfied"]})]})})}function s1(s){const c=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let o=0;for(let u=0;u<s.length;u++)o=s.charCodeAt(u)+((o<<5)-o);return c[Math.abs(o)%c.length]}function i1({feature:s,onClick:c,isInProgress:o,allFeatures:u=[],activeAgent:m}){const g=s1(s.category),x=s.blocked||s.blocking_dependencies&&s.blocking_dependencies.length>0,p=!!m;return n.jsx(Ee,{onClick:c,className:`
66
+ cursor-pointer transition-all hover:border-primary py-3
67
+ ${o?"animate-pulse":""}
68
+ ${s.passes?"border-primary/50":""}
69
+ ${s.needs_human_input?"border-amber-500/50":""}
70
+ ${x&&!s.passes&&!s.needs_human_input?"border-destructive/50 opacity-80":""}
71
+ ${p?"ring-2 ring-primary ring-offset-2":""}
72
+ `,children:n.jsxs(ke,{className:"p-4 space-y-3",children:[n.jsxs("div",{className:"flex items-start justify-between gap-2",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ae,{className:`${g} text-white`,children:s.category}),n.jsx(l1,{feature:s,allFeatures:u,compact:!0})]}),n.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",s.priority]})]}),n.jsx("h3",{className:"font-semibold line-clamp-2",children:s.name}),n.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:s.description}),m&&n.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[n.jsx(Cl,{name:m.agentName,state:m.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"text-xs font-semibold text-primary",children:[m.agentName," is working on this!"]}),m.thought&&n.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[n.jsx(Uu,{size:10,className:"text-muted-foreground shrink-0"}),n.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:m.thought})]})]})]}),n.jsx("div",{className:"flex items-center gap-2 text-sm",children:o?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):s.passes?n.jsxs(n.Fragment,{children:[n.jsx(Kt,{size:16,className:"text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):s.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx(cr,{size:16,className:"text-amber-500"}),n.jsx("span",{className:"text-amber-500 font-medium",children:"Needs Your Input"})]}):x?n.jsxs(n.Fragment,{children:[n.jsx(pl,{size:16,className:"text-destructive"}),n.jsx("span",{className:"text-destructive",children:"Blocked"})]}):n.jsxs(n.Fragment,{children:[n.jsx(pl,{size:16,className:"text-muted-foreground"}),n.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const r1={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary",human_input:"border-t-4 border-t-amber-500"};function Fi({title:s,count:c,features:o,allFeatures:u=[],activeAgents:m=[],color:g,onFeatureClick:x,onAddFeature:p,onExpandProject:y,showExpandButton:b,onCreateSpec:T,showCreateSpec:w}){const _=new Map;for(const S of m){const D=S.featureIds||[S.featureId];for(const k of D)_.set(k,S)}return n.jsxs(Ee,{className:`overflow-hidden ${r1[g]} py-0`,children:[n.jsxs(En,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[n.jsxs(yl,{className:"text-lg font-semibold flex items-center gap-2",children:[s,n.jsx(Ae,{variant:"secondary",children:c})]}),(p||y)&&n.jsxs("div",{className:"flex items-center gap-2",children:[p&&n.jsx(J,{onClick:p,size:"icon-sm",title:"Add new feature (N)",children:n.jsx(ln,{size:16})}),y&&b&&n.jsx(J,{onClick:y,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:n.jsx(_a,{size:16})})]})]}),n.jsx(ke,{className:"p-0",children:n.jsx("div",{className:"h-[600px] overflow-y-auto",children:n.jsx("div",{className:"p-4 space-y-3",children:o.length===0?n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:w&&T?n.jsxs("div",{className:"space-y-4",children:[n.jsx("p",{children:"No spec created yet"}),n.jsxs(J,{onClick:T,children:[n.jsx(Gy,{size:18}),"Create Spec with AI"]})]}):"No features"}):o.map((S,D)=>n.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${D*50}ms`},children:n.jsx(i1,{feature:S,onClick:()=>x(S),isInProgress:g==="progress",allFeatures:u,activeAgent:_.get(S.id)})},S.id))})})})]})}function c1({features:s,onFeatureClick:c,onAddFeature:o,onExpandProject:u,activeAgents:m=[],onCreateSpec:g,hasSpec:x=!0}){const p=s&&s.pending.length+s.in_progress.length+s.done.length+(s.needs_human_input?.length||0)>0,y=s?[...s.pending,...s.in_progress,...s.done,...s.needs_human_input||[]]:[],b=s?.needs_human_input?.length||0,T=b>0;return s?n.jsxs("div",{className:`grid grid-cols-1 ${T?"md:grid-cols-4":"md:grid-cols-3"} gap-6`,children:[n.jsx(Fi,{title:"Pending",count:s.pending.length,features:s.pending,allFeatures:y,activeAgents:m,color:"pending",onFeatureClick:c,onAddFeature:o,onExpandProject:u,showExpandButton:p&&x,onCreateSpec:g,showCreateSpec:!x&&!p}),n.jsx(Fi,{title:"In Progress",count:s.in_progress.length,features:s.in_progress,allFeatures:y,activeAgents:m,color:"progress",onFeatureClick:c}),T&&n.jsx(Fi,{title:"Needs Input",count:b,features:s.needs_human_input,allFeatures:y,activeAgents:m,color:"human_input",onFeatureClick:c}),n.jsx(Fi,{title:"Done",count:s.done.length,features:s.done,allFeatures:y,activeAgents:m,color:"done",onFeatureClick:c})]}):n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(w=>n.jsx(Ee,{className:"py-4",children:n.jsxs(ke,{className:"p-4",children:[n.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),n.jsx("div",{className:"space-y-3",children:[1,2,3].map(_=>n.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},_))})]})},w))})}function u1(){const{features:s,hasSpec:c,wsState:o,setSelectedFeature:u,setShowAddFeature:m,setShowExpandProject:g,setShowSpecChat:x}=Ft();return n.jsx("div",{className:"overflow-y-auto flex-1 p-6",children:n.jsx(c1,{features:s,onFeatureClick:u,onAddFeature:()=>m(!0),onExpandProject:()=>g(!0),activeAgents:o.activeAgents,onCreateSpec:()=>x(!0),hasSpec:c})})}var o1=n0();const gh=Vp(o1),ir=220,ph=80;class d1 extends f.Component{constructor(c){super(c),this.state={hasError:!1,error:null}}static getDerivedStateFromError(c){return{hasError:!0,error:c}}componentDidCatch(c,o){console.error("DependencyGraph error:",c,o)}handleReset=()=>{this.setState({hasError:!1,error:null}),this.props.onReset?.()};render(){return this.state.hasError?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center p-6",children:[n.jsx(da,{size:48,className:"mx-auto mb-4 text-yellow-500"}),n.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),n.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),n.jsxs(J,{onClick:this.handleReset,className:"gap-2",children:[n.jsx(Qy,{size:16}),"Reload Graph"]})]})}):this.props.children}}function f1({data:s}){const c={pending:"bg-yellow-100 border-yellow-300 dark:bg-yellow-900/30 dark:border-yellow-700",in_progress:"bg-cyan-100 border-cyan-300 dark:bg-cyan-900/30 dark:border-cyan-700",done:"bg-green-100 border-green-300 dark:bg-green-900/30 dark:border-green-700",blocked:"bg-red-50 border-red-300 dark:bg-red-900/20 dark:border-red-700",needs_human_input:"bg-amber-100 border-amber-300 dark:bg-amber-900/30 dark:border-amber-700"},o={pending:"text-yellow-900 dark:text-yellow-100",in_progress:"text-cyan-900 dark:text-cyan-100",done:"text-green-900 dark:text-green-100",blocked:"text-red-900 dark:text-red-100",needs_human_input:"text-amber-900 dark:text-amber-100"},u=()=>{switch(s.status){case"done":return n.jsx(Kt,{size:16,className:o[s.status]});case"in_progress":return n.jsx(Ce,{size:16,className:`${o[s.status]} animate-spin`});case"blocked":return n.jsx(da,{size:16,className:"text-destructive"});case"needs_human_input":return n.jsx(cr,{size:16,className:o[s.status]});default:return n.jsx(pl,{size:16,className:o[s.status]})}};return n.jsxs(n.Fragment,{children:[n.jsx(Im,{type:"target",position:hl.Left,className:"!bg-border !w-2 !h-2"}),n.jsxs("div",{className:`
73
+ px-4 py-3 rounded-lg border-2 cursor-pointer
74
+ transition-all hover:shadow-md relative
75
+ ${c[s.status]}
76
+ `,onClick:s.onClick,style:{minWidth:ir-20,maxWidth:ir},children:[s.agent&&n.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:n.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:n.jsx(Cl,{name:s.agent.name,state:s.agent.state,size:"sm"})})}),n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(u,{}),n.jsxs("span",{className:`text-xs font-mono ${o[s.status]} opacity-70`,children:["#",s.priority]}),s.agent&&n.jsx("span",{className:`text-xs font-bold ${o[s.status]} ml-auto`,children:s.agent.name})]}),n.jsx("div",{className:`font-bold text-sm ${o[s.status]} truncate`,title:s.name,children:s.name}),n.jsx("div",{className:`text-xs ${o[s.status]} opacity-70 truncate`,title:s.category,children:s.category})]}),n.jsx(Im,{type:"source",position:hl.Right,className:"!bg-border !w-2 !h-2"})]})}const m1={feature:f1};function yh(s,c,o="LR"){const u=new gh.graphlib.Graph;u.setDefaultEdgeLabel(()=>({}));const m=o==="LR";return u.setGraph({rankdir:o,nodesep:50,ranksep:100,marginx:50,marginy:50}),s.forEach(x=>{u.setNode(x.id,{width:ir,height:ph})}),c.forEach(x=>{u.setEdge(x.source,x.target)}),gh.layout(u),{nodes:s.map(x=>{const p=u.node(x.id);return{...x,position:{x:p.x-ir/2,y:p.y-ph/2},sourcePosition:m?hl.Right:hl.Bottom,targetPosition:m?hl.Left:hl.Top}}),edges:c}}function h1({graphData:s,onNodeClick:c,activeAgents:o=[]}){const[u,m]=f.useState("LR"),g=f.useRef(c);f.useEffect(()=>{g.current=c},[c]);const x=f.useCallback(E=>{g.current?.(E)},[]),p=f.useMemo(()=>{const E=new Map;for(const z of o){const L=z.featureIds||[z.featureId];for(const W of L)E.set(W,{name:z.agentName,state:z.state})}return E},[o]),y=f.useMemo(()=>{const E=s.nodes.map(L=>({id:String(L.id),type:"feature",position:{x:0,y:0},data:{...L,onClick:()=>x(L.id),agent:p.get(L.id)}})),z=s.edges.map((L,W)=>({id:`e${L.source}-${L.target}-${W}`,source:String(L.source),target:String(L.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:l0.ArrowClosed,color:"#a1a1aa"}}));return yh(E,z,u)},[s,u,x,p]),[b,T,w]=s0(y.nodes),[_,S,D]=i0(y.edges),k=f.useRef(""),N=f.useRef(u);f.useEffect(()=>{const E=Array.from(p.entries()).map(([L,W])=>({featureId:L,agentName:W.name,agentState:W.state})),z=JSON.stringify({nodes:s.nodes.map(L=>({id:L.id,status:L.status})),edges:s.edges,agents:E});if(z!==k.current||u!==N.current){k.current=z,N.current=u;const{nodes:L,edges:W}=yh(y.nodes,y.edges,u);T(L),S(W)}},[s,u,T,S,y,p]);const M=f.useCallback(E=>{m(E)},[]),O=f.useCallback(E=>{switch(E.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";case"needs_human_input":return"#f59e0b";default:return"#eab308"}},[]);return s.nodes.length===0?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),n.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):n.jsxs("div",{className:"h-full w-full relative bg-background",children:[n.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[n.jsx(J,{variant:u==="LR"?"default":"outline",size:"sm",onClick:()=>M("LR"),children:"Horizontal"}),n.jsx(J,{variant:u==="TB"?"default":"outline",size:"sm",onClick:()=>M("TB"),children:"Vertical"})]}),n.jsx(Ee,{className:"absolute top-4 right-4 z-10",children:n.jsxs(ke,{className:"p-3",children:[n.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),n.jsx("span",{children:"Pending"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),n.jsx("span",{children:"In Progress"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),n.jsx("span",{children:"Done"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),n.jsx("span",{children:"Blocked"})]})]})]})}),n.jsxs(r0,{nodes:b,edges:_,onNodesChange:w,onEdgesChange:D,nodeTypes:m1,connectionMode:c0.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[n.jsx(u0,{color:"#d4d4d8",gap:20,size:1}),n.jsx(o0,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),n.jsx(d0,{nodeColor:O,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function x1({graphData:s,onNodeClick:c,activeAgents:o}){const[u,m]=f.useState(0),g=f.useCallback(()=>{m(x=>x+1)},[]);return n.jsx(d1,{onReset:g,children:n.jsx(h1,{graphData:s,onNodeClick:c,activeAgents:o})},u)}function g1(){const{graphData:s,handleGraphNodeClick:c,wsState:o}=Ft();return n.jsx("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden p-6",children:s?n.jsx("div",{className:"flex-1 min-h-0",children:n.jsx(x1,{graphData:s,onNodeClick:c,activeAgents:o.activeAgents})}):n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(Ce,{size:32,className:"animate-spin text-primary"})})})}function p1({screenshots:s,onSubscribe:c,onUnsubscribe:o}){const[u,m]=f.useState(null);f.useEffect(()=>(c(),()=>o()),[c,o]);const g=Array.from(s.values());if(g.length===0)return n.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-2",children:[n.jsx(Lh,{size:24}),n.jsx("span",{className:"text-sm",children:"No active browser sessions"}),n.jsx("span",{className:"text-xs",children:"Screenshots will appear when agents open browsers"})]});const x=u?s.get(u):null;return n.jsxs("div",{className:"h-full overflow-auto p-3",children:[x&&n.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70",onClick:()=>m(null),children:n.jsxs("div",{className:"relative max-w-[90vw] max-h-[90vh] bg-card border-2 border-border rounded-lg overflow-hidden",onClick:p=>p.stopPropagation(),children:[n.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-muted border-b border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[x.agentType==="coding"?n.jsx(nr,{size:14,className:"text-blue-500"}):n.jsx(ar,{size:14,className:"text-purple-500"}),n.jsx("span",{className:"font-mono text-sm font-bold",children:xl[x.agentIndex%xl.length]}),n.jsx(Ae,{variant:"outline",className:"text-[10px] h-4",children:x.agentType}),n.jsx("span",{className:"text-xs text-muted-foreground truncate",children:x.featureName})]}),n.jsx("button",{onClick:()=>m(null),className:"p-1 hover:bg-accent rounded transition-colors cursor-pointer",children:n.jsx(Ie,{size:16})})]}),n.jsx("img",{src:x.imageDataUrl,alt:`Browser view - ${x.featureName}`,className:"max-w-full max-h-[calc(90vh-3rem)] object-contain"})]})}),n.jsx("div",{className:"grid gap-3 grid-cols-1 md:grid-cols-2 xl:grid-cols-3",children:g.map(p=>n.jsxs("div",{className:"border-2 border-border rounded-lg overflow-hidden bg-card hover:border-foreground/30 transition-colors",children:[n.jsxs("div",{className:"flex items-center justify-between px-2.5 py-1.5 bg-muted border-b border-border",children:[n.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[p.agentType==="coding"?n.jsx(nr,{size:12,className:"text-blue-500 shrink-0"}):n.jsx(ar,{size:12,className:"text-purple-500 shrink-0"}),n.jsx("span",{className:"font-mono text-xs font-bold",children:xl[p.agentIndex%xl.length]}),n.jsx(Ae,{variant:"outline",className:"text-[9px] h-3.5 px-1",children:p.agentType}),n.jsx("span",{className:"text-[11px] text-muted-foreground truncate",children:p.featureName})]}),n.jsx("button",{onClick:()=>m(p.sessionName),className:"p-0.5 hover:bg-accent rounded transition-colors cursor-pointer shrink-0",title:"Expand",children:n.jsx(Kh,{size:12,className:"text-muted-foreground"})})]}),n.jsx("div",{className:"cursor-pointer overflow-hidden",onClick:()=>m(p.sessionName),children:n.jsx("img",{src:p.imageDataUrl,alt:`Browser - ${p.featureName}`,className:"w-full h-auto max-h-[280px] object-cover object-top"})}),n.jsx("div",{className:"px-2.5 py-1 bg-muted border-t border-border",children:n.jsx("span",{className:"text-[10px] text-muted-foreground font-mono",children:new Date(p.timestamp).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})})})]},p.sessionName))})]})}function y1(){const{wsState:s}=Ft();return n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(p1,{screenshots:s.browserScreenshots,onSubscribe:s.subscribeBrowserView,onUnsubscribe:s.unsubscribeBrowserView})})}const v1={background:"#09090b",foreground:"#fafafa",cursor:"#3b82f6",cursorAccent:"#09090b",selectionBackground:"rgba(59, 130, 246, 0.3)",selectionForeground:"#ffffff",black:"#09090b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#fafafa",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#ffffff"},vh=1e3,bh=3e4;function b1({projectName:s,terminalId:c,isActive:o}){const u=f.useRef(null),m=f.useRef(null),g=f.useRef(null),x=f.useRef(null),p=f.useRef(null),y=f.useRef(0),b=f.useRef(!1),T=f.useRef(!1),w=f.useRef(!1),_=f.useRef(!1),S=f.useRef(null),D=f.useRef(null),k=f.useRef(null),N=f.useRef(o),[M,O]=f.useState(!1),[E,z]=f.useState(!1),[L,W]=f.useState(null);f.useEffect(()=>{w.current=E},[E]),f.useEffect(()=>{N.current=o},[o]);const K=f.useCallback(Z=>{const v=new TextEncoder().encode(Z);let R="";for(let ee=0;ee<v.length;ee++)R+=String.fromCharCode(v[ee]);return btoa(R)},[]),ae=f.useCallback(Z=>{try{const Y=atob(Z),v=new Uint8Array(Y.length);for(let ee=0;ee<Y.length;ee++)v[ee]=Y.charCodeAt(ee);return new TextDecoder().decode(v)}catch{return console.error("Failed to decode base64 data"),""}},[]),Q=f.useCallback(Z=>{x.current?.readyState===WebSocket.OPEN&&x.current.send(JSON.stringify(Z))},[]),ne=f.useCallback((Z,Y)=>{Q({type:"resize",cols:Z,rows:Y})},[Q]),I=f.useCallback(()=>{if(g.current&&m.current)try{const Z=g.current.proposeDimensions();Z&&Z.cols&&Z.rows&&!isNaN(Z.cols)&&!isNaN(Z.rows)&&Z.cols>=1&&Z.rows>=1&&g.current.fit();const{cols:v,rows:R}=m.current;v>0&&R>0&&ne(v,R)}catch{}},[ne]),H=f.useCallback(()=>{if(!s||!c||!N.current||T.current||x.current?.readyState===WebSocket.CONNECTING||x.current?.readyState===WebSocket.OPEN)return;T.current=!0,p.current&&(clearTimeout(p.current),p.current=null);const Z=window.location.protocol==="https:"?"wss:":"ws:",Y=window.location.host,v=`${Z}//${Y}/api/terminal/ws/${encodeURIComponent(s)}/${encodeURIComponent(c)}`;try{const R=new WebSocket(v);x.current=R,R.onopen=()=>{if(T.current=!1,O(!0),z(!1),W(null),y.current=0,m.current){const{cols:ee,rows:te}=m.current;ne(ee,te)}},R.onmessage=ee=>{try{const te=JSON.parse(ee.data);switch(te.type){case"output":{const ie=ae(te.data);ie&&m.current&&m.current.write(ie);break}case"exit":{z(!0),W(te.code),m.current&&(m.current.writeln(""),m.current.writeln(`\x1B[33m[Shell exited with code ${te.code}]\x1B[0m`),m.current.writeln("\x1B[90mPress any key to reconnect...\x1B[0m"));break}}}catch{console.error("Failed to parse terminal WebSocket message")}},R.onclose=()=>{T.current=!1,O(!1),x.current=null;const ee=N.current&&!w.current&&!_.current;if(_.current=!1,ee){const te=Math.min(vh*Math.pow(2,y.current),bh);y.current++,p.current=window.setTimeout(()=>{H()},te)}},R.onerror=()=>{R.close()}}catch{T.current=!1;const R=Math.min(vh*Math.pow(2,y.current),bh);y.current++,p.current=window.setTimeout(()=>{H()},R)}},[s,c,ne,ae]);f.useEffect(()=>{S.current=H},[H]);const P=f.useCallback(()=>{if(!u.current||b.current)return;const Z=new f0({theme:v1,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),Y=new m0;Z.loadAddon(Y),Z.open(u.current),m.current=Z,g.current=Y,b.current=!0,Z.onData(v=>{if(w.current){z(!1),W(null),S.current?.();return}const R={type:"input",data:K(v)};Q(R)}),Z.onResize(({cols:v,rows:R})=>{ne(v,R)})},[K,Q,ne]);return f.useEffect(()=>{if(!o)return;const Z=()=>{I()};return window.addEventListener("resize",Z),()=>{window.removeEventListener("resize",Z)}},[o,I]),f.useEffect(()=>{if(!o){p.current&&(clearTimeout(p.current),p.current=null);return}b.current||P();let Z,Y;const v=()=>{Z=requestAnimationFrame(()=>{Y=requestAnimationFrame(()=>{(!x.current||x.current.readyState!==WebSocket.OPEN)&&S.current?.()})})},R=window.setTimeout(v,50);return()=>{clearTimeout(R),cancelAnimationFrame(Z),cancelAnimationFrame(Y)}},[o,P]),f.useEffect(()=>{if(o&&m.current){let Z,Y;const v=()=>{Z=requestAnimationFrame(()=>{Y=requestAnimationFrame(()=>{m.current&&g.current&&(I(),m.current.refresh(0,m.current.rows-1),m.current.focus())})})},R=window.setTimeout(v,16);return()=>{clearTimeout(R),cancelAnimationFrame(Z),cancelAnimationFrame(Y)}}},[o,I]),f.useEffect(()=>()=>{p.current&&clearTimeout(p.current),x.current&&x.current.close(),m.current&&m.current.dispose(),b.current=!1},[]),f.useEffect(()=>{if(o&&b.current){if(D.current===null&&k.current===null){D.current=s,k.current=c;return}if(D.current===s&&k.current===c)return;D.current=s,k.current=c,m.current&&(m.current.clear(),m.current.write("\x1B[H")),_.current=!0,x.current&&(x.current.close(),x.current=null),T.current=!1,z(!1),W(null),y.current=0,S.current?.()}},[s,c,o]),n.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[n.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[n.jsx("div",{className:`w-2 h-2 rounded-full ${M?"bg-green-500":"bg-destructive"}`,title:M?"Connected":"Disconnected"}),!M&&!E&&n.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),E&&L!==null&&n.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",L]})]}),n.jsx("div",{ref:u,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{m.current?.focus()}})]})}function j1({terminals:s,activeTerminalId:c,onSelect:o,onCreate:u,onRename:m,onClose:g}){const[x,p]=f.useState(null),[y,b]=f.useState(""),[T,w]=f.useState({visible:!1,x:0,y:0,terminalId:null}),_=f.useRef(null),S=f.useRef(null);f.useEffect(()=>{x&&_.current&&(_.current.focus(),_.current.select())},[x]),f.useEffect(()=>{const K=ae=>{S.current&&!S.current.contains(ae.target)&&w(Q=>({...Q,visible:!1}))};if(T.visible)return document.addEventListener("mousedown",K),()=>document.removeEventListener("mousedown",K)},[T.visible]);const D=f.useCallback(K=>{p(K.id),b(K.name),w(ae=>({...ae,visible:!1}))},[]),k=f.useCallback(()=>{x&&y.trim()&&m(x,y.trim()),p(null),b("")},[x,y,m]),N=f.useCallback(()=>{p(null),b("")},[]),M=f.useCallback(K=>{Cs(K,!1)?(K.preventDefault(),k()):K.key==="Escape"&&(K.preventDefault(),N())},[k,N]),O=f.useCallback(K=>{D(K)},[D]),E=f.useCallback((K,ae)=>{K.preventDefault(),w({visible:!0,x:K.clientX,y:K.clientY,terminalId:ae})},[]),z=f.useCallback(()=>{if(T.terminalId){const K=s.find(ae=>ae.id===T.terminalId);K&&D(K)}},[T.terminalId,s,D]),L=f.useCallback(()=>{T.terminalId&&g(T.terminalId),w(K=>({...K,visible:!1}))},[T.terminalId,g]),W=f.useCallback((K,ae)=>{K.stopPropagation(),g(ae)},[g]);return n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[s.map(K=>n.jsxs("div",{className:`
77
+ group flex items-center gap-1 px-3 py-1 rounded cursor-pointer
78
+ transition-colors duration-100 select-none min-w-0
79
+ ${c===K.id?"bg-primary text-primary-foreground":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"}
80
+ `,onClick:()=>o(K.id),onDoubleClick:()=>O(K),onContextMenu:ae=>E(ae,K.id),children:[x===K.id?n.jsx(tt,{ref:_,type:"text",value:y,onChange:ae=>b(ae.target.value),onBlur:k,onKeyDown:M,className:"h-6 px-1 py-0 text-sm font-mono w-24",onClick:ae=>ae.stopPropagation()}):n.jsx("span",{className:"text-sm font-mono truncate max-w-[120px]",children:K.name}),s.length>1&&n.jsx("button",{onClick:ae=>W(ae,K.id),className:`
81
+ p-0.5 rounded opacity-0 group-hover:opacity-100 transition-opacity
82
+ ${c===K.id?"hover:bg-black/20":"hover:bg-white/20"}
83
+ `,title:"Close terminal",children:n.jsx(Ie,{className:"w-3 h-3"})})]},K.id)),n.jsx(J,{variant:"ghost",size:"icon",onClick:u,className:"h-8 w-8 bg-zinc-800 text-zinc-300 hover:bg-zinc-700",title:"New terminal",children:n.jsx(ln,{className:"w-4 h-4"})}),T.visible&&n.jsxs("div",{ref:S,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:T.x,top:T.y},children:[n.jsx("button",{onClick:z,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),s.length>1&&n.jsx("button",{onClick:L,className:"w-full px-3 py-1.5 text-left text-sm font-mono text-destructive hover:bg-destructive hover:text-destructive-foreground transition-colors",children:"Close"})]})]})}function N1(){const{selectedProject:s}=Ft(),c=s??"",[o,u]=f.useState([]),[m,g]=f.useState(null),[x,p]=f.useState(!1),y=f.useCallback(async()=>{if(c){p(!0);try{const _=await I0(c);u(_),_.length>0&&g(S=>!S||!_.find(D=>D.id===S)?_[0].id:S)}catch(_){console.error("Failed to fetch terminals:",_)}finally{p(!1)}}},[c]),b=f.useCallback(async()=>{if(c)try{const _=await P0(c);u(S=>[...S,_]),g(_.id)}catch(_){console.error("Failed to create terminal:",_)}},[c]),T=f.useCallback(async(_,S)=>{if(c)try{const D=await ev(c,_,S);u(k=>k.map(N=>N.id===_?D:N))}catch(D){console.error("Failed to rename terminal:",D)}},[c]),w=f.useCallback(async _=>{if(!(!c||o.length<=1))try{if(await tv(c,_),u(S=>S.filter(D=>D.id!==_)),m===_){const S=o.filter(D=>D.id!==_);S.length>0&&g(S[0].id)}}catch(S){console.error("Failed to close terminal:",S)}},[c,o,m]);return f.useEffect(()=>{c?y():(u([]),g(null))},[c]),n.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[o.length>0&&n.jsx(j1,{terminals:o,activeTerminalId:m,onSelect:g,onCreate:b,onRename:T,onClose:w}),n.jsx("div",{className:"flex-1 min-h-0 relative",children:x?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):o.length===0?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):o.map(_=>{const S=_.id===m;return n.jsx("div",{className:"absolute inset-0",style:{zIndex:S?10:1,transform:S?"none":"translateX(-200%)",pointerEvents:S?"auto":"none"},children:n.jsx(b1,{projectName:c,terminalId:_.id,isActive:S})},_.id)})})]})}const jh="autoforge-logs-tab";function Nh(s){const c=s.toLowerCase();return c.includes("error")||c.includes("exception")||c.includes("traceback")?"error":c.includes("warn")||c.includes("warning")?"warn":c.includes("debug")?"debug":"info"}function Sh(s){switch(s){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}}function Ch(s){try{return new Date(s).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}}function S1(){const{wsState:s}=Ft(),[c,o]=f.useState(()=>{try{return localStorage.getItem(jh)==="devserver"?"devserver":"agent"}catch{return"agent"}}),[u,m]=f.useState(!0),[g,x]=f.useState(!0),p=f.useRef(null),y=f.useRef(null),b=f.useCallback(D=>{o(D);try{localStorage.setItem(jh,D)}catch{}},[]);f.useEffect(()=>{u&&p.current&&c==="agent"&&(p.current.scrollTop=p.current.scrollHeight)},[s.logs,u,c]),f.useEffect(()=>{g&&y.current&&c==="devserver"&&(y.current.scrollTop=y.current.scrollHeight)},[s.devLogs,g,c]);const T=D=>{const k=D.currentTarget,N=k.scrollHeight-k.scrollTop<=k.clientHeight+50;m(N)},w=D=>{const k=D.currentTarget,N=k.scrollHeight-k.scrollTop<=k.clientHeight+50;x(N)},_=()=>{c==="agent"?s.clearLogs():s.clearDevLogs()},S=c==="agent"?!u:!g;return n.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-border bg-card/50",children:[n.jsxs(J,{variant:c==="agent"?"secondary":"ghost",size:"sm",onClick:()=>b("agent"),className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Yy,{size:12}),"Agent",s.logs.length>0&&n.jsx(Ae,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:s.logs.length})]}),n.jsxs(J,{variant:c==="devserver"?"secondary":"ghost",size:"sm",onClick:()=>b("devserver"),className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Vy,{size:12}),"Dev Server",s.devLogs.length>0&&n.jsx(Ae,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:s.devLogs.length})]}),n.jsx("div",{className:"flex-1"}),S&&n.jsx(Ae,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"}),n.jsx(J,{variant:"ghost",size:"icon",onClick:_,className:"h-7 w-7",title:"Clear logs",children:n.jsx(sn,{size:14,className:"text-muted-foreground"})})]}),c==="agent"?n.jsx("div",{ref:p,onScroll:T,className:"flex-1 overflow-y-auto p-3 font-mono text-sm",children:s.logs.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):n.jsx("div",{className:"space-y-0.5",children:s.logs.map((D,k)=>{const N=Nh(D.line),M=Sh(N),O=Ch(D.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:O}),n.jsx("span",{className:`${M} whitespace-pre-wrap break-all`,children:D.line})]},`${D.timestamp}-${k}`)})})}):n.jsx("div",{ref:y,onScroll:w,className:"flex-1 overflow-y-auto p-3 font-mono text-sm",children:s.devLogs.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):n.jsx("div",{className:"space-y-0.5",children:s.devLogs.map((D,k)=>{const N=Nh(D.line),M=Sh(N),O=Ch(D.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:O}),n.jsx("span",{className:`${M} whitespace-pre-wrap break-all`,children:D.line})]},`${D.timestamp}-${k}`)})})})]})}function bs(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function C1({projectName:s,onError:c}){const[o,u]=f.useState([]),[m,g]=f.useState(!1),[x,p]=f.useState("disconnected"),[y,b]=f.useState(null),[T,w]=f.useState(null),_=f.useRef(null),S=f.useRef(null),D=f.useRef(0),k=3,N=f.useRef(null),M=f.useRef(null),O=f.useRef(null);f.useEffect(()=>()=>{N.current&&clearInterval(N.current),M.current&&clearTimeout(M.current),O.current&&clearTimeout(O.current),_.current&&_.current.close(),S.current=null},[]);const E=f.useCallback(()=>{if(_.current?.readyState===WebSocket.OPEN||_.current?.readyState===WebSocket.CONNECTING)return;p("connecting");const Q=window.location.protocol==="https:"?"wss:":"ws:",ne=window.location.host,I=`${Q}//${ne}/api/assistant/ws/${encodeURIComponent(s)}`,H=new WebSocket(I);_.current=H,H.onopen=()=>{p("connected"),D.current=0,N.current=window.setInterval(()=>{H.readyState===WebSocket.OPEN&&H.send(JSON.stringify({type:"ping"}))},3e4)},H.onclose=()=>{if(p("disconnected"),N.current&&(clearInterval(N.current),N.current=null),D.current<k){D.current++;const P=Math.min(1e3*Math.pow(2,D.current),1e4);M.current=window.setTimeout(E,P)}},H.onerror=()=>{p("error"),c?.("WebSocket connection error")},H.onmessage=P=>{try{const Z=JSON.parse(P.data);switch(Z.type){case"text":{u(Y=>{const v=Y[Y.length-1];return v?.role==="assistant"&&v.isStreaming?[...Y.slice(0,-1),{...v,content:v.content+Z.content}]:(S.current=bs(),[...Y,{id:S.current,role:"assistant",content:Z.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let Y=`Using tool: ${Z.tool}`;if(Z.tool==="mcp__features__feature_create"){const v=Z.input;Y=`Creating feature: "${v.name||"New Feature"}" in ${v.category||"General"}`}else if(Z.tool==="mcp__features__feature_create_bulk"){const R=Z.input.features?.length||0;Y=`Creating ${R} feature${R!==1?"s":""}`}else if(Z.tool==="mcp__features__feature_skip")Y="Skipping feature (moving to end of queue)";else if(Z.tool==="mcp__features__feature_get_stats")Y="Checking project progress";else if(Z.tool==="mcp__features__feature_get_next")Y="Getting next pending feature";else if(Z.tool==="Read"){const R=Z.input.file_path||"";Y=`Reading file: ${R.split("/").pop()||R}`}else Z.tool==="Glob"?Y=`Searching for files: ${Z.input.pattern||"..."}`:Z.tool==="Grep"&&(Y=`Searching for: ${Z.input.pattern||"..."}`);u(v=>[...v,{id:bs(),role:"system",content:Y,timestamp:new Date}]);break}case"question":{w(Z.questions),g(!1),u(Y=>{const v=Y[Y.length-1];return v?.role==="assistant"&&v.isStreaming?[...Y.slice(0,-1),{...v,isStreaming:!1,questions:Z.questions}]:Y});break}case"conversation_created":{b(Z.conversation_id);break}case"response_done":{g(!1),S.current=null,u(Y=>{const v=Y[Y.length-1];return v?.role==="assistant"&&v.isStreaming?[...Y.slice(0,-1),{...v,isStreaming:!1}]:Y});break}case"error":{g(!1),c?.(Z.content),u(Y=>[...Y,{id:bs(),role:"system",content:`Error: ${Z.content}`,timestamp:new Date}]);break}case"pong":break}}catch(Z){console.error("Failed to parse WebSocket message:",Z)}}},[s,c]),z=f.useCallback(Q=>{O.current&&(clearTimeout(O.current),O.current=null),E();const ne=()=>{if(_.current?.readyState===WebSocket.OPEN){O.current=null,g(!0);const I={type:"start"};Q&&(I.conversation_id=Q,b(Q)),_.current.send(JSON.stringify(I))}else _.current?.readyState===WebSocket.CONNECTING?O.current=window.setTimeout(ne,100):O.current=null};O.current=window.setTimeout(ne,100)},[E]),L=f.useCallback(Q=>{if(!_.current||_.current.readyState!==WebSocket.OPEN){c?.("Not connected");return}u(ne=>[...ne,{id:bs(),role:"user",content:Q,timestamp:new Date}]),g(!0),_.current.send(JSON.stringify({type:"message",content:Q}))},[c]),W=f.useCallback(Q=>{if(!_.current||_.current.readyState!==WebSocket.OPEN){c?.("Not connected");return}const ne=[];for(const[,H]of Object.entries(Q))Array.isArray(H)?ne.push(H.join(", ")):ne.push(H);const I=ne.join("; ");u(H=>[...H,{id:bs(),role:"user",content:I,timestamp:new Date}]),w(null),g(!0),_.current.send(JSON.stringify({type:"answer",answers:Q}))},[c]),K=f.useCallback(()=>{D.current=k,N.current&&(clearInterval(N.current),N.current=null),_.current&&(_.current.close(),_.current=null),p("disconnected")},[]),ae=f.useCallback(()=>{u([])},[]);return{messages:o,isLoading:m,connectionStatus:x,conversationId:y,currentQuestions:T,start:z,sendMessage:L,sendAnswer:W,disconnect:K,clearMessages:ae}}function w1(s){return dt({queryKey:["conversations",s],queryFn:()=>Q0(s),enabled:!!s,staleTime:3e4})}function px(s,c){return dt({queryKey:["conversation",s,c],queryFn:()=>Y0(s,c),enabled:!!s&&!!c,staleTime:3e4,retry:(o,u)=>u instanceof Error&&(u.message.toLowerCase().includes("not found")||u.message==="HTTP 404")?!1:o<3})}function z1(s){const c=Ge();return Fe({mutationFn:o=>V0(s,o),onSuccess:(o,u)=>{c.invalidateQueries({queryKey:["conversations",s]}),c.removeQueries({queryKey:["conversation",s,u]})}})}function T1(s){if(!s)return"";const c=new Date(s),u=new Date().getTime()-c.getTime(),m=Math.floor(u/1e3),g=Math.floor(m/60),x=Math.floor(g/60),p=Math.floor(x/24);return m<60?"just now":g<60?`${g}m ago`:x<24?`${x}h ago`:p===1?"yesterday":p<7?`${p}d ago`:c.toLocaleDateString()}function E1({projectName:s,currentConversationId:c,isOpen:o,onClose:u,onSelectConversation:m}){const[g,x]=f.useState(null),[p,y]=f.useState(null),{data:b,isLoading:T}=w1(s),w=z1(s);f.useEffect(()=>{o||y(null)},[o]);const _=(N,M)=>{N.stopPropagation(),x(M)},S=async()=>{if(g)try{y(null),await w.mutateAsync(g.id),x(null)}catch{y("Failed to delete conversation. Please try again.")}},D=()=>{x(null),y(null)},k=N=>{m(N),u()};return f.useEffect(()=>{if(!o)return;const N=M=>{M.key==="Escape"&&(M.preventDefault(),u())};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[o,u]),o?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40",onClick:u}),n.jsxs(Ee,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[n.jsx(En,{className:"p-3 border-b border-border",children:n.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),n.jsx(ke,{className:"p-0",children:T?n.jsx("div",{className:"p-4 flex items-center justify-center",children:n.jsx(Ce,{size:20,className:"animate-spin text-muted-foreground"})}):!b||b.length===0?n.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):n.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:b.map(N=>{const M=N.id===c;return n.jsxs("div",{className:`flex items-center group ${M?"bg-primary/10":"hover:bg-muted"}`,children:[n.jsx("button",{onClick:()=>k(N.id),className:"flex-1 px-3 py-2 text-left",disabled:M,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(Xy,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium truncate text-foreground",children:N.title||"Untitled conversation"}),n.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[n.jsxs("span",{children:[N.message_count," messages"]}),n.jsx("span",{children:"|"}),n.jsx("span",{children:T1(N.updated_at)})]})]})]})}),n.jsx(J,{variant:"ghost",size:"icon",onClick:O=>_(O,N),className:`h-8 w-8 mr-2 ${M?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:n.jsx(sn,{size:14})})]},N.id)})})})]}),n.jsx(xx,{isOpen:g!==null,title:"Delete Conversation",message:p?n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{children:`Are you sure you want to delete "${g?.title||"this conversation"}"? This action cannot be undone.`}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[n.jsx(oa,{size:16,className:"flex-shrink-0"}),n.jsx("span",{children:p})]})]}):`Are you sure you want to delete "${g?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:w.isPending,onConfirm:S,onCancel:D})]}):null}function yx({projectName:s,conversationId:c,initialMessages:o,isLoadingConversation:u,onNewChat:m,onSelectConversation:g,onConversationCreated:x}){const[p,y]=f.useState(""),[b,T]=f.useState(!1),w=f.useRef(null),_=f.useRef(null),S=f.useRef(!1),D=f.useRef(void 0),k=f.useCallback(Y=>{console.error("Assistant error:",Y)},[]),{messages:N,isLoading:M,connectionStatus:O,conversationId:E,currentQuestions:z,start:L,sendMessage:W,sendAnswer:K,clearMessages:ae}=C1({projectName:s,onError:k}),Q=f.useRef(E);f.useEffect(()=>{Q.current===null&&E!==null&&x&&x(E),Q.current=E},[E,x]),f.useEffect(()=>{w.current?.scrollIntoView({behavior:"smooth"})},[N]),f.useEffect(()=>{if(u||D.current===c&&S.current)return;const Y=D.current!==void 0&&D.current!==c;D.current=c,S.current=!0,Y&&ae(),L(c)},[c,u,L,ae]);const ne=f.useCallback(()=>{ae(),m?.()},[ae,m]),I=f.useCallback(Y=>{T(!1),g?.(Y)},[g]);f.useEffect(()=>{M||_.current?.focus()},[M]);const H=()=>{const Y=p.trim();!Y||M||u||(W(Y),y(""))},P=Y=>{Cs(Y)&&(Y.preventDefault(),H())},Z=f.useMemo(()=>{if(!(D.current===c&&!u))return o??[];if(!o||o.length===0)return N;const v=new Map;for(const R of o)v.set(R.id,R);for(const R of N)v.set(R.id,R);return Array.from(v.values())},[o,N,c,u]);return n.jsxs("div",{className:"flex flex-col h-full",children:[n.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[n.jsxs("div",{className:"flex items-center gap-1 relative",children:[n.jsx(J,{variant:"ghost",size:"icon",onClick:ne,className:"h-8 w-8",title:"New conversation",disabled:M,children:n.jsx(ln,{size:16})}),n.jsx(J,{variant:b?"secondary":"ghost",size:"icon",onClick:()=>T(!b),className:"h-8 w-8",title:"Conversation history",children:n.jsx(Ky,{size:16})}),n.jsx(E1,{projectName:s,currentConversationId:c??E,isOpen:b,onClose:()=>T(!1),onSelectConversation:I})]}),n.jsx("div",{className:"flex items-center gap-2",children:O==="connected"?n.jsxs(n.Fragment,{children:[n.jsx(jl,{size:14,className:"text-green-500"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):O==="connecting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:14,className:"text-primary animate-spin"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):n.jsxs(n.Fragment,{children:[n.jsx(bl,{size:14,className:"text-destructive"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),n.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:u?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Loading conversation..."})]})}):Z.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:M?n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Connecting to assistant..."})]}):n.jsx("span",{children:"Ask me anything about the codebase"})}):n.jsxs("div",{className:"py-4",children:[Z.map(Y=>n.jsx(Xu,{message:Y},Y.id)),n.jsx("div",{ref:w})]})}),M&&Z.length>0&&n.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:n.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[n.jsxs("div",{className:"flex gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{children:"Thinking..."})]})}),z&&n.jsx("div",{className:"border-t border-border bg-background",children:n.jsx(fx,{questions:z,onSubmit:K})}),n.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[n.jsxs("div",{className:"flex gap-2",children:[n.jsx(ws,{ref:_,value:p,onChange:Y=>y(Y.target.value),onKeyDown:P,placeholder:"Ask about the codebase...",disabled:M||u||O!=="connected"||!!z,className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),n.jsx(J,{onClick:H,disabled:!p.trim()||M||u||O!=="connected"||!!z,title:"Send message",children:M?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(rr,{size:18})})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:z?"Select an option above to continue":"Press Enter to send, Shift+Enter for new line"})]})]})}const vx="assistant-conversation-";function wh(s){try{const c=localStorage.getItem(`${vx}${s}`);if(c)return JSON.parse(c).conversationId||null}catch{}return null}function A1(s,c){const o=`${vx}${s}`;c?localStorage.setItem(o,JSON.stringify({conversationId:c})):localStorage.removeItem(o)}function D1(){const{selectedProject:s}=Ft(),c=s??"",[o,u]=f.useState(()=>wh(c)),{data:m,isLoading:g,error:x}=px(c||null,o);f.useEffect(()=>{if(x&&o){const w=x.message.toLowerCase();(w.includes("not found")||w.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),u(null))}},[x,o]);const p=m?.messages.map(w=>({id:`db-${w.id}`,role:w.role,content:w.content,timestamp:w.timestamp?new Date(w.timestamp):new Date}));f.useEffect(()=>{c&&A1(c,o)},[c,o]),f.useEffect(()=>{u(wh(c))},[c]);const y=f.useCallback(()=>{u(null)},[]),b=f.useCallback(w=>{u(w)},[]),T=f.useCallback(w=>{u(w)},[]);return n.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[n.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:n.jsx(Ns,{size:18})}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),c&&n.jsx("p",{className:"text-xs opacity-80 font-mono",children:c})]})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:c&&n.jsx(yx,{projectName:c,conversationId:o,initialMessages:p,isLoadingConversation:g,onNewChat:y,onSelectConversation:b,onConversationCreated:T})})]})}function zh({className:s,min:c,max:o,value:u,onChange:m,disabled:g,...x}){return n.jsxs("div",{className:ge("flex items-center gap-3",s),children:[n.jsx("input",{type:"range",min:c,max:o,value:u,onChange:p=>m(Number(p.target.value)),disabled:g,className:ge("slider-input h-2 w-full cursor-pointer appearance-none rounded-full bg-input transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",g&&"cursor-not-allowed opacity-50"),...x}),n.jsx("span",{className:"min-w-[2ch] text-center text-sm font-semibold tabular-nums",children:u})]})}const _1={claude:"Default provider. Uses Claude CLI credentials. API key auth is recommended.",kimi:"Get an API key at kimi.com",glm:"Get an API key at open.bigmodel.cn",ollama:"Run models locally. Install from ollama.com",custom:"Connect to any OpenAI-compatible API endpoint."};function k1(){const{data:s,isLoading:c,isError:o,refetch:u}=qu(),{data:m}=wv(),{data:g}=Cv(),x=zv(),{theme:p,setTheme:y,darkMode:b,toggleDarkMode:T}=ex(),[w,_]=f.useState(!1),[S,D]=f.useState(""),[k,N]=f.useState(""),[M,O]=f.useState(""),E=()=>{s&&!x.isPending&&x.mutate({yolo_mode:!s.yolo_mode})},z=$=>{x.isPending||x.mutate({api_model:$})},L=$=>{x.isPending||x.mutate({testing_agent_ratio:$})},W=$=>{x.isPending||x.mutate({batch_size:$})},K=$=>{x.isPending||x.mutate({testing_batch_size:$})},ae=$=>{x.isPending||x.mutate({effort:$})},Q=$=>{x.isPending||(x.mutate({api_provider:$}),D(""),_(!1),N(""),O(""))},ne=()=>{S.trim()&&!x.isPending&&(x.mutate({api_auth_token:S.trim()}),D(""),_(!1))},I=()=>{M.trim()&&!x.isPending&&(x.mutate({api_base_url:M.trim()}),O(""))},H=()=>{k.trim()&&!x.isPending&&(x.mutate({api_model:k.trim()}),N(""))},P=g?.providers??[],Z=m?.models??[],Y=x.isPending,v=s?.api_provider??"claude",R=P.find($=>$.id===v),te=v!=="claude"&&R?.requires_auth,ie=v==="custom"||v==="azure",Ne=v==="custom"||v==="ollama";return n.jsx("div",{className:"flex-1 overflow-y-auto",children:n.jsxs("div",{className:"max-w-2xl mx-auto p-6 space-y-6",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Qh,{size:24,className:"text-primary"}),n.jsx("h1",{className:"text-2xl font-bold",children:"Settings"}),Y&&n.jsx(Ce,{className:"animate-spin",size:16})]}),c&&n.jsxs("div",{className:"flex items-center justify-center py-8",children:[n.jsx(Ce,{className:"animate-spin",size:24}),n.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),o&&n.jsxs(at,{variant:"destructive",children:[n.jsx(oa,{className:"h-4 w-4"}),n.jsxs(nt,{children:["Failed to load settings",n.jsx(J,{variant:"link",onClick:()=>u(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),s&&!c&&n.jsxs(n.Fragment,{children:[n.jsxs(Ee,{children:[n.jsx(En,{children:n.jsx(yl,{children:"Appearance"})}),n.jsxs(ke,{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx(Se,{className:"font-medium",children:"Theme"}),n.jsx("div",{className:"grid gap-2",children:Wi.map($=>n.jsxs("button",{onClick:()=>y($.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${p===$.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:$.previewColors.background}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:$.previewColors.primary}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:$.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:$.name}),n.jsx("div",{className:"text-xs text-muted-foreground",children:$.description})]}),p===$.id&&n.jsx(Da,{size:18,className:"text-primary shrink-0"})]},$.id))})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Se,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),n.jsxs(J,{id:"dark-mode",variant:"outline",size:"sm",onClick:T,className:"gap-2",children:[b?n.jsx(Yh,{size:16}):n.jsx(Vh,{size:16}),b?"Light":"Dark"]})]})]})]}),n.jsxs(Ee,{children:[n.jsx(En,{children:n.jsx(yl,{children:"API Configuration"})}),n.jsxs(ke,{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx(Se,{className:"font-medium",children:"API Provider"}),n.jsx("div",{className:"flex flex-wrap gap-1.5",children:P.map($=>n.jsx("button",{onClick:()=>Q($.id),disabled:Y,className:`py-1.5 px-3 text-sm font-medium rounded-md border transition-colors ${v===$.id?"bg-primary text-primary-foreground border-primary":"bg-background text-foreground border-border hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:$.name.split(" (")[0]},$.id))}),n.jsx("p",{className:"text-xs text-muted-foreground",children:_1[v]??""}),v==="claude"&&n.jsxs(at,{className:"border-amber-500/50 bg-amber-50 dark:bg-amber-950/20 mt-2",children:[n.jsx(da,{className:"h-4 w-4 text-amber-600"}),n.jsxs(nt,{className:"text-xs text-amber-700 dark:text-amber-300",children:["Anthropic's policy may not permit using subscription-based auth (",n.jsx("code",{className:"text-xs",children:"claude login"}),") with third-party agents. Consider using an API key provider or setting the ",n.jsx("code",{className:"text-xs",children:"ANTHROPIC_API_KEY"})," environment variable to avoid potential account issues."]})]}),te&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Se,{className:"text-sm",children:"API Key"}),s.api_has_auth_token&&!S&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Wm,{size:14,className:"text-green-500"}),n.jsx("span",{children:"Configured"}),n.jsx(J,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs",onClick:()=>D(" "),children:"Change"})]}),(!s.api_has_auth_token||S)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("input",{type:w?"text":"password",value:S.trim(),onChange:$=>D($.target.value),placeholder:"Enter API key...",className:"w-full py-1.5 px-3 pe-9 text-sm border rounded-md bg-background"}),n.jsx("button",{type:"button",onClick:()=>_(!w),className:"absolute end-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:w?n.jsx(Fy,{size:14}):n.jsx(Zy,{size:14})})]}),n.jsx(J,{size:"sm",onClick:ne,disabled:!S.trim()||Y,children:"Save"})]})]}),ie&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Se,{className:"text-sm",children:"Base URL"}),s.api_base_url&&!M&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Wm,{size:14,className:"text-green-500"}),n.jsx("span",{className:"truncate",children:s.api_base_url}),n.jsx(J,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs shrink-0",onClick:()=>O(s.api_base_url||""),children:"Change"})]}),(!s.api_base_url||M)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsx("input",{type:"text",value:M,onChange:$=>O($.target.value),placeholder:v==="azure"?"https://your-resource.services.ai.azure.com/anthropic":"https://api.example.com/v1",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background"}),n.jsx(J,{size:"sm",onClick:I,disabled:!M.trim()||Y,children:"Save"})]})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{className:"font-medium",children:"Model"}),Z.length>0&&n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:Z.map($=>n.jsxs("button",{onClick:()=>z($.id),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(s.api_model??s.model)===$.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx("span",{className:"block",children:$.name}),n.jsx("span",{className:"block text-xs opacity-60",children:$.id})]},$.id))}),Ne&&n.jsxs("div",{className:"flex gap-2 pt-1",children:[n.jsx("input",{type:"text",value:k,onChange:$=>N($.target.value),placeholder:"Custom model name...",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background",onKeyDown:$=>$.key==="Enter"&&H()}),n.jsx(J,{size:"sm",onClick:H,disabled:!k.trim()||Y,children:"Set"})]})]})]})]}),n.jsxs(Ee,{children:[n.jsx(En,{children:n.jsx(yl,{children:"Agent Configuration"})}),n.jsxs(ke,{className:"space-y-6",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Se,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),n.jsx(Ku,{id:"yolo-mode",checked:s.yolo_mode,onCheckedChange:E,disabled:Y})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{className:"font-medium",children:"Reasoning Effort"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"How deeply Claude thinks before responding. xhigh is recommended for autonomous coding."}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:["low","medium","high","xhigh","max"].map($=>n.jsx("button",{onClick:()=>ae($),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(s.effort??"xhigh")===$?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:$},$))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{className:"font-medium",children:"Regression Agents"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map($=>n.jsx("button",{onClick:()=>L($),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${s.testing_agent_ratio===$?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:$},$))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{className:"font-medium",children:"Features per Coding Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent session"}),n.jsx(zh,{min:1,max:15,value:s.batch_size??3,onChange:W,disabled:Y})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{className:"font-medium",children:"Features per Testing Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each testing agent session"}),n.jsx(zh,{min:1,max:15,value:s.testing_batch_size??3,onChange:K,disabled:Y})]})]})]}),x.isError&&n.jsx(at,{variant:"destructive",children:n.jsx(nt,{children:"Failed to save settings. Please try again."})})]})]})})}function M1(){const{selectedProject:s,hasSpec:c,setupComplete:o,setSetupComplete:u,setShowSpecChat:m,activeView:g,selectedProjectData:x}=Ft();if(!o)return n.jsx(sj,{onComplete:()=>u(!0)});if(g==="settings")return n.jsx(k1,{});if(!s)return n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsxs("div",{className:"text-center",children:[n.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),n.jsx("p",{className:"text-muted-foreground",children:"Select a project from the sidebar to get started."})]})});if(!c)return n.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:n.jsx(ij,{projectName:s,projectPath:x?.path,onCreateWithClaude:()=>m(!0),onEditManually:()=>{}})});switch(g){case"dashboard":return n.jsx(xh,{});case"kanban":return n.jsx(u1,{});case"graph":return n.jsx(g1,{});case"browsers":return n.jsx(y1,{});case"terminal":return n.jsx(N1,{});case"logs":return n.jsx(S1,{});case"assistant":return n.jsx(D1,{});default:return n.jsx(xh,{})}}function O1(){const{selectedProject:s}=Ft();return n.jsxs("div",{className:"flex h-screen overflow-hidden bg-background",children:[n.jsx(Ub,{}),n.jsxs("div",{className:"flex-1 flex flex-col min-w-0 overflow-hidden",children:[s&&n.jsx(lj,{}),n.jsx(M1,{})]})]})}function R1({projectName:s,onClose:c}){const o=f.useId(),[u,m]=f.useState(""),[g,x]=f.useState(""),[p,y]=f.useState(""),[b,T]=f.useState(""),[w,_]=f.useState([{id:`${o}-step-0`,value:""}]),[S,D]=f.useState(null),[k,N]=f.useState(1),M=dv(s),O=()=>{_([...w,{id:`${o}-step-${k}`,value:""}]),N(k+1)},E=K=>{_(w.filter(ae=>ae.id!==K))},z=(K,ae)=>{_(w.map(Q=>Q.id===K?{...Q,value:ae}:Q))},L=async K=>{K.preventDefault(),D(null);const ae=w.map(Q=>Q.value.trim()).filter(Q=>Q.length>0);try{await M.mutateAsync({category:u.trim(),name:g.trim(),description:p.trim(),steps:ae,priority:b?parseInt(b,10):void 0}),c()}catch(Q){D(Q instanceof Error?Q.message:"Failed to create feature")}},W=u.trim()&&g.trim()&&p.trim();return n.jsx(Pt,{open:!0,onOpenChange:K=>!K&&c(),children:n.jsxs(ea,{className:"sm:max-w-2xl",children:[n.jsx(ta,{children:n.jsx(aa,{children:"Add Feature"})}),n.jsxs("form",{onSubmit:L,className:"space-y-4",children:[S&&n.jsxs(at,{variant:"destructive",children:[n.jsx(oa,{className:"h-4 w-4"}),n.jsxs(nt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:S}),n.jsx(J,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>D(null),children:n.jsx(Ie,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(Se,{htmlFor:"category",children:"Category"}),n.jsx(tt,{id:"category",type:"text",value:u,onChange:K=>m(K.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(Se,{htmlFor:"priority",children:"Priority"}),n.jsx(tt,{id:"priority",type:"number",value:b,onChange:K=>T(K.target.value),placeholder:"Auto",min:"1"})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{htmlFor:"name",children:"Feature Name"}),n.jsx(tt,{id:"name",type:"text",value:g,onChange:K=>x(K.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{htmlFor:"description",children:"Description"}),n.jsx(ws,{id:"description",value:p,onChange:K=>y(K.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{children:"Test Steps (Optional)"}),n.jsx("div",{className:"space-y-2",children:w.map((K,ae)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:ae+1}),n.jsx(tt,{type:"text",value:K.value,onChange:Q=>z(K.id,Q.target.value),placeholder:"Describe this step...",className:"flex-1"}),w.length>1&&n.jsx(J,{type:"button",variant:"ghost",size:"icon",onClick:()=>E(K.id),children:n.jsx(sn,{size:18})})]},K.id))}),n.jsxs(J,{type:"button",variant:"ghost",size:"sm",onClick:O,children:[n.jsx(ln,{size:16}),"Add Step"]})]}),n.jsxs(Xt,{className:"pt-4 border-t",children:[n.jsx(J,{type:"button",variant:"outline",onClick:c,children:"Cancel"}),n.jsx(J,{type:"submit",disabled:!W||M.isPending,children:M.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(ln,{size:18}),"Create Feature"]})})]})]})]})})}function U1({feature:s,projectName:c,onClose:o,onSaved:u}){const m=f.useId(),[g,x]=f.useState(s.category),[p,y]=f.useState(s.name),[b,T]=f.useState(s.description),[w,_]=f.useState(String(s.priority)),[S,D]=f.useState(()=>s.steps.length>0?s.steps.map((I,H)=>({id:`${m}-step-${H}`,value:I})):[{id:`${m}-step-0`,value:""}]),[k,N]=f.useState(null),[M,O]=f.useState(s.steps.length||1),E=hv(c),z=()=>{D([...S,{id:`${m}-step-${M}`,value:""}]),O(M+1)},L=I=>{D(S.filter(H=>H.id!==I))},W=(I,H)=>{D(S.map(P=>P.id===I?{...P,value:H}:P))},K=async I=>{I.preventDefault(),N(null);const H=S.map(P=>P.value.trim()).filter(P=>P.length>0);try{await E.mutateAsync({featureId:s.id,update:{category:g.trim(),name:p.trim(),description:b.trim(),steps:H,priority:parseInt(w,10)}}),u()}catch(P){N(P instanceof Error?P.message:"Failed to update feature")}},ae=g.trim()&&p.trim()&&b.trim(),Q=S.map(I=>I.value.trim()).filter(I=>I),ne=g.trim()!==s.category||p.trim()!==s.name||b.trim()!==s.description||parseInt(w,10)!==s.priority||JSON.stringify(Q)!==JSON.stringify(s.steps);return n.jsx(Pt,{open:!0,onOpenChange:I=>!I&&o(),children:n.jsxs(ea,{className:"sm:max-w-2xl",children:[n.jsx(ta,{children:n.jsx(aa,{children:"Edit Feature"})}),n.jsxs("form",{onSubmit:K,className:"space-y-4",children:[k&&n.jsxs(at,{variant:"destructive",children:[n.jsx(oa,{className:"h-4 w-4"}),n.jsxs(nt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:k}),n.jsx(J,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>N(null),children:n.jsx(Ie,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(Se,{htmlFor:"category",children:"Category"}),n.jsx(tt,{id:"category",type:"text",value:g,onChange:I=>x(I.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(Se,{htmlFor:"priority",children:"Priority"}),n.jsx(tt,{id:"priority",type:"number",value:w,onChange:I=>_(I.target.value),min:"1",required:!0})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{htmlFor:"name",children:"Feature Name"}),n.jsx(tt,{id:"name",type:"text",value:p,onChange:I=>y(I.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{htmlFor:"description",children:"Description"}),n.jsx(ws,{id:"description",value:b,onChange:I=>T(I.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Se,{children:"Test Steps"}),n.jsx("div",{className:"space-y-2",children:S.map((I,H)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:H+1}),n.jsx(tt,{type:"text",value:I.value,onChange:P=>W(I.id,P.target.value),placeholder:"Describe this step...",className:"flex-1"}),S.length>1&&n.jsx(J,{type:"button",variant:"ghost",size:"icon",onClick:()=>L(I.id),children:n.jsx(sn,{size:18})})]},I.id))}),n.jsxs(J,{type:"button",variant:"ghost",size:"sm",onClick:z,children:[n.jsx(ln,{size:16}),"Add Step"]})]}),n.jsxs(Xt,{className:"pt-4 border-t",children:[n.jsx(J,{type:"button",variant:"outline",onClick:o,children:"Cancel"}),n.jsx(J,{type:"submit",disabled:!ae||!ne||E.isPending,children:E.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx($y,{size:18}),"Save Changes"]})})]})]})]})})}function B1({request:s,onSubmit:c,isLoading:o}){const[u,m]=f.useState(()=>{const y={};for(const b of s.fields)b.type==="boolean"?y[b.id]=!1:y[b.id]="";return y}),[g,x]=f.useState(null),p=async()=>{for(const y of s.fields)if(y.required){const b=u[y.id];if(b==null||b===""){x(`"${y.label}" is required`);return}}x(null),await c(u)};return n.jsxs(at,{className:"border-amber-500 bg-amber-50 dark:bg-amber-950/20",children:[n.jsx(cr,{className:"h-5 w-5 text-amber-600"}),n.jsxs(nt,{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("h4",{className:"font-semibold text-amber-700 dark:text-amber-400",children:"Agent needs your help"}),n.jsx("p",{className:"text-sm text-amber-600 dark:text-amber-300 mt-1",children:s.prompt})]}),n.jsx("div",{className:"space-y-3",children:s.fields.map(y=>n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs(Se,{htmlFor:`human-input-${y.id}`,className:"text-sm font-medium text-foreground",children:[y.label,y.required&&n.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),y.type==="text"&&n.jsx(tt,{id:`human-input-${y.id}`,value:u[y.id],onChange:b=>m(T=>({...T,[y.id]:b.target.value})),placeholder:y.placeholder||"",disabled:o}),y.type==="textarea"&&n.jsx(ws,{id:`human-input-${y.id}`,value:u[y.id],onChange:b=>m(T=>({...T,[y.id]:b.target.value})),placeholder:y.placeholder||"",disabled:o,rows:3}),y.type==="select"&&y.options&&n.jsx("div",{className:"space-y-1.5",children:y.options.map(b=>n.jsxs("label",{className:`flex items-center gap-2 p-2 rounded-md border cursor-pointer transition-colors
84
+ ${u[y.id]===b.value?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[n.jsx("input",{type:"radio",name:`human-input-${y.id}`,value:b.value,checked:u[y.id]===b.value,onChange:T=>m(w=>({...w,[y.id]:T.target.value})),disabled:o,className:"accent-primary"}),n.jsx("span",{className:"text-sm",children:b.label})]},b.value))}),y.type==="boolean"&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ku,{id:`human-input-${y.id}`,checked:u[y.id],onCheckedChange:b=>m(T=>({...T,[y.id]:b})),disabled:o}),n.jsx(Se,{htmlFor:`human-input-${y.id}`,className:"text-sm",children:u[y.id]?"Yes":"No"})]})]},y.id))}),g&&n.jsx("p",{className:"text-sm text-destructive",children:g}),n.jsx(J,{onClick:p,disabled:o,className:"w-full",children:o?n.jsx(Ce,{size:16,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(rr,{size:16}),"Submit Response"]})})]})]})}function q1(s){const c=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let o=0;for(let u=0;u<s.length;u++)o=s.charCodeAt(u)+((o<<5)-o);return c[Math.abs(o)%c.length]}function L1({feature:s,projectName:c,onClose:o}){const[u,m]=f.useState(null),[g,x]=f.useState(!1),[p,y]=f.useState(!1),b=mv(c),T=fv(c),{data:w}=Wh(c),_=xv(c),S=new Map;w&&[...w.pending,...w.in_progress,...w.done,...w.needs_human_input||[]].forEach(O=>{S.set(O.id,O)});const D=(s.dependencies||[]).map(O=>S.get(O)).filter(O=>O!==void 0),k=(s.blocking_dependencies||[]).map(O=>S.get(O)).filter(O=>O!==void 0),N=async()=>{m(null);try{await b.mutateAsync(s.id),o()}catch(O){m(O instanceof Error?O.message:"Failed to skip feature")}},M=async()=>{m(null);try{await T.mutateAsync(s.id),o()}catch(O){m(O instanceof Error?O.message:"Failed to delete feature")}};return p?n.jsx(U1,{feature:s,projectName:c,onClose:()=>y(!1),onSaved:o}):n.jsx(Pt,{open:!0,onOpenChange:O=>!O&&o(),children:n.jsxs(ea,{className:"sm:max-w-2xl p-0 gap-0",children:[n.jsxs(ta,{className:"p-6 pb-4",children:[n.jsx("div",{className:"flex items-start gap-3",children:n.jsx(Ae,{className:`${q1(s.category)} text-white`,children:s.category})}),n.jsx(aa,{className:"text-xl mt-2",children:s.name})]}),n.jsx(ku,{}),n.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[u&&n.jsxs(at,{variant:"destructive",children:[n.jsx(oa,{className:"h-4 w-4"}),n.jsxs(nt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:u}),n.jsx(J,{variant:"ghost",size:"icon-xs",onClick:()=>m(null),children:n.jsx(Ie,{size:14})})]})]}),n.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[s.passes?n.jsxs(n.Fragment,{children:[n.jsx(Kt,{size:24,className:"text-primary"}),n.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):s.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx(cr,{size:24,className:"text-amber-500"}),n.jsx("span",{className:"font-semibold text-amber-500",children:"NEEDS YOUR INPUT"})]}):n.jsxs(n.Fragment,{children:[n.jsx(pl,{size:24,className:"text-muted-foreground"}),n.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),n.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",s.priority]})]}),s.needs_human_input&&s.human_input_request&&n.jsx(B1,{request:s.human_input_request,onSubmit:async O=>{m(null);try{await _.mutateAsync({featureId:s.id,fields:O}),o()}catch(E){m(E instanceof Error?E.message:"Failed to submit response")}},isLoading:_.isPending}),s.human_input_response&&!s.needs_human_input&&n.jsxs(at,{className:"border-green-500 bg-green-50 dark:bg-green-950/20",children:[n.jsx(Kt,{className:"h-4 w-4 text-green-600"}),n.jsxs(nt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-green-700 dark:text-green-400",children:"Human Input Provided"}),n.jsxs("p",{className:"text-sm text-green-600 dark:text-green-300",children:["Response submitted",s.human_input_response.responded_at?` at ${new Date(s.human_input_response.responded_at).toLocaleString()}`:"","."]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),n.jsx("p",{className:"text-foreground",children:s.description})]}),k.length>0&&n.jsxs(at,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[n.jsx(da,{className:"h-4 w-4 text-orange-600"}),n.jsxs(nt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),n.jsx("p",{className:"text-sm text-orange-600 dark:text-orange-300 mb-2",children:"This feature cannot start until the following dependencies are complete:"}),n.jsx("ul",{className:"space-y-1",children:k.map(O=>n.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[n.jsx(pl,{size:14}),n.jsxs("span",{className:"font-mono text-xs",children:["#",O.id]}),n.jsx("span",{children:O.name})]},O.id))})]})]}),D.length>0&&n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[n.jsx(Jy,{size:16}),"Depends On"]}),n.jsx("ul",{className:"space-y-1",children:D.map(O=>n.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[O.passes?n.jsx(Kt,{size:16,className:"text-primary"}):n.jsx(pl,{size:16,className:"text-muted-foreground"}),n.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",O.id]}),n.jsx("span",{className:O.passes?"text-primary":"",children:O.name})]},O.id))})]}),s.steps.length>0&&n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),n.jsx("ol",{className:"list-decimal list-inside space-y-2",children:s.steps.map((O,E)=>n.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:O},E))})]})]}),!s.passes&&n.jsxs(n.Fragment,{children:[n.jsx(ku,{}),n.jsx(Xt,{className:"p-4 bg-muted/50",children:g?n.jsxs("div",{className:"w-full space-y-4",children:[n.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(J,{variant:"destructive",onClick:M,disabled:T.isPending,className:"flex-1",children:T.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):"Yes, Delete"}),n.jsx(J,{variant:"outline",onClick:()=>x(!1),disabled:T.isPending,className:"flex-1",children:"Cancel"})]})]}):n.jsxs("div",{className:"flex gap-3 w-full",children:[n.jsxs(J,{onClick:()=>y(!0),disabled:b.isPending,className:"flex-1",children:[n.jsx(Wy,{size:18}),"Edit"]}),n.jsx(J,{variant:"secondary",onClick:N,disabled:b.isPending,className:"flex-1",children:b.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Iy,{size:18}),"Skip"]})}),n.jsx(J,{variant:"destructive",size:"icon",onClick:()=>x(!0),disabled:b.isPending,children:n.jsx(sn,{size:18})})]})})]})]})})}function Zi(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function H1({projectName:s,onComplete:c,onError:o}){const[u,m]=f.useState([]),[g,x]=f.useState(!1),[p,y]=f.useState(!1),[b,T]=f.useState("disconnected"),[w,_]=f.useState(0),[S,D]=f.useState([]),k=f.useRef(null),N=f.useRef(null),M=f.useRef(0),O=3,E=f.useRef(null),z=f.useRef(null),L=f.useRef(!1),W=f.useRef(!1);f.useEffect(()=>{L.current=p},[p]),f.useEffect(()=>()=>{E.current&&clearInterval(E.current),z.current&&clearTimeout(z.current),k.current&&k.current.close()},[]);const K=f.useCallback(()=>{if(W.current||k.current?.readyState===WebSocket.OPEN)return;T("connecting");const I=window.location.protocol==="https:"?"wss:":"ws:",H=window.location.host,P=`${I}//${H}/api/expand/ws/${encodeURIComponent(s)}`,Z=new WebSocket(P);k.current=Z,Z.onopen=()=>{T("connected"),M.current=0,W.current=!1,E.current=window.setInterval(()=>{Z.readyState===WebSocket.OPEN&&Z.send(JSON.stringify({type:"ping"}))},3e4)},Z.onclose=Y=>{T("disconnected"),E.current&&(clearInterval(E.current),E.current=null);const v=Y.code>=4e3&&Y.code<=4999;if(!W.current&&!v&&M.current<O&&!L.current){M.current++;const R=Math.min(1e3*Math.pow(2,M.current),1e4);z.current=window.setTimeout(K,R)}},Z.onerror=()=>{T("error"),o?.("WebSocket connection error")},Z.onmessage=Y=>{try{const v=JSON.parse(Y.data);switch(v.type){case"text":{m(R=>{const ee=R[R.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...R.slice(0,-1),{...ee,content:ee.content+v.content}]:(N.current=Zi(),[...R,{id:N.current,role:"assistant",content:v.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{_(R=>R+v.count),D(v.features),m(R=>[...R,{id:Zi(),role:"system",content:`Created ${v.count} new feature${v.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{y(!0),x(!1),m(R=>{const ee=R[R.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...R.slice(0,-1),{...ee,isStreaming:!1}]:R}),c?.(v.total_added);break}case"error":{x(!1),o?.(v.content),m(R=>[...R,{id:Zi(),role:"system",content:`Error: ${v.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{x(!1),m(R=>{const ee=R[R.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...R.slice(0,-1),{...ee,isStreaming:!1}]:R});break}}}catch(v){console.error("Failed to parse WebSocket message:",v)}}},[s,c,o]),ae=f.useCallback(()=>{K();let I=0;const H=50,P=()=>{k.current?.readyState===WebSocket.OPEN?(x(!0),k.current.send(JSON.stringify({type:"start"}))):k.current?.readyState===WebSocket.CONNECTING&&(I++<H?setTimeout(P,100):(o?.("Connection timeout"),x(!1)))};setTimeout(P,100)},[K,o]),Q=f.useCallback((I,H)=>{if(!k.current||k.current.readyState!==WebSocket.OPEN){o?.("Not connected");return}m(Z=>[...Z,{id:Zi(),role:"user",content:I,attachments:H,timestamp:new Date}]),x(!0);const P={type:"message",content:I};H&&H.length>0&&(P.attachments=H.map(Z=>({filename:Z.filename,mimeType:Z.mimeType,base64Data:Z.base64Data}))),k.current.send(JSON.stringify(P))},[o]),ne=f.useCallback(()=>{W.current=!0,M.current=O,E.current&&(clearInterval(E.current),E.current=null),z.current&&(clearTimeout(z.current),z.current=null),k.current&&(k.current.close(),k.current=null),T("disconnected")},[]);return{messages:u,isLoading:g,isComplete:p,connectionStatus:b,featuresCreated:w,recentFeatures:S,start:ae,sendMessage:Q,disconnect:ne}}const G1=5*1024*1024,Q1=20*1024*1024,Y1=["md","txt","csv","docx","xlsx","pdf","pptx","jpg","jpeg","png"];function V1({projectName:s,onComplete:c,onCancel:o}){const[u,m]=f.useState(""),[g,x]=f.useState(null),[p,y]=f.useState([]),b=f.useRef(null),T=f.useRef(null),w=f.useRef(null),_=f.useCallback(H=>x(H),[]),{messages:S,isLoading:D,isComplete:k,connectionStatus:N,featuresCreated:M,start:O,sendMessage:E,disconnect:z}=H1({projectName:s,onComplete:c,onError:_});f.useEffect(()=>(O(),()=>{z()}),[]),f.useEffect(()=>{b.current?.scrollIntoView({behavior:"smooth"})},[S,D]),f.useEffect(()=>{!D&&T.current&&T.current.focus()},[D]);const L=()=>{const H=u.trim();!H&&p.length===0||D||(E(H,p.length>0?p:void 0),m(""),y([]))},W=H=>{Cs(H)&&(H.preventDefault(),L())},K=f.useCallback(H=>{H&&Array.from(H).forEach(P=>{let Z=P.type;if((!Z||!lr.includes(Z))&&(Z=sr(P.name)),!lr.includes(Z)){const te=P.name.split(".").pop()?.toLowerCase();if(!te||!Y1.includes(te)){x(`Unsupported file type: ${P.name}. Supported: images (JPEG, PNG) and documents (MD, TXT, CSV, DOCX, XLSX, PDF, PPTX).`);return}Z=sr(P.name)}const Y=dr.includes(Z),v=Y?G1:Q1,R=Y?"5 MB":"20 MB";if(P.size>v){x(`File too large: ${P.name}. Maximum size is ${R}.`);return}const ee=new FileReader;ee.onload=te=>{const ie=te.target?.result,Ne=ie.split(",")[1],$={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:P.name,mimeType:Z,base64Data:Ne,previewUrl:Y?ie:"",size:P.size};y(he=>[...he,$])},ee.onerror=()=>{x(`Failed to read file: ${P.name}`)},ee.readAsDataURL(P)})},[]),ae=f.useCallback(H=>{y(P=>P.filter(Z=>Z.id!==H))},[]),Q=f.useCallback(H=>{H.preventDefault(),K(H.dataTransfer.files)},[K]),ne=f.useCallback(H=>{H.preventDefault()},[]),I=()=>{switch(N){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(jl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(jl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(bl,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(bl,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-full bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",s]}),n.jsx(I,{}),M>0&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(ln,{size:14}),M," added"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[k&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(Kt,{size:16}),"Complete"]}),n.jsx(J,{onClick:o,variant:"ghost",size:"icon",title:"Close",children:n.jsx(Ie,{size:20})})]})]}),g&&n.jsxs(at,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(oa,{size:16}),n.jsx(nt,{className:"flex-1",children:g}),n.jsx(J,{onClick:()=>x(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(Ie,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[S.length===0&&!D&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Ee,{className:"p-6 max-w-md",children:n.jsxs(ke,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),N==="error"&&n.jsxs(J,{onClick:O,className:"mt-4",size:"sm",children:[n.jsx(nn,{size:14}),"Retry Connection"]})]})})}),S.map(H=>n.jsx(Xu,{message:H},H.id)),D&&n.jsx(mx,{}),n.jsx("div",{ref:b})]}),!k&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:Q,onDragOver:ne,children:[p.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:p.map(H=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[Vu(H)?n.jsx("img",{src:H.previewUrl,alt:H.filename,className:"w-16 h-16 object-cover rounded"}):n.jsx("div",{className:"w-16 h-16 flex items-center justify-center bg-muted rounded",children:n.jsx(Ii,{size:24,className:"text-muted-foreground"})}),n.jsx("button",{onClick:()=>ae(H.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(Ie,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:H.filename.length>10?`${H.filename.substring(0,7)}...`:H.filename})]},H.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:w,type:"file",accept:"image/jpeg,image/png,.md,.txt,.csv,.docx,.xlsx,.pdf,.pptx",multiple:!0,onChange:H=>K(H.target.files),className:"hidden"}),n.jsx(J,{onClick:()=>w.current?.click(),disabled:N!=="connected",variant:"ghost",size:"icon",title:"Attach files (images: JPEG/PNG up to 5MB, documents: MD, TXT, CSV, DOCX, XLSX, PDF, PPTX up to 20MB)",children:n.jsx(Pi,{size:18})}),n.jsx(tt,{ref:T,type:"text",value:u,onChange:H=>m(H.target.value),onKeyDown:W,placeholder:p.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:D||N!=="connected"}),n.jsx(J,{onClick:L,disabled:!u.trim()&&p.length===0||D||N!=="connected",className:"px-6",children:n.jsx(rr,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",n.jsx(Pi,{size:12,className:"inline"})," to attach files."]})]}),k&&n.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Kt,{size:20}),n.jsxs("span",{className:"font-bold",children:["Added ",M," new feature",M!==1?"s":"","!"]})]}),n.jsx(J,{onClick:()=>c(M),variant:"secondary",children:"Close"})]})})]})}function X1({isOpen:s,projectName:c,onClose:o,onFeaturesAdded:u}){if(!s)return null;const m=g=>{g>0&&u(),o()};return n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(V1,{projectName:c,onComplete:m,onCancel:o})})}const K1=[{key:"?",description:"Show keyboard shortcuts"},{key:"H",description:"Dashboard view"},{key:"K",description:"Kanban board"},{key:"G",description:"Dependency graph"},{key:"B",description:"Browser screenshots"},{key:"T",description:"Terminal"},{key:"D",description:"Logs"},{key:"A",description:"Toggle AI assistant",context:"with project"},{key:"[",description:"Toggle sidebar"},{key:"N",description:"Add new feature",context:"with project"},{key:"E",description:"Expand project with AI",context:"with spec & features"},{key:",",description:"Settings"},{key:"R",description:"Reset project",context:"with project"},{key:"Esc",description:"Close modal/panel"}];function F1({isOpen:s,onClose:c}){const o=f.useCallback(u=>{(u.key==="Escape"||u.key==="?")&&(u.preventDefault(),c())},[c]);return f.useEffect(()=>{if(s)return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[s,o]),n.jsx(Pt,{open:s,onOpenChange:u=>!u&&c(),children:n.jsxs(ea,{className:"sm:max-w-md",children:[n.jsx(ta,{children:n.jsxs(aa,{className:"flex items-center gap-2",children:[n.jsx(Py,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),n.jsx("ul",{className:"space-y-1",children:K1.map(u=>n.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted rounded border border-border min-w-[2rem] text-center",children:u.key}),n.jsx("span",{className:"text-sm",children:u.description})]}),u.context&&n.jsx(Ae,{variant:"secondary",className:"text-xs",children:u.context})]},u.key))}),n.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}function Z1({isOpen:s,projectName:c,onClose:o,onResetComplete:u}){const[m,g]=f.useState("quick"),x=ov(c),p=async()=>{const b=m==="full";try{await x.mutateAsync(b),u?.(b),o()}catch{}},y=()=>{x.isPending||(x.reset(),g("quick"),o())};return n.jsx(Pt,{open:s,onOpenChange:b=>!b&&y(),children:n.jsxs(ea,{className:"sm:max-w-md",children:[n.jsxs(ta,{children:[n.jsxs(aa,{className:"flex items-center gap-2",children:[n.jsx(nn,{size:20}),"Reset Project"]}),n.jsxs(vl,{children:["Reset ",n.jsx("span",{className:"font-semibold",children:c})," to start fresh"]})]}),n.jsxs("div",{className:"space-y-4 py-4",children:[n.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[n.jsxs("button",{onClick:()=>g("quick"),disabled:x.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${m==="quick"?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${x.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(nn,{size:16}),"Quick Reset"]}),n.jsxs("button",{onClick:()=>g("full"),disabled:x.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${m==="full"?"bg-destructive text-destructive-foreground":"bg-background text-foreground hover:bg-muted"} ${x.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(sn,{size:16}),"Full Reset"]})]}),n.jsxs(at,{variant:m==="full"?"destructive":"default",className:"border-2",children:[n.jsx(da,{className:"h-4 w-4"}),n.jsxs(nt,{children:[n.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),n.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Ie,{size:14,className:"text-destructive"}),"All features and progress"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Ie,{size:14,className:"text-destructive"}),"Assistant chat history"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Ie,{size:14,className:"text-destructive"}),"Agent settings"]}),m==="full"&&n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Ie,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),n.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[n.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),n.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:m==="quick"?n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Da,{size:14,className:"text-green-600"}),"App spec and prompts"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Da,{size:14,className:"text-green-600"}),"Project code and files"]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Da,{size:14,className:"text-green-600"}),"Project code and files"]}),n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[n.jsx(da,{size:14}),"Setup wizard will appear"]})]})})]}),x.isError&&n.jsx(at,{variant:"destructive",children:n.jsx(nt,{children:x.error instanceof Error?x.error.message:"Failed to reset project. Please try again."})})]}),n.jsxs(Xt,{className:"gap-2",children:[n.jsx(J,{variant:"outline",onClick:y,disabled:x.isPending,children:"Cancel"}),n.jsx(J,{variant:m==="full"?"destructive":"default",onClick:p,disabled:x.isPending,children:x.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):n.jsx(n.Fragment,{children:m==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function $1({onClick:s,isOpen:c}){return n.jsx(J,{onClick:s,size:"icon",className:"fixed bottom-6 right-6 z-50 w-14 h-14 rounded-full shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0.5",title:c?"Close Assistant (Press A)":"Open Assistant (Press A)","aria-label":c?"Close Assistant":"Open Assistant",children:c?n.jsx(Ie,{size:24}):n.jsx(Uu,{size:24})})}const bx="assistant-conversation-",Th="assistant-panel-width",J1=400,Eh=300,Ah=90;function Dh(s){try{const c=localStorage.getItem(`${bx}${s}`);if(c)return JSON.parse(c).conversationId||null}catch{}return null}function W1(s,c){const o=`${bx}${s}`;c?localStorage.setItem(o,JSON.stringify({conversationId:c})):localStorage.removeItem(o)}function I1({projectName:s,isOpen:c,onClose:o}){const[u,m]=f.useState(()=>Dh(s)),{data:g,isLoading:x,error:p}=px(s,u);f.useEffect(()=>{if(p&&u){const N=p.message.toLowerCase();(N.includes("not found")||N.includes("404"))&&(console.warn(`Conversation ${u} not found, clearing stored ID`),m(null))}},[p,u]);const y=g?.messages.map(N=>({id:`db-${N.id}`,role:N.role,content:N.content,timestamp:N.timestamp?new Date(N.timestamp):new Date}));f.useEffect(()=>{W1(s,u)},[s,u]),f.useEffect(()=>{m(Dh(s))},[s]);const b=f.useCallback(()=>{m(null)},[]),T=f.useCallback(N=>{m(N)},[]),w=f.useCallback(N=>{m(N)},[]),[_,S]=f.useState(()=>{try{const N=localStorage.getItem(Th);if(N)return Math.max(Eh,parseInt(N,10))}catch{}return J1}),D=f.useRef(!1),k=f.useCallback(N=>{N.preventDefault(),D.current=!0;const M=N.clientX,O=_,E=window.innerWidth*(Ah/100),z=W=>{if(!D.current)return;const K=M-W.clientX,ae=Math.min(E,Math.max(Eh,O+K));S(ae)},L=()=>{D.current=!1,document.removeEventListener("mousemove",z),document.removeEventListener("mouseup",L),document.body.style.cursor="",document.body.style.userSelect="",S(W=>(localStorage.setItem(Th,String(W)),W))};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",z),document.addEventListener("mouseup",L)},[_]);return n.jsxs(n.Fragment,{children:[c&&n.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:o,"aria-hidden":"true"}),n.jsxs("div",{className:`
85
+ fixed right-0 top-0 bottom-0 z-50
86
+ bg-card
87
+ border-l border-border
88
+ transform transition-transform duration-300 ease-out
89
+ flex flex-col shadow-xl
90
+ ${c?"translate-x-0":"translate-x-full"}
91
+ `,style:{width:`${_}px`,maxWidth:`${Ah}vw`},role:"dialog","aria-label":"Project Assistant","aria-hidden":!c,children:[n.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 group",onMouseDown:k,children:n.jsx("div",{className:"absolute inset-y-0 left-0 w-0.5 bg-border group-hover:bg-primary transition-colors"})}),n.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:n.jsx(Ns,{size:18})}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),n.jsx("p",{className:"text-xs opacity-80 font-mono",children:s})]})]}),n.jsx(J,{variant:"ghost",size:"icon",onClick:o,className:"text-primary-foreground hover:bg-primary-foreground/20",title:"Close Assistant (Press A)","aria-label":"Close Assistant",children:n.jsx(Ie,{size:18})})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:c&&n.jsx(yx,{projectName:s,conversationId:u,initialMessages:y,isLoadingConversation:x,onNewChat:b,onSelectConversation:T,onConversationCreated:w})})]})]})}function P1(s){return Array.from({length:s},(c,o)=>({id:o,x:Math.random()*100,delay:Math.random()*.5,duration:1+Math.random()*1,color:["#ff006e","#ffd60a","#70e000","#00b4d8","#8338ec"][Math.floor(Math.random()*5)],rotation:Math.random()*360}))}function e2({agentName:s,featureName:c,onComplete:o}){const[u,m]=f.useState(!0),[g]=f.useState(()=>P1(30)),x=f.useCallback(()=>{m(!1),setTimeout(()=>o?.(),300)},[o]);return f.useEffect(()=>{const p=setTimeout(x,3e3),y=b=>{b.key==="Escape"&&x()};return window.addEventListener("keydown",y),()=>{clearTimeout(p),window.removeEventListener("keydown",y)}},[x]),u?n.jsxs("div",{className:`
92
+ fixed inset-0 z-50 flex items-center justify-center
93
+ pointer-events-none
94
+ transition-opacity duration-300
95
+ ${u?"opacity-100":"opacity-0"}
96
+ `,children:[n.jsx("div",{className:"absolute inset-0 overflow-hidden",children:g.map(p=>n.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${p.x}%`,top:"-20px",backgroundColor:p.color,animationDelay:`${p.delay}s`,animationDuration:`${p.duration}s`,transform:`rotate(${p.rotation}deg)`}},p.id))}),n.jsx(Ee,{onClick:x,className:"p-6 bg-green-500 border-green-600 animate-bounce-in pointer-events-auto cursor-pointer hover:scale-105 transition-transform focus:outline-none focus:ring-2 focus:ring-primary",role:"button",tabIndex:0,children:n.jsxs(ke,{className:"p-0 flex flex-col items-center gap-4",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(_a,{size:24,className:"text-yellow-300 animate-pulse"}),n.jsx(e0,{size:28,className:"text-white"}),n.jsx(_a,{size:24,className:"text-yellow-300 animate-pulse"})]}),n.jsx(Cl,{name:s,state:"success",size:"lg"}),n.jsxs("div",{className:"text-center",children:[n.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),n.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:c}),n.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",s,"!"]})]}),n.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function t2(){const{selectedProject:s,selectedFeature:c,setSelectedFeature:o,showAddFeature:u,setShowAddFeature:m,showExpandProject:g,setShowExpandProject:x,showSpecChat:p,setShowSpecChat:y,showKeyboardHelp:b,setShowKeyboardHelp:T,showResetModal:w,setShowResetModal:_,assistantOpen:S,setAssistantOpen:D,isSpecCreating:k,hasSpec:N,specInitializerStatus:M,setSpecInitializerStatus:O,specInitializerError:E,setSpecInitializerError:z,wsState:L,queryClient:W}=Ft();return n.jsxs(n.Fragment,{children:[u&&s&&n.jsx(R1,{projectName:s,onClose:()=>m(!1)}),c&&s&&n.jsx(L1,{feature:c,projectName:s,onClose:()=>o(null)}),g&&s&&N&&n.jsx(X1,{isOpen:g,projectName:s,onClose:()=>x(!1),onFeaturesAdded:()=>{W.invalidateQueries({queryKey:["features",s]})}}),p&&s&&n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(hx,{projectName:s,onComplete:async(K,ae)=>{O("starting");try{await Bu(s,{yoloMode:ae??!1,maxConcurrency:3}),y(!1),O("idle"),W.invalidateQueries({queryKey:["projects"]}),W.invalidateQueries({queryKey:["features",s]})}catch(Q){O("error"),z(Q instanceof Error?Q.message:"Failed to start agent")}},onCancel:()=>{y(!1),O("idle")},onExitToProject:()=>{y(!1),O("idle")},initializerStatus:M,initializerError:E,onRetryInitializer:()=>{z(null),O("idle")}})}),s&&!g&&!k&&!p&&n.jsxs(n.Fragment,{children:[n.jsx($1,{onClick:()=>D(!S),isOpen:S}),n.jsx(I1,{projectName:s,isOpen:S,onClose:()=>D(!1)})]}),n.jsx(F1,{isOpen:b,onClose:()=>T(!1)}),w&&s&&n.jsx(Z1,{isOpen:w,projectName:s,onClose:()=>_(!1),onResetComplete:K=>{K&&y(!0)}}),L.celebration&&n.jsx(e2,{agentName:L.celebration.agentName,featureName:L.celebration.featureName,onComplete:L.clearCelebration})]})}function a2(){return n.jsxs(mb,{children:[n.jsx(O1,{}),n.jsx(t2,{})]})}const n2=new Xp({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});y0.createRoot(document.getElementById("root")).render(n.jsx(f.StrictMode,{children:n.jsx(Kp,{client:n2,children:n.jsx(a2,{})})}));