@taico/taico 0.6.0 → 0.8.0
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.
- package/README.md +1 -1
- package/dist/ai-providers/ai-model-selections.service.js +24 -2
- package/dist/ai-providers/ai-model-selections.service.js.map +1 -1
- package/dist/ai-providers/ai-provider-authorization-attempt.entity.d.ts +17 -0
- package/dist/ai-providers/ai-provider-authorization-attempt.entity.js +90 -0
- package/dist/ai-providers/ai-provider-authorization-attempt.entity.js.map +1 -0
- package/dist/ai-providers/ai-provider-connection.entity.d.ts +24 -0
- package/dist/ai-providers/ai-provider-connection.entity.js +131 -0
- package/dist/ai-providers/ai-provider-connection.entity.js.map +1 -0
- package/dist/ai-providers/ai-provider-connections.controller.d.ts +15 -0
- package/dist/ai-providers/ai-provider-connections.controller.js +167 -0
- package/dist/ai-providers/ai-provider-connections.controller.js.map +1 -0
- package/dist/ai-providers/ai-provider-models.service.d.ts +5 -2
- package/dist/ai-providers/ai-provider-models.service.js +44 -5
- package/dist/ai-providers/ai-provider-models.service.js.map +1 -1
- package/dist/ai-providers/ai-provider-models.service.spec.d.ts +1 -0
- package/dist/ai-providers/ai-provider-models.service.spec.js +110 -0
- package/dist/ai-providers/ai-provider-models.service.spec.js.map +1 -0
- package/dist/ai-providers/ai-provider.entity.d.ts +1 -0
- package/dist/ai-providers/ai-provider.entity.js +5 -0
- package/dist/ai-providers/ai-provider.entity.js.map +1 -1
- package/dist/ai-providers/ai-providers.controller.d.ts +1 -1
- package/dist/ai-providers/ai-providers.controller.js +4 -3
- package/dist/ai-providers/ai-providers.controller.js.map +1 -1
- package/dist/ai-providers/ai-providers.module.js +30 -4
- package/dist/ai-providers/ai-providers.module.js.map +1 -1
- package/dist/ai-providers/ai-providers.scopes.d.ts +4 -0
- package/dist/ai-providers/ai-providers.scopes.js +4 -0
- package/dist/ai-providers/ai-providers.scopes.js.map +1 -1
- package/dist/ai-providers/ai-providers.service.d.ts +3 -1
- package/dist/ai-providers/ai-providers.service.js +23 -3
- package/dist/ai-providers/ai-providers.service.js.map +1 -1
- package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.d.ts +50 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.js +607 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.d.ts +59 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.js +247 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.d.ts +21 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.js +298 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.d.ts +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.js +345 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.d.ts +16 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.js +26 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.d.ts +12 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.js +55 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.d.ts +15 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.js +78 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.js.map +1 -0
- package/dist/ai-providers/dto/http/ai-provider-connection.dto.d.ts +30 -0
- package/dist/ai-providers/dto/http/ai-provider-connection.dto.js +182 -0
- package/dist/ai-providers/dto/http/ai-provider-connection.dto.js.map +1 -0
- package/dist/ai-providers/dto/service/ai-providers.service.types.d.ts +32 -1
- package/dist/ai-providers/enums/ai-model-job.enum.d.ts +1 -0
- package/dist/ai-providers/enums/ai-model-job.enum.js +5 -1
- package/dist/ai-providers/enums/ai-model-job.enum.js.map +1 -1
- package/dist/ai-providers/enums/ai-provider-connection-status.enum.d.ts +6 -0
- package/dist/ai-providers/enums/ai-provider-connection-status.enum.js +11 -0
- package/dist/ai-providers/enums/ai-provider-connection-status.enum.js.map +1 -0
- package/dist/ai-providers/enums/ai-provider-type.enum.d.ts +4 -1
- package/dist/ai-providers/enums/ai-provider-type.enum.js +9 -1
- package/dist/ai-providers/enums/ai-provider-type.enum.js.map +1 -1
- package/dist/ai-providers/enums/index.d.ts +1 -0
- package/dist/ai-providers/enums/index.js +1 -0
- package/dist/ai-providers/enums/index.js.map +1 -1
- package/dist/ai-providers/errors/ai-providers.errors.d.ts +33 -0
- package/dist/ai-providers/errors/ai-providers.errors.js +66 -1
- package/dist/ai-providers/errors/ai-providers.errors.js.map +1 -1
- package/dist/ai-providers/google-environment.d.ts +1 -0
- package/dist/ai-providers/google-environment.js +4 -0
- package/dist/ai-providers/google-environment.js.map +1 -1
- package/dist/app.module.js +8 -0
- package/dist/app.module.js.map +1 -1
- package/dist/config/env.config.d.ts +3 -0
- package/dist/config/env.config.js +17 -0
- package/dist/config/env.config.js.map +1 -1
- package/dist/errors/http/error-catalog.js +48 -0
- package/dist/errors/http/error-catalog.js.map +1 -1
- package/dist/migrations/1761300000000-ThreadSecret.d.ts +6 -0
- package/dist/migrations/1761300000000-ThreadSecret.js +14 -0
- package/dist/migrations/1761300000000-ThreadSecret.js.map +1 -0
- package/dist/migrations/1761400000000-ThreadReadStates.d.ts +6 -0
- package/dist/migrations/1761400000000-ThreadReadStates.js +19 -0
- package/dist/migrations/1761400000000-ThreadReadStates.js.map +1 -0
- package/dist/migrations/1761500000000-ThreadLastActivity.d.ts +6 -0
- package/dist/migrations/1761500000000-ThreadLastActivity.js +19 -0
- package/dist/migrations/1761500000000-ThreadLastActivity.js.map +1 -0
- package/dist/migrations/1761600000000-AiProviderConnections.d.ts +6 -0
- package/dist/migrations/1761600000000-AiProviderConnections.js +61 -0
- package/dist/migrations/1761600000000-AiProviderConnections.js.map +1 -0
- package/dist/public/assets/index-G5Ht4law.js +118 -0
- package/dist/public/assets/index-NjAtMwFI.css +1 -0
- package/dist/public/beta/assets/{index-B9fCnAUe.js → index-BO6PlAsO.js} +30 -30
- package/dist/public/beta/index.html +1 -1
- package/dist/public/index.html +2 -2
- package/dist/public/package.json +4 -4
- package/dist/search/index/search-embeddings.service.js +2 -0
- package/dist/search/index/search-embeddings.service.js.map +1 -1
- package/dist/secrets/secret-storage-format.d.ts +5 -0
- package/dist/secrets/secret-storage-format.js +101 -0
- package/dist/secrets/secret-storage-format.js.map +1 -0
- package/dist/secrets/secret-storage-format.spec.d.ts +1 -0
- package/dist/secrets/secret-storage-format.spec.js +32 -0
- package/dist/secrets/secret-storage-format.spec.js.map +1 -0
- package/dist/secrets/secrets-encryption.service.d.ts +1 -0
- package/dist/secrets/secrets-encryption.service.js +3 -0
- package/dist/secrets/secrets-encryption.service.js.map +1 -1
- package/dist/secrets/secrets.module.js +1 -1
- package/dist/secrets/secrets.module.js.map +1 -1
- package/dist/threads/agent/agent-context.utils.d.ts +3 -0
- package/dist/threads/agent/agent-context.utils.js +14 -0
- package/dist/threads/agent/agent-context.utils.js.map +1 -1
- package/dist/threads/agent/agent-context.utils.spec.js +25 -0
- package/dist/threads/agent/agent-context.utils.spec.js.map +1 -1
- package/dist/threads/agent/chat-model.factory.d.ts +6 -1
- package/dist/threads/agent/chat-model.factory.js +30 -8
- package/dist/threads/agent/chat-model.factory.js.map +1 -1
- package/dist/threads/agent/chat-model.factory.spec.js +96 -2
- package/dist/threads/agent/chat-model.factory.spec.js.map +1 -1
- package/dist/threads/agent/hooks/compaction.hook.d.ts +1 -0
- package/dist/threads/agent/hooks/compaction.hook.js +33 -8
- package/dist/threads/agent/hooks/compaction.hook.js.map +1 -1
- package/dist/threads/agent/hooks/easter-egg.hook.js +4 -3
- package/dist/threads/agent/hooks/easter-egg.hook.js.map +1 -1
- package/dist/threads/agent/hooks/hooks.spec.js +123 -0
- package/dist/threads/agent/hooks/hooks.spec.js.map +1 -1
- package/dist/threads/agent/hooks/thread-agent-hook.interface.js.map +1 -1
- package/dist/threads/agent/hooks/thread-agent-hooks.runner.js +2 -1
- package/dist/threads/agent/hooks/thread-agent-hooks.runner.js.map +1 -1
- package/dist/threads/agent/thread-agent-log.service.d.ts +3 -0
- package/dist/threads/agent/thread-agent-log.service.js +35 -1
- package/dist/threads/agent/thread-agent-log.service.js.map +1 -1
- package/dist/threads/agent/thread-agent.prompts.d.ts +6 -1
- package/dist/threads/agent/thread-agent.prompts.js +34 -7
- package/dist/threads/agent/thread-agent.prompts.js.map +1 -1
- package/dist/threads/agent/thread-agent.prompts.spec.d.ts +1 -0
- package/dist/threads/agent/thread-agent.prompts.spec.js +51 -0
- package/dist/threads/agent/thread-agent.prompts.spec.js.map +1 -0
- package/dist/threads/agent/thread-agent.service.d.ts +3 -3
- package/dist/threads/agent/thread-agent.service.js +11 -16
- package/dist/threads/agent/thread-agent.service.js.map +1 -1
- package/dist/threads/agent/thread-agent.service.spec.js +41 -9
- package/dist/threads/agent/thread-agent.service.spec.js.map +1 -1
- package/dist/threads/chat.service.d.ts +3 -0
- package/dist/threads/chat.service.js +37 -9
- package/dist/threads/chat.service.js.map +1 -1
- package/dist/threads/dto/service/threads.service.types.d.ts +9 -0
- package/dist/threads/dto/thread-list-item-response.dto.d.ts +2 -0
- package/dist/threads/dto/thread-list-item-response.dto.js +16 -0
- package/dist/threads/dto/thread-list-item-response.dto.js.map +1 -1
- package/dist/threads/dto/thread-token-usage-response.dto.d.ts +8 -0
- package/dist/threads/dto/thread-token-usage-response.dto.js +63 -0
- package/dist/threads/dto/thread-token-usage-response.dto.js.map +1 -0
- package/dist/threads/events/threads.events.d.ts +8 -0
- package/dist/threads/events/threads.events.js +8 -1
- package/dist/threads/events/threads.events.js.map +1 -1
- package/dist/threads/read-state/thread-read-state.entity.d.ts +9 -0
- package/dist/threads/read-state/thread-read-state.entity.js +49 -0
- package/dist/threads/read-state/thread-read-state.entity.js.map +1 -0
- package/dist/threads/read-state/thread-read-state.service.d.ts +14 -0
- package/dist/threads/read-state/thread-read-state.service.js +81 -0
- package/dist/threads/read-state/thread-read-state.service.js.map +1 -0
- package/dist/threads/thread-message-writer.service.d.ts +13 -0
- package/dist/threads/thread-message-writer.service.js +48 -0
- package/dist/threads/thread-message-writer.service.js.map +1 -0
- package/dist/threads/thread-message.entity.js +1 -0
- package/dist/threads/thread-message.entity.js.map +1 -1
- package/dist/threads/thread-state-reconciler.service.js +5 -0
- package/dist/threads/thread-state-reconciler.service.js.map +1 -1
- package/dist/threads/thread-state-reconciler.service.spec.d.ts +1 -0
- package/dist/threads/thread-state-reconciler.service.spec.js +44 -0
- package/dist/threads/thread-state-reconciler.service.spec.js.map +1 -0
- package/dist/threads/thread.entity.d.ts +2 -0
- package/dist/threads/thread.entity.js +24 -0
- package/dist/threads/thread.entity.js.map +1 -1
- package/dist/threads/threads-state.service.spec.js +1 -0
- package/dist/threads/threads-state.service.spec.js.map +1 -1
- package/dist/threads/threads.controller.d.ts +9 -2
- package/dist/threads/threads.controller.js +56 -6
- package/dist/threads/threads.controller.js.map +1 -1
- package/dist/threads/threads.gateway.d.ts +2 -1
- package/dist/threads/threads.gateway.js +40 -0
- package/dist/threads/threads.gateway.js.map +1 -1
- package/dist/threads/threads.module.js +6 -0
- package/dist/threads/threads.module.js.map +1 -1
- package/dist/threads/threads.service.d.ts +5 -1
- package/dist/threads/threads.service.js +19 -14
- package/dist/threads/threads.service.js.map +1 -1
- package/dist/threads/threads.service.spec.js +1 -0
- package/dist/threads/threads.service.spec.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/public/assets/index-Bu8fSAx2.js +0 -117
- package/dist/public/assets/index-DOm5BmlC.css +0 -1
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
function JT(n,e){for(var r=0;r<e.length;r++){const l=e[r];if(typeof l!="string"&&!Array.isArray(l)){for(const c in l)if(c!=="default"&&!(c in n)){const u=Object.getOwnPropertyDescriptor(l,c);u&&Object.defineProperty(n,c,u.get?u:{enumerable:!0,get:()=>l[c]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))l(c);new MutationObserver(c=>{for(const u of c)if(u.type==="childList")for(const h of u.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&l(h)}).observe(document,{childList:!0,subtree:!0});function r(c){const u={};return c.integrity&&(u.integrity=c.integrity),c.referrerPolicy&&(u.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?u.credentials="include":c.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function l(c){if(c.ep)return;c.ep=!0;const u=r(c);fetch(c.href,u)}})();function lf(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var sh={exports:{}},al={};var qy;function ew(){if(qy)return al;qy=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function r(l,c,u){var h=null;if(u!==void 0&&(h=""+u),c.key!==void 0&&(h=""+c.key),"key"in c){u={};for(var g in c)g!=="key"&&(u[g]=c[g])}else u=c;return c=u.ref,{$$typeof:n,type:l,key:h,ref:c!==void 0?c:null,props:u}}return al.Fragment=e,al.jsx=r,al.jsxs=r,al}var Uy;function tw(){return Uy||(Uy=1,sh.exports=ew()),sh.exports}var a=tw(),ah={exports:{}},Oe={};var By;function nw(){if(By)return Oe;By=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),h=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),x=Symbol.iterator;function _(M){return M===null||typeof M!="object"?null:(M=x&&M[x]||M["@@iterator"],typeof M=="function"?M:null)}var k={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,w={};function E(M,H,fe){this.props=M,this.context=H,this.refs=w,this.updater=fe||k}E.prototype.isReactComponent={},E.prototype.setState=function(M,H){if(typeof M!="object"&&typeof M!="function"&&M!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,M,H,"setState")},E.prototype.forceUpdate=function(M){this.updater.enqueueForceUpdate(this,M,"forceUpdate")};function z(){}z.prototype=E.prototype;function D(M,H,fe){this.props=M,this.context=H,this.refs=w,this.updater=fe||k}var O=D.prototype=new z;O.constructor=D,j(O,E.prototype),O.isPureReactComponent=!0;var R=Array.isArray;function N(){}var C={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function U(M,H,fe){var ge=fe.ref;return{$$typeof:n,type:M,key:H,ref:ge!==void 0?ge:null,props:fe}}function B(M,H){return U(M.type,H,M.props)}function $(M){return typeof M=="object"&&M!==null&&M.$$typeof===n}function F(M){var H={"=":"=0",":":"=2"};return"$"+M.replace(/[=:]/g,function(fe){return H[fe]})}var V=/\/+/g;function ne(M,H){return typeof M=="object"&&M!==null&&M.key!=null?F(""+M.key):H.toString(36)}function ye(M){switch(M.status){case"fulfilled":return M.value;case"rejected":throw M.reason;default:switch(typeof M.status=="string"?M.then(N,N):(M.status="pending",M.then(function(H){M.status==="pending"&&(M.status="fulfilled",M.value=H)},function(H){M.status==="pending"&&(M.status="rejected",M.reason=H)})),M.status){case"fulfilled":return M.value;case"rejected":throw M.reason}}throw M}function q(M,H,fe,ge,K){var oe=typeof M;(oe==="undefined"||oe==="boolean")&&(M=null);var se=!1;if(M===null)se=!0;else switch(oe){case"bigint":case"string":case"number":se=!0;break;case"object":switch(M.$$typeof){case n:case e:se=!0;break;case v:return se=M._init,q(se(M._payload),H,fe,ge,K)}}if(se)return K=K(M),se=ge===""?"."+ne(M,0):ge,R(K)?(fe="",se!=null&&(fe=se.replace(V,"$&/")+"/"),q(K,H,fe,"",function(We){return We})):K!=null&&($(K)&&(K=B(K,fe+(K.key==null||M&&M.key===K.key?"":(""+K.key).replace(V,"$&/")+"/")+se)),H.push(K)),1;se=0;var Se=ge===""?".":ge+":";if(R(M))for(var De=0;De<M.length;De++)ge=M[De],oe=Se+ne(ge,De),se+=q(ge,H,fe,oe,K);else if(De=_(M),typeof De=="function")for(M=De.call(M),De=0;!(ge=M.next()).done;)ge=ge.value,oe=Se+ne(ge,De++),se+=q(ge,H,fe,oe,K);else if(oe==="object"){if(typeof M.then=="function")return q(ye(M),H,fe,ge,K);throw H=String(M),Error("Objects are not valid as a React child (found: "+(H==="[object Object]"?"object with keys {"+Object.keys(M).join(", ")+"}":H)+"). If you meant to render a collection of children, use an array instead.")}return se}function Z(M,H,fe){if(M==null)return M;var ge=[],K=0;return q(M,ge,"","",function(oe){return H.call(fe,oe,K++)}),ge}function le(M){if(M._status===-1){var H=M._result;H=H(),H.then(function(fe){(M._status===0||M._status===-1)&&(M._status=1,M._result=fe)},function(fe){(M._status===0||M._status===-1)&&(M._status=2,M._result=fe)}),M._status===-1&&(M._status=0,M._result=H)}if(M._status===1)return M._result.default;throw M._result}var de=typeof reportError=="function"?reportError:function(M){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var H=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof M=="object"&&M!==null&&typeof M.message=="string"?String(M.message):String(M),error:M});if(!window.dispatchEvent(H))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",M);return}console.error(M)},ve={map:Z,forEach:function(M,H,fe){Z(M,function(){H.apply(this,arguments)},fe)},count:function(M){var H=0;return Z(M,function(){H++}),H},toArray:function(M){return Z(M,function(H){return H})||[]},only:function(M){if(!$(M))throw Error("React.Children.only expected to receive a single React element child.");return M}};return Oe.Activity=S,Oe.Children=ve,Oe.Component=E,Oe.Fragment=r,Oe.Profiler=c,Oe.PureComponent=D,Oe.StrictMode=l,Oe.Suspense=p,Oe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=C,Oe.__COMPILER_RUNTIME={__proto__:null,c:function(M){return C.H.useMemoCache(M)}},Oe.cache=function(M){return function(){return M.apply(null,arguments)}},Oe.cacheSignal=function(){return null},Oe.cloneElement=function(M,H,fe){if(M==null)throw Error("The argument must be a React element, but you passed "+M+".");var ge=j({},M.props),K=M.key;if(H!=null)for(oe in H.key!==void 0&&(K=""+H.key),H)!L.call(H,oe)||oe==="key"||oe==="__self"||oe==="__source"||oe==="ref"&&H.ref===void 0||(ge[oe]=H[oe]);var oe=arguments.length-2;if(oe===1)ge.children=fe;else if(1<oe){for(var se=Array(oe),Se=0;Se<oe;Se++)se[Se]=arguments[Se+2];ge.children=se}return U(M.type,K,ge)},Oe.createContext=function(M){return M={$$typeof:h,_currentValue:M,_currentValue2:M,_threadCount:0,Provider:null,Consumer:null},M.Provider=M,M.Consumer={$$typeof:u,_context:M},M},Oe.createElement=function(M,H,fe){var ge,K={},oe=null;if(H!=null)for(ge in H.key!==void 0&&(oe=""+H.key),H)L.call(H,ge)&&ge!=="key"&&ge!=="__self"&&ge!=="__source"&&(K[ge]=H[ge]);var se=arguments.length-2;if(se===1)K.children=fe;else if(1<se){for(var Se=Array(se),De=0;De<se;De++)Se[De]=arguments[De+2];K.children=Se}if(M&&M.defaultProps)for(ge in se=M.defaultProps,se)K[ge]===void 0&&(K[ge]=se[ge]);return U(M,oe,K)},Oe.createRef=function(){return{current:null}},Oe.forwardRef=function(M){return{$$typeof:g,render:M}},Oe.isValidElement=$,Oe.lazy=function(M){return{$$typeof:v,_payload:{_status:-1,_result:M},_init:le}},Oe.memo=function(M,H){return{$$typeof:y,type:M,compare:H===void 0?null:H}},Oe.startTransition=function(M){var H=C.T,fe={};C.T=fe;try{var ge=M(),K=C.S;K!==null&&K(fe,ge),typeof ge=="object"&&ge!==null&&typeof ge.then=="function"&&ge.then(N,de)}catch(oe){de(oe)}finally{H!==null&&fe.types!==null&&(H.types=fe.types),C.T=H}},Oe.unstable_useCacheRefresh=function(){return C.H.useCacheRefresh()},Oe.use=function(M){return C.H.use(M)},Oe.useActionState=function(M,H,fe){return C.H.useActionState(M,H,fe)},Oe.useCallback=function(M,H){return C.H.useCallback(M,H)},Oe.useContext=function(M){return C.H.useContext(M)},Oe.useDebugValue=function(){},Oe.useDeferredValue=function(M,H){return C.H.useDeferredValue(M,H)},Oe.useEffect=function(M,H){return C.H.useEffect(M,H)},Oe.useEffectEvent=function(M){return C.H.useEffectEvent(M)},Oe.useId=function(){return C.H.useId()},Oe.useImperativeHandle=function(M,H,fe){return C.H.useImperativeHandle(M,H,fe)},Oe.useInsertionEffect=function(M,H){return C.H.useInsertionEffect(M,H)},Oe.useLayoutEffect=function(M,H){return C.H.useLayoutEffect(M,H)},Oe.useMemo=function(M,H){return C.H.useMemo(M,H)},Oe.useOptimistic=function(M,H){return C.H.useOptimistic(M,H)},Oe.useReducer=function(M,H,fe){return C.H.useReducer(M,H,fe)},Oe.useRef=function(M){return C.H.useRef(M)},Oe.useState=function(M){return C.H.useState(M)},Oe.useSyncExternalStore=function(M,H,fe){return C.H.useSyncExternalStore(M,H,fe)},Oe.useTransition=function(){return C.H.useTransition()},Oe.version="19.2.5",Oe}var Py;function of(){return Py||(Py=1,ah.exports=nw()),ah.exports}var d=of();const Jx=lf(d),eb=JT({__proto__:null,default:Jx},[d]);var rh={exports:{}},rl={},ih={exports:{}},lh={};var $y;function sw(){return $y||($y=1,(function(n){function e(q,Z){var le=q.length;q.push(Z);e:for(;0<le;){var de=le-1>>>1,ve=q[de];if(0<c(ve,Z))q[de]=Z,q[le]=ve,le=de;else break e}}function r(q){return q.length===0?null:q[0]}function l(q){if(q.length===0)return null;var Z=q[0],le=q.pop();if(le!==Z){q[0]=le;e:for(var de=0,ve=q.length,M=ve>>>1;de<M;){var H=2*(de+1)-1,fe=q[H],ge=H+1,K=q[ge];if(0>c(fe,le))ge<ve&&0>c(K,fe)?(q[de]=K,q[ge]=le,de=ge):(q[de]=fe,q[H]=le,de=H);else if(ge<ve&&0>c(K,le))q[de]=K,q[ge]=le,de=ge;else break e}}return Z}function c(q,Z){var le=q.sortIndex-Z.sortIndex;return le!==0?le:q.id-Z.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;n.unstable_now=function(){return u.now()}}else{var h=Date,g=h.now();n.unstable_now=function(){return h.now()-g}}var p=[],y=[],v=1,S=null,x=3,_=!1,k=!1,j=!1,w=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function O(q){for(var Z=r(y);Z!==null;){if(Z.callback===null)l(y);else if(Z.startTime<=q)l(y),Z.sortIndex=Z.expirationTime,e(p,Z);else break;Z=r(y)}}function R(q){if(j=!1,O(q),!k)if(r(p)!==null)k=!0,N||(N=!0,F());else{var Z=r(y);Z!==null&&ye(R,Z.startTime-q)}}var N=!1,C=-1,L=5,U=-1;function B(){return w?!0:!(n.unstable_now()-U<L)}function $(){if(w=!1,N){var q=n.unstable_now();U=q;var Z=!0;try{e:{k=!1,j&&(j=!1,z(C),C=-1),_=!0;var le=x;try{t:{for(O(q),S=r(p);S!==null&&!(S.expirationTime>q&&B());){var de=S.callback;if(typeof de=="function"){S.callback=null,x=S.priorityLevel;var ve=de(S.expirationTime<=q);if(q=n.unstable_now(),typeof ve=="function"){S.callback=ve,O(q),Z=!0;break t}S===r(p)&&l(p),O(q)}else l(p);S=r(p)}if(S!==null)Z=!0;else{var M=r(y);M!==null&&ye(R,M.startTime-q),Z=!1}}break e}finally{S=null,x=le,_=!1}Z=void 0}}finally{Z?F():N=!1}}}var F;if(typeof D=="function")F=function(){D($)};else if(typeof MessageChannel<"u"){var V=new MessageChannel,ne=V.port2;V.port1.onmessage=$,F=function(){ne.postMessage(null)}}else F=function(){E($,0)};function ye(q,Z){C=E(function(){q(n.unstable_now())},Z)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(q){q.callback=null},n.unstable_forceFrameRate=function(q){0>q||125<q?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<q?Math.floor(1e3/q):5},n.unstable_getCurrentPriorityLevel=function(){return x},n.unstable_next=function(q){switch(x){case 1:case 2:case 3:var Z=3;break;default:Z=x}var le=x;x=Z;try{return q()}finally{x=le}},n.unstable_requestPaint=function(){w=!0},n.unstable_runWithPriority=function(q,Z){switch(q){case 1:case 2:case 3:case 4:case 5:break;default:q=3}var le=x;x=q;try{return Z()}finally{x=le}},n.unstable_scheduleCallback=function(q,Z,le){var de=n.unstable_now();switch(typeof le=="object"&&le!==null?(le=le.delay,le=typeof le=="number"&&0<le?de+le:de):le=de,q){case 1:var ve=-1;break;case 2:ve=250;break;case 5:ve=1073741823;break;case 4:ve=1e4;break;default:ve=5e3}return ve=le+ve,q={id:v++,callback:Z,priorityLevel:q,startTime:le,expirationTime:ve,sortIndex:-1},le>de?(q.sortIndex=le,e(y,q),r(p)===null&&q===r(y)&&(j?(z(C),C=-1):j=!0,ye(R,le-de))):(q.sortIndex=ve,e(p,q),k||_||(k=!0,N||(N=!0,F()))),q},n.unstable_shouldYield=B,n.unstable_wrapCallback=function(q){var Z=x;return function(){var le=x;x=Z;try{return q.apply(this,arguments)}finally{x=le}}}})(lh)),lh}var Hy;function aw(){return Hy||(Hy=1,ih.exports=sw()),ih.exports}var oh={exports:{}},Jt={};var Gy;function rw(){if(Gy)return Jt;Gy=1;var n=of();function e(p){var y="https://react.dev/errors/"+p;if(1<arguments.length){y+="?args[]="+encodeURIComponent(arguments[1]);for(var v=2;v<arguments.length;v++)y+="&args[]="+encodeURIComponent(arguments[v])}return"Minified React error #"+p+"; visit "+y+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var l={d:{f:r,r:function(){throw Error(e(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},c=Symbol.for("react.portal");function u(p,y,v){var S=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:c,key:S==null?null:""+S,children:p,containerInfo:y,implementation:v}}var h=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function g(p,y){if(p==="font")return"";if(typeof y=="string")return y==="use-credentials"?y:""}return Jt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,Jt.createPortal=function(p,y){var v=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11)throw Error(e(299));return u(p,y,null,v)},Jt.flushSync=function(p){var y=h.T,v=l.p;try{if(h.T=null,l.p=2,p)return p()}finally{h.T=y,l.p=v,l.d.f()}},Jt.preconnect=function(p,y){typeof p=="string"&&(y?(y=y.crossOrigin,y=typeof y=="string"?y==="use-credentials"?y:"":void 0):y=null,l.d.C(p,y))},Jt.prefetchDNS=function(p){typeof p=="string"&&l.d.D(p)},Jt.preinit=function(p,y){if(typeof p=="string"&&y&&typeof y.as=="string"){var v=y.as,S=g(v,y.crossOrigin),x=typeof y.integrity=="string"?y.integrity:void 0,_=typeof y.fetchPriority=="string"?y.fetchPriority:void 0;v==="style"?l.d.S(p,typeof y.precedence=="string"?y.precedence:void 0,{crossOrigin:S,integrity:x,fetchPriority:_}):v==="script"&&l.d.X(p,{crossOrigin:S,integrity:x,fetchPriority:_,nonce:typeof y.nonce=="string"?y.nonce:void 0})}},Jt.preinitModule=function(p,y){if(typeof p=="string")if(typeof y=="object"&&y!==null){if(y.as==null||y.as==="script"){var v=g(y.as,y.crossOrigin);l.d.M(p,{crossOrigin:v,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0})}}else y==null&&l.d.M(p)},Jt.preload=function(p,y){if(typeof p=="string"&&typeof y=="object"&&y!==null&&typeof y.as=="string"){var v=y.as,S=g(v,y.crossOrigin);l.d.L(p,v,{crossOrigin:S,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0,type:typeof y.type=="string"?y.type:void 0,fetchPriority:typeof y.fetchPriority=="string"?y.fetchPriority:void 0,referrerPolicy:typeof y.referrerPolicy=="string"?y.referrerPolicy:void 0,imageSrcSet:typeof y.imageSrcSet=="string"?y.imageSrcSet:void 0,imageSizes:typeof y.imageSizes=="string"?y.imageSizes:void 0,media:typeof y.media=="string"?y.media:void 0})}},Jt.preloadModule=function(p,y){if(typeof p=="string")if(y){var v=g(y.as,y.crossOrigin);l.d.m(p,{as:typeof y.as=="string"&&y.as!=="script"?y.as:void 0,crossOrigin:v,integrity:typeof y.integrity=="string"?y.integrity:void 0})}else l.d.m(p)},Jt.requestFormReset=function(p){l.d.r(p)},Jt.unstable_batchedUpdates=function(p,y){return p(y)},Jt.useFormState=function(p,y,v){return h.H.useFormState(p,y,v)},Jt.useFormStatus=function(){return h.H.useHostTransitionStatus()},Jt.version="19.2.5",Jt}var Fy;function tb(){if(Fy)return oh.exports;Fy=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),oh.exports=rw(),oh.exports}var Vy;function iw(){if(Vy)return rl;Vy=1;var n=aw(),e=of(),r=tb();function l(t){var s="https://react.dev/errors/"+t;if(1<arguments.length){s+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)s+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+t+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function u(t){var s=t,i=t;if(t.alternate)for(;s.return;)s=s.return;else{t=s;do s=t,(s.flags&4098)!==0&&(i=s.return),t=s.return;while(t)}return s.tag===3?i:null}function h(t){if(t.tag===13){var s=t.memoizedState;if(s===null&&(t=t.alternate,t!==null&&(s=t.memoizedState)),s!==null)return s.dehydrated}return null}function g(t){if(t.tag===31){var s=t.memoizedState;if(s===null&&(t=t.alternate,t!==null&&(s=t.memoizedState)),s!==null)return s.dehydrated}return null}function p(t){if(u(t)!==t)throw Error(l(188))}function y(t){var s=t.alternate;if(!s){if(s=u(t),s===null)throw Error(l(188));return s!==t?null:t}for(var i=t,o=s;;){var f=i.return;if(f===null)break;var m=f.alternate;if(m===null){if(o=f.return,o!==null){i=o;continue}break}if(f.child===m.child){for(m=f.child;m;){if(m===i)return p(f),t;if(m===o)return p(f),s;m=m.sibling}throw Error(l(188))}if(i.return!==o.return)i=f,o=m;else{for(var T=!1,A=f.child;A;){if(A===i){T=!0,i=f,o=m;break}if(A===o){T=!0,o=f,i=m;break}A=A.sibling}if(!T){for(A=m.child;A;){if(A===i){T=!0,i=m,o=f;break}if(A===o){T=!0,o=m,i=f;break}A=A.sibling}if(!T)throw Error(l(189))}}if(i.alternate!==o)throw Error(l(190))}if(i.tag!==3)throw Error(l(188));return i.stateNode.current===i?t:s}function v(t){var s=t.tag;if(s===5||s===26||s===27||s===6)return t;for(t=t.child;t!==null;){if(s=v(t),s!==null)return s;t=t.sibling}return null}var S=Object.assign,x=Symbol.for("react.element"),_=Symbol.for("react.transitional.element"),k=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),w=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),z=Symbol.for("react.consumer"),D=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),N=Symbol.for("react.suspense_list"),C=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),U=Symbol.for("react.activity"),B=Symbol.for("react.memo_cache_sentinel"),$=Symbol.iterator;function F(t){return t===null||typeof t!="object"?null:(t=$&&t[$]||t["@@iterator"],typeof t=="function"?t:null)}var V=Symbol.for("react.client.reference");function ne(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===V?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case j:return"Fragment";case E:return"Profiler";case w:return"StrictMode";case R:return"Suspense";case N:return"SuspenseList";case U:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case k:return"Portal";case D:return t.displayName||"Context";case z:return(t._context.displayName||"Context")+".Consumer";case O:var s=t.render;return t=t.displayName,t||(t=s.displayName||s.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case C:return s=t.displayName||null,s!==null?s:ne(t.type)||"Memo";case L:s=t._payload,t=t._init;try{return ne(t(s))}catch{}}return null}var ye=Array.isArray,q=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,le={pending:!1,data:null,method:null,action:null},de=[],ve=-1;function M(t){return{current:t}}function H(t){0>ve||(t.current=de[ve],de[ve]=null,ve--)}function fe(t,s){ve++,de[ve]=t.current,t.current=s}var ge=M(null),K=M(null),oe=M(null),se=M(null);function Se(t,s){switch(fe(oe,s),fe(K,t),fe(ge,null),s.nodeType){case 9:case 11:t=(t=s.documentElement)&&(t=t.namespaceURI)?ly(t):0;break;default:if(t=s.tagName,s=s.namespaceURI)s=ly(s),t=oy(s,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}H(ge),fe(ge,t)}function De(){H(ge),H(K),H(oe)}function We(t){t.memoizedState!==null&&fe(se,t);var s=ge.current,i=oy(s,t.type);s!==i&&(fe(K,t),fe(ge,i))}function qt(t){K.current===t&&(H(ge),H(K)),se.current===t&&(H(se),el._currentValue=le)}var et,wt;function he(t){if(et===void 0)try{throw Error()}catch(i){var s=i.stack.trim().match(/\n( *(at )?)/);et=s&&s[1]||"",wt=-1<i.stack.indexOf(`
|
|
2
|
+
at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
+
`+et+t+wt}var W=!1;function me(t,s){if(!t||W)return"";W=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(s){var ce=function(){throw Error()};if(Object.defineProperty(ce.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ce,[])}catch(ee){var X=ee}Reflect.construct(t,[],ce)}else{try{ce.call()}catch(ee){X=ee}t.call(ce.prototype)}}else{try{throw Error()}catch(ee){X=ee}(ce=t())&&typeof ce.catch=="function"&&ce.catch(function(){})}}catch(ee){if(ee&&X&&typeof ee.stack=="string")return[ee.stack,X.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var m=o.DetermineComponentFrameRoot(),T=m[0],A=m[1];if(T&&A){var I=T.split(`
|
|
4
|
+
`),Q=A.split(`
|
|
5
|
+
`);for(f=o=0;o<I.length&&!I[o].includes("DetermineComponentFrameRoot");)o++;for(;f<Q.length&&!Q[f].includes("DetermineComponentFrameRoot");)f++;if(o===I.length||f===Q.length)for(o=I.length-1,f=Q.length-1;1<=o&&0<=f&&I[o]!==Q[f];)f--;for(;1<=o&&0<=f;o--,f--)if(I[o]!==Q[f]){if(o!==1||f!==1)do if(o--,f--,0>f||I[o]!==Q[f]){var ae=`
|
|
6
|
+
`+I[o].replace(" at new "," at ");return t.displayName&&ae.includes("<anonymous>")&&(ae=ae.replace("<anonymous>",t.displayName)),ae}while(1<=o&&0<=f);break}}}finally{W=!1,Error.prepareStackTrace=i}return(i=t?t.displayName||t.name:"")?he(i):""}function J(t,s){switch(t.tag){case 26:case 27:case 5:return he(t.type);case 16:return he("Lazy");case 13:return t.child!==s&&s!==null?he("Suspense Fallback"):he("Suspense");case 19:return he("SuspenseList");case 0:case 15:return me(t.type,!1);case 11:return me(t.type.render,!1);case 1:return me(t.type,!0);case 31:return he("Activity");default:return""}}function ke(t){try{var s="",i=null;do s+=J(t,i),i=t,t=t.return;while(t);return s}catch(o){return`
|
|
7
|
+
Error generating stack: `+o.message+`
|
|
8
|
+
`+o.stack}}var tt=Object.prototype.hasOwnProperty,ft=n.unstable_scheduleCallback,Ut=n.unstable_cancelCallback,Cn=n.unstable_shouldYield,kt=n.unstable_requestPaint,yt=n.unstable_now,xs=n.unstable_getCurrentPriorityLevel,bs=n.unstable_ImmediatePriority,wa=n.unstable_UserBlockingPriority,Ys=n.unstable_NormalPriority,ui=n.unstable_LowPriority,sr=n.unstable_IdlePriority,di=n.log,hi=n.unstable_setDisableYieldValue,_s=null,Gt=null;function Nn(t){if(typeof di=="function"&&hi(t),Gt&&typeof Gt.setStrictMode=="function")try{Gt.setStrictMode(_s,t)}catch{}}var Ft=Math.clz32?Math.clz32:Yn,fi=Math.log,pi=Math.LN2;function Yn(t){return t>>>=0,t===0?32:31-(fi(t)/pi|0)|0}var Kn=256,yn=262144,rs=4194304;function Qn(t){var s=t&42;if(s!==0)return s;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ks(t,s,i){var o=t.pendingLanes;if(o===0)return 0;var f=0,m=t.suspendedLanes,T=t.pingedLanes;t=t.warmLanes;var A=o&134217727;return A!==0?(o=A&~m,o!==0?f=Qn(o):(T&=A,T!==0?f=Qn(T):i||(i=A&~t,i!==0&&(f=Qn(i))))):(A=o&~m,A!==0?f=Qn(A):T!==0?f=Qn(T):i||(i=o&~t,i!==0&&(f=Qn(i)))),f===0?0:s!==0&&s!==f&&(s&m)===0&&(m=f&-f,i=s&-s,m>=i||m===32&&(i&4194048)!==0)?s:f}function An(t,s){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&s)===0}function Qs(t,s){switch(t){case 1:case 2:case 4:case 8:case 64:return s+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 s+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 ue(){var t=rs;return rs<<=1,(rs&62914560)===0&&(rs=4194304),t}function be(t){for(var s=[],i=0;31>i;i++)s.push(t);return s}function Ue(t,s){t.pendingLanes|=s,s!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function pt(t,s,i,o,f,m){var T=t.pendingLanes;t.pendingLanes=i,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=i,t.entangledLanes&=i,t.errorRecoveryDisabledLanes&=i,t.shellSuspendCounter=0;var A=t.entanglements,I=t.expirationTimes,Q=t.hiddenUpdates;for(i=T&~i;0<i;){var ae=31-Ft(i),ce=1<<ae;A[ae]=0,I[ae]=-1;var X=Q[ae];if(X!==null)for(Q[ae]=null,ae=0;ae<X.length;ae++){var ee=X[ae];ee!==null&&(ee.lane&=-536870913)}i&=~ce}o!==0&&Ot(t,o,0),m!==0&&f===0&&t.tag!==0&&(t.suspendedLanes|=m&~(T&~s))}function Ot(t,s,i){t.pendingLanes|=s,t.suspendedLanes&=~s;var o=31-Ft(s);t.entangledLanes|=s,t.entanglements[o]=t.entanglements[o]|1073741824|i&261930}function pe(t,s){var i=t.entangledLanes|=s;for(t=t.entanglements;i;){var o=31-Ft(i),f=1<<o;f&s|t[o]&s&&(t[o]|=s),i&=~f}}function xe(t,s){var i=s&-s;return i=(i&42)!==0?1:vt(i),(i&(t.suspendedLanes|s))!==0?0:i}function vt(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function is(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function ka(){var t=Z.p;return t!==0?t:(t=window.event,t===void 0?32:Ry(t.type))}function Ea(t,s){var i=Z.p;try{return Z.p=t,s()}finally{Z.p=i}}var vn=Math.random().toString(36).slice(2),Qe="__reactFiber$"+vn,Vt="__reactProps$"+vn,Xs="__reactContainer$"+vn,Kc="__reactEvents$"+vn,$S="__reactListeners$"+vn,HS="__reactHandles$"+vn,Kf="__reactResources$"+vn,gi="__reactMarker$"+vn;function Qc(t){delete t[Qe],delete t[Vt],delete t[Kc],delete t[$S],delete t[HS]}function ar(t){var s=t[Qe];if(s)return s;for(var i=t.parentNode;i;){if(s=i[Xs]||i[Qe]){if(i=s.alternate,s.child!==null||i!==null&&i.child!==null)for(t=gy(t);t!==null;){if(i=t[Qe])return i;t=gy(t)}return s}t=i,i=t.parentNode}return null}function rr(t){if(t=t[Qe]||t[Xs]){var s=t.tag;if(s===5||s===6||s===13||s===31||s===26||s===27||s===3)return t}return null}function mi(t){var s=t.tag;if(s===5||s===26||s===27||s===6)return t.stateNode;throw Error(l(33))}function ir(t){var s=t[Kf];return s||(s=t[Kf]={hoistableStyles:new Map,hoistableScripts:new Map}),s}function Bt(t){t[gi]=!0}var Qf=new Set,Xf={};function Ca(t,s){lr(t,s),lr(t+"Capture",s)}function lr(t,s){for(Xf[t]=s,t=0;t<s.length;t++)Qf.add(s[t])}var GS=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]*$"),Zf={},Wf={};function FS(t){return tt.call(Wf,t)?!0:tt.call(Zf,t)?!1:GS.test(t)?Wf[t]=!0:(Zf[t]=!0,!1)}function Ul(t,s,i){if(FS(s))if(i===null)t.removeAttribute(s);else{switch(typeof i){case"undefined":case"function":case"symbol":t.removeAttribute(s);return;case"boolean":var o=s.toLowerCase().slice(0,5);if(o!=="data-"&&o!=="aria-"){t.removeAttribute(s);return}}t.setAttribute(s,""+i)}}function Bl(t,s,i){if(i===null)t.removeAttribute(s);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(s);return}t.setAttribute(s,""+i)}}function Ss(t,s,i,o){if(o===null)t.removeAttribute(i);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(i);return}t.setAttributeNS(s,i,""+o)}}function Rn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Jf(t){var s=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function VS(t,s,i){var o=Object.getOwnPropertyDescriptor(t.constructor.prototype,s);if(!t.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var f=o.get,m=o.set;return Object.defineProperty(t,s,{configurable:!0,get:function(){return f.call(this)},set:function(T){i=""+T,m.call(this,T)}}),Object.defineProperty(t,s,{enumerable:o.enumerable}),{getValue:function(){return i},setValue:function(T){i=""+T},stopTracking:function(){t._valueTracker=null,delete t[s]}}}}function Xc(t){if(!t._valueTracker){var s=Jf(t)?"checked":"value";t._valueTracker=VS(t,s,""+t[s])}}function ep(t){if(!t)return!1;var s=t._valueTracker;if(!s)return!0;var i=s.getValue(),o="";return t&&(o=Jf(t)?t.checked?"true":"false":t.value),t=o,t!==i?(s.setValue(t),!0):!1}function Pl(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var YS=/[\n"\\]/g;function Dn(t){return t.replace(YS,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function Zc(t,s,i,o,f,m,T,A){t.name="",T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"?t.type=T:t.removeAttribute("type"),s!=null?T==="number"?(s===0&&t.value===""||t.value!=s)&&(t.value=""+Rn(s)):t.value!==""+Rn(s)&&(t.value=""+Rn(s)):T!=="submit"&&T!=="reset"||t.removeAttribute("value"),s!=null?Wc(t,T,Rn(s)):i!=null?Wc(t,T,Rn(i)):o!=null&&t.removeAttribute("value"),f==null&&m!=null&&(t.defaultChecked=!!m),f!=null&&(t.checked=f&&typeof f!="function"&&typeof f!="symbol"),A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?t.name=""+Rn(A):t.removeAttribute("name")}function tp(t,s,i,o,f,m,T,A){if(m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(t.type=m),s!=null||i!=null){if(!(m!=="submit"&&m!=="reset"||s!=null)){Xc(t);return}i=i!=null?""+Rn(i):"",s=s!=null?""+Rn(s):i,A||s===t.value||(t.value=s),t.defaultValue=s}o=o??f,o=typeof o!="function"&&typeof o!="symbol"&&!!o,t.checked=A?t.checked:!!o,t.defaultChecked=!!o,T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"&&(t.name=T),Xc(t)}function Wc(t,s,i){s==="number"&&Pl(t.ownerDocument)===t||t.defaultValue===""+i||(t.defaultValue=""+i)}function or(t,s,i,o){if(t=t.options,s){s={};for(var f=0;f<i.length;f++)s["$"+i[f]]=!0;for(i=0;i<t.length;i++)f=s.hasOwnProperty("$"+t[i].value),t[i].selected!==f&&(t[i].selected=f),f&&o&&(t[i].defaultSelected=!0)}else{for(i=""+Rn(i),s=null,f=0;f<t.length;f++){if(t[f].value===i){t[f].selected=!0,o&&(t[f].defaultSelected=!0);return}s!==null||t[f].disabled||(s=t[f])}s!==null&&(s.selected=!0)}}function np(t,s,i){if(s!=null&&(s=""+Rn(s),s!==t.value&&(t.value=s),i==null)){t.defaultValue!==s&&(t.defaultValue=s);return}t.defaultValue=i!=null?""+Rn(i):""}function sp(t,s,i,o){if(s==null){if(o!=null){if(i!=null)throw Error(l(92));if(ye(o)){if(1<o.length)throw Error(l(93));o=o[0]}i=o}i==null&&(i=""),s=i}i=Rn(s),t.defaultValue=i,o=t.textContent,o===i&&o!==""&&o!==null&&(t.value=o),Xc(t)}function cr(t,s){if(s){var i=t.firstChild;if(i&&i===t.lastChild&&i.nodeType===3){i.nodeValue=s;return}}t.textContent=s}var KS=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 ap(t,s,i){var o=s.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?o?t.setProperty(s,""):s==="float"?t.cssFloat="":t[s]="":o?t.setProperty(s,i):typeof i!="number"||i===0||KS.has(s)?s==="float"?t.cssFloat=i:t[s]=(""+i).trim():t[s]=i+"px"}function rp(t,s,i){if(s!=null&&typeof s!="object")throw Error(l(62));if(t=t.style,i!=null){for(var o in i)!i.hasOwnProperty(o)||s!=null&&s.hasOwnProperty(o)||(o.indexOf("--")===0?t.setProperty(o,""):o==="float"?t.cssFloat="":t[o]="");for(var f in s)o=s[f],s.hasOwnProperty(f)&&i[f]!==o&&ap(t,f,o)}else for(var m in s)s.hasOwnProperty(m)&&ap(t,m,s[m])}function Jc(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var QS=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"]]),XS=/^[\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 $l(t){return XS.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function js(){}var eu=null;function tu(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var ur=null,dr=null;function ip(t){var s=rr(t);if(s&&(t=s.stateNode)){var i=t[Vt]||null;e:switch(t=s.stateNode,s.type){case"input":if(Zc(t,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),s=i.name,i.type==="radio"&&s!=null){for(i=t;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+Dn(""+s)+'"][type="radio"]'),s=0;s<i.length;s++){var o=i[s];if(o!==t&&o.form===t.form){var f=o[Vt]||null;if(!f)throw Error(l(90));Zc(o,f.value,f.defaultValue,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name)}}for(s=0;s<i.length;s++)o=i[s],o.form===t.form&&ep(o)}break e;case"textarea":np(t,i.value,i.defaultValue);break e;case"select":s=i.value,s!=null&&or(t,!!i.multiple,s,!1)}}}var nu=!1;function lp(t,s,i){if(nu)return t(s,i);nu=!0;try{var o=t(s);return o}finally{if(nu=!1,(ur!==null||dr!==null)&&(Ao(),ur&&(s=ur,t=dr,dr=ur=null,ip(s),t)))for(s=0;s<t.length;s++)ip(t[s])}}function yi(t,s){var i=t.stateNode;if(i===null)return null;var o=i[Vt]||null;if(o===null)return null;i=o[s];e:switch(s){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(t=t.type,o=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!o;break e;default:t=!1}if(t)return null;if(i&&typeof i!="function")throw Error(l(231,s,typeof i));return i}var Ts=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),su=!1;if(Ts)try{var vi={};Object.defineProperty(vi,"passive",{get:function(){su=!0}}),window.addEventListener("test",vi,vi),window.removeEventListener("test",vi,vi)}catch{su=!1}var Zs=null,au=null,Hl=null;function op(){if(Hl)return Hl;var t,s=au,i=s.length,o,f="value"in Zs?Zs.value:Zs.textContent,m=f.length;for(t=0;t<i&&s[t]===f[t];t++);var T=i-t;for(o=1;o<=T&&s[i-o]===f[m-o];o++);return Hl=f.slice(t,1<o?1-o:void 0)}function Gl(t){var s=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&s===13&&(t=13)):t=s,t===10&&(t=13),32<=t||t===13?t:0}function Fl(){return!0}function cp(){return!1}function on(t){function s(i,o,f,m,T){this._reactName=i,this._targetInst=f,this.type=o,this.nativeEvent=m,this.target=T,this.currentTarget=null;for(var A in t)t.hasOwnProperty(A)&&(i=t[A],this[A]=i?i(m):m[A]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?Fl:cp,this.isPropagationStopped=cp,this}return S(s.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Fl)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Fl)},persist:function(){},isPersistent:Fl}),s}var Na={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Vl=on(Na),xi=S({},Na,{view:0,detail:0}),ZS=on(xi),ru,iu,bi,Yl=S({},xi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ou,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==bi&&(bi&&t.type==="mousemove"?(ru=t.screenX-bi.screenX,iu=t.screenY-bi.screenY):iu=ru=0,bi=t),ru)},movementY:function(t){return"movementY"in t?t.movementY:iu}}),up=on(Yl),WS=S({},Yl,{dataTransfer:0}),JS=on(WS),ej=S({},xi,{relatedTarget:0}),lu=on(ej),tj=S({},Na,{animationName:0,elapsedTime:0,pseudoElement:0}),nj=on(tj),sj=S({},Na,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),aj=on(sj),rj=S({},Na,{data:0}),dp=on(rj),ij={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},lj={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"},oj={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function cj(t){var s=this.nativeEvent;return s.getModifierState?s.getModifierState(t):(t=oj[t])?!!s[t]:!1}function ou(){return cj}var uj=S({},xi,{key:function(t){if(t.key){var s=ij[t.key]||t.key;if(s!=="Unidentified")return s}return t.type==="keypress"?(t=Gl(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?lj[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ou,charCode:function(t){return t.type==="keypress"?Gl(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Gl(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),dj=on(uj),hj=S({},Yl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),hp=on(hj),fj=S({},xi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ou}),pj=on(fj),gj=S({},Na,{propertyName:0,elapsedTime:0,pseudoElement:0}),mj=on(gj),yj=S({},Yl,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),vj=on(yj),xj=S({},Na,{newState:0,oldState:0}),bj=on(xj),_j=[9,13,27,32],cu=Ts&&"CompositionEvent"in window,_i=null;Ts&&"documentMode"in document&&(_i=document.documentMode);var Sj=Ts&&"TextEvent"in window&&!_i,fp=Ts&&(!cu||_i&&8<_i&&11>=_i),pp=" ",gp=!1;function mp(t,s){switch(t){case"keyup":return _j.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function yp(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var hr=!1;function jj(t,s){switch(t){case"compositionend":return yp(s);case"keypress":return s.which!==32?null:(gp=!0,pp);case"textInput":return t=s.data,t===pp&&gp?null:t;default:return null}}function Tj(t,s){if(hr)return t==="compositionend"||!cu&&mp(t,s)?(t=op(),Hl=au=Zs=null,hr=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1<s.char.length)return s.char;if(s.which)return String.fromCharCode(s.which)}return null;case"compositionend":return fp&&s.locale!=="ko"?null:s.data;default:return null}}var wj={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 vp(t){var s=t&&t.nodeName&&t.nodeName.toLowerCase();return s==="input"?!!wj[t.type]:s==="textarea"}function xp(t,s,i,o){ur?dr?dr.push(o):dr=[o]:ur=o,s=Io(s,"onChange"),0<s.length&&(i=new Vl("onChange","change",null,i,o),t.push({event:i,listeners:s}))}var Si=null,ji=null;function kj(t){ty(t,0)}function Kl(t){var s=mi(t);if(ep(s))return t}function bp(t,s){if(t==="change")return s}var _p=!1;if(Ts){var uu;if(Ts){var du="oninput"in document;if(!du){var Sp=document.createElement("div");Sp.setAttribute("oninput","return;"),du=typeof Sp.oninput=="function"}uu=du}else uu=!1;_p=uu&&(!document.documentMode||9<document.documentMode)}function jp(){Si&&(Si.detachEvent("onpropertychange",Tp),ji=Si=null)}function Tp(t){if(t.propertyName==="value"&&Kl(ji)){var s=[];xp(s,ji,t,tu(t)),lp(kj,s)}}function Ej(t,s,i){t==="focusin"?(jp(),Si=s,ji=i,Si.attachEvent("onpropertychange",Tp)):t==="focusout"&&jp()}function Cj(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Kl(ji)}function Nj(t,s){if(t==="click")return Kl(s)}function Aj(t,s){if(t==="input"||t==="change")return Kl(s)}function Rj(t,s){return t===s&&(t!==0||1/t===1/s)||t!==t&&s!==s}var xn=typeof Object.is=="function"?Object.is:Rj;function Ti(t,s){if(xn(t,s))return!0;if(typeof t!="object"||t===null||typeof s!="object"||s===null)return!1;var i=Object.keys(t),o=Object.keys(s);if(i.length!==o.length)return!1;for(o=0;o<i.length;o++){var f=i[o];if(!tt.call(s,f)||!xn(t[f],s[f]))return!1}return!0}function wp(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function kp(t,s){var i=wp(t);t=0;for(var o;i;){if(i.nodeType===3){if(o=t+i.textContent.length,t<=s&&o>=s)return{node:i,offset:s-t};t=o}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=wp(i)}}function Ep(t,s){return t&&s?t===s?!0:t&&t.nodeType===3?!1:s&&s.nodeType===3?Ep(t,s.parentNode):"contains"in t?t.contains(s):t.compareDocumentPosition?!!(t.compareDocumentPosition(s)&16):!1:!1}function Cp(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var s=Pl(t.document);s instanceof t.HTMLIFrameElement;){try{var i=typeof s.contentWindow.location.href=="string"}catch{i=!1}if(i)t=s.contentWindow;else break;s=Pl(t.document)}return s}function hu(t){var s=t&&t.nodeName&&t.nodeName.toLowerCase();return s&&(s==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||s==="textarea"||t.contentEditable==="true")}var Dj=Ts&&"documentMode"in document&&11>=document.documentMode,fr=null,fu=null,wi=null,pu=!1;function Np(t,s,i){var o=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;pu||fr==null||fr!==Pl(o)||(o=fr,"selectionStart"in o&&hu(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),wi&&Ti(wi,o)||(wi=o,o=Io(fu,"onSelect"),0<o.length&&(s=new Vl("onSelect","select",null,s,i),t.push({event:s,listeners:o}),s.target=fr)))}function Aa(t,s){var i={};return i[t.toLowerCase()]=s.toLowerCase(),i["Webkit"+t]="webkit"+s,i["Moz"+t]="moz"+s,i}var pr={animationend:Aa("Animation","AnimationEnd"),animationiteration:Aa("Animation","AnimationIteration"),animationstart:Aa("Animation","AnimationStart"),transitionrun:Aa("Transition","TransitionRun"),transitionstart:Aa("Transition","TransitionStart"),transitioncancel:Aa("Transition","TransitionCancel"),transitionend:Aa("Transition","TransitionEnd")},gu={},Ap={};Ts&&(Ap=document.createElement("div").style,"AnimationEvent"in window||(delete pr.animationend.animation,delete pr.animationiteration.animation,delete pr.animationstart.animation),"TransitionEvent"in window||delete pr.transitionend.transition);function Ra(t){if(gu[t])return gu[t];if(!pr[t])return t;var s=pr[t],i;for(i in s)if(s.hasOwnProperty(i)&&i in Ap)return gu[t]=s[i];return t}var Rp=Ra("animationend"),Dp=Ra("animationiteration"),zp=Ra("animationstart"),zj=Ra("transitionrun"),Oj=Ra("transitionstart"),Lj=Ra("transitioncancel"),Op=Ra("transitionend"),Lp=new Map,mu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");mu.push("scrollEnd");function Xn(t,s){Lp.set(t,s),Ca(s,[t])}var Ql=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var s=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(s))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},zn=[],gr=0,yu=0;function Xl(){for(var t=gr,s=yu=gr=0;s<t;){var i=zn[s];zn[s++]=null;var o=zn[s];zn[s++]=null;var f=zn[s];zn[s++]=null;var m=zn[s];if(zn[s++]=null,o!==null&&f!==null){var T=o.pending;T===null?f.next=f:(f.next=T.next,T.next=f),o.pending=f}m!==0&&Mp(i,f,m)}}function Zl(t,s,i,o){zn[gr++]=t,zn[gr++]=s,zn[gr++]=i,zn[gr++]=o,yu|=o,t.lanes|=o,t=t.alternate,t!==null&&(t.lanes|=o)}function vu(t,s,i,o){return Zl(t,s,i,o),Wl(t)}function Da(t,s){return Zl(t,null,null,s),Wl(t)}function Mp(t,s,i){t.lanes|=i;var o=t.alternate;o!==null&&(o.lanes|=i);for(var f=!1,m=t.return;m!==null;)m.childLanes|=i,o=m.alternate,o!==null&&(o.childLanes|=i),m.tag===22&&(t=m.stateNode,t===null||t._visibility&1||(f=!0)),t=m,m=m.return;return t.tag===3?(m=t.stateNode,f&&s!==null&&(f=31-Ft(i),t=m.hiddenUpdates,o=t[f],o===null?t[f]=[s]:o.push(s),s.lane=i|536870912),m):null}function Wl(t){if(50<Yi)throw Yi=0,Ed=null,Error(l(185));for(var s=t.return;s!==null;)t=s,s=t.return;return t.tag===3?t.stateNode:null}var mr={};function Mj(t,s,i,o){this.tag=t,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function bn(t,s,i,o){return new Mj(t,s,i,o)}function xu(t){return t=t.prototype,!(!t||!t.isReactComponent)}function ws(t,s){var i=t.alternate;return i===null?(i=bn(t.tag,s,t.key,t.mode),i.elementType=t.elementType,i.type=t.type,i.stateNode=t.stateNode,i.alternate=t,t.alternate=i):(i.pendingProps=s,i.type=t.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=t.flags&65011712,i.childLanes=t.childLanes,i.lanes=t.lanes,i.child=t.child,i.memoizedProps=t.memoizedProps,i.memoizedState=t.memoizedState,i.updateQueue=t.updateQueue,s=t.dependencies,i.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},i.sibling=t.sibling,i.index=t.index,i.ref=t.ref,i.refCleanup=t.refCleanup,i}function Ip(t,s){t.flags&=65011714;var i=t.alternate;return i===null?(t.childLanes=0,t.lanes=s,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=i.childLanes,t.lanes=i.lanes,t.child=i.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=i.memoizedProps,t.memoizedState=i.memoizedState,t.updateQueue=i.updateQueue,t.type=i.type,s=i.dependencies,t.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext}),t}function Jl(t,s,i,o,f,m){var T=0;if(o=t,typeof t=="function")xu(t)&&(T=1);else if(typeof t=="string")T=PT(t,i,ge.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case U:return t=bn(31,i,s,f),t.elementType=U,t.lanes=m,t;case j:return za(i.children,f,m,s);case w:T=8,f|=24;break;case E:return t=bn(12,i,s,f|2),t.elementType=E,t.lanes=m,t;case R:return t=bn(13,i,s,f),t.elementType=R,t.lanes=m,t;case N:return t=bn(19,i,s,f),t.elementType=N,t.lanes=m,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case D:T=10;break e;case z:T=9;break e;case O:T=11;break e;case C:T=14;break e;case L:T=16,o=null;break e}T=29,i=Error(l(130,t===null?"null":typeof t,"")),o=null}return s=bn(T,i,s,f),s.elementType=t,s.type=o,s.lanes=m,s}function za(t,s,i,o){return t=bn(7,t,o,s),t.lanes=i,t}function bu(t,s,i){return t=bn(6,t,null,s),t.lanes=i,t}function qp(t){var s=bn(18,null,null,0);return s.stateNode=t,s}function _u(t,s,i){return s=bn(4,t.children!==null?t.children:[],t.key,s),s.lanes=i,s.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},s}var Up=new WeakMap;function On(t,s){if(typeof t=="object"&&t!==null){var i=Up.get(t);return i!==void 0?i:(s={value:t,source:s,stack:ke(s)},Up.set(t,s),s)}return{value:t,source:s,stack:ke(s)}}var yr=[],vr=0,eo=null,ki=0,Ln=[],Mn=0,Ws=null,ls=1,os="";function ks(t,s){yr[vr++]=ki,yr[vr++]=eo,eo=t,ki=s}function Bp(t,s,i){Ln[Mn++]=ls,Ln[Mn++]=os,Ln[Mn++]=Ws,Ws=t;var o=ls;t=os;var f=32-Ft(o)-1;o&=~(1<<f),i+=1;var m=32-Ft(s)+f;if(30<m){var T=f-f%5;m=(o&(1<<T)-1).toString(32),o>>=T,f-=T,ls=1<<32-Ft(s)+f|i<<f|o,os=m+t}else ls=1<<m|i<<f|o,os=t}function Su(t){t.return!==null&&(ks(t,1),Bp(t,1,0))}function ju(t){for(;t===eo;)eo=yr[--vr],yr[vr]=null,ki=yr[--vr],yr[vr]=null;for(;t===Ws;)Ws=Ln[--Mn],Ln[Mn]=null,os=Ln[--Mn],Ln[Mn]=null,ls=Ln[--Mn],Ln[Mn]=null}function Pp(t,s){Ln[Mn++]=ls,Ln[Mn++]=os,Ln[Mn++]=Ws,ls=s.id,os=s.overflow,Ws=t}var Yt=null,dt=null,Ve=!1,Js=null,In=!1,Tu=Error(l(519));function ea(t){var s=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ei(On(s,t)),Tu}function $p(t){var s=t.stateNode,i=t.type,o=t.memoizedProps;switch(s[Qe]=t,s[Vt]=o,i){case"dialog":Pe("cancel",s),Pe("close",s);break;case"iframe":case"object":case"embed":Pe("load",s);break;case"video":case"audio":for(i=0;i<Qi.length;i++)Pe(Qi[i],s);break;case"source":Pe("error",s);break;case"img":case"image":case"link":Pe("error",s),Pe("load",s);break;case"details":Pe("toggle",s);break;case"input":Pe("invalid",s),tp(s,o.value,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name,!0);break;case"select":Pe("invalid",s);break;case"textarea":Pe("invalid",s),sp(s,o.value,o.defaultValue,o.children)}i=o.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||s.textContent===""+i||o.suppressHydrationWarning===!0||ry(s.textContent,i)?(o.popover!=null&&(Pe("beforetoggle",s),Pe("toggle",s)),o.onScroll!=null&&Pe("scroll",s),o.onScrollEnd!=null&&Pe("scrollend",s),o.onClick!=null&&(s.onclick=js),s=!0):s=!1,s||ea(t,!0)}function Hp(t){for(Yt=t.return;Yt;)switch(Yt.tag){case 5:case 31:case 13:In=!1;return;case 27:case 3:In=!0;return;default:Yt=Yt.return}}function xr(t){if(t!==Yt)return!1;if(!Ve)return Hp(t),Ve=!0,!1;var s=t.tag,i;if((i=s!==3&&s!==27)&&((i=s===5)&&(i=t.type,i=!(i!=="form"&&i!=="button")||$d(t.type,t.memoizedProps)),i=!i),i&&dt&&ea(t),Hp(t),s===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(317));dt=py(t)}else if(s===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(317));dt=py(t)}else s===27?(s=dt,pa(t.type)?(t=Yd,Yd=null,dt=t):dt=s):dt=Yt?Un(t.stateNode.nextSibling):null;return!0}function Oa(){dt=Yt=null,Ve=!1}function wu(){var t=Js;return t!==null&&(hn===null?hn=t:hn.push.apply(hn,t),Js=null),t}function Ei(t){Js===null?Js=[t]:Js.push(t)}var ku=M(null),La=null,Es=null;function ta(t,s,i){fe(ku,s._currentValue),s._currentValue=i}function Cs(t){t._currentValue=ku.current,H(ku)}function Eu(t,s,i){for(;t!==null;){var o=t.alternate;if((t.childLanes&s)!==s?(t.childLanes|=s,o!==null&&(o.childLanes|=s)):o!==null&&(o.childLanes&s)!==s&&(o.childLanes|=s),t===i)break;t=t.return}}function Cu(t,s,i,o){var f=t.child;for(f!==null&&(f.return=t);f!==null;){var m=f.dependencies;if(m!==null){var T=f.child;m=m.firstContext;e:for(;m!==null;){var A=m;m=f;for(var I=0;I<s.length;I++)if(A.context===s[I]){m.lanes|=i,A=m.alternate,A!==null&&(A.lanes|=i),Eu(m.return,i,t),o||(T=null);break e}m=A.next}}else if(f.tag===18){if(T=f.return,T===null)throw Error(l(341));T.lanes|=i,m=T.alternate,m!==null&&(m.lanes|=i),Eu(T,i,t),T=null}else T=f.child;if(T!==null)T.return=f;else for(T=f;T!==null;){if(T===t){T=null;break}if(f=T.sibling,f!==null){f.return=T.return,T=f;break}T=T.return}f=T}}function br(t,s,i,o){t=null;for(var f=s,m=!1;f!==null;){if(!m){if((f.flags&524288)!==0)m=!0;else if((f.flags&262144)!==0)break}if(f.tag===10){var T=f.alternate;if(T===null)throw Error(l(387));if(T=T.memoizedProps,T!==null){var A=f.type;xn(f.pendingProps.value,T.value)||(t!==null?t.push(A):t=[A])}}else if(f===se.current){if(T=f.alternate,T===null)throw Error(l(387));T.memoizedState.memoizedState!==f.memoizedState.memoizedState&&(t!==null?t.push(el):t=[el])}f=f.return}t!==null&&Cu(s,t,i,o),s.flags|=262144}function to(t){for(t=t.firstContext;t!==null;){if(!xn(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Ma(t){La=t,Es=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function Kt(t){return Gp(La,t)}function no(t,s){return La===null&&Ma(t),Gp(t,s)}function Gp(t,s){var i=s._currentValue;if(s={context:s,memoizedValue:i,next:null},Es===null){if(t===null)throw Error(l(308));Es=s,t.dependencies={lanes:0,firstContext:s},t.flags|=524288}else Es=Es.next=s;return i}var Ij=typeof AbortController<"u"?AbortController:function(){var t=[],s=this.signal={aborted:!1,addEventListener:function(i,o){t.push(o)}};this.abort=function(){s.aborted=!0,t.forEach(function(i){return i()})}},qj=n.unstable_scheduleCallback,Uj=n.unstable_NormalPriority,Et={$$typeof:D,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Nu(){return{controller:new Ij,data:new Map,refCount:0}}function Ci(t){t.refCount--,t.refCount===0&&qj(Uj,function(){t.controller.abort()})}var Ni=null,Au=0,_r=0,Sr=null;function Bj(t,s){if(Ni===null){var i=Ni=[];Au=0,_r=zd(),Sr={status:"pending",value:void 0,then:function(o){i.push(o)}}}return Au++,s.then(Fp,Fp),s}function Fp(){if(--Au===0&&Ni!==null){Sr!==null&&(Sr.status="fulfilled");var t=Ni;Ni=null,_r=0,Sr=null;for(var s=0;s<t.length;s++)(0,t[s])()}}function Pj(t,s){var i=[],o={status:"pending",value:null,reason:null,then:function(f){i.push(f)}};return t.then(function(){o.status="fulfilled",o.value=s;for(var f=0;f<i.length;f++)(0,i[f])(s)},function(f){for(o.status="rejected",o.reason=f,f=0;f<i.length;f++)(0,i[f])(void 0)}),o}var Vp=q.S;q.S=function(t,s){Nm=yt(),typeof s=="object"&&s!==null&&typeof s.then=="function"&&Bj(t,s),Vp!==null&&Vp(t,s)};var Ia=M(null);function Ru(){var t=Ia.current;return t!==null?t:ot.pooledCache}function so(t,s){s===null?fe(Ia,Ia.current):fe(Ia,s.pool)}function Yp(){var t=Ru();return t===null?null:{parent:Et._currentValue,pool:t}}var jr=Error(l(460)),Du=Error(l(474)),ao=Error(l(542)),ro={then:function(){}};function Kp(t){return t=t.status,t==="fulfilled"||t==="rejected"}function Qp(t,s,i){switch(i=t[i],i===void 0?t.push(s):i!==s&&(s.then(js,js),s=i),s.status){case"fulfilled":return s.value;case"rejected":throw t=s.reason,Zp(t),t;default:if(typeof s.status=="string")s.then(js,js);else{if(t=ot,t!==null&&100<t.shellSuspendCounter)throw Error(l(482));t=s,t.status="pending",t.then(function(o){if(s.status==="pending"){var f=s;f.status="fulfilled",f.value=o}},function(o){if(s.status==="pending"){var f=s;f.status="rejected",f.reason=o}})}switch(s.status){case"fulfilled":return s.value;case"rejected":throw t=s.reason,Zp(t),t}throw Ua=s,jr}}function qa(t){try{var s=t._init;return s(t._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(Ua=i,jr):i}}var Ua=null;function Xp(){if(Ua===null)throw Error(l(459));var t=Ua;return Ua=null,t}function Zp(t){if(t===jr||t===ao)throw Error(l(483))}var Tr=null,Ai=0;function io(t){var s=Ai;return Ai+=1,Tr===null&&(Tr=[]),Qp(Tr,t,s)}function Ri(t,s){s=s.props.ref,t.ref=s!==void 0?s:null}function lo(t,s){throw s.$$typeof===x?Error(l(525)):(t=Object.prototype.toString.call(s),Error(l(31,t==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":t)))}function Wp(t){function s(G,P){if(t){var Y=G.deletions;Y===null?(G.deletions=[P],G.flags|=16):Y.push(P)}}function i(G,P){if(!t)return null;for(;P!==null;)s(G,P),P=P.sibling;return null}function o(G){for(var P=new Map;G!==null;)G.key!==null?P.set(G.key,G):P.set(G.index,G),G=G.sibling;return P}function f(G,P){return G=ws(G,P),G.index=0,G.sibling=null,G}function m(G,P,Y){return G.index=Y,t?(Y=G.alternate,Y!==null?(Y=Y.index,Y<P?(G.flags|=67108866,P):Y):(G.flags|=67108866,P)):(G.flags|=1048576,P)}function T(G){return t&&G.alternate===null&&(G.flags|=67108866),G}function A(G,P,Y,ie){return P===null||P.tag!==6?(P=bu(Y,G.mode,ie),P.return=G,P):(P=f(P,Y),P.return=G,P)}function I(G,P,Y,ie){var Ne=Y.type;return Ne===j?ae(G,P,Y.props.children,ie,Y.key):P!==null&&(P.elementType===Ne||typeof Ne=="object"&&Ne!==null&&Ne.$$typeof===L&&qa(Ne)===P.type)?(P=f(P,Y.props),Ri(P,Y),P.return=G,P):(P=Jl(Y.type,Y.key,Y.props,null,G.mode,ie),Ri(P,Y),P.return=G,P)}function Q(G,P,Y,ie){return P===null||P.tag!==4||P.stateNode.containerInfo!==Y.containerInfo||P.stateNode.implementation!==Y.implementation?(P=_u(Y,G.mode,ie),P.return=G,P):(P=f(P,Y.children||[]),P.return=G,P)}function ae(G,P,Y,ie,Ne){return P===null||P.tag!==7?(P=za(Y,G.mode,ie,Ne),P.return=G,P):(P=f(P,Y),P.return=G,P)}function ce(G,P,Y){if(typeof P=="string"&&P!==""||typeof P=="number"||typeof P=="bigint")return P=bu(""+P,G.mode,Y),P.return=G,P;if(typeof P=="object"&&P!==null){switch(P.$$typeof){case _:return Y=Jl(P.type,P.key,P.props,null,G.mode,Y),Ri(Y,P),Y.return=G,Y;case k:return P=_u(P,G.mode,Y),P.return=G,P;case L:return P=qa(P),ce(G,P,Y)}if(ye(P)||F(P))return P=za(P,G.mode,Y,null),P.return=G,P;if(typeof P.then=="function")return ce(G,io(P),Y);if(P.$$typeof===D)return ce(G,no(G,P),Y);lo(G,P)}return null}function X(G,P,Y,ie){var Ne=P!==null?P.key:null;if(typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint")return Ne!==null?null:A(G,P,""+Y,ie);if(typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case _:return Y.key===Ne?I(G,P,Y,ie):null;case k:return Y.key===Ne?Q(G,P,Y,ie):null;case L:return Y=qa(Y),X(G,P,Y,ie)}if(ye(Y)||F(Y))return Ne!==null?null:ae(G,P,Y,ie,null);if(typeof Y.then=="function")return X(G,P,io(Y),ie);if(Y.$$typeof===D)return X(G,P,no(G,Y),ie);lo(G,Y)}return null}function ee(G,P,Y,ie,Ne){if(typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint")return G=G.get(Y)||null,A(P,G,""+ie,Ne);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case _:return G=G.get(ie.key===null?Y:ie.key)||null,I(P,G,ie,Ne);case k:return G=G.get(ie.key===null?Y:ie.key)||null,Q(P,G,ie,Ne);case L:return ie=qa(ie),ee(G,P,Y,ie,Ne)}if(ye(ie)||F(ie))return G=G.get(Y)||null,ae(P,G,ie,Ne,null);if(typeof ie.then=="function")return ee(G,P,Y,io(ie),Ne);if(ie.$$typeof===D)return ee(G,P,Y,no(P,ie),Ne);lo(P,ie)}return null}function Ee(G,P,Y,ie){for(var Ne=null,Xe=null,Ce=P,Ie=P=0,Ge=null;Ce!==null&&Ie<Y.length;Ie++){Ce.index>Ie?(Ge=Ce,Ce=null):Ge=Ce.sibling;var Ze=X(G,Ce,Y[Ie],ie);if(Ze===null){Ce===null&&(Ce=Ge);break}t&&Ce&&Ze.alternate===null&&s(G,Ce),P=m(Ze,P,Ie),Xe===null?Ne=Ze:Xe.sibling=Ze,Xe=Ze,Ce=Ge}if(Ie===Y.length)return i(G,Ce),Ve&&ks(G,Ie),Ne;if(Ce===null){for(;Ie<Y.length;Ie++)Ce=ce(G,Y[Ie],ie),Ce!==null&&(P=m(Ce,P,Ie),Xe===null?Ne=Ce:Xe.sibling=Ce,Xe=Ce);return Ve&&ks(G,Ie),Ne}for(Ce=o(Ce);Ie<Y.length;Ie++)Ge=ee(Ce,G,Ie,Y[Ie],ie),Ge!==null&&(t&&Ge.alternate!==null&&Ce.delete(Ge.key===null?Ie:Ge.key),P=m(Ge,P,Ie),Xe===null?Ne=Ge:Xe.sibling=Ge,Xe=Ge);return t&&Ce.forEach(function(xa){return s(G,xa)}),Ve&&ks(G,Ie),Ne}function Ae(G,P,Y,ie){if(Y==null)throw Error(l(151));for(var Ne=null,Xe=null,Ce=P,Ie=P=0,Ge=null,Ze=Y.next();Ce!==null&&!Ze.done;Ie++,Ze=Y.next()){Ce.index>Ie?(Ge=Ce,Ce=null):Ge=Ce.sibling;var xa=X(G,Ce,Ze.value,ie);if(xa===null){Ce===null&&(Ce=Ge);break}t&&Ce&&xa.alternate===null&&s(G,Ce),P=m(xa,P,Ie),Xe===null?Ne=xa:Xe.sibling=xa,Xe=xa,Ce=Ge}if(Ze.done)return i(G,Ce),Ve&&ks(G,Ie),Ne;if(Ce===null){for(;!Ze.done;Ie++,Ze=Y.next())Ze=ce(G,Ze.value,ie),Ze!==null&&(P=m(Ze,P,Ie),Xe===null?Ne=Ze:Xe.sibling=Ze,Xe=Ze);return Ve&&ks(G,Ie),Ne}for(Ce=o(Ce);!Ze.done;Ie++,Ze=Y.next())Ze=ee(Ce,G,Ie,Ze.value,ie),Ze!==null&&(t&&Ze.alternate!==null&&Ce.delete(Ze.key===null?Ie:Ze.key),P=m(Ze,P,Ie),Xe===null?Ne=Ze:Xe.sibling=Ze,Xe=Ze);return t&&Ce.forEach(function(WT){return s(G,WT)}),Ve&&ks(G,Ie),Ne}function it(G,P,Y,ie){if(typeof Y=="object"&&Y!==null&&Y.type===j&&Y.key===null&&(Y=Y.props.children),typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case _:e:{for(var Ne=Y.key;P!==null;){if(P.key===Ne){if(Ne=Y.type,Ne===j){if(P.tag===7){i(G,P.sibling),ie=f(P,Y.props.children),ie.return=G,G=ie;break e}}else if(P.elementType===Ne||typeof Ne=="object"&&Ne!==null&&Ne.$$typeof===L&&qa(Ne)===P.type){i(G,P.sibling),ie=f(P,Y.props),Ri(ie,Y),ie.return=G,G=ie;break e}i(G,P);break}else s(G,P);P=P.sibling}Y.type===j?(ie=za(Y.props.children,G.mode,ie,Y.key),ie.return=G,G=ie):(ie=Jl(Y.type,Y.key,Y.props,null,G.mode,ie),Ri(ie,Y),ie.return=G,G=ie)}return T(G);case k:e:{for(Ne=Y.key;P!==null;){if(P.key===Ne)if(P.tag===4&&P.stateNode.containerInfo===Y.containerInfo&&P.stateNode.implementation===Y.implementation){i(G,P.sibling),ie=f(P,Y.children||[]),ie.return=G,G=ie;break e}else{i(G,P);break}else s(G,P);P=P.sibling}ie=_u(Y,G.mode,ie),ie.return=G,G=ie}return T(G);case L:return Y=qa(Y),it(G,P,Y,ie)}if(ye(Y))return Ee(G,P,Y,ie);if(F(Y)){if(Ne=F(Y),typeof Ne!="function")throw Error(l(150));return Y=Ne.call(Y),Ae(G,P,Y,ie)}if(typeof Y.then=="function")return it(G,P,io(Y),ie);if(Y.$$typeof===D)return it(G,P,no(G,Y),ie);lo(G,Y)}return typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint"?(Y=""+Y,P!==null&&P.tag===6?(i(G,P.sibling),ie=f(P,Y),ie.return=G,G=ie):(i(G,P),ie=bu(Y,G.mode,ie),ie.return=G,G=ie),T(G)):i(G,P)}return function(G,P,Y,ie){try{Ai=0;var Ne=it(G,P,Y,ie);return Tr=null,Ne}catch(Ce){if(Ce===jr||Ce===ao)throw Ce;var Xe=bn(29,Ce,null,G.mode);return Xe.lanes=ie,Xe.return=G,Xe}}}var Ba=Wp(!0),Jp=Wp(!1),na=!1;function zu(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ou(t,s){t=t.updateQueue,s.updateQueue===t&&(s.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function sa(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function aa(t,s,i){var o=t.updateQueue;if(o===null)return null;if(o=o.shared,(Je&2)!==0){var f=o.pending;return f===null?s.next=s:(s.next=f.next,f.next=s),o.pending=s,s=Wl(t),Mp(t,null,i),s}return Zl(t,o,s,i),Wl(t)}function Di(t,s,i){if(s=s.updateQueue,s!==null&&(s=s.shared,(i&4194048)!==0)){var o=s.lanes;o&=t.pendingLanes,i|=o,s.lanes=i,pe(t,i)}}function Lu(t,s){var i=t.updateQueue,o=t.alternate;if(o!==null&&(o=o.updateQueue,i===o)){var f=null,m=null;if(i=i.firstBaseUpdate,i!==null){do{var T={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};m===null?f=m=T:m=m.next=T,i=i.next}while(i!==null);m===null?f=m=s:m=m.next=s}else f=m=s;i={baseState:o.baseState,firstBaseUpdate:f,lastBaseUpdate:m,shared:o.shared,callbacks:o.callbacks},t.updateQueue=i;return}t=i.lastBaseUpdate,t===null?i.firstBaseUpdate=s:t.next=s,i.lastBaseUpdate=s}var Mu=!1;function zi(){if(Mu){var t=Sr;if(t!==null)throw t}}function Oi(t,s,i,o){Mu=!1;var f=t.updateQueue;na=!1;var m=f.firstBaseUpdate,T=f.lastBaseUpdate,A=f.shared.pending;if(A!==null){f.shared.pending=null;var I=A,Q=I.next;I.next=null,T===null?m=Q:T.next=Q,T=I;var ae=t.alternate;ae!==null&&(ae=ae.updateQueue,A=ae.lastBaseUpdate,A!==T&&(A===null?ae.firstBaseUpdate=Q:A.next=Q,ae.lastBaseUpdate=I))}if(m!==null){var ce=f.baseState;T=0,ae=Q=I=null,A=m;do{var X=A.lane&-536870913,ee=X!==A.lane;if(ee?(He&X)===X:(o&X)===X){X!==0&&X===_r&&(Mu=!0),ae!==null&&(ae=ae.next={lane:0,tag:A.tag,payload:A.payload,callback:null,next:null});e:{var Ee=t,Ae=A;X=s;var it=i;switch(Ae.tag){case 1:if(Ee=Ae.payload,typeof Ee=="function"){ce=Ee.call(it,ce,X);break e}ce=Ee;break e;case 3:Ee.flags=Ee.flags&-65537|128;case 0:if(Ee=Ae.payload,X=typeof Ee=="function"?Ee.call(it,ce,X):Ee,X==null)break e;ce=S({},ce,X);break e;case 2:na=!0}}X=A.callback,X!==null&&(t.flags|=64,ee&&(t.flags|=8192),ee=f.callbacks,ee===null?f.callbacks=[X]:ee.push(X))}else ee={lane:X,tag:A.tag,payload:A.payload,callback:A.callback,next:null},ae===null?(Q=ae=ee,I=ce):ae=ae.next=ee,T|=X;if(A=A.next,A===null){if(A=f.shared.pending,A===null)break;ee=A,A=ee.next,ee.next=null,f.lastBaseUpdate=ee,f.shared.pending=null}}while(!0);ae===null&&(I=ce),f.baseState=I,f.firstBaseUpdate=Q,f.lastBaseUpdate=ae,m===null&&(f.shared.lanes=0),ca|=T,t.lanes=T,t.memoizedState=ce}}function eg(t,s){if(typeof t!="function")throw Error(l(191,t));t.call(s)}function tg(t,s){var i=t.callbacks;if(i!==null)for(t.callbacks=null,t=0;t<i.length;t++)eg(i[t],s)}var wr=M(null),oo=M(0);function ng(t,s){t=Is,fe(oo,t),fe(wr,s),Is=t|s.baseLanes}function Iu(){fe(oo,Is),fe(wr,wr.current)}function qu(){Is=oo.current,H(wr),H(oo)}var _n=M(null),qn=null;function ra(t){var s=t.alternate;fe(jt,jt.current&1),fe(_n,t),qn===null&&(s===null||wr.current!==null||s.memoizedState!==null)&&(qn=t)}function Uu(t){fe(jt,jt.current),fe(_n,t),qn===null&&(qn=t)}function sg(t){t.tag===22?(fe(jt,jt.current),fe(_n,t),qn===null&&(qn=t)):ia()}function ia(){fe(jt,jt.current),fe(_n,_n.current)}function Sn(t){H(_n),qn===t&&(qn=null),H(jt)}var jt=M(0);function co(t){for(var s=t;s!==null;){if(s.tag===13){var i=s.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||Fd(i)||Vd(i)))return s}else if(s.tag===19&&(s.memoizedProps.revealOrder==="forwards"||s.memoizedProps.revealOrder==="backwards"||s.memoizedProps.revealOrder==="unstable_legacy-backwards"||s.memoizedProps.revealOrder==="together")){if((s.flags&128)!==0)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break;for(;s.sibling===null;){if(s.return===null||s.return===t)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}var Ns=0,Le=null,at=null,Ct=null,uo=!1,kr=!1,Pa=!1,ho=0,Li=0,Er=null,$j=0;function _t(){throw Error(l(321))}function Bu(t,s){if(s===null)return!1;for(var i=0;i<s.length&&i<t.length;i++)if(!xn(t[i],s[i]))return!1;return!0}function Pu(t,s,i,o,f,m){return Ns=m,Le=s,s.memoizedState=null,s.updateQueue=null,s.lanes=0,q.H=t===null||t.memoizedState===null?Bg:nd,Pa=!1,m=i(o,f),Pa=!1,kr&&(m=rg(s,i,o,f)),ag(t),m}function ag(t){q.H=qi;var s=at!==null&&at.next!==null;if(Ns=0,Ct=at=Le=null,uo=!1,Li=0,Er=null,s)throw Error(l(300));t===null||Nt||(t=t.dependencies,t!==null&&to(t)&&(Nt=!0))}function rg(t,s,i,o){Le=t;var f=0;do{if(kr&&(Er=null),Li=0,kr=!1,25<=f)throw Error(l(301));if(f+=1,Ct=at=null,t.updateQueue!=null){var m=t.updateQueue;m.lastEffect=null,m.events=null,m.stores=null,m.memoCache!=null&&(m.memoCache.index=0)}q.H=Pg,m=s(i,o)}while(kr);return m}function Hj(){var t=q.H,s=t.useState()[0];return s=typeof s.then=="function"?Mi(s):s,t=t.useState()[0],(at!==null?at.memoizedState:null)!==t&&(Le.flags|=1024),s}function $u(){var t=ho!==0;return ho=0,t}function Hu(t,s,i){s.updateQueue=t.updateQueue,s.flags&=-2053,t.lanes&=~i}function Gu(t){if(uo){for(t=t.memoizedState;t!==null;){var s=t.queue;s!==null&&(s.pending=null),t=t.next}uo=!1}Ns=0,Ct=at=Le=null,kr=!1,Li=ho=0,Er=null}function sn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ct===null?Le.memoizedState=Ct=t:Ct=Ct.next=t,Ct}function Tt(){if(at===null){var t=Le.alternate;t=t!==null?t.memoizedState:null}else t=at.next;var s=Ct===null?Le.memoizedState:Ct.next;if(s!==null)Ct=s,at=t;else{if(t===null)throw Le.alternate===null?Error(l(467)):Error(l(310));at=t,t={memoizedState:at.memoizedState,baseState:at.baseState,baseQueue:at.baseQueue,queue:at.queue,next:null},Ct===null?Le.memoizedState=Ct=t:Ct=Ct.next=t}return Ct}function fo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Mi(t){var s=Li;return Li+=1,Er===null&&(Er=[]),t=Qp(Er,t,s),s=Le,(Ct===null?s.memoizedState:Ct.next)===null&&(s=s.alternate,q.H=s===null||s.memoizedState===null?Bg:nd),t}function po(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return Mi(t);if(t.$$typeof===D)return Kt(t)}throw Error(l(438,String(t)))}function Fu(t){var s=null,i=Le.updateQueue;if(i!==null&&(s=i.memoCache),s==null){var o=Le.alternate;o!==null&&(o=o.updateQueue,o!==null&&(o=o.memoCache,o!=null&&(s={data:o.data.map(function(f){return f.slice()}),index:0})))}if(s==null&&(s={data:[],index:0}),i===null&&(i=fo(),Le.updateQueue=i),i.memoCache=s,i=s.data[s.index],i===void 0)for(i=s.data[s.index]=Array(t),o=0;o<t;o++)i[o]=B;return s.index++,i}function As(t,s){return typeof s=="function"?s(t):s}function go(t){var s=Tt();return Vu(s,at,t)}function Vu(t,s,i){var o=t.queue;if(o===null)throw Error(l(311));o.lastRenderedReducer=i;var f=t.baseQueue,m=o.pending;if(m!==null){if(f!==null){var T=f.next;f.next=m.next,m.next=T}s.baseQueue=f=m,o.pending=null}if(m=t.baseState,f===null)t.memoizedState=m;else{s=f.next;var A=T=null,I=null,Q=s,ae=!1;do{var ce=Q.lane&-536870913;if(ce!==Q.lane?(He&ce)===ce:(Ns&ce)===ce){var X=Q.revertLane;if(X===0)I!==null&&(I=I.next={lane:0,revertLane:0,gesture:null,action:Q.action,hasEagerState:Q.hasEagerState,eagerState:Q.eagerState,next:null}),ce===_r&&(ae=!0);else if((Ns&X)===X){Q=Q.next,X===_r&&(ae=!0);continue}else ce={lane:0,revertLane:Q.revertLane,gesture:null,action:Q.action,hasEagerState:Q.hasEagerState,eagerState:Q.eagerState,next:null},I===null?(A=I=ce,T=m):I=I.next=ce,Le.lanes|=X,ca|=X;ce=Q.action,Pa&&i(m,ce),m=Q.hasEagerState?Q.eagerState:i(m,ce)}else X={lane:ce,revertLane:Q.revertLane,gesture:Q.gesture,action:Q.action,hasEagerState:Q.hasEagerState,eagerState:Q.eagerState,next:null},I===null?(A=I=X,T=m):I=I.next=X,Le.lanes|=ce,ca|=ce;Q=Q.next}while(Q!==null&&Q!==s);if(I===null?T=m:I.next=A,!xn(m,t.memoizedState)&&(Nt=!0,ae&&(i=Sr,i!==null)))throw i;t.memoizedState=m,t.baseState=T,t.baseQueue=I,o.lastRenderedState=m}return f===null&&(o.lanes=0),[t.memoizedState,o.dispatch]}function Yu(t){var s=Tt(),i=s.queue;if(i===null)throw Error(l(311));i.lastRenderedReducer=t;var o=i.dispatch,f=i.pending,m=s.memoizedState;if(f!==null){i.pending=null;var T=f=f.next;do m=t(m,T.action),T=T.next;while(T!==f);xn(m,s.memoizedState)||(Nt=!0),s.memoizedState=m,s.baseQueue===null&&(s.baseState=m),i.lastRenderedState=m}return[m,o]}function ig(t,s,i){var o=Le,f=Tt(),m=Ve;if(m){if(i===void 0)throw Error(l(407));i=i()}else i=s();var T=!xn((at||f).memoizedState,i);if(T&&(f.memoizedState=i,Nt=!0),f=f.queue,Xu(cg.bind(null,o,f,t),[t]),f.getSnapshot!==s||T||Ct!==null&&Ct.memoizedState.tag&1){if(o.flags|=2048,Cr(9,{destroy:void 0},og.bind(null,o,f,i,s),null),ot===null)throw Error(l(349));m||(Ns&127)!==0||lg(o,s,i)}return i}function lg(t,s,i){t.flags|=16384,t={getSnapshot:s,value:i},s=Le.updateQueue,s===null?(s=fo(),Le.updateQueue=s,s.stores=[t]):(i=s.stores,i===null?s.stores=[t]:i.push(t))}function og(t,s,i,o){s.value=i,s.getSnapshot=o,ug(s)&&dg(t)}function cg(t,s,i){return i(function(){ug(s)&&dg(t)})}function ug(t){var s=t.getSnapshot;t=t.value;try{var i=s();return!xn(t,i)}catch{return!0}}function dg(t){var s=Da(t,2);s!==null&&fn(s,t,2)}function Ku(t){var s=sn();if(typeof t=="function"){var i=t;if(t=i(),Pa){Nn(!0);try{i()}finally{Nn(!1)}}}return s.memoizedState=s.baseState=t,s.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:As,lastRenderedState:t},s}function hg(t,s,i,o){return t.baseState=i,Vu(t,at,typeof o=="function"?o:As)}function Gj(t,s,i,o,f){if(vo(t))throw Error(l(485));if(t=s.action,t!==null){var m={payload:f,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(T){m.listeners.push(T)}};q.T!==null?i(!0):m.isTransition=!1,o(m),i=s.pending,i===null?(m.next=s.pending=m,fg(s,m)):(m.next=i.next,s.pending=i.next=m)}}function fg(t,s){var i=s.action,o=s.payload,f=t.state;if(s.isTransition){var m=q.T,T={};q.T=T;try{var A=i(f,o),I=q.S;I!==null&&I(T,A),pg(t,s,A)}catch(Q){Qu(t,s,Q)}finally{m!==null&&T.types!==null&&(m.types=T.types),q.T=m}}else try{m=i(f,o),pg(t,s,m)}catch(Q){Qu(t,s,Q)}}function pg(t,s,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(o){gg(t,s,o)},function(o){return Qu(t,s,o)}):gg(t,s,i)}function gg(t,s,i){s.status="fulfilled",s.value=i,mg(s),t.state=i,s=t.pending,s!==null&&(i=s.next,i===s?t.pending=null:(i=i.next,s.next=i,fg(t,i)))}function Qu(t,s,i){var o=t.pending;if(t.pending=null,o!==null){o=o.next;do s.status="rejected",s.reason=i,mg(s),s=s.next;while(s!==o)}t.action=null}function mg(t){t=t.listeners;for(var s=0;s<t.length;s++)(0,t[s])()}function yg(t,s){return s}function vg(t,s){if(Ve){var i=ot.formState;if(i!==null){e:{var o=Le;if(Ve){if(dt){t:{for(var f=dt,m=In;f.nodeType!==8;){if(!m){f=null;break t}if(f=Un(f.nextSibling),f===null){f=null;break t}}m=f.data,f=m==="F!"||m==="F"?f:null}if(f){dt=Un(f.nextSibling),o=f.data==="F!";break e}}ea(o)}o=!1}o&&(s=i[0])}}return i=sn(),i.memoizedState=i.baseState=s,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:yg,lastRenderedState:s},i.queue=o,i=Ig.bind(null,Le,o),o.dispatch=i,o=Ku(!1),m=td.bind(null,Le,!1,o.queue),o=sn(),f={state:s,dispatch:null,action:t,pending:null},o.queue=f,i=Gj.bind(null,Le,f,m,i),f.dispatch=i,o.memoizedState=t,[s,i,!1]}function xg(t){var s=Tt();return bg(s,at,t)}function bg(t,s,i){if(s=Vu(t,s,yg)[0],t=go(As)[0],typeof s=="object"&&s!==null&&typeof s.then=="function")try{var o=Mi(s)}catch(T){throw T===jr?ao:T}else o=s;s=Tt();var f=s.queue,m=f.dispatch;return i!==s.memoizedState&&(Le.flags|=2048,Cr(9,{destroy:void 0},Fj.bind(null,f,i),null)),[o,m,t]}function Fj(t,s){t.action=s}function _g(t){var s=Tt(),i=at;if(i!==null)return bg(s,i,t);Tt(),s=s.memoizedState,i=Tt();var o=i.queue.dispatch;return i.memoizedState=t,[s,o,!1]}function Cr(t,s,i,o){return t={tag:t,create:i,deps:o,inst:s,next:null},s=Le.updateQueue,s===null&&(s=fo(),Le.updateQueue=s),i=s.lastEffect,i===null?s.lastEffect=t.next=t:(o=i.next,i.next=t,t.next=o,s.lastEffect=t),t}function Sg(){return Tt().memoizedState}function mo(t,s,i,o){var f=sn();Le.flags|=t,f.memoizedState=Cr(1|s,{destroy:void 0},i,o===void 0?null:o)}function yo(t,s,i,o){var f=Tt();o=o===void 0?null:o;var m=f.memoizedState.inst;at!==null&&o!==null&&Bu(o,at.memoizedState.deps)?f.memoizedState=Cr(s,m,i,o):(Le.flags|=t,f.memoizedState=Cr(1|s,m,i,o))}function jg(t,s){mo(8390656,8,t,s)}function Xu(t,s){yo(2048,8,t,s)}function Vj(t){Le.flags|=4;var s=Le.updateQueue;if(s===null)s=fo(),Le.updateQueue=s,s.events=[t];else{var i=s.events;i===null?s.events=[t]:i.push(t)}}function Tg(t){var s=Tt().memoizedState;return Vj({ref:s,nextImpl:t}),function(){if((Je&2)!==0)throw Error(l(440));return s.impl.apply(void 0,arguments)}}function wg(t,s){return yo(4,2,t,s)}function kg(t,s){return yo(4,4,t,s)}function Eg(t,s){if(typeof s=="function"){t=t();var i=s(t);return function(){typeof i=="function"?i():s(null)}}if(s!=null)return t=t(),s.current=t,function(){s.current=null}}function Cg(t,s,i){i=i!=null?i.concat([t]):null,yo(4,4,Eg.bind(null,s,t),i)}function Zu(){}function Ng(t,s){var i=Tt();s=s===void 0?null:s;var o=i.memoizedState;return s!==null&&Bu(s,o[1])?o[0]:(i.memoizedState=[t,s],t)}function Ag(t,s){var i=Tt();s=s===void 0?null:s;var o=i.memoizedState;if(s!==null&&Bu(s,o[1]))return o[0];if(o=t(),Pa){Nn(!0);try{t()}finally{Nn(!1)}}return i.memoizedState=[o,s],o}function Wu(t,s,i){return i===void 0||(Ns&1073741824)!==0&&(He&261930)===0?t.memoizedState=s:(t.memoizedState=i,t=Rm(),Le.lanes|=t,ca|=t,i)}function Rg(t,s,i,o){return xn(i,s)?i:wr.current!==null?(t=Wu(t,i,o),xn(t,s)||(Nt=!0),t):(Ns&42)===0||(Ns&1073741824)!==0&&(He&261930)===0?(Nt=!0,t.memoizedState=i):(t=Rm(),Le.lanes|=t,ca|=t,s)}function Dg(t,s,i,o,f){var m=Z.p;Z.p=m!==0&&8>m?m:8;var T=q.T,A={};q.T=A,td(t,!1,s,i);try{var I=f(),Q=q.S;if(Q!==null&&Q(A,I),I!==null&&typeof I=="object"&&typeof I.then=="function"){var ae=Pj(I,o);Ii(t,s,ae,wn(t))}else Ii(t,s,o,wn(t))}catch(ce){Ii(t,s,{then:function(){},status:"rejected",reason:ce},wn())}finally{Z.p=m,T!==null&&A.types!==null&&(T.types=A.types),q.T=T}}function Yj(){}function Ju(t,s,i,o){if(t.tag!==5)throw Error(l(476));var f=zg(t).queue;Dg(t,f,s,le,i===null?Yj:function(){return Og(t),i(o)})}function zg(t){var s=t.memoizedState;if(s!==null)return s;s={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:As,lastRenderedState:le},next:null};var i={};return s.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:As,lastRenderedState:i},next:null},t.memoizedState=s,t=t.alternate,t!==null&&(t.memoizedState=s),s}function Og(t){var s=zg(t);s.next===null&&(s=t.alternate.memoizedState),Ii(t,s.next.queue,{},wn())}function ed(){return Kt(el)}function Lg(){return Tt().memoizedState}function Mg(){return Tt().memoizedState}function Kj(t){for(var s=t.return;s!==null;){switch(s.tag){case 24:case 3:var i=wn();t=sa(i);var o=aa(s,t,i);o!==null&&(fn(o,s,i),Di(o,s,i)),s={cache:Nu()},t.payload=s;return}s=s.return}}function Qj(t,s,i){var o=wn();i={lane:o,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},vo(t)?qg(s,i):(i=vu(t,s,i,o),i!==null&&(fn(i,t,o),Ug(i,s,o)))}function Ig(t,s,i){var o=wn();Ii(t,s,i,o)}function Ii(t,s,i,o){var f={lane:o,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(vo(t))qg(s,f);else{var m=t.alternate;if(t.lanes===0&&(m===null||m.lanes===0)&&(m=s.lastRenderedReducer,m!==null))try{var T=s.lastRenderedState,A=m(T,i);if(f.hasEagerState=!0,f.eagerState=A,xn(A,T))return Zl(t,s,f,0),ot===null&&Xl(),!1}catch{}if(i=vu(t,s,f,o),i!==null)return fn(i,t,o),Ug(i,s,o),!0}return!1}function td(t,s,i,o){if(o={lane:2,revertLane:zd(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},vo(t)){if(s)throw Error(l(479))}else s=vu(t,i,o,2),s!==null&&fn(s,t,2)}function vo(t){var s=t.alternate;return t===Le||s!==null&&s===Le}function qg(t,s){kr=uo=!0;var i=t.pending;i===null?s.next=s:(s.next=i.next,i.next=s),t.pending=s}function Ug(t,s,i){if((i&4194048)!==0){var o=s.lanes;o&=t.pendingLanes,i|=o,s.lanes=i,pe(t,i)}}var qi={readContext:Kt,use:po,useCallback:_t,useContext:_t,useEffect:_t,useImperativeHandle:_t,useLayoutEffect:_t,useInsertionEffect:_t,useMemo:_t,useReducer:_t,useRef:_t,useState:_t,useDebugValue:_t,useDeferredValue:_t,useTransition:_t,useSyncExternalStore:_t,useId:_t,useHostTransitionStatus:_t,useFormState:_t,useActionState:_t,useOptimistic:_t,useMemoCache:_t,useCacheRefresh:_t};qi.useEffectEvent=_t;var Bg={readContext:Kt,use:po,useCallback:function(t,s){return sn().memoizedState=[t,s===void 0?null:s],t},useContext:Kt,useEffect:jg,useImperativeHandle:function(t,s,i){i=i!=null?i.concat([t]):null,mo(4194308,4,Eg.bind(null,s,t),i)},useLayoutEffect:function(t,s){return mo(4194308,4,t,s)},useInsertionEffect:function(t,s){mo(4,2,t,s)},useMemo:function(t,s){var i=sn();s=s===void 0?null:s;var o=t();if(Pa){Nn(!0);try{t()}finally{Nn(!1)}}return i.memoizedState=[o,s],o},useReducer:function(t,s,i){var o=sn();if(i!==void 0){var f=i(s);if(Pa){Nn(!0);try{i(s)}finally{Nn(!1)}}}else f=s;return o.memoizedState=o.baseState=f,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:f},o.queue=t,t=t.dispatch=Qj.bind(null,Le,t),[o.memoizedState,t]},useRef:function(t){var s=sn();return t={current:t},s.memoizedState=t},useState:function(t){t=Ku(t);var s=t.queue,i=Ig.bind(null,Le,s);return s.dispatch=i,[t.memoizedState,i]},useDebugValue:Zu,useDeferredValue:function(t,s){var i=sn();return Wu(i,t,s)},useTransition:function(){var t=Ku(!1);return t=Dg.bind(null,Le,t.queue,!0,!1),sn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,s,i){var o=Le,f=sn();if(Ve){if(i===void 0)throw Error(l(407));i=i()}else{if(i=s(),ot===null)throw Error(l(349));(He&127)!==0||lg(o,s,i)}f.memoizedState=i;var m={value:i,getSnapshot:s};return f.queue=m,jg(cg.bind(null,o,m,t),[t]),o.flags|=2048,Cr(9,{destroy:void 0},og.bind(null,o,m,i,s),null),i},useId:function(){var t=sn(),s=ot.identifierPrefix;if(Ve){var i=os,o=ls;i=(o&~(1<<32-Ft(o)-1)).toString(32)+i,s="_"+s+"R_"+i,i=ho++,0<i&&(s+="H"+i.toString(32)),s+="_"}else i=$j++,s="_"+s+"r_"+i.toString(32)+"_";return t.memoizedState=s},useHostTransitionStatus:ed,useFormState:vg,useActionState:vg,useOptimistic:function(t){var s=sn();s.memoizedState=s.baseState=t;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return s.queue=i,s=td.bind(null,Le,!0,i),i.dispatch=s,[t,s]},useMemoCache:Fu,useCacheRefresh:function(){return sn().memoizedState=Kj.bind(null,Le)},useEffectEvent:function(t){var s=sn(),i={impl:t};return s.memoizedState=i,function(){if((Je&2)!==0)throw Error(l(440));return i.impl.apply(void 0,arguments)}}},nd={readContext:Kt,use:po,useCallback:Ng,useContext:Kt,useEffect:Xu,useImperativeHandle:Cg,useInsertionEffect:wg,useLayoutEffect:kg,useMemo:Ag,useReducer:go,useRef:Sg,useState:function(){return go(As)},useDebugValue:Zu,useDeferredValue:function(t,s){var i=Tt();return Rg(i,at.memoizedState,t,s)},useTransition:function(){var t=go(As)[0],s=Tt().memoizedState;return[typeof t=="boolean"?t:Mi(t),s]},useSyncExternalStore:ig,useId:Lg,useHostTransitionStatus:ed,useFormState:xg,useActionState:xg,useOptimistic:function(t,s){var i=Tt();return hg(i,at,t,s)},useMemoCache:Fu,useCacheRefresh:Mg};nd.useEffectEvent=Tg;var Pg={readContext:Kt,use:po,useCallback:Ng,useContext:Kt,useEffect:Xu,useImperativeHandle:Cg,useInsertionEffect:wg,useLayoutEffect:kg,useMemo:Ag,useReducer:Yu,useRef:Sg,useState:function(){return Yu(As)},useDebugValue:Zu,useDeferredValue:function(t,s){var i=Tt();return at===null?Wu(i,t,s):Rg(i,at.memoizedState,t,s)},useTransition:function(){var t=Yu(As)[0],s=Tt().memoizedState;return[typeof t=="boolean"?t:Mi(t),s]},useSyncExternalStore:ig,useId:Lg,useHostTransitionStatus:ed,useFormState:_g,useActionState:_g,useOptimistic:function(t,s){var i=Tt();return at!==null?hg(i,at,t,s):(i.baseState=t,[t,i.queue.dispatch])},useMemoCache:Fu,useCacheRefresh:Mg};Pg.useEffectEvent=Tg;function sd(t,s,i,o){s=t.memoizedState,i=i(o,s),i=i==null?s:S({},s,i),t.memoizedState=i,t.lanes===0&&(t.updateQueue.baseState=i)}var ad={enqueueSetState:function(t,s,i){t=t._reactInternals;var o=wn(),f=sa(o);f.payload=s,i!=null&&(f.callback=i),s=aa(t,f,o),s!==null&&(fn(s,t,o),Di(s,t,o))},enqueueReplaceState:function(t,s,i){t=t._reactInternals;var o=wn(),f=sa(o);f.tag=1,f.payload=s,i!=null&&(f.callback=i),s=aa(t,f,o),s!==null&&(fn(s,t,o),Di(s,t,o))},enqueueForceUpdate:function(t,s){t=t._reactInternals;var i=wn(),o=sa(i);o.tag=2,s!=null&&(o.callback=s),s=aa(t,o,i),s!==null&&(fn(s,t,i),Di(s,t,i))}};function $g(t,s,i,o,f,m,T){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(o,m,T):s.prototype&&s.prototype.isPureReactComponent?!Ti(i,o)||!Ti(f,m):!0}function Hg(t,s,i,o){t=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(i,o),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(i,o),s.state!==t&&ad.enqueueReplaceState(s,s.state,null)}function $a(t,s){var i=s;if("ref"in s){i={};for(var o in s)o!=="ref"&&(i[o]=s[o])}if(t=t.defaultProps){i===s&&(i=S({},i));for(var f in t)i[f]===void 0&&(i[f]=t[f])}return i}function Gg(t){Ql(t)}function Fg(t){console.error(t)}function Vg(t){Ql(t)}function xo(t,s){try{var i=t.onUncaughtError;i(s.value,{componentStack:s.stack})}catch(o){setTimeout(function(){throw o})}}function Yg(t,s,i){try{var o=t.onCaughtError;o(i.value,{componentStack:i.stack,errorBoundary:s.tag===1?s.stateNode:null})}catch(f){setTimeout(function(){throw f})}}function rd(t,s,i){return i=sa(i),i.tag=3,i.payload={element:null},i.callback=function(){xo(t,s)},i}function Kg(t){return t=sa(t),t.tag=3,t}function Qg(t,s,i,o){var f=i.type.getDerivedStateFromError;if(typeof f=="function"){var m=o.value;t.payload=function(){return f(m)},t.callback=function(){Yg(s,i,o)}}var T=i.stateNode;T!==null&&typeof T.componentDidCatch=="function"&&(t.callback=function(){Yg(s,i,o),typeof f!="function"&&(ua===null?ua=new Set([this]):ua.add(this));var A=o.stack;this.componentDidCatch(o.value,{componentStack:A!==null?A:""})})}function Xj(t,s,i,o,f){if(i.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){if(s=i.alternate,s!==null&&br(s,i,f,!0),i=_n.current,i!==null){switch(i.tag){case 31:case 13:return qn===null?Ro():i.alternate===null&&St===0&&(St=3),i.flags&=-257,i.flags|=65536,i.lanes=f,o===ro?i.flags|=16384:(s=i.updateQueue,s===null?i.updateQueue=new Set([o]):s.add(o),Ad(t,o,f)),!1;case 22:return i.flags|=65536,o===ro?i.flags|=16384:(s=i.updateQueue,s===null?(s={transitions:null,markerInstances:null,retryQueue:new Set([o])},i.updateQueue=s):(i=s.retryQueue,i===null?s.retryQueue=new Set([o]):i.add(o)),Ad(t,o,f)),!1}throw Error(l(435,i.tag))}return Ad(t,o,f),Ro(),!1}if(Ve)return s=_n.current,s!==null?((s.flags&65536)===0&&(s.flags|=256),s.flags|=65536,s.lanes=f,o!==Tu&&(t=Error(l(422),{cause:o}),Ei(On(t,i)))):(o!==Tu&&(s=Error(l(423),{cause:o}),Ei(On(s,i))),t=t.current.alternate,t.flags|=65536,f&=-f,t.lanes|=f,o=On(o,i),f=rd(t.stateNode,o,f),Lu(t,f),St!==4&&(St=2)),!1;var m=Error(l(520),{cause:o});if(m=On(m,i),Vi===null?Vi=[m]:Vi.push(m),St!==4&&(St=2),s===null)return!0;o=On(o,i),i=s;do{switch(i.tag){case 3:return i.flags|=65536,t=f&-f,i.lanes|=t,t=rd(i.stateNode,o,t),Lu(i,t),!1;case 1:if(s=i.type,m=i.stateNode,(i.flags&128)===0&&(typeof s.getDerivedStateFromError=="function"||m!==null&&typeof m.componentDidCatch=="function"&&(ua===null||!ua.has(m))))return i.flags|=65536,f&=-f,i.lanes|=f,f=Kg(f),Qg(f,t,i,o),Lu(i,f),!1}i=i.return}while(i!==null);return!1}var id=Error(l(461)),Nt=!1;function Qt(t,s,i,o){s.child=t===null?Jp(s,null,i,o):Ba(s,t.child,i,o)}function Xg(t,s,i,o,f){i=i.render;var m=s.ref;if("ref"in o){var T={};for(var A in o)A!=="ref"&&(T[A]=o[A])}else T=o;return Ma(s),o=Pu(t,s,i,T,m,f),A=$u(),t!==null&&!Nt?(Hu(t,s,f),Rs(t,s,f)):(Ve&&A&&Su(s),s.flags|=1,Qt(t,s,o,f),s.child)}function Zg(t,s,i,o,f){if(t===null){var m=i.type;return typeof m=="function"&&!xu(m)&&m.defaultProps===void 0&&i.compare===null?(s.tag=15,s.type=m,Wg(t,s,m,o,f)):(t=Jl(i.type,null,o,s,s.mode,f),t.ref=s.ref,t.return=s,s.child=t)}if(m=t.child,!pd(t,f)){var T=m.memoizedProps;if(i=i.compare,i=i!==null?i:Ti,i(T,o)&&t.ref===s.ref)return Rs(t,s,f)}return s.flags|=1,t=ws(m,o),t.ref=s.ref,t.return=s,s.child=t}function Wg(t,s,i,o,f){if(t!==null){var m=t.memoizedProps;if(Ti(m,o)&&t.ref===s.ref)if(Nt=!1,s.pendingProps=o=m,pd(t,f))(t.flags&131072)!==0&&(Nt=!0);else return s.lanes=t.lanes,Rs(t,s,f)}return ld(t,s,i,o,f)}function Jg(t,s,i,o){var f=o.children,m=t!==null?t.memoizedState:null;if(t===null&&s.stateNode===null&&(s.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),o.mode==="hidden"){if((s.flags&128)!==0){if(m=m!==null?m.baseLanes|i:i,t!==null){for(o=s.child=t.child,f=0;o!==null;)f=f|o.lanes|o.childLanes,o=o.sibling;o=f&~m}else o=0,s.child=null;return em(t,s,m,i,o)}if((i&536870912)!==0)s.memoizedState={baseLanes:0,cachePool:null},t!==null&&so(s,m!==null?m.cachePool:null),m!==null?ng(s,m):Iu(),sg(s);else return o=s.lanes=536870912,em(t,s,m!==null?m.baseLanes|i:i,i,o)}else m!==null?(so(s,m.cachePool),ng(s,m),ia(),s.memoizedState=null):(t!==null&&so(s,null),Iu(),ia());return Qt(t,s,f,i),s.child}function Ui(t,s){return t!==null&&t.tag===22||s.stateNode!==null||(s.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.sibling}function em(t,s,i,o,f){var m=Ru();return m=m===null?null:{parent:Et._currentValue,pool:m},s.memoizedState={baseLanes:i,cachePool:m},t!==null&&so(s,null),Iu(),sg(s),t!==null&&br(t,s,o,!0),s.childLanes=f,null}function bo(t,s){return s=So({mode:s.mode,children:s.children},t.mode),s.ref=t.ref,t.child=s,s.return=t,s}function tm(t,s,i){return Ba(s,t.child,null,i),t=bo(s,s.pendingProps),t.flags|=2,Sn(s),s.memoizedState=null,t}function Zj(t,s,i){var o=s.pendingProps,f=(s.flags&128)!==0;if(s.flags&=-129,t===null){if(Ve){if(o.mode==="hidden")return t=bo(s,o),s.lanes=536870912,Ui(null,t);if(Uu(s),(t=dt)?(t=fy(t,In),t=t!==null&&t.data==="&"?t:null,t!==null&&(s.memoizedState={dehydrated:t,treeContext:Ws!==null?{id:ls,overflow:os}:null,retryLane:536870912,hydrationErrors:null},i=qp(t),i.return=s,s.child=i,Yt=s,dt=null)):t=null,t===null)throw ea(s);return s.lanes=536870912,null}return bo(s,o)}var m=t.memoizedState;if(m!==null){var T=m.dehydrated;if(Uu(s),f)if(s.flags&256)s.flags&=-257,s=tm(t,s,i);else if(s.memoizedState!==null)s.child=t.child,s.flags|=128,s=null;else throw Error(l(558));else if(Nt||br(t,s,i,!1),f=(i&t.childLanes)!==0,Nt||f){if(o=ot,o!==null&&(T=xe(o,i),T!==0&&T!==m.retryLane))throw m.retryLane=T,Da(t,T),fn(o,t,T),id;Ro(),s=tm(t,s,i)}else t=m.treeContext,dt=Un(T.nextSibling),Yt=s,Ve=!0,Js=null,In=!1,t!==null&&Pp(s,t),s=bo(s,o),s.flags|=4096;return s}return t=ws(t.child,{mode:o.mode,children:o.children}),t.ref=s.ref,s.child=t,t.return=s,t}function _o(t,s){var i=s.ref;if(i===null)t!==null&&t.ref!==null&&(s.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(l(284));(t===null||t.ref!==i)&&(s.flags|=4194816)}}function ld(t,s,i,o,f){return Ma(s),i=Pu(t,s,i,o,void 0,f),o=$u(),t!==null&&!Nt?(Hu(t,s,f),Rs(t,s,f)):(Ve&&o&&Su(s),s.flags|=1,Qt(t,s,i,f),s.child)}function nm(t,s,i,o,f,m){return Ma(s),s.updateQueue=null,i=rg(s,o,i,f),ag(t),o=$u(),t!==null&&!Nt?(Hu(t,s,m),Rs(t,s,m)):(Ve&&o&&Su(s),s.flags|=1,Qt(t,s,i,m),s.child)}function sm(t,s,i,o,f){if(Ma(s),s.stateNode===null){var m=mr,T=i.contextType;typeof T=="object"&&T!==null&&(m=Kt(T)),m=new i(o,m),s.memoizedState=m.state!==null&&m.state!==void 0?m.state:null,m.updater=ad,s.stateNode=m,m._reactInternals=s,m=s.stateNode,m.props=o,m.state=s.memoizedState,m.refs={},zu(s),T=i.contextType,m.context=typeof T=="object"&&T!==null?Kt(T):mr,m.state=s.memoizedState,T=i.getDerivedStateFromProps,typeof T=="function"&&(sd(s,i,T,o),m.state=s.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof m.getSnapshotBeforeUpdate=="function"||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(T=m.state,typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount(),T!==m.state&&ad.enqueueReplaceState(m,m.state,null),Oi(s,o,m,f),zi(),m.state=s.memoizedState),typeof m.componentDidMount=="function"&&(s.flags|=4194308),o=!0}else if(t===null){m=s.stateNode;var A=s.memoizedProps,I=$a(i,A);m.props=I;var Q=m.context,ae=i.contextType;T=mr,typeof ae=="object"&&ae!==null&&(T=Kt(ae));var ce=i.getDerivedStateFromProps;ae=typeof ce=="function"||typeof m.getSnapshotBeforeUpdate=="function",A=s.pendingProps!==A,ae||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(A||Q!==T)&&Hg(s,m,o,T),na=!1;var X=s.memoizedState;m.state=X,Oi(s,o,m,f),zi(),Q=s.memoizedState,A||X!==Q||na?(typeof ce=="function"&&(sd(s,i,ce,o),Q=s.memoizedState),(I=na||$g(s,i,I,o,X,Q,T))?(ae||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount()),typeof m.componentDidMount=="function"&&(s.flags|=4194308)):(typeof m.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=o,s.memoizedState=Q),m.props=o,m.state=Q,m.context=T,o=I):(typeof m.componentDidMount=="function"&&(s.flags|=4194308),o=!1)}else{m=s.stateNode,Ou(t,s),T=s.memoizedProps,ae=$a(i,T),m.props=ae,ce=s.pendingProps,X=m.context,Q=i.contextType,I=mr,typeof Q=="object"&&Q!==null&&(I=Kt(Q)),A=i.getDerivedStateFromProps,(Q=typeof A=="function"||typeof m.getSnapshotBeforeUpdate=="function")||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(T!==ce||X!==I)&&Hg(s,m,o,I),na=!1,X=s.memoizedState,m.state=X,Oi(s,o,m,f),zi();var ee=s.memoizedState;T!==ce||X!==ee||na||t!==null&&t.dependencies!==null&&to(t.dependencies)?(typeof A=="function"&&(sd(s,i,A,o),ee=s.memoizedState),(ae=na||$g(s,i,ae,o,X,ee,I)||t!==null&&t.dependencies!==null&&to(t.dependencies))?(Q||typeof m.UNSAFE_componentWillUpdate!="function"&&typeof m.componentWillUpdate!="function"||(typeof m.componentWillUpdate=="function"&&m.componentWillUpdate(o,ee,I),typeof m.UNSAFE_componentWillUpdate=="function"&&m.UNSAFE_componentWillUpdate(o,ee,I)),typeof m.componentDidUpdate=="function"&&(s.flags|=4),typeof m.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof m.componentDidUpdate!="function"||T===t.memoizedProps&&X===t.memoizedState||(s.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||T===t.memoizedProps&&X===t.memoizedState||(s.flags|=1024),s.memoizedProps=o,s.memoizedState=ee),m.props=o,m.state=ee,m.context=I,o=ae):(typeof m.componentDidUpdate!="function"||T===t.memoizedProps&&X===t.memoizedState||(s.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||T===t.memoizedProps&&X===t.memoizedState||(s.flags|=1024),o=!1)}return m=o,_o(t,s),o=(s.flags&128)!==0,m||o?(m=s.stateNode,i=o&&typeof i.getDerivedStateFromError!="function"?null:m.render(),s.flags|=1,t!==null&&o?(s.child=Ba(s,t.child,null,f),s.child=Ba(s,null,i,f)):Qt(t,s,i,f),s.memoizedState=m.state,t=s.child):t=Rs(t,s,f),t}function am(t,s,i,o){return Oa(),s.flags|=256,Qt(t,s,i,o),s.child}var od={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function cd(t){return{baseLanes:t,cachePool:Yp()}}function ud(t,s,i){return t=t!==null?t.childLanes&~i:0,s&&(t|=Tn),t}function rm(t,s,i){var o=s.pendingProps,f=!1,m=(s.flags&128)!==0,T;if((T=m)||(T=t!==null&&t.memoizedState===null?!1:(jt.current&2)!==0),T&&(f=!0,s.flags&=-129),T=(s.flags&32)!==0,s.flags&=-33,t===null){if(Ve){if(f?ra(s):ia(),(t=dt)?(t=fy(t,In),t=t!==null&&t.data!=="&"?t:null,t!==null&&(s.memoizedState={dehydrated:t,treeContext:Ws!==null?{id:ls,overflow:os}:null,retryLane:536870912,hydrationErrors:null},i=qp(t),i.return=s,s.child=i,Yt=s,dt=null)):t=null,t===null)throw ea(s);return Vd(t)?s.lanes=32:s.lanes=536870912,null}var A=o.children;return o=o.fallback,f?(ia(),f=s.mode,A=So({mode:"hidden",children:A},f),o=za(o,f,i,null),A.return=s,o.return=s,A.sibling=o,s.child=A,o=s.child,o.memoizedState=cd(i),o.childLanes=ud(t,T,i),s.memoizedState=od,Ui(null,o)):(ra(s),dd(s,A))}var I=t.memoizedState;if(I!==null&&(A=I.dehydrated,A!==null)){if(m)s.flags&256?(ra(s),s.flags&=-257,s=hd(t,s,i)):s.memoizedState!==null?(ia(),s.child=t.child,s.flags|=128,s=null):(ia(),A=o.fallback,f=s.mode,o=So({mode:"visible",children:o.children},f),A=za(A,f,i,null),A.flags|=2,o.return=s,A.return=s,o.sibling=A,s.child=o,Ba(s,t.child,null,i),o=s.child,o.memoizedState=cd(i),o.childLanes=ud(t,T,i),s.memoizedState=od,s=Ui(null,o));else if(ra(s),Vd(A)){if(T=A.nextSibling&&A.nextSibling.dataset,T)var Q=T.dgst;T=Q,o=Error(l(419)),o.stack="",o.digest=T,Ei({value:o,source:null,stack:null}),s=hd(t,s,i)}else if(Nt||br(t,s,i,!1),T=(i&t.childLanes)!==0,Nt||T){if(T=ot,T!==null&&(o=xe(T,i),o!==0&&o!==I.retryLane))throw I.retryLane=o,Da(t,o),fn(T,t,o),id;Fd(A)||Ro(),s=hd(t,s,i)}else Fd(A)?(s.flags|=192,s.child=t.child,s=null):(t=I.treeContext,dt=Un(A.nextSibling),Yt=s,Ve=!0,Js=null,In=!1,t!==null&&Pp(s,t),s=dd(s,o.children),s.flags|=4096);return s}return f?(ia(),A=o.fallback,f=s.mode,I=t.child,Q=I.sibling,o=ws(I,{mode:"hidden",children:o.children}),o.subtreeFlags=I.subtreeFlags&65011712,Q!==null?A=ws(Q,A):(A=za(A,f,i,null),A.flags|=2),A.return=s,o.return=s,o.sibling=A,s.child=o,Ui(null,o),o=s.child,A=t.child.memoizedState,A===null?A=cd(i):(f=A.cachePool,f!==null?(I=Et._currentValue,f=f.parent!==I?{parent:I,pool:I}:f):f=Yp(),A={baseLanes:A.baseLanes|i,cachePool:f}),o.memoizedState=A,o.childLanes=ud(t,T,i),s.memoizedState=od,Ui(t.child,o)):(ra(s),i=t.child,t=i.sibling,i=ws(i,{mode:"visible",children:o.children}),i.return=s,i.sibling=null,t!==null&&(T=s.deletions,T===null?(s.deletions=[t],s.flags|=16):T.push(t)),s.child=i,s.memoizedState=null,i)}function dd(t,s){return s=So({mode:"visible",children:s},t.mode),s.return=t,t.child=s}function So(t,s){return t=bn(22,t,null,s),t.lanes=0,t}function hd(t,s,i){return Ba(s,t.child,null,i),t=dd(s,s.pendingProps.children),t.flags|=2,s.memoizedState=null,t}function im(t,s,i){t.lanes|=s;var o=t.alternate;o!==null&&(o.lanes|=s),Eu(t.return,s,i)}function fd(t,s,i,o,f,m){var T=t.memoizedState;T===null?t.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:o,tail:i,tailMode:f,treeForkCount:m}:(T.isBackwards=s,T.rendering=null,T.renderingStartTime=0,T.last=o,T.tail=i,T.tailMode=f,T.treeForkCount=m)}function lm(t,s,i){var o=s.pendingProps,f=o.revealOrder,m=o.tail;o=o.children;var T=jt.current,A=(T&2)!==0;if(A?(T=T&1|2,s.flags|=128):T&=1,fe(jt,T),Qt(t,s,o,i),o=Ve?ki:0,!A&&t!==null&&(t.flags&128)!==0)e:for(t=s.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&im(t,i,s);else if(t.tag===19)im(t,i,s);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===s)break e;for(;t.sibling===null;){if(t.return===null||t.return===s)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(f){case"forwards":for(i=s.child,f=null;i!==null;)t=i.alternate,t!==null&&co(t)===null&&(f=i),i=i.sibling;i=f,i===null?(f=s.child,s.child=null):(f=i.sibling,i.sibling=null),fd(s,!1,f,i,m,o);break;case"backwards":case"unstable_legacy-backwards":for(i=null,f=s.child,s.child=null;f!==null;){if(t=f.alternate,t!==null&&co(t)===null){s.child=f;break}t=f.sibling,f.sibling=i,i=f,f=t}fd(s,!0,i,null,m,o);break;case"together":fd(s,!1,null,null,void 0,o);break;default:s.memoizedState=null}return s.child}function Rs(t,s,i){if(t!==null&&(s.dependencies=t.dependencies),ca|=s.lanes,(i&s.childLanes)===0)if(t!==null){if(br(t,s,i,!1),(i&s.childLanes)===0)return null}else return null;if(t!==null&&s.child!==t.child)throw Error(l(153));if(s.child!==null){for(t=s.child,i=ws(t,t.pendingProps),s.child=i,i.return=s;t.sibling!==null;)t=t.sibling,i=i.sibling=ws(t,t.pendingProps),i.return=s;i.sibling=null}return s.child}function pd(t,s){return(t.lanes&s)!==0?!0:(t=t.dependencies,!!(t!==null&&to(t)))}function Wj(t,s,i){switch(s.tag){case 3:Se(s,s.stateNode.containerInfo),ta(s,Et,t.memoizedState.cache),Oa();break;case 27:case 5:We(s);break;case 4:Se(s,s.stateNode.containerInfo);break;case 10:ta(s,s.type,s.memoizedProps.value);break;case 31:if(s.memoizedState!==null)return s.flags|=128,Uu(s),null;break;case 13:var o=s.memoizedState;if(o!==null)return o.dehydrated!==null?(ra(s),s.flags|=128,null):(i&s.child.childLanes)!==0?rm(t,s,i):(ra(s),t=Rs(t,s,i),t!==null?t.sibling:null);ra(s);break;case 19:var f=(t.flags&128)!==0;if(o=(i&s.childLanes)!==0,o||(br(t,s,i,!1),o=(i&s.childLanes)!==0),f){if(o)return lm(t,s,i);s.flags|=128}if(f=s.memoizedState,f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),fe(jt,jt.current),o)break;return null;case 22:return s.lanes=0,Jg(t,s,i,s.pendingProps);case 24:ta(s,Et,t.memoizedState.cache)}return Rs(t,s,i)}function om(t,s,i){if(t!==null)if(t.memoizedProps!==s.pendingProps)Nt=!0;else{if(!pd(t,i)&&(s.flags&128)===0)return Nt=!1,Wj(t,s,i);Nt=(t.flags&131072)!==0}else Nt=!1,Ve&&(s.flags&1048576)!==0&&Bp(s,ki,s.index);switch(s.lanes=0,s.tag){case 16:e:{var o=s.pendingProps;if(t=qa(s.elementType),s.type=t,typeof t=="function")xu(t)?(o=$a(t,o),s.tag=1,s=sm(null,s,t,o,i)):(s.tag=0,s=ld(null,s,t,o,i));else{if(t!=null){var f=t.$$typeof;if(f===O){s.tag=11,s=Xg(null,s,t,o,i);break e}else if(f===C){s.tag=14,s=Zg(null,s,t,o,i);break e}}throw s=ne(t)||t,Error(l(306,s,""))}}return s;case 0:return ld(t,s,s.type,s.pendingProps,i);case 1:return o=s.type,f=$a(o,s.pendingProps),sm(t,s,o,f,i);case 3:e:{if(Se(s,s.stateNode.containerInfo),t===null)throw Error(l(387));o=s.pendingProps;var m=s.memoizedState;f=m.element,Ou(t,s),Oi(s,o,null,i);var T=s.memoizedState;if(o=T.cache,ta(s,Et,o),o!==m.cache&&Cu(s,[Et],i,!0),zi(),o=T.element,m.isDehydrated)if(m={element:o,isDehydrated:!1,cache:T.cache},s.updateQueue.baseState=m,s.memoizedState=m,s.flags&256){s=am(t,s,o,i);break e}else if(o!==f){f=On(Error(l(424)),s),Ei(f),s=am(t,s,o,i);break e}else for(t=s.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,dt=Un(t.firstChild),Yt=s,Ve=!0,Js=null,In=!0,i=Jp(s,null,o,i),s.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Oa(),o===f){s=Rs(t,s,i);break e}Qt(t,s,o,i)}s=s.child}return s;case 26:return _o(t,s),t===null?(i=xy(s.type,null,s.pendingProps,null))?s.memoizedState=i:Ve||(i=s.type,t=s.pendingProps,o=qo(oe.current).createElement(i),o[Qe]=s,o[Vt]=t,Xt(o,i,t),Bt(o),s.stateNode=o):s.memoizedState=xy(s.type,t.memoizedProps,s.pendingProps,t.memoizedState),null;case 27:return We(s),t===null&&Ve&&(o=s.stateNode=my(s.type,s.pendingProps,oe.current),Yt=s,In=!0,f=dt,pa(s.type)?(Yd=f,dt=Un(o.firstChild)):dt=f),Qt(t,s,s.pendingProps.children,i),_o(t,s),t===null&&(s.flags|=4194304),s.child;case 5:return t===null&&Ve&&((f=o=dt)&&(o=CT(o,s.type,s.pendingProps,In),o!==null?(s.stateNode=o,Yt=s,dt=Un(o.firstChild),In=!1,f=!0):f=!1),f||ea(s)),We(s),f=s.type,m=s.pendingProps,T=t!==null?t.memoizedProps:null,o=m.children,$d(f,m)?o=null:T!==null&&$d(f,T)&&(s.flags|=32),s.memoizedState!==null&&(f=Pu(t,s,Hj,null,null,i),el._currentValue=f),_o(t,s),Qt(t,s,o,i),s.child;case 6:return t===null&&Ve&&((t=i=dt)&&(i=NT(i,s.pendingProps,In),i!==null?(s.stateNode=i,Yt=s,dt=null,t=!0):t=!1),t||ea(s)),null;case 13:return rm(t,s,i);case 4:return Se(s,s.stateNode.containerInfo),o=s.pendingProps,t===null?s.child=Ba(s,null,o,i):Qt(t,s,o,i),s.child;case 11:return Xg(t,s,s.type,s.pendingProps,i);case 7:return Qt(t,s,s.pendingProps,i),s.child;case 8:return Qt(t,s,s.pendingProps.children,i),s.child;case 12:return Qt(t,s,s.pendingProps.children,i),s.child;case 10:return o=s.pendingProps,ta(s,s.type,o.value),Qt(t,s,o.children,i),s.child;case 9:return f=s.type._context,o=s.pendingProps.children,Ma(s),f=Kt(f),o=o(f),s.flags|=1,Qt(t,s,o,i),s.child;case 14:return Zg(t,s,s.type,s.pendingProps,i);case 15:return Wg(t,s,s.type,s.pendingProps,i);case 19:return lm(t,s,i);case 31:return Zj(t,s,i);case 22:return Jg(t,s,i,s.pendingProps);case 24:return Ma(s),o=Kt(Et),t===null?(f=Ru(),f===null&&(f=ot,m=Nu(),f.pooledCache=m,m.refCount++,m!==null&&(f.pooledCacheLanes|=i),f=m),s.memoizedState={parent:o,cache:f},zu(s),ta(s,Et,f)):((t.lanes&i)!==0&&(Ou(t,s),Oi(s,null,null,i),zi()),f=t.memoizedState,m=s.memoizedState,f.parent!==o?(f={parent:o,cache:o},s.memoizedState=f,s.lanes===0&&(s.memoizedState=s.updateQueue.baseState=f),ta(s,Et,o)):(o=m.cache,ta(s,Et,o),o!==f.cache&&Cu(s,[Et],i,!0))),Qt(t,s,s.pendingProps.children,i),s.child;case 29:throw s.pendingProps}throw Error(l(156,s.tag))}function Ds(t){t.flags|=4}function gd(t,s,i,o,f){if((s=(t.mode&32)!==0)&&(s=!1),s){if(t.flags|=16777216,(f&335544128)===f)if(t.stateNode.complete)t.flags|=8192;else if(Lm())t.flags|=8192;else throw Ua=ro,Du}else t.flags&=-16777217}function cm(t,s){if(s.type!=="stylesheet"||(s.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!Ty(s))if(Lm())t.flags|=8192;else throw Ua=ro,Du}function jo(t,s){s!==null&&(t.flags|=4),t.flags&16384&&(s=t.tag!==22?ue():536870912,t.lanes|=s,Dr|=s)}function Bi(t,s){if(!Ve)switch(t.tailMode){case"hidden":s=t.tail;for(var i=null;s!==null;)s.alternate!==null&&(i=s),s=s.sibling;i===null?t.tail=null:i.sibling=null;break;case"collapsed":i=t.tail;for(var o=null;i!==null;)i.alternate!==null&&(o=i),i=i.sibling;o===null?s||t.tail===null?t.tail=null:t.tail.sibling=null:o.sibling=null}}function ht(t){var s=t.alternate!==null&&t.alternate.child===t.child,i=0,o=0;if(s)for(var f=t.child;f!==null;)i|=f.lanes|f.childLanes,o|=f.subtreeFlags&65011712,o|=f.flags&65011712,f.return=t,f=f.sibling;else for(f=t.child;f!==null;)i|=f.lanes|f.childLanes,o|=f.subtreeFlags,o|=f.flags,f.return=t,f=f.sibling;return t.subtreeFlags|=o,t.childLanes=i,s}function Jj(t,s,i){var o=s.pendingProps;switch(ju(s),s.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ht(s),null;case 1:return ht(s),null;case 3:return i=s.stateNode,o=null,t!==null&&(o=t.memoizedState.cache),s.memoizedState.cache!==o&&(s.flags|=2048),Cs(Et),De(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(t===null||t.child===null)&&(xr(s)?Ds(s):t===null||t.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,wu())),ht(s),null;case 26:var f=s.type,m=s.memoizedState;return t===null?(Ds(s),m!==null?(ht(s),cm(s,m)):(ht(s),gd(s,f,null,o,i))):m?m!==t.memoizedState?(Ds(s),ht(s),cm(s,m)):(ht(s),s.flags&=-16777217):(t=t.memoizedProps,t!==o&&Ds(s),ht(s),gd(s,f,t,o,i)),null;case 27:if(qt(s),i=oe.current,f=s.type,t!==null&&s.stateNode!=null)t.memoizedProps!==o&&Ds(s);else{if(!o){if(s.stateNode===null)throw Error(l(166));return ht(s),null}t=ge.current,xr(s)?$p(s):(t=my(f,o,i),s.stateNode=t,Ds(s))}return ht(s),null;case 5:if(qt(s),f=s.type,t!==null&&s.stateNode!=null)t.memoizedProps!==o&&Ds(s);else{if(!o){if(s.stateNode===null)throw Error(l(166));return ht(s),null}if(m=ge.current,xr(s))$p(s);else{var T=qo(oe.current);switch(m){case 1:m=T.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:m=T.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":m=T.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":m=T.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":m=T.createElement("div"),m.innerHTML="<script><\/script>",m=m.removeChild(m.firstChild);break;case"select":m=typeof o.is=="string"?T.createElement("select",{is:o.is}):T.createElement("select"),o.multiple?m.multiple=!0:o.size&&(m.size=o.size);break;default:m=typeof o.is=="string"?T.createElement(f,{is:o.is}):T.createElement(f)}}m[Qe]=s,m[Vt]=o;e:for(T=s.child;T!==null;){if(T.tag===5||T.tag===6)m.appendChild(T.stateNode);else if(T.tag!==4&&T.tag!==27&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===s)break e;for(;T.sibling===null;){if(T.return===null||T.return===s)break e;T=T.return}T.sibling.return=T.return,T=T.sibling}s.stateNode=m;e:switch(Xt(m,f,o),f){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&Ds(s)}}return ht(s),gd(s,s.type,t===null?null:t.memoizedProps,s.pendingProps,i),null;case 6:if(t&&s.stateNode!=null)t.memoizedProps!==o&&Ds(s);else{if(typeof o!="string"&&s.stateNode===null)throw Error(l(166));if(t=oe.current,xr(s)){if(t=s.stateNode,i=s.memoizedProps,o=null,f=Yt,f!==null)switch(f.tag){case 27:case 5:o=f.memoizedProps}t[Qe]=s,t=!!(t.nodeValue===i||o!==null&&o.suppressHydrationWarning===!0||ry(t.nodeValue,i)),t||ea(s,!0)}else t=qo(t).createTextNode(o),t[Qe]=s,s.stateNode=t}return ht(s),null;case 31:if(i=s.memoizedState,t===null||t.memoizedState!==null){if(o=xr(s),i!==null){if(t===null){if(!o)throw Error(l(318));if(t=s.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Qe]=s}else Oa(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;ht(s),t=!1}else i=wu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=i),t=!0;if(!t)return s.flags&256?(Sn(s),s):(Sn(s),null);if((s.flags&128)!==0)throw Error(l(558))}return ht(s),null;case 13:if(o=s.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(f=xr(s),o!==null&&o.dehydrated!==null){if(t===null){if(!f)throw Error(l(318));if(f=s.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(l(317));f[Qe]=s}else Oa(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;ht(s),f=!1}else f=wu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=f),f=!0;if(!f)return s.flags&256?(Sn(s),s):(Sn(s),null)}return Sn(s),(s.flags&128)!==0?(s.lanes=i,s):(i=o!==null,t=t!==null&&t.memoizedState!==null,i&&(o=s.child,f=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(f=o.alternate.memoizedState.cachePool.pool),m=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(m=o.memoizedState.cachePool.pool),m!==f&&(o.flags|=2048)),i!==t&&i&&(s.child.flags|=8192),jo(s,s.updateQueue),ht(s),null);case 4:return De(),t===null&&Id(s.stateNode.containerInfo),ht(s),null;case 10:return Cs(s.type),ht(s),null;case 19:if(H(jt),o=s.memoizedState,o===null)return ht(s),null;if(f=(s.flags&128)!==0,m=o.rendering,m===null)if(f)Bi(o,!1);else{if(St!==0||t!==null&&(t.flags&128)!==0)for(t=s.child;t!==null;){if(m=co(t),m!==null){for(s.flags|=128,Bi(o,!1),t=m.updateQueue,s.updateQueue=t,jo(s,t),s.subtreeFlags=0,t=i,i=s.child;i!==null;)Ip(i,t),i=i.sibling;return fe(jt,jt.current&1|2),Ve&&ks(s,o.treeForkCount),s.child}t=t.sibling}o.tail!==null&&yt()>Co&&(s.flags|=128,f=!0,Bi(o,!1),s.lanes=4194304)}else{if(!f)if(t=co(m),t!==null){if(s.flags|=128,f=!0,t=t.updateQueue,s.updateQueue=t,jo(s,t),Bi(o,!0),o.tail===null&&o.tailMode==="hidden"&&!m.alternate&&!Ve)return ht(s),null}else 2*yt()-o.renderingStartTime>Co&&i!==536870912&&(s.flags|=128,f=!0,Bi(o,!1),s.lanes=4194304);o.isBackwards?(m.sibling=s.child,s.child=m):(t=o.last,t!==null?t.sibling=m:s.child=m,o.last=m)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=yt(),t.sibling=null,i=jt.current,fe(jt,f?i&1|2:i&1),Ve&&ks(s,o.treeForkCount),t):(ht(s),null);case 22:case 23:return Sn(s),qu(),o=s.memoizedState!==null,t!==null?t.memoizedState!==null!==o&&(s.flags|=8192):o&&(s.flags|=8192),o?(i&536870912)!==0&&(s.flags&128)===0&&(ht(s),s.subtreeFlags&6&&(s.flags|=8192)):ht(s),i=s.updateQueue,i!==null&&jo(s,i.retryQueue),i=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),o=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(o=s.memoizedState.cachePool.pool),o!==i&&(s.flags|=2048),t!==null&&H(Ia),null;case 24:return i=null,t!==null&&(i=t.memoizedState.cache),s.memoizedState.cache!==i&&(s.flags|=2048),Cs(Et),ht(s),null;case 25:return null;case 30:return null}throw Error(l(156,s.tag))}function eT(t,s){switch(ju(s),s.tag){case 1:return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 3:return Cs(Et),De(),t=s.flags,(t&65536)!==0&&(t&128)===0?(s.flags=t&-65537|128,s):null;case 26:case 27:case 5:return qt(s),null;case 31:if(s.memoizedState!==null){if(Sn(s),s.alternate===null)throw Error(l(340));Oa()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 13:if(Sn(s),t=s.memoizedState,t!==null&&t.dehydrated!==null){if(s.alternate===null)throw Error(l(340));Oa()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 19:return H(jt),null;case 4:return De(),null;case 10:return Cs(s.type),null;case 22:case 23:return Sn(s),qu(),t!==null&&H(Ia),t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 24:return Cs(Et),null;case 25:return null;default:return null}}function um(t,s){switch(ju(s),s.tag){case 3:Cs(Et),De();break;case 26:case 27:case 5:qt(s);break;case 4:De();break;case 31:s.memoizedState!==null&&Sn(s);break;case 13:Sn(s);break;case 19:H(jt);break;case 10:Cs(s.type);break;case 22:case 23:Sn(s),qu(),t!==null&&H(Ia);break;case 24:Cs(Et)}}function Pi(t,s){try{var i=s.updateQueue,o=i!==null?i.lastEffect:null;if(o!==null){var f=o.next;i=f;do{if((i.tag&t)===t){o=void 0;var m=i.create,T=i.inst;o=m(),T.destroy=o}i=i.next}while(i!==f)}}catch(A){st(s,s.return,A)}}function la(t,s,i){try{var o=s.updateQueue,f=o!==null?o.lastEffect:null;if(f!==null){var m=f.next;o=m;do{if((o.tag&t)===t){var T=o.inst,A=T.destroy;if(A!==void 0){T.destroy=void 0,f=s;var I=i,Q=A;try{Q()}catch(ae){st(f,I,ae)}}}o=o.next}while(o!==m)}}catch(ae){st(s,s.return,ae)}}function dm(t){var s=t.updateQueue;if(s!==null){var i=t.stateNode;try{tg(s,i)}catch(o){st(t,t.return,o)}}}function hm(t,s,i){i.props=$a(t.type,t.memoizedProps),i.state=t.memoizedState;try{i.componentWillUnmount()}catch(o){st(t,s,o)}}function $i(t,s){try{var i=t.ref;if(i!==null){switch(t.tag){case 26:case 27:case 5:var o=t.stateNode;break;case 30:o=t.stateNode;break;default:o=t.stateNode}typeof i=="function"?t.refCleanup=i(o):i.current=o}}catch(f){st(t,s,f)}}function cs(t,s){var i=t.ref,o=t.refCleanup;if(i!==null)if(typeof o=="function")try{o()}catch(f){st(t,s,f)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(f){st(t,s,f)}else i.current=null}function fm(t){var s=t.type,i=t.memoizedProps,o=t.stateNode;try{e:switch(s){case"button":case"input":case"select":case"textarea":i.autoFocus&&o.focus();break e;case"img":i.src?o.src=i.src:i.srcSet&&(o.srcset=i.srcSet)}}catch(f){st(t,t.return,f)}}function md(t,s,i){try{var o=t.stateNode;ST(o,t.type,i,s),o[Vt]=s}catch(f){st(t,t.return,f)}}function pm(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&pa(t.type)||t.tag===4}function yd(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||pm(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&pa(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function vd(t,s,i){var o=t.tag;if(o===5||o===6)t=t.stateNode,s?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(t,s):(s=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,s.appendChild(t),i=i._reactRootContainer,i!=null||s.onclick!==null||(s.onclick=js));else if(o!==4&&(o===27&&pa(t.type)&&(i=t.stateNode,s=null),t=t.child,t!==null))for(vd(t,s,i),t=t.sibling;t!==null;)vd(t,s,i),t=t.sibling}function To(t,s,i){var o=t.tag;if(o===5||o===6)t=t.stateNode,s?i.insertBefore(t,s):i.appendChild(t);else if(o!==4&&(o===27&&pa(t.type)&&(i=t.stateNode),t=t.child,t!==null))for(To(t,s,i),t=t.sibling;t!==null;)To(t,s,i),t=t.sibling}function gm(t){var s=t.stateNode,i=t.memoizedProps;try{for(var o=t.type,f=s.attributes;f.length;)s.removeAttributeNode(f[0]);Xt(s,o,i),s[Qe]=t,s[Vt]=i}catch(m){st(t,t.return,m)}}var zs=!1,At=!1,xd=!1,mm=typeof WeakSet=="function"?WeakSet:Set,Pt=null;function tT(t,s){if(t=t.containerInfo,Bd=Fo,t=Cp(t),hu(t)){if("selectionStart"in t)var i={start:t.selectionStart,end:t.selectionEnd};else e:{i=(i=t.ownerDocument)&&i.defaultView||window;var o=i.getSelection&&i.getSelection();if(o&&o.rangeCount!==0){i=o.anchorNode;var f=o.anchorOffset,m=o.focusNode;o=o.focusOffset;try{i.nodeType,m.nodeType}catch{i=null;break e}var T=0,A=-1,I=-1,Q=0,ae=0,ce=t,X=null;t:for(;;){for(var ee;ce!==i||f!==0&&ce.nodeType!==3||(A=T+f),ce!==m||o!==0&&ce.nodeType!==3||(I=T+o),ce.nodeType===3&&(T+=ce.nodeValue.length),(ee=ce.firstChild)!==null;)X=ce,ce=ee;for(;;){if(ce===t)break t;if(X===i&&++Q===f&&(A=T),X===m&&++ae===o&&(I=T),(ee=ce.nextSibling)!==null)break;ce=X,X=ce.parentNode}ce=ee}i=A===-1||I===-1?null:{start:A,end:I}}else i=null}i=i||{start:0,end:0}}else i=null;for(Pd={focusedElem:t,selectionRange:i},Fo=!1,Pt=s;Pt!==null;)if(s=Pt,t=s.child,(s.subtreeFlags&1028)!==0&&t!==null)t.return=s,Pt=t;else for(;Pt!==null;){switch(s=Pt,m=s.alternate,t=s.flags,s.tag){case 0:if((t&4)!==0&&(t=s.updateQueue,t=t!==null?t.events:null,t!==null))for(i=0;i<t.length;i++)f=t[i],f.ref.impl=f.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&m!==null){t=void 0,i=s,f=m.memoizedProps,m=m.memoizedState,o=i.stateNode;try{var Ee=$a(i.type,f);t=o.getSnapshotBeforeUpdate(Ee,m),o.__reactInternalSnapshotBeforeUpdate=t}catch(Ae){st(i,i.return,Ae)}}break;case 3:if((t&1024)!==0){if(t=s.stateNode.containerInfo,i=t.nodeType,i===9)Gd(t);else if(i===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Gd(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(l(163))}if(t=s.sibling,t!==null){t.return=s.return,Pt=t;break}Pt=s.return}}function ym(t,s,i){var o=i.flags;switch(i.tag){case 0:case 11:case 15:Ls(t,i),o&4&&Pi(5,i);break;case 1:if(Ls(t,i),o&4)if(t=i.stateNode,s===null)try{t.componentDidMount()}catch(T){st(i,i.return,T)}else{var f=$a(i.type,s.memoizedProps);s=s.memoizedState;try{t.componentDidUpdate(f,s,t.__reactInternalSnapshotBeforeUpdate)}catch(T){st(i,i.return,T)}}o&64&&dm(i),o&512&&$i(i,i.return);break;case 3:if(Ls(t,i),o&64&&(t=i.updateQueue,t!==null)){if(s=null,i.child!==null)switch(i.child.tag){case 27:case 5:s=i.child.stateNode;break;case 1:s=i.child.stateNode}try{tg(t,s)}catch(T){st(i,i.return,T)}}break;case 27:s===null&&o&4&&gm(i);case 26:case 5:Ls(t,i),s===null&&o&4&&fm(i),o&512&&$i(i,i.return);break;case 12:Ls(t,i);break;case 31:Ls(t,i),o&4&&bm(t,i);break;case 13:Ls(t,i),o&4&&_m(t,i),o&64&&(t=i.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(i=uT.bind(null,i),AT(t,i))));break;case 22:if(o=i.memoizedState!==null||zs,!o){s=s!==null&&s.memoizedState!==null||At,f=zs;var m=At;zs=o,(At=s)&&!m?Ms(t,i,(i.subtreeFlags&8772)!==0):Ls(t,i),zs=f,At=m}break;case 30:break;default:Ls(t,i)}}function vm(t){var s=t.alternate;s!==null&&(t.alternate=null,vm(s)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(s=t.stateNode,s!==null&&Qc(s)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var gt=null,cn=!1;function Os(t,s,i){for(i=i.child;i!==null;)xm(t,s,i),i=i.sibling}function xm(t,s,i){if(Gt&&typeof Gt.onCommitFiberUnmount=="function")try{Gt.onCommitFiberUnmount(_s,i)}catch{}switch(i.tag){case 26:At||cs(i,s),Os(t,s,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:At||cs(i,s);var o=gt,f=cn;pa(i.type)&&(gt=i.stateNode,cn=!1),Os(t,s,i),Zi(i.stateNode),gt=o,cn=f;break;case 5:At||cs(i,s);case 6:if(o=gt,f=cn,gt=null,Os(t,s,i),gt=o,cn=f,gt!==null)if(cn)try{(gt.nodeType===9?gt.body:gt.nodeName==="HTML"?gt.ownerDocument.body:gt).removeChild(i.stateNode)}catch(m){st(i,s,m)}else try{gt.removeChild(i.stateNode)}catch(m){st(i,s,m)}break;case 18:gt!==null&&(cn?(t=gt,dy(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,i.stateNode),Br(t)):dy(gt,i.stateNode));break;case 4:o=gt,f=cn,gt=i.stateNode.containerInfo,cn=!0,Os(t,s,i),gt=o,cn=f;break;case 0:case 11:case 14:case 15:la(2,i,s),At||la(4,i,s),Os(t,s,i);break;case 1:At||(cs(i,s),o=i.stateNode,typeof o.componentWillUnmount=="function"&&hm(i,s,o)),Os(t,s,i);break;case 21:Os(t,s,i);break;case 22:At=(o=At)||i.memoizedState!==null,Os(t,s,i),At=o;break;default:Os(t,s,i)}}function bm(t,s){if(s.memoizedState===null&&(t=s.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Br(t)}catch(i){st(s,s.return,i)}}}function _m(t,s){if(s.memoizedState===null&&(t=s.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Br(t)}catch(i){st(s,s.return,i)}}function nT(t){switch(t.tag){case 31:case 13:case 19:var s=t.stateNode;return s===null&&(s=t.stateNode=new mm),s;case 22:return t=t.stateNode,s=t._retryCache,s===null&&(s=t._retryCache=new mm),s;default:throw Error(l(435,t.tag))}}function wo(t,s){var i=nT(t);s.forEach(function(o){if(!i.has(o)){i.add(o);var f=dT.bind(null,t,o);o.then(f,f)}})}function un(t,s){var i=s.deletions;if(i!==null)for(var o=0;o<i.length;o++){var f=i[o],m=t,T=s,A=T;e:for(;A!==null;){switch(A.tag){case 27:if(pa(A.type)){gt=A.stateNode,cn=!1;break e}break;case 5:gt=A.stateNode,cn=!1;break e;case 3:case 4:gt=A.stateNode.containerInfo,cn=!0;break e}A=A.return}if(gt===null)throw Error(l(160));xm(m,T,f),gt=null,cn=!1,m=f.alternate,m!==null&&(m.return=null),f.return=null}if(s.subtreeFlags&13886)for(s=s.child;s!==null;)Sm(s,t),s=s.sibling}var Zn=null;function Sm(t,s){var i=t.alternate,o=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:un(s,t),dn(t),o&4&&(la(3,t,t.return),Pi(3,t),la(5,t,t.return));break;case 1:un(s,t),dn(t),o&512&&(At||i===null||cs(i,i.return)),o&64&&zs&&(t=t.updateQueue,t!==null&&(o=t.callbacks,o!==null&&(i=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=i===null?o:i.concat(o))));break;case 26:var f=Zn;if(un(s,t),dn(t),o&512&&(At||i===null||cs(i,i.return)),o&4){var m=i!==null?i.memoizedState:null;if(o=t.memoizedState,i===null)if(o===null)if(t.stateNode===null){e:{o=t.type,i=t.memoizedProps,f=f.ownerDocument||f;t:switch(o){case"title":m=f.getElementsByTagName("title")[0],(!m||m[gi]||m[Qe]||m.namespaceURI==="http://www.w3.org/2000/svg"||m.hasAttribute("itemprop"))&&(m=f.createElement(o),f.head.insertBefore(m,f.querySelector("head > title"))),Xt(m,o,i),m[Qe]=t,Bt(m),o=m;break e;case"link":var T=Sy("link","href",f).get(o+(i.href||""));if(T){for(var A=0;A<T.length;A++)if(m=T[A],m.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&m.getAttribute("rel")===(i.rel==null?null:i.rel)&&m.getAttribute("title")===(i.title==null?null:i.title)&&m.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){T.splice(A,1);break t}}m=f.createElement(o),Xt(m,o,i),f.head.appendChild(m);break;case"meta":if(T=Sy("meta","content",f).get(o+(i.content||""))){for(A=0;A<T.length;A++)if(m=T[A],m.getAttribute("content")===(i.content==null?null:""+i.content)&&m.getAttribute("name")===(i.name==null?null:i.name)&&m.getAttribute("property")===(i.property==null?null:i.property)&&m.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&m.getAttribute("charset")===(i.charSet==null?null:i.charSet)){T.splice(A,1);break t}}m=f.createElement(o),Xt(m,o,i),f.head.appendChild(m);break;default:throw Error(l(468,o))}m[Qe]=t,Bt(m),o=m}t.stateNode=o}else jy(f,t.type,t.stateNode);else t.stateNode=_y(f,o,t.memoizedProps);else m!==o?(m===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):m.count--,o===null?jy(f,t.type,t.stateNode):_y(f,o,t.memoizedProps)):o===null&&t.stateNode!==null&&md(t,t.memoizedProps,i.memoizedProps)}break;case 27:un(s,t),dn(t),o&512&&(At||i===null||cs(i,i.return)),i!==null&&o&4&&md(t,t.memoizedProps,i.memoizedProps);break;case 5:if(un(s,t),dn(t),o&512&&(At||i===null||cs(i,i.return)),t.flags&32){f=t.stateNode;try{cr(f,"")}catch(Ee){st(t,t.return,Ee)}}o&4&&t.stateNode!=null&&(f=t.memoizedProps,md(t,f,i!==null?i.memoizedProps:f)),o&1024&&(xd=!0);break;case 6:if(un(s,t),dn(t),o&4){if(t.stateNode===null)throw Error(l(162));o=t.memoizedProps,i=t.stateNode;try{i.nodeValue=o}catch(Ee){st(t,t.return,Ee)}}break;case 3:if(Po=null,f=Zn,Zn=Uo(s.containerInfo),un(s,t),Zn=f,dn(t),o&4&&i!==null&&i.memoizedState.isDehydrated)try{Br(s.containerInfo)}catch(Ee){st(t,t.return,Ee)}xd&&(xd=!1,jm(t));break;case 4:o=Zn,Zn=Uo(t.stateNode.containerInfo),un(s,t),dn(t),Zn=o;break;case 12:un(s,t),dn(t);break;case 31:un(s,t),dn(t),o&4&&(o=t.updateQueue,o!==null&&(t.updateQueue=null,wo(t,o)));break;case 13:un(s,t),dn(t),t.child.flags&8192&&t.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(Eo=yt()),o&4&&(o=t.updateQueue,o!==null&&(t.updateQueue=null,wo(t,o)));break;case 22:f=t.memoizedState!==null;var I=i!==null&&i.memoizedState!==null,Q=zs,ae=At;if(zs=Q||f,At=ae||I,un(s,t),At=ae,zs=Q,dn(t),o&8192)e:for(s=t.stateNode,s._visibility=f?s._visibility&-2:s._visibility|1,f&&(i===null||I||zs||At||Ha(t)),i=null,s=t;;){if(s.tag===5||s.tag===26){if(i===null){I=i=s;try{if(m=I.stateNode,f)T=m.style,typeof T.setProperty=="function"?T.setProperty("display","none","important"):T.display="none";else{A=I.stateNode;var ce=I.memoizedProps.style,X=ce!=null&&ce.hasOwnProperty("display")?ce.display:null;A.style.display=X==null||typeof X=="boolean"?"":(""+X).trim()}}catch(Ee){st(I,I.return,Ee)}}}else if(s.tag===6){if(i===null){I=s;try{I.stateNode.nodeValue=f?"":I.memoizedProps}catch(Ee){st(I,I.return,Ee)}}}else if(s.tag===18){if(i===null){I=s;try{var ee=I.stateNode;f?hy(ee,!0):hy(I.stateNode,!1)}catch(Ee){st(I,I.return,Ee)}}}else if((s.tag!==22&&s.tag!==23||s.memoizedState===null||s===t)&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break e;for(;s.sibling===null;){if(s.return===null||s.return===t)break e;i===s&&(i=null),s=s.return}i===s&&(i=null),s.sibling.return=s.return,s=s.sibling}o&4&&(o=t.updateQueue,o!==null&&(i=o.retryQueue,i!==null&&(o.retryQueue=null,wo(t,i))));break;case 19:un(s,t),dn(t),o&4&&(o=t.updateQueue,o!==null&&(t.updateQueue=null,wo(t,o)));break;case 30:break;case 21:break;default:un(s,t),dn(t)}}function dn(t){var s=t.flags;if(s&2){try{for(var i,o=t.return;o!==null;){if(pm(o)){i=o;break}o=o.return}if(i==null)throw Error(l(160));switch(i.tag){case 27:var f=i.stateNode,m=yd(t);To(t,m,f);break;case 5:var T=i.stateNode;i.flags&32&&(cr(T,""),i.flags&=-33);var A=yd(t);To(t,A,T);break;case 3:case 4:var I=i.stateNode.containerInfo,Q=yd(t);vd(t,Q,I);break;default:throw Error(l(161))}}catch(ae){st(t,t.return,ae)}t.flags&=-3}s&4096&&(t.flags&=-4097)}function jm(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var s=t;jm(s),s.tag===5&&s.flags&1024&&s.stateNode.reset(),t=t.sibling}}function Ls(t,s){if(s.subtreeFlags&8772)for(s=s.child;s!==null;)ym(t,s.alternate,s),s=s.sibling}function Ha(t){for(t=t.child;t!==null;){var s=t;switch(s.tag){case 0:case 11:case 14:case 15:la(4,s,s.return),Ha(s);break;case 1:cs(s,s.return);var i=s.stateNode;typeof i.componentWillUnmount=="function"&&hm(s,s.return,i),Ha(s);break;case 27:Zi(s.stateNode);case 26:case 5:cs(s,s.return),Ha(s);break;case 22:s.memoizedState===null&&Ha(s);break;case 30:Ha(s);break;default:Ha(s)}t=t.sibling}}function Ms(t,s,i){for(i=i&&(s.subtreeFlags&8772)!==0,s=s.child;s!==null;){var o=s.alternate,f=t,m=s,T=m.flags;switch(m.tag){case 0:case 11:case 15:Ms(f,m,i),Pi(4,m);break;case 1:if(Ms(f,m,i),o=m,f=o.stateNode,typeof f.componentDidMount=="function")try{f.componentDidMount()}catch(Q){st(o,o.return,Q)}if(o=m,f=o.updateQueue,f!==null){var A=o.stateNode;try{var I=f.shared.hiddenCallbacks;if(I!==null)for(f.shared.hiddenCallbacks=null,f=0;f<I.length;f++)eg(I[f],A)}catch(Q){st(o,o.return,Q)}}i&&T&64&&dm(m),$i(m,m.return);break;case 27:gm(m);case 26:case 5:Ms(f,m,i),i&&o===null&&T&4&&fm(m),$i(m,m.return);break;case 12:Ms(f,m,i);break;case 31:Ms(f,m,i),i&&T&4&&bm(f,m);break;case 13:Ms(f,m,i),i&&T&4&&_m(f,m);break;case 22:m.memoizedState===null&&Ms(f,m,i),$i(m,m.return);break;case 30:break;default:Ms(f,m,i)}s=s.sibling}}function bd(t,s){var i=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),t=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(t=s.memoizedState.cachePool.pool),t!==i&&(t!=null&&t.refCount++,i!=null&&Ci(i))}function _d(t,s){t=null,s.alternate!==null&&(t=s.alternate.memoizedState.cache),s=s.memoizedState.cache,s!==t&&(s.refCount++,t!=null&&Ci(t))}function Wn(t,s,i,o){if(s.subtreeFlags&10256)for(s=s.child;s!==null;)Tm(t,s,i,o),s=s.sibling}function Tm(t,s,i,o){var f=s.flags;switch(s.tag){case 0:case 11:case 15:Wn(t,s,i,o),f&2048&&Pi(9,s);break;case 1:Wn(t,s,i,o);break;case 3:Wn(t,s,i,o),f&2048&&(t=null,s.alternate!==null&&(t=s.alternate.memoizedState.cache),s=s.memoizedState.cache,s!==t&&(s.refCount++,t!=null&&Ci(t)));break;case 12:if(f&2048){Wn(t,s,i,o),t=s.stateNode;try{var m=s.memoizedProps,T=m.id,A=m.onPostCommit;typeof A=="function"&&A(T,s.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(I){st(s,s.return,I)}}else Wn(t,s,i,o);break;case 31:Wn(t,s,i,o);break;case 13:Wn(t,s,i,o);break;case 23:break;case 22:m=s.stateNode,T=s.alternate,s.memoizedState!==null?m._visibility&2?Wn(t,s,i,o):Hi(t,s):m._visibility&2?Wn(t,s,i,o):(m._visibility|=2,Nr(t,s,i,o,(s.subtreeFlags&10256)!==0||!1)),f&2048&&bd(T,s);break;case 24:Wn(t,s,i,o),f&2048&&_d(s.alternate,s);break;default:Wn(t,s,i,o)}}function Nr(t,s,i,o,f){for(f=f&&((s.subtreeFlags&10256)!==0||!1),s=s.child;s!==null;){var m=t,T=s,A=i,I=o,Q=T.flags;switch(T.tag){case 0:case 11:case 15:Nr(m,T,A,I,f),Pi(8,T);break;case 23:break;case 22:var ae=T.stateNode;T.memoizedState!==null?ae._visibility&2?Nr(m,T,A,I,f):Hi(m,T):(ae._visibility|=2,Nr(m,T,A,I,f)),f&&Q&2048&&bd(T.alternate,T);break;case 24:Nr(m,T,A,I,f),f&&Q&2048&&_d(T.alternate,T);break;default:Nr(m,T,A,I,f)}s=s.sibling}}function Hi(t,s){if(s.subtreeFlags&10256)for(s=s.child;s!==null;){var i=t,o=s,f=o.flags;switch(o.tag){case 22:Hi(i,o),f&2048&&bd(o.alternate,o);break;case 24:Hi(i,o),f&2048&&_d(o.alternate,o);break;default:Hi(i,o)}s=s.sibling}}var Gi=8192;function Ar(t,s,i){if(t.subtreeFlags&Gi)for(t=t.child;t!==null;)wm(t,s,i),t=t.sibling}function wm(t,s,i){switch(t.tag){case 26:Ar(t,s,i),t.flags&Gi&&t.memoizedState!==null&&$T(i,Zn,t.memoizedState,t.memoizedProps);break;case 5:Ar(t,s,i);break;case 3:case 4:var o=Zn;Zn=Uo(t.stateNode.containerInfo),Ar(t,s,i),Zn=o;break;case 22:t.memoizedState===null&&(o=t.alternate,o!==null&&o.memoizedState!==null?(o=Gi,Gi=16777216,Ar(t,s,i),Gi=o):Ar(t,s,i));break;default:Ar(t,s,i)}}function km(t){var s=t.alternate;if(s!==null&&(t=s.child,t!==null)){s.child=null;do s=t.sibling,t.sibling=null,t=s;while(t!==null)}}function Fi(t){var s=t.deletions;if((t.flags&16)!==0){if(s!==null)for(var i=0;i<s.length;i++){var o=s[i];Pt=o,Cm(o,t)}km(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Em(t),t=t.sibling}function Em(t){switch(t.tag){case 0:case 11:case 15:Fi(t),t.flags&2048&&la(9,t,t.return);break;case 3:Fi(t);break;case 12:Fi(t);break;case 22:var s=t.stateNode;t.memoizedState!==null&&s._visibility&2&&(t.return===null||t.return.tag!==13)?(s._visibility&=-3,ko(t)):Fi(t);break;default:Fi(t)}}function ko(t){var s=t.deletions;if((t.flags&16)!==0){if(s!==null)for(var i=0;i<s.length;i++){var o=s[i];Pt=o,Cm(o,t)}km(t)}for(t=t.child;t!==null;){switch(s=t,s.tag){case 0:case 11:case 15:la(8,s,s.return),ko(s);break;case 22:i=s.stateNode,i._visibility&2&&(i._visibility&=-3,ko(s));break;default:ko(s)}t=t.sibling}}function Cm(t,s){for(;Pt!==null;){var i=Pt;switch(i.tag){case 0:case 11:case 15:la(8,i,s);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var o=i.memoizedState.cachePool.pool;o!=null&&o.refCount++}break;case 24:Ci(i.memoizedState.cache)}if(o=i.child,o!==null)o.return=i,Pt=o;else e:for(i=t;Pt!==null;){o=Pt;var f=o.sibling,m=o.return;if(vm(o),o===i){Pt=null;break e}if(f!==null){f.return=m,Pt=f;break e}Pt=m}}}var sT={getCacheForType:function(t){var s=Kt(Et),i=s.data.get(t);return i===void 0&&(i=t(),s.data.set(t,i)),i},cacheSignal:function(){return Kt(Et).controller.signal}},aT=typeof WeakMap=="function"?WeakMap:Map,Je=0,ot=null,Be=null,He=0,nt=0,jn=null,oa=!1,Rr=!1,Sd=!1,Is=0,St=0,ca=0,Ga=0,jd=0,Tn=0,Dr=0,Vi=null,hn=null,Td=!1,Eo=0,Nm=0,Co=1/0,No=null,ua=null,Lt=0,da=null,zr=null,qs=0,wd=0,kd=null,Am=null,Yi=0,Ed=null;function wn(){return(Je&2)!==0&&He!==0?He&-He:q.T!==null?zd():ka()}function Rm(){if(Tn===0)if((He&536870912)===0||Ve){var t=yn;yn<<=1,(yn&3932160)===0&&(yn=262144),Tn=t}else Tn=536870912;return t=_n.current,t!==null&&(t.flags|=32),Tn}function fn(t,s,i){(t===ot&&(nt===2||nt===9)||t.cancelPendingCommit!==null)&&(Or(t,0),ha(t,He,Tn,!1)),Ue(t,i),((Je&2)===0||t!==ot)&&(t===ot&&((Je&2)===0&&(Ga|=i),St===4&&ha(t,He,Tn,!1)),us(t))}function Dm(t,s,i){if((Je&6)!==0)throw Error(l(327));var o=!i&&(s&127)===0&&(s&t.expiredLanes)===0||An(t,s),f=o?lT(t,s):Nd(t,s,!0),m=o;do{if(f===0){Rr&&!o&&ha(t,s,0,!1);break}else{if(i=t.current.alternate,m&&!rT(i)){f=Nd(t,s,!1),m=!1;continue}if(f===2){if(m=s,t.errorRecoveryDisabledLanes&m)var T=0;else T=t.pendingLanes&-536870913,T=T!==0?T:T&536870912?536870912:0;if(T!==0){s=T;e:{var A=t;f=Vi;var I=A.current.memoizedState.isDehydrated;if(I&&(Or(A,T).flags|=256),T=Nd(A,T,!1),T!==2){if(Sd&&!I){A.errorRecoveryDisabledLanes|=m,Ga|=m,f=4;break e}m=hn,hn=f,m!==null&&(hn===null?hn=m:hn.push.apply(hn,m))}f=T}if(m=!1,f!==2)continue}}if(f===1){Or(t,0),ha(t,s,0,!0);break}e:{switch(o=t,m=f,m){case 0:case 1:throw Error(l(345));case 4:if((s&4194048)!==s)break;case 6:ha(o,s,Tn,!oa);break e;case 2:hn=null;break;case 3:case 5:break;default:throw Error(l(329))}if((s&62914560)===s&&(f=Eo+300-yt(),10<f)){if(ha(o,s,Tn,!oa),Ks(o,0,!0)!==0)break e;qs=s,o.timeoutHandle=cy(zm.bind(null,o,i,hn,No,Td,s,Tn,Ga,Dr,oa,m,"Throttled",-0,0),f);break e}zm(o,i,hn,No,Td,s,Tn,Ga,Dr,oa,m,null,-0,0)}}break}while(!0);us(t)}function zm(t,s,i,o,f,m,T,A,I,Q,ae,ce,X,ee){if(t.timeoutHandle=-1,ce=s.subtreeFlags,ce&8192||(ce&16785408)===16785408){ce={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:js},wm(s,m,ce);var Ee=(m&62914560)===m?Eo-yt():(m&4194048)===m?Nm-yt():0;if(Ee=HT(ce,Ee),Ee!==null){qs=m,t.cancelPendingCommit=Ee(Pm.bind(null,t,s,m,i,o,f,T,A,I,ae,ce,null,X,ee)),ha(t,m,T,!Q);return}}Pm(t,s,m,i,o,f,T,A,I)}function rT(t){for(var s=t;;){var i=s.tag;if((i===0||i===11||i===15)&&s.flags&16384&&(i=s.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var o=0;o<i.length;o++){var f=i[o],m=f.getSnapshot;f=f.value;try{if(!xn(m(),f))return!1}catch{return!1}}if(i=s.child,s.subtreeFlags&16384&&i!==null)i.return=s,s=i;else{if(s===t)break;for(;s.sibling===null;){if(s.return===null||s.return===t)return!0;s=s.return}s.sibling.return=s.return,s=s.sibling}}return!0}function ha(t,s,i,o){s&=~jd,s&=~Ga,t.suspendedLanes|=s,t.pingedLanes&=~s,o&&(t.warmLanes|=s),o=t.expirationTimes;for(var f=s;0<f;){var m=31-Ft(f),T=1<<m;o[m]=-1,f&=~T}i!==0&&Ot(t,i,s)}function Ao(){return(Je&6)===0?(Ki(0),!1):!0}function Cd(){if(Be!==null){if(nt===0)var t=Be.return;else t=Be,Es=La=null,Gu(t),Tr=null,Ai=0,t=Be;for(;t!==null;)um(t.alternate,t),t=t.return;Be=null}}function Or(t,s){var i=t.timeoutHandle;i!==-1&&(t.timeoutHandle=-1,wT(i)),i=t.cancelPendingCommit,i!==null&&(t.cancelPendingCommit=null,i()),qs=0,Cd(),ot=t,Be=i=ws(t.current,null),He=s,nt=0,jn=null,oa=!1,Rr=An(t,s),Sd=!1,Dr=Tn=jd=Ga=ca=St=0,hn=Vi=null,Td=!1,(s&8)!==0&&(s|=s&32);var o=t.entangledLanes;if(o!==0)for(t=t.entanglements,o&=s;0<o;){var f=31-Ft(o),m=1<<f;s|=t[f],o&=~m}return Is=s,Xl(),i}function Om(t,s){Le=null,q.H=qi,s===jr||s===ao?(s=Xp(),nt=3):s===Du?(s=Xp(),nt=4):nt=s===id?8:s!==null&&typeof s=="object"&&typeof s.then=="function"?6:1,jn=s,Be===null&&(St=1,xo(t,On(s,t.current)))}function Lm(){var t=_n.current;return t===null?!0:(He&4194048)===He?qn===null:(He&62914560)===He||(He&536870912)!==0?t===qn:!1}function Mm(){var t=q.H;return q.H=qi,t===null?qi:t}function Im(){var t=q.A;return q.A=sT,t}function Ro(){St=4,oa||(He&4194048)!==He&&_n.current!==null||(Rr=!0),(ca&134217727)===0&&(Ga&134217727)===0||ot===null||ha(ot,He,Tn,!1)}function Nd(t,s,i){var o=Je;Je|=2;var f=Mm(),m=Im();(ot!==t||He!==s)&&(No=null,Or(t,s)),s=!1;var T=St;e:do try{if(nt!==0&&Be!==null){var A=Be,I=jn;switch(nt){case 8:Cd(),T=6;break e;case 3:case 2:case 9:case 6:_n.current===null&&(s=!0);var Q=nt;if(nt=0,jn=null,Lr(t,A,I,Q),i&&Rr){T=0;break e}break;default:Q=nt,nt=0,jn=null,Lr(t,A,I,Q)}}iT(),T=St;break}catch(ae){Om(t,ae)}while(!0);return s&&t.shellSuspendCounter++,Es=La=null,Je=o,q.H=f,q.A=m,Be===null&&(ot=null,He=0,Xl()),T}function iT(){for(;Be!==null;)qm(Be)}function lT(t,s){var i=Je;Je|=2;var o=Mm(),f=Im();ot!==t||He!==s?(No=null,Co=yt()+500,Or(t,s)):Rr=An(t,s);e:do try{if(nt!==0&&Be!==null){s=Be;var m=jn;t:switch(nt){case 1:nt=0,jn=null,Lr(t,s,m,1);break;case 2:case 9:if(Kp(m)){nt=0,jn=null,Um(s);break}s=function(){nt!==2&&nt!==9||ot!==t||(nt=7),us(t)},m.then(s,s);break e;case 3:nt=7;break e;case 4:nt=5;break e;case 7:Kp(m)?(nt=0,jn=null,Um(s)):(nt=0,jn=null,Lr(t,s,m,7));break;case 5:var T=null;switch(Be.tag){case 26:T=Be.memoizedState;case 5:case 27:var A=Be;if(T?Ty(T):A.stateNode.complete){nt=0,jn=null;var I=A.sibling;if(I!==null)Be=I;else{var Q=A.return;Q!==null?(Be=Q,Do(Q)):Be=null}break t}}nt=0,jn=null,Lr(t,s,m,5);break;case 6:nt=0,jn=null,Lr(t,s,m,6);break;case 8:Cd(),St=6;break e;default:throw Error(l(462))}}oT();break}catch(ae){Om(t,ae)}while(!0);return Es=La=null,q.H=o,q.A=f,Je=i,Be!==null?0:(ot=null,He=0,Xl(),St)}function oT(){for(;Be!==null&&!Cn();)qm(Be)}function qm(t){var s=om(t.alternate,t,Is);t.memoizedProps=t.pendingProps,s===null?Do(t):Be=s}function Um(t){var s=t,i=s.alternate;switch(s.tag){case 15:case 0:s=nm(i,s,s.pendingProps,s.type,void 0,He);break;case 11:s=nm(i,s,s.pendingProps,s.type.render,s.ref,He);break;case 5:Gu(s);default:um(i,s),s=Be=Ip(s,Is),s=om(i,s,Is)}t.memoizedProps=t.pendingProps,s===null?Do(t):Be=s}function Lr(t,s,i,o){Es=La=null,Gu(s),Tr=null,Ai=0;var f=s.return;try{if(Xj(t,f,s,i,He)){St=1,xo(t,On(i,t.current)),Be=null;return}}catch(m){if(f!==null)throw Be=f,m;St=1,xo(t,On(i,t.current)),Be=null;return}s.flags&32768?(Ve||o===1?t=!0:Rr||(He&536870912)!==0?t=!1:(oa=t=!0,(o===2||o===9||o===3||o===6)&&(o=_n.current,o!==null&&o.tag===13&&(o.flags|=16384))),Bm(s,t)):Do(s)}function Do(t){var s=t;do{if((s.flags&32768)!==0){Bm(s,oa);return}t=s.return;var i=Jj(s.alternate,s,Is);if(i!==null){Be=i;return}if(s=s.sibling,s!==null){Be=s;return}Be=s=t}while(s!==null);St===0&&(St=5)}function Bm(t,s){do{var i=eT(t.alternate,t);if(i!==null){i.flags&=32767,Be=i;return}if(i=t.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!s&&(t=t.sibling,t!==null)){Be=t;return}Be=t=i}while(t!==null);St=6,Be=null}function Pm(t,s,i,o,f,m,T,A,I){t.cancelPendingCommit=null;do zo();while(Lt!==0);if((Je&6)!==0)throw Error(l(327));if(s!==null){if(s===t.current)throw Error(l(177));if(m=s.lanes|s.childLanes,m|=yu,pt(t,i,m,T,A,I),t===ot&&(Be=ot=null,He=0),zr=s,da=t,qs=i,wd=m,kd=f,Am=o,(s.subtreeFlags&10256)!==0||(s.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,hT(Ys,function(){return Vm(),null})):(t.callbackNode=null,t.callbackPriority=0),o=(s.flags&13878)!==0,(s.subtreeFlags&13878)!==0||o){o=q.T,q.T=null,f=Z.p,Z.p=2,T=Je,Je|=4;try{tT(t,s,i)}finally{Je=T,Z.p=f,q.T=o}}Lt=1,$m(),Hm(),Gm()}}function $m(){if(Lt===1){Lt=0;var t=da,s=zr,i=(s.flags&13878)!==0;if((s.subtreeFlags&13878)!==0||i){i=q.T,q.T=null;var o=Z.p;Z.p=2;var f=Je;Je|=4;try{Sm(s,t);var m=Pd,T=Cp(t.containerInfo),A=m.focusedElem,I=m.selectionRange;if(T!==A&&A&&A.ownerDocument&&Ep(A.ownerDocument.documentElement,A)){if(I!==null&&hu(A)){var Q=I.start,ae=I.end;if(ae===void 0&&(ae=Q),"selectionStart"in A)A.selectionStart=Q,A.selectionEnd=Math.min(ae,A.value.length);else{var ce=A.ownerDocument||document,X=ce&&ce.defaultView||window;if(X.getSelection){var ee=X.getSelection(),Ee=A.textContent.length,Ae=Math.min(I.start,Ee),it=I.end===void 0?Ae:Math.min(I.end,Ee);!ee.extend&&Ae>it&&(T=it,it=Ae,Ae=T);var G=kp(A,Ae),P=kp(A,it);if(G&&P&&(ee.rangeCount!==1||ee.anchorNode!==G.node||ee.anchorOffset!==G.offset||ee.focusNode!==P.node||ee.focusOffset!==P.offset)){var Y=ce.createRange();Y.setStart(G.node,G.offset),ee.removeAllRanges(),Ae>it?(ee.addRange(Y),ee.extend(P.node,P.offset)):(Y.setEnd(P.node,P.offset),ee.addRange(Y))}}}}for(ce=[],ee=A;ee=ee.parentNode;)ee.nodeType===1&&ce.push({element:ee,left:ee.scrollLeft,top:ee.scrollTop});for(typeof A.focus=="function"&&A.focus(),A=0;A<ce.length;A++){var ie=ce[A];ie.element.scrollLeft=ie.left,ie.element.scrollTop=ie.top}}Fo=!!Bd,Pd=Bd=null}finally{Je=f,Z.p=o,q.T=i}}t.current=s,Lt=2}}function Hm(){if(Lt===2){Lt=0;var t=da,s=zr,i=(s.flags&8772)!==0;if((s.subtreeFlags&8772)!==0||i){i=q.T,q.T=null;var o=Z.p;Z.p=2;var f=Je;Je|=4;try{ym(t,s.alternate,s)}finally{Je=f,Z.p=o,q.T=i}}Lt=3}}function Gm(){if(Lt===4||Lt===3){Lt=0,kt();var t=da,s=zr,i=qs,o=Am;(s.subtreeFlags&10256)!==0||(s.flags&10256)!==0?Lt=5:(Lt=0,zr=da=null,Fm(t,t.pendingLanes));var f=t.pendingLanes;if(f===0&&(ua=null),is(i),s=s.stateNode,Gt&&typeof Gt.onCommitFiberRoot=="function")try{Gt.onCommitFiberRoot(_s,s,void 0,(s.current.flags&128)===128)}catch{}if(o!==null){s=q.T,f=Z.p,Z.p=2,q.T=null;try{for(var m=t.onRecoverableError,T=0;T<o.length;T++){var A=o[T];m(A.value,{componentStack:A.stack})}}finally{q.T=s,Z.p=f}}(qs&3)!==0&&zo(),us(t),f=t.pendingLanes,(i&261930)!==0&&(f&42)!==0?t===Ed?Yi++:(Yi=0,Ed=t):Yi=0,Ki(0)}}function Fm(t,s){(t.pooledCacheLanes&=s)===0&&(s=t.pooledCache,s!=null&&(t.pooledCache=null,Ci(s)))}function zo(){return $m(),Hm(),Gm(),Vm()}function Vm(){if(Lt!==5)return!1;var t=da,s=wd;wd=0;var i=is(qs),o=q.T,f=Z.p;try{Z.p=32>i?32:i,q.T=null,i=kd,kd=null;var m=da,T=qs;if(Lt=0,zr=da=null,qs=0,(Je&6)!==0)throw Error(l(331));var A=Je;if(Je|=4,Em(m.current),Tm(m,m.current,T,i),Je=A,Ki(0,!1),Gt&&typeof Gt.onPostCommitFiberRoot=="function")try{Gt.onPostCommitFiberRoot(_s,m)}catch{}return!0}finally{Z.p=f,q.T=o,Fm(t,s)}}function Ym(t,s,i){s=On(i,s),s=rd(t.stateNode,s,2),t=aa(t,s,2),t!==null&&(Ue(t,2),us(t))}function st(t,s,i){if(t.tag===3)Ym(t,t,i);else for(;s!==null;){if(s.tag===3){Ym(s,t,i);break}else if(s.tag===1){var o=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(ua===null||!ua.has(o))){t=On(i,t),i=Kg(2),o=aa(s,i,2),o!==null&&(Qg(i,o,s,t),Ue(o,2),us(o));break}}s=s.return}}function Ad(t,s,i){var o=t.pingCache;if(o===null){o=t.pingCache=new aT;var f=new Set;o.set(s,f)}else f=o.get(s),f===void 0&&(f=new Set,o.set(s,f));f.has(i)||(Sd=!0,f.add(i),t=cT.bind(null,t,s,i),s.then(t,t))}function cT(t,s,i){var o=t.pingCache;o!==null&&o.delete(s),t.pingedLanes|=t.suspendedLanes&i,t.warmLanes&=~i,ot===t&&(He&i)===i&&(St===4||St===3&&(He&62914560)===He&&300>yt()-Eo?(Je&2)===0&&Or(t,0):jd|=i,Dr===He&&(Dr=0)),us(t)}function Km(t,s){s===0&&(s=ue()),t=Da(t,s),t!==null&&(Ue(t,s),us(t))}function uT(t){var s=t.memoizedState,i=0;s!==null&&(i=s.retryLane),Km(t,i)}function dT(t,s){var i=0;switch(t.tag){case 31:case 13:var o=t.stateNode,f=t.memoizedState;f!==null&&(i=f.retryLane);break;case 19:o=t.stateNode;break;case 22:o=t.stateNode._retryCache;break;default:throw Error(l(314))}o!==null&&o.delete(s),Km(t,i)}function hT(t,s){return ft(t,s)}var Oo=null,Mr=null,Rd=!1,Lo=!1,Dd=!1,fa=0;function us(t){t!==Mr&&t.next===null&&(Mr===null?Oo=Mr=t:Mr=Mr.next=t),Lo=!0,Rd||(Rd=!0,pT())}function Ki(t,s){if(!Dd&&Lo){Dd=!0;do for(var i=!1,o=Oo;o!==null;){if(t!==0){var f=o.pendingLanes;if(f===0)var m=0;else{var T=o.suspendedLanes,A=o.pingedLanes;m=(1<<31-Ft(42|t)+1)-1,m&=f&~(T&~A),m=m&201326741?m&201326741|1:m?m|2:0}m!==0&&(i=!0,Wm(o,m))}else m=He,m=Ks(o,o===ot?m:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(m&3)===0||An(o,m)||(i=!0,Wm(o,m));o=o.next}while(i);Dd=!1}}function fT(){Qm()}function Qm(){Lo=Rd=!1;var t=0;fa!==0&&TT()&&(t=fa);for(var s=yt(),i=null,o=Oo;o!==null;){var f=o.next,m=Xm(o,s);m===0?(o.next=null,i===null?Oo=f:i.next=f,f===null&&(Mr=i)):(i=o,(t!==0||(m&3)!==0)&&(Lo=!0)),o=f}Lt!==0&&Lt!==5||Ki(t),fa!==0&&(fa=0)}function Xm(t,s){for(var i=t.suspendedLanes,o=t.pingedLanes,f=t.expirationTimes,m=t.pendingLanes&-62914561;0<m;){var T=31-Ft(m),A=1<<T,I=f[T];I===-1?((A&i)===0||(A&o)!==0)&&(f[T]=Qs(A,s)):I<=s&&(t.expiredLanes|=A),m&=~A}if(s=ot,i=He,i=Ks(t,t===s?i:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),o=t.callbackNode,i===0||t===s&&(nt===2||nt===9)||t.cancelPendingCommit!==null)return o!==null&&o!==null&&Ut(o),t.callbackNode=null,t.callbackPriority=0;if((i&3)===0||An(t,i)){if(s=i&-i,s===t.callbackPriority)return s;switch(o!==null&&Ut(o),is(i)){case 2:case 8:i=wa;break;case 32:i=Ys;break;case 268435456:i=sr;break;default:i=Ys}return o=Zm.bind(null,t),i=ft(i,o),t.callbackPriority=s,t.callbackNode=i,s}return o!==null&&o!==null&&Ut(o),t.callbackPriority=2,t.callbackNode=null,2}function Zm(t,s){if(Lt!==0&&Lt!==5)return t.callbackNode=null,t.callbackPriority=0,null;var i=t.callbackNode;if(zo()&&t.callbackNode!==i)return null;var o=He;return o=Ks(t,t===ot?o:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),o===0?null:(Dm(t,o,s),Xm(t,yt()),t.callbackNode!=null&&t.callbackNode===i?Zm.bind(null,t):null)}function Wm(t,s){if(zo())return null;Dm(t,s,!0)}function pT(){kT(function(){(Je&6)!==0?ft(bs,fT):Qm()})}function zd(){if(fa===0){var t=_r;t===0&&(t=Kn,Kn<<=1,(Kn&261888)===0&&(Kn=256)),fa=t}return fa}function Jm(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:$l(""+t)}function ey(t,s){var i=s.ownerDocument.createElement("input");return i.name=s.name,i.value=s.value,t.id&&i.setAttribute("form",t.id),s.parentNode.insertBefore(i,s),t=new FormData(t),i.parentNode.removeChild(i),t}function gT(t,s,i,o,f){if(s==="submit"&&i&&i.stateNode===f){var m=Jm((f[Vt]||null).action),T=o.submitter;T&&(s=(s=T[Vt]||null)?Jm(s.formAction):T.getAttribute("formAction"),s!==null&&(m=s,T=null));var A=new Vl("action","action",null,o,f);t.push({event:A,listeners:[{instance:null,listener:function(){if(o.defaultPrevented){if(fa!==0){var I=T?ey(f,T):new FormData(f);Ju(i,{pending:!0,data:I,method:f.method,action:m},null,I)}}else typeof m=="function"&&(A.preventDefault(),I=T?ey(f,T):new FormData(f),Ju(i,{pending:!0,data:I,method:f.method,action:m},m,I))},currentTarget:f}]})}}for(var Od=0;Od<mu.length;Od++){var Ld=mu[Od],mT=Ld.toLowerCase(),yT=Ld[0].toUpperCase()+Ld.slice(1);Xn(mT,"on"+yT)}Xn(Rp,"onAnimationEnd"),Xn(Dp,"onAnimationIteration"),Xn(zp,"onAnimationStart"),Xn("dblclick","onDoubleClick"),Xn("focusin","onFocus"),Xn("focusout","onBlur"),Xn(zj,"onTransitionRun"),Xn(Oj,"onTransitionStart"),Xn(Lj,"onTransitionCancel"),Xn(Op,"onTransitionEnd"),lr("onMouseEnter",["mouseout","mouseover"]),lr("onMouseLeave",["mouseout","mouseover"]),lr("onPointerEnter",["pointerout","pointerover"]),lr("onPointerLeave",["pointerout","pointerover"]),Ca("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ca("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ca("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ca("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ca("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ca("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Qi="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(" "),vT=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Qi));function ty(t,s){s=(s&4)!==0;for(var i=0;i<t.length;i++){var o=t[i],f=o.event;o=o.listeners;e:{var m=void 0;if(s)for(var T=o.length-1;0<=T;T--){var A=o[T],I=A.instance,Q=A.currentTarget;if(A=A.listener,I!==m&&f.isPropagationStopped())break e;m=A,f.currentTarget=Q;try{m(f)}catch(ae){Ql(ae)}f.currentTarget=null,m=I}else for(T=0;T<o.length;T++){if(A=o[T],I=A.instance,Q=A.currentTarget,A=A.listener,I!==m&&f.isPropagationStopped())break e;m=A,f.currentTarget=Q;try{m(f)}catch(ae){Ql(ae)}f.currentTarget=null,m=I}}}}function Pe(t,s){var i=s[Kc];i===void 0&&(i=s[Kc]=new Set);var o=t+"__bubble";i.has(o)||(ny(s,t,2,!1),i.add(o))}function Md(t,s,i){var o=0;s&&(o|=4),ny(i,t,o,s)}var Mo="_reactListening"+Math.random().toString(36).slice(2);function Id(t){if(!t[Mo]){t[Mo]=!0,Qf.forEach(function(i){i!=="selectionchange"&&(vT.has(i)||Md(i,!1,t),Md(i,!0,t))});var s=t.nodeType===9?t:t.ownerDocument;s===null||s[Mo]||(s[Mo]=!0,Md("selectionchange",!1,s))}}function ny(t,s,i,o){switch(Ry(s)){case 2:var f=VT;break;case 8:f=YT;break;default:f=Wd}i=f.bind(null,s,i,t),f=void 0,!su||s!=="touchstart"&&s!=="touchmove"&&s!=="wheel"||(f=!0),o?f!==void 0?t.addEventListener(s,i,{capture:!0,passive:f}):t.addEventListener(s,i,!0):f!==void 0?t.addEventListener(s,i,{passive:f}):t.addEventListener(s,i,!1)}function qd(t,s,i,o,f){var m=o;if((s&1)===0&&(s&2)===0&&o!==null)e:for(;;){if(o===null)return;var T=o.tag;if(T===3||T===4){var A=o.stateNode.containerInfo;if(A===f)break;if(T===4)for(T=o.return;T!==null;){var I=T.tag;if((I===3||I===4)&&T.stateNode.containerInfo===f)return;T=T.return}for(;A!==null;){if(T=ar(A),T===null)return;if(I=T.tag,I===5||I===6||I===26||I===27){o=m=T;continue e}A=A.parentNode}}o=o.return}lp(function(){var Q=m,ae=tu(i),ce=[];e:{var X=Lp.get(t);if(X!==void 0){var ee=Vl,Ee=t;switch(t){case"keypress":if(Gl(i)===0)break e;case"keydown":case"keyup":ee=dj;break;case"focusin":Ee="focus",ee=lu;break;case"focusout":Ee="blur",ee=lu;break;case"beforeblur":case"afterblur":ee=lu;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ee=up;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ee=JS;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ee=pj;break;case Rp:case Dp:case zp:ee=nj;break;case Op:ee=mj;break;case"scroll":case"scrollend":ee=ZS;break;case"wheel":ee=vj;break;case"copy":case"cut":case"paste":ee=aj;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ee=hp;break;case"toggle":case"beforetoggle":ee=bj}var Ae=(s&4)!==0,it=!Ae&&(t==="scroll"||t==="scrollend"),G=Ae?X!==null?X+"Capture":null:X;Ae=[];for(var P=Q,Y;P!==null;){var ie=P;if(Y=ie.stateNode,ie=ie.tag,ie!==5&&ie!==26&&ie!==27||Y===null||G===null||(ie=yi(P,G),ie!=null&&Ae.push(Xi(P,ie,Y))),it)break;P=P.return}0<Ae.length&&(X=new ee(X,Ee,null,i,ae),ce.push({event:X,listeners:Ae}))}}if((s&7)===0){e:{if(X=t==="mouseover"||t==="pointerover",ee=t==="mouseout"||t==="pointerout",X&&i!==eu&&(Ee=i.relatedTarget||i.fromElement)&&(ar(Ee)||Ee[Xs]))break e;if((ee||X)&&(X=ae.window===ae?ae:(X=ae.ownerDocument)?X.defaultView||X.parentWindow:window,ee?(Ee=i.relatedTarget||i.toElement,ee=Q,Ee=Ee?ar(Ee):null,Ee!==null&&(it=u(Ee),Ae=Ee.tag,Ee!==it||Ae!==5&&Ae!==27&&Ae!==6)&&(Ee=null)):(ee=null,Ee=Q),ee!==Ee)){if(Ae=up,ie="onMouseLeave",G="onMouseEnter",P="mouse",(t==="pointerout"||t==="pointerover")&&(Ae=hp,ie="onPointerLeave",G="onPointerEnter",P="pointer"),it=ee==null?X:mi(ee),Y=Ee==null?X:mi(Ee),X=new Ae(ie,P+"leave",ee,i,ae),X.target=it,X.relatedTarget=Y,ie=null,ar(ae)===Q&&(Ae=new Ae(G,P+"enter",Ee,i,ae),Ae.target=Y,Ae.relatedTarget=it,ie=Ae),it=ie,ee&&Ee)t:{for(Ae=xT,G=ee,P=Ee,Y=0,ie=G;ie;ie=Ae(ie))Y++;ie=0;for(var Ne=P;Ne;Ne=Ae(Ne))ie++;for(;0<Y-ie;)G=Ae(G),Y--;for(;0<ie-Y;)P=Ae(P),ie--;for(;Y--;){if(G===P||P!==null&&G===P.alternate){Ae=G;break t}G=Ae(G),P=Ae(P)}Ae=null}else Ae=null;ee!==null&&sy(ce,X,ee,Ae,!1),Ee!==null&&it!==null&&sy(ce,it,Ee,Ae,!0)}}e:{if(X=Q?mi(Q):window,ee=X.nodeName&&X.nodeName.toLowerCase(),ee==="select"||ee==="input"&&X.type==="file")var Xe=bp;else if(vp(X))if(_p)Xe=Aj;else{Xe=Cj;var Ce=Ej}else ee=X.nodeName,!ee||ee.toLowerCase()!=="input"||X.type!=="checkbox"&&X.type!=="radio"?Q&&Jc(Q.elementType)&&(Xe=bp):Xe=Nj;if(Xe&&(Xe=Xe(t,Q))){xp(ce,Xe,i,ae);break e}Ce&&Ce(t,X,Q),t==="focusout"&&Q&&X.type==="number"&&Q.memoizedProps.value!=null&&Wc(X,"number",X.value)}switch(Ce=Q?mi(Q):window,t){case"focusin":(vp(Ce)||Ce.contentEditable==="true")&&(fr=Ce,fu=Q,wi=null);break;case"focusout":wi=fu=fr=null;break;case"mousedown":pu=!0;break;case"contextmenu":case"mouseup":case"dragend":pu=!1,Np(ce,i,ae);break;case"selectionchange":if(Dj)break;case"keydown":case"keyup":Np(ce,i,ae)}var Ie;if(cu)e:{switch(t){case"compositionstart":var Ge="onCompositionStart";break e;case"compositionend":Ge="onCompositionEnd";break e;case"compositionupdate":Ge="onCompositionUpdate";break e}Ge=void 0}else hr?mp(t,i)&&(Ge="onCompositionEnd"):t==="keydown"&&i.keyCode===229&&(Ge="onCompositionStart");Ge&&(fp&&i.locale!=="ko"&&(hr||Ge!=="onCompositionStart"?Ge==="onCompositionEnd"&&hr&&(Ie=op()):(Zs=ae,au="value"in Zs?Zs.value:Zs.textContent,hr=!0)),Ce=Io(Q,Ge),0<Ce.length&&(Ge=new dp(Ge,t,null,i,ae),ce.push({event:Ge,listeners:Ce}),Ie?Ge.data=Ie:(Ie=yp(i),Ie!==null&&(Ge.data=Ie)))),(Ie=Sj?jj(t,i):Tj(t,i))&&(Ge=Io(Q,"onBeforeInput"),0<Ge.length&&(Ce=new dp("onBeforeInput","beforeinput",null,i,ae),ce.push({event:Ce,listeners:Ge}),Ce.data=Ie)),gT(ce,t,Q,i,ae)}ty(ce,s)})}function Xi(t,s,i){return{instance:t,listener:s,currentTarget:i}}function Io(t,s){for(var i=s+"Capture",o=[];t!==null;){var f=t,m=f.stateNode;if(f=f.tag,f!==5&&f!==26&&f!==27||m===null||(f=yi(t,i),f!=null&&o.unshift(Xi(t,f,m)),f=yi(t,s),f!=null&&o.push(Xi(t,f,m))),t.tag===3)return o;t=t.return}return[]}function xT(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function sy(t,s,i,o,f){for(var m=s._reactName,T=[];i!==null&&i!==o;){var A=i,I=A.alternate,Q=A.stateNode;if(A=A.tag,I!==null&&I===o)break;A!==5&&A!==26&&A!==27||Q===null||(I=Q,f?(Q=yi(i,m),Q!=null&&T.unshift(Xi(i,Q,I))):f||(Q=yi(i,m),Q!=null&&T.push(Xi(i,Q,I)))),i=i.return}T.length!==0&&t.push({event:s,listeners:T})}var bT=/\r\n?/g,_T=/\u0000|\uFFFD/g;function ay(t){return(typeof t=="string"?t:""+t).replace(bT,`
|
|
9
|
+
`).replace(_T,"")}function ry(t,s){return s=ay(s),ay(t)===s}function rt(t,s,i,o,f,m){switch(i){case"children":typeof o=="string"?s==="body"||s==="textarea"&&o===""||cr(t,o):(typeof o=="number"||typeof o=="bigint")&&s!=="body"&&cr(t,""+o);break;case"className":Bl(t,"class",o);break;case"tabIndex":Bl(t,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":Bl(t,i,o);break;case"style":rp(t,o,m);break;case"data":if(s!=="object"){Bl(t,"data",o);break}case"src":case"href":if(o===""&&(s!=="a"||i!=="href")){t.removeAttribute(i);break}if(o==null||typeof o=="function"||typeof o=="symbol"||typeof o=="boolean"){t.removeAttribute(i);break}o=$l(""+o),t.setAttribute(i,o);break;case"action":case"formAction":if(typeof o=="function"){t.setAttribute(i,"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 m=="function"&&(i==="formAction"?(s!=="input"&&rt(t,s,"name",f.name,f,null),rt(t,s,"formEncType",f.formEncType,f,null),rt(t,s,"formMethod",f.formMethod,f,null),rt(t,s,"formTarget",f.formTarget,f,null)):(rt(t,s,"encType",f.encType,f,null),rt(t,s,"method",f.method,f,null),rt(t,s,"target",f.target,f,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){t.removeAttribute(i);break}o=$l(""+o),t.setAttribute(i,o);break;case"onClick":o!=null&&(t.onclick=js);break;case"onScroll":o!=null&&Pe("scroll",t);break;case"onScrollEnd":o!=null&&Pe("scrollend",t);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(l(61));if(i=o.__html,i!=null){if(f.children!=null)throw Error(l(60));t.innerHTML=i}}break;case"multiple":t.multiple=o&&typeof o!="function"&&typeof o!="symbol";break;case"muted":t.muted=o&&typeof o!="function"&&typeof o!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(o==null||typeof o=="function"||typeof o=="boolean"||typeof o=="symbol"){t.removeAttribute("xlink:href");break}i=$l(""+o),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":o!=null&&typeof o!="function"&&typeof o!="symbol"?t.setAttribute(i,""+o):t.removeAttribute(i);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":o&&typeof o!="function"&&typeof o!="symbol"?t.setAttribute(i,""):t.removeAttribute(i);break;case"capture":case"download":o===!0?t.setAttribute(i,""):o!==!1&&o!=null&&typeof o!="function"&&typeof o!="symbol"?t.setAttribute(i,o):t.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":o!=null&&typeof o!="function"&&typeof o!="symbol"&&!isNaN(o)&&1<=o?t.setAttribute(i,o):t.removeAttribute(i);break;case"rowSpan":case"start":o==null||typeof o=="function"||typeof o=="symbol"||isNaN(o)?t.removeAttribute(i):t.setAttribute(i,o);break;case"popover":Pe("beforetoggle",t),Pe("toggle",t),Ul(t,"popover",o);break;case"xlinkActuate":Ss(t,"http://www.w3.org/1999/xlink","xlink:actuate",o);break;case"xlinkArcrole":Ss(t,"http://www.w3.org/1999/xlink","xlink:arcrole",o);break;case"xlinkRole":Ss(t,"http://www.w3.org/1999/xlink","xlink:role",o);break;case"xlinkShow":Ss(t,"http://www.w3.org/1999/xlink","xlink:show",o);break;case"xlinkTitle":Ss(t,"http://www.w3.org/1999/xlink","xlink:title",o);break;case"xlinkType":Ss(t,"http://www.w3.org/1999/xlink","xlink:type",o);break;case"xmlBase":Ss(t,"http://www.w3.org/XML/1998/namespace","xml:base",o);break;case"xmlLang":Ss(t,"http://www.w3.org/XML/1998/namespace","xml:lang",o);break;case"xmlSpace":Ss(t,"http://www.w3.org/XML/1998/namespace","xml:space",o);break;case"is":Ul(t,"is",o);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=QS.get(i)||i,Ul(t,i,o))}}function Ud(t,s,i,o,f,m){switch(i){case"style":rp(t,o,m);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(l(61));if(i=o.__html,i!=null){if(f.children!=null)throw Error(l(60));t.innerHTML=i}}break;case"children":typeof o=="string"?cr(t,o):(typeof o=="number"||typeof o=="bigint")&&cr(t,""+o);break;case"onScroll":o!=null&&Pe("scroll",t);break;case"onScrollEnd":o!=null&&Pe("scrollend",t);break;case"onClick":o!=null&&(t.onclick=js);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Xf.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(f=i.endsWith("Capture"),s=i.slice(2,f?i.length-7:void 0),m=t[Vt]||null,m=m!=null?m[i]:null,typeof m=="function"&&t.removeEventListener(s,m,f),typeof o=="function")){typeof m!="function"&&m!==null&&(i in t?t[i]=null:t.hasAttribute(i)&&t.removeAttribute(i)),t.addEventListener(s,o,f);break e}i in t?t[i]=o:o===!0?t.setAttribute(i,""):Ul(t,i,o)}}}function Xt(t,s,i){switch(s){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Pe("error",t),Pe("load",t);var o=!1,f=!1,m;for(m in i)if(i.hasOwnProperty(m)){var T=i[m];if(T!=null)switch(m){case"src":o=!0;break;case"srcSet":f=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,s));default:rt(t,s,m,T,i,null)}}f&&rt(t,s,"srcSet",i.srcSet,i,null),o&&rt(t,s,"src",i.src,i,null);return;case"input":Pe("invalid",t);var A=m=T=f=null,I=null,Q=null;for(o in i)if(i.hasOwnProperty(o)){var ae=i[o];if(ae!=null)switch(o){case"name":f=ae;break;case"type":T=ae;break;case"checked":I=ae;break;case"defaultChecked":Q=ae;break;case"value":m=ae;break;case"defaultValue":A=ae;break;case"children":case"dangerouslySetInnerHTML":if(ae!=null)throw Error(l(137,s));break;default:rt(t,s,o,ae,i,null)}}tp(t,m,A,I,Q,T,f,!1);return;case"select":Pe("invalid",t),o=T=m=null;for(f in i)if(i.hasOwnProperty(f)&&(A=i[f],A!=null))switch(f){case"value":m=A;break;case"defaultValue":T=A;break;case"multiple":o=A;default:rt(t,s,f,A,i,null)}s=m,i=T,t.multiple=!!o,s!=null?or(t,!!o,s,!1):i!=null&&or(t,!!o,i,!0);return;case"textarea":Pe("invalid",t),m=f=o=null;for(T in i)if(i.hasOwnProperty(T)&&(A=i[T],A!=null))switch(T){case"value":o=A;break;case"defaultValue":f=A;break;case"children":m=A;break;case"dangerouslySetInnerHTML":if(A!=null)throw Error(l(91));break;default:rt(t,s,T,A,i,null)}sp(t,o,f,m);return;case"option":for(I in i)i.hasOwnProperty(I)&&(o=i[I],o!=null)&&(I==="selected"?t.selected=o&&typeof o!="function"&&typeof o!="symbol":rt(t,s,I,o,i,null));return;case"dialog":Pe("beforetoggle",t),Pe("toggle",t),Pe("cancel",t),Pe("close",t);break;case"iframe":case"object":Pe("load",t);break;case"video":case"audio":for(o=0;o<Qi.length;o++)Pe(Qi[o],t);break;case"image":Pe("error",t),Pe("load",t);break;case"details":Pe("toggle",t);break;case"embed":case"source":case"link":Pe("error",t),Pe("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(Q in i)if(i.hasOwnProperty(Q)&&(o=i[Q],o!=null))switch(Q){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,s));default:rt(t,s,Q,o,i,null)}return;default:if(Jc(s)){for(ae in i)i.hasOwnProperty(ae)&&(o=i[ae],o!==void 0&&Ud(t,s,ae,o,i,void 0));return}}for(A in i)i.hasOwnProperty(A)&&(o=i[A],o!=null&&rt(t,s,A,o,i,null))}function ST(t,s,i,o){switch(s){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var f=null,m=null,T=null,A=null,I=null,Q=null,ae=null;for(ee in i){var ce=i[ee];if(i.hasOwnProperty(ee)&&ce!=null)switch(ee){case"checked":break;case"value":break;case"defaultValue":I=ce;default:o.hasOwnProperty(ee)||rt(t,s,ee,null,o,ce)}}for(var X in o){var ee=o[X];if(ce=i[X],o.hasOwnProperty(X)&&(ee!=null||ce!=null))switch(X){case"type":m=ee;break;case"name":f=ee;break;case"checked":Q=ee;break;case"defaultChecked":ae=ee;break;case"value":T=ee;break;case"defaultValue":A=ee;break;case"children":case"dangerouslySetInnerHTML":if(ee!=null)throw Error(l(137,s));break;default:ee!==ce&&rt(t,s,X,ee,o,ce)}}Zc(t,T,A,I,Q,ae,m,f);return;case"select":ee=T=A=X=null;for(m in i)if(I=i[m],i.hasOwnProperty(m)&&I!=null)switch(m){case"value":break;case"multiple":ee=I;default:o.hasOwnProperty(m)||rt(t,s,m,null,o,I)}for(f in o)if(m=o[f],I=i[f],o.hasOwnProperty(f)&&(m!=null||I!=null))switch(f){case"value":X=m;break;case"defaultValue":A=m;break;case"multiple":T=m;default:m!==I&&rt(t,s,f,m,o,I)}s=A,i=T,o=ee,X!=null?or(t,!!i,X,!1):!!o!=!!i&&(s!=null?or(t,!!i,s,!0):or(t,!!i,i?[]:"",!1));return;case"textarea":ee=X=null;for(A in i)if(f=i[A],i.hasOwnProperty(A)&&f!=null&&!o.hasOwnProperty(A))switch(A){case"value":break;case"children":break;default:rt(t,s,A,null,o,f)}for(T in o)if(f=o[T],m=i[T],o.hasOwnProperty(T)&&(f!=null||m!=null))switch(T){case"value":X=f;break;case"defaultValue":ee=f;break;case"children":break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(l(91));break;default:f!==m&&rt(t,s,T,f,o,m)}np(t,X,ee);return;case"option":for(var Ee in i)X=i[Ee],i.hasOwnProperty(Ee)&&X!=null&&!o.hasOwnProperty(Ee)&&(Ee==="selected"?t.selected=!1:rt(t,s,Ee,null,o,X));for(I in o)X=o[I],ee=i[I],o.hasOwnProperty(I)&&X!==ee&&(X!=null||ee!=null)&&(I==="selected"?t.selected=X&&typeof X!="function"&&typeof X!="symbol":rt(t,s,I,X,o,ee));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 Ae in i)X=i[Ae],i.hasOwnProperty(Ae)&&X!=null&&!o.hasOwnProperty(Ae)&&rt(t,s,Ae,null,o,X);for(Q in o)if(X=o[Q],ee=i[Q],o.hasOwnProperty(Q)&&X!==ee&&(X!=null||ee!=null))switch(Q){case"children":case"dangerouslySetInnerHTML":if(X!=null)throw Error(l(137,s));break;default:rt(t,s,Q,X,o,ee)}return;default:if(Jc(s)){for(var it in i)X=i[it],i.hasOwnProperty(it)&&X!==void 0&&!o.hasOwnProperty(it)&&Ud(t,s,it,void 0,o,X);for(ae in o)X=o[ae],ee=i[ae],!o.hasOwnProperty(ae)||X===ee||X===void 0&&ee===void 0||Ud(t,s,ae,X,o,ee);return}}for(var G in i)X=i[G],i.hasOwnProperty(G)&&X!=null&&!o.hasOwnProperty(G)&&rt(t,s,G,null,o,X);for(ce in o)X=o[ce],ee=i[ce],!o.hasOwnProperty(ce)||X===ee||X==null&&ee==null||rt(t,s,ce,X,o,ee)}function iy(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function jT(){if(typeof performance.getEntriesByType=="function"){for(var t=0,s=0,i=performance.getEntriesByType("resource"),o=0;o<i.length;o++){var f=i[o],m=f.transferSize,T=f.initiatorType,A=f.duration;if(m&&A&&iy(T)){for(T=0,A=f.responseEnd,o+=1;o<i.length;o++){var I=i[o],Q=I.startTime;if(Q>A)break;var ae=I.transferSize,ce=I.initiatorType;ae&&iy(ce)&&(I=I.responseEnd,T+=ae*(I<A?1:(A-Q)/(I-Q)))}if(--o,s+=8*(m+T)/(f.duration/1e3),t++,10<t)break}}if(0<t)return s/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var Bd=null,Pd=null;function qo(t){return t.nodeType===9?t:t.ownerDocument}function ly(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function oy(t,s){if(t===0)switch(s){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&s==="foreignObject"?0:t}function $d(t,s){return t==="textarea"||t==="noscript"||typeof s.children=="string"||typeof s.children=="number"||typeof s.children=="bigint"||typeof s.dangerouslySetInnerHTML=="object"&&s.dangerouslySetInnerHTML!==null&&s.dangerouslySetInnerHTML.__html!=null}var Hd=null;function TT(){var t=window.event;return t&&t.type==="popstate"?t===Hd?!1:(Hd=t,!0):(Hd=null,!1)}var cy=typeof setTimeout=="function"?setTimeout:void 0,wT=typeof clearTimeout=="function"?clearTimeout:void 0,uy=typeof Promise=="function"?Promise:void 0,kT=typeof queueMicrotask=="function"?queueMicrotask:typeof uy<"u"?function(t){return uy.resolve(null).then(t).catch(ET)}:cy;function ET(t){setTimeout(function(){throw t})}function pa(t){return t==="head"}function dy(t,s){var i=s,o=0;do{var f=i.nextSibling;if(t.removeChild(i),f&&f.nodeType===8)if(i=f.data,i==="/$"||i==="/&"){if(o===0){t.removeChild(f),Br(s);return}o--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")o++;else if(i==="html")Zi(t.ownerDocument.documentElement);else if(i==="head"){i=t.ownerDocument.head,Zi(i);for(var m=i.firstChild;m;){var T=m.nextSibling,A=m.nodeName;m[gi]||A==="SCRIPT"||A==="STYLE"||A==="LINK"&&m.rel.toLowerCase()==="stylesheet"||i.removeChild(m),m=T}}else i==="body"&&Zi(t.ownerDocument.body);i=f}while(i);Br(s)}function hy(t,s){var i=t;t=0;do{var o=i.nextSibling;if(i.nodeType===1?s?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(s?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),o&&o.nodeType===8)if(i=o.data,i==="/$"){if(t===0)break;t--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||t++;i=o}while(i)}function Gd(t){var s=t.firstChild;for(s&&s.nodeType===10&&(s=s.nextSibling);s;){var i=s;switch(s=s.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":Gd(i),Qc(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}t.removeChild(i)}}function CT(t,s,i,o){for(;t.nodeType===1;){var f=i;if(t.nodeName.toLowerCase()!==s.toLowerCase()){if(!o&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(o){if(!t[gi])switch(s){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(m=t.getAttribute("rel"),m==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(m!==f.rel||t.getAttribute("href")!==(f.href==null||f.href===""?null:f.href)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin)||t.getAttribute("title")!==(f.title==null?null:f.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(m=t.getAttribute("src"),(m!==(f.src==null?null:f.src)||t.getAttribute("type")!==(f.type==null?null:f.type)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin))&&m&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(s==="input"&&t.type==="hidden"){var m=f.name==null?null:""+f.name;if(f.type==="hidden"&&t.getAttribute("name")===m)return t}else return t;if(t=Un(t.nextSibling),t===null)break}return null}function NT(t,s,i){if(s==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!i||(t=Un(t.nextSibling),t===null))return null;return t}function fy(t,s){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=Un(t.nextSibling),t===null))return null;return t}function Fd(t){return t.data==="$?"||t.data==="$~"}function Vd(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function AT(t,s){var i=t.ownerDocument;if(t.data==="$~")t._reactRetry=s;else if(t.data!=="$?"||i.readyState!=="loading")s();else{var o=function(){s(),i.removeEventListener("DOMContentLoaded",o)};i.addEventListener("DOMContentLoaded",o),t._reactRetry=o}}function Un(t){for(;t!=null;t=t.nextSibling){var s=t.nodeType;if(s===1||s===3)break;if(s===8){if(s=t.data,s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"||s==="F!"||s==="F")break;if(s==="/$"||s==="/&")return null}}return t}var Yd=null;function py(t){t=t.nextSibling;for(var s=0;t;){if(t.nodeType===8){var i=t.data;if(i==="/$"||i==="/&"){if(s===0)return Un(t.nextSibling);s--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||s++}t=t.nextSibling}return null}function gy(t){t=t.previousSibling;for(var s=0;t;){if(t.nodeType===8){var i=t.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(s===0)return t;s--}else i!=="/$"&&i!=="/&"||s++}t=t.previousSibling}return null}function my(t,s,i){switch(s=qo(i),t){case"html":if(t=s.documentElement,!t)throw Error(l(452));return t;case"head":if(t=s.head,!t)throw Error(l(453));return t;case"body":if(t=s.body,!t)throw Error(l(454));return t;default:throw Error(l(451))}}function Zi(t){for(var s=t.attributes;s.length;)t.removeAttributeNode(s[0]);Qc(t)}var Bn=new Map,yy=new Set;function Uo(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Us=Z.d;Z.d={f:RT,r:DT,D:zT,C:OT,L:LT,m:MT,X:qT,S:IT,M:UT};function RT(){var t=Us.f(),s=Ao();return t||s}function DT(t){var s=rr(t);s!==null&&s.tag===5&&s.type==="form"?Og(s):Us.r(t)}var Ir=typeof document>"u"?null:document;function vy(t,s,i){var o=Ir;if(o&&typeof s=="string"&&s){var f=Dn(s);f='link[rel="'+t+'"][href="'+f+'"]',typeof i=="string"&&(f+='[crossorigin="'+i+'"]'),yy.has(f)||(yy.add(f),t={rel:t,crossOrigin:i,href:s},o.querySelector(f)===null&&(s=o.createElement("link"),Xt(s,"link",t),Bt(s),o.head.appendChild(s)))}}function zT(t){Us.D(t),vy("dns-prefetch",t,null)}function OT(t,s){Us.C(t,s),vy("preconnect",t,s)}function LT(t,s,i){Us.L(t,s,i);var o=Ir;if(o&&t&&s){var f='link[rel="preload"][as="'+Dn(s)+'"]';s==="image"&&i&&i.imageSrcSet?(f+='[imagesrcset="'+Dn(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(f+='[imagesizes="'+Dn(i.imageSizes)+'"]')):f+='[href="'+Dn(t)+'"]';var m=f;switch(s){case"style":m=qr(t);break;case"script":m=Ur(t)}Bn.has(m)||(t=S({rel:"preload",href:s==="image"&&i&&i.imageSrcSet?void 0:t,as:s},i),Bn.set(m,t),o.querySelector(f)!==null||s==="style"&&o.querySelector(Wi(m))||s==="script"&&o.querySelector(Ji(m))||(s=o.createElement("link"),Xt(s,"link",t),Bt(s),o.head.appendChild(s)))}}function MT(t,s){Us.m(t,s);var i=Ir;if(i&&t){var o=s&&typeof s.as=="string"?s.as:"script",f='link[rel="modulepreload"][as="'+Dn(o)+'"][href="'+Dn(t)+'"]',m=f;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":m=Ur(t)}if(!Bn.has(m)&&(t=S({rel:"modulepreload",href:t},s),Bn.set(m,t),i.querySelector(f)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(Ji(m)))return}o=i.createElement("link"),Xt(o,"link",t),Bt(o),i.head.appendChild(o)}}}function IT(t,s,i){Us.S(t,s,i);var o=Ir;if(o&&t){var f=ir(o).hoistableStyles,m=qr(t);s=s||"default";var T=f.get(m);if(!T){var A={loading:0,preload:null};if(T=o.querySelector(Wi(m)))A.loading=5;else{t=S({rel:"stylesheet",href:t,"data-precedence":s},i),(i=Bn.get(m))&&Kd(t,i);var I=T=o.createElement("link");Bt(I),Xt(I,"link",t),I._p=new Promise(function(Q,ae){I.onload=Q,I.onerror=ae}),I.addEventListener("load",function(){A.loading|=1}),I.addEventListener("error",function(){A.loading|=2}),A.loading|=4,Bo(T,s,o)}T={type:"stylesheet",instance:T,count:1,state:A},f.set(m,T)}}}function qT(t,s){Us.X(t,s);var i=Ir;if(i&&t){var o=ir(i).hoistableScripts,f=Ur(t),m=o.get(f);m||(m=i.querySelector(Ji(f)),m||(t=S({src:t,async:!0},s),(s=Bn.get(f))&&Qd(t,s),m=i.createElement("script"),Bt(m),Xt(m,"link",t),i.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},o.set(f,m))}}function UT(t,s){Us.M(t,s);var i=Ir;if(i&&t){var o=ir(i).hoistableScripts,f=Ur(t),m=o.get(f);m||(m=i.querySelector(Ji(f)),m||(t=S({src:t,async:!0,type:"module"},s),(s=Bn.get(f))&&Qd(t,s),m=i.createElement("script"),Bt(m),Xt(m,"link",t),i.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},o.set(f,m))}}function xy(t,s,i,o){var f=(f=oe.current)?Uo(f):null;if(!f)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(s=qr(i.href),i=ir(f).hoistableStyles,o=i.get(s),o||(o={type:"style",instance:null,count:0,state:null},i.set(s,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){t=qr(i.href);var m=ir(f).hoistableStyles,T=m.get(t);if(T||(f=f.ownerDocument||f,T={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},m.set(t,T),(m=f.querySelector(Wi(t)))&&!m._p&&(T.instance=m,T.state.loading=5),Bn.has(t)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},Bn.set(t,i),m||BT(f,t,i,T.state))),s&&o===null)throw Error(l(528,""));return T}if(s&&o!==null)throw Error(l(529,""));return null;case"script":return s=i.async,i=i.src,typeof i=="string"&&s&&typeof s!="function"&&typeof s!="symbol"?(s=Ur(i),i=ir(f).hoistableScripts,o=i.get(s),o||(o={type:"script",instance:null,count:0,state:null},i.set(s,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function qr(t){return'href="'+Dn(t)+'"'}function Wi(t){return'link[rel="stylesheet"]['+t+"]"}function by(t){return S({},t,{"data-precedence":t.precedence,precedence:null})}function BT(t,s,i,o){t.querySelector('link[rel="preload"][as="style"]['+s+"]")?o.loading=1:(s=t.createElement("link"),o.preload=s,s.addEventListener("load",function(){return o.loading|=1}),s.addEventListener("error",function(){return o.loading|=2}),Xt(s,"link",i),Bt(s),t.head.appendChild(s))}function Ur(t){return'[src="'+Dn(t)+'"]'}function Ji(t){return"script[async]"+t}function _y(t,s,i){if(s.count++,s.instance===null)switch(s.type){case"style":var o=t.querySelector('style[data-href~="'+Dn(i.href)+'"]');if(o)return s.instance=o,Bt(o),o;var f=S({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return o=(t.ownerDocument||t).createElement("style"),Bt(o),Xt(o,"style",f),Bo(o,i.precedence,t),s.instance=o;case"stylesheet":f=qr(i.href);var m=t.querySelector(Wi(f));if(m)return s.state.loading|=4,s.instance=m,Bt(m),m;o=by(i),(f=Bn.get(f))&&Kd(o,f),m=(t.ownerDocument||t).createElement("link"),Bt(m);var T=m;return T._p=new Promise(function(A,I){T.onload=A,T.onerror=I}),Xt(m,"link",o),s.state.loading|=4,Bo(m,i.precedence,t),s.instance=m;case"script":return m=Ur(i.src),(f=t.querySelector(Ji(m)))?(s.instance=f,Bt(f),f):(o=i,(f=Bn.get(m))&&(o=S({},i),Qd(o,f)),t=t.ownerDocument||t,f=t.createElement("script"),Bt(f),Xt(f,"link",o),t.head.appendChild(f),s.instance=f);case"void":return null;default:throw Error(l(443,s.type))}else s.type==="stylesheet"&&(s.state.loading&4)===0&&(o=s.instance,s.state.loading|=4,Bo(o,i.precedence,t));return s.instance}function Bo(t,s,i){for(var o=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=o.length?o[o.length-1]:null,m=f,T=0;T<o.length;T++){var A=o[T];if(A.dataset.precedence===s)m=A;else if(m!==f)break}m?m.parentNode.insertBefore(t,m.nextSibling):(s=i.nodeType===9?i.head:i,s.insertBefore(t,s.firstChild))}function Kd(t,s){t.crossOrigin==null&&(t.crossOrigin=s.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=s.referrerPolicy),t.title==null&&(t.title=s.title)}function Qd(t,s){t.crossOrigin==null&&(t.crossOrigin=s.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=s.referrerPolicy),t.integrity==null&&(t.integrity=s.integrity)}var Po=null;function Sy(t,s,i){if(Po===null){var o=new Map,f=Po=new Map;f.set(i,o)}else f=Po,o=f.get(i),o||(o=new Map,f.set(i,o));if(o.has(t))return o;for(o.set(t,null),i=i.getElementsByTagName(t),f=0;f<i.length;f++){var m=i[f];if(!(m[gi]||m[Qe]||t==="link"&&m.getAttribute("rel")==="stylesheet")&&m.namespaceURI!=="http://www.w3.org/2000/svg"){var T=m.getAttribute(s)||"";T=t+T;var A=o.get(T);A?A.push(m):o.set(T,[m])}}return o}function jy(t,s,i){t=t.ownerDocument||t,t.head.insertBefore(i,s==="title"?t.querySelector("head > title"):null)}function PT(t,s,i){if(i===1||s.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof s.precedence!="string"||typeof s.href!="string"||s.href==="")break;return!0;case"link":if(typeof s.rel!="string"||typeof s.href!="string"||s.href===""||s.onLoad||s.onError)break;return s.rel==="stylesheet"?(t=s.disabled,typeof s.precedence=="string"&&t==null):!0;case"script":if(s.async&&typeof s.async!="function"&&typeof s.async!="symbol"&&!s.onLoad&&!s.onError&&s.src&&typeof s.src=="string")return!0}return!1}function Ty(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function $T(t,s,i,o){if(i.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var f=qr(o.href),m=s.querySelector(Wi(f));if(m){s=m._p,s!==null&&typeof s=="object"&&typeof s.then=="function"&&(t.count++,t=$o.bind(t),s.then(t,t)),i.state.loading|=4,i.instance=m,Bt(m);return}m=s.ownerDocument||s,o=by(o),(f=Bn.get(f))&&Kd(o,f),m=m.createElement("link"),Bt(m);var T=m;T._p=new Promise(function(A,I){T.onload=A,T.onerror=I}),Xt(m,"link",o),i.instance=m}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(i,s),(s=i.state.preload)&&(i.state.loading&3)===0&&(t.count++,i=$o.bind(t),s.addEventListener("load",i),s.addEventListener("error",i))}}var Xd=0;function HT(t,s){return t.stylesheets&&t.count===0&&Go(t,t.stylesheets),0<t.count||0<t.imgCount?function(i){var o=setTimeout(function(){if(t.stylesheets&&Go(t,t.stylesheets),t.unsuspend){var m=t.unsuspend;t.unsuspend=null,m()}},6e4+s);0<t.imgBytes&&Xd===0&&(Xd=62500*jT());var f=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Go(t,t.stylesheets),t.unsuspend)){var m=t.unsuspend;t.unsuspend=null,m()}},(t.imgBytes>Xd?50:800)+s);return t.unsuspend=i,function(){t.unsuspend=null,clearTimeout(o),clearTimeout(f)}}:null}function $o(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Go(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Ho=null;function Go(t,s){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Ho=new Map,s.forEach(GT,t),Ho=null,$o.call(t))}function GT(t,s){if(!(s.state.loading&4)){var i=Ho.get(t);if(i)var o=i.get(null);else{i=new Map,Ho.set(t,i);for(var f=t.querySelectorAll("link[data-precedence],style[data-precedence]"),m=0;m<f.length;m++){var T=f[m];(T.nodeName==="LINK"||T.getAttribute("media")!=="not all")&&(i.set(T.dataset.precedence,T),o=T)}o&&i.set(null,o)}f=s.instance,T=f.getAttribute("data-precedence"),m=i.get(T)||o,m===o&&i.set(null,f),i.set(T,f),this.count++,o=$o.bind(this),f.addEventListener("load",o),f.addEventListener("error",o),m?m.parentNode.insertBefore(f,m.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(f,t.firstChild)),s.state.loading|=4}}var el={$$typeof:D,Provider:null,Consumer:null,_currentValue:le,_currentValue2:le,_threadCount:0};function FT(t,s,i,o,f,m,T,A,I){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=be(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=be(0),this.hiddenUpdates=be(null),this.identifierPrefix=o,this.onUncaughtError=f,this.onCaughtError=m,this.onRecoverableError=T,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=I,this.incompleteTransitions=new Map}function wy(t,s,i,o,f,m,T,A,I,Q,ae,ce){return t=new FT(t,s,i,T,I,Q,ae,ce,A),s=1,m===!0&&(s|=24),m=bn(3,null,null,s),t.current=m,m.stateNode=t,s=Nu(),s.refCount++,t.pooledCache=s,s.refCount++,m.memoizedState={element:o,isDehydrated:i,cache:s},zu(m),t}function ky(t){return t?(t=mr,t):mr}function Ey(t,s,i,o,f,m){f=ky(f),o.context===null?o.context=f:o.pendingContext=f,o=sa(s),o.payload={element:i},m=m===void 0?null:m,m!==null&&(o.callback=m),i=aa(t,o,s),i!==null&&(fn(i,t,s),Di(i,t,s))}function Cy(t,s){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var i=t.retryLane;t.retryLane=i!==0&&i<s?i:s}}function Zd(t,s){Cy(t,s),(t=t.alternate)&&Cy(t,s)}function Ny(t){if(t.tag===13||t.tag===31){var s=Da(t,67108864);s!==null&&fn(s,t,67108864),Zd(t,67108864)}}function Ay(t){if(t.tag===13||t.tag===31){var s=wn();s=vt(s);var i=Da(t,s);i!==null&&fn(i,t,s),Zd(t,s)}}var Fo=!0;function VT(t,s,i,o){var f=q.T;q.T=null;var m=Z.p;try{Z.p=2,Wd(t,s,i,o)}finally{Z.p=m,q.T=f}}function YT(t,s,i,o){var f=q.T;q.T=null;var m=Z.p;try{Z.p=8,Wd(t,s,i,o)}finally{Z.p=m,q.T=f}}function Wd(t,s,i,o){if(Fo){var f=Jd(o);if(f===null)qd(t,s,o,Vo,i),Dy(t,o);else if(QT(f,t,s,i,o))o.stopPropagation();else if(Dy(t,o),s&4&&-1<KT.indexOf(t)){for(;f!==null;){var m=rr(f);if(m!==null)switch(m.tag){case 3:if(m=m.stateNode,m.current.memoizedState.isDehydrated){var T=Qn(m.pendingLanes);if(T!==0){var A=m;for(A.pendingLanes|=2,A.entangledLanes|=2;T;){var I=1<<31-Ft(T);A.entanglements[1]|=I,T&=~I}us(m),(Je&6)===0&&(Co=yt()+500,Ki(0))}}break;case 31:case 13:A=Da(m,2),A!==null&&fn(A,m,2),Ao(),Zd(m,2)}if(m=Jd(o),m===null&&qd(t,s,o,Vo,i),m===f)break;f=m}f!==null&&o.stopPropagation()}else qd(t,s,o,null,i)}}function Jd(t){return t=tu(t),eh(t)}var Vo=null;function eh(t){if(Vo=null,t=ar(t),t!==null){var s=u(t);if(s===null)t=null;else{var i=s.tag;if(i===13){if(t=h(s),t!==null)return t;t=null}else if(i===31){if(t=g(s),t!==null)return t;t=null}else if(i===3){if(s.stateNode.current.memoizedState.isDehydrated)return s.tag===3?s.stateNode.containerInfo:null;t=null}else s!==t&&(t=null)}}return Vo=t,null}function Ry(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(xs()){case bs:return 2;case wa:return 8;case Ys:case ui:return 32;case sr:return 268435456;default:return 32}default:return 32}}var th=!1,ga=null,ma=null,ya=null,tl=new Map,nl=new Map,va=[],KT="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 Dy(t,s){switch(t){case"focusin":case"focusout":ga=null;break;case"dragenter":case"dragleave":ma=null;break;case"mouseover":case"mouseout":ya=null;break;case"pointerover":case"pointerout":tl.delete(s.pointerId);break;case"gotpointercapture":case"lostpointercapture":nl.delete(s.pointerId)}}function sl(t,s,i,o,f,m){return t===null||t.nativeEvent!==m?(t={blockedOn:s,domEventName:i,eventSystemFlags:o,nativeEvent:m,targetContainers:[f]},s!==null&&(s=rr(s),s!==null&&Ny(s)),t):(t.eventSystemFlags|=o,s=t.targetContainers,f!==null&&s.indexOf(f)===-1&&s.push(f),t)}function QT(t,s,i,o,f){switch(s){case"focusin":return ga=sl(ga,t,s,i,o,f),!0;case"dragenter":return ma=sl(ma,t,s,i,o,f),!0;case"mouseover":return ya=sl(ya,t,s,i,o,f),!0;case"pointerover":var m=f.pointerId;return tl.set(m,sl(tl.get(m)||null,t,s,i,o,f)),!0;case"gotpointercapture":return m=f.pointerId,nl.set(m,sl(nl.get(m)||null,t,s,i,o,f)),!0}return!1}function zy(t){var s=ar(t.target);if(s!==null){var i=u(s);if(i!==null){if(s=i.tag,s===13){if(s=h(i),s!==null){t.blockedOn=s,Ea(t.priority,function(){Ay(i)});return}}else if(s===31){if(s=g(i),s!==null){t.blockedOn=s,Ea(t.priority,function(){Ay(i)});return}}else if(s===3&&i.stateNode.current.memoizedState.isDehydrated){t.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Yo(t){if(t.blockedOn!==null)return!1;for(var s=t.targetContainers;0<s.length;){var i=Jd(t.nativeEvent);if(i===null){i=t.nativeEvent;var o=new i.constructor(i.type,i);eu=o,i.target.dispatchEvent(o),eu=null}else return s=rr(i),s!==null&&Ny(s),t.blockedOn=i,!1;s.shift()}return!0}function Oy(t,s,i){Yo(t)&&i.delete(s)}function XT(){th=!1,ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),ya!==null&&Yo(ya)&&(ya=null),tl.forEach(Oy),nl.forEach(Oy)}function Ko(t,s){t.blockedOn===s&&(t.blockedOn=null,th||(th=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,XT)))}var Qo=null;function Ly(t){Qo!==t&&(Qo=t,n.unstable_scheduleCallback(n.unstable_NormalPriority,function(){Qo===t&&(Qo=null);for(var s=0;s<t.length;s+=3){var i=t[s],o=t[s+1],f=t[s+2];if(typeof o!="function"){if(eh(o||i)===null)continue;break}var m=rr(i);m!==null&&(t.splice(s,3),s-=3,Ju(m,{pending:!0,data:f,method:i.method,action:o},o,f))}}))}function Br(t){function s(I){return Ko(I,t)}ga!==null&&Ko(ga,t),ma!==null&&Ko(ma,t),ya!==null&&Ko(ya,t),tl.forEach(s),nl.forEach(s);for(var i=0;i<va.length;i++){var o=va[i];o.blockedOn===t&&(o.blockedOn=null)}for(;0<va.length&&(i=va[0],i.blockedOn===null);)zy(i),i.blockedOn===null&&va.shift();if(i=(t.ownerDocument||t).$$reactFormReplay,i!=null)for(o=0;o<i.length;o+=3){var f=i[o],m=i[o+1],T=f[Vt]||null;if(typeof m=="function")T||Ly(i);else if(T){var A=null;if(m&&m.hasAttribute("formAction")){if(f=m,T=m[Vt]||null)A=T.formAction;else if(eh(f)!==null)continue}else A=T.action;typeof A=="function"?i[o+1]=A:(i.splice(o,3),o-=3),Ly(i)}}}function My(){function t(m){m.canIntercept&&m.info==="react-transition"&&m.intercept({handler:function(){return new Promise(function(T){return f=T})},focusReset:"manual",scroll:"manual"})}function s(){f!==null&&(f(),f=null),o||setTimeout(i,20)}function i(){if(!o&&!navigation.transition){var m=navigation.currentEntry;m&&m.url!=null&&navigation.navigate(m.url,{state:m.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var o=!1,f=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",s),navigation.addEventListener("navigateerror",s),setTimeout(i,100),function(){o=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",s),navigation.removeEventListener("navigateerror",s),f!==null&&(f(),f=null)}}}function nh(t){this._internalRoot=t}Xo.prototype.render=nh.prototype.render=function(t){var s=this._internalRoot;if(s===null)throw Error(l(409));var i=s.current,o=wn();Ey(i,o,t,s,null,null)},Xo.prototype.unmount=nh.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var s=t.containerInfo;Ey(t.current,2,null,t,null,null),Ao(),s[Xs]=null}};function Xo(t){this._internalRoot=t}Xo.prototype.unstable_scheduleHydration=function(t){if(t){var s=ka();t={blockedOn:null,target:t,priority:s};for(var i=0;i<va.length&&s!==0&&s<va[i].priority;i++);va.splice(i,0,t),i===0&&zy(t)}};var Iy=e.version;if(Iy!=="19.2.5")throw Error(l(527,Iy,"19.2.5"));Z.findDOMNode=function(t){var s=t._reactInternals;if(s===void 0)throw typeof t.render=="function"?Error(l(188)):(t=Object.keys(t).join(","),Error(l(268,t)));return t=y(s),t=t!==null?v(t):null,t=t===null?null:t.stateNode,t};var ZT={bundleType:0,version:"19.2.5",rendererPackageName:"react-dom",currentDispatcherRef:q,reconcilerVersion:"19.2.5"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Zo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Zo.isDisabled&&Zo.supportsFiber)try{_s=Zo.inject(ZT),Gt=Zo}catch{}}return rl.createRoot=function(t,s){if(!c(t))throw Error(l(299));var i=!1,o="",f=Gg,m=Fg,T=Vg;return s!=null&&(s.unstable_strictMode===!0&&(i=!0),s.identifierPrefix!==void 0&&(o=s.identifierPrefix),s.onUncaughtError!==void 0&&(f=s.onUncaughtError),s.onCaughtError!==void 0&&(m=s.onCaughtError),s.onRecoverableError!==void 0&&(T=s.onRecoverableError)),s=wy(t,1,!1,null,null,i,o,null,f,m,T,My),t[Xs]=s.current,Id(t),new nh(s)},rl.hydrateRoot=function(t,s,i){if(!c(t))throw Error(l(299));var o=!1,f="",m=Gg,T=Fg,A=Vg,I=null;return i!=null&&(i.unstable_strictMode===!0&&(o=!0),i.identifierPrefix!==void 0&&(f=i.identifierPrefix),i.onUncaughtError!==void 0&&(m=i.onUncaughtError),i.onCaughtError!==void 0&&(T=i.onCaughtError),i.onRecoverableError!==void 0&&(A=i.onRecoverableError),i.formState!==void 0&&(I=i.formState)),s=wy(t,1,!0,s,i??null,o,f,I,m,T,A,My),s.context=ky(null),i=s.current,o=wn(),o=vt(o),f=sa(o),f.callback=null,aa(i,f,o),i=o,s.current.lanes=i,Ue(s,i),us(s),t[Xs]=s.current,Id(t),new Xo(s)},rl.version="19.2.5",rl}var Yy;function lw(){if(Yy)return rh.exports;Yy=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),rh.exports=iw(),rh.exports}var ow=lw();const cw=lf(ow);var cf=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,nb=/^[\\/]{2}/;function uw(n,e){return e+n.replace(/\\/g,"/")}var Ky="popstate";function Qy(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function dw(n={}){function e(l,c){let u=c.state?.masked,{pathname:h,search:g,hash:p}=u||l.location;return Bh("",{pathname:h,search:g,hash:p},c.state&&c.state.usr||null,c.state&&c.state.key||"default",u?{pathname:l.location.pathname,search:l.location.search,hash:l.location.hash}:void 0)}function r(l,c){return typeof c=="string"?c:Xa(c)}return fw(e,r,null,n)}function mt(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Fn(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function hw(){return Math.random().toString(36).substring(2,10)}function Xy(n,e){return{usr:n.state,key:n.key,idx:e,masked:n.mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function Bh(n,e,r=null,l,c){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?ti(e):e,state:r,key:e&&e.key||l||hw(),mask:c}}function Xa({pathname:n="/",search:e="",hash:r=""}){return e&&e!=="?"&&(n+=e.charAt(0)==="?"?e:"?"+e),r&&r!=="#"&&(n+=r.charAt(0)==="#"?r:"#"+r),n}function ti(n){let e={};if(n){let r=n.indexOf("#");r>=0&&(e.hash=n.substring(r),n=n.substring(0,r));let l=n.indexOf("?");l>=0&&(e.search=n.substring(l),n=n.substring(0,l)),n&&(e.pathname=n)}return e}function fw(n,e,r,l={}){let{window:c=document.defaultView,v5Compat:u=!1}=l,h=c.history,g="POP",p=null,y=v();y==null&&(y=0,h.replaceState({...h.state,idx:y},""));function v(){return(h.state||{idx:null}).idx}function S(){g="POP";let w=v(),E=w==null?null:w-y;y=w,p&&p({action:g,location:j.location,delta:E})}function x(w,E){g="PUSH";let z=Qy(w)?w:Bh(j.location,w,E);y=v()+1;let D=Xy(z,y),O=j.createHref(z.mask||z);try{h.pushState(D,"",O)}catch(R){if(R instanceof DOMException&&R.name==="DataCloneError")throw R;c.location.assign(O)}u&&p&&p({action:g,location:j.location,delta:1})}function _(w,E){g="REPLACE";let z=Qy(w)?w:Bh(j.location,w,E);y=v();let D=Xy(z,y),O=j.createHref(z.mask||z);h.replaceState(D,"",O),u&&p&&p({action:g,location:j.location,delta:0})}function k(w){return pw(c,w)}let j={get action(){return g},get location(){return n(c,h)},listen(w){if(p)throw new Error("A history only accepts one active listener");return c.addEventListener(Ky,S),p=w,()=>{c.removeEventListener(Ky,S),p=null}},createHref(w){return e(c,w)},createURL:k,encodeLocation(w){let E=k(w);return{pathname:E.pathname,search:E.search,hash:E.hash}},push:x,replace:_,go(w){return h.go(w)}};return j}function pw(n,e,r=!1){let l="http://localhost";n&&(l=n.location.origin!=="null"?n.location.origin:n.location.href),mt(l,"No window.location.(origin|href) available to create URL");let c=typeof e=="string"?e:Xa(e);return c=c.replace(/ $/,"%20"),!r&&nb.test(c)&&(c=l+c),new URL(c,l)}function sb(n,e,r="/"){return gw(n,e,r,!1)}function gw(n,e,r,l,c){let u=typeof e=="string"?ti(e):e,h=$s(u.pathname||"/",r);if(h==null)return null;let g=mw(n),p=null,y=Ew(h);for(let v=0;p==null&&v<g.length;++v)p=kw(g[v],y,l);return p}function mw(n){let e=ab(n);return yw(e),e}function ab(n,e=[],r=[],l="",c=!1){let u=(h,g,p=c,y)=>{let v={relativePath:y===void 0?h.path||"":y,caseSensitive:h.caseSensitive===!0,childrenIndex:g,route:h};if(v.relativePath.startsWith("/")){if(!v.relativePath.startsWith(l)&&p)return;mt(v.relativePath.startsWith(l),`Absolute route path "${v.relativePath}" nested under path "${l}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),v.relativePath=v.relativePath.slice(l.length)}let S=ns([l,v.relativePath]),x=r.concat(v);h.children&&h.children.length>0&&(mt(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${S}".`),ab(h.children,e,x,S,p)),!(h.path==null&&!h.index)&&e.push({path:S,score:Tw(S,h.index),routesMeta:x.map((_,k)=>{let[j,w]=lb(_.relativePath,_.caseSensitive,k===x.length-1);return{..._,matcher:j,compiledParams:w}})})};return n.forEach((h,g)=>{if(h.path===""||!h.path?.includes("?"))u(h,g);else for(let p of rb(h.path))u(h,g,!0,p)}),e}function rb(n){let e=n.split("/");if(e.length===0)return[];let[r,...l]=e,c=r.endsWith("?"),u=r.replace(/\?$/,"");if(l.length===0)return c?[u,""]:[u];let h=rb(l.join("/")),g=[];return g.push(...h.map(p=>p===""?u:[u,p].join("/"))),c&&g.push(...h),g.map(p=>n.startsWith("/")&&p===""?"/":p)}function yw(n){n.sort((e,r)=>e.score!==r.score?r.score-e.score:ww(e.routesMeta.map(l=>l.childrenIndex),r.routesMeta.map(l=>l.childrenIndex)))}var vw=/^:[\w-]+$/,xw=3,bw=2,_w=1,Sw=10,jw=-2,Zy=n=>n==="*";function Tw(n,e){let r=n.split("/"),l=r.length;return r.some(Zy)&&(l+=jw),e&&(l+=bw),r.filter(c=>!Zy(c)).reduce((c,u)=>c+(vw.test(u)?xw:u===""?_w:Sw),l)}function ww(n,e){return n.length===e.length&&n.slice(0,-1).every((l,c)=>l===e[c])?n[n.length-1]-e[e.length-1]:0}function kw(n,e,r=!1){let{routesMeta:l}=n,c={},u="/",h=[];for(let g=0;g<l.length;++g){let p=l[g],y=g===l.length-1,v=u==="/"?e:e.slice(u.length)||"/",S={path:p.relativePath,caseSensitive:p.caseSensitive,end:y},x=p.matcher&&p.compiledParams?ib(S,v,p.matcher,p.compiledParams):Ec(S,v),_=p.route;if(!x&&y&&r&&!l[l.length-1].route.index&&(x=Ec({path:p.relativePath,caseSensitive:p.caseSensitive,end:!1},v)),!x)return null;Object.assign(c,x.params),h.push({params:c,pathname:ns([u,x.pathname]),pathnameBase:Aw(ns([u,x.pathnameBase])),route:_}),x.pathnameBase!=="/"&&(u=ns([u,x.pathnameBase]))}return h}function Ec(n,e){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[r,l]=lb(n.path,n.caseSensitive,n.end);return ib(n,e,r,l)}function ib(n,e,r,l){let c=e.match(r);if(!c)return null;let u=c[0],h=Wr(u,1),g=c.slice(1);return{params:l.reduce((y,{paramName:v,isOptional:S},x)=>{if(v==="*"){let k=g[x]||"";h=Wr(u.slice(0,u.length-k.length),1)}const _=g[x];return S&&!_?y[v]=void 0:y[v]=(_||"").replace(/%2F/g,"/"),y},{}),pathname:u,pathnameBase:h,pattern:n}}function lb(n,e=!1,r=!0){Fn(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let l=[],c="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,g,p,y,v)=>{if(l.push({paramName:g,isOptional:p!=null}),p){let S=v.charAt(y+h.length);return S&&S!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(l.push({paramName:"*"}),c+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?c+="\\/*$":n!==""&&n!=="/"&&(c+="(?:(?=\\/|$))"),[new RegExp(c,e?void 0:"i"),l]}function Ew(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Fn(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),n}}function $s(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let r=e.endsWith("/")?e.length-1:e.length,l=n.charAt(r);return l&&l!=="/"?null:n.slice(r)||"/"}function Cw(n,e="/"){let{pathname:r,search:l="",hash:c=""}=typeof n=="string"?ti(n):n,u;return r?(r=ob(r),r.startsWith("/")||r.startsWith("\\")?u=Wy(r.substring(1),"/"):u=Wy(r,e)):u=e,{pathname:u,search:Rw(l),hash:Dw(c)}}function Wy(n,e){let r=Wr(e).split("/");return n.split("/").forEach(c=>{c===".."?r.length>1&&r.pop():c!=="."&&r.push(c)}),r.length>1?r.join("/"):"/"}function ch(n,e,r,l){return`Cannot include a '${n}' character in a manually specified \`to.${e}\` field [${JSON.stringify(l)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Nw(n){return n.filter((e,r)=>r===0||e.route.path&&e.route.path.length>0)}function uf(n){let e=Nw(n);return e.map((r,l)=>l===e.length-1?r.pathname:r.pathnameBase)}function Lc(n,e,r,l=!1){let c;typeof n=="string"?c=ti(n):(c={...n},mt(!c.pathname||!c.pathname.includes("?"),ch("?","pathname","search",c)),mt(!c.pathname||!c.pathname.includes("#"),ch("#","pathname","hash",c)),mt(!c.search||!c.search.includes("#"),ch("#","search","hash",c)));let u=n===""||c.pathname==="",h=u?"/":c.pathname,g;if(h==null)g=r;else{let S=e.length-1;if(!l&&h.startsWith("..")){let x=h.split("/");for(;x[0]==="..";)x.shift(),S-=1;c.pathname=x.join("/")}g=S>=0?e[S]:"/"}let p=Cw(c,g),y=h&&h!=="/"&&h.endsWith("/"),v=(u||h===".")&&r.endsWith("/");return!p.pathname.endsWith("/")&&(y||v)&&(p.pathname+="/"),p}var ob=n=>n.replace(/[\\/]{2,}/g,"/"),ns=n=>ob(n.join("/"));function Wr(n,e=0){let r=n.length;for(;r>e&&n.charCodeAt(r-1)===47;)r--;return r===n.length?n:n.slice(0,r)}var Aw=n=>Wr(n).replace(/^\/*/,"/"),Rw=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,Dw=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,zw=class{constructor(n,e,r,l=!1){this.status=n,this.statusText=e||"",this.internal=l,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function Ow(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Lw(n){let e=n.map(r=>r.route.path).filter(Boolean);return ns(e)||"/"}var cb=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ub(n,e){let r=n;if(typeof r!="string"||!cf.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let l=r,c=!1;if(cb)try{let u=new URL(window.location.href),h=nb.test(r)?new URL(uw(r,u.protocol)):new URL(r),g=$s(h.pathname,e);h.origin===u.origin&&g!=null?r=g+h.search+h.hash:c=!0}catch{Fn(!1,`<Link to="${r}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:l,isExternal:c,to:r}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Jy=new URL("http://localhost");function df(n){if(n.createURL)return n.createURL("/");try{return new URL(n.createHref("/"),Jy)}catch{return Jy}}function uh(n,e){return n.origin===e.origin&&(n.origin!=="null"||n.protocol===e.protocol&&n.host===e.host)}function Mw(n,e){if(n.startsWith("//"))return!0;let r=e.protocol.toLowerCase();return n.toLowerCase().startsWith(r)?e.host===""||n.slice(r.length).startsWith("//"):!1}function hf(n,e,r,l){let c=null;try{c=n==null?null:new URL(n,r)}catch{}let u=new URL(e,r),h=c!=null&&!uh(c,r),g=!uh(u,r);if(l==="reject"){if(h||g)throw new Error("External navigation is not allowed")}else if(g&&(c==null||!Mw(n,c)||!uh(c,u)))throw new Error("External navigation is not allowed")}var db=["POST","PUT","PATCH","DELETE"];new Set(db);var Iw=["GET",...db];new Set(Iw);var qw=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Uw(n){try{return qw.includes(new URL(n).protocol)}catch{return!1}}var ni=d.createContext(null);ni.displayName="DataRouter";var Mc=d.createContext(null);Mc.displayName="DataRouterState";var hb=d.createContext(!1);function Bw(){return d.useContext(hb)}var fb=d.createContext({isTransitioning:!1});fb.displayName="ViewTransition";var Pw=d.createContext(new Map);Pw.displayName="Fetchers";var $w=d.createContext(null);$w.displayName="Await";var En=d.createContext(null);En.displayName="Navigation";var Nl=d.createContext(null);Nl.displayName="Location";var Vn=d.createContext({outlet:null,matches:[],isDataRoute:!1});Vn.displayName="Route";var ff=d.createContext(null);ff.displayName="RouteError";var pb="REACT_ROUTER_ERROR",Hw="REDIRECT",Gw="ROUTE_ERROR_RESPONSE";function Fw(n){if(n.startsWith(`${pb}:${Hw}:{`))try{let e=JSON.parse(n.slice(28));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.location=="string"&&typeof e.reloadDocument=="boolean"&&typeof e.replace=="boolean")return e}catch{}}function Vw(n){if(n.startsWith(`${pb}:${Gw}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new zw(e.status,e.statusText,e.data)}catch{}}function Yw(n,{relative:e}={}){mt(si(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:l}=d.useContext(En),{hash:c,pathname:u,search:h}=Al(n,{relative:e}),g=u;return r!=="/"&&(g=u==="/"?r:ns([r,u])),l.createHref({pathname:g,search:h,hash:c})}function si(){return d.useContext(Nl)!=null}function It(){return mt(si(),"useLocation() may be used only in the context of a <Router> component."),d.useContext(Nl).location}var gb="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function mb(n){d.useContext(En).static||d.useLayoutEffect(n)}function ze(){let{isDataRoute:n}=d.useContext(Vn);return n?ok():Kw()}function Kw(){mt(si(),"useNavigate() may be used only in the context of a <Router> component.");let n=d.useContext(ni),{basename:e,navigator:r}=d.useContext(En),{matches:l}=d.useContext(Vn),{pathname:c}=It(),u=JSON.stringify(uf(l)),h=d.useRef(!1);return mb(()=>{h.current=!0}),d.useCallback((p,y={})=>{if(Fn(h.current,gb),!h.current)return;if(typeof p=="number"){r.go(p);return}let v=Lc(p,JSON.parse(u),c,y.relative==="path");n==null&&e!=="/"&&(v.pathname=v.pathname==="/"?e:ns([e,v.pathname])),hf(typeof p=="string"?p:Xa(p),r.createHref(v),df(r),"reject"),(y.replace?r.replace:r.push)(v,y.state,y)},[e,r,u,c,n])}var Qw=d.createContext(null);function Xw(n){let e=d.useContext(Vn).outlet;return d.useMemo(()=>e&&d.createElement(Qw.Provider,{value:n},e),[e,n])}function nn(){let{matches:n}=d.useContext(Vn);return n[n.length-1]?.params??{}}function Al(n,{relative:e}={}){let{matches:r}=d.useContext(Vn),{pathname:l}=It(),c=JSON.stringify(uf(r));return d.useMemo(()=>Lc(n,JSON.parse(c),l,e==="path"),[n,c,l,e])}function Zw(n,e){return yb(n,e)}function yb(n,e,r){mt(si(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:l}=d.useContext(En),{matches:c}=d.useContext(Vn),u=c[c.length-1],h=u?u.params:{},g=u?u.pathname:"/",p=u?u.pathnameBase:"/",y=u&&u.route;{let w=y&&y.path||"";xb(g,!y||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${g}" (under <Route path="${w}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
10
|
+
|
|
11
|
+
Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let v=It(),S;if(e){let w=typeof e=="string"?ti(e):e;mt(p==="/"||w.pathname?.startsWith(p),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${w.pathname}" was given in the \`location\` prop.`),S=w}else S=v;let x=S.pathname||"/",_=x;if(p!=="/"){let w=p.replace(/^\//,"").split("/");_="/"+x.replace(/^\//,"").split("/").slice(w.length).join("/")}let k=r&&r.state.matches.length?r.state.matches.map(w=>Object.assign(w,{route:r.manifest[w.route.id]||w.route})):sb(n,{pathname:_});Fn(y||k!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),Fn(k==null||k[k.length-1].route.element!==void 0||k[k.length-1].route.Component!==void 0||k[k.length-1].route.lazy!==void 0,`Matched leaf route at location "${S.pathname}${S.search}${S.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let j=nk(k&&k.map(w=>Object.assign({},w,{params:Object.assign({},h,w.params),pathname:ns([p,l.encodeLocation?l.encodeLocation(w.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?p:ns([p,l.encodeLocation?l.encodeLocation(w.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),c,r);return e&&j?d.createElement(Nl.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...S},navigationType:"POP"}},j):j}function Ww(){let n=lk(),e=Ow(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),r=n instanceof Error?n.stack:null,l="rgba(200,200,200, 0.5)",c={padding:"0.5rem",backgroundColor:l},u={padding:"2px 4px",backgroundColor:l},h=null;return console.error("Error handled by React Router default ErrorBoundary:",n),h=d.createElement(d.Fragment,null,d.createElement("p",null,"💿 Hey developer 👋"),d.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",d.createElement("code",{style:u},"ErrorBoundary")," or"," ",d.createElement("code",{style:u},"errorElement")," prop on your route.")),d.createElement(d.Fragment,null,d.createElement("h2",null,"Unexpected Application Error!"),d.createElement("h3",{style:{fontStyle:"italic"}},e),r?d.createElement("pre",{style:c},r):null,h)}var Jw=d.createElement(Ww,null),vb=class extends d.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,e){return e.location!==n.location||e.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:e.error,location:e.location,revalidation:n.revalidation||e.revalidation}}componentDidCatch(n,e){this.props.onError?this.props.onError(n,e):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const r=Vw(n.digest);r&&(n=r)}let e=n!==void 0?d.createElement(Vn.Provider,{value:this.props.routeContext},d.createElement(ff.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?d.createElement(ek,{error:n},e):e}};vb.contextType=hb;var dh=new WeakMap;function ek({children:n,error:e}){let{basename:r,navigator:l}=d.useContext(En);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let c=Fw(e.digest);if(c){let u=dh.get(e);if(u)throw u;let h=ub(c.location,r),g=h.absoluteURL||h.to;if(hf(c.location,g,df(l),"allow-explicit"),Uw(g))throw new Error("Invalid redirect location");if(cb&&!dh.get(e))if(h.isExternal||c.reloadDocument)window.location.href=g;else{const p=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(h.to,{replace:c.replace}));throw dh.set(e,p),p}return d.createElement("meta",{httpEquiv:"refresh",content:`0;url=${g}`})}}return n}function tk({routeContext:n,match:e,children:r}){let l=d.useContext(ni);return l&&l.static&&l.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=e.route.id),d.createElement(Vn.Provider,{value:n},r)}function nk(n,e=[],r){let l=r?.state;if(n==null){if(!l)return null;if(l.errors)n=l.matches;else if(e.length===0&&!l.initialized&&l.matches.length>0)n=l.matches;else return null}let c=n,u=l?.errors;if(u!=null){let v=c.findIndex(S=>S.route.id&&u?.[S.route.id]!==void 0);mt(v>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),c=c.slice(0,Math.min(c.length,v+1))}let h=!1,g=-1;if(r&&l){h=l.renderFallback;for(let v=0;v<c.length;v++){let S=c[v];if((S.route.HydrateFallback||S.route.hydrateFallbackElement)&&(g=v),S.route.id){let{loaderData:x,errors:_}=l,k=S.route.loader&&!x.hasOwnProperty(S.route.id)&&(!_||_[S.route.id]===void 0);if(S.route.lazy||k){r.isStatic&&(h=!0),g>=0?c=c.slice(0,g+1):c=[c[0]];break}}}}let p=r?.onError,y=l&&p?(v,S)=>{p(v,{location:l.location,params:l.matches?.[0]?.params??{},pattern:Lw(l.matches),errorInfo:S})}:void 0;return c.reduceRight((v,S,x)=>{let _,k=!1,j=null,w=null;l&&(_=u&&S.route.id?u[S.route.id]:void 0,j=S.route.errorElement||Jw,h&&(g<0&&x===0?(xb("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),k=!0,w=null):g===x&&(k=!0,w=S.route.hydrateFallbackElement||null)));let E=e.concat(c.slice(0,x+1)),z=()=>{let D;return _?D=j:k?D=w:S.route.Component?D=d.createElement(S.route.Component,null):S.route.element?D=S.route.element:D=v,d.createElement(tk,{match:S,routeContext:{outlet:v,matches:E,isDataRoute:l!=null},children:D})};return l&&(S.route.ErrorBoundary||S.route.errorElement||x===0)?d.createElement(vb,{location:l.location,revalidation:l.revalidation,component:j,error:_,children:z(),routeContext:{outlet:null,matches:E,isDataRoute:!0},onError:y}):z()},null)}function pf(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function sk(n){let e=d.useContext(ni);return mt(e,pf(n)),e}function ak(n){let e=d.useContext(Mc);return mt(e,pf(n)),e}function rk(n){let e=d.useContext(Vn);return mt(e,pf(n)),e}function gf(n){let e=rk(n),r=e.matches[e.matches.length-1];return mt(r.route.id,`${n} can only be used on routes that contain a unique "id"`),r.route.id}function ik(){return gf("useRouteId")}function lk(){let n=d.useContext(ff),e=ak("useRouteError"),r=gf("useRouteError");return n!==void 0?n:e.errors?.[r]}function ok(){let{router:n}=sk("useNavigate"),e=gf("useNavigate"),r=d.useRef(!1);return mb(()=>{r.current=!0}),d.useCallback(async(c,u={})=>{Fn(r.current,gb),r.current&&(typeof c=="number"?await n.navigate(c):await n.navigate(c,{fromRouteId:e,...u}))},[n,e])}var ev={};function xb(n,e,r){!e&&!ev[n]&&(ev[n]=!0,Fn(!1,r))}d.memo(ck);function ck({routes:n,manifest:e,future:r,state:l,isStatic:c,onError:u}){return yb(n,void 0,{manifest:e,state:l,isStatic:c,onError:u})}function Hs({to:n,replace:e,state:r,relative:l}){mt(si(),"<Navigate> may be used only in the context of a <Router> component.");let{static:c,navigator:u}=d.useContext(En);Fn(!c,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:h}=d.useContext(Vn),{pathname:g}=It(),p=ze(),y=Lc(n,uf(h),g,l==="path");hf(typeof n=="string"?n:Xa(n),u.createHref(y),df(u),"reject");let v=JSON.stringify(y);return d.useEffect(()=>{p(JSON.parse(v),{replace:e,state:r,relative:l})},[p,v,l,e,r]),null}function Wt(n){return Xw(n.context)}function we(n){mt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function uk({basename:n="/",children:e=null,location:r,navigationType:l="POP",navigator:c,static:u=!1,useTransitions:h}){mt(!si(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let g=n.replace(/^\/*/,"/"),p=d.useMemo(()=>({basename:g,navigator:c,static:u,useTransitions:h,future:{}}),[g,c,u,h]);typeof r=="string"&&(r=ti(r));let{pathname:y="/",search:v="",hash:S="",state:x=null,key:_="default",mask:k}=r,j=d.useMemo(()=>{let w=$s(y,g);return w==null?null:{location:{pathname:w,search:v,hash:S,state:x,key:_,mask:k},navigationType:l}},[g,y,v,S,x,_,l,k]);return Fn(j!=null,`<Router basename="${g}"> is not able to match the URL "${y}${v}${S}" because it does not start with the basename, so the <Router> won't render anything.`),j==null?null:d.createElement(En.Provider,{value:p},d.createElement(Nl.Provider,{children:e,value:j}))}function ys({children:n,location:e}){return Zw(Ph(n),e)}function Ph(n,e=[]){let r=[];return d.Children.forEach(n,(l,c)=>{if(!d.isValidElement(l))return;let u=[...e,c];if(l.type===d.Fragment){r.push.apply(r,Ph(l.props.children,u));return}mt(l.type===we,`[${typeof l.type=="string"?l.type:l.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),mt(!l.props.index||!l.props.children,"An index route cannot have child routes.");let h={id:l.props.id||u.join("-"),caseSensitive:l.props.caseSensitive,element:l.props.element,Component:l.props.Component,index:l.props.index,path:l.props.path,middleware:l.props.middleware,loader:l.props.loader,action:l.props.action,hydrateFallbackElement:l.props.hydrateFallbackElement,HydrateFallback:l.props.HydrateFallback,errorElement:l.props.errorElement,ErrorBoundary:l.props.ErrorBoundary,hasErrorBoundary:l.props.hasErrorBoundary===!0||l.props.ErrorBoundary!=null||l.props.errorElement!=null,shouldRevalidate:l.props.shouldRevalidate,handle:l.props.handle,lazy:l.props.lazy};l.props.children&&(h.children=Ph(l.props.children,u)),r.push(h)}),r}var mc="get",yc="application/x-www-form-urlencoded";function Ic(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function dk(n){return Ic(n)&&n.tagName.toLowerCase()==="button"}function hk(n){return Ic(n)&&n.tagName.toLowerCase()==="form"}function fk(n){return Ic(n)&&n.tagName.toLowerCase()==="input"}function pk(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function gk(n,e){return n.button===0&&(!e||e==="_self")&&!pk(n)}function $h(n=""){return new URLSearchParams(typeof n=="string"||Array.isArray(n)||n instanceof URLSearchParams?n:Object.keys(n).reduce((e,r)=>{let l=n[r];return e.concat(Array.isArray(l)?l.map(c=>[r,c]):[[r,l]])},[]))}function mk(n,e){let r=$h(n);return e&&e.forEach((l,c)=>{r.has(c)||e.getAll(c).forEach(u=>{r.append(c,u)})}),r}var Wo=null;function yk(){if(Wo===null)try{new FormData(document.createElement("form"),0),Wo=!1}catch{Wo=!0}return Wo}var vk=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function hh(n){return n!=null&&!vk.has(n)?(Fn(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${yc}"`),null):n}function xk(n,e){let r,l,c,u,h;if(hk(n)){let g=n.getAttribute("action");l=g?$s(g,e):null,r=n.getAttribute("method")||mc,c=hh(n.getAttribute("enctype"))||yc,u=new FormData(n)}else if(dk(n)||fk(n)&&(n.type==="submit"||n.type==="image")){let g=n.form;if(g==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let p=n.getAttribute("formaction")||g.getAttribute("action");if(l=p?$s(p,e):null,r=n.getAttribute("formmethod")||g.getAttribute("method")||mc,c=hh(n.getAttribute("formenctype"))||hh(g.getAttribute("enctype"))||yc,u=new FormData(g,n),!yk()){let{name:y,type:v,value:S}=n;if(v==="image"){let x=y?`${y}.`:"";u.append(`${x}x`,"0"),u.append(`${x}y`,"0")}else y&&u.append(y,S)}}else{if(Ic(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=mc,l=null,c=yc,h=n}return u&&c==="text/plain"&&(h=u,u=void 0),{action:l,method:r.toLowerCase(),encType:c,formData:u,body:h}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function mf(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function bb(n,e,r,l){let c=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return r?c.pathname.endsWith("/")?c.pathname=`${c.pathname}_.${l}`:c.pathname=`${c.pathname}.${l}`:c.pathname==="/"?c.pathname=`_root.${l}`:e&&$s(c.pathname,e)==="/"?c.pathname=`${Wr(e)}/_root.${l}`:c.pathname=`${Wr(c.pathname)}.${l}`,c}async function bk(n,e){if(n.id in e)return e[n.id];try{let r=await import(n.module);return e[n.id]=r,r}catch(r){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(r),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function _k(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function Sk(n,e,r){let l=await Promise.all(n.map(async c=>{let u=e.routes[c.route.id];if(u){let h=await bk(u,r);return h.links?h.links():[]}return[]}));return kk(l.flat(1).filter(_k).filter(c=>c.rel==="stylesheet"||c.rel==="preload").map(c=>c.rel==="stylesheet"?{...c,rel:"prefetch",as:"style"}:{...c,rel:"prefetch"}))}function tv(n,e,r,l,c,u){let h=(p,y)=>r[y]?p.route.id!==r[y].route.id:!0,g=(p,y)=>r[y].pathname!==p.pathname||r[y].route.path?.endsWith("*")&&r[y].params["*"]!==p.params["*"];return u==="assets"?e.filter((p,y)=>h(p,y)||g(p,y)):u==="data"?e.filter((p,y)=>{let v=l.routes[p.route.id];if(!v||!v.hasLoader)return!1;if(h(p,y)||g(p,y))return!0;if(p.route.shouldRevalidate){let S=p.route.shouldRevalidate({currentUrl:new URL(c.pathname+c.search+c.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(n,window.origin),nextParams:p.params,defaultShouldRevalidate:!0});if(typeof S=="boolean")return S}return!0}):[]}function jk(n,e,{includeHydrateFallback:r}={}){return Tk(n.map(l=>{let c=e.routes[l.route.id];if(!c)return[];let u=[c.module];return c.clientActionModule&&(u=u.concat(c.clientActionModule)),c.clientLoaderModule&&(u=u.concat(c.clientLoaderModule)),r&&c.hydrateFallbackModule&&(u=u.concat(c.hydrateFallbackModule)),c.imports&&(u=u.concat(c.imports)),u}).flat(1))}function Tk(n){return[...new Set(n)]}function wk(n){let e={},r=Object.keys(n).sort();for(let l of r)e[l]=n[l];return e}function kk(n,e){let r=new Set;return new Set(e),n.reduce((l,c)=>{let u=JSON.stringify(wk(c));return r.has(u)||(r.add(u),l.push({key:u,link:c})),l},[])}function yf(){let n=d.useContext(ni);return mf(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function Ek(){let n=d.useContext(Mc);return mf(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var vf=d.createContext(void 0);vf.displayName="FrameworkContext";function qc(){let n=d.useContext(vf);return mf(n,"You must render this element inside a <HydratedRouter> element"),n}function Ck(n,e){let r=d.useContext(vf),[l,c]=d.useState(!1),[u,h]=d.useState(!1),{onFocus:g,onBlur:p,onMouseEnter:y,onMouseLeave:v,onTouchStart:S}=e,x=d.useRef(null);d.useEffect(()=>{if(n==="render"&&h(!0),n==="viewport"){let j=E=>{E.forEach(z=>{h(z.isIntersecting)})},w=new IntersectionObserver(j,{threshold:.5});return x.current&&w.observe(x.current),()=>{w.disconnect()}}},[n]),d.useEffect(()=>{if(l){let j=setTimeout(()=>{h(!0)},100);return()=>{clearTimeout(j)}}},[l]);let _=()=>{c(!0)},k=()=>{c(!1),h(!1)};return r?n!=="intent"?[u,x,{}]:[u,x,{onFocus:il(g,_),onBlur:il(p,k),onMouseEnter:il(y,_),onMouseLeave:il(v,k),onTouchStart:il(S,_)}]:[!1,x,{}]}function il(n,e){return r=>{n&&n(r),r.defaultPrevented||e(r)}}function Nk({page:n,...e}){let r=Bw(),{nonce:l}=qc(),{router:c}=yf(),u=d.useMemo(()=>sb(c.routes,n,c.basename),[c.routes,n,c.basename]);return u?(e.nonce==null&&l&&(e={...e,nonce:l}),r?d.createElement(Rk,{page:n,matches:u,...e}):d.createElement(Dk,{page:n,matches:u,...e})):null}function Ak(n){let{manifest:e,routeModules:r}=qc(),[l,c]=d.useState([]);return d.useEffect(()=>{let u=!1;return Sk(n,e,r).then(h=>{u||c(h)}),()=>{u=!0}},[n,e,r]),l}function Rk({page:n,matches:e,...r}){let l=It(),{future:c}=qc(),{basename:u}=yf(),h=d.useMemo(()=>{if(n===l.pathname+l.search+l.hash)return[];let g=bb(n,u,c.v8_trailingSlashAwareDataRequests,"rsc"),p=!1,y=[];for(let v of e)typeof v.route.shouldRevalidate=="function"?p=!0:y.push(v.route.id);return p&&y.length>0&&g.searchParams.set("_routes",y.join(",")),[g.pathname+g.search]},[u,c.v8_trailingSlashAwareDataRequests,n,l,e]);return d.createElement(d.Fragment,null,h.map(g=>d.createElement("link",{key:g,rel:"prefetch",as:"fetch",href:g,...r})))}function Dk({page:n,matches:e,...r}){let l=It(),{future:c,manifest:u,routeModules:h}=qc(),{basename:g}=yf(),{loaderData:p,matches:y}=Ek(),v=d.useMemo(()=>tv(n,e,y,u,l,"data"),[n,e,y,u,l]),S=d.useMemo(()=>tv(n,e,y,u,l,"assets"),[n,e,y,u,l]),x=d.useMemo(()=>{if(n===l.pathname+l.search+l.hash)return[];let j=new Set,w=!1;if(e.forEach(z=>{let D=u.routes[z.route.id];!D||!D.hasLoader||(!v.some(O=>O.route.id===z.route.id)&&z.route.id in p&&h[z.route.id]?.shouldRevalidate||D.hasClientLoader?w=!0:j.add(z.route.id))}),j.size===0)return[];let E=bb(n,g,c.v8_trailingSlashAwareDataRequests,"data");return w&&j.size>0&&E.searchParams.set("_routes",e.filter(z=>j.has(z.route.id)).map(z=>z.route.id).join(",")),[E.pathname+E.search]},[g,c.v8_trailingSlashAwareDataRequests,p,l,u,v,e,n,h]),_=d.useMemo(()=>jk(S,u),[S,u]),k=Ak(S);return d.createElement(d.Fragment,null,x.map(j=>d.createElement("link",{key:j,rel:"prefetch",as:"fetch",href:j,...r})),_.map(j=>d.createElement("link",{key:j,rel:"modulepreload",href:j,...r})),k.map(({key:j,link:w})=>d.createElement("link",{key:j,nonce:r.nonce,...w,crossOrigin:w.crossOrigin??r.crossOrigin})))}function zk(...n){return e=>{n.forEach(r=>{typeof r=="function"?r(e):r!=null&&(r.current=e)})}}var Ok=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Ok&&(window.__reactRouterVersion="7.18.4")}catch{}function Lk({basename:n,children:e,useTransitions:r,window:l}){let c=d.useRef();c.current==null&&(c.current=dw({window:l,v5Compat:!0}));let u=c.current,[h,g]=d.useState({action:u.action,location:u.location}),p=d.useCallback(y=>{r===!1?g(y):d.startTransition(()=>g(y))},[r]);return d.useLayoutEffect(()=>u.listen(p),[u,p]),d.createElement(uk,{basename:n,children:e,location:h.location,navigationType:h.action,navigator:u,useTransitions:r})}var vs=d.forwardRef(function({onClick:e,discover:r="render",prefetch:l="none",relative:c,reloadDocument:u,replace:h,mask:g,state:p,target:y,to:v,preventScrollReset:S,viewTransition:x,defaultShouldRevalidate:_,...k},j){let{basename:w,navigator:E,useTransitions:z}=d.useContext(En),D=typeof v=="string"&&cf.test(v),O=ub(v,w);v=O.to;let R=Yw(v,{relative:c}),N=It(),C=null;if(g){let ye=Lc(g,[],N.mask?N.mask.pathname:"/",!0);w!=="/"&&(ye.pathname=ye.pathname==="/"?w:ns([w,ye.pathname])),C=E.createHref(ye)}let[L,U,B]=Ck(l,k),$=Uk(v,{replace:h,mask:g,state:p,target:y,preventScrollReset:S,relative:c,viewTransition:x,defaultShouldRevalidate:_,useTransitions:z});function F(ye){e&&e(ye),ye.defaultPrevented||$(ye)}let V=!(O.isExternal||u),ne=d.createElement("a",{...k,...B,href:(V?C:void 0)||O.absoluteURL||R,onClick:V?F:e,ref:zk(j,U),target:y,"data-discover":!D&&r==="render"?"true":void 0});return L&&!D?d.createElement(d.Fragment,null,ne,d.createElement(Nk,{page:R})):ne});vs.displayName="Link";var Mk=d.forwardRef(function({"aria-current":e="page",caseSensitive:r=!1,className:l="",end:c=!1,style:u,to:h,viewTransition:g,children:p,...y},v){let S=Al(h,{relative:y.relative}),x=It(),_=d.useContext(Mc),{navigator:k,basename:j}=d.useContext(En),w=_!=null&&Gk(S)&&g===!0,E=k.encodeLocation?k.encodeLocation(S).pathname:S.pathname,z=x.pathname,D=_&&_.navigation&&_.navigation.location?_.navigation.location.pathname:null;r||(z=z.toLowerCase(),D=D?D.toLowerCase():null,E=E.toLowerCase()),D&&j&&(D=$s(D,j)||D);const O=E!=="/"&&E.endsWith("/")?E.length-1:E.length;let R=z===E||!c&&z.startsWith(E)&&z.charAt(O)==="/",N=D!=null&&(D===E||!c&&D.startsWith(E)&&D.charAt(E.length)==="/"),C={isActive:R,isPending:N,isTransitioning:w},L=R?e:void 0,U;typeof l=="function"?U=l(C):U=[l,R?"active":null,N?"pending":null,w?"transitioning":null].filter(Boolean).join(" ");let B=typeof u=="function"?u(C):u;return d.createElement(vs,{...y,"aria-current":L,className:U,ref:v,style:B,to:h,viewTransition:g},typeof p=="function"?p(C):p)});Mk.displayName="NavLink";var Ik=d.forwardRef(({discover:n="render",fetcherKey:e,navigate:r,reloadDocument:l,replace:c,state:u,method:h=mc,action:g,onSubmit:p,relative:y,preventScrollReset:v,viewTransition:S,defaultShouldRevalidate:x,..._},k)=>{let{useTransitions:j}=d.useContext(En),w=$k(),E=Hk(g,{relative:y}),z=h.toLowerCase()==="get"?"get":"post",D=typeof g=="string"&&cf.test(g),O=R=>{if(p&&p(R),R.defaultPrevented)return;R.preventDefault();let N=R.nativeEvent.submitter,C=N?.getAttribute("formmethod")||h,L=()=>w(N||R.currentTarget,{fetcherKey:e,method:C,navigate:r,replace:c,state:u,relative:y,preventScrollReset:v,viewTransition:S,defaultShouldRevalidate:x});j&&r!==!1?d.startTransition(()=>L()):L()};return d.createElement("form",{ref:k,method:z,action:E,onSubmit:l?p:O,..._,"data-discover":!D&&n==="render"?"true":void 0})});Ik.displayName="Form";function qk(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function _b(n){let e=d.useContext(ni);return mt(e,qk(n)),e}function Uk(n,{target:e,replace:r,mask:l,state:c,preventScrollReset:u,relative:h,viewTransition:g,defaultShouldRevalidate:p,useTransitions:y}={}){let v=ze(),S=It(),x=Al(n,{relative:h});return d.useCallback(_=>{if(gk(_,e)){_.preventDefault();let k=r!==void 0?r:Xa(S)===Xa(x),j=()=>v(n,{replace:k,mask:l,state:c,preventScrollReset:u,relative:h,viewTransition:g,defaultShouldRevalidate:p});y?d.startTransition(()=>j()):j()}},[S,v,x,r,l,c,e,n,u,h,g,p,y])}function xf(n){Fn(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let e=d.useRef($h(n)),r=d.useRef(!1),l=It(),c=d.useMemo(()=>mk(l.search,r.current?null:e.current),[l.search]),u=ze(),h=d.useCallback((g,p)=>{const y=$h(typeof g=="function"?g(new URLSearchParams(c)):g);r.current=!0,u("?"+y,p)},[u,c]);return[c,h]}var Bk=0,Pk=()=>`__${String(++Bk)}__`;function $k(){let{router:n}=_b("useSubmit"),{basename:e}=d.useContext(En),r=ik(),l=n.fetch,c=n.navigate;return d.useCallback(async(u,h={})=>{let{action:g,method:p,encType:y,formData:v,body:S}=xk(u,e);if(h.navigate===!1){let x=h.fetcherKey||Pk();await l(x,r,h.action||g,{defaultShouldRevalidate:h.defaultShouldRevalidate,preventScrollReset:h.preventScrollReset,formData:v,body:S,formMethod:h.method||p,formEncType:h.encType||y,flushSync:h.flushSync})}else await c(h.action||g,{defaultShouldRevalidate:h.defaultShouldRevalidate,preventScrollReset:h.preventScrollReset,formData:v,body:S,formMethod:h.method||p,formEncType:h.encType||y,replace:h.replace,state:h.state,fromRouteId:r,flushSync:h.flushSync,viewTransition:h.viewTransition})},[l,c,e,r])}function Hk(n,{relative:e}={}){let{basename:r}=d.useContext(En),l=d.useContext(Vn);mt(l,"useFormAction must be used inside a RouteContext");let[c]=l.matches.slice(-1),u={...Al(n||".",{relative:e})},h=It();if(n==null){u.search=h.search;let g=new URLSearchParams(u.search),p=g.getAll("index");if(p.some(v=>v==="")){g.delete("index"),p.filter(S=>S).forEach(S=>g.append("index",S));let v=g.toString();u.search=v?`?${v}`:""}}return(!n||n===".")&&c.route.index&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(u.pathname=u.pathname==="/"?r:ns([r,u.pathname])),Xa(u)}function Gk(n,{relative:e}={}){let r=d.useContext(fb);mt(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:l}=_b("useViewTransitionState"),c=Al(n,{relative:e});if(!r.isTransitioning)return!1;let u=$s(r.currentLocation.pathname,l)||r.currentLocation.pathname,h=$s(r.nextLocation.pathname,l)||r.nextLocation.pathname;return Ec(c.pathname,h)!=null||Ec(c.pathname,u)!=null}var Sb=tb();const Fk=lf(Sb),jb=d.createContext(void 0);function Vk({children:n}){const[e,r]=d.useState(()=>{const c=localStorage.getItem("theme");return c==="mono"?"kindling":c||"light"});d.useEffect(()=>{document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e)},[e]);const l=c=>{r(c)};return a.jsx(jb.Provider,{value:{theme:e,setTheme:l},children:n})}function Tb(){const n=d.useContext(jb);if(!n)throw new Error("useTheme must be used within ThemeProvider");return n}let nv=class extends Error{url;status;statusText;body;request;constructor(e,r,l){super(l),this.name="ApiError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.body=r.body,this.request=e}};class Yk extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}}class Kk{#t;#e;#n;#s;#r;#i;#a;constructor(e){this.#t=!1,this.#e=!1,this.#n=!1,this.#s=[],this.#r=new Promise((r,l)=>{this.#i=r,this.#a=l;const c=g=>{this.#t||this.#e||this.#n||(this.#t=!0,this.#i&&this.#i(g))},u=g=>{this.#t||this.#e||this.#n||(this.#e=!0,this.#a&&this.#a(g))},h=g=>{this.#t||this.#e||this.#n||this.#s.push(g)};return Object.defineProperty(h,"isResolved",{get:()=>this.#t}),Object.defineProperty(h,"isRejected",{get:()=>this.#e}),Object.defineProperty(h,"isCancelled",{get:()=>this.#n}),e(c,u,h)})}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,r){return this.#r.then(e,r)}catch(e){return this.#r.catch(e)}finally(e){return this.#r.finally(e)}cancel(){if(!(this.#t||this.#e||this.#n)){if(this.#n=!0,this.#s.length)try{for(const e of this.#s)e()}catch(e){console.warn("Cancellation threw an error",e);return}this.#s.length=0,this.#a&&this.#a(new Yk("Request aborted"))}}get isCancelled(){return this.#n}}const Re={BASE:"",VERSION:"1.0",WITH_CREDENTIALS:!1,CREDENTIALS:"include",TOKEN:void 0,USERNAME:void 0,PASSWORD:void 0,HEADERS:void 0,ENCODE_PATH:void 0};var sv;(function(n){(function(e){e.NOT_STARTED="NOT_STARTED",e.IN_PROGRESS="IN_PROGRESS",e.FOR_REVIEW="FOR_REVIEW",e.DONE="DONE"})(n.taskStatus||(n.taskStatus={})),(function(e){e.NOT_STARTED="NOT_STARTED",e.IN_PROGRESS="IN_PROGRESS",e.FOR_REVIEW="FOR_REVIEW",e.DONE="DONE"})(n.taskStatusBeforeClaim||(n.taskStatusBeforeClaim={}))})(sv||(sv={}));var av;(function(n){(function(e){e.HUMAN="human",e.AGENT="agent"})(n.type||(n.type={}))})(av||(av={}));var rv;(function(n){(function(e){e.CLAUDE="claude",e.CODEX="codex",e.OPENCODE="opencode",e.ADK="adk",e.GITHUBCOPILOT="githubcopilot",e.OTHER="other"})(n.type||(n.type={}))})(rv||(rv={}));var iv;(function(n){(function(e){e.CLAUDE="claude",e.CODEX="codex",e.OPENCODE="opencode",e.ADK="adk",e.GITHUBCOPILOT="githubcopilot",e.OTHER="other"})(n.type||(n.type={}))})(iv||(iv={}));var lv;(function(n){(function(e){e.CLAUDE="claude",e.CODEX="codex",e.OPENCODE="opencode",e.ADK="adk",e.GITHUBCOPILOT="githubcopilot",e.OTHER="other"})(n.type||(n.type={}))})(lv||(lv={}));var ov;(function(n){(function(e){e.HTTP="http",e.STDIO="stdio"})(n.type||(n.type={}))})(ov||(ov={}));var cv;(function(n){(function(e){e.CONVERSATION="conversation",e.QUICK_TASKS="quick_tasks",e.MIDDLE_MANAGER="middle_manager",e.EMBEDDINGS="embeddings"})(n.job||(n.job={}))})(cv||(cv={}));var uv;(function(n){(function(e){e.CONNECTED="connected",e.PLAN_ACCESS_NOT_GRANTED="plan_access_not_granted",e.NEEDS_REAUTHORIZATION="needs_reauthorization",e.DISCONNECTED="disconnected"})(n.status||(n.status={}))})(uv||(uv={}));var dv;(function(n){(function(e){e.LANGUAGE="language",e.EMBEDDING="embedding"})(n.kind||(n.kind={}))})(dv||(dv={}));var hv;(function(n){(function(e){e.OPENAI="openai",e.ANTHROPIC="anthropic",e.GOOGLE="google",e.GOOGLE_VERTEX="google_vertex",e.XAI="xai",e.OPENAI_COMPATIBLE="openai_compatible",e.CHATGPT_SUBSCRIPTION="chatgpt_subscription"})(n.type||(n.type={}))})(hv||(hv={}));var fv;(function(n){(function(e){e.NOT_STARTED="not_started",e.USER_CONSENT_REJECTED="USER_CONSENT_REJECTED",e.MCP_AUTH_FLOW_STARTED="mcp_auth_flow_started",e.MCP_AUTH_FLOW_COMPLETED="mcp_auth_flow_completed",e.CONNECTIONS_FLOW_STARTED="connections_flow_started",e.CONNECTIONS_FLOW_COMPLETED="connections_flow_completed",e.AUTHORIZATION_CODE_ISSUED="authorization_code_issued",e.AUTHORIZATION_CODE_EXCHANGED="authorization_code_exchanged"})(n.status||(n.status={}))})(fv||(fv={}));var pv;(function(n){(function(e){e.NOT_STARTED="NOT_STARTED",e.IN_PROGRESS="IN_PROGRESS",e.FOR_REVIEW="FOR_REVIEW",e.DONE="DONE"})(n.status||(n.status={}))})(pv||(pv={}));var gv;(function(n){(function(e){e.NONE="none",e.CLIENT_SECRET_BASIC="client_secret_basic",e.PRIVATE_KEY_JWT="private_key_jwt"})(n.token_endpoint_auth_method||(n.token_endpoint_auth_method={}))})(gv||(gv={}));var mv;(function(n){(function(e){e.PENDING="pending",e.AUTHORIZED="authorized",e.FAILED="failed"})(n.status||(n.status={}))})(mv||(mv={}));var yv;(function(n){(function(e){e.CLAUDE="claude",e.CODEX="codex",e.OPENCODE="opencode",e.ADK="adk",e.GITHUBCOPILOT="githubcopilot",e.OTHER="other"})(n.type||(n.type={}))})(yv||(yv={}));var vv;(function(n){(function(e){e.OPENAI="openai",e.ANTHROPIC="anthropic",e.GOOGLE="google",e.GOOGLE_VERTEX="google_vertex",e.XAI="xai",e.OPENAI_COMPATIBLE="openai_compatible",e.CHATGPT_SUBSCRIPTION="chatgpt_subscription"})(n.type||(n.type={}))})(vv||(vv={}));var Qr;(function(n){(function(e){e.ADMIN="admin",e.STANDARD="standard"})(n.role||(n.role={}))})(Qr||(Qr={}));var xv;(function(n){(function(e){e.HTTP="http",e.STDIO="stdio"})(n.type||(n.type={}))})(xv||(xv={}));var bv;(function(n){(function(e){e.DYNAMIC_REGISTRATION="dynamic_registration",e.METADATA_DOCUMENT="metadata_document"})(n.registrationMethod||(n.registrationMethod={}))})(bv||(bv={}));var _v;(function(n){(function(e){e.CLIENT_NOT_REGISTERED="CLIENT_NOT_REGISTERED",e.CLIENT_REGISTERED="CLIENT_REGISTERED",e.AUTHORIZATION_REQUEST_STARTED="AUTHORIZATION_REQUEST_STARTED",e.USER_CONSENT_OK="USER_CONSENT_OK",e.USER_CONSENT_REJECTED="USER_CONSENT_REJECTED",e.WAITING_ON_DOWNSTREAM_AUTH="WAITING_ON_DOWNSTREAM_AUTH",e.AUTHORIZATION_CODE_ISSUED="AUTHORIZATION_CODE_ISSUED",e.AUTHORIZATION_CODE_EXCHANGED="AUTHORIZATION_CODE_EXCHANGED"})(n.status||(n.status={}))})(_v||(_v={}));var Sv;(function(n){(function(e){e.ACCESS_TOKEN="access_token",e.REFRESH_TOKEN="refresh_token"})(n.token_type_hint||(n.token_type_hint={}))})(Sv||(Sv={}));var jv;(function(n){(function(e){e.BEARER="Bearer"})(n.token_type||(n.token_type={}))})(jv||(jv={}));var Tv;(function(n){(function(e){e.ADMIN="admin",e.STANDARD="standard"})(n.role||(n.role={}))})(Tv||(Tv={}));var wv;(function(n){(function(e){e.CLIENT_NOT_REGISTERED="CLIENT_NOT_REGISTERED",e.CLIENT_REGISTERED="CLIENT_REGISTERED",e.AUTHORIZATION_REQUEST_STARTED="AUTHORIZATION_REQUEST_STARTED",e.USER_CONSENT_OK="USER_CONSENT_OK",e.USER_CONSENT_REJECTED="USER_CONSENT_REJECTED",e.WAITING_ON_DOWNSTREAM_AUTH="WAITING_ON_DOWNSTREAM_AUTH",e.AUTHORIZATION_CODE_ISSUED="AUTHORIZATION_CODE_ISSUED",e.AUTHORIZATION_CODE_EXCHANGED="AUTHORIZATION_CODE_EXCHANGED"})(n.status||(n.status={}))})(wv||(wv={}));var kv;(function(n){(function(e){e.CLAUDE="claude",e.CODEX="codex",e.OPENCODE="opencode",e.ADK="adk",e.GITHUBCOPILOT="githubcopilot",e.OTHER="other"})(n.type||(n.type={}))})(kv||(kv={}));var Ev;(function(n){(function(e){e.NONE="none",e.CLIENT_SECRET_BASIC="client_secret_basic",e.PRIVATE_KEY_JWT="private_key_jwt"})(n.token_endpoint_auth_method||(n.token_endpoint_auth_method={}))})(Ev||(Ev={}));var Cv;(function(n){n.TITLE="title",n.CONTENT="content",n.COMMENT="comment"})(Cv||(Cv={}));var Nv;(function(n){n.TASK="task",n.CONTEXT_BLOCK="context_block",n.THREAD="thread",n.TOOL="tool",n.AGENT="agent",n.PROJECT="project"})(Nv||(Nv={}));var Av;(function(n){n.KEYWORD="keyword",n.FUZZY_TITLE="fuzzy_title",n.SEMANTIC="semantic"})(Av||(Av={}));var Rv;(function(n){(function(e){e.HTTP="http",e.STDIO="stdio"})(n.type||(n.type={}))})(Rv||(Rv={}));var Dv;(function(n){(function(e){e.SUCCEEDED="SUCCEEDED",e.FAILED="FAILED",e.STALE="STALE",e.CANCELLED="CANCELLED"})(n.status||(n.status={})),(function(e){e.OUT_OF_QUOTA="OUT_OF_QUOTA",e.INTERRUPTED="INTERRUPTED",e.UNKNOWN="UNKNOWN"})(n.errorCode||(n.errorCode={}))})(Dv||(Dv={}));var zv;(function(n){(function(e){e.NOT_STARTED="NOT_STARTED",e.IN_PROGRESS="IN_PROGRESS",e.FOR_REVIEW="FOR_REVIEW",e.DONE="DONE"})(n.taskStatus||(n.taskStatus={})),(function(e){e.SUCCEEDED="SUCCEEDED",e.FAILED="FAILED",e.STALE="STALE",e.CANCELLED="CANCELLED"})(n.status||(n.status={})),(function(e){e.OUT_OF_QUOTA="OUT_OF_QUOTA",e.INTERRUPTED="INTERRUPTED",e.UNKNOWN="UNKNOWN"})(n.errorCode||(n.errorCode={}))})(zv||(zv={}));var Ov;(function(n){(function(e){e.NOT_STARTED="NOT_STARTED",e.IN_PROGRESS="IN_PROGRESS",e.FOR_REVIEW="FOR_REVIEW",e.DONE="DONE"})(n.taskStatus||(n.taskStatus={}))})(Ov||(Ov={}));var Lv;(function(n){(function(e){e.NOT_STARTED="NOT_STARTED",e.IN_PROGRESS="IN_PROGRESS",e.FOR_REVIEW="FOR_REVIEW",e.DONE="DONE"})(n.status||(n.status={}))})(Lv||(Lv={}));var Mv;(function(n){(function(e){e.NOT_STARTED="NOT_STARTED",e.IN_PROGRESS="IN_PROGRESS",e.FOR_REVIEW="FOR_REVIEW",e.DONE="DONE"})(n.status||(n.status={}))})(Mv||(Mv={}));var Iv;(function(n){(function(e){e.NOT_STARTED="NOT_STARTED",e.IN_PROGRESS="IN_PROGRESS",e.FOR_REVIEW="FOR_REVIEW",e.DONE="DONE"})(n.status||(n.status={}))})(Iv||(Iv={}));var qv;(function(n){(function(e){e.URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE="urn:ietf:params:oauth:grant-type:token-exchange"})(n.grant_type||(n.grant_type={})),(function(e){e.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ACCESS_TOKEN="urn:ietf:params:oauth:token-type:access_token"})(n.subject_token_type||(n.subject_token_type={}))})(qv||(qv={}));var Uv;(function(n){(function(e){e.AUTHORIZATION_CODE="authorization_code",e.REFRESH_TOKEN="refresh_token"})(n.grant_type||(n.grant_type={}))})(Uv||(Uv={}));var Bv;(function(n){(function(e){e.BEARER="Bearer"})(n.token_type||(n.token_type={}))})(Bv||(Bv={}));var Pv;(function(n){(function(e){e.HTTP="http",e.STDIO="stdio"})(n.type||(n.type={}))})(Pv||(Pv={}));var $v;(function(n){(function(e){e.ADMIN="admin",e.STANDARD="standard"})(n.role||(n.role={})),(function(e){e.FULL_PAGE="FULL_PAGE",e.BANNER="BANNER",e.OFF="OFF"})(n.onboardingDisplayMode||(n.onboardingDisplayMode={}))})($v||($v={}));var Hv;(function(n){(function(e){e.FULL_PAGE="FULL_PAGE",e.BANNER="BANNER",e.OFF="OFF"})(n.onboardingDisplayMode||(n.onboardingDisplayMode={}))})(Hv||(Hv={}));const bf=n=>n!=null,Rl=n=>typeof n=="string",fh=n=>Rl(n)&&n!=="",_f=n=>typeof n=="object"&&typeof n.type=="string"&&typeof n.stream=="function"&&typeof n.arrayBuffer=="function"&&typeof n.constructor=="function"&&typeof n.constructor.name=="string"&&/^(Blob|File)$/.test(n.constructor.name)&&/^(Blob|File)$/.test(n[Symbol.toStringTag]),wb=n=>n instanceof FormData,Qk=n=>{try{return btoa(n)}catch{return Buffer.from(n).toString("base64")}},Xk=n=>{const e=[],r=(c,u)=>{e.push(`${encodeURIComponent(c)}=${encodeURIComponent(String(u))}`)},l=(c,u)=>{bf(u)&&(Array.isArray(u)?u.forEach(h=>{l(c,h)}):typeof u=="object"?Object.entries(u).forEach(([h,g])=>{l(`${c}[${h}]`,g)}):r(c,u))};return Object.entries(n).forEach(([c,u])=>{l(c,u)}),e.length>0?`?${e.join("&")}`:""},Zk=(n,e)=>{const r=n.ENCODE_PATH||encodeURI,l=e.url.replace("{api-version}",n.VERSION).replace(/{(.*?)}/g,(u,h)=>e.path?.hasOwnProperty(h)?r(String(e.path[h])):u),c=`${n.BASE}${l}`;return e.query?`${c}${Xk(e.query)}`:c},Wk=n=>{if(n.formData){const e=new FormData,r=(l,c)=>{Rl(c)||_f(c)?e.append(l,c):e.append(l,JSON.stringify(c))};return Object.entries(n.formData).filter(([l,c])=>bf(c)).forEach(([l,c])=>{Array.isArray(c)?c.forEach(u=>r(l,u)):r(l,c)}),e}},Jo=async(n,e)=>typeof e=="function"?e(n):e,Jk=async(n,e)=>{const[r,l,c,u]=await Promise.all([Jo(e,n.TOKEN),Jo(e,n.USERNAME),Jo(e,n.PASSWORD),Jo(e,n.HEADERS)]),h=Object.entries({Accept:"application/json",...u,...e.headers}).filter(([g,p])=>bf(p)).reduce((g,[p,y])=>({...g,[p]:String(y)}),{});if(fh(r)&&(h.Authorization=`Bearer ${r}`),fh(l)&&fh(c)){const g=Qk(`${l}:${c}`);h.Authorization=`Basic ${g}`}return e.body!==void 0&&(e.mediaType?h["Content-Type"]=e.mediaType:_f(e.body)?h["Content-Type"]=e.body.type||"application/octet-stream":Rl(e.body)?h["Content-Type"]="text/plain":wb(e.body)||(h["Content-Type"]="application/json")),new Headers(h)},e0=n=>{if(n.body!==void 0)return n.mediaType?.includes("/json")?JSON.stringify(n.body):Rl(n.body)||_f(n.body)||wb(n.body)?n.body:JSON.stringify(n.body)},t0=async(n,e,r,l,c,u,h)=>{const g=new AbortController,p={headers:u,body:l??c,method:e.method,signal:g.signal};return n.WITH_CREDENTIALS&&(p.credentials=n.CREDENTIALS),h(()=>g.abort()),await fetch(r,p)},n0=(n,e)=>{if(e){const r=n.headers.get(e);if(Rl(r))return r}},s0=async n=>{if(n.status!==204)try{const e=n.headers.get("Content-Type");if(e)return["application/json","application/problem+json"].some(c=>e.toLowerCase().startsWith(c))?await n.json():await n.text()}catch(e){console.error(e)}},a0=(n,e)=>{const l={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable",...n.errors}[e.status];if(l)throw new nv(n,e,l);if(!e.ok){const c=e.status??"unknown",u=e.statusText??"unknown",h=(()=>{try{return JSON.stringify(e.body,null,2)}catch{return}})();throw new nv(n,e,`Generic Error: status: ${c}; status text: ${u}; body: ${h}`)}},Me=(n,e)=>new Kk(async(r,l,c)=>{try{const u=Zk(n,e),h=Wk(e),g=e0(e),p=await Jk(n,e);if(!c.isCancelled){const y=await t0(n,e,u,g,h,p,c),v=await s0(y),S=n0(y,e.responseHeader),x={url:u,ok:y.ok,status:y.status,statusText:y.statusText,body:S??v};a0(e,x),r(x.body)}}catch(u){l(u)}});class kb{static actorControllerListActors(e=Re){return Me(e,{method:"GET",url:"/api/v1/actors"})}static actorControllerSearchActors(e,r=10,l=.3,c=Re){return Me(c,{method:"GET",url:"/api/v1/actors/search",query:{query:e,limit:r,threshold:l}})}}class bl{static aiModelSelectionsControllerListAiModelSelections(e=Re){return Me(e,{method:"GET",url:"/api/v1/ai-model-selections"})}static aiModelSelectionsControllerSetAiModelSelection(e,r,l=Re){return Me(l,{method:"PUT",url:"/api/v1/ai-model-selections/{job}",path:{job:e},body:r,mediaType:"application/json",errors:{404:"AI provider not found"}})}static aiModelSelectionsControllerClearAiModelSelection(e,r=Re){return Me(r,{method:"DELETE",url:"/api/v1/ai-model-selections/{job}",path:{job:e}})}}class ll{static aiProviderConnectionsControllerGetConnection(e,r=Re){return Me(r,{method:"GET",url:"/api/v1/ai-providers/{id}/connection",path:{id:e},errors:{404:"AI provider not found"}})}static aiProviderConnectionsControllerUpdateConnection(e,r,l=Re){return Me(l,{method:"PATCH",url:"/api/v1/ai-providers/{id}/connection",path:{id:e},body:r,mediaType:"application/json"})}static aiProviderConnectionsControllerDisconnect(e,r=Re){return Me(r,{method:"DELETE",url:"/api/v1/ai-providers/{id}/connection",path:{id:e}})}static aiProviderConnectionsControllerStartAuthorization(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/ai-providers/{id}/connection/authorize",path:{id:e}})}static aiProviderConnectionsControllerCompleteAuthorization(e,r,l=Re){return Me(l,{method:"POST",url:"/api/v1/ai-providers/{id}/connection/callback",path:{id:e},body:r,mediaType:"application/json"})}}class Fa{static aiProvidersControllerCreateAiProvider(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/ai-providers",body:e,mediaType:"application/json"})}static aiProvidersControllerListAiProviders(e=Re){return Me(e,{method:"GET",url:"/api/v1/ai-providers"})}static aiProvidersControllerGetAiProvider(e,r=Re){return Me(r,{method:"GET",url:"/api/v1/ai-providers/{id}",path:{id:e},errors:{404:"AI provider not found"}})}static aiProvidersControllerUpdateAiProvider(e,r,l=Re){return Me(l,{method:"PATCH",url:"/api/v1/ai-providers/{id}",path:{id:e},body:r,mediaType:"application/json",errors:{404:"AI provider not found"}})}static aiProvidersControllerDeleteAiProvider(e,r=Re){return Me(r,{method:"DELETE",url:"/api/v1/ai-providers/{id}",path:{id:e},errors:{404:"AI provider not found"}})}static aiProvidersControllerListAiProviderModels(e,r=Re){return Me(r,{method:"GET",url:"/api/v1/ai-providers/{id}/models",path:{id:e},errors:{404:"AI provider not found"}})}}let Eb=class{static metaControllerCreateTag(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/meta/tags",body:e,mediaType:"application/json",errors:{400:"Invalid input data"}})}static metaControllerGetAllTags(e=Re){return Me(e,{method:"GET",url:"/api/v1/meta/tags"})}static metaControllerGetTagColors(e=Re){return Me(e,{method:"GET",url:"/api/v1/meta/tags/colors"})}static metaControllerDeleteTag(e,r=Re){return Me(r,{method:"DELETE",url:"/api/v1/meta/tags/{tagId}",path:{tagId:e},errors:{404:"Tag not found"}})}static metaControllerGetVersion(e=Re){return Me(e,{method:"GET",url:"/api/v1/meta/version"})}};class Cc{static projectsControllerCreateProject(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/meta/projects",body:e,mediaType:"application/json",errors:{400:"Invalid input data"}})}static projectsControllerGetAllProjects(e=Re){return Me(e,{method:"GET",url:"/api/v1/meta/projects"})}static projectsControllerSearchProjects(e,r,l,c=Re){return Me(c,{method:"GET",url:"/api/v1/meta/projects/search",query:{q:e,limit:r,threshold:l}})}static projectsControllerGetProjectBySlug(e,r=Re){return Me(r,{method:"GET",url:"/api/v1/meta/projects/by-slug/{slug}",path:{slug:e},errors:{404:"Project not found"}})}static projectsControllerGetProject(e,r=Re){return Me(r,{method:"GET",url:"/api/v1/meta/projects/{projectId}",path:{projectId:e},errors:{404:"Project not found"}})}static projectsControllerUpdateProject(e,r,l=Re){return Me(l,{method:"PATCH",url:"/api/v1/meta/projects/{projectId}",path:{projectId:e},body:r,mediaType:"application/json",errors:{400:"Invalid input data",404:"Project not found"}})}static projectsControllerDeleteProject(e,r=Re){return Me(r,{method:"DELETE",url:"/api/v1/meta/projects/{projectId}",path:{projectId:e},errors:{404:"Project not found"}})}}class an{static webAuthControllerLogin(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/auth/login",body:e,mediaType:"application/json",errors:{401:"Invalid credentials"}})}static webAuthControllerListUsers(e=Re){return Me(e,{method:"GET",url:"/api/v1/auth/users"})}static webAuthControllerCreateUser(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/auth/users",body:e,mediaType:"application/json"})}static webAuthControllerResetUserPassword(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/auth/users/{userId}/reset-password",path:{userId:e}})}static webAuthControllerDeleteUser(e,r=Re){return Me(r,{method:"DELETE",url:"/api/v1/auth/users/{userId}",path:{userId:e}})}static webAuthControllerGetAccountSetupStatus(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/auth/account-setup-status",body:e,mediaType:"application/json"})}static webAuthControllerSetupAccount(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/auth/setup-account",body:e,mediaType:"application/json"})}static webAuthControllerRefresh(e=Re){return Me(e,{method:"POST",url:"/api/v1/auth/refresh",errors:{401:"Invalid or expired refresh token"}})}static webAuthControllerLogout(e=Re){return Me(e,{method:"POST",url:"/api/v1/auth/logout"})}static webAuthControllerMe(e=Re){return Me(e,{method:"GET",url:"/api/v1/auth/me",errors:{401:"Not authenticated"}})}static webAuthControllerChangePassword(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/auth/change-password",body:e,mediaType:"application/json",errors:{401:"Not authenticated or current password is incorrect"}})}static webAuthControllerGetOnboardingStatus(e=Re){return Me(e,{method:"GET",url:"/api/v1/auth/onboarding-status"})}static webAuthControllerOnboard(e,r=Re){return Me(r,{method:"POST",url:"/api/v1/auth/onboard",body:e,mediaType:"application/json",errors:{409:"Admin users already exist, onboarding not allowed"}})}static webAuthControllerMarkWalkthroughSeen(e=Re){return Me(e,{method:"POST",url:"/api/v1/auth/mark-walkthrough-seen",errors:{401:"Not authenticated"}})}}const r0=()=>"",Ta=n=>n,Za=r0();Re.BASE=Za;Re.CREDENTIALS="include";Re.BASE=Za;const Cb=d.createContext(void 0);function i0({children:n}){const[e,r]=d.useState(null),[l,c]=d.useState(!0);d.useEffect(()=>{an.webAuthControllerMe().then(y=>{r(y)}).catch(()=>{r(null)}).finally(()=>{c(!1)})},[]),d.useEffect(()=>{if(!e)return;const y=setInterval(async()=>{try{const v=await an.webAuthControllerRefresh();r(v.user)}catch(v){console.error("Token refresh failed:",v),r(null)}},480*1e3);return()=>clearInterval(y)},[e]);const p={user:e,isAuthenticated:!!e,isLoading:l,login:async(y,v)=>{const S=await an.webAuthControllerLogin({email:y,password:v});r(S.user)},logout:async()=>{try{await an.webAuthControllerLogout()}finally{r(null)}},refreshAuth:async()=>{const y=await an.webAuthControllerRefresh();r(y.user)}};return a.jsx(Cb.Provider,{value:p,children:n})}function ln(){const n=d.useContext(Cb);if(n===void 0)throw new Error("useAuth must be used within an AuthProvider");return n}function Nb({children:n}){return a.jsx("div",{className:"login-page",children:a.jsx("div",{className:"login-container",children:a.jsx("div",{className:"login-card",children:n})})})}const ph=["a1","a2","a3","a4","a5","a6"];function l0(n){let e=5381;for(let r=0;r<n.length;r++)e=e*33^n.charCodeAt(r);return e>>>0}function o0(n){if(!n)return ph[0];const e=l0(n.trim().toLowerCase())%ph.length;return ph[e]}function c0(n){if(!n)return"?";const e=n.trim();if(!e)return"?";const r=e.split(/\s+/).filter(Boolean),l=r[0]?.[0]??"?",c=r.length>1?r[r.length-1]?.[0]:"";return(l+c).toUpperCase()}function u0(n){return typeof n=="number"?null:`avatar--${n}`}function d0(n){if(typeof n=="number")return{width:n,height:n,fontSize:Math.max(10,Math.round(n*.42))}}function Fe({name:n,src:e,alt:r,size:l="md",inactive:c=!1,className:u=""}){const h=c0(n),g=o0(n),p=u0(l),y=d0(l),v=c?"avatar--inactive":"";return e?a.jsx("img",{className:`avatar ${p??""} ${v} ${u}`,style:y,src:e,alt:r??n,loading:"lazy"}):a.jsx("div",{className:`avatar avatar--fallback avatar--${g} ${p??""} ${v} ${u}`,style:y,"aria-label":r??n,role:"img",title:n,children:h})}function pn(n){const e=["chip",`chip--${n.color??"gray"}`,n.onClick?"chip--clickable":"",n.className??""].filter(Boolean).join(" ");return n.onClick?a.jsx("button",{type:"button",className:e,style:n.style,title:n.title,"aria-label":n.clickLabel,onClick:r=>{r.stopPropagation(),n.onClick?.()},children:n.children}):a.jsxs("span",{className:e,style:n.style,title:n.title,children:[n.children,n.onRemove?a.jsx("button",{type:"button",className:"chip__remove","aria-label":n.removeLabel??`Remove ${n.children}`,onClick:r=>{r.stopPropagation(),n.onRemove?.()},children:"×"}):null]})}function te({children:n,spacing:e="4",align:r="stretch",className:l=""}){return a.jsx("div",{className:`stack stack--spacing-${e} stack--align-${r} ${l}`,"data-component":"stack",children:n})}function ct({children:n,spacing:e="4",align:r="center",justify:l="start",className:c=""}){return a.jsx("div",{className:`row row--spacing-${e} row--align-${r} row--justify-${l} ${c}`,"data-component":"row",children:n})}function b({children:n,size:e="2",weight:r="normal",tone:l="default",style:c="sans",as:u="p",className:h="",wrap:g=!1}){return a.jsx(u,{className:`text text--size-${e} text--weight-${r} text--tone-${l} text--style-${c} ${g&&"text--wrap"} ${h}`,"data-component":"text",children:n})}function Dt(n){const{children:e}=n;return a.jsx("div",{className:"error--container",children:a.jsx(b,{size:n.size,weight:n.weight,tone:n.tone,as:n.as,wrap:n.wrap,className:"error--text",children:e})})}function re({children:n,variant:e="primary",size:r="md",fullWidth:l=!1,className:c="",...u}){return a.jsx("button",{className:`btn btn--${e} btn--${r} ${l?"btn--full-width":""} ${c}`,"data-component":"button",...u,children:n})}function $e({children:n,padding:e="4",className:r=""}){return a.jsx("div",{className:`card card--padding-${e} ${r}`,"data-component":"card",children:n})}function Ab({leading:n,children:e,tags:r=[],topRight:l,footer:c,trailing:u,animation:h,onClick:g,className:p="",pulseKey:y,highlight:v}){const[S,x]=d.useState(!1);d.useEffect(()=>{if(y==null)return;x(!0);const E=setTimeout(()=>x(!1),600);return()=>clearTimeout(E)},[y]);const _=h?`board-card--${h}`:"",k=S?"board-card--eventPulse":"",j=v?"board-card--highlight":"",w=E=>{g?.(E)};return a.jsx("div",{className:`board-card__wrapper ${_}`,onClick:w,children:a.jsxs("div",{className:`board-card ${j} ${k} ${p}`,"data-component":"board-card",children:[a.jsxs("div",{className:"board-card__header",children:[a.jsx("div",{className:"board-card__headerLeft",children:n?a.jsx("div",{className:"board-card__leading",children:n}):null}),a.jsxs("div",{className:"board-card__headerRight",children:[l?a.jsx("div",{className:"board-card__meta",children:l}):null,u?a.jsx("div",{className:"board-card__trailing",children:u}):null]})]}),a.jsx("div",{className:"board-card__main",children:e}),r.length?a.jsx("div",{className:"board-card__tags","aria-label":"tags",children:r.map(E=>a.jsx("span",{className:`chip chip--${E.color??"gray"}`,children:E.label},E.label))}):null,c?a.jsx("div",{className:"board-card__footer",children:c}):null]})})}function je({leading:n,children:e,tags:r=[],topRight:l,trailing:c,animation:u,onClick:h,highlight:g,className:p=""}){const y=u?`data-row--${u}`:"",v=g?"data-row--highlight":"",S=h?"data-row--clickable":"",x=_=>{h?.(_)};return a.jsx("div",{className:`data-row__wrapper ${y}`,onClick:x,children:a.jsxs("div",{className:`data-row ${v} ${S} ${p}`,"data-component":"data-row",children:[n?a.jsx("div",{className:"data-row__leading",children:n}):null,a.jsxs("div",{className:"data-row__content",children:[a.jsxs("div",{className:"data-row__top",children:[a.jsx("div",{className:`data-row__main ${p}`,children:e}),l?a.jsx("div",{className:"data-row__meta",children:l}):null]}),r.length?a.jsx("div",{className:"data-row__tags","aria-label":"tags",children:r.map((_,k)=>a.jsx(pn,{color:_.color,onClick:_.onClick,clickLabel:_.clickLabel??_.label,title:_.title,onRemove:_.onRemove,removeLabel:_.removeLabel??`Remove ${_.label}`,children:_.label},`${_.label}-${_.color??"gray"}-${k}`))}):null]}),c?a.jsx("div",{className:"data-row__trailing",children:c}):null]})})}function _e({children:n,title:e,className:r,action:l}){return a.jsxs("div",{className:`data-row__container ${r}`,children:[(e||l)&&a.jsxs("div",{className:"data-row__container-header",children:[e&&a.jsx(b,{size:"4",weight:"bold",children:e}),l&&a.jsx("div",{className:"data-row__container-action",children:l})]}),n]})}function h0({children:n,onClick:e,interactive:r=!1,className:l=""}){const c=r||!!e;return a.jsx("div",{className:`list-row ${c?"list-row--interactive":""} ${l}`,onClick:e,role:e?"button":void 0,tabIndex:e?0:void 0,"data-component":"list-row",children:n})}function ja(n,e,{checkForDefaultPrevented:r=!0}={}){return function(c){if(n?.(c),r===!1||!c.defaultPrevented)return e?.(c)}}function Gv(n,e){if(typeof n=="function")return n(e);n!=null&&(n.current=e)}function Rb(...n){return e=>{let r=!1;const l=n.map(c=>{const u=Gv(c,e);return!r&&typeof u=="function"&&(r=!0),u});if(r)return()=>{for(let c=0;c<l.length;c++){const u=l[c];typeof u=="function"?u():Gv(n[c],null)}}}}function er(...n){return d.useCallback(Rb(...n),n)}function f0(n,e){const r=d.createContext(e),l=u=>{const{children:h,...g}=u,p=d.useMemo(()=>g,Object.values(g));return a.jsx(r.Provider,{value:p,children:h})};l.displayName=n+"Provider";function c(u){const h=d.useContext(r);if(h)return h;if(e!==void 0)return e;throw new Error(`\`${u}\` must be used within \`${n}\``)}return[l,c]}function p0(n,e=[]){let r=[];function l(u,h){const g=d.createContext(h),p=r.length;r=[...r,h];const y=S=>{const{scope:x,children:_,...k}=S,j=x?.[n]?.[p]||g,w=d.useMemo(()=>k,Object.values(k));return a.jsx(j.Provider,{value:w,children:_})};y.displayName=u+"Provider";function v(S,x){const _=x?.[n]?.[p]||g,k=d.useContext(_);if(k)return k;if(h!==void 0)return h;throw new Error(`\`${S}\` must be used within \`${u}\``)}return[y,v]}const c=()=>{const u=r.map(h=>d.createContext(h));return function(g){const p=g?.[n]||u;return d.useMemo(()=>({[`__scope${n}`]:{...g,[n]:p}}),[g,p])}};return c.scopeName=n,[l,g0(c,...e)]}function g0(...n){const e=n[0];if(n.length===1)return e;const r=()=>{const l=n.map(c=>({useScope:c(),scopeName:c.scopeName}));return function(u){const h=l.reduce((g,{useScope:p,scopeName:y})=>{const S=p(u)[`__scope${y}`];return{...g,...S}},{});return d.useMemo(()=>({[`__scope${e.scopeName}`]:h}),[h])}};return r.scopeName=e.scopeName,r}var wl=globalThis?.document?d.useLayoutEffect:()=>{},m0=eb[" useId ".trim().toString()]||(()=>{}),y0=0;function gh(n){const[e,r]=d.useState(m0());return wl(()=>{r(l=>l??String(y0++))},[n]),n||(e?`radix-${e}`:"")}var v0=eb[" useInsertionEffect ".trim().toString()]||wl;function x0({prop:n,defaultProp:e,onChange:r=()=>{},caller:l}){const[c,u,h]=b0({defaultProp:e,onChange:r}),g=n!==void 0,p=g?n:c;{const v=d.useRef(n!==void 0);d.useEffect(()=>{const S=v.current;S!==g&&console.warn(`${l} is changing from ${S?"controlled":"uncontrolled"} to ${g?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),v.current=g},[g,l])}const y=d.useCallback(v=>{if(g){const S=_0(v)?v(n):v;S!==n&&h.current?.(S)}else u(v)},[g,n,u,h]);return[p,y]}function b0({defaultProp:n,onChange:e}){const[r,l]=d.useState(n),c=d.useRef(r),u=d.useRef(e);return v0(()=>{u.current=e},[e]),d.useEffect(()=>{c.current!==r&&(u.current?.(r),c.current=r)},[r,c]),[r,l,u]}function _0(n){return typeof n=="function"}function Db(n){const e=S0(n),r=d.forwardRef((l,c)=>{const{children:u,...h}=l,g=d.Children.toArray(u),p=g.find(T0);if(p){const y=p.props.children,v=g.map(S=>S===p?d.Children.count(y)>1?d.Children.only(null):d.isValidElement(y)?y.props.children:null:S);return a.jsx(e,{...h,ref:c,children:d.isValidElement(y)?d.cloneElement(y,void 0,v):null})}return a.jsx(e,{...h,ref:c,children:u})});return r.displayName=`${n}.Slot`,r}function S0(n){const e=d.forwardRef((r,l)=>{const{children:c,...u}=r;if(d.isValidElement(c)){const h=k0(c),g=w0(u,c.props);return c.type!==d.Fragment&&(g.ref=l?Rb(l,h):h),d.cloneElement(c,g)}return d.Children.count(c)>1?d.Children.only(null):null});return e.displayName=`${n}.SlotClone`,e}var j0=Symbol("radix.slottable");function T0(n){return d.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===j0}function w0(n,e){const r={...e};for(const l in e){const c=n[l],u=e[l];/^on[A-Z]/.test(l)?c&&u?r[l]=(...g)=>{const p=u(...g);return c(...g),p}:c&&(r[l]=c):l==="style"?r[l]={...c,...u}:l==="className"&&(r[l]=[c,u].filter(Boolean).join(" "))}return{...n,...r}}function k0(n){let e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get,r=e&&"isReactWarning"in e&&e.isReactWarning;return r?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get,r=e&&"isReactWarning"in e&&e.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var E0=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Fs=E0.reduce((n,e)=>{const r=Db(`Primitive.${e}`),l=d.forwardRef((c,u)=>{const{asChild:h,...g}=c,p=h?r:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(p,{...g,ref:u})});return l.displayName=`Primitive.${e}`,{...n,[e]:l}},{});function C0(n,e){n&&Sb.flushSync(()=>n.dispatchEvent(e))}function kl(n){const e=d.useRef(n);return d.useEffect(()=>{e.current=n}),d.useMemo(()=>(...r)=>e.current?.(...r),[])}function N0(n,e=globalThis?.document){const r=kl(n);d.useEffect(()=>{const l=c=>{c.key==="Escape"&&r(c)};return e.addEventListener("keydown",l,{capture:!0}),()=>e.removeEventListener("keydown",l,{capture:!0})},[r,e])}var A0="DismissableLayer",Hh="dismissableLayer.update",R0="dismissableLayer.pointerDownOutside",D0="dismissableLayer.focusOutside",Fv,zb=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ob=d.forwardRef((n,e)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:h,onDismiss:g,...p}=n,y=d.useContext(zb),[v,S]=d.useState(null),x=v?.ownerDocument??globalThis?.document,[,_]=d.useState({}),k=er(e,C=>S(C)),j=Array.from(y.layers),[w]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),E=j.indexOf(w),z=v?j.indexOf(v):-1,D=y.layersWithOutsidePointerEventsDisabled.size>0,O=z>=E,R=L0(C=>{const L=C.target,U=[...y.branches].some(B=>B.contains(L));!O||U||(c?.(C),h?.(C),C.defaultPrevented||g?.())},x),N=M0(C=>{const L=C.target;[...y.branches].some(B=>B.contains(L))||(u?.(C),h?.(C),C.defaultPrevented||g?.())},x);return N0(C=>{z===y.layers.size-1&&(l?.(C),!C.defaultPrevented&&g&&(C.preventDefault(),g()))},x),d.useEffect(()=>{if(v)return r&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(Fv=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(v)),y.layers.add(v),Vv(),()=>{r&&y.layersWithOutsidePointerEventsDisabled.size===1&&(x.body.style.pointerEvents=Fv)}},[v,x,r,y]),d.useEffect(()=>()=>{v&&(y.layers.delete(v),y.layersWithOutsidePointerEventsDisabled.delete(v),Vv())},[v,y]),d.useEffect(()=>{const C=()=>_({});return document.addEventListener(Hh,C),()=>document.removeEventListener(Hh,C)},[]),a.jsx(Fs.div,{...p,ref:k,style:{pointerEvents:D?O?"auto":"none":void 0,...n.style},onFocusCapture:ja(n.onFocusCapture,N.onFocusCapture),onBlurCapture:ja(n.onBlurCapture,N.onBlurCapture),onPointerDownCapture:ja(n.onPointerDownCapture,R.onPointerDownCapture)})});Ob.displayName=A0;var z0="DismissableLayerBranch",O0=d.forwardRef((n,e)=>{const r=d.useContext(zb),l=d.useRef(null),c=er(e,l);return d.useEffect(()=>{const u=l.current;if(u)return r.branches.add(u),()=>{r.branches.delete(u)}},[r.branches]),a.jsx(Fs.div,{...n,ref:c})});O0.displayName=z0;function L0(n,e=globalThis?.document){const r=kl(n),l=d.useRef(!1),c=d.useRef(()=>{});return d.useEffect(()=>{const u=g=>{if(g.target&&!l.current){let p=function(){Lb(R0,r,y,{discrete:!0})};const y={originalEvent:g};g.pointerType==="touch"?(e.removeEventListener("click",c.current),c.current=p,e.addEventListener("click",c.current,{once:!0})):p()}else e.removeEventListener("click",c.current);l.current=!1},h=window.setTimeout(()=>{e.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(h),e.removeEventListener("pointerdown",u),e.removeEventListener("click",c.current)}},[e,r]),{onPointerDownCapture:()=>l.current=!0}}function M0(n,e=globalThis?.document){const r=kl(n),l=d.useRef(!1);return d.useEffect(()=>{const c=u=>{u.target&&!l.current&&Lb(D0,r,{originalEvent:u},{discrete:!1})};return e.addEventListener("focusin",c),()=>e.removeEventListener("focusin",c)},[e,r]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function Vv(){const n=new CustomEvent(Hh);document.dispatchEvent(n)}function Lb(n,e,r,{discrete:l}){const c=r.originalEvent.target,u=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:r});e&&c.addEventListener(n,e,{once:!0}),l?C0(c,u):c.dispatchEvent(u)}var mh="focusScope.autoFocusOnMount",yh="focusScope.autoFocusOnUnmount",Yv={bubbles:!1,cancelable:!0},I0="FocusScope",Mb=d.forwardRef((n,e)=>{const{loop:r=!1,trapped:l=!1,onMountAutoFocus:c,onUnmountAutoFocus:u,...h}=n,[g,p]=d.useState(null),y=kl(c),v=kl(u),S=d.useRef(null),x=er(e,j=>p(j)),_=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(l){let j=function(D){if(_.paused||!g)return;const O=D.target;g.contains(O)?S.current=O:_a(S.current,{select:!0})},w=function(D){if(_.paused||!g)return;const O=D.relatedTarget;O!==null&&(g.contains(O)||_a(S.current,{select:!0}))},E=function(D){if(document.activeElement===document.body)for(const R of D)R.removedNodes.length>0&&_a(g)};document.addEventListener("focusin",j),document.addEventListener("focusout",w);const z=new MutationObserver(E);return g&&z.observe(g,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",j),document.removeEventListener("focusout",w),z.disconnect()}}},[l,g,_.paused]),d.useEffect(()=>{if(g){Qv.add(_);const j=document.activeElement;if(!g.contains(j)){const E=new CustomEvent(mh,Yv);g.addEventListener(mh,y),g.dispatchEvent(E),E.defaultPrevented||(q0(H0(Ib(g)),{select:!0}),document.activeElement===j&&_a(g))}return()=>{g.removeEventListener(mh,y),setTimeout(()=>{const E=new CustomEvent(yh,Yv);g.addEventListener(yh,v),g.dispatchEvent(E),E.defaultPrevented||_a(j??document.body,{select:!0}),g.removeEventListener(yh,v),Qv.remove(_)},0)}}},[g,y,v,_]);const k=d.useCallback(j=>{if(!r&&!l||_.paused)return;const w=j.key==="Tab"&&!j.altKey&&!j.ctrlKey&&!j.metaKey,E=document.activeElement;if(w&&E){const z=j.currentTarget,[D,O]=U0(z);D&&O?!j.shiftKey&&E===O?(j.preventDefault(),r&&_a(D,{select:!0})):j.shiftKey&&E===D&&(j.preventDefault(),r&&_a(O,{select:!0})):E===z&&j.preventDefault()}},[r,l,_.paused]);return a.jsx(Fs.div,{tabIndex:-1,...h,ref:x,onKeyDown:k})});Mb.displayName=I0;function q0(n,{select:e=!1}={}){const r=document.activeElement;for(const l of n)if(_a(l,{select:e}),document.activeElement!==r)return}function U0(n){const e=Ib(n),r=Kv(e,n),l=Kv(e.reverse(),n);return[r,l]}function Ib(n){const e=[],r=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:l=>{const c=l.tagName==="INPUT"&&l.type==="hidden";return l.disabled||l.hidden||c?NodeFilter.FILTER_SKIP:l.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)e.push(r.currentNode);return e}function Kv(n,e){for(const r of n)if(!B0(r,{upTo:e}))return r}function B0(n,{upTo:e}){if(getComputedStyle(n).visibility==="hidden")return!0;for(;n;){if(e!==void 0&&n===e)return!1;if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}function P0(n){return n instanceof HTMLInputElement&&"select"in n}function _a(n,{select:e=!1}={}){if(n&&n.focus){const r=document.activeElement;n.focus({preventScroll:!0}),n!==r&&P0(n)&&e&&n.select()}}var Qv=$0();function $0(){let n=[];return{add(e){const r=n[0];e!==r&&r?.pause(),n=Xv(n,e),n.unshift(e)},remove(e){n=Xv(n,e),n[0]?.resume()}}}function Xv(n,e){const r=[...n],l=r.indexOf(e);return l!==-1&&r.splice(l,1),r}function H0(n){return n.filter(e=>e.tagName!=="A")}var G0="Portal",qb=d.forwardRef((n,e)=>{const{container:r,...l}=n,[c,u]=d.useState(!1);wl(()=>u(!0),[]);const h=r||c&&globalThis?.document?.body;return h?Fk.createPortal(a.jsx(Fs.div,{...l,ref:e}),h):null});qb.displayName=G0;function F0(n,e){return d.useReducer((r,l)=>e[r][l]??r,n)}var Uc=n=>{const{present:e,children:r}=n,l=V0(e),c=typeof r=="function"?r({present:l.isPresent}):d.Children.only(r),u=er(l.ref,Y0(c));return typeof r=="function"||l.isPresent?d.cloneElement(c,{ref:u}):null};Uc.displayName="Presence";function V0(n){const[e,r]=d.useState(),l=d.useRef(null),c=d.useRef(n),u=d.useRef("none"),h=n?"mounted":"unmounted",[g,p]=F0(h,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d.useEffect(()=>{const y=ec(l.current);u.current=g==="mounted"?y:"none"},[g]),wl(()=>{const y=l.current,v=c.current;if(v!==n){const x=u.current,_=ec(y);n?p("MOUNT"):_==="none"||y?.display==="none"?p("UNMOUNT"):p(v&&x!==_?"ANIMATION_OUT":"UNMOUNT"),c.current=n}},[n,p]),wl(()=>{if(e){let y;const v=e.ownerDocument.defaultView??window,S=_=>{const j=ec(l.current).includes(CSS.escape(_.animationName));if(_.target===e&&j&&(p("ANIMATION_END"),!c.current)){const w=e.style.animationFillMode;e.style.animationFillMode="forwards",y=v.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=w)})}},x=_=>{_.target===e&&(u.current=ec(l.current))};return e.addEventListener("animationstart",x),e.addEventListener("animationcancel",S),e.addEventListener("animationend",S),()=>{v.clearTimeout(y),e.removeEventListener("animationstart",x),e.removeEventListener("animationcancel",S),e.removeEventListener("animationend",S)}}else p("ANIMATION_END")},[e,p]),{isPresent:["mounted","unmountSuspended"].includes(g),ref:d.useCallback(y=>{l.current=y?getComputedStyle(y):null,r(y)},[])}}function ec(n){return n?.animationName||"none"}function Y0(n){let e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get,r=e&&"isReactWarning"in e&&e.isReactWarning;return r?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get,r=e&&"isReactWarning"in e&&e.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var vh=0;function K0(){d.useEffect(()=>{const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",n[0]??Zv()),document.body.insertAdjacentElement("beforeend",n[1]??Zv()),vh++,()=>{vh===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),vh--}},[])}function Zv(){const n=document.createElement("span");return n.setAttribute("data-radix-focus-guard",""),n.tabIndex=0,n.style.outline="none",n.style.opacity="0",n.style.position="fixed",n.style.pointerEvents="none",n}var fs=function(){return fs=Object.assign||function(e){for(var r,l=1,c=arguments.length;l<c;l++){r=arguments[l];for(var u in r)Object.prototype.hasOwnProperty.call(r,u)&&(e[u]=r[u])}return e},fs.apply(this,arguments)};function Ub(n,e){var r={};for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&e.indexOf(l)<0&&(r[l]=n[l]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var c=0,l=Object.getOwnPropertySymbols(n);c<l.length;c++)e.indexOf(l[c])<0&&Object.prototype.propertyIsEnumerable.call(n,l[c])&&(r[l[c]]=n[l[c]]);return r}function Q0(n,e,r){if(r||arguments.length===2)for(var l=0,c=e.length,u;l<c;l++)(u||!(l in e))&&(u||(u=Array.prototype.slice.call(e,0,l)),u[l]=e[l]);return n.concat(u||Array.prototype.slice.call(e))}var vc="right-scroll-bar-position",xc="width-before-scroll-bar",X0="with-scroll-bars-hidden",Z0="--removed-body-scroll-bar-size";function xh(n,e){return typeof n=="function"?n(e):n&&(n.current=e),n}function W0(n,e){var r=d.useState(function(){return{value:n,callback:e,facade:{get current(){return r.value},set current(l){var c=r.value;c!==l&&(r.value=l,r.callback(l,c))}}}})[0];return r.callback=e,r.facade}var J0=typeof window<"u"?d.useLayoutEffect:d.useEffect,Wv=new WeakMap;function eE(n,e){var r=W0(null,function(l){return n.forEach(function(c){return xh(c,l)})});return J0(function(){var l=Wv.get(r);if(l){var c=new Set(l),u=new Set(n),h=r.current;c.forEach(function(g){u.has(g)||xh(g,null)}),u.forEach(function(g){c.has(g)||xh(g,h)})}Wv.set(r,n)},[n]),r}function tE(n){return n}function nE(n,e){e===void 0&&(e=tE);var r=[],l=!1,c={read:function(){if(l)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:n},useMedium:function(u){var h=e(u,l);return r.push(h),function(){r=r.filter(function(g){return g!==h})}},assignSyncMedium:function(u){for(l=!0;r.length;){var h=r;r=[],h.forEach(u)}r={push:function(g){return u(g)},filter:function(){return r}}},assignMedium:function(u){l=!0;var h=[];if(r.length){var g=r;r=[],g.forEach(u),h=r}var p=function(){var v=h;h=[],v.forEach(u)},y=function(){return Promise.resolve().then(p)};y(),r={push:function(v){h.push(v),y()},filter:function(v){return h=h.filter(v),r}}}};return c}function sE(n){n===void 0&&(n={});var e=nE(null);return e.options=fs({async:!0,ssr:!1},n),e}var Bb=function(n){var e=n.sideCar,r=Ub(n,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var l=e.read();if(!l)throw new Error("Sidecar medium not found");return d.createElement(l,fs({},r))};Bb.isSideCarExport=!0;function aE(n,e){return n.useMedium(e),Bb}var Pb=sE(),bh=function(){},Bc=d.forwardRef(function(n,e){var r=d.useRef(null),l=d.useState({onScrollCapture:bh,onWheelCapture:bh,onTouchMoveCapture:bh}),c=l[0],u=l[1],h=n.forwardProps,g=n.children,p=n.className,y=n.removeScrollBar,v=n.enabled,S=n.shards,x=n.sideCar,_=n.noRelative,k=n.noIsolation,j=n.inert,w=n.allowPinchZoom,E=n.as,z=E===void 0?"div":E,D=n.gapMode,O=Ub(n,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),R=x,N=eE([r,e]),C=fs(fs({},O),c);return d.createElement(d.Fragment,null,v&&d.createElement(R,{sideCar:Pb,removeScrollBar:y,shards:S,noRelative:_,noIsolation:k,inert:j,setCallbacks:u,allowPinchZoom:!!w,lockRef:r,gapMode:D}),h?d.cloneElement(d.Children.only(g),fs(fs({},C),{ref:N})):d.createElement(z,fs({},C,{className:p,ref:N}),g))});Bc.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Bc.classNames={fullWidth:xc,zeroRight:vc};var rE=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function iE(){if(!document)return null;var n=document.createElement("style");n.type="text/css";var e=rE();return e&&n.setAttribute("nonce",e),n}function lE(n,e){n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}function oE(n){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(n)}var cE=function(){var n=0,e=null;return{add:function(r){n==0&&(e=iE())&&(lE(e,r),oE(e)),n++},remove:function(){n--,!n&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}},uE=function(){var n=cE();return function(e,r){d.useEffect(function(){return n.add(e),function(){n.remove()}},[e&&r])}},$b=function(){var n=uE(),e=function(r){var l=r.styles,c=r.dynamic;return n(l,c),null};return e},dE={left:0,top:0,right:0,gap:0},_h=function(n){return parseInt(n||"",10)||0},hE=function(n){var e=window.getComputedStyle(document.body),r=e[n==="padding"?"paddingLeft":"marginLeft"],l=e[n==="padding"?"paddingTop":"marginTop"],c=e[n==="padding"?"paddingRight":"marginRight"];return[_h(r),_h(l),_h(c)]},fE=function(n){if(n===void 0&&(n="margin"),typeof window>"u")return dE;var e=hE(n),r=document.documentElement.clientWidth,l=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,l-r+e[2]-e[0])}},pE=$b(),Zr="data-scroll-locked",gE=function(n,e,r,l){var c=n.left,u=n.top,h=n.right,g=n.gap;return r===void 0&&(r="margin"),`
|
|
12
|
+
.`.concat(X0,` {
|
|
13
|
+
overflow: hidden `).concat(l,`;
|
|
14
|
+
padding-right: `).concat(g,"px ").concat(l,`;
|
|
15
|
+
}
|
|
16
|
+
body[`).concat(Zr,`] {
|
|
17
|
+
overflow: hidden `).concat(l,`;
|
|
18
|
+
overscroll-behavior: contain;
|
|
19
|
+
`).concat([e&&"position: relative ".concat(l,";"),r==="margin"&&`
|
|
20
|
+
padding-left: `.concat(c,`px;
|
|
21
|
+
padding-top: `).concat(u,`px;
|
|
22
|
+
padding-right: `).concat(h,`px;
|
|
23
|
+
margin-left:0;
|
|
24
|
+
margin-top:0;
|
|
25
|
+
margin-right: `).concat(g,"px ").concat(l,`;
|
|
26
|
+
`),r==="padding"&&"padding-right: ".concat(g,"px ").concat(l,";")].filter(Boolean).join(""),`
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.`).concat(vc,` {
|
|
30
|
+
right: `).concat(g,"px ").concat(l,`;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.`).concat(xc,` {
|
|
34
|
+
margin-right: `).concat(g,"px ").concat(l,`;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.`).concat(vc," .").concat(vc,` {
|
|
38
|
+
right: 0 `).concat(l,`;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.`).concat(xc," .").concat(xc,` {
|
|
42
|
+
margin-right: 0 `).concat(l,`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
body[`).concat(Zr,`] {
|
|
46
|
+
`).concat(Z0,": ").concat(g,`px;
|
|
47
|
+
}
|
|
48
|
+
`)},Jv=function(){var n=parseInt(document.body.getAttribute(Zr)||"0",10);return isFinite(n)?n:0},mE=function(){d.useEffect(function(){return document.body.setAttribute(Zr,(Jv()+1).toString()),function(){var n=Jv()-1;n<=0?document.body.removeAttribute(Zr):document.body.setAttribute(Zr,n.toString())}},[])},yE=function(n){var e=n.noRelative,r=n.noImportant,l=n.gapMode,c=l===void 0?"margin":l;mE();var u=d.useMemo(function(){return fE(c)},[c]);return d.createElement(pE,{styles:gE(u,!e,c,r?"":"!important")})},Gh=!1;if(typeof window<"u")try{var tc=Object.defineProperty({},"passive",{get:function(){return Gh=!0,!0}});window.addEventListener("test",tc,tc),window.removeEventListener("test",tc,tc)}catch{Gh=!1}var Pr=Gh?{passive:!1}:!1,vE=function(n){return n.tagName==="TEXTAREA"},Hb=function(n,e){if(!(n instanceof Element))return!1;var r=window.getComputedStyle(n);return r[e]!=="hidden"&&!(r.overflowY===r.overflowX&&!vE(n)&&r[e]==="visible")},xE=function(n){return Hb(n,"overflowY")},bE=function(n){return Hb(n,"overflowX")},ex=function(n,e){var r=e.ownerDocument,l=e;do{typeof ShadowRoot<"u"&&l instanceof ShadowRoot&&(l=l.host);var c=Gb(n,l);if(c){var u=Fb(n,l),h=u[1],g=u[2];if(h>g)return!0}l=l.parentNode}while(l&&l!==r.body);return!1},_E=function(n){var e=n.scrollTop,r=n.scrollHeight,l=n.clientHeight;return[e,r,l]},SE=function(n){var e=n.scrollLeft,r=n.scrollWidth,l=n.clientWidth;return[e,r,l]},Gb=function(n,e){return n==="v"?xE(e):bE(e)},Fb=function(n,e){return n==="v"?_E(e):SE(e)},jE=function(n,e){return n==="h"&&e==="rtl"?-1:1},TE=function(n,e,r,l,c){var u=jE(n,window.getComputedStyle(e).direction),h=u*l,g=r.target,p=e.contains(g),y=!1,v=h>0,S=0,x=0;do{if(!g)break;var _=Fb(n,g),k=_[0],j=_[1],w=_[2],E=j-w-u*k;(k||E)&&Gb(n,g)&&(S+=E,x+=k);var z=g.parentNode;g=z&&z.nodeType===Node.DOCUMENT_FRAGMENT_NODE?z.host:z}while(!p&&g!==document.body||p&&(e.contains(g)||e===g));return(v&&Math.abs(S)<1||!v&&Math.abs(x)<1)&&(y=!0),y},nc=function(n){return"changedTouches"in n?[n.changedTouches[0].clientX,n.changedTouches[0].clientY]:[0,0]},tx=function(n){return[n.deltaX,n.deltaY]},nx=function(n){return n&&"current"in n?n.current:n},wE=function(n,e){return n[0]===e[0]&&n[1]===e[1]},kE=function(n){return`
|
|
49
|
+
.block-interactivity-`.concat(n,` {pointer-events: none;}
|
|
50
|
+
.allow-interactivity-`).concat(n,` {pointer-events: all;}
|
|
51
|
+
`)},EE=0,$r=[];function CE(n){var e=d.useRef([]),r=d.useRef([0,0]),l=d.useRef(),c=d.useState(EE++)[0],u=d.useState($b)[0],h=d.useRef(n);d.useEffect(function(){h.current=n},[n]),d.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(c));var j=Q0([n.lockRef.current],(n.shards||[]).map(nx),!0).filter(Boolean);return j.forEach(function(w){return w.classList.add("allow-interactivity-".concat(c))}),function(){document.body.classList.remove("block-interactivity-".concat(c)),j.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(c))})}}},[n.inert,n.lockRef.current,n.shards]);var g=d.useCallback(function(j,w){if("touches"in j&&j.touches.length===2||j.type==="wheel"&&j.ctrlKey)return!h.current.allowPinchZoom;var E=nc(j),z=r.current,D="deltaX"in j?j.deltaX:z[0]-E[0],O="deltaY"in j?j.deltaY:z[1]-E[1],R,N=j.target,C=Math.abs(D)>Math.abs(O)?"h":"v";if("touches"in j&&C==="h"&&N.type==="range")return!1;var L=window.getSelection(),U=L&&L.anchorNode,B=U?U===N||U.contains(N):!1;if(B)return!1;var $=ex(C,N);if(!$)return!0;if($?R=C:(R=C==="v"?"h":"v",$=ex(C,N)),!$)return!1;if(!l.current&&"changedTouches"in j&&(D||O)&&(l.current=R),!R)return!0;var F=l.current||R;return TE(F,w,j,F==="h"?D:O)},[]),p=d.useCallback(function(j){var w=j;if(!(!$r.length||$r[$r.length-1]!==u)){var E="deltaY"in w?tx(w):nc(w),z=e.current.filter(function(R){return R.name===w.type&&(R.target===w.target||w.target===R.shadowParent)&&wE(R.delta,E)})[0];if(z&&z.should){w.cancelable&&w.preventDefault();return}if(!z){var D=(h.current.shards||[]).map(nx).filter(Boolean).filter(function(R){return R.contains(w.target)}),O=D.length>0?g(w,D[0]):!h.current.noIsolation;O&&w.cancelable&&w.preventDefault()}}},[]),y=d.useCallback(function(j,w,E,z){var D={name:j,delta:w,target:E,should:z,shadowParent:NE(E)};e.current.push(D),setTimeout(function(){e.current=e.current.filter(function(O){return O!==D})},1)},[]),v=d.useCallback(function(j){r.current=nc(j),l.current=void 0},[]),S=d.useCallback(function(j){y(j.type,tx(j),j.target,g(j,n.lockRef.current))},[]),x=d.useCallback(function(j){y(j.type,nc(j),j.target,g(j,n.lockRef.current))},[]);d.useEffect(function(){return $r.push(u),n.setCallbacks({onScrollCapture:S,onWheelCapture:S,onTouchMoveCapture:x}),document.addEventListener("wheel",p,Pr),document.addEventListener("touchmove",p,Pr),document.addEventListener("touchstart",v,Pr),function(){$r=$r.filter(function(j){return j!==u}),document.removeEventListener("wheel",p,Pr),document.removeEventListener("touchmove",p,Pr),document.removeEventListener("touchstart",v,Pr)}},[]);var _=n.removeScrollBar,k=n.inert;return d.createElement(d.Fragment,null,k?d.createElement(u,{styles:kE(c)}):null,_?d.createElement(yE,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function NE(n){for(var e=null;n!==null;)n instanceof ShadowRoot&&(e=n.host,n=n.host),n=n.parentNode;return e}const AE=aE(Pb,CE);var Vb=d.forwardRef(function(n,e){return d.createElement(Bc,fs({},n,{ref:e,sideCar:AE}))});Vb.classNames=Bc.classNames;var RE=function(n){if(typeof document>"u")return null;var e=Array.isArray(n)?n[0]:n;return e.ownerDocument.body},Hr=new WeakMap,sc=new WeakMap,ac={},Sh=0,Yb=function(n){return n&&(n.host||Yb(n.parentNode))},DE=function(n,e){return e.map(function(r){if(n.contains(r))return r;var l=Yb(r);return l&&n.contains(l)?l:(console.error("aria-hidden",r,"in not contained inside",n,". Doing nothing"),null)}).filter(function(r){return!!r})},zE=function(n,e,r,l){var c=DE(e,Array.isArray(n)?n:[n]);ac[r]||(ac[r]=new WeakMap);var u=ac[r],h=[],g=new Set,p=new Set(c),y=function(S){!S||g.has(S)||(g.add(S),y(S.parentNode))};c.forEach(y);var v=function(S){!S||p.has(S)||Array.prototype.forEach.call(S.children,function(x){if(g.has(x))v(x);else try{var _=x.getAttribute(l),k=_!==null&&_!=="false",j=(Hr.get(x)||0)+1,w=(u.get(x)||0)+1;Hr.set(x,j),u.set(x,w),h.push(x),j===1&&k&&sc.set(x,!0),w===1&&x.setAttribute(r,"true"),k||x.setAttribute(l,"true")}catch(E){console.error("aria-hidden: cannot operate on ",x,E)}})};return v(e),g.clear(),Sh++,function(){h.forEach(function(S){var x=Hr.get(S)-1,_=u.get(S)-1;Hr.set(S,x),u.set(S,_),x||(sc.has(S)||S.removeAttribute(l),sc.delete(S)),_||S.removeAttribute(r)}),Sh--,Sh||(Hr=new WeakMap,Hr=new WeakMap,sc=new WeakMap,ac={})}},OE=function(n,e,r){r===void 0&&(r="data-aria-hidden");var l=Array.from(Array.isArray(n)?n:[n]),c=RE(n);return c?(l.push.apply(l,Array.from(c.querySelectorAll("[aria-live], script"))),zE(l,c,r,"aria-hidden")):function(){return null}},Pc="Dialog",[Kb]=p0(Pc),[LE,ss]=Kb(Pc),Qb=n=>{const{__scopeDialog:e,children:r,open:l,defaultOpen:c,onOpenChange:u,modal:h=!0}=n,g=d.useRef(null),p=d.useRef(null),[y,v]=x0({prop:l,defaultProp:c??!1,onChange:u,caller:Pc});return a.jsx(LE,{scope:e,triggerRef:g,contentRef:p,contentId:gh(),titleId:gh(),descriptionId:gh(),open:y,onOpenChange:v,onOpenToggle:d.useCallback(()=>v(S=>!S),[v]),modal:h,children:r})};Qb.displayName=Pc;var Xb="DialogTrigger",ME=d.forwardRef((n,e)=>{const{__scopeDialog:r,...l}=n,c=ss(Xb,r),u=er(e,c.triggerRef);return a.jsx(Fs.button,{type:"button","aria-haspopup":"dialog","aria-expanded":c.open,"aria-controls":c.contentId,"data-state":Tf(c.open),...l,ref:u,onClick:ja(n.onClick,c.onOpenToggle)})});ME.displayName=Xb;var Sf="DialogPortal",[IE,Zb]=Kb(Sf,{forceMount:void 0}),Wb=n=>{const{__scopeDialog:e,forceMount:r,children:l,container:c}=n,u=ss(Sf,e);return a.jsx(IE,{scope:e,forceMount:r,children:d.Children.map(l,h=>a.jsx(Uc,{present:r||u.open,children:a.jsx(qb,{asChild:!0,container:c,children:h})}))})};Wb.displayName=Sf;var Nc="DialogOverlay",Jb=d.forwardRef((n,e)=>{const r=Zb(Nc,n.__scopeDialog),{forceMount:l=r.forceMount,...c}=n,u=ss(Nc,n.__scopeDialog);return u.modal?a.jsx(Uc,{present:l||u.open,children:a.jsx(UE,{...c,ref:e})}):null});Jb.displayName=Nc;var qE=Db("DialogOverlay.RemoveScroll"),UE=d.forwardRef((n,e)=>{const{__scopeDialog:r,...l}=n,c=ss(Nc,r);return a.jsx(Vb,{as:qE,allowPinchZoom:!0,shards:[c.contentRef],children:a.jsx(Fs.div,{"data-state":Tf(c.open),...l,ref:e,style:{pointerEvents:"auto",...l.style}})})}),Wa="DialogContent",e_=d.forwardRef((n,e)=>{const r=Zb(Wa,n.__scopeDialog),{forceMount:l=r.forceMount,...c}=n,u=ss(Wa,n.__scopeDialog);return a.jsx(Uc,{present:l||u.open,children:u.modal?a.jsx(BE,{...c,ref:e}):a.jsx(PE,{...c,ref:e})})});e_.displayName=Wa;var BE=d.forwardRef((n,e)=>{const r=ss(Wa,n.__scopeDialog),l=d.useRef(null),c=er(e,r.contentRef,l);return d.useEffect(()=>{const u=l.current;if(u)return OE(u)},[]),a.jsx(t_,{...n,ref:c,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ja(n.onCloseAutoFocus,u=>{u.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:ja(n.onPointerDownOutside,u=>{const h=u.detail.originalEvent,g=h.button===0&&h.ctrlKey===!0;(h.button===2||g)&&u.preventDefault()}),onFocusOutside:ja(n.onFocusOutside,u=>u.preventDefault())})}),PE=d.forwardRef((n,e)=>{const r=ss(Wa,n.__scopeDialog),l=d.useRef(!1),c=d.useRef(!1);return a.jsx(t_,{...n,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:u=>{n.onCloseAutoFocus?.(u),u.defaultPrevented||(l.current||r.triggerRef.current?.focus(),u.preventDefault()),l.current=!1,c.current=!1},onInteractOutside:u=>{n.onInteractOutside?.(u),u.defaultPrevented||(l.current=!0,u.detail.originalEvent.type==="pointerdown"&&(c.current=!0));const h=u.target;r.triggerRef.current?.contains(h)&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&c.current&&u.preventDefault()}})}),t_=d.forwardRef((n,e)=>{const{__scopeDialog:r,trapFocus:l,onOpenAutoFocus:c,onCloseAutoFocus:u,...h}=n,g=ss(Wa,r),p=d.useRef(null),y=er(e,p);return K0(),a.jsxs(a.Fragment,{children:[a.jsx(Mb,{asChild:!0,loop:!0,trapped:l,onMountAutoFocus:c,onUnmountAutoFocus:u,children:a.jsx(Ob,{role:"dialog",id:g.contentId,"aria-describedby":g.descriptionId,"aria-labelledby":g.titleId,"data-state":Tf(g.open),...h,ref:y,onDismiss:()=>g.onOpenChange(!1)})}),a.jsxs(a.Fragment,{children:[a.jsx(HE,{titleId:g.titleId}),a.jsx(FE,{contentRef:p,descriptionId:g.descriptionId})]})]})}),jf="DialogTitle",n_=d.forwardRef((n,e)=>{const{__scopeDialog:r,...l}=n,c=ss(jf,r);return a.jsx(Fs.h2,{id:c.titleId,...l,ref:e})});n_.displayName=jf;var s_="DialogDescription",a_=d.forwardRef((n,e)=>{const{__scopeDialog:r,...l}=n,c=ss(s_,r);return a.jsx(Fs.p,{id:c.descriptionId,...l,ref:e})});a_.displayName=s_;var r_="DialogClose",$E=d.forwardRef((n,e)=>{const{__scopeDialog:r,...l}=n,c=ss(r_,r);return a.jsx(Fs.button,{type:"button",...l,ref:e,onClick:ja(n.onClick,()=>c.onOpenChange(!1))})});$E.displayName=r_;function Tf(n){return n?"open":"closed"}var i_="DialogTitleWarning",[tL,l_]=f0(i_,{contentName:Wa,titleName:jf,docsSlug:"dialog"}),HE=({titleId:n})=>{const e=l_(i_),r=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
|
|
52
|
+
|
|
53
|
+
If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
54
|
+
|
|
55
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return d.useEffect(()=>{n&&(document.getElementById(n)||console.error(r))},[r,n]),null},GE="DialogDescriptionWarning",FE=({contentRef:n,descriptionId:e})=>{const l=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${l_(GE).contentName}}.`;return d.useEffect(()=>{const c=n.current?.getAttribute("aria-describedby");e&&c&&(document.getElementById(e)||console.warn(l))},[l,n,e]),null},VE=Qb,YE=Wb,KE=Jb,QE=e_,XE=n_,ZE=a_;function WE({open:n,onOpenChange:e,title:r,description:l,children:c}){return a.jsx(VE,{open:n,onOpenChange:e,children:a.jsxs(YE,{children:[a.jsx(KE,{className:"modal__overlay"}),a.jsxs(QE,{className:"modal__content",...l?{}:{"aria-describedby":void 0},children:[a.jsx(XE,{className:"modal__title",children:r}),l?a.jsx(ZE,{className:"modal__description",children:l}):null,c]})]})})}function JE(){const[n,e]=d.useState("sign-in"),[r,l]=d.useState(""),[c,u]=d.useState(""),[h,g]=d.useState(""),[p,y]=d.useState(""),[v,S]=d.useState(""),[x,_]=d.useState(!1),{login:k,refreshAuth:j,isLoading:w,isAuthenticated:E}=ln(),z=ze(),O=It().state?.from,R=O?.pathname||"/",N=O?.search||"",C=R==="/logout"?"/":`${R}${N}`;d.useEffect(()=>{!w&&E&&(console.log("you're in mate"),z(C))},[w,E,C]);const L=async $=>{$.preventDefault(),_(!0),S("");try{await k(r,c),z(C,{replace:!0})}catch{S("Invalid email or password")}finally{_(!1)}},U=async $=>{$.preventDefault(),_(!0),S("");try{const F=await an.webAuthControllerGetAccountSetupStatus({email:r});if(!F.canSetup){S("That email is not ready for account setup. Ask an admin to create or reset the account.");return}l(F.email),e("setup-account")}catch(F){S(sx(F,"Could not check that email."))}finally{_(!1)}},B=async $=>{$.preventDefault(),_(!0),S("");try{await an.webAuthControllerSetupAccount({email:r,displayName:h,slug:p,password:c}),await j(),z(C,{replace:!0})}catch(F){S(sx(F,"Failed to set up account."))}finally{_(!1)}};return n==="setup-email"?a.jsx("form",{onSubmit:U,children:a.jsxs(te,{spacing:"6",children:[a.jsxs(te,{spacing:"2",align:"center",children:[a.jsx(b,{size:"6",weight:"bold",className:"login__copy",children:"Create account"}),a.jsx(b,{tone:"muted",className:"login__copy",children:"Enter the email an admin invited or reset for you."})]}),a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"setup-email",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Email"})}),a.jsx("input",{id:"setup-email",type:"email",value:r,onChange:$=>l($.target.value),className:"login-input",placeholder:"name@work.com",required:!0,disabled:x,autoComplete:"email"})]}),v&&a.jsx(Dt,{size:"2",weight:"medium",children:v}),a.jsx(re,{type:"submit",variant:"primary",size:"lg",disabled:x,className:"login-button",children:x?"Checking...":"Continue"}),a.jsx(re,{type:"button",variant:"secondary",size:"lg",disabled:x,className:"login-button",onClick:()=>{e("sign-in"),S("")},children:"Back to sign in"})]})]})}):n==="setup-account"?a.jsx("form",{onSubmit:B,children:a.jsxs(te,{spacing:"6",children:[a.jsxs(te,{spacing:"2",align:"center",children:[a.jsx(b,{size:"6",weight:"bold",className:"login__copy",children:"Set up account"}),a.jsxs(b,{tone:"muted",className:"login__copy",children:["Finish your profile and create a password for ",r,"."]})]}),a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"setup-display-name",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Display name"})}),a.jsx("input",{id:"setup-display-name",type:"text",value:h,onChange:$=>g($.target.value),className:"login-input",placeholder:"Jane User",required:!0,disabled:x,autoComplete:"name"})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"setup-slug",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Username"})}),a.jsx("input",{id:"setup-slug",type:"text",value:p,onChange:$=>y($.target.value),className:"login-input",placeholder:"jane",required:!0,disabled:x,autoComplete:"username"})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"setup-password",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Password"})}),a.jsx("input",{id:"setup-password",type:"password",value:c,onChange:$=>u($.target.value),className:"login-input",placeholder:"••••••••",required:!0,disabled:x,autoComplete:"new-password"})]}),v&&a.jsx(Dt,{size:"2",weight:"medium",children:v}),a.jsx(re,{type:"submit",variant:"primary",size:"lg",disabled:x,className:"login-button",children:x?"Creating account...":"Create account"}),a.jsx(re,{type:"button",variant:"secondary",size:"lg",disabled:x,className:"login-button",onClick:()=>{e("setup-email"),S("")},children:"Use a different email"})]})]})}):a.jsx("form",{onSubmit:L,children:a.jsxs(te,{spacing:"6",children:[a.jsxs(te,{spacing:"2",align:"center",children:[a.jsx(b,{size:"6",weight:"bold",className:"login__copy",children:"Taico"}),a.jsx(b,{tone:"muted",className:"login__copy",children:"Where people and agents collaborate in threads, using shared context to get work done."})]}),a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"email",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Email"})}),a.jsx("input",{id:"email",type:"email",value:r,onChange:$=>l($.target.value),className:"login-input",placeholder:"name@work.com",required:!0,disabled:x,autoComplete:"email"})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"password",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Password"})}),a.jsx("input",{id:"password",type:"password",value:c,onChange:$=>u($.target.value),className:"login-input",placeholder:"••••••••",required:!0,disabled:x,autoComplete:"current-password"})]}),v&&a.jsx(Dt,{size:"2",weight:"medium",className:"",children:v}),a.jsx(re,{type:"submit",variant:"primary",size:"lg",disabled:x,className:"login-button",children:x?"Signing in...":"Sign In"}),a.jsx(re,{type:"button",variant:"secondary",size:"lg",disabled:x,className:"login-button",onClick:()=>{e("setup-email"),S(""),u("")},children:"Create account"})]})]})})}function sx(n,e){return n?.body?.detail||n?.body?.title||n?.message||e}function eC(){return a.jsx(Nb,{children:a.jsx(JE,{})})}function tC(){const[n,e]=d.useState(""),[r,l]=d.useState(""),[c,u]=d.useState(""),[h,g]=d.useState(""),[p,y]=d.useState(""),[v,S]=d.useState(!1),{refreshAuth:x}=ln(),_=ze(),k=async j=>{j.preventDefault(),S(!0),y("");try{await an.webAuthControllerOnboard({email:n,displayName:r,slug:c,password:h}),await x(),_("/",{replace:!0})}catch(w){let E="Failed to create admin user";w.body?.context?.fields&&Array.isArray(w.body.context.fields)?E=w.body.context.fields.join(", "):w.body?.detail?E=w.body.detail:w.body?.title?E=w.body.title:w.message&&(E=w.message),y(E)}finally{S(!1)}};return a.jsx("form",{onSubmit:k,children:a.jsxs(te,{spacing:"6",children:[a.jsxs(te,{spacing:"2",align:"center",children:[a.jsx(b,{size:"6",weight:"bold",className:"login__copy",children:"Welcome to Taico"}),a.jsx(b,{tone:"muted",className:"login__copy",children:"Let's set up your first admin account to get started."})]}),a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"displayName",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Display Name"})}),a.jsx("input",{id:"displayName",type:"text",value:r,onChange:j=>l(j.target.value),className:"login-input",placeholder:"Admin User",required:!0,disabled:v,autoComplete:"name"})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"slug",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Username"})}),a.jsx("input",{id:"slug",type:"text",value:c,onChange:j=>u(j.target.value),className:"login-input",placeholder:"admin",required:!0,disabled:v,autoComplete:"username"})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"email",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Email"})}),a.jsx("input",{id:"email",type:"email",value:n,onChange:j=>e(j.target.value),className:"login-input",placeholder:"admin@example.com",required:!0,disabled:v,autoComplete:"email"}),a.jsx(b,{size:"1",tone:"muted",children:"Email is not verified and cannot be changed later. Make sure it's correct."})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"password",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Password"})}),a.jsx("input",{id:"password",type:"password",value:h,onChange:j=>g(j.target.value),className:"login-input",placeholder:"••••••••",required:!0,disabled:v,autoComplete:"new-password"}),a.jsx(b,{size:"1",tone:"muted",children:"Remember this password - you won't receive a confirmation email."})]}),p&&a.jsx(Dt,{size:"2",weight:"medium",className:"",children:p}),a.jsx(re,{type:"submit",variant:"primary",size:"lg",disabled:v,className:"login-button",children:v?"Creating account...":"Create Admin Account"})]})]})})}function nC(){return a.jsx(Nb,{children:a.jsx(tC,{})})}function sC({children:n}){const{isAuthenticated:e,isLoading:r}=ln(),l=It();return r?null:e?a.jsx(a.Fragment,{children:n}):a.jsx(Hs,{to:"/login",state:{from:l},replace:!0})}const aC=4;function rC({children:n}){const[e,r]=d.useState(null),[l,c]=d.useState(!0),[u,h]=d.useState(null),[g,p]=d.useState(0);return d.useEffect(()=>{let y=!0,v;const S=()=>{v&&clearTimeout(v)},x=async()=>{try{const _=await an.webAuthControllerGetOnboardingStatus();if(!y)return;S(),r(_.needsOnboarding),h(null)}catch(_){if(!y)return;console.error("Failed to check onboarding status:",_),h(_ instanceof Error?_:new Error("Failed to check onboarding status")),r(null),p(k=>k+1),v=setTimeout(()=>{S(),y&&x()},aC*1e3)}finally{y&&c(!1)}};return x(),()=>{y=!1,S()}},[]),l?null:u?a.jsx("div",{className:"onboarding-checker-shell",children:a.jsxs(te,{spacing:"4",align:"center",className:"onboarding-checker-card",children:[a.jsxs("span",{className:"onboarding-checker-signal","aria-hidden":"true",children:[a.jsx("span",{}),a.jsx("span",{}),a.jsx("span",{})]}),a.jsx(b,{size:"5",weight:"semibold",as:"div",children:"Reconnecting to Taico..."}),a.jsx(b,{size:"3",tone:"muted",as:"div",className:"onboarding-checker-copy",children:"The backend is not responding yet. We will keep retrying until it is back."}),a.jsxs(b,{size:"1",tone:"muted",as:"div",className:"onboarding-checker-feedback",children:["Retry attempt ",g]})]})}):e?a.jsx(Hs,{to:"/onboarding",replace:!0}):a.jsx(a.Fragment,{children:n})}function iC(n){return d.useSyncExternalStore(e=>{const r=window.matchMedia(n);return r.addEventListener("change",e),()=>r.removeEventListener("change",e)},()=>window.matchMedia(n).matches,()=>!1)}function zt(){return iC("(min-width: 768px)")}const o_=(...n)=>n.filter((e,r,l)=>!!e&&e.trim()!==""&&l.indexOf(e)===r).join(" ").trim();const lC=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const oC=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,l)=>l?l.toUpperCase():r.toLowerCase());const ax=n=>{const e=oC(n);return e.charAt(0).toUpperCase()+e.slice(1)};var jh={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const cC=n=>{for(const e in n)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1},uC=d.createContext({}),dC=()=>d.useContext(uC),hC=d.forwardRef(({color:n,size:e,strokeWidth:r,absoluteStrokeWidth:l,className:c="",children:u,iconNode:h,...g},p)=>{const{size:y=24,strokeWidth:v=2,absoluteStrokeWidth:S=!1,color:x="currentColor",className:_=""}=dC()??{},k=l??S?Number(r??v)*24/Number(e??y):r??v;return d.createElement("svg",{ref:p,...jh,width:e??y??jh.width,height:e??y??jh.height,stroke:n??x,strokeWidth:k,className:o_("lucide",_,c),...!u&&!cC(g)&&{"aria-hidden":"true"},...g},[...h.map(([j,w])=>d.createElement(j,w)),...Array.isArray(u)?u:[u]])});const qe=(n,e)=>{const r=d.forwardRef(({className:l,...c},u)=>d.createElement(hC,{ref:u,iconNode:e,className:o_(`lucide-${lC(ax(n))}`,`lucide-${n}`,l),...c}));return r.displayName=ax(n),r};const fC=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M22 8c0-2.3-.8-4.3-2-6",key:"5bb3ad"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}],["path",{d:"M4 2C2.8 3.7 2 5.7 2 8",key:"tap9e0"}]],pC=qe("bell-ring",fC);const gC=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],c_=qe("bot",gC);const mC=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],yC=qe("box",mC);const vC=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],u_=qe("calendar-days",vC);const xC=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],bC=qe("chevron-down",xC);const _C=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],d_=qe("chevron-right",_C);const SC=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],jC=qe("circle-check",SC);const TC=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]],h_=qe("clipboard-check",TC);const wC=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],kC=qe("database",wC);const EC=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],CC=qe("external-link",EC);const NC=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],AC=qe("eye",NC);const RC=[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]],Fh=qe("folder-kanban",RC);const DC=[["path",{d:"M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z",key:"1dudjm"}],["path",{d:"M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z",key:"l2t8xc"}],["path",{d:"M16 17h4",key:"1dejxt"}],["path",{d:"M4 13h4",key:"1bwh8b"}]],zC=qe("footprints",DC);const OC=[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]],f_=qe("git-branch",OC);const LC=[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9",key:"1hayfq"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"15ts47"}]],MC=qe("hammer",LC);const IC=[["path",{d:"M12.409 5.824c-.702.792-1.15 1.496-1.415 2.166l2.153 2.156a.5.5 0 0 1 0 .707l-2.293 2.293a.5.5 0 0 0 0 .707L12 15",key:"idzbju"}],["path",{d:"M13.508 20.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.677.6.6 0 0 0 .818.001A5.5 5.5 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5z",key:"1su70f"}]],qC=qe("heart-crack",IC);const UC=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],BC=qe("heart",UC);const PC=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],wf=qe("house",PC);const $C=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]],HC=qe("inbox",$C);const GC=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],FC=qe("key-round",GC);const VC=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],kf=qe("layers",VC);const YC=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],p_=qe("layout-dashboard",YC);const KC=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],QC=qe("lock-keyhole",KC);const XC=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],ZC=qe("lock",XC);const WC=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],JC=qe("maximize-2",WC);const e1=[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]],t1=qe("messages-square",e1);const n1=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],s1=qe("palette",n1);const a1=[["path",{d:"M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2",key:"19w3oe"}],["path",{d:"M18 6h.01",key:"1v4wsw"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z",key:"6fykxj"}],["path",{d:"M18 11.66V22a4 4 0 0 0 4-4V6",key:"1utzek"}]],r1=qe("pocket-knife",a1);const i1=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],l1=qe("puzzle",i1);const o1=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],c1=qe("rocket",o1);const u1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],d1=qe("search",u1);const h1=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],rx=qe("server",h1);const f1=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],g_=qe("settings",f1);const p1=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],g1=qe("shield",p1);const m1=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],y1=qe("sparkles",m1);const v1=[["path",{d:"M15.236 22a3 3 0 0 0-2.2-5",key:"21bitc"}],["path",{d:"M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4",key:"oh0fg0"}],["path",{d:"M18 13h.01",key:"9veqaj"}],["path",{d:"M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10",key:"980v8a"}]],m_=qe("squirrel",v1);const x1=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],b1=qe("user-plus",x1);const _1=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],S1=qe("users",_1);const j1=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],T1=qe("zap",j1);const w1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],k1=qe("zoom-in",w1);const E1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],C1=qe("zoom-out",E1),Bs=[{path:"/home",label:"Home",icon:wf},{path:"/tasks",label:"Tasks",icon:h_},{path:"/tasks/schedule",label:"Schedules",icon:u_},{path:"/context",label:"Context",icon:kf},{path:"/agents",label:"Agents",icon:m_},{path:"/threads",label:"Threads",icon:t1},{path:"/tools",label:"Tools",icon:r1},{path:"/runs",label:"Runs",icon:T1},{path:"/settings",label:"Settings",icon:g_},{path:"/logout",label:"Logout",icon:ZC}];function N1(n,e){return n===e||n.startsWith(e+"/")}function $c(n,e){let r=null;for(const l of e)N1(n,l.path)&&(r===null||l.path.length>r.length)&&(r=l.path);return r}function xt(n){const e=It();nn(),d.useEffect(()=>{const r=e.pathname;let l="taico";if(r.startsWith("/home"))l="taico";else if(r.match(/\/tasks\/task\/.+/)&&n?.task?.name){const c=n.task.name;l=c.length>50?c.substring(0,50)+"...":c}else if(r.startsWith("/tasks"))l="tasks";else if(r.match(/\/context\/block\/.+/)&&n?.contextBlock?.title){const c=n.contextBlock.title;l=c.length>50?c.substring(0,50)+"...":c}else if(r.startsWith("/context"))l="context";else if(r.startsWith("/settings"))l="settings";else if(r.match(/\/agents\/agent\/.+/)&&n?.agent?.name)l=n.agent.name;else if(r.startsWith("/agents"))l="agents";else if(r.match(/\/tools\/tool\/.+/)&&n?.tool?.name)l=n.tool.name;else if(r.startsWith("/tools"))l="tools";else if(r.match(/\/threads\/.+/)&&n?.thread?.title){const c=n.thread.title;l=c.length>50?c.substring(0,50)+"...":c}else r.startsWith("/threads")?l="threads":r.startsWith("/runs")||r.startsWith("/executions")?l="runs":r.startsWith("/walkthrough")&&(l="walkthrough");document.title=l},[e.pathname,n])}function Dl({icon:n,className:e,size:r=22}){if(typeof n=="string")return a.jsx("span",{className:e,children:n});const l=n;return a.jsx(l,{className:e,size:r,strokeWidth:1.5,absoluteStrokeWidth:!0})}const ms=Object.create(null);ms.open="0";ms.close="1";ms.ping="2";ms.pong="3";ms.message="4";ms.upgrade="5";ms.noop="6";const bc=Object.create(null);Object.keys(ms).forEach(n=>{bc[ms[n]]=n});const Vh={type:"error",data:"parser error"},y_=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",v_=typeof ArrayBuffer=="function",x_=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,Ef=({type:n,data:e},r,l)=>y_&&e instanceof Blob?r?l(e):ix(e,l):v_&&(e instanceof ArrayBuffer||x_(e))?r?l(e):ix(new Blob([e]),l):l(ms[n]+(e||"")),ix=(n,e)=>{const r=new FileReader;return r.onload=function(){const l=r.result.split(",")[1];e("b"+(l||""))},r.readAsDataURL(n)};function lx(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let Th;function A1(n,e){if(y_&&n.data instanceof Blob)return n.data.arrayBuffer().then(lx).then(e);if(v_&&(n.data instanceof ArrayBuffer||x_(n.data)))return e(lx(n.data));Ef(n,!1,r=>{Th||(Th=new TextEncoder),e(Th.encode(r))})}const ox="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",yl=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n<ox.length;n++)yl[ox.charCodeAt(n)]=n;const R1=n=>{let e=n.length*.75,r=n.length,l,c=0,u,h,g,p;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const y=new ArrayBuffer(e),v=new Uint8Array(y);for(l=0;l<r;l+=4)u=yl[n.charCodeAt(l)],h=yl[n.charCodeAt(l+1)],g=yl[n.charCodeAt(l+2)],p=yl[n.charCodeAt(l+3)],v[c++]=u<<2|h>>4,v[c++]=(h&15)<<4|g>>2,v[c++]=(g&3)<<6|p&63;return y},D1=typeof ArrayBuffer=="function",Cf=(n,e)=>{if(typeof n!="string")return{type:"message",data:b_(n,e)};const r=n.charAt(0);return r==="b"?{type:"message",data:z1(n.substring(1),e)}:bc[r]?n.length>1?{type:bc[r],data:n.substring(1)}:{type:bc[r]}:Vh},z1=(n,e)=>{if(D1){const r=R1(n);return b_(r,e)}else return{base64:!0,data:n}},b_=(n,e)=>e==="blob"?n instanceof Blob?n:new Blob([n]):n instanceof ArrayBuffer?n:n.buffer,__="",O1=(n,e)=>{const r=n.length,l=new Array(r);let c=0;n.forEach((u,h)=>{Ef(u,!1,g=>{l[h]=g,++c===r&&e(l.join(__))})})},L1=(n,e)=>{const r=n.split(__),l=[];for(let c=0;c<r.length;c++){const u=Cf(r[c],e);if(l.push(u),u.type==="error")break}return l};function M1(){return new TransformStream({transform(n,e){A1(n,r=>{const l=r.length;let c;if(l<126)c=new Uint8Array(1),new DataView(c.buffer).setUint8(0,l);else if(l<65536){c=new Uint8Array(3);const u=new DataView(c.buffer);u.setUint8(0,126),u.setUint16(1,l)}else{c=new Uint8Array(9);const u=new DataView(c.buffer);u.setUint8(0,127),u.setBigUint64(1,BigInt(l))}n.data&&typeof n.data!="string"&&(c[0]|=128),e.enqueue(c),e.enqueue(r)})}})}let wh;function rc(n){return n.reduce((e,r)=>e+r.length,0)}function ic(n,e){if(n[0].length===e)return n.shift();const r=new Uint8Array(e);let l=0;for(let c=0;c<e;c++)r[c]=n[0][l++],l===n[0].length&&(n.shift(),l=0);return n.length&&l<n[0].length&&(n[0]=n[0].slice(l)),r}function I1(n,e){wh||(wh=new TextDecoder);const r=[];let l=0,c=-1,u=!1;return new TransformStream({transform(h,g){for(r.push(h);;){if(l===0){if(rc(r)<1)break;const p=ic(r,1);u=(p[0]&128)===128,c=p[0]&127,c<126?l=3:c===126?l=1:l=2}else if(l===1){if(rc(r)<2)break;const p=ic(r,2);c=new DataView(p.buffer,p.byteOffset,p.length).getUint16(0),l=3}else if(l===2){if(rc(r)<8)break;const p=ic(r,8),y=new DataView(p.buffer,p.byteOffset,p.length),v=y.getUint32(0);if(v>Math.pow(2,21)-1){g.enqueue(Vh);break}c=v*Math.pow(2,32)+y.getUint32(4),l=3}else{if(rc(r)<c)break;const p=ic(r,c);g.enqueue(Cf(u?p:wh.decode(p),e)),l=0}if(c===0||c>n){g.enqueue(Vh);break}}}})}const S_=4;function Rt(n){if(n)return q1(n)}function q1(n){for(var e in Rt.prototype)n[e]=Rt.prototype[e];return n}Rt.prototype.on=Rt.prototype.addEventListener=function(n,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(e),this};Rt.prototype.once=function(n,e){function r(){this.off(n,r),e.apply(this,arguments)}return r.fn=e,this.on(n,r),this};Rt.prototype.off=Rt.prototype.removeListener=Rt.prototype.removeAllListeners=Rt.prototype.removeEventListener=function(n,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var r=this._callbacks["$"+n];if(!r)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;for(var l,c=0;c<r.length;c++)if(l=r[c],l===e||l.fn===e){r.splice(c,1);break}return r.length===0&&delete this._callbacks["$"+n],this};Rt.prototype.emit=function(n){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),r=this._callbacks["$"+n],l=1;l<arguments.length;l++)e[l-1]=arguments[l];if(r){r=r.slice(0);for(var l=0,c=r.length;l<c;++l)r[l].apply(this,e)}return this};Rt.prototype.emitReserved=Rt.prototype.emit;Rt.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};Rt.prototype.hasListeners=function(n){return!!this.listeners(n).length};const Hc=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,r)=>r(e,0),Pn=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),U1="arraybuffer";function j_(n,...e){return e.reduce((r,l)=>(n.hasOwnProperty(l)&&(r[l]=n[l]),r),{})}const B1=Pn.setTimeout,P1=Pn.clearTimeout;function Gc(n,e){e.useNativeTimers?(n.setTimeoutFn=B1.bind(Pn),n.clearTimeoutFn=P1.bind(Pn)):(n.setTimeoutFn=Pn.setTimeout.bind(Pn),n.clearTimeoutFn=Pn.clearTimeout.bind(Pn))}const $1=1.33;function H1(n){return typeof n=="string"?G1(n):Math.ceil((n.byteLength||n.size)*$1)}function G1(n){let e=0,r=0;for(let l=0,c=n.length;l<c;l++)e=n.charCodeAt(l),e<128?r+=1:e<2048?r+=2:e<55296||e>=57344?r+=3:(l++,r+=4);return r}function T_(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function F1(n){let e="";for(let r in n)n.hasOwnProperty(r)&&(e.length&&(e+="&"),e+=encodeURIComponent(r)+"="+encodeURIComponent(n[r]));return e}function V1(n){let e={},r=n.split("&");for(let l=0,c=r.length;l<c;l++){let u=r[l].split("=");e[decodeURIComponent(u[0])]=decodeURIComponent(u[1])}return e}class Y1 extends Error{constructor(e,r,l){super(e),this.description=r,this.context=l,this.type="TransportError"}}class Nf extends Rt{constructor(e){super(),this.writable=!1,Gc(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,r,l){return super.emitReserved("error",new Y1(e,r,l)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const r=Cf(e,this.socket.binaryType);this.onPacket(r)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,r={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(r)}_hostname(){const e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){const r=F1(e);return r.length?"?"+r:""}}class K1 extends Nf{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";const r=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let l=0;this._polling&&(l++,this.once("pollComplete",function(){--l||r()})),this.writable||(l++,this.once("drain",function(){--l||r()}))}else r()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const r=l=>{if(this.readyState==="opening"&&l.type==="open"&&this.onOpen(),l.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(l)};L1(e,this.socket.binaryType).forEach(r),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,O1(e,r=>{this.doWrite(r,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",r=this.query||{};return this.opts.timestampRequests!==!1&&(r[this.opts.timestampParam]=T_()),!this.supportsBinary&&!r.sid&&(r.b64=1),this.createUri(e,r)}}let w_=!1;try{w_=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Q1=w_;function X1(){}class Z1 extends K1{constructor(e){if(super(e),typeof location<"u"){const r=location.protocol==="https:";let l=location.port;l||(l=r?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||l!==e.port}}doWrite(e,r){const l=this.request({method:"POST",data:e});l.on("success",r),l.on("error",(c,u)=>{this.onError("xhr post error",c,u)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(r,l)=>{this.onError("xhr poll error",r,l)}),this.pollXhr=e}}class ps extends Rt{constructor(e,r,l){super(),this.createRequest=e,Gc(this,l),this._opts=l,this._method=l.method||"GET",this._uri=r,this._data=l.data!==void 0?l.data:null,this._create()}_create(){var e;const r=j_(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this._opts.xd;const l=this._xhr=this.createRequest(r);try{l.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){l.setDisableHeaderCheck&&l.setDisableHeaderCheck(!0);for(let c in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(c)&&l.setRequestHeader(c,this._opts.extraHeaders[c])}}catch{}if(this._method==="POST")try{l.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{l.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(l),"withCredentials"in l&&(l.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(l.timeout=this._opts.requestTimeout),l.onreadystatechange=()=>{var c;l.readyState===3&&((c=this._opts.cookieJar)===null||c===void 0||c.parseCookies(l.getResponseHeader("set-cookie"))),l.readyState===4&&(l.status===200||l.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof l.status=="number"?l.status:0)},0))},l.send(this._data)}catch(c){this.setTimeoutFn(()=>{this._onError(c)},0);return}typeof document<"u"&&(this._index=ps.requestsCount++,ps.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=X1,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete ps.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}ps.requestsCount=0;ps.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",cx);else if(typeof addEventListener=="function"){const n="onpagehide"in Pn?"pagehide":"unload";addEventListener(n,cx,!1)}}function cx(){for(let n in ps.requests)ps.requests.hasOwnProperty(n)&&ps.requests[n].abort()}const W1=(function(){const n=k_({xdomain:!1});return n&&n.responseType!==null})();class J1 extends Z1{constructor(e){super(e);const r=e&&e.forceBase64;this.supportsBinary=W1&&!r}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new ps(k_,this.uri(),e)}}function k_(n){const e=n.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Q1))return new XMLHttpRequest}catch{}if(!e)try{return new Pn[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const E_=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class eN extends Nf{get name(){return"websocket"}doOpen(){const e=this.uri(),r=this.opts.protocols,l=E_?{}:j_(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(l.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,r,l)}catch(c){return this.emitReserved("error",c)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let r=0;r<e.length;r++){const l=e[r],c=r===e.length-1;Ef(l,this.supportsBinary,u=>{try{this.doWrite(l,u)}catch{}c&&Hc(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",r=this.query||{};return this.opts.timestampRequests&&(r[this.opts.timestampParam]=T_()),this.supportsBinary||(r.b64=1),this.createUri(e,r)}}const kh=Pn.WebSocket||Pn.MozWebSocket;class tN extends eN{createSocket(e,r,l){return E_?new kh(e,r,l):r?new kh(e,r):new kh(e)}doWrite(e,r){this.ws.send(r)}}class nN extends Nf{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const r=I1(Number.MAX_SAFE_INTEGER,this.socket.binaryType),l=e.readable.pipeThrough(r).getReader(),c=M1();c.readable.pipeTo(e.writable),this._writer=c.writable.getWriter();const u=()=>{l.read().then(({done:g,value:p})=>{g||(this.onPacket(p),u())}).catch(g=>{})};u();const h={type:"open"};this.query.sid&&(h.data=`{"sid":"${this.query.sid}"}`),this._writer.write(h).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let r=0;r<e.length;r++){const l=e[r],c=r===e.length-1;this._writer.write(l).then(()=>{c&&Hc(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const sN={websocket:tN,webtransport:nN,polling:J1},aN=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,rN=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Yh(n){if(n.length>8e3)throw"URI too long";const e=n,r=n.indexOf("["),l=n.indexOf("]");r!=-1&&l!=-1&&(n=n.substring(0,r)+n.substring(r,l).replace(/:/g,";")+n.substring(l,n.length));let c=aN.exec(n||""),u={},h=14;for(;h--;)u[rN[h]]=c[h]||"";return r!=-1&&l!=-1&&(u.source=e,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=iN(u,u.path),u.queryKey=lN(u,u.query),u}function iN(n,e){const r=/\/{2,9}/g,l=e.replace(r,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&l.splice(0,1),e.slice(-1)=="/"&&l.splice(l.length-1,1),l}function lN(n,e){const r={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(l,c,u){c&&(r[c]=u)}),r}const Kh=typeof addEventListener=="function"&&typeof removeEventListener=="function",_c=[];Kh&&addEventListener("offline",()=>{_c.forEach(n=>n())},!1);let C_=class Vr extends Rt{constructor(e,r={}){var l,c;if(super(),this.binaryType=U1,this.writeBuffer=[],this._prevBufferLen=0,this._upgrades=[],this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(r=e,e=null),e){const u=Yh(e);r.hostname=u.host,r.secure=u.protocol==="https"||u.protocol==="wss",r.port=u.port,u.query&&(r.query=u.query)}else r.host&&(r.hostname=Yh(r.host).host);if(Gc(this,r),this.secure=r.secure!=null?r.secure:typeof location<"u"&&location.protocol==="https:",r.hostname&&!r.port&&(r.port=this.secure?"443":"80"),this.hostname=r.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=r.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),r.transportImplementations&&r.transports)throw new Error("specifying both 'transportImplementations' and 'transports' options is not supported");r.transportImplementations||!((l=r.transports)===null||l===void 0)&&l.length&&typeof r.transports[0]=="function"?(this.transports=[],this._transportsByName=Object.create(null),((c=r.transportImplementations)!==null&&c!==void 0?c:r.transports).forEach(u=>{const h=u.prototype.name;this.transports.push(h),this._transportsByName[h]=u})):(this.transports=r.transports?[...r.transports]:["polling","websocket","webtransport"],this._transportsByName=sN),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},r),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=V1(this.opts.query)),Kh&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},_c.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const r=Object.assign({},this.opts.query);r.EIO=S_,r.transport=e,this.id&&(r.sid=this.id);const l=Object.assign({},this.opts,{query:r,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](l)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&Vr.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const r=this.createTransport(e);r.open(),this.setTransport(r)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",r=>this._onClose("transport close",r))}_probe(e){let r=this.createTransport(e),l=!1;Vr.priorWebsocketSuccess=!1;const c=()=>{l||(r.send([{type:"ping",data:"probe"}]),r.once("packet",S=>{if(!l)if(S.type==="pong"&&S.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",r),!r)return;Vr.priorWebsocketSuccess=r.name==="websocket",this.transport.pause(()=>{l||this.readyState!=="closed"&&(v(),this.setTransport(r),r.send([{type:"upgrade"}]),this.emitReserved("upgrade",r),r=null,this.upgrading=!1,this.flush())})}else{const x=new Error("probe error");x.transport=r.name,this.emitReserved("upgradeError",x)}}))};function u(){l||(l=!0,v(),r.close(),r=null)}const h=S=>{const x=new Error("probe error: "+S);x.transport=r.name,u(),this.emitReserved("upgradeError",x)};function g(){h("transport closed")}function p(){h("socket closed")}function y(S){r&&S.name!==r.name&&u()}const v=()=>{r.removeListener("open",c),r.removeListener("error",h),r.removeListener("close",g),this.off("close",p),this.off("upgrading",y)};r.once("open",c),r.once("error",h),r.once("close",g),this.once("close",p),this.once("upgrading",y),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{l||r.open()},200):r.open()}onOpen(){if(this.readyState="open",Vr.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const r=new Error("server error");r.code=e.data,this._onError(r);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._upgrades=this._filterUpgrades(e.upgrades),this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let r=1;for(let l=0;l<this.writeBuffer.length;l++){const c=this.writeBuffer[l].data;if(c&&(r+=H1(c)),l>0&&r>this._maxPayload)return this.writeBuffer.slice(0,l);r+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,Hc(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,r,l){return this._sendPacket("message",e,r,l),this}send(e,r,l){return this._sendPacket("message",e,r,l),this}_sendPacket(e,r,l,c){if(typeof r=="function"&&(c=r,r=void 0),typeof l=="function"&&(c=l,l=null),this.readyState==="closing"||this.readyState==="closed")return;l=l||{},l.compress=l.compress!==!1;const u={type:e,data:r,options:l};this.emitReserved("packetCreate",u),this.writeBuffer.push(u),c&&this.once("flush",c),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},r=()=>{this.off("upgrade",r),this.off("upgradeError",r),e()},l=()=>{this.once("upgrade",r),this.once("upgradeError",r)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?l():e()}):this.upgrading?l():e()),this}_onError(e){if(Vr.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,r){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Kh&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const l=_c.indexOf(this._offlineEventListener);l!==-1&&_c.splice(l,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,r),this.writeBuffer=[],this._prevBufferLen=0}}_filterUpgrades(e){const r=[];for(let l=0;l<e.length;l++)~this.transports.indexOf(e[l])&&r.push(e[l]);return r}};C_.protocol=S_;function oN(n,e="",r){let l=n;r=r||typeof location<"u"&&location,n==null&&(n=r.protocol+"//"+r.host),typeof n=="string"&&(n.charAt(0)==="/"&&(n.charAt(1)==="/"?n=r.protocol+n:n=r.host+n),/^(https?|wss?):\/\//.test(n)||(typeof r<"u"?n=r.protocol+"//"+n:n="https://"+n),l=Yh(n)),l.port||(/^(http|ws)$/.test(l.protocol)?l.port="80":/^(http|ws)s$/.test(l.protocol)&&(l.port="443")),l.path=l.path||"/";const u=l.host.indexOf(":")!==-1?"["+l.host+"]":l.host;return l.id=l.protocol+"://"+u+":"+l.port+e,l.href=l.protocol+"://"+u+(r&&r.port===l.port?"":":"+l.port),l}const cN=typeof ArrayBuffer=="function",uN=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer,N_=Object.prototype.toString,dN=typeof Blob=="function"||typeof Blob<"u"&&N_.call(Blob)==="[object BlobConstructor]",hN=typeof File=="function"||typeof File<"u"&&N_.call(File)==="[object FileConstructor]";function Af(n){return cN&&(n instanceof ArrayBuffer||uN(n))||dN&&n instanceof Blob||hN&&n instanceof File}function Sc(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let r=0,l=n.length;r<l;r++)if(Sc(n[r]))return!0;return!1}if(Af(n))return!0;if(n.toJSON&&typeof n.toJSON=="function"&&arguments.length===1)return Sc(n.toJSON(),!0);for(const r in n)if(Object.prototype.hasOwnProperty.call(n,r)&&Sc(n[r]))return!0;return!1}function fN(n){const e=[],r=n.data,l=n;return l.data=jc(r,e),l.attachments=e.length,{packet:l,buffers:e}}function jc(n,e,r){if(!n)return n;if(Af(n)){const l={_placeholder:!0,num:e.length};return e.push(n),l}else if(Array.isArray(n)){const l=new Array(n.length);for(let c=0;c<n.length;c++)l[c]=jc(n[c],e);return l}else if(typeof n=="object"&&!(n instanceof Date)){if(n.toJSON&&typeof n.toJSON=="function"&&!r)return jc(n.toJSON(),e,!0);const l={};for(const c in n)Object.prototype.hasOwnProperty.call(n,c)&&(l[c]=jc(n[c],e));return l}return n}function pN(n,e){return n.data=Qh(n.data,e),delete n.attachments,n}function Qh(n,e){if(!n)return n;if(n&&n._placeholder===!0){if(typeof n.num=="number"&&n.num>=0&&n.num<e.length)return e[n.num];throw new Error("illegal attachments")}else if(Array.isArray(n))for(let r=0;r<n.length;r++)n[r]=Qh(n[r],e);else if(typeof n=="object")for(const r in n)Object.prototype.hasOwnProperty.call(n,r)&&(n[r]=Qh(n[r],e));return n}const gN=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var Ye;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(Ye||(Ye={}));class mN{constructor(e){this.replacer=e}encode(e){return(e.type===Ye.EVENT||e.type===Ye.ACK)&&Sc(e)?this.encodeAsBinary({type:e.type===Ye.EVENT?Ye.BINARY_EVENT:Ye.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let r=""+e.type;return(e.type===Ye.BINARY_EVENT||e.type===Ye.BINARY_ACK)&&(r+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(r+=e.nsp+","),e.id!=null&&(r+=e.id),e.data!=null&&(r+=JSON.stringify(e.data,this.replacer)),r}encodeAsBinary(e){const r=fN(e),l=this.encodeAsString(r.packet),c=r.buffers;return c.unshift(l),c}}class Rf extends Rt{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof e=="function"?{reviver:e}:e)}add(e){let r;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");r=this.decodeString(e);const l=r.type===Ye.BINARY_EVENT;l||r.type===Ye.BINARY_ACK?(r.type=l?Ye.EVENT:Ye.ACK,this.reconstructor=new yN(r)):super.emitReserved("decoded",r)}else if(Af(e)||e.base64)if(this.reconstructor)r=this.reconstructor.takeBinaryData(e),r&&(this.reconstructor=null,super.emitReserved("decoded",r));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let r=0;const l={type:Number(e.charAt(0))};if(Ye[l.type]===void 0)throw new Error("unknown packet type "+l.type);if(l.type===Ye.BINARY_EVENT||l.type===Ye.BINARY_ACK){const u=r+1;for(;e.charAt(++r)!=="-"&&r!=e.length;);const h=e.substring(u,r);if(h!=Number(h)||e.charAt(r)!=="-")throw new Error("Illegal attachments");const g=Number(h);if(!vN(g)||g<1)throw new Error("Illegal attachments");if(g>this.opts.maxAttachments)throw new Error("too many attachments");l.attachments=g}if(e.charAt(r+1)==="/"){const u=r+1;for(;++r&&!(e.charAt(r)===","||r===e.length););l.nsp=e.substring(u,r)}else l.nsp="/";const c=e.charAt(r+1);if(c!==""&&Number(c)==c){const u=r+1;for(;++r;){const h=e.charAt(r);if(h==null||Number(h)!=h){--r;break}if(r===e.length)break}l.id=Number(e.substring(u,r+1))}if(e.charAt(++r)){const u=this.tryParse(e.substr(r));if(Rf.isPayloadValid(l.type,u))l.data=u;else throw new Error("invalid payload")}return l}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch{return!1}}static isPayloadValid(e,r){switch(e){case Ye.CONNECT:return ux(r);case Ye.DISCONNECT:return r===void 0;case Ye.CONNECT_ERROR:return typeof r=="string"||ux(r);case Ye.EVENT:case Ye.BINARY_EVENT:return Array.isArray(r)&&(typeof r[0]=="number"||typeof r[0]=="string"&&gN.indexOf(r[0])===-1);case Ye.ACK:case Ye.BINARY_ACK:return Array.isArray(r)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class yN{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const r=pN(this.reconPack,this.buffers);return this.finishedReconstruction(),r}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const vN=Number.isInteger||function(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n};function ux(n){return Object.prototype.toString.call(n)==="[object Object]"}const xN=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Rf,Encoder:mN,get PacketType(){return Ye}},Symbol.toStringTag,{value:"Module"}));function Jn(n,e,r){return n.on(e,r),function(){n.off(e,r)}}const bN=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class A_ extends Rt{constructor(e,r,l){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=r,l&&l.auth&&(this.auth=l.auth),this._opts=Object.assign({},l),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[Jn(e,"open",this.onopen.bind(this)),Jn(e,"packet",this.onpacket.bind(this)),Jn(e,"error",this.onerror.bind(this)),Jn(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...r){var l,c,u;if(bN.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(r.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(r),this;const h={type:Ye.EVENT,data:r};if(h.options={},h.options.compress=this.flags.compress!==!1,typeof r[r.length-1]=="function"){const v=this.ids++,S=r.pop();this._registerAckCallback(v,S),h.id=v}const g=(c=(l=this.io.engine)===null||l===void 0?void 0:l.transport)===null||c===void 0?void 0:c.writable,p=this.connected&&!(!((u=this.io.engine)===null||u===void 0)&&u._hasPingExpired());return this.flags.volatile&&!g||(p?(this.notifyOutgoingListeners(h),this.packet(h)):this.sendBuffer.push(h)),this.flags={},this}_registerAckCallback(e,r){var l;const c=(l=this.flags.timeout)!==null&&l!==void 0?l:this._opts.ackTimeout;if(c===void 0){this.acks[e]=r;return}const u=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let g=0;g<this.sendBuffer.length;g++)this.sendBuffer[g].id===e&&this.sendBuffer.splice(g,1);r.call(this,new Error("operation has timed out"))},c),h=(...g)=>{this.io.clearTimeoutFn(u),r.apply(this,g)};h.withError=!0,this.acks[e]=h}emitWithAck(e,...r){return new Promise((l,c)=>{const u=(h,g)=>h?c(h):l(g);u.withError=!0,r.push(u),this.emit(e,...r)})}_addToQueue(e){let r;typeof e[e.length-1]=="function"&&(r=e.pop());const l={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((c,...u)=>(this._queue[0],c!==null?l.tryCount>this._opts.retries&&(this._queue.shift(),r&&r(c)):(this._queue.shift(),r&&r(null,...u)),l.pending=!1,this._drainQueue())),this._queue.push(l),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const r=this._queue[0];r.pending&&!e||(r.pending=!0,r.tryCount++,this.flags=r.flags,this.emit.apply(this,r.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Ye.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,r){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,r),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(l=>String(l.id)===e)){const l=this.acks[e];delete this.acks[e],l.withError&&l.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Ye.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Ye.EVENT:case Ye.BINARY_EVENT:this.onevent(e);break;case Ye.ACK:case Ye.BINARY_ACK:this.onack(e);break;case Ye.DISCONNECT:this.ondisconnect();break;case Ye.CONNECT_ERROR:this.destroy();const l=new Error(e.data.message);l.data=e.data.data,this.emitReserved("connect_error",l);break}}onevent(e){const r=e.data||[];e.id!=null&&r.push(this.ack(e.id)),this.connected?this.emitEvent(r):this.receiveBuffer.push(Object.freeze(r))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const r=this._anyListeners.slice();for(const l of r)l.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const r=this;let l=!1;return function(...c){l||(l=!0,r.packet({type:Ye.ACK,id:e,data:c}))}}onack(e){const r=this.acks[e.id];typeof r=="function"&&(delete this.acks[e.id],r.withError&&e.data.unshift(null),r.apply(this,e.data))}onconnect(e,r){this.id=e,this.recovered=r&&this._pid===r,this._pid=r,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Ye.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const r=this._anyListeners;for(let l=0;l<r.length;l++)if(e===r[l])return r.splice(l,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const r=this._anyOutgoingListeners;for(let l=0;l<r.length;l++)if(e===r[l])return r.splice(l,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const r=this._anyOutgoingListeners.slice();for(const l of r)l.apply(this,e.data)}}}function ai(n){n=n||{},this.ms=n.min||100,this.max=n.max||1e4,this.factor=n.factor||2,this.jitter=n.jitter>0&&n.jitter<=1?n.jitter:0,this.attempts=0}ai.prototype.duration=function(){var n=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),r=Math.floor(e*this.jitter*n);n=(Math.floor(e*10)&1)==0?n-r:n+r}return Math.min(n,this.max)|0};ai.prototype.reset=function(){this.attempts=0};ai.prototype.setMin=function(n){this.ms=n};ai.prototype.setMax=function(n){this.max=n};ai.prototype.setJitter=function(n){this.jitter=n};class Xh extends Rt{constructor(e,r){var l;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(r=e,e=void 0),r=r||{},r.path=r.path||"/socket.io",this.opts=r,Gc(this,r),this.reconnection(r.reconnection!==!1),this.reconnectionAttempts(r.reconnectionAttempts||1/0),this.reconnectionDelay(r.reconnectionDelay||1e3),this.reconnectionDelayMax(r.reconnectionDelayMax||5e3),this.randomizationFactor((l=r.randomizationFactor)!==null&&l!==void 0?l:.5),this.backoff=new ai({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(r.timeout==null?2e4:r.timeout),this._readyState="closed",this.uri=e;const c=r.parser||xN;this.encoder=new c.Encoder,this.decoder=new c.Decoder,this._autoConnect=r.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var r;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(r=this.backoff)===null||r===void 0||r.setMin(e),this)}randomizationFactor(e){var r;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(r=this.backoff)===null||r===void 0||r.setJitter(e),this)}reconnectionDelayMax(e){var r;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(r=this.backoff)===null||r===void 0||r.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new C_(this.uri,this.opts);const r=this.engine,l=this;this._readyState="opening",this.skipReconnect=!1;const c=Jn(r,"open",function(){l.onopen(),e&&e()}),u=g=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",g),e?e(g):this.maybeReconnectOnOpen()},h=Jn(r,"error",u);if(this._timeout!==!1){const g=this._timeout,p=this.setTimeoutFn(()=>{c(),u(new Error("timeout")),r.close()},g);this.opts.autoUnref&&p.unref(),this.subs.push(()=>{this.clearTimeoutFn(p)})}return this.subs.push(c),this.subs.push(h),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(Jn(e,"ping",this.onping.bind(this)),Jn(e,"data",this.ondata.bind(this)),Jn(e,"error",this.onerror.bind(this)),Jn(e,"close",this.onclose.bind(this)),Jn(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(r){this.onclose("parse error",r)}}ondecoded(e){Hc(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,r){let l=this.nsps[e];return l?this._autoConnect&&!l.active&&l.connect():(l=new A_(this,e,r),this.nsps[e]=l),l}_destroy(e){const r=Object.keys(this.nsps);for(const l of r)if(this.nsps[l].active)return;this._close()}_packet(e){const r=this.encoder.encode(e);for(let l=0;l<r.length;l++)this.engine.write(r[l],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,r){var l;this.cleanup(),(l=this.engine)===null||l===void 0||l.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,r),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const r=this.backoff.duration();this._reconnecting=!0;const l=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(c=>{c?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",c)):e.onreconnect()}))},r);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const ol={};function Gn(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const r=oN(n,e.path||"/socket.io"),l=r.source,c=r.id,u=r.path,h=ol[c]&&u in ol[c].nsps,g=e.forceNew||e["force new connection"]||e.multiplex===!1||h;let p;return g?p=new Xh(l,e):(ol[c]||(ol[c]=new Xh(l,e)),p=ol[c]),r.query&&!e.query&&(e.query=r.queryKey),p.socket(r.path,e)}Object.assign(Gn,{Manager:Xh,Socket:A_,io:Gn,connect:Gn});function _N(n){return typeof n=="object"&&n!==null}function SN(n){if(!_N(n))return;const e=n.detail;if(typeof e=="string"&&e.length>0)return e;const r=n.message;if(typeof r=="string"&&r.length>0)return r;const l=n.title;if(typeof l=="string"&&l.length>0)return l;const c=n.error_description;if(typeof c=="string"&&c.length>0)return c}class dx extends Error{status;statusText;body;constructor(e,r){const l=SN(r)??`HTTP ${e.status}: ${e.statusText}`;super(l),this.name="ApiError",this.status=e.status,this.statusText=e.statusText,this.body=r}}class ut{config;constructor(e){this.config=e}async parseResponseBody(e,r="auto"){if(r==="void"||e.status===204||e.headers.get("content-length")==="0")return;if(r==="json")try{return await e.json()}catch{return}if(r==="text"){const u=await e.text();return u.length>0?u:void 0}if(r==="arrayBuffer"){const u=await e.arrayBuffer();return u.byteLength>0?u:void 0}if(e.headers.get("content-type")?.includes("application/json"))try{return await e.json()}catch{return}const c=await e.text();return c.length>0?c:void 0}hasHeader(e,r){const l=r.toLowerCase();return Object.keys(e).some(c=>c.toLowerCase()===l)}removeHeader(e,r){const l=r.toLowerCase();for(const c of Object.keys(e))c.toLowerCase()===l&&delete e[c]}async buildAuthHeaders(){const e={};if(this.config.getAccessToken){const r=await this.config.getAccessToken();e.Authorization=`Bearer ${r}`}return this.config.getCookies&&(e.Cookie=await this.config.getCookies()),e}async request(e,r,l){const c=new URL(r,this.config.baseUrl);if(l?.params)for(const[p,y]of Object.entries(l.params))y!=null&&c.searchParams.append(p,String(y));const u={};if(this.config.headers)for(const[p,y]of Object.entries(this.config.headers))y!=null&&(u[p]=String(y));if(l?.headers)for(const[p,y]of Object.entries(l.headers))y!=null&&(u[p]=String(y));Object.assign(u,await this.buildAuthHeaders());let h;if(l?.body!==void 0){const p=l.bodyType??"json";p==="form-data"?(h=l.body,this.removeHeader(u,"Content-Type")):p==="raw"?h=l.body:(this.hasHeader(u,"Content-Type")||(u["Content-Type"]="application/json"),h=JSON.stringify(l.body))}const g=await fetch(c.toString(),{method:e,headers:u,body:h,signal:l?.signal,credentials:this.config.credentials});if(!g.ok){const p=await this.parseResponseBody(g,"auto");throw new dx(g,p)}return await this.parseResponseBody(g,l?.responseType??"auto")}async*streamEvents(e,r){const l=new URL(e,this.config.baseUrl);if(r?.params)for(const[y,v]of Object.entries(r.params))v!=null&&l.searchParams.append(y,String(v));const c={Accept:"text/event-stream"};if(this.config.headers)for(const[y,v]of Object.entries(this.config.headers))v!=null&&(c[y]=String(v));if(r?.headers)for(const[y,v]of Object.entries(r.headers))v!=null&&(c[y]=String(v));Object.assign(c,await this.buildAuthHeaders());const u=await fetch(l.toString(),{method:"GET",headers:c,signal:r?.signal,credentials:this.config.credentials});if(!u.ok){const y=await this.parseResponseBody(u);throw new dx(u,y)}if(!u.body)throw new Error("Response body is null");const h=u.body.getReader(),g=new TextDecoder;let p="";try{for(;;){const{done:y,value:v}=await h.read();if(y)break;p+=g.decode(v,{stream:!0});const S=p.split(`
|
|
56
|
+
`);p=S.pop()||"";for(const x of S)if(x.startsWith("data: ")){const _=x.slice(6);try{yield JSON.parse(_)}catch{yield _}}}}finally{h.releaseLock()}}}class jN extends ut{constructor(e){super(e)}async AppController_getHello(e){return this.request("GET","/api/v1",{signal:e?.signal})}async AppController_getLive(e){return this.request("GET","/health/live",{signal:e?.signal})}async AppController_getReady(e){return this.request("GET","/health/ready",{signal:e?.signal})}}class TN extends ut{constructor(e){super(e)}async MetaController_createTag(e){return this.request("POST","/api/v1/meta/tags",{body:e.body,signal:e?.signal})}async MetaController_getAllTags(e){return this.request("GET","/api/v1/meta/tags",{signal:e?.signal})}async MetaController_getTagColors(e){return this.request("GET","/api/v1/meta/tags/colors",{signal:e?.signal})}async MetaController_deleteTag(e){return this.request("DELETE",`/api/v1/meta/tags/${e.tagId}`,{responseType:"void",signal:e?.signal})}async MetaController_getVersion(e){return this.request("GET","/api/v1/meta/version",{signal:e?.signal})}}class wN extends ut{constructor(e){super(e)}async ProjectsController_createProject(e){return this.request("POST","/api/v1/meta/projects",{body:e.body,signal:e?.signal})}async ProjectsController_getAllProjects(e){return this.request("GET","/api/v1/meta/projects",{signal:e?.signal})}async ProjectsController_searchProjects(e){return this.request("GET","/api/v1/meta/projects/search",{params:{q:e.q,limit:e.limit,threshold:e.threshold},signal:e?.signal})}async ProjectsController_getProjectBySlug(e){return this.request("GET",`/api/v1/meta/projects/by-slug/${e.slug}`,{signal:e?.signal})}async ProjectsController_getProject(e){return this.request("GET",`/api/v1/meta/projects/${e.projectId}`,{signal:e?.signal})}async ProjectsController_updateProject(e){return this.request("PATCH",`/api/v1/meta/projects/${e.projectId}`,{body:e.body,signal:e?.signal})}async ProjectsController_deleteProject(e){return this.request("DELETE",`/api/v1/meta/projects/${e.projectId}`,{responseType:"void",signal:e?.signal})}}class kN extends ut{constructor(e){super(e)}async ClientRegistrationController_registerClient(e){return this.request("POST",`/api/v1/auth/clients/register/mcp/${e.serverId}/${e.version}`,{body:e.body,signal:e?.signal})}async ClientRegistrationController_getClient(e){return this.request("GET",`/api/v1/auth/clients/${e.clientId}`,{signal:e?.signal})}async ClientRegistrationController_listClients(e){return this.request("GET","/api/v1/auth/clients",{signal:e?.signal})}async AuthorizationController_authorize(e){return this.request("GET",`/api/v1/auth/authorize/mcp/${e.serverIdentifier}/${e.version}`,{params:{response_type:e.response_type,scope:e.scope,client_id:e.client_id,code_challenge:e.code_challenge,code_challenge_method:e.code_challenge_method,redirect_uri:e.redirect_uri,state:e.state,resource:e.resource},responseType:"void",signal:e?.signal})}async AuthorizationController_authorizeConsent(e){return this.request("POST",`/api/v1/auth/authorize/mcp/${e.serverIdentifier}/${e.version}`,{body:e.body,responseType:"void",signal:e?.signal})}async AuthorizationController_getConsentMetadata(e){return this.request("GET",`/api/v1/auth/consent/${e.flowId}`,{signal:e?.signal})}async AuthorizationController_token(e){return this.request("POST",`/api/v1/auth/token/mcp/${e.serverIdentifier}/${e.version}`,{body:e.body,signal:e?.signal})}async AuthorizationController_introspect(e){return this.request("POST",`/api/v1/auth/introspect/mcp/${e.serverIdentifier}/${e.version}`,{body:e.body,signal:e?.signal})}async AuthorizationController_tokenExchange(e){return this.request("POST",`/api/v1/auth/token-exchange/mcp/${e.serverIdentifier}/${e.version}`,{body:e.body,signal:e?.signal})}async AuthorizationController_callback(e){return this.request("GET","/api/v1/auth/callback",{params:{code:e.code,state:e.state,error:e.error,scope:e.scope,error_description:e.error_description},responseType:"void",signal:e?.signal})}async AuthorizationController_getScopes(e){return this.request("GET","/api/v1/auth/scopes",{signal:e?.signal})}}class EN extends ut{constructor(e){super(e)}async WebAuthController_login(e){return this.request("POST","/api/v1/auth/login",{body:e.body,signal:e?.signal})}async WebAuthController_listUsers(e){return this.request("GET","/api/v1/auth/users",{signal:e?.signal})}async WebAuthController_createUser(e){return this.request("POST","/api/v1/auth/users",{body:e.body,signal:e?.signal})}async WebAuthController_resetUserPassword(e){return this.request("POST",`/api/v1/auth/users/${e.userId}/reset-password`,{signal:e?.signal})}async WebAuthController_deleteUser(e){return this.request("DELETE",`/api/v1/auth/users/${e.userId}`,{signal:e?.signal})}async WebAuthController_getAccountSetupStatus(e){return this.request("POST","/api/v1/auth/account-setup-status",{body:e.body,signal:e?.signal})}async WebAuthController_setupAccount(e){return this.request("POST","/api/v1/auth/setup-account",{body:e.body,signal:e?.signal})}async WebAuthController_refresh(e){return this.request("POST","/api/v1/auth/refresh",{signal:e?.signal})}async WebAuthController_logout(e){return this.request("POST","/api/v1/auth/logout",{signal:e?.signal})}async WebAuthController_me(e){return this.request("GET","/api/v1/auth/me",{signal:e?.signal})}async WebAuthController_changePassword(e){return this.request("POST","/api/v1/auth/change-password",{body:e.body,signal:e?.signal})}async WebAuthController_getOnboardingStatus(e){return this.request("GET","/api/v1/auth/onboarding-status",{signal:e?.signal})}async WebAuthController_onboard(e){return this.request("POST","/api/v1/auth/onboard",{body:e.body,signal:e?.signal})}async WebAuthController_markWalkthroughSeen(e){return this.request("POST","/api/v1/auth/mark-walkthrough-seen",{signal:e?.signal})}}class CN extends ut{constructor(e){super(e)}async AuthJourneysController_getAuthJourneys(e){return this.request("GET",`/api/v1/auth-journeys/servers/${e.serverId}`,{signal:e?.signal})}}class NN extends ut{constructor(e){super(e)}async McpRegistryController_createServer(e){return this.request("POST","/api/v1/mcp/servers",{body:e.body,signal:e?.signal})}async McpRegistryController_listServers(e){return this.request("GET","/api/v1/mcp/servers",{params:{page:e?.page,limit:e?.limit},signal:e?.signal})}async McpRegistryController_getServer(e){return this.request("GET",`/api/v1/mcp/servers/${e.serverId}`,{signal:e?.signal})}async McpRegistryController_updateServer(e){return this.request("PATCH",`/api/v1/mcp/servers/${e.serverId}`,{body:e.body,signal:e?.signal})}async McpRegistryController_deleteServer(e){return this.request("DELETE",`/api/v1/mcp/servers/${e.serverId}`,{signal:e?.signal})}async McpRegistryController_createScopes(e){return this.request("POST",`/api/v1/mcp/servers/${e.serverId}/scopes`,{body:e.body,signal:e?.signal})}async McpRegistryController_listScopes(e){return this.request("GET",`/api/v1/mcp/servers/${e.serverId}/scopes`,{signal:e?.signal})}async McpRegistryController_getScope(e){return this.request("GET",`/api/v1/mcp/servers/${e.serverId}/scopes/${e.scopeId}`,{signal:e?.signal})}async McpRegistryController_deleteScope(e){return this.request("DELETE",`/api/v1/mcp/servers/${e.serverId}/scopes/${e.scopeId}`,{signal:e?.signal})}async McpRegistryController_createConnection(e){return this.request("POST",`/api/v1/mcp/servers/${e.serverId}/connections`,{body:e.body,signal:e?.signal})}async McpRegistryController_listConnections(e){return this.request("GET",`/api/v1/mcp/servers/${e.serverId}/connections`,{signal:e?.signal})}async McpRegistryController_getConnection(e){return this.request("GET",`/api/v1/mcp/connections/${e.connectionId}`,{signal:e?.signal})}async McpRegistryController_updateConnection(e){return this.request("PATCH",`/api/v1/mcp/connections/${e.connectionId}`,{body:e.body,signal:e?.signal})}async McpRegistryController_deleteConnection(e){return this.request("DELETE",`/api/v1/mcp/connections/${e.connectionId}`,{signal:e?.signal})}async McpRegistryController_createMapping(e){return this.request("POST",`/api/v1/mcp/servers/${e.serverId}/mappings`,{body:e.body,signal:e?.signal})}async McpRegistryController_listMappings(e){return this.request("GET",`/api/v1/mcp/servers/${e.serverId}/scopes/${e.scopeId}/mappings`,{signal:e?.signal})}async McpRegistryController_deleteMapping(e){return this.request("DELETE",`/api/v1/mcp/mappings/${e.mappingId}`,{signal:e?.signal})}}class AN extends ut{constructor(e){super(e)}async JwksController_getJwks(e){return this.request("GET","/.well-known/jwks.json",{signal:e?.signal})}}class RN extends ut{constructor(e){super(e)}async ActorController_listActors(e){return this.request("GET","/api/v1/actors",{signal:e?.signal})}async ActorController_searchActors(e){return this.request("GET","/api/v1/actors/search",{params:{query:e.query,limit:e.limit,threshold:e.threshold},signal:e?.signal})}}class DN extends ut{constructor(e){super(e)}async AiProvidersController_createAiProvider(e){return this.request("POST","/api/v1/ai-providers",{body:e.body,signal:e?.signal})}async AiProvidersController_listAiProviders(e){return this.request("GET","/api/v1/ai-providers",{signal:e?.signal})}async AiProvidersController_getAiProvider(e){return this.request("GET",`/api/v1/ai-providers/${e.id}`,{signal:e?.signal})}async AiProvidersController_updateAiProvider(e){return this.request("PATCH",`/api/v1/ai-providers/${e.id}`,{body:e.body,signal:e?.signal})}async AiProvidersController_deleteAiProvider(e){return this.request("DELETE",`/api/v1/ai-providers/${e.id}`,{responseType:"void",signal:e?.signal})}async AiProvidersController_listAiProviderModels(e){return this.request("GET",`/api/v1/ai-providers/${e.id}/models`,{signal:e?.signal})}}class zN extends ut{constructor(e){super(e)}async AiModelSelectionsController_listAiModelSelections(e){return this.request("GET","/api/v1/ai-model-selections",{signal:e?.signal})}async AiModelSelectionsController_setAiModelSelection(e){return this.request("PUT",`/api/v1/ai-model-selections/${e.job}`,{body:e.body,signal:e?.signal})}async AiModelSelectionsController_clearAiModelSelection(e){return this.request("DELETE",`/api/v1/ai-model-selections/${e.job}`,{responseType:"void",signal:e?.signal})}}class ON extends ut{constructor(e){super(e)}async AiProviderConnectionsController_getConnection(e){return this.request("GET",`/api/v1/ai-providers/${e.id}/connection`,{signal:e?.signal})}async AiProviderConnectionsController_updateConnection(e){return this.request("PATCH",`/api/v1/ai-providers/${e.id}/connection`,{body:e.body,signal:e?.signal})}async AiProviderConnectionsController_disconnect(e){return this.request("DELETE",`/api/v1/ai-providers/${e.id}/connection`,{signal:e?.signal})}async AiProviderConnectionsController_startAuthorization(e){return this.request("POST",`/api/v1/ai-providers/${e.id}/connection/authorize`,{signal:e?.signal})}async AiProviderConnectionsController_completeAuthorization(e){return this.request("POST",`/api/v1/ai-providers/${e.id}/connection/callback`,{body:e.body,signal:e?.signal})}}class LN extends ut{constructor(e){super(e)}async SecretsController_createSecret(e){return this.request("POST","/api/v1/secrets",{body:e.body,signal:e?.signal})}async SecretsController_listSecrets(e){return this.request("GET","/api/v1/secrets",{signal:e?.signal})}async SecretsController_getSecret(e){return this.request("GET",`/api/v1/secrets/${e.id}`,{signal:e?.signal})}async SecretsController_updateSecret(e){return this.request("PATCH",`/api/v1/secrets/${e.id}`,{body:e.body,signal:e?.signal})}async SecretsController_deleteSecret(e){return this.request("DELETE",`/api/v1/secrets/${e.id}`,{responseType:"void",signal:e?.signal})}async SecretsController_getSecretValue(e){return this.request("GET",`/api/v1/secrets/${e.id}/value`,{signal:e?.signal})}}class MN extends ut{constructor(e){super(e)}async TasksController_createTask(e){return this.request("POST","/api/v1/tasks/tasks",{body:e.body,signal:e?.signal})}async TasksController_listTasks(e){return this.request("GET","/api/v1/tasks/tasks",{params:{assignee:e?.assignee,sessionId:e?.sessionId,tag:e?.tag,page:e?.page,limit:e?.limit},signal:e?.signal})}async TasksController_updateTask(e){return this.request("PATCH",`/api/v1/tasks/tasks/${e.id}`,{body:e.body,signal:e?.signal})}async TasksController_deleteTask(e){return this.request("DELETE",`/api/v1/tasks/tasks/${e.id}`,{responseType:"void",signal:e?.signal})}async TasksController_getTask(e){return this.request("GET",`/api/v1/tasks/tasks/${e.id}`,{signal:e?.signal})}async TasksController_assignTask(e){return this.request("PATCH",`/api/v1/tasks/tasks/${e.id}/assign`,{body:e.body,signal:e?.signal})}async TasksController_assignTaskToMe(e){return this.request("PATCH",`/api/v1/tasks/tasks/${e.id}/assign-to-me`,{signal:e?.signal})}async TasksController_searchTasks(e){return this.request("GET","/api/v1/tasks/tasks/search/query",{params:{query:e.query,limit:e.limit},signal:e?.signal})}async TasksController_addComment(e){return this.request("POST",`/api/v1/tasks/tasks/${e.id}/comments`,{body:e.body,signal:e?.signal})}async TasksController_addArtefact(e){return this.request("POST",`/api/v1/tasks/tasks/${e.id}/artefacts`,{body:e.body,signal:e?.signal})}async TasksController_changeStatus(e){return this.request("PATCH",`/api/v1/tasks/tasks/${e.id}/status`,{body:e.body,signal:e?.signal})}async TasksController_addTagToTask(e){return this.request("POST",`/api/v1/tasks/tasks/${e.id}/tags`,{body:e.body,signal:e?.signal})}async TasksController_removeTagFromTask(e){return this.request("DELETE",`/api/v1/tasks/tasks/${e.id}/tags/${e.tagId}`,{signal:e?.signal})}async TasksController_createInputRequest(e){return this.request("POST",`/api/v1/tasks/tasks/${e.id}/input-requests`,{body:e.body,signal:e?.signal})}async TasksController_answerInputRequest(e){return this.request("POST",`/api/v1/tasks/tasks/${e.id}/input-requests/${e.inputRequestId}/answer`,{body:e.body,signal:e?.signal})}async TasksController_handleMcp_get(e){return this.request("GET","/api/v1/tasks/tasks/mcp",{responseType:"void",signal:e?.signal})}async TasksController_handleMcp_post(e){return this.request("POST","/api/v1/tasks/tasks/mcp",{responseType:"void",signal:e?.signal})}async TasksController_handleMcp_put(e){return this.request("PUT","/api/v1/tasks/tasks/mcp",{responseType:"void",signal:e?.signal})}async TasksController_handleMcp_delete(e){return this.request("DELETE","/api/v1/tasks/tasks/mcp",{responseType:"void",signal:e?.signal})}async TasksController_handleMcp_patch(e){return this.request("PATCH","/api/v1/tasks/tasks/mcp",{responseType:"void",signal:e?.signal})}async TasksController_handleMcp_options(e){return this.request("OPTIONS","/api/v1/tasks/tasks/mcp",{responseType:"void",signal:e?.signal})}async TasksController_handleMcp_head(e){return this.request("HEAD","/api/v1/tasks/tasks/mcp",{responseType:"void",signal:e?.signal})}}class IN extends ut{constructor(e){super(e)}async AgentRunsController_createAgentRun(e){return this.request("POST","/api/v1/agent-runs",{body:e.body,signal:e?.signal})}async AgentRunsController_listAgentRuns(e){return this.request("GET","/api/v1/agent-runs",{params:{actorId:e?.actorId,parentTaskId:e?.parentTaskId,page:e?.page,limit:e?.limit},signal:e?.signal})}async AgentRunsController_getAgentRunById(e){return this.request("GET",`/api/v1/agent-runs/${e.runId}`,{signal:e?.signal})}async AgentRunsController_updateAgentRun(e){return this.request("PATCH",`/api/v1/agent-runs/${e.runId}`,{body:e.body,signal:e?.signal})}}class qN extends ut{constructor(e){super(e)}async ThreadsController_createThread(e){return this.request("POST","/api/v1/threads",{body:e.body,signal:e?.signal})}async ThreadsController_listThreads(e){return this.request("GET","/api/v1/threads",{params:{page:e?.page,limit:e?.limit},signal:e?.signal})}async ThreadsController_updateThread(e){return this.request("PATCH",`/api/v1/threads/${e.id}`,{body:e.body,signal:e?.signal})}async ThreadsController_getThread(e){return this.request("GET",`/api/v1/threads/${e.id}`,{signal:e?.signal})}async ThreadsController_deleteThread(e){return this.request("DELETE",`/api/v1/threads/${e.id}`,{responseType:"void",signal:e?.signal})}async ThreadsController_getThreadByTaskId(e){return this.request("GET",`/api/v1/threads/by-task/${e.taskId}`,{signal:e?.signal})}async ThreadsController_getThreadsByStateBlockId(e){return this.request("GET",`/api/v1/threads/by-state-block/${e.stateBlockId}`,{signal:e?.signal})}async ThreadsController_attachTask(e){return this.request("POST",`/api/v1/threads/${e.id}/tasks`,{body:e.body,signal:e?.signal})}async ThreadsController_referenceContextBlock(e){return this.request("POST",`/api/v1/threads/${e.id}/context-blocks`,{body:e.body,signal:e?.signal})}async ThreadsController_addTagToThread(e){return this.request("POST",`/api/v1/threads/${e.id}/tags`,{body:e.body,signal:e?.signal})}async ThreadsController_removeTagFromThread(e){return this.request("DELETE",`/api/v1/threads/${e.id}/tags/${e.tagId}`,{signal:e?.signal})}async ThreadsController_addParticipant(e){return this.request("POST",`/api/v1/threads/${e.id}/participants`,{body:e.body,signal:e?.signal})}async ThreadsController_getThreadState(e){return this.request("GET",`/api/v1/threads/${e.id}/state`,{signal:e?.signal})}async ThreadsController_updateThreadState(e){return this.request("PATCH",`/api/v1/threads/${e.id}/state`,{body:e.body,signal:e?.signal})}async ThreadsController_getThreadTokenUsage(e){return this.request("GET",`/api/v1/threads/${e.id}/token-usage`,{signal:e?.signal})}async ThreadsController_appendThreadState(e){return this.request("POST",`/api/v1/threads/${e.id}/state/append`,{body:e.body,signal:e?.signal})}async ThreadsController_createMessage(e){return this.request("POST",`/api/v1/threads/${e.id}/messages`,{body:e.body,signal:e?.signal})}async ThreadsController_listMessages(e){return this.request("GET",`/api/v1/threads/${e.id}/messages`,{params:{page:e.page,limit:e.limit},signal:e?.signal})}async ThreadsController_markThreadRead(e){return this.request("POST",`/api/v1/threads/${e.id}/read`,{responseType:"void",signal:e?.signal})}}class UN extends ut{constructor(e){super(e)}async AgentsController_createAgent(e){return this.request("POST","/api/v1/agents",{body:e.body,signal:e?.signal})}async AgentsController_listAgents(e){return this.request("GET","/api/v1/agents",{params:{isActive:e?.isActive,page:e?.page,limit:e?.limit},signal:e?.signal})}async AgentsController_listAgentTemplates(e){return this.request("GET","/api/v1/agents/templates",{signal:e?.signal})}async AgentsController_getAgentBySlug(e){return this.request("GET",`/api/v1/agents/${e.slug}`,{signal:e?.signal})}async AgentsController_patchAgent(e){return this.request("PATCH",`/api/v1/agents/${e.actorId}`,{body:e.body,signal:e?.signal})}async AgentsController_deleteAgent(e){return this.request("DELETE",`/api/v1/agents/${e.actorId}`,{responseType:"void",signal:e?.signal})}async AgentToolPermissionsController_listAgentToolPermissions(e){return this.request("GET",`/api/v1/agents/${e.actorId}/tool-permissions`,{signal:e?.signal})}async AgentToolPermissionsController_upsertAgentToolPermission(e){return this.request("PUT",`/api/v1/agents/${e.actorId}/tool-permissions/${e.serverId}`,{body:e.body,signal:e?.signal})}async AgentToolPermissionsController_deleteAgentToolPermission(e){return this.request("DELETE",`/api/v1/agents/${e.actorId}/tool-permissions/${e.serverId}`,{responseType:"void",signal:e?.signal})}}class BN extends ut{constructor(e){super(e)}async AgentTokensController_issueToken(e){return this.request("POST",`/api/v1/agents/${e.slug}/tokens`,{body:e.body,signal:e?.signal})}async AgentTokensController_listTokens(e){return this.request("GET",`/api/v1/agents/${e.slug}/tokens`,{signal:e?.signal})}async AgentTokensController_revokeToken(e){return this.request("DELETE",`/api/v1/agents/${e.slug}/tokens/${e.tokenId}`,{signal:e?.signal})}}class PN extends ut{constructor(e){super(e)}async AgentExecutionTokensController_requestExecutionToken(e){return this.request("POST",`/api/v1/agents/${e.slug}/execution-token`,{body:e.body,signal:e?.signal})}}class $N extends ut{constructor(e){super(e)}async ContextController_createBlock(e){return this.request("POST","/api/v1/context/blocks",{body:e.body,signal:e?.signal})}async ContextController_listBlocks(e){return this.request("GET","/api/v1/context/blocks",{params:{tag:e?.tag},signal:e?.signal})}async ContextController_searchBlocks(e){return this.request("GET","/api/v1/context/blocks/search/query",{params:{query:e.query,limit:e.limit},signal:e?.signal})}async ContextController_getBlockTree(e){return this.request("GET","/api/v1/context/blocks/tree",{signal:e?.signal})}async ContextController_exportBlocks(e){return this.request("GET","/api/v1/context/blocks/export",{responseType:"arrayBuffer",signal:e?.signal})}async ContextController_importBlocks(e){return this.request("POST","/api/v1/context/blocks/import",{body:e.body,bodyType:"form-data",signal:e?.signal})}async ContextController_getBlock(e){return this.request("GET",`/api/v1/context/blocks/${e.id}`,{signal:e?.signal})}async ContextController_updateBlock(e){return this.request("PATCH",`/api/v1/context/blocks/${e.id}`,{body:e.body,signal:e?.signal})}async ContextController_deleteBlock(e){return this.request("DELETE",`/api/v1/context/blocks/${e.id}`,{responseType:"void",signal:e?.signal})}async ContextController_appendToBlock(e){return this.request("POST",`/api/v1/context/blocks/${e.id}/append`,{body:e.body,signal:e?.signal})}async ContextController_reorderBlock(e){return this.request("PATCH",`/api/v1/context/blocks/${e.id}/reorder`,{body:e.body,signal:e?.signal})}async ContextController_moveBlock(e){return this.request("PATCH",`/api/v1/context/blocks/${e.id}/move`,{body:e.body,signal:e?.signal})}async ContextController_addTagToBlock(e){return this.request("POST",`/api/v1/context/blocks/${e.id}/tags`,{body:e.body,signal:e?.signal})}async ContextController_removeTagFromBlock(e){return this.request("DELETE",`/api/v1/context/blocks/${e.id}/tags/${e.tagId}`,{signal:e?.signal})}async ContextController_handleMcp_get(e){return this.request("GET","/api/v1/context/blocks/mcp",{responseType:"void",signal:e?.signal})}async ContextController_handleMcp_post(e){return this.request("POST","/api/v1/context/blocks/mcp",{responseType:"void",signal:e?.signal})}async ContextController_handleMcp_put(e){return this.request("PUT","/api/v1/context/blocks/mcp",{responseType:"void",signal:e?.signal})}async ContextController_handleMcp_delete(e){return this.request("DELETE","/api/v1/context/blocks/mcp",{responseType:"void",signal:e?.signal})}async ContextController_handleMcp_patch(e){return this.request("PATCH","/api/v1/context/blocks/mcp",{responseType:"void",signal:e?.signal})}async ContextController_handleMcp_options(e){return this.request("OPTIONS","/api/v1/context/blocks/mcp",{responseType:"void",signal:e?.signal})}async ContextController_handleMcp_head(e){return this.request("HEAD","/api/v1/context/blocks/mcp",{responseType:"void",signal:e?.signal})}}class HN extends ut{constructor(e){super(e)}async TaskExecutionQueueController_listQueue(e){return this.request("GET","/api/v1/executions/queue",{params:{page:e?.page,limit:e?.limit},signal:e?.signal})}async TaskExecutionQueueController_claimTask(e){return this.request("POST",`/api/v1/executions/queue/${e.taskId}/claim`,{signal:e?.signal})}async ActiveTaskExecutionController_listActiveExecutions(e){return this.request("GET","/api/v1/executions/active",{params:{page:e?.page,limit:e?.limit,taskId:e?.taskId},signal:e?.signal})}async ActiveTaskExecutionController_stopTaskExecution(e){return this.request("POST",`/api/v1/executions/active/${e.executionId}/stop`,{body:e.body,signal:e?.signal})}async ActiveTaskExecutionController_unclaimTaskExecution(e){return this.request("POST",`/api/v1/executions/active/${e.executionId}/unclaim`,{responseType:"void",signal:e?.signal})}async ActiveTaskExecutionController_updateRunnerSessionId(e){return this.request("PATCH",`/api/v1/executions/active/${e.executionId}/session`,{body:e.body,responseType:"void",signal:e?.signal})}async ActiveTaskExecutionController_incrementToolCallCount(e){return this.request("PATCH",`/api/v1/executions/active/${e.executionId}/tool-calls/increment`,{responseType:"void",signal:e?.signal})}async ActiveTaskExecutionController_updateExecutionStats(e){return this.request("PATCH",`/api/v1/executions/active/${e.executionId}/stats`,{body:e.body,responseType:"void",signal:e?.signal})}async ActiveTaskExecutionController_interruptExecution(e){return this.request("POST",`/api/v1/executions/active/${e.executionId}/interrupt`,{responseType:"void",signal:e?.signal})}async TaskExecutionHistoryController_listHistory(e){return this.request("GET","/api/v1/executions/history",{params:{page:e?.page,limit:e?.limit,taskId:e?.taskId},signal:e?.signal})}}class GN extends ut{constructor(e){super(e)}async WorkersController_listWorkers(e){return this.request("GET","/api/v1/workers",{signal:e?.signal})}}class FN extends ut{constructor(e){super(e)}async TaskBlueprintsController_createTaskBlueprint(e){return this.request("POST","/api/v1/task-blueprints",{body:e.body,signal:e?.signal})}async TaskBlueprintsController_listTaskBlueprints(e){return this.request("GET","/api/v1/task-blueprints",{params:{page:e?.page,limit:e?.limit},signal:e?.signal})}async TaskBlueprintsController_getTaskBlueprint(e){return this.request("GET",`/api/v1/task-blueprints/${e.id}`,{signal:e?.signal})}async TaskBlueprintsController_updateTaskBlueprint(e){return this.request("PATCH",`/api/v1/task-blueprints/${e.id}`,{body:e.body,signal:e?.signal})}async TaskBlueprintsController_deleteTaskBlueprint(e){return this.request("DELETE",`/api/v1/task-blueprints/${e.id}`,{responseType:"void",signal:e?.signal})}async TaskBlueprintsController_createTaskFromBlueprint(e){return this.request("POST",`/api/v1/task-blueprints/${e.id}/create-task`,{signal:e?.signal})}}class VN extends ut{constructor(e){super(e)}async ScheduledTasksController_createScheduledTask(e){return this.request("POST","/api/v1/scheduled-tasks",{body:e.body,signal:e?.signal})}async ScheduledTasksController_listScheduledTasks(e){return this.request("GET","/api/v1/scheduled-tasks",{params:{page:e?.page,limit:e?.limit,enabled:e?.enabled},signal:e?.signal})}async ScheduledTasksController_getScheduledTask(e){return this.request("GET",`/api/v1/scheduled-tasks/${e.id}`,{signal:e?.signal})}async ScheduledTasksController_updateScheduledTask(e){return this.request("PATCH",`/api/v1/scheduled-tasks/${e.id}`,{body:e.body,signal:e?.signal})}async ScheduledTasksController_deleteScheduledTask(e){return this.request("DELETE",`/api/v1/scheduled-tasks/${e.id}`,{responseType:"void",signal:e?.signal})}}class YN extends ut{constructor(e){super(e)}async DiscoveryController_getIssuer(e){return this.request("GET","/.well-known/oauth-authorization-server/mcp/issuer",{signal:e?.signal})}async DiscoveryController_getAuthorizationServerMetadata(e){return this.request("GET",`/.well-known/oauth-authorization-server/mcp/${e.mcpServerId}/${e.version}`,{signal:e?.signal})}async DiscoveryController_all(e){return this.request("GET",`/.well-known/oauth-protected-resource/${e.path}`,{signal:e?.signal})}}class KN extends ut{constructor(e){super(e)}async GlobalSearchController_search(e){return this.request("GET","/api/v1/search/query",{params:{query:e.query,limit:e.limit,types:e.types},signal:e?.signal})}async SearchAdminController_getSearchSettings(e){return this.request("GET","/api/v1/search/settings",{signal:e?.signal})}async SearchAdminController_updateSearchSettings(e){return this.request("PATCH","/api/v1/search/settings",{body:e.body,signal:e?.signal})}async SearchAdminController_resetSearchSettings(e){return this.request("DELETE","/api/v1/search/settings",{signal:e?.signal})}async SearchAdminController_getSearchIndexStatus(e){return this.request("GET","/api/v1/search/index",{signal:e?.signal})}async SearchAdminController_rebuildSearchIndex(e){return this.request("POST","/api/v1/search/index/rebuild",{signal:e?.signal})}}class QN extends ut{constructor(e){super(e)}async WalkthroughController_acknowledge(e){return this.request("POST","/api/v1/walkthrough/acknowledge",{responseType:"void",signal:e?.signal})}async WalkthroughController_getStatus(e){return this.request("GET","/api/v1/walkthrough/status",{signal:e?.signal})}}class as{app;meta;metaProjects;authorizationServer;webAuthentication;authorizationJourneys;tools;jwks;actors;aiProviders;aiModelSelections;aiProviderConnections;secrets;task;agentrun;threads;agent;agentTokens;agentExecutionTokens;context;executions;workers;taskBlueprints;scheduledTasks;discovery;search;walkthrough;constructor(e){this.app=new jN(e),this.meta=new TN(e),this.metaProjects=new wN(e),this.authorizationServer=new kN(e),this.webAuthentication=new EN(e),this.authorizationJourneys=new CN(e),this.tools=new NN(e),this.jwks=new AN(e),this.actors=new RN(e),this.aiProviders=new DN(e),this.aiModelSelections=new zN(e),this.aiProviderConnections=new ON(e),this.secrets=new LN(e),this.task=new MN(e),this.agentrun=new IN(e),this.threads=new qN(e),this.agent=new UN(e),this.agentTokens=new BN(e),this.agentExecutionTokens=new PN(e),this.context=new $N(e),this.executions=new HN(e),this.workers=new GN(e),this.taskBlueprints=new FN(e),this.scheduledTasks=new VN(e),this.discovery=new YN(e),this.search=new KN(e),this.walkthrough=new QN(e)}}const XN=window.location.origin,ZN=new as({baseUrl:XN,credentials:"include"}),tn=ZN.threads,kn={TASK_CREATED:"task.created",TASK_UPDATED:"task.updated",TASK_DELETED:"task.deleted",TASK_ASSIGNED:"task.assigned",TASK_STATUS_CHANGED:"task.status_changed",TASK_COMMENTED:"task.commented",INPUT_REQUEST_ANSWERED:"input.request.answered",TASK_ACTIVITY:"task.activity"},Ps={THREAD_UPDATED:"thread.updated",THREAD_TITLE_UPDATED:"thread.title.updated",MESSAGE_CREATED:"thread.message.created",THREAD_ACTIVITY:"thread.activity",THREAD_READ:"thread.read",AGENT_ACTIVITY:"thread.agent.activity",AGENT_RESPONSE_DELTA:"thread.agent.response.delta"};var Ac;(function(n){n.HUMAN="human",n.AGENT="agent"})(Ac||(Ac={}));const WN={WORKER_SEEN:"worker.seen"},JN=(n,e)=>{let r=null,l=!1,c=!1;const u=async()=>{try{for(;;){l=!1,c=!1;let h;try{h=await n()}catch(g){if(l)continue;throw g}if(c||e(h),!l)return}}finally{r=null}};return{refresh:()=>r?(l=!0,r):(r=u(),r),noteChange:()=>{r&&(l=!0,c=!0)}}},eA=(n,e)=>n.lastActivityAt!==e.lastActivityAt?n.lastActivityAt<e.lastActivityAt?1:-1:n.id===e.id?0:n.id<e.id?1:-1,tA=(n,e,r)=>{const l=n.find(h=>h.id===e.threadId);if(!l)return null;const c=e.createdByActorId!==r.actorId&&r.viewingThreadId!==e.threadId,u={...l,lastActivityAt:e.createdAt>l.lastActivityAt?e.createdAt:l.lastActivityAt,unreadCount:l.unreadCount+(c?1:0)};return n.map(h=>h.id===u.id?u:h).sort(eA)},nA=Ta("/threads"),hx=100,sA=async n=>{const e=[],r=new Set;let l=0;for(let c=1;c<=n;c+=1){const u=await tn.ThreadsController_listThreads({page:c,limit:hx}),h=u.items||[];l=u.total??0;for(const g of h)r.has(g.id)||(r.add(g.id),e.push(g));if(h.length<hx)break}return{items:e,total:Math.max(l,e.length)}},aA=()=>{const[n,e]=d.useState(!1),[r,l]=d.useState(null),[c,u]=d.useState(!1),[h,g]=d.useState(null),[p,y]=d.useState([]),v=d.useRef(new Set);v.current=new Set(p.map(de=>de.id));const[S,x]=d.useState(0),_=d.useRef(1),k=d.useRef(!1),j=p.length<S,[w,E]=d.useState(null),[z,D]=d.useState(!1),{user:O}=ln(),R=d.useRef(O?.actorId);R.current=O?.actorId;const N=d.useRef(null),C=d.useRef(null);C.current||(C.current=JN(()=>sA(_.current),de=>{y(de.items),x(de.total)}));const L=C.current,U=d.useCallback(async()=>{e(!0),l(null);try{await L.refresh()}catch(de){l(de instanceof Error?de.message:"Failed to load threads")}finally{e(!1)}},[L]),B=d.useCallback(async()=>{try{await L.refresh()}catch(de){console.error("Failed to refresh threads",de)}},[L]),$=d.useCallback(async()=>{if(!k.current){k.current=!0,u(!0),g(null),_.current+=1;try{await L.refresh()}catch(de){_.current=Math.max(1,_.current-1),g(de instanceof Error?de.message:"Failed to load more threads")}finally{k.current=!1,u(!1)}}},[L]),F=d.useCallback((de,ve)=>{L.noteChange(),y(M=>M.some(H=>H.id===de&&H.unreadCount!==ve)?M.map(H=>H.id===de?{...H,unreadCount:ve}:H):M)},[L]),V=d.useCallback(de=>{N.current=de},[]),ne=d.useCallback(async de=>{F(de,0);try{await tn.ThreadsController_markThreadRead({id:de}),L.noteChange()}catch(ve){console.error("Failed to mark thread as read",ve)}},[F,L]),ye=d.useCallback(async de=>await tn.ThreadsController_getThread({id:de}),[]),q=d.useCallback(async de=>{const ve=await tn.ThreadsController_createThread({body:{title:de}});return L.noteChange(),y(M=>[{...ve,lastActivityAt:ve.createdAt,unreadCount:0},...M]),x(M=>M+1),ve},[L]),Z=d.useCallback(async de=>{await tn.ThreadsController_deleteThread({id:de}),L.noteChange(),x(ve=>Math.max(0,ve-1)),y(ve=>ve.filter(M=>M.id!==de))},[L]),le=d.useCallback(()=>{const de=Gn(nA,{transports:["websocket","polling"],withCredentials:!0});return de.on("connect",()=>{console.log("Connected to websocket"),de.emit("threads.subscribe",{},ve=>{ve.ok?(console.log(ve),console.log("Subscribed to room:",ve.room),D(!0),B()):(console.error("Failed to subscribe to room"),D(!1))})}),de.on(Ps.THREAD_TITLE_UPDATED,ve=>{L.noteChange(),y(M=>M.map(H=>H.id===ve.payload.threadId?{...H,title:ve.payload.title}:H))}),de.on(Ps.THREAD_ACTIVITY,ve=>{if(!v.current.has(ve.payload.threadId)){B();return}L.noteChange(),y(M=>tA(M,ve.payload,{actorId:R.current,viewingThreadId:N.current})??M)}),de.on(Ps.THREAD_READ,ve=>{F(ve.payload.threadId,0)}),de.on("disconnect",()=>{console.log("WebSocket disconnected"),D(!1)}),E(de),()=>{de.emit("threads.unsubscribe",{}),de.close(),E(null),D(!1)}},[B,F,L]);return d.useEffect(()=>(U(),le()),[U,le]),{isLoading:n,error:r,isLoadingMore:c,loadMoreError:h,threads:p,totalThreads:S,hasMoreThreads:j,loadThreads:U,loadMoreThreads:$,refreshThreads:B,getThread:ye,createThread:q,deleteThread:Z,markThreadRead:ne,setViewingThreadId:V}},R_=d.createContext(null);function rA({children:n}){const{threads:e,totalThreads:r,hasMoreThreads:l,isLoadingMore:c,loadMoreError:u,loadMoreThreads:h,isLoading:g,error:p,loadThreads:y,refreshThreads:v,getThread:S,createThread:x,deleteThread:_,markThreadRead:k,setViewingThreadId:j}=aA(),[w,E]=d.useState(""),[z,D]=d.useState([]),[O,R]=d.useState(null),N=d.useMemo(()=>e.filter(L=>L.unreadCount>0).length,[e]),C=d.useMemo(()=>({threads:e,isLoading:g,error:p,loadThreads:y,totalThreads:r,hasMoreThreads:l,isLoadingMore:c,loadMoreError:u,loadMoreThreads:h,refreshThreads:v,unreadThreadCount:N,sectionTitle:w,setSectionTitle:E,navItems:z,setNavItems:D,getThread:S,createThread:x,deleteThread:_,markThreadRead:k,setViewingThreadId:j,optimisticDraftThread:O,setOptimisticDraftThread:R}),[e,g,p,y,r,l,c,u,h,v,N,w,E,z,D,S,x,_,k,j,O,R]);return a.jsx(R_.Provider,{value:C,children:n})}function Gs(){const n=d.useContext(R_);if(!n)throw new Error("useThreadsCtx must be used within <ThreadsProvider>");return n}function El({count:n,unit:e="message",className:r}){return n<=0?null:a.jsx("span",{className:r?`unread-badge ${r}`:"unread-badge","aria-label":`${n} unread ${n===1?e:`${e}s`}`,children:n>99?"99+":n})}function iA({children:n}){console.log("Beta shell");const{user:e}=ln(),r=It(),{unreadThreadCount:l}=Gs();xt();const c=d.useMemo(()=>{if(!(e?.onboardingDisplayMode==="FULL_PAGE"||e?.onboardingDisplayMode==="BANNER"))return Bs;const S=Bs.findIndex(_=>_.path==="/settings"),x=[...Bs];return x.splice(S,0,{path:"/walkthrough",label:"Walkthrough",icon:zC}),x},[e?.onboardingDisplayMode]),u=zt(),[h,g]=d.useState(()=>localStorage.getItem("sidebar-collapsed")==="true");d.useEffect(()=>{localStorage.setItem("sidebar-collapsed",String(h))},[h]);const p=()=>{g(!h)},y=$c(r.pathname,c);return a.jsxs("div",{className:`${u?"beta-shell__desktop":"beta-shell__mobile"}`,"data-shell":`${u?"desktop":"mobile"}`,children:[u&&a.jsxs("aside",{className:`beta-shell__desktop__sidebar ${h?"beta-shell__desktop__sidebar--collapsed":""}`,children:[a.jsx("nav",{className:"beta-shell__desktop__nav",children:a.jsx("div",{className:"beta-shell__desktop__navInner",children:a.jsx(te,{spacing:"1",children:c.map(v=>{const S=v.path===y;return a.jsxs(vs,{to:v.path,title:h?v.label:void 0,className:`beta-shell__desktop__nav-item ${S?"beta-shell__desktop__nav-item--active":""}`,children:[a.jsx(Dl,{icon:v.icon,className:"beta-shell__desktop__nav-icon"}),!h&&a.jsx("span",{className:"beta-shell__desktop__nav-label",children:v.label}),v.path==="/threads"&&a.jsx(El,{count:l,unit:"thread",className:"beta-shell__desktop__nav-badge"})]},v.path)})})})}),a.jsx("button",{className:"beta-shell__desktop__sidebar--toggle",onClick:p,"aria-label":h?"Expand sidebar":"Collapse sidebar",children:h?"→":"←"})]}),a.jsx("div",{className:`${u?"beta-shell__desktop__main":""}`,children:n})]})}const lA=window.location.origin,oA=new as({baseUrl:lA,credentials:"include"}),Df=oA.walkthrough,cA=()=>{console.log("useHome mounting");const[n,e]=d.useState(null);return d.useEffect(()=>{console.log("useHome setting message"),e("Message coming from useHome")},[]),{message:n,setMessage:e}},D_=d.createContext(null);function uA({children:n}){const{message:e}=cA(),[r,l]=d.useState(""),c=d.useMemo(()=>({message:e,sectionTitle:r,setSectionTitle:l}),[e,r,l]);return a.jsx(D_.Provider,{value:c,children:n})}function gn(){const n=d.useContext(D_);if(!n)throw new Error("useHomeCtx must be used within <HomeProvider>");return n}const dA=window.location.origin,z_=new as({baseUrl:dA,credentials:"include"}),Yr=z_.search;z_.search;function O_(){const[n,e]=d.useState(null),[r,l]=d.useState(!0),[c,u]=d.useState(null);return d.useEffect(()=>{Df.WalkthroughController_getStatus().then(h=>{const g=[{id:"worker",label:"Configure a worker",description:"A worker is a process that runs on your machine and executes agent tasks. Launch the Taico worker binary, then authenticate it with your account — it will appear here once connected.",href:"/settings/workers",completed:h.workerConfigured},{id:"agent",label:"Create an agent",description:"Agents are AI assistants that work on tasks. Create one by picking a runner (e.g. Claude Code, OpenCode), choosing a template, and selecting which tools it can use.",href:"/agents",completed:h.agentCreated},{id:"task",label:"Create a task",description:"Tasks are the core unit of work in Taico. Create your first task, write a clear description, and assign it to an agent to get it working.",href:"/tasks",completed:h.taskCreated},{id:"project-create",label:"Create a project",description:"Projects are created automatically when you add a tag in the format project:<name> to any task. Go to Tasks, open or create a task, and add a tag like project:my-app. Taico will create the project entry for you.",href:"/tasks",completed:h.projectCreated},{id:"project-configure",label:"Configure a project",description:"Link your project to a code repository. Go to Settings → Projects, find your project, and add a repository URL. Taico will automatically clone that repo for any task tagged with this project — no need to specify it per-task.",href:"/settings/projects",completed:h.projectConfigured},{id:"task-with-project",label:"Assign a task to an agent with a project",description:"Tag a task with a project tag and assign it to an agent. Taico will clone the linked repository and make it available in the agent's working directory automatically.",href:"/tasks",completed:h.taskWithProjectCreated},{id:"context",label:"Create a context block",description:"Context blocks are reusable pieces of text — instructions, reference docs, coding standards — that you can attach to tasks and threads. Agents will read them as part of their prompt.",href:"/context",completed:h.contextBlockCreated},{id:"thread",label:"Connect an AI model",description:"Threads are conversations with the Taico agent. Add an AI provider and pick the model that answers. You can also pick a cheaper model for small background jobs.",href:"/settings/models",completed:h.conversationModelReady}],p=g.filter(y=>y.completed).length;e({steps:g,completedCount:p,totalCount:g.length,displayMode:h.onboardingDisplayMode})}).catch(h=>{console.error("Failed to fetch walkthrough status:",h),u(h instanceof Error?h.message:"Failed to load walkthrough")}).finally(()=>{l(!1)})},[]),{status:n,isLoading:r,error:c}}const Tc=[{type:"task",label:"Tasks"},{type:"context_block",label:"Context"},{type:"thread",label:"Threads"},{type:"agent",label:"Agents"},{type:"tool",label:"Tools"},{type:"project",label:"Projects"}],L_="home.search.excludedTypes";function hA(){try{const n=JSON.parse(localStorage.getItem(L_)??"[]"),e=Tc.map(r=>r.type);return Array.isArray(n)?e.filter(r=>n.includes(r)):[]}catch{return[]}}function fA(){const{user:n,refreshAuth:e}=ln(),{status:r}=O_(),l=ze(),[c,u]=d.useState(!1),[h,g]=d.useState(!1);if(n?.onboardingDisplayMode!=="BANNER"||c)return null;const p=r?.completedCount??0,y=r?.totalCount??7,v=y-p,S=()=>l("/walkthrough"),x=k=>{k.stopPropagation(),u(!0)},_=async k=>{k.stopPropagation();try{g(!0),await an.webAuthControllerMarkWalkthroughSeen(),await e()}catch(j){console.error("Failed to hide walkthrough:",j),g(!1)}};return a.jsx("div",{className:"home-walkthrough-wrap",children:a.jsxs("div",{className:"home-walkthrough-card",onClick:S,role:"button",tabIndex:0,onKeyDown:k=>k.key==="Enter"&&S(),children:[a.jsx("div",{className:"home-walkthrough-dots","aria-hidden":"true",children:Array.from({length:y}).map((k,j)=>a.jsx("span",{className:`home-walkthrough-dot${j<p?" home-walkthrough-dot--done":""}`},j))}),a.jsxs("div",{className:"home-walkthrough-body",children:[a.jsx(b,{size:"2",weight:"semibold",children:v===0?"Setup complete!":`${v} step${v===1?"":"s"} to go`}),a.jsxs(b,{size:"1",tone:"muted",children:[p," of ",y," setup steps completed · Click to continue"]})]}),a.jsxs("div",{className:"home-walkthrough-actions",children:[a.jsx("button",{className:"home-walkthrough-not-now",onClick:x,children:"Not now"}),a.jsx("button",{className:"home-walkthrough-all-set",onClick:_,disabled:h,children:h?"…":"I'm all set"})]})]})})}function pA(){const n=ze(),{setSectionTitle:e}=gn(),[r,l]=d.useState(""),[c,u]=d.useState([]),[h,g]=d.useState(!1),[p,y]=d.useState(-1),v=d.useRef(null),S=d.useRef([]),x=d.useRef(0),[_,k]=d.useState(hA),j=R=>{k(N=>{const C=N.includes(R)?N.filter(L=>L!==R):[...N,R];if(C.length===Tc.length)return N;try{localStorage.setItem(L_,JSON.stringify(C))}catch{}return C})};xt(),d.useEffect(()=>{e(""),v.current?.focus()},[e]);const w=d.useCallback(async R=>{const N=++x.current;if(!R.trim()){u([]),y(-1);return}g(!0);try{const C=await Yr.GlobalSearchController_search({query:R,limit:20,types:_.length>0?Tc.map(L=>L.type).filter(L=>!_.includes(L)):void 0});if(N!==x.current)return;u(C),y(-1),S.current=[]}catch(C){console.error("Search failed:",C),N===x.current&&u([])}finally{N===x.current&&g(!1)}},[_]);d.useEffect(()=>{const R=setTimeout(()=>{w(r)},300);return()=>clearTimeout(R)},[r,w]);const E=R=>{R.key==="ArrowDown"?(R.preventDefault(),y(N=>{const C=N<c.length-1?N+1:N;return setTimeout(()=>{S.current[C]?.scrollIntoView({behavior:"smooth",block:"nearest"})},0),C})):R.key==="ArrowUp"?(R.preventDefault(),y(N=>{const C=N>0?N-1:0;return setTimeout(()=>{S.current[C]?.scrollIntoView({behavior:"smooth",block:"nearest"})},0),C})):R.key==="Enter"&&p>=0&&c[p]&&(R.preventDefault(),n(c[p].url))},z=R=>{n(R)},D=R=>{switch(R){case"task":return"blue";case"context_block":return"purple";case"thread":return"yellow";case"agent":return"green";case"project":return"orange";case"tool":return"red";default:return"gray"}},O=R=>{switch(R){case"task":return"Task";case"context_block":return"Context";case"thread":return"Thread";case"agent":return"Agent";case"project":return"Project";case"tool":return"Tool";default:return R}};return a.jsxs("div",{className:"home-page",children:[a.jsx(fA,{}),a.jsx("div",{className:"home-page-search",children:a.jsx("div",{className:"home-search-container",children:a.jsxs(te,{spacing:"6",align:"center",children:[a.jsxs(te,{spacing:"3",align:"center",children:[a.jsx(b,{size:"6",weight:"bold",className:"home-search-title",children:"Find anything"}),a.jsx(b,{size:"3",tone:"muted",className:"home-search-subtitle",children:"Search across tasks, context, agents, tools, and more"})]}),a.jsx("div",{className:"home-search-box",children:a.jsx("input",{ref:v,type:"text",className:"home-search-input",placeholder:"Search...",value:r,onChange:R=>l(R.target.value),onKeyDown:E,autoFocus:!0})}),a.jsx("div",{className:"home-search-filters",role:"group","aria-label":"Kinds of result to search",children:Tc.map(({type:R,label:N})=>{const C=!_.includes(R);return a.jsx("button",{type:"button",className:`home-search-filter ${C?"home-search-filter--on":""}`,"aria-pressed":C,onClick:()=>j(R),children:N},R)})}),r&&a.jsx($e,{className:"home-search-results",children:a.jsxs(te,{spacing:"2",children:[h&&a.jsx(b,{tone:"muted",size:"2",children:"Searching..."}),!h&&c.length===0&&a.jsx(b,{tone:"muted",size:"2",children:"No results found"}),!h&&c.length>0&&a.jsxs(a.Fragment,{children:[a.jsxs(b,{size:"1",tone:"muted",children:[c.length," ",c.length===1?"result":"results"]}),a.jsx("div",{className:"home-search-results-list",children:c.map((R,N)=>a.jsx("div",{ref:C=>{S.current[N]=C},children:a.jsxs(h0,{interactive:!0,onClick:()=>z(R.url),className:`home-search-result-row ${N===p?"home-search-result-row--selected":""}`,children:[a.jsxs("div",{className:"home-search-result-main",children:[a.jsx(b,{weight:"medium",size:"3",children:R.title}),R.excerpt?a.jsxs(b,{size:"1",tone:"muted",className:"home-search-result-excerpt",children:[R.matchedOn==="comment"?`${R.commentAuthor??"Comment"}: `:"",R.excerpt]}):null]}),a.jsx("div",{className:"home-search-result-meta",children:a.jsx(pn,{color:D(R.type),children:O(R.type)})})]})},R.id))})]})]})}),a.jsxs(ct,{spacing:"2",className:"home-quick-links",children:[a.jsx(re,{variant:"ghost",size:"sm",onClick:()=>n("/tasks"),children:"Tasks"}),a.jsx(re,{variant:"ghost",size:"sm",onClick:()=>n("/threads"),children:"Threads"}),a.jsx(re,{variant:"ghost",size:"sm",onClick:()=>n("/agents"),children:"Agents"}),a.jsx(re,{variant:"ghost",size:"sm",onClick:()=>n("/context"),children:"Context"})]})]})})})]})}function ri({sectionTitle:n,titleAccessory:e,headerActions:r,children:l}){return a.jsxs("div",{className:"desktop-shell",children:[n&&a.jsxs("div",{className:"desktop-shell__header",children:[a.jsxs("div",{className:"desktop-shell__title-row",children:[a.jsx("h1",{className:"desktop-shell__title",children:n}),e?a.jsx("div",{className:"desktop-shell__title-accessory",children:e}):null]}),r?a.jsx("div",{className:"desktop-shell__actions",children:r}):null]}),a.jsx("div",{className:"desktop-shell__content",children:l})]})}function gA({navItems:n,activePath:e,onActiveItemClick:r}){return console.log("Rendering BottomNavContent with navItems:",n),n.length===0?a.jsx(a.Fragment,{}):a.jsx(ct,{spacing:"1",justify:"space-between",children:n.map(l=>{const c=e===l.path;return a.jsxs(vs,{to:l.path,className:`ios-shell__bottom-nav__item ${c?"ios-shell__bottom-nav__item--active":""}`,onClick:()=>{c&&r()},children:[a.jsx(Dl,{icon:l.icon,className:"ios-shell__bottom-nav__icon"}),a.jsx(b,{size:"1",className:"ios-shell__bottom-nav-label",children:l.label})]},l.label)})})}function tr(n){const e=It(),{unreadThreadCount:r}=Gs();console.log("Mounting iOS shell");const[l,c]=d.useState(!1),u=()=>{c(!1)},[h,g]=d.useState(!0),[p,y]=d.useState(!0),[v,S]=d.useState(!0),x=d.useRef(null),_=F=>{x.current=F,U(),L(),B()},k=d.useRef(null),j=F=>{k.current=F,U()},w=d.useRef(null),E=d.useRef(null),z=F=>{E.current=F,L()},D=d.useRef(null),O=d.useRef(null),R=F=>{O.current=F,B()},N=d.useRef(null),C=(F,V,ne)=>{const ye=V.current,q=x.current;!ye||!q||(F.current?.disconnect(),F.current=new IntersectionObserver(([Z])=>{ne(Z.isIntersecting)},{root:q,threshold:[0,1]}),F.current.observe(ye))},L=()=>{C(D,E,F=>{console.log(`title visibility detector: ${F}`),g(F)})},U=()=>{C(w,k,F=>{console.log(`content behind header detector: ${F}`),y(!F)})},B=()=>{C(N,O,F=>{console.log(`bottom detector: ${F}`),S(!F)})},$=()=>{x.current?.scrollTo({top:0,behavior:"smooth"})};return d.useEffect(()=>()=>{D.current?.disconnect(),w.current?.disconnect(),N.current?.disconnect()},[]),a.jsxs("div",{className:"ios-shell",children:[a.jsxs("aside",{className:`ios-shell__drawer ${l?"ios-shell__drawer--open":""}`,children:[a.jsxs("div",{className:"ios-shell__drawer-header",children:[a.jsx(b,{size:"4",weight:"bold",children:"taico"}),a.jsx("button",{className:"ios-shell__drawer-close",onClick:u,"aria-label":"Close menu",children:"✕"})]}),a.jsx("nav",{className:"ios-shell__drawer-nav",children:Bs.map(F=>{const V=F.path===$c(e.pathname,Bs);return a.jsxs(vs,{to:F.path,className:`ios-shell__drawer-item ${V?"ios-shell__drawer-item--active":""}`,onClick:u,children:[a.jsx(Dl,{icon:F.icon,className:"ios-shell__drawer-icon"}),a.jsx("span",{className:"ios-shell__drawer-label",children:F.label}),F.path==="/threads"&&a.jsx(El,{count:r,unit:"thread",className:"ios-shell__drawer-badge"})]},F.path)})})]}),a.jsx("header",{className:`ios-shell__header ${p?"elevated":""}`,children:a.jsxs(ct,{spacing:"5",align:"center",children:[a.jsx("button",{className:"ios-shell__hamburger",onClick:()=>c(!0),"aria-label":"Open menu",children:"☰"}),a.jsx(b,{size:"3",weight:"normal",as:"div",children:n.appTitle}),a.jsx("div",{className:`ios-shell__header__section-title ${h?"is-hidden":"is-visible"}`,children:n.sectionTitle})]})}),a.jsxs("main",{ref:_,className:"ios-shell__main",children:[a.jsx("div",{className:"ios-shell__main__top-padding"}),a.jsx("div",{ref:j,className:"ios-shell__main__section-title-top-sentinel"}),a.jsx("div",{className:`ios-shell__main__section-title ${h?"is-visible":"is-hidden"}`,children:n.sectionTitle}),n.topActions?a.jsx("div",{className:"ios-shell__main__top-actions",children:n.topActions}):null,a.jsx("div",{ref:z,className:"ios-shell__main__section-title-bottom-sentinel"}),a.jsx("div",{className:"ios-shell__main__top-sentinel"}),n.children,a.jsx("div",{ref:R,className:"ios-shell__main__bottom-sentinel"}),a.jsx("div",{className:"ios-shell__main__bottom-padding"})]}),a.jsx("nav",{className:`ios-shell__bottom-nav ${v?"elevated":""}`,children:a.jsx(gA,{navItems:n.navItems,activePath:e.pathname,onActiveItemClick:$})})]})}const mA=[{path:"/home",label:"Home",icon:wf},{path:"/tasks",label:"Tasks",icon:h_},{path:"/context",label:"Context",icon:kf},{path:"/agents",label:"Agents",icon:m_},{path:"/settings",label:"Settings",icon:g_}];function yA(){const n=zt(),{sectionTitle:e}=gn();return a.jsx(a.Fragment,{children:n?a.jsx(ri,{sectionTitle:e,children:a.jsx(Wt,{})}):a.jsx(tr,{appTitle:"Home",sectionTitle:e,navItems:mA,children:a.jsx(Wt,{})})})}const M_=d.createContext(null);function zl(){const n=d.useContext(M_);if(!n)throw new Error("useCommandPalette must be used within a CommandPaletteProvider");return n}function vA({children:n}){const e=ze(),[r,l]=d.useState(new Map),[c,u]=d.useState(new Map),h=d.useRef(0),g=d.useMemo(()=>[{id:"nav-home",label:"Home",description:"Go to homepage",aliases:["home","search"],onSelect:()=>e("/home")},{id:"nav-tasks",label:"Tasks",description:"Go to tasks",aliases:["task"],onSelect:()=>e("/tasks")},{id:"nav-context",label:"Context",description:"Go to context blocks",aliases:["blocks","block"],onSelect:()=>e("/context")},{id:"nav-agents",label:"Agents",description:"Go to agents",aliases:["agent"],onSelect:()=>e("/agents")},{id:"nav-threads",label:"Threads",description:"Go to threads",aliases:["thread"],onSelect:()=>e("/threads")},{id:"nav-tools",label:"Tools",description:"Go to tools",aliases:["mcp","tool"],onSelect:()=>e("/tools")},{id:"nav-runs",label:"Runs",description:"Go to runs",aliases:["executions","execution","work queue"],onSelect:()=>e("/runs")},{id:"nav-schedule",label:"Schedule",description:"Go to schedule",aliases:["cron","schedules"],onSelect:()=>e("/tasks/schedule")},{id:"nav-settings",label:"Settings",description:"Go to settings",aliases:["setting","config"],onSelect:()=>e("/settings")}],[e]),p=d.useCallback(_=>{const k=String(++h.current);return l(j=>{const w=new Map(j);return w.set(k,_),w}),()=>{l(j=>{const w=new Map(j);return w.delete(k),w})}},[]),y=d.useCallback(_=>{const k=String(++h.current);return u(j=>{const w=new Map(j);return w.set(k,_),w}),()=>{u(j=>{const w=new Map(j);return w.delete(k),w})}},[]),v=d.useMemo(()=>[...Array.from(r.values()).flat(),...g],[g,r]),S=d.useMemo(()=>{const _=Array.from(c.values());return _[_.length-1]},[c]),x=d.useMemo(()=>({commands:v,registerCommands:p,searchTasks:S,registerTaskSearch:y}),[v,p,S,y]);return a.jsxs(M_.Provider,{value:x,children:[n,a.jsx(xA,{})]})}function xA(){const{commands:n,searchTasks:e}=zl(),r=ze(),[l,c]=d.useState(!1),[u,h]=d.useState(""),[g,p]=d.useState(0),[y,v]=d.useState(!1),[S,x]=d.useState([]),[_,k]=d.useState(!1),j=d.useRef(null),w=d.useRef(null),E=d.useRef(null),z=d.useRef(0);function D($,F){const V=$.label.toLowerCase(),ne=$.description?.toLowerCase()||"",ye=V.indexOf(F);if(ye!==-1)return V===F?1e3:ye===0?500:300;if($.aliases)for(const q of $.aliases){const Z=q.toLowerCase(),le=Z.indexOf(F);if(le!==-1)return Z===F?800:le===0?400:200}return ne.includes(F)?100:0}const O=u.toLowerCase().trim(),N=[...n.map($=>({command:$,score:O?D($,O):0})).filter($=>$.score>0).sort(($,F)=>F.score!==$.score?F.score-$.score:0).map($=>$.command).map($=>({type:"command",command:$})),...S.map($=>({type:"task",task:$}))];function C($){if(!O)return $;const F=$.toLowerCase().indexOf(O);return F===-1?$:a.jsxs(a.Fragment,{children:[$.slice(0,F),a.jsx("mark",{children:$.slice(F,F+O.length)}),$.slice(F+O.length)]})}d.useEffect(()=>{if(E.current&&clearTimeout(E.current),!e){z.current+=1,x([]),k(!1);return}if(!O){z.current+=1,x([]),k(!1);return}z.current+=1;const $=z.current;return E.current=window.setTimeout(async()=>{k(!0);try{const F=await e(O);z.current===$&&x(F)}catch(F){console.error("Failed to search tasks:",F),z.current===$&&x([])}finally{z.current===$&&k(!1)}},200),()=>{E.current&&clearTimeout(E.current)}},[O,e]),d.useEffect(()=>{p(0)},[u]),d.useEffect(()=>{const $=F=>{(F.metaKey||F.ctrlKey)&&F.key==="/"&&(F.preventDefault(),c(!0))};return document.addEventListener("keydown",$),()=>document.removeEventListener("keydown",$)},[]),d.useEffect(()=>{l&&j.current&&j.current.focus()},[l]),d.useEffect(()=>{const $=F=>{w.current&&!w.current.contains(F.target)&&l&&L()};if(l)return document.addEventListener("mousedown",$),()=>document.removeEventListener("mousedown",$)},[l]);function L(){c(!1),h(""),p(0),x([]),k(!1),E.current&&clearTimeout(E.current),z.current+=1}function U($){$.type==="command"?$.command.onSelect():r(`/tasks/task/${$.task.id}`),L()}function B($){if($.key==="Escape"){$.preventDefault(),L();return}if($.key==="ArrowDown"){$.preventDefault(),p(F=>F<N.length-1?F+1:F);return}if($.key==="ArrowUp"){$.preventDefault(),p(F=>F>0?F-1:0);return}if($.key==="Enter"){if($.preventDefault(),N.length===0){v(!0),setTimeout(()=>v(!1),500);return}const F=N[g];F&&U(F);return}}return l?a.jsx("div",{className:"command-palette-backdrop",children:a.jsxs("div",{className:`command-palette-container ${y?"command-palette-container--shake":""}`,ref:w,children:[a.jsx("input",{ref:j,type:"text",className:"command-palette-input",placeholder:"Type a command...",value:u,onChange:$=>h($.target.value),onKeyDown:B,autoComplete:"off",spellCheck:!1}),N.length>0&&a.jsx("div",{className:"command-palette-results",children:N.map(($,F)=>{if($.type==="command"){const V=$.command;return a.jsxs("div",{className:`command-palette-item ${F===g?"command-palette-item--selected":""}`,onClick:()=>U($),onMouseEnter:()=>p(F),children:[a.jsx("span",{className:"command-palette-item-label",children:C(V.label)}),V.description&&a.jsx("span",{className:"command-palette-item-description",children:V.description})]},`cmd-${V.id}`)}else{const V=$.task;return a.jsxs("div",{className:`command-palette-item command-palette-item--task ${F===g?"command-palette-item--selected":""}`,onClick:()=>U($),onMouseEnter:()=>p(F),children:[a.jsx("span",{className:"command-palette-item-label",children:C(V.name)}),a.jsx("span",{className:"command-palette-item-description",children:"Task"})]},`task-${V.id}`)}})}),u&&N.length===0&&!_&&a.jsx("div",{className:"command-palette-no-results",children:"No results found"}),_&&a.jsx("div",{className:"command-palette-searching",children:"Searching tasks..."})]})}):null}function ii({onDelete:n,deleteLabel:e="Delete",confirmLabel:r="Confirm Delete",cancelLabel:l="Cancel",className:c,size:u="lg"}){const[h,g]=d.useState(!1),p=async()=>{await n(),g(!1)};return a.jsx(_e,{className:c,children:h?a.jsxs(a.Fragment,{children:[a.jsx(re,{size:u,variant:"secondary",onClick:()=>g(!1),children:l}),a.jsx(re,{size:u,variant:"danger",onClick:p,children:r})]}):a.jsx(re,{size:u,variant:"danger",onClick:()=>g(!0),children:e})})}const I_=d.createContext(void 0);function mn(){const n=d.useContext(I_);if(!n)throw new Error("useToast must be used within ToastProvider");return n}function bA(n){if(n&&typeof n=="object"){const e=n;if(e.body?.detail)return e.body.detail;if(e.detail)return e.detail;if(e.message)return e.message}return typeof n=="string"?n:"An unexpected error occurred"}function _A({children:n}){const[e,r]=d.useState([]),l=d.useCallback((h,g="info",p=5e3)=>{const y=crypto.randomUUID(),v={id:y,message:h,type:g,duration:p};r(S=>[...S,v]),p>0&&setTimeout(()=>{u(y)},p)},[]),c=d.useCallback(h=>{const g=bA(h);l(g,"error",6e3)},[l]),u=d.useCallback(h=>{r(g=>g.filter(p=>p.id!==h))},[]);return a.jsx(I_.Provider,{value:{toasts:e,showToast:l,showError:c,dismissToast:u},children:n})}function SA(){const{toasts:n,dismissToast:e}=mn();return n.length===0?null:a.jsx("div",{className:"toast-container",children:n.map(r=>a.jsxs("div",{className:`toast toast--${r.type}`,role:"alert","aria-live":"assertive",children:[a.jsx("div",{className:"toast__content",children:a.jsx(b,{size:"2",className:"toast__message",children:r.message})}),a.jsx("button",{className:"toast__close",onClick:()=>e(r.id),"aria-label":"Dismiss notification",children:"×"})]},r.id))})}Re.BASE=Za;const jA=window.location.origin,q_=new as({baseUrl:jA,credentials:"include"}),TA=q_.workers;q_.workers;const wA=Ta("/workers");function zf(){const[n,e]=d.useState([]),[r,l]=d.useState(!0),[c,u]=d.useState(null),[h,g]=d.useState(!1),p=v=>[...v].sort((S,x)=>{const _=new Date(S.lastSeenAt).getTime();return new Date(x.lastSeenAt).getTime()-_}),y=async()=>{try{l(!0),u(null);const v=await TA.WorkersController_listWorkers();e(p(v))}catch(v){console.error("Error fetching workers:",v),u(v instanceof Error?v.message:"Failed to load workers")}finally{l(!1)}};return d.useEffect(()=>{const v=Gn(wA,{withCredentials:!0,transports:["websocket","polling"]});return y(),v.on("connect",()=>{v.emit("workers.subscribe",{},S=>{if(S.ok){g(!0);return}g(!1)}),y()}),v.on("disconnect",()=>{g(!1)}),v.on("connect_error",S=>{console.error("Workers WebSocket connection error:",S)}),v.on(WN.WORKER_SEEN,S=>{e(x=>{const _=x.findIndex(k=>k.id===S.worker.id);if(_>=0){const k=[...x];return k[_]=S.worker,p(k)}return p([...x,S.worker])})}),()=>{v.emit("workers.unsubscribe",{}),v.disconnect()}},[]),{workers:n,isLoading:r,error:c,isConnected:h}}function U_({preview:n,size:e="compact"}){const r={"--theme-preview-bg":n.background,"--theme-preview-surface":n.surface,"--theme-preview-card":n.card,"--theme-preview-border":n.border,"--theme-preview-text":n.text,"--theme-preview-muted":n.muted,"--theme-preview-accent":n.accent,"--theme-preview-accent-soft":n.accentSoft};return a.jsx("span",{className:`settings-theme-visual settings-theme-visual--${e}`,style:r,"aria-hidden":"true",children:a.jsxs("span",{className:"settings-theme-visual__window",children:[a.jsxs("span",{className:"settings-theme-visual__rail",children:[a.jsx("span",{className:"settings-theme-visual__accent-dot"}),a.jsx("span",{className:"settings-theme-visual__rail-line"}),a.jsx("span",{className:"settings-theme-visual__rail-line settings-theme-visual__rail-line--short"})]}),a.jsxs("span",{className:"settings-theme-visual__canvas",children:[a.jsx("span",{className:"settings-theme-visual__font",children:n.font==="Mono"?"Aa":"Ag"}),a.jsx("span",{className:"settings-theme-visual__line settings-theme-visual__line--wide"}),a.jsxs("span",{className:"settings-theme-visual__panel",children:[a.jsx("span",{className:"settings-theme-visual__chip"}),a.jsx("span",{className:"settings-theme-visual__line"}),a.jsx("span",{className:"settings-theme-visual__line settings-theme-visual__line--short"})]}),a.jsx("span",{className:"settings-theme-visual__button"})]})]})})}const B_=[{value:"light",label:"Light",description:"Clean light theme with a crisp blue accent.",preview:{background:"#ffffff",surface:"#f6f8fa",card:"#ffffff",border:"#d1d9e0",text:"#1f2328",muted:"#59636e",accent:"#0969da",accentSoft:"#ddf4ff",font:"Inter"}},{value:"dark",label:"Dark",description:"Low-light surfaces with GitHub-style blue highlights.",preview:{background:"#0d1117",surface:"#161b22",card:"#0d1117",border:"#30363d",text:"#e6edf3",muted:"#8b949e",accent:"#2f81f7",accentSoft:"#1f6feb33",font:"Inter"}},{value:"clarity",label:"Clarity",description:"Soft neutral surfaces for focused daytime work.",preview:{background:"#f7f7f5",surface:"#f2f4f7",card:"#ffffff",border:"#d9dee5",text:"#1f2328",muted:"#66707a",accent:"#3971d9",accentSoft:"#e5efff",font:"Inter"}},{value:"github",label:"GitHub",description:"GitHub-inspired neutrals with a green action color.",preview:{background:"#ffffff",surface:"#f6f8fa",card:"#ffffff",border:"#d0d7de",text:"#24292f",muted:"#57606a",accent:"#1f883d",accentSoft:"#dafbe1",font:"Inter"}},{value:"forest",label:"Forest",description:"Dark green workspace with softer natural contrast.",preview:{background:"#0f1a0f",surface:"#152615",card:"#102010",border:"#2d4a2d",text:"#e8f5e8",muted:"#9bb89b",accent:"#52c952",accentSoft:"#1f4d2a",font:"Inter"}},{value:"terminal",label:"Terminal",description:"Classic terminal green on a black interface.",preview:{background:"#000000",surface:"#0a0a0a",card:"#050505",border:"#00aa00",text:"#00ff00",muted:"#00aa00",accent:"#00dd00",accentSoft:"#003b00",font:"Mono"}},{value:"ai-vibes",label:"AI Vibes",description:"Deep purples with neon-like accents.",preview:{background:"#0c0716",surface:"#1a102b",card:"#130b21",border:"#3b255f",text:"#f5efff",muted:"#c4b5db",accent:"#a855f7",accentSoft:"#3b1762",font:"Inter"}},{value:"halo",label:"Halo",description:"Light background with cooler layered surfaces.",preview:{background:"#f9f9fc",surface:"#eef1f9",card:"#ffffff",border:"#d8deef",text:"#1f2937",muted:"#667085",accent:"#3b5bcc",accentSoft:"#e6ebff",font:"Inter"}},{value:"kindling",label:"Kindling",description:"Black and white minimalism inspired by e-reader focus.",preview:{background:"#ffffff",surface:"#f5f5f5",card:"#ffffff",border:"#d4d4d4",text:"#111111",muted:"#666666",accent:"#111111",accentSoft:"#eeeeee",font:"Inter"}},{value:"terminal-amber",label:"Terminal Amber",description:"Warm terminal tones with a calm blue accent.",preview:{background:"#0b0a09",surface:"#17130d",card:"#120f0b",border:"#3a2d16",text:"#f5d78e",muted:"#b9975b",accent:"#8ab4f8",accentSoft:"#1d2740",font:"Mono"}},{value:"oceanic",label:"Oceanic",description:"Cool blues and teals for a calmer dark theme.",preview:{background:"#0c1b2a",surface:"#102a3d",card:"#0f2233",border:"#1d4a5f",text:"#e6fffb",muted:"#9bd5d0",accent:"#4fd1c5",accentSoft:"#123c47",font:"Inter"}},{value:"party",label:"Party",description:"Playful warm palette with saturated highlights.",preview:{background:"#fff7f0",surface:"#fff0e0",card:"#ffffff",border:"#ffd4d4",text:"#2d1b1b",muted:"#7a5a5a",accent:"#ff6b6b",accentSoft:"#ffe3df",font:"Inter"}},{value:"tribute",label:"Tribute",description:"Dark sidebar energy inspired by the previous UI.",preview:{background:"#0b1220",surface:"#111827",card:"#0f172a",border:"#1e293b",text:"#e5e7eb",muted:"#94a3b8",accent:"#2563eb",accentSoft:"#172554",font:"Inter"}}];function kA(){const{setSectionTitle:n}=gn(),e=zt(),r=ze(),{registerCommands:l}=zl(),{theme:c,setTheme:u}=Tb(),{workers:h,isLoading:g}=zf(),[p,y]=d.useState(null),[v,S]=d.useState({projects:null,conversationModel:null});xt(),d.useEffect(()=>{n("Settings"),x(),_()},[]);const x=async()=>{try{const w=await Eb.metaControllerGetVersion();y(w)}catch(w){console.error("Failed to load version:",w)}},_=async()=>{const[w,E]=await Promise.allSettled([Cc.projectsControllerGetAllProjects(),bl.aiModelSelectionsControllerListAiModelSelections()]);S({projects:w.status==="fulfilled"?w.value.length:null,conversationModel:E.status==="fulfilled"?E.value.find(z=>z.job==="conversation"&&z.isReady)?.effectiveModelId??null:null})};d.useEffect(()=>l([{id:"settings-account",label:"Account Settings",description:"Manage your account security",aliases:["password","account","security"],onSelect:()=>r("/settings/account")},{id:"settings-appearance",label:"Appearance Settings",description:"Choose your preferred color theme",aliases:["theme","appearance","dark mode","light mode"],onSelect:()=>r("/settings/appearance")},{id:"settings-projects",label:"Projects Settings",description:"Manage your projects",aliases:["projects","manage projects"],onSelect:()=>r("/settings/projects")},{id:"settings-models",label:"AI Models",description:"Connect AI providers and pick a model for each job",aliases:["chat","models","openai","anthropic","providers","ai providers","embeddings"],onSelect:()=>r("/settings/models")},{id:"settings-search",label:"Search Settings",description:"Tune search and see what is indexed",aliases:["search","index","embeddings","semantic","reindex"],onSelect:()=>r("/settings/search")},{id:"settings-workers",label:"Workers Settings",description:"Configure and manage background workers",aliases:["workers","background","execution"],onSelect:()=>r("/settings/workers")},{id:"settings-ai-usage",label:"AI Usage",description:"View usage and quota for AI providers",aliases:["ai","usage","quota","anthropic","openai","claude"],onSelect:()=>r("/settings/ai-usage")},{id:"settings-data",label:"Import / Export",description:"Import and export workspace data",aliases:["data","export","import","backup","restore"],onSelect:()=>r("/settings/data")},{id:"settings-users",label:"User Management",description:"Invite users and manage access",aliases:["users","user management","admin","accounts"],onSelect:()=>r("/settings/users")}]),[l,r]);const k=h.filter(w=>{const E=new Date(w.lastSeenAt);return Date.now()-E.getTime()<=120*1e3}).length,j=[{title:"Appearance",description:"Theme and visual preferences for Taico.",icon:s1,iconTone:"accent",path:"/settings/appearance",action:"More themes",detail:{label:"Current theme",value:EA(c),tone:"default"},preview:a.jsx(CA,{activeTheme:c,onSelect:w=>u(w)})},{title:"Projects",description:"Project metadata and repository links.",icon:Fh,iconTone:"accent",path:"/settings/projects",action:"Manage",detail:{label:"Projects",value:v.projects===null?"Unavailable":String(v.projects),tone:"default"}},{title:"AI models",description:"AI providers and the model each job uses.",icon:y1,iconTone:"warning",path:"/settings/models",action:"Configure",detail:{label:"Conversation model",value:v.conversationModel??"Not selected",tone:v.conversationModel?"default":"muted"}},{title:"Search",description:"What is indexed and how results are matched and ranked.",icon:d1,iconTone:"accent",path:"/settings/search",action:"Configure",detail:{label:"Strategies",value:"Keyword, fuzzy title, semantic",tone:"default"}},{title:"Workers",description:"Background execution workers and harness health.",icon:rx,iconTone:"green",path:"/settings/workers",action:"Open workers",detail:{label:"Connected workers",value:g?"Loading":String(k),tone:"default"}},{title:"Account",description:"Password and account-level access controls.",icon:QC,iconTone:"red",path:"/settings/account",action:"Security",detail:{label:"Password",value:"Change available",tone:"default"}},{title:"Users",description:"Invite people, reset passwords, and disable access.",icon:S1,iconTone:"accent",path:"/settings/users",action:"Manage users",detail:{label:"Access",value:"Admin only",tone:"default"}},{title:"Data",description:"Import and export workspace context blocks.",icon:kC,iconTone:"neutral",path:"/settings/data",action:"Import / export",detail:{label:"Export",value:"Context blocks",tone:"default"}}];return a.jsxs("div",{className:"settings-page",children:[e?a.jsx(b,{tone:"muted",children:"Manage your workspace, execution, providers, and data."}):null,a.jsxs("div",{className:"settings-page__layout",children:[a.jsxs("main",{className:"settings-page__main","aria-label":"Settings sections",children:[a.jsxs("div",{className:"settings-page__nav","aria-label":"Settings shortcuts",children:[a.jsxs("button",{className:"settings-page__nav-item",type:"button",onClick:()=>r("/settings"),"aria-current":"page",children:[a.jsx(p_,{size:16,strokeWidth:1.8,"aria-hidden":"true"}),a.jsx("span",{children:"Overview"})]}),j.slice(0,4).map(w=>{const E=w.icon;return a.jsxs("button",{className:"settings-page__nav-item",type:"button",onClick:()=>r(w.path),children:[a.jsx(E,{size:16,strokeWidth:1.8,"aria-hidden":"true"}),a.jsx("span",{children:w.title})]},w.title)})]}),a.jsx("div",{className:"settings-page__section-grid",children:j.map(w=>{const E=w.icon;return a.jsxs($e,{padding:"0",className:`settings-page__section-card ${w.preview?"settings-page__section-card--with-carousel":""}`,children:[a.jsxs("div",{className:"settings-page__section-header",children:[a.jsx("span",{className:`settings-page__section-icon settings-page__section-icon--${w.iconTone}`,children:a.jsx(E,{size:22,strokeWidth:1.8,"aria-hidden":"true"})}),a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"3",weight:"semibold",children:w.title}),a.jsx(b,{size:"1",tone:"muted",children:w.description})]})]}),w.preview??a.jsxs("div",{className:"settings-page__detail",children:[a.jsx(b,{size:"1",tone:"muted",children:w.detail.label}),a.jsx(b,{size:"2",weight:"medium",tone:w.detail.tone,children:w.detail.value})]}),a.jsxs(re,{variant:"secondary",size:"sm",fullWidth:!0,onClick:()=>r(w.path),className:"settings-page__section-action",children:[a.jsx("span",{children:w.action}),a.jsx(d_,{size:16,strokeWidth:1.8,"aria-hidden":"true"})]})]},w.title)})})]}),a.jsxs("aside",{className:"settings-page__side","aria-label":"Settings status",children:[a.jsx($e,{padding:"4",className:"settings-page__side-card",children:a.jsxs(te,{spacing:"4",children:[a.jsx(b,{size:"3",weight:"semibold",children:"Readiness"}),a.jsx(Eh,{icon:a.jsx(jC,{size:16,strokeWidth:1.8}),label:"Conversation model",value:v.conversationModel??"Needs a model",isReady:!!v.conversationModel}),a.jsx(Eh,{icon:a.jsx(rx,{size:16,strokeWidth:1.8}),label:"Worker connection",value:g?"Checking":k>0?`${k} online`:"No workers online",isReady:k>0}),a.jsx(Eh,{icon:a.jsx(Fh,{size:16,strokeWidth:1.8}),label:"Projects",value:v.projects===null?"Checking":`${v.projects} available`,isReady:(v.projects??0)>0})]})}),a.jsx($e,{padding:"4",className:"settings-page__side-card",children:a.jsxs(te,{spacing:"3",children:[a.jsx(b,{size:"3",weight:"semibold",children:"Quick links"}),a.jsx(lc,{icon:a.jsx(c_,{size:16}),label:"AI usage",onClick:()=>r("/settings/ai-usage")}),a.jsx(lc,{icon:a.jsx(FC,{size:16}),label:"AI providers",onClick:()=>r("/settings/models")}),a.jsx(lc,{icon:a.jsx(yC,{size:16}),label:"Setup walkthrough",onClick:()=>r("/walkthrough")}),a.jsx(lc,{icon:a.jsx(CC,{size:16}),label:"Tools",onClick:()=>r("/tools")})]})}),p?a.jsxs(b,{size:"1",tone:"muted",className:"settings-page__version",children:["Taico v",p.backend," · UI v",p.ui]}):null]})]})]})}function EA(n){return n.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function CA({activeTheme:n,onSelect:e}){return a.jsx("div",{className:"settings-page__theme-carousel","aria-label":"Theme preview selector",children:B_.map(r=>{const l=n===r.value;return a.jsxs("button",{type:"button",className:`settings-page__theme-preview ${l?"settings-page__theme-preview--active":""}`,onClick:()=>e(r.value),"aria-pressed":l,children:[a.jsx(U_,{preview:r.preview}),a.jsxs("span",{className:"settings-page__theme-preview-copy",children:[a.jsx("span",{children:r.label}),a.jsx("span",{children:r.preview.font})]})]},r.value)})})}function Eh({icon:n,label:e,value:r,isReady:l}){return a.jsxs("div",{className:"settings-page__status-row",children:[a.jsx("span",{className:`settings-page__status-icon ${l?"settings-page__status-icon--ready":""}`,children:n}),a.jsxs("div",{children:[a.jsx(b,{size:"2",weight:"medium",children:e}),a.jsx(b,{size:"1",tone:"muted",children:r})]})]})}function lc({icon:n,label:e,onClick:r}){return a.jsxs("button",{className:"settings-page__quick-link",type:"button",onClick:r,children:[a.jsx("span",{className:"settings-page__quick-link-icon","aria-hidden":"true",children:n}),a.jsx("span",{children:e}),a.jsx(d_,{size:15,strokeWidth:1.8,"aria-hidden":"true"})]})}function NA(){const{setSectionTitle:n}=gn(),{logout:e}=ln(),r=ze(),[l,c]=d.useState(""),[u,h]=d.useState(""),[g,p]=d.useState(""),[y,v]=d.useState(""),[S,x]=d.useState(!1);d.useEffect(()=>{n("Account")},[]);const _=async k=>{k.preventDefault(),p(""),v(""),x(!0);try{await an.webAuthControllerChangePassword({currentPassword:l,newPassword:u}),v("Password changed successfully! You will be logged out."),c(""),h(""),setTimeout(async()=>{await e(),r("/login")},2e3)}catch(j){p(j?.body?.detail||"Failed to change password. Please check your current password.")}finally{x(!1)}};return a.jsxs(te,{spacing:"6",className:"settings-subpage",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"Update the password used to sign in to this Taico instance."}),a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Change Password"}),a.jsx(b,{tone:"muted",children:"Update your account password"})]}),a.jsx("form",{onSubmit:_,children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"current-password",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Current Password"})}),a.jsx("input",{id:"current-password",type:"password",value:l,onChange:k=>c(k.target.value),className:"login-input",placeholder:"••••••••",required:!0,disabled:S,autoComplete:"current-password"})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"new-password",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"New Password"})}),a.jsx("input",{id:"new-password",type:"password",value:u,onChange:k=>h(k.target.value),className:"login-input",placeholder:"••••••••",required:!0,disabled:S,autoComplete:"new-password"})]}),g&&a.jsx(Dt,{size:"2",weight:"medium",children:g}),y&&a.jsx("div",{style:{color:"var(--accent)"},children:a.jsx(b,{size:"2",weight:"medium",children:y})}),a.jsx(re,{type:"submit",variant:"primary",size:"md",disabled:S||!l||!u,children:S?"Changing Password...":"Change Password"})]})})]})})]})}function AA(){const{theme:n,setTheme:e}=Tb(),{setSectionTitle:r}=gn();return d.useEffect(()=>{r("Appearance")},[]),a.jsxs(te,{spacing:"6",className:"settings-subpage settings-subpage--wide",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"Choose the visual style used across Taico."}),a.jsx("div",{className:"settings-theme-grid","aria-label":"Theme choices",children:B_.map(l=>{const c=n===l.value;return a.jsxs("button",{type:"button",className:`settings-theme-card ${c?"settings-theme-card--active":""}`,onClick:()=>e(l.value),"aria-pressed":c,children:[a.jsx(U_,{preview:l.preview,size:"large"}),a.jsxs("span",{className:"settings-theme-card__body",children:[a.jsxs("span",{className:"settings-theme-card__header",children:[a.jsx("span",{className:"settings-theme-card__title",children:l.label}),a.jsx("span",{className:"settings-theme-card__badge",children:c?"Active":l.preview.font})]}),a.jsx("span",{className:"settings-theme-card__description",children:l.description}),a.jsxs("span",{className:"settings-theme-card__palette","aria-hidden":"true",children:[a.jsx("span",{style:{backgroundColor:l.preview.background}}),a.jsx("span",{style:{backgroundColor:l.preview.surface}}),a.jsx("span",{style:{backgroundColor:l.preview.card}}),a.jsx("span",{style:{backgroundColor:l.preview.accent}})]})]})]},l.value)})})]})}function RA(){const{setSectionTitle:n}=gn(),e=ze(),[r,l]=d.useState([]),[c,u]=d.useState(!0),[h,g]=d.useState(""),[p,y]=d.useState(null),[v,S]=d.useState(""),[x,_]=d.useState(""),[k,j]=d.useState(""),[w,E]=d.useState("");d.useEffect(()=>{n("Projects"),z()},[]);const z=async()=>{u(!0),g("");try{const N=await Cc.projectsControllerGetAllProjects();l(N)}catch(N){g(N?.body?.detail||"Failed to load projects")}finally{u(!1)}},D=N=>{y(N.id),S(N.description||""),_(N.repoUrl||""),j(""),E("")},O=()=>{y(null),S(""),_(""),j(""),E("")},R=async N=>{j(""),E("");try{await Cc.projectsControllerUpdateProject(N,{description:v,repoUrl:x}),E("Project updated successfully!"),y(null),await z(),setTimeout(()=>{E("")},3e3)}catch(C){j(C?.body?.detail||"Failed to update project")}};return c?a.jsx(te,{spacing:"6",className:"settings-subpage",children:a.jsx(b,{tone:"muted",children:"Loading projects..."})}):h?a.jsxs(te,{spacing:"6",className:"settings-subpage",children:[a.jsx(Dt,{children:h}),a.jsx(re,{variant:"secondary",onClick:z,children:"Retry"})]}):a.jsxs(te,{spacing:"6",className:"settings-subpage",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"Manage project metadata and repository links used by task workflows."}),a.jsxs(ct,{justify:"space-between",align:"center",className:"settings-projects__toolbar",children:[a.jsx(b,{size:"3",weight:"semibold",children:"Projects"}),a.jsx(re,{variant:"primary",size:"sm",onClick:()=>e("/settings/projects/new"),children:"New project"})]}),r.length===0?a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"3",children:[a.jsx(b,{tone:"muted",children:"No projects found"}),a.jsx(ct,{children:a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>e("/settings/projects/new"),children:"Create project"})})]})}):r.map(N=>a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"4",weight:"semibold",children:N.slug}),a.jsxs(b,{size:"2",tone:"muted",children:["Tag: ",N.tagName]})]}),p===N.id?a.jsx("form",{onSubmit:C=>{C.preventDefault(),R(N.id)},children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:`description-${N.id}`,className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Description"})}),a.jsx("textarea",{id:`description-${N.id}`,value:v,onChange:C=>S(C.target.value),className:"login-input",placeholder:"Project description",rows:3,style:{resize:"vertical",fontFamily:"inherit"}})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:`repo-url-${N.id}`,className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Repository URL"})}),a.jsx("input",{id:`repo-url-${N.id}`,type:"url",value:x,onChange:C=>_(C.target.value),className:"login-input",placeholder:"https://github.com/username/repo"})]}),k&&a.jsx(Dt,{size:"2",weight:"medium",children:k}),w&&a.jsx("div",{style:{color:"var(--accent)"},children:a.jsx(b,{size:"2",weight:"medium",children:w})}),a.jsxs(ct,{spacing:"3",children:[a.jsx(re,{type:"submit",variant:"primary",size:"md",children:"Save Changes"}),a.jsx(re,{type:"button",variant:"secondary",size:"md",onClick:O,children:"Cancel"})]})]})}):a.jsxs(a.Fragment,{children:[a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"2",weight:"medium",children:"Description"}),a.jsx(b,{size:"2",tone:"muted",children:N.description||"No description"})]}),a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"2",weight:"medium",children:"Repository URL"}),a.jsx(b,{size:"2",tone:"muted",children:N.repoUrl||"No repository URL"})]}),a.jsx(ct,{justify:"end",children:a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>D(N),children:"Edit Project"})})]})]})},N.id))]})}function DA(){const{setSectionTitle:n}=gn(),e=ze(),[r,l]=d.useState(""),[c,u]=d.useState(""),[h,g]=d.useState(""),[p,y]=d.useState(!1),[v,S]=d.useState("");d.useEffect(()=>{n("Create Project")},[]);const x=async _=>{_.preventDefault(),S(""),y(!0);try{await Cc.projectsControllerCreateProject({slug:r.trim(),description:c.trim()||void 0,repoUrl:h.trim()||void 0}),e("/settings/projects")}catch(k){S(k?.body?.detail||"Failed to create project")}finally{y(!1)}};return a.jsxs(te,{spacing:"6",className:"settings-subpage",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"Add a project tag and optional repository link."}),a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsx("form",{onSubmit:x,children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"project-slug",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Slug"})}),a.jsx("input",{id:"project-slug",value:r,onChange:_=>l(_.target.value),className:"login-input",placeholder:"taico",required:!0,disabled:p})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"project-description",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Description"})}),a.jsx("textarea",{id:"project-description",value:c,onChange:_=>u(_.target.value),className:"login-input",placeholder:"Project description",rows:3,disabled:p,style:{resize:"vertical",fontFamily:"inherit"}})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{htmlFor:"project-repo-url",className:"login-label",children:a.jsx(b,{size:"2",weight:"medium",children:"Repository URL"})}),a.jsx("input",{id:"project-repo-url",type:"url",value:h,onChange:_=>g(_.target.value),className:"login-input",placeholder:"https://github.com/username/repo",disabled:p})]}),v?a.jsx(Dt,{size:"2",weight:"medium",children:v}):null,a.jsxs(ct,{justify:"end",spacing:"3",children:[a.jsx(re,{type:"button",variant:"secondary",size:"md",onClick:()=>e("/settings/projects"),disabled:p,children:"Cancel"}),a.jsx(re,{type:"submit",variant:"primary",size:"md",disabled:p||!r.trim(),children:p?"Creating...":"Create project"})]})]})})})]})}const fx=(n,e)=>n?.body?.detail||e,zA="subscription_sharing_usage_limit_exceeded";function OA({providerId:n,isEnabled:e,onChanged:r}){const[l,c]=d.useState(null),[u,h]=d.useState(""),[g,p]=d.useState(""),[y,v]=d.useState(!1),[S,x]=d.useState(!1),[_,k]=d.useState(""),j=d.useCallback(async()=>{try{c(await ll.aiProviderConnectionsControllerGetConnection(n))}catch(B){h(fx(B,"Could not load your ChatGPT connection."))}},[n]);d.useEffect(()=>{j()},[j]);const w=async(B,$)=>{h(""),p(""),v(!0);try{await B()}catch(F){h(fx(F,$))}finally{v(!1)}},E=()=>{const B=window.open("","_blank");return w(async()=>{try{const{authorizationUrl:$}=await ll.aiProviderConnectionsControllerStartAuthorization(n);B?(B.opener=null,B.location.href=$):window.location.assign($)}catch($){throw B?.close(),$}k(""),await j()},"Could not start signing in to ChatGPT.")},z=()=>w(async()=>{c(await ll.aiProviderConnectionsControllerCompleteAuthorization(n,{callbackUrl:_.trim()})),k(""),p("You're using your ChatGPT plan."),r()},"Could not finish signing in.").then(j),D=B=>w(async()=>{c(await ll.aiProviderConnectionsControllerUpdateConnection(n,{automatedTurnsAllowed:B}))},"Could not save this setting."),O=()=>w(async()=>{const{revokedAtProvider:B}=await ll.aiProviderConnectionsControllerDisconnect(n);x(!1),p(B?"Disconnected. Taico no longer has access to your ChatGPT plan.":"Disconnected here, but OpenAI could not be told. To be sure, remove Taico from the connected apps in your ChatGPT settings."),await j(),r()},"Could not disconnect.");if(!e)return a.jsx(b,{size:"1",tone:"muted",className:"chatgpt-connection",children:"Sign in with ChatGPT is turned off on this server. It is only for a Taico you run yourself: the server operator can turn it on with CHATGPT_SUBSCRIPTION_ENABLED=true."});if(!l)return u?a.jsx(Dt,{size:"2",weight:"medium",children:u}):null;const{status:R}=l,N=R==="connected",C=R!=="disconnected",L=N&&l.lastErrorCode===zA,U=a.jsx("a",{className:`chatgpt-connection__link${L?" chatgpt-connection__link--primary":""}`,href:l.manageUsageUrl,target:"_blank",rel:"noreferrer",children:"Manage usage"});return a.jsxs(te,{spacing:"3",className:"chatgpt-connection",children:[g?a.jsx("div",{role:"status",children:a.jsx(b,{size:"2",weight:"medium",className:"chatgpt-connection__notice",children:g})}):null,N?a.jsxs(te,{spacing:"1",children:[a.jsxs(ct,{spacing:"2",align:"center",className:"chatgpt-connection__line",children:[a.jsx("span",{className:"chatgpt-connection__badge",children:"Using ChatGPT plan"}),a.jsx(b,{size:"2",children:l.accountEmail?`Connected as ${l.accountEmail}`:"Connected"}),U]}),a.jsx(b,{size:"1",tone:"muted",children:"Your plan answers only the messages you write in threads. Other people connect their own account. Taico never falls back to a paid API key."}),L?a.jsx(b,{size:"2",className:"chatgpt-connection__warning",children:"You have reached the usage limit of your ChatGPT plan. Threads will not answer you until it resets."}):null]}):a.jsx(b,{size:"2",children:R==="needs_reauthorization"?"Your ChatGPT sign-in expired or was removed. Sign in again to keep using your plan in threads.":R==="plan_access_not_granted"?`You signed in${l.accountEmail?` as ${l.accountEmail}`:""}, but did not allow use of your ChatGPT plan. Sign in again and allow it.`:"Not connected. Sign in with your own ChatGPT account and your plan answers the messages you write in threads. Nobody else can use it."}),N?a.jsxs("label",{className:"chatgpt-connection__consent",children:[a.jsx("input",{type:"checkbox",checked:l.automatedTurnsAllowed,disabled:y,onChange:B=>{D(B.target.checked)}}),a.jsxs("span",{children:[a.jsx(b,{size:"2",children:"Also answer task updates on my plan"}),a.jsx(b,{size:"1",tone:"muted",children:"When a task a thread is waiting for changes, the agent replies without anyone typing. Leave this off and those replies are skipped with a note in the thread. If the middle manager runs on this plan, it also keeps the shared notes of the threads you created up to date as their tasks change."})]})]}):null,S?a.jsxs(ct,{spacing:"2",align:"center",className:"chatgpt-connection__line",children:[a.jsx(b,{size:"2",children:"Disconnect and revoke Taico's access to your ChatGPT plan?"}),a.jsx(re,{variant:"danger",size:"sm",disabled:y,onClick:()=>{O()},children:"Disconnect"}),a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>x(!1),children:"Cancel"})]}):a.jsxs(ct,{spacing:"2",align:"center",className:"chatgpt-connection__line",children:[a.jsx(re,{variant:N?"secondary":"primary",size:"sm",disabled:y,onClick:()=>{E()},children:N?"Reconnect":"Continue with ChatGPT"}),C?a.jsx(re,{variant:"secondary",size:"sm",disabled:y,onClick:()=>x(!0),children:"Disconnect"}):null]}),l.isAuthorizationPending?a.jsxs(te,{spacing:"2",className:"chatgpt-connection__paste",children:[a.jsx(b,{size:"2",weight:"medium",children:"Finish signing in"}),a.jsxs("ol",{className:"chatgpt-connection__steps",children:[a.jsx("li",{children:a.jsx(b,{size:"1",tone:"muted",children:"Approve Taico at OpenAI in the tab that opened."})}),a.jsx("li",{children:a.jsx(b,{size:"1",tone:"muted",children:"That tab then shows a page that cannot be reached, at an address starting with http://127.0.0.1. This is expected: nothing runs there."})}),a.jsx("li",{children:a.jsx(b,{size:"1",tone:"muted",children:"Copy the whole address from that tab's address bar, paste it here and click Finish. It works once, for you only, within 10 minutes."})})]}),a.jsxs(ct,{spacing:"2",align:"center",children:[a.jsx("input",{type:"text",value:_,onChange:B=>k(B.target.value),className:"settings-models__control",placeholder:"http://127.0.0.1:…/auth/callback?code=…","aria-label":"Address you were sent to after signing in",spellCheck:!1,autoComplete:"off"}),a.jsx(re,{variant:"secondary",size:"sm",disabled:y||!_.trim(),onClick:()=>{z()},children:"Finish"})]})]}):null,u?a.jsx(Dt,{size:"2",weight:"medium",children:u}):null]})}const LA=["conversation","middle_manager"],px=[{job:"conversation",label:"Conversation",help:"The model that answers in threads. Pick your most capable model.",kind:"language",followsConversation:!1},{job:"quick_tasks",label:"Quick tasks",help:"Small background jobs like naming threads and enriching context. Pick something fast and cheap, such as Claude Haiku or GPT Luna.",kind:"language",followsConversation:!0},{job:"middle_manager",label:"Middle manager",help:"Keeps each thread's shared notes up to date as its tasks change.",kind:"language",followsConversation:!0},{job:"embeddings",label:"Search embeddings",help:"Turns content into vectors for search. Changing it later means re-indexing everything, so pick one and keep it.",kind:"embedding",followsConversation:!1}],gs={openai:{label:"OpenAI",help:"Get an API key from platform.openai.com/api-keys.",secretLabel:"API key",secretPlaceholder:"sk-...",secretRequired:!0},anthropic:{label:"Anthropic",help:"Get an API key from console.anthropic.com.",secretLabel:"API key",secretPlaceholder:"sk-ant-...",secretRequired:!0},google:{label:"Google Gemini API",help:"Get an API key from aistudio.google.com.",secretLabel:"API key",secretPlaceholder:"AIza...",secretRequired:!0},google_vertex:{label:"Google Vertex AI",help:"Serves Gemini and Claude models. Claude needs a location that offers it (for example global or us-east5). Anything left empty falls back to the server environment (application default credentials, GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION).",secretLabel:"Service account JSON (optional)",secretPlaceholder:'{ "type": "service_account", ... }',secretRequired:!1,multilineSecret:!0,hasVertexSettings:!0},xai:{label:"xAI (Grok)",help:"Get an API key from console.x.ai.",secretLabel:"API key",secretPlaceholder:"xai-...",secretRequired:!0},openai_compatible:{label:"OpenAI-compatible",help:"Any server that speaks the OpenAI chat API, such as Ollama, LiteLLM or OpenRouter. Needs a base URL.",secretLabel:"API key (optional)",secretPlaceholder:"sk-...",secretRequired:!1,hasBaseUrl:!0},chatgpt_subscription:{label:"ChatGPT plan (Sign in with ChatGPT)",help:"No API key. Each person signs in with their own ChatGPT account, and their plan answers the messages they write in threads. Only for a Taico you run yourself, not a hosted one.",secretLabel:null,secretPlaceholder:"",secretRequired:!1,personalPlan:!0}},MA=Object.keys(gs),gx="__add_provider__",Gr=(n,e)=>n?.body?.detail||e;function IA(){const{setSectionTitle:n}=gn(),[e,r]=d.useState([]),[l,c]=d.useState([]),[u,h]=d.useState({}),[g,p]=d.useState(""),[y,v]=d.useState(!0),[S,x]=d.useState(null),[_,k]=d.useState(!1),j=d.useRef(new Set);xt();const w=d.useCallback(async()=>{try{const[U,B]=await Promise.all([Fa.aiProvidersControllerListAiProviders(),bl.aiModelSelectionsControllerListAiModelSelections()]);r(U),c(B)}catch(U){p(Gr(U,"Failed to load model settings"))}finally{v(!1)}},[]);d.useEffect(()=>{n("AI models"),w()},[w,n]);const E=d.useCallback(async(U,B=!1)=>{if(!(!B&&j.current.has(U))){j.current.add(U),h($=>({...$,[U]:{status:"loading"}}));try{const $=await Fa.aiProvidersControllerListAiProviderModels(U);h(F=>({...F,[U]:{status:"ready",models:$}}))}catch($){h(F=>({...F,[U]:{status:"error",message:Gr($,"Could not list models from the provider.")}}))}}},[]),z=async(U,B,$)=>{p("");try{return B?await bl.aiModelSelectionsControllerSetAiModelSelection(U,{aiProviderId:B,modelId:$}):await bl.aiModelSelectionsControllerClearAiModelSelection(U),await w(),!0}catch(F){return p(Gr(F,"Failed to save the model")),!1}},D=async(U,B)=>{const $=mx(U,B,!1);if($)return $;const F=gs[U];try{const V=await Fa.aiProvidersControllerCreateAiProvider({name:B.name.trim()||F.label,type:U,...F.hasBaseUrl?{baseUrl:B.baseUrl}:{},...F.hasVertexSettings?{project:B.project,location:B.location}:{}});return B.apiKey.trim()&&await Fa.aiProvidersControllerUpdateAiProvider(V.id,{apiKey:B.apiKey.trim()}),k(!1),await w(),null}catch(V){return await w(),Gr(V,"Failed to add provider")}},O=async(U,B)=>{const $=gs[U.type],F=B.name.trim()?mx(U.type,B,!!U.secretId):"Please enter a name";if(F){p(F);return}p("");try{await Fa.aiProvidersControllerUpdateAiProvider(U.id,{name:B.name.trim(),...B.apiKey.trim()?{apiKey:B.apiKey.trim()}:{},...$.hasBaseUrl?{baseUrl:B.baseUrl}:{},...$.hasVertexSettings?{project:B.project,location:B.location}:{}}),x(null),await w(),await E(U.id,!0)}catch(V){p(Gr(V,"Failed to save provider"))}},R=async U=>{p("");try{await Fa.aiProvidersControllerDeleteAiProvider(U.id),await w()}catch(B){p(Gr(B,"Failed to delete provider"))}};if(y)return a.jsx(te,{spacing:"6",className:"settings-subpage",children:a.jsx(b,{children:"Loading..."})});const N=e.find(U=>U.id===l.find(B=>B.job==="conversation")?.aiProviderId),C=!!N&&!!gs[N.type].personalPlan,L=U=>px.filter(B=>l.some($=>$.job===B.job&&$.aiProviderId===U)).map(B=>B.label);return a.jsxs(te,{spacing:"6",className:"settings-subpage settings-models",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"Providers are the AI services Taico can call. Models are picked per job, so each job can use a different model from a different provider."}),g&&a.jsx(Dt,{size:"2",weight:"medium",children:g}),a.jsxs(te,{spacing:"3",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Models"}),a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsx("div",{className:"settings-models__jobs",children:px.map(U=>{const B=l.find($=>$.job===U.job);return B?a.jsx(BA,{info:U,selection:B,providers:e,conversationUsesPersonalPlan:C,modelsByProvider:u,onLoadModels:E,onSave:($,F)=>z(U.job,$,F),onAddProvider:()=>k(!0)},U.job):null})})})]}),a.jsxs(te,{spacing:"3",children:[a.jsxs(ct,{justify:"space-between",align:"center",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Providers"}),a.jsx(re,{variant:"primary",size:"sm",onClick:()=>k(!0),children:"Add provider"})]}),a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsx("div",{className:"settings-models__jobs",children:e.length===0?a.jsx("div",{className:"settings-models__provider",children:a.jsx(b,{tone:"muted",children:"No providers yet. Add one to pick models from it."})}):e.map(U=>a.jsx(PA,{provider:U,usedBy:L(U.id),models:u[U.id],isEditing:S===U.id,onEdit:()=>{p(""),x(U.id)},onCancel:()=>x(null),onSave:B=>O(U,B),onDelete:()=>R(U),onTest:()=>E(U.id,!0)},U.id))})})]}),a.jsx(qA,{open:_,onOpenChange:k,onAdd:D})]})}function mx(n,e,r){const l=gs[n];return l.secretRequired&&!r&&!e.apiKey.trim()?"Please enter an API key":l.hasBaseUrl&&!e.baseUrl.trim()?"Please enter a base URL":null}const Zh={name:"",apiKey:"",baseUrl:"",project:"",location:""};function P_({type:n,form:e,onChange:r,hasStoredSecret:l}){const c=gs[n],u=(h,g,p)=>a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"2",weight:"medium",children:h}),a.jsx("input",{type:"text",value:e[g],onChange:y=>r({...e,[g]:y.target.value}),className:"settings-models__control",placeholder:p})]});return a.jsxs(a.Fragment,{children:[a.jsx(b,{size:"1",tone:"muted",children:c.help}),u("Name","name",c.label),c.secretLabel?a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"2",weight:"medium",children:c.secretLabel}),c.multilineSecret?a.jsx("textarea",{value:e.apiKey,onChange:h=>r({...e,apiKey:h.target.value}),className:"settings-models__control settings-models__secret-textarea",placeholder:c.secretPlaceholder,rows:4}):a.jsx("input",{type:"password",value:e.apiKey,onChange:h=>r({...e,apiKey:h.target.value}),className:"settings-models__control",placeholder:c.secretPlaceholder}),a.jsx(b,{size:"1",tone:"muted",children:l?"A value is already stored. Leave empty to keep it.":"Stored securely on the server."})]}):null,c.hasBaseUrl?u("Base URL","baseUrl","http://localhost:11434/v1"):null,c.hasVertexSettings?a.jsxs(a.Fragment,{children:[u("Project ID","project","From GOOGLE_CLOUD_PROJECT"),u("Location","location","From GOOGLE_CLOUD_LOCATION")]}):null]})}function qA({open:n,onOpenChange:e,onAdd:r}){const[l,c]=d.useState("anthropic"),[u,h]=d.useState(Zh),[g,p]=d.useState(""),[y,v]=d.useState(!1);d.useEffect(()=>{n&&(h(Zh),p(""))},[n]);const S=async()=>{v(!0),p(await r(l,u)??""),v(!1)};return a.jsx(WE,{open:n,onOpenChange:e,title:"Add a provider",children:a.jsxs(te,{spacing:"3",children:[a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"2",weight:"medium",children:"Type"}),a.jsx("select",{value:l,onChange:x=>{c(x.target.value),p("")},className:"settings-models__control","aria-label":"Provider type",children:MA.map(x=>a.jsx("option",{value:x,children:gs[x].label},x))})]}),a.jsx(P_,{type:l,form:u,onChange:h,hasStoredSecret:!1}),g?a.jsx(Dt,{size:"2",weight:"medium",children:g}):null,a.jsxs(ct,{spacing:"2",justify:"end",children:[a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>e(!1),children:"Cancel"}),a.jsx(re,{variant:"primary",size:"sm",onClick:S,disabled:y,children:"Add provider"})]})]})})}function UA({value:n,onChange:e,options:r,placeholder:l,label:c}){const[u,h]=d.useState(!1),[g,p]=d.useState(!1),[y,v]=d.useState(-1),S=d.useRef(null),x=n.trim().toLowerCase(),_=g&&x?r.filter(E=>E.toLowerCase().includes(x)):r;d.useEffect(()=>{S.current?.querySelector('[data-active="true"]')?.scrollIntoView({block:"nearest"})},[y]);const k=()=>{h(!1),p(!1),v(-1)},j=E=>{e(E),k()},w=E=>{if(E.key==="ArrowDown"||E.key==="ArrowUp"){if(E.preventDefault(),!u){h(!0);return}if(_.length>0){const z=E.key==="ArrowDown"?1:-1;v(D=>(D+z+_.length)%_.length)}}else E.key==="Enter"&&u&&y>=0&&_[y]?(E.preventDefault(),j(_[y])):E.key==="Escape"&&u&&(E.preventDefault(),k())};return a.jsxs("div",{className:"settings-models__combobox",children:[a.jsx("input",{type:"text",role:"combobox","aria-label":c,"aria-expanded":u,"aria-autocomplete":"list",autoComplete:"off",spellCheck:!1,value:n,placeholder:l,className:"settings-models__control",onFocus:E=>{h(!0),E.target.select()},onBlur:k,onChange:E=>{e(E.target.value),h(!0),p(!0),v(-1)},onKeyDown:w}),u&&_.length>0?a.jsx("ul",{ref:S,role:"listbox",className:"settings-models__combobox-list",children:_.map((E,z)=>a.jsx("li",{role:"option","aria-selected":E===n,"data-active":z===y,className:"settings-models__combobox-option",onMouseDown:D=>D.preventDefault(),onClick:()=>j(E),onMouseEnter:()=>v(z),children:E},E))}):null]})}function BA({info:n,selection:e,providers:r,conversationUsesPersonalPlan:l,modelsByProvider:c,onLoadModels:u,onSave:h,onAddProvider:g}){const p=e.aiProviderId??"",y=e.modelId??"",[v,S]=d.useState(p),[x,_]=d.useState(y),[k,j]=d.useState(!1),[w,E]=d.useState(!1);d.useEffect(()=>{S(p),_(y)},[p,y]);const z=r.find(le=>le.id===v),D=!!z?.isConfigured,O=!!z&&!!gs[z.type].personalPlan,R=r.filter(le=>LA.includes(n.job)||!gs[le.type].personalPlan),N=n.followsConversation&&v===""&&l;d.useEffect(()=>{v&&D&&u(v)},[v,D,u]),d.useEffect(()=>{if(!w)return;const le=window.setTimeout(()=>E(!1),2400);return()=>window.clearTimeout(le)},[w]);const C=v?c[v]:void 0,L=C?.status==="ready"?C.models:[],U=L.filter(le=>le.kind===n.kind),B=(U.length>0?U:L).map(le=>le.id),$=D&&C?.status!=="ready"&&C?.status!=="error",F=v!==p||x.trim()!==y,V=F&&!k&&(v===""||x.trim()!==""),ne=le=>{if(le===gx){g();return}S(le),_(le===p?y:"")},ye=async()=>{j(!0);const le=await h(v,x.trim());j(!1),E(le)},q=n.followsConversation&&!N?"Same as Conversation":"Not selected";let Z;return e.isReady?Z={text:e.followsConversation?`Using the conversation model (${e.effectiveModelId})`:"Ready",tone:"ready"}:e.effectiveModelId?Z={text:"The provider still needs setup",tone:"pending"}:Z={text:"Not selected",tone:"pending"},a.jsxs("div",{className:"settings-models__job",children:[a.jsxs(te,{spacing:"1",className:"settings-models__job-copy",children:[a.jsxs(ct,{spacing:"2",align:"center",className:"settings-models__job-title",children:[a.jsx(b,{size:"3",weight:"semibold",children:n.label}),a.jsx("span",{className:"settings-models__status","data-tone":Z.tone,children:Z.text})]}),a.jsx(b,{size:"1",tone:"muted",children:n.help})]}),a.jsxs("div",{className:"settings-models__job-controls",children:[a.jsxs("select",{value:v,onChange:le=>ne(le.target.value),className:"settings-models__control","aria-label":`${n.label} provider`,children:[a.jsx("option",{value:"",children:q}),R.map(le=>a.jsxs("option",{value:le.id,children:[le.name,le.isConfigured?"":" (needs setup)"]},le.id)),a.jsx("option",{value:gx,children:"Add provider…"})]}),v===""?null:a.jsx(UA,{value:x,onChange:_,options:B,placeholder:$?"Loading models…":"Search or type a model id",label:`${n.label} model`}),a.jsx(re,{variant:"primary",size:"sm",onClick:ye,disabled:!V,children:w&&!F?"Saved":"Save"})]}),v!==""&&C?.status==="error"?a.jsxs(b,{size:"1",tone:"muted",className:"settings-models__job-note",children:[C.message," You can still type the model id."]}):null,v!==""&&!D?a.jsx(b,{size:"1",tone:"muted",className:"settings-models__job-note",children:"Finish setting up this provider to pick from its models."}):null,O&&n.job==="middle_manager"?a.jsx(b,{size:"1",tone:"muted",className:"settings-models__job-note",children:'Using ChatGPT plan: the shared notes of a thread are kept on the plan of the person who created it, and only if they turned on "Also answer task updates on my plan". Otherwise the notes of that thread are not updated. Models listed are the ones your own account offers.'}):O?a.jsx(b,{size:"1",tone:"muted",className:"settings-models__job-note",children:"Using ChatGPT plan: each person's own plan answers the messages they write. Someone who has not connected their account gets a note in the thread instead of an answer. Models listed are the ones your own account offers."}):null,N?a.jsx(b,{size:"1",tone:"muted",className:"settings-models__job-note",children:"This job does not follow a Conversation model that runs on a ChatGPT plan. Pick a model for it here, or leave it off."}):null]})}function PA({provider:n,usedBy:e,models:r,isEditing:l,onEdit:c,onCancel:u,onSave:h,onDelete:g,onTest:p}){const y=gs[n.type],v=y.personalPlan?"Turned off on this server":"Needs setup",[S,x]=d.useState(Zh),[_,k]=d.useState(!1),[j,w]=d.useState(!1);d.useEffect(()=>{l&&x({name:n.name,apiKey:"",baseUrl:n.baseUrl??"",project:n.project??"",location:n.location??""})},[l,n]);let E=null;return j&&r&&(E=r.status==="loading"?"Testing…":r.status==="ready"?`Connected. ${r.models.length} models available.`:r.message),a.jsx("div",{className:"settings-models__provider","data-layout":l?"form":"row",children:a.jsxs(te,{spacing:"3",children:[a.jsxs(te,{spacing:"1",className:"settings-models__header-copy",children:[a.jsxs(ct,{spacing:"2",align:"center",className:"settings-models__job-title",children:[a.jsx(b,{size:"3",weight:"semibold",children:n.name}),a.jsx("span",{className:"settings-models__status","data-tone":n.isConfigured?"ready":"pending",children:n.isConfigured?"Ready":v})]}),a.jsxs(b,{size:"1",tone:"muted",children:[y.label,n.baseUrl?` · ${n.baseUrl}`:"",e.length>0?` · Used by ${e.join(", ")}`:" · Not used by any job"]}),E&&!l?a.jsx(b,{size:"1",tone:"muted",children:E}):null]}),l?a.jsxs(te,{spacing:"3",children:[a.jsx(P_,{type:n.type,form:S,onChange:x,hasStoredSecret:!!n.secretId}),a.jsxs(ct,{spacing:"2",children:[a.jsx(re,{variant:"primary",size:"sm",onClick:()=>h(S),children:"Save"}),a.jsx(re,{variant:"secondary",size:"sm",onClick:u,children:"Cancel"})]})]}):_?a.jsxs(ct,{spacing:"2",align:"center",className:"settings-models__actions",children:[a.jsxs(b,{size:"2",children:["Delete ",n.name,"?"]}),a.jsx(re,{variant:"danger",size:"sm",onClick:()=>{k(!1),g()},children:"Delete"}),a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>k(!1),children:"Cancel"})]}):a.jsxs(ct,{spacing:"2",align:"center",className:"settings-models__actions",children:[a.jsx(re,{variant:"secondary",size:"sm",onClick:c,children:n.isConfigured||y.personalPlan?"Edit":"Set up"}),a.jsx(re,{variant:"secondary",size:"sm",disabled:!n.isConfigured,onClick:()=>{w(!0),p()},children:"Test connection"}),a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>k(!0),children:"Delete"})]}),y.personalPlan&&!l?a.jsx(OA,{providerId:n.id,isEnabled:n.isConfigured,onChanged:p}):null]})})}function $A(){const{setSectionTitle:n}=gn(),[e,r]=d.useState(!1),[l,c]=d.useState(!1),[u,h]=d.useState(null),[g,p]=d.useState(""),[y,v]=d.useState("");d.useEffect(()=>{n("Import / Export")},[n]);const S=d.useMemo(()=>`${Za}/api/v1/context/blocks/export`,[]),x=d.useMemo(()=>`${Za}/api/v1/context/blocks/import`,[]),_=async()=>{r(!0),p(""),v("");try{const j=await fetch(S,{method:"GET",credentials:"include"});if(!j.ok)throw new Error("Failed to export blocks");const w=await j.blob(),z=j.headers.get("content-disposition")?.match(/filename="?([^";]+)"?/)?.[1]||"context-blocks.zip",D=window.URL.createObjectURL(w),O=document.createElement("a");O.href=D,O.download=z,document.body.appendChild(O),O.click(),O.remove(),window.URL.revokeObjectURL(D),v("Blocks export downloaded successfully.")}catch{p("Failed to export blocks. Please try again.")}finally{r(!1)}},k=async()=>{if(!u){p("Please choose a .zip file first."),v("");return}c(!0),p(""),v("");try{const j=new FormData;j.append("file",u);const w=await fetch(x,{method:"POST",credentials:"include",body:j}),E=await w.json().catch(()=>({}));if(!w.ok)throw new Error("Failed to import blocks");const z=E.importedCount??0;v(`Import complete. ${z} block${z===1?"":"s"} created.`),h(null)}catch{p("Failed to import blocks. Verify the archive format and try again.")}finally{c(!1)}};return a.jsxs(te,{spacing:"6",className:"settings-subpage",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"Import and export workspace data. Blocks are available now; task support can be added in this section later."}),g?a.jsx(Dt,{size:"2",weight:"medium",children:g}):null,y?a.jsx(b,{size:"2",className:"settings-data__success",children:y}):null,a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Export Blocks"}),a.jsx(b,{tone:"muted",children:"Download all context blocks as a nested markdown zip archive."})]}),a.jsx(ct,{justify:"end",children:a.jsx(re,{variant:"primary",size:"sm",onClick:_,disabled:e,children:e?"Exporting...":"Export Blocks"})})]})}),a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Import Blocks"}),a.jsx(b,{tone:"muted",children:"Upload a blocks archive to create context blocks in this workspace."})]}),a.jsx("label",{htmlFor:"blocks-import-file",className:"settings-data__file-label",children:"Select archive (.zip)"}),a.jsx("input",{id:"blocks-import-file",type:"file",accept:".zip,application/zip",onChange:j=>h(j.target.files?.[0]??null),className:"settings-data__file-input"}),a.jsx(b,{size:"1",tone:"muted",children:u?`Selected: ${u.name}`:"No file selected"}),a.jsx(ct,{justify:"end",children:a.jsx(re,{variant:"secondary",size:"sm",onClick:k,disabled:l,children:l?"Importing...":"Import Blocks"})})]})})]})}function HA(){const{setSectionTitle:n}=gn(),{workers:e,isLoading:r,error:l}=zf(),[c,u]=d.useState(null);d.useEffect(()=>{n("Workers Settings")},[]);const g=`npx -y @taico/worker --serverurl ${`${window.location.protocol}//${window.location.host}`}`,p=v=>{const S=new Date(v),_=new Date().getTime()-S.getTime(),k=120*1e3;return _<=k},y=async()=>{try{await navigator.clipboard.writeText(g),u("Copied"),window.setTimeout(()=>u(null),1800)}catch{u("Copy failed"),window.setTimeout(()=>u(null),1800)}};return r?a.jsx(te,{spacing:"6",className:"settings-subpage",children:a.jsx(b,{children:"Loading..."})}):a.jsxs(te,{spacing:"6",className:"settings-subpage",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"Workers execute tasks in the background. Configure workers to enable automated task execution."}),l?a.jsx(Dt,{size:"2",weight:"medium",children:l}):null,a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Configure a New Worker"}),a.jsx(b,{tone:"muted",children:"Run this command in your terminal to start a new worker:"})]}),a.jsxs("div",{className:"settings-workers__command-container",children:[a.jsx("code",{className:"settings-workers__command",children:g}),a.jsx(re,{className:"settings-workers__copy-button",variant:"secondary",size:"sm",onClick:y,children:c??"Copy"})]}),a.jsx(b,{size:"1",tone:"muted",children:"The worker will automatically register and appear in the list below when it connects."})]})}),a.jsxs(te,{spacing:"3",children:[a.jsxs(b,{size:"4",weight:"semibold",children:["Registered Workers (",e.length,")"]}),e.length===0?a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsx(b,{tone:"muted",children:"No workers registered yet. Run the command above to start your first worker."})}):e.map(v=>{const S=p(v.lastSeenAt),_=new Date(v.lastSeenAt).toLocaleString();return a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"3",children:[a.jsx(ct,{justify:"space-between",align:"center",children:a.jsxs(te,{spacing:"1",children:[a.jsxs("div",{className:"settings-workers__title-row",children:[a.jsx(b,{size:"3",weight:"semibold",children:"Worker"}),S?a.jsx(BC,{className:"settings-workers__status-icon settings-workers__status-icon--connected",size:18,strokeWidth:1.5,absoluteStrokeWidth:!0,"aria-label":"Connected"}):a.jsx(qC,{className:"settings-workers__status-icon settings-workers__status-icon--disconnected",size:18,strokeWidth:1.5,absoluteStrokeWidth:!0,"aria-label":"Disconnected"})]}),a.jsxs(b,{size:"1",tone:"muted",children:["ID: ",v.id]}),a.jsxs(b,{size:"1",tone:"muted",children:["Version: ",v.workerVersion??"Unknown"]}),a.jsxs(b,{size:"1",tone:"muted",children:["Last seen: ",_]})]})}),v.harnesses&&v.harnesses.length>0&&a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"2",weight:"medium",children:"Harnesses:"}),a.jsx("div",{className:"settings-workers__harnesses",children:v.harnesses.map(k=>a.jsx("span",{className:"settings-workers__harness-badge",children:k},k))})]})]})},v.id)})]})]})}function GA(){const{setSectionTitle:n}=gn();return xt(),d.useEffect(()=>{n("AI usage")},[]),a.jsxs(te,{spacing:"6",className:"settings-subpage",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"View usage and quota information for AI providers."}),a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsx(ct,{justify:"space-between",align:"center",children:a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:"OpenAI"}),a.jsx(b,{size:"1",tone:"muted",children:"Codex and GPT models"})]})}),a.jsx(te,{spacing:"2",children:a.jsx(ct,{spacing:"2",children:a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>window.open("https://chatgpt.com/codex/cloud/settings/usage","_blank","noopener,noreferrer"),children:"See usage"})})})]})}),a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsx(ct,{justify:"space-between",align:"center",children:a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Anthropic"}),a.jsx(b,{size:"1",tone:"muted",children:"Claude models"})]})}),a.jsx(te,{spacing:"2",children:a.jsx(ct,{spacing:"2",children:a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>window.open("https://claude.ai/settings/usage","_blank","noopener,noreferrer"),children:"See usage"})})})]})})]})}function FA(){const{setSectionTitle:n}=gn(),{user:e,isLoading:r}=ln(),[l,c]=d.useState([]),[u,h]=d.useState(""),[g,p]=d.useState(Qr.role.STANDARD),[y,v]=d.useState(""),[S,x]=d.useState(""),[_,k]=d.useState(!1),[j,w]=d.useState(!1);d.useEffect(()=>{n("User Management")},[n]);const E=e?.role==="admin";d.useEffect(()=>{r||!E||z()},[r,E]);const z=async()=>{if(E){k(!0),v("");try{const N=await an.webAuthControllerListUsers();c(N)}catch(N){v(oc(N,"Failed to load users."))}finally{k(!1)}}},D=async N=>{N.preventDefault(),w(!0),v(""),x("");try{await an.webAuthControllerCreateUser({email:u,role:g}),h(""),p(Qr.role.STANDARD),x("User created. They can use Create account on the login screen to set their profile and password."),await z()}catch(C){v(oc(C,"Failed to create user."))}finally{w(!1)}},O=async N=>{v(""),x("");try{await an.webAuthControllerResetUserPassword(N.id),x(`${N.email} can now set a new password from the login screen.`),await z()}catch(C){v(oc(C,"Failed to reset password."))}},R=async N=>{if(window.confirm(`Disable login for ${N.email}?`)){v(""),x("");try{await an.webAuthControllerDeleteUser(N.id),x(`${N.email} has been deactivated.`),await z()}catch(C){v(oc(C,"Failed to delete user."))}}};return r?a.jsx($e,{padding:"5",children:a.jsx(b,{tone:"muted",children:"Loading user management..."})}):E?a.jsxs("div",{className:"settings-users-page",children:[a.jsx($e,{padding:"5",className:"settings-users-page__hero",children:a.jsxs(te,{spacing:"2",children:[a.jsx("span",{className:"settings-users-page__hero-icon","aria-hidden":"true",children:a.jsx(g1,{size:20})}),a.jsx(b,{size:"5",weight:"bold",children:"User management"}),a.jsx(b,{tone:"muted",children:"Invite human users, manage roles, reset passwords, and disable access."})]})}),a.jsx($e,{padding:"5",children:a.jsx("form",{onSubmit:D,children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"3",weight:"semibold",children:"Create user"}),a.jsx(b,{size:"1",tone:"muted",children:"New users receive access by setting up their account from the login screen."})]}),a.jsxs("div",{className:"settings-users-page__create-grid",children:[a.jsxs(te,{spacing:"2",children:[a.jsx("label",{className:"login-label",htmlFor:"managed-user-email",children:a.jsx(b,{size:"2",weight:"medium",children:"Email"})}),a.jsx("input",{id:"managed-user-email",className:"login-input",type:"email",value:u,onChange:N=>h(N.target.value),placeholder:"name@work.com",required:!0,disabled:j})]}),a.jsxs(te,{spacing:"2",children:[a.jsx("label",{className:"login-label",htmlFor:"managed-user-role",children:a.jsx(b,{size:"2",weight:"medium",children:"Role"})}),a.jsxs("select",{id:"managed-user-role",className:"login-input",value:g,onChange:N=>p(N.target.value),disabled:j,children:[a.jsx("option",{value:Qr.role.STANDARD,children:"Normal user"}),a.jsx("option",{value:Qr.role.ADMIN,children:"Admin"})]})]}),a.jsxs(re,{type:"submit",variant:"primary",disabled:j,className:"settings-users-page__create-button",children:[a.jsx(b1,{size:16}),j?"Creating...":"Create user"]})]}),S?a.jsx(b,{size:"2",tone:"muted",children:S}):null,y?a.jsx(Dt,{size:"2",weight:"medium",children:y}):null]})})}),a.jsxs($e,{padding:"0",className:"settings-users-page__list-card",children:[a.jsxs("div",{className:"settings-users-page__list-header",children:[a.jsx(b,{size:"3",weight:"semibold",children:"Users"}),a.jsx(re,{variant:"secondary",size:"sm",onClick:z,disabled:_,children:_?"Refreshing...":"Refresh"})]}),a.jsxs("div",{className:"settings-users-page__list",children:[l.map(N=>a.jsxs("div",{className:"settings-users-page__row",children:[a.jsxs("div",{className:"settings-users-page__identity",children:[a.jsx(b,{size:"2",weight:"semibold",children:N.displayName}),a.jsxs(b,{size:"1",tone:"muted",children:[N.email," · @",N.slug]})]}),a.jsxs("div",{className:"settings-users-page__badges",children:[a.jsx("span",{className:"settings-users-page__badge",children:N.role==="admin"?"Admin":"Normal"}),a.jsx("span",{className:`settings-users-page__badge ${N.isActive?"settings-users-page__badge--active":"settings-users-page__badge--inactive"}`,children:N.isActive?"Active":"Inactive"}),N.passwordSetupPending?a.jsx("span",{className:"settings-users-page__badge settings-users-page__badge--pending",children:"Setup pending"}):null]}),a.jsxs("div",{className:"settings-users-page__actions",children:[a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>O(N),disabled:!N.isActive,children:"Reset password"}),a.jsx(re,{variant:"secondary",size:"sm",onClick:()=>R(N),disabled:!N.isActive||N.actorId===e?.actorId,children:"Delete"})]})]},N.id)),!_&&l.length===0?a.jsx(b,{tone:"muted",className:"settings-users-page__empty",children:"No users found."}):null]})]})]}):a.jsx($e,{padding:"5",children:a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Admin access required"}),a.jsx(b,{tone:"muted",children:"Only admin users can manage user accounts."})]})})}function oc(n,e){return n?.body?.detail||n?.body?.title||n?.message||e}const VA=[{title:"Matching",description:"How close something has to be to the query to count as a match at all.",fields:[{key:"semanticMinSimilarity",label:"Semantic similarity floor",help:"Lowest similarity (0 to 1) at which a passage counts as a match by meaning. Raise it if loosely related results show up; lower it if good results are missing. The right value depends on the embedding model.",min:0,max:1,step:.01},{key:"semanticMaxGap",label:"Semantic gap to the best match",help:"How far below the best semantic match a passage may be and still count. Trims the tail when something matches well. 1 turns it off.",min:0,max:1,step:.01},{key:"keywordMinDensity",label:"Keyword proximity floor",help:"Drops keyword matches whose terms are scattered far apart in a long text. Higher is stricter. 0 turns it off.",min:0,max:1,step:.001},{key:"fuzzyMinSimilarity",label:"Fuzzy title floor",help:"Lowest similarity (0.1 to 1) at which a title counts as a match despite typos. Lower forgives more typos and lets in more unrelated titles.",min:.1,max:1,step:.01}]},{title:"Ranking",description:"Each strategy ranks its own matches; the lists are merged by position. Weights decide how much each list counts.",fields:[{key:"keywordWeight",label:"Keyword weight",help:"Weight of exact-word matches. 0 turns keyword search off.",min:0,max:10,step:.1},{key:"semanticWeight",label:"Semantic weight",help:"Weight of matches by meaning. 0 turns semantic search off.",min:0,max:10,step:.1},{key:"fuzzyTitleWeight",label:"Fuzzy title weight",help:"Weight of titles that look like the query. 0 turns fuzzy title search off.",min:0,max:10,step:.1},{key:"exactTitleBoost",label:"Exact title boost",help:"Added to the score when the query is the title, and half of it when the title starts with the query.",min:0,max:1,step:.005},{key:"doneTaskMultiplier",label:"Finished task multiplier",help:"Score multiplier for done tasks, so open work wins ties. 1 treats them the same.",min:0,max:1,step:.05},{key:"rrfK",label:"Rank fusion constant",help:"Higher values make the position within a list matter less. 60 is the usual value.",min:1,max:1e3,step:1},{key:"candidatesPerStrategy",label:"Candidates per strategy",help:"How many matches each strategy contributes before the lists are merged.",min:5,max:500,step:1}]},{title:"Indexing",description:"Long text is split into passages and each passage is embedded. Changing these re-embeds everything in the background.",fields:[{key:"chunkSizeChars",label:"Passage size (characters)",help:"Target size of a passage. Smaller passages match more precisely and cost more embeddings.",min:200,max:8e3,step:100},{key:"chunkOverlapChars",label:"Passage overlap (characters)",help:"Characters repeated between consecutive pieces when one long paragraph has to be cut.",min:0,max:1e3,step:10}]},{title:"Results",description:"What a search returns.",fields:[{key:"excerptMaxChars",label:"Excerpt length (characters)",help:"Longest excerpt returned with a result. Anything shorter than this is returned whole.",min:100,max:2e4,step:100},{key:"defaultLimit",label:"Default number of results",help:"Used when a search does not ask for a number.",min:1,max:100,step:1},{key:"queryEmbeddingTimeoutMs",label:"Query embedding timeout (ms)",help:"How long a search waits for the embedding model before answering without semantic matches.",min:100,max:3e4,step:100}]}],cl=(n,e)=>n?.body?.detail||e;function YA(n,e){const r={};for(const l of Object.keys(e))e[l]!==n[l]&&(r[l]=e[l]);return r}function KA(){const{setSectionTitle:n}=gn(),[e,r]=d.useState(null),[l,c]=d.useState(null),[u,h]=d.useState(null),[g,p]=d.useState(""),[y,v]=d.useState(""),[S,x]=d.useState(!1),[_,k]=d.useState(!1);d.useEffect(()=>{n("Search")},[]);const j=d.useCallback(async()=>{try{h(await Yr.SearchAdminController_getSearchIndexStatus())}catch(C){p(cl(C,"Failed to load the state of the search index."))}},[]);d.useEffect(()=>{(async()=>{try{const L=await Yr.SearchAdminController_getSearchSettings();r(L),c(L)}catch(L){p(cl(L,"Failed to load the search settings."))}})(),j()},[j]);const w=(u?.pending??0)>0;d.useEffect(()=>{if(!w)return;const C=setInterval(()=>{j()},2e3);return()=>clearInterval(C)},[w,j]);const E=d.useMemo(()=>e&&l?YA(e,l):{},[e,l]),z=Object.keys(E).length>0,D=async()=>{p(""),v(""),x(!0);try{const C=await Yr.SearchAdminController_updateSearchSettings({body:E});r(C),c(C),v("Search settings saved."),await j()}catch(C){p(cl(C,"Failed to save the search settings."))}finally{x(!1)}},O=async()=>{p(""),v(""),x(!0);try{const C=await Yr.SearchAdminController_resetSearchSettings();r(C),c(C),v("Search settings are back to their defaults."),await j()}catch(C){p(cl(C,"Failed to reset the search settings."))}finally{x(!1)}},R=async()=>{p(""),v(""),k(!0);try{h(await Yr.SearchAdminController_rebuildSearchIndex()),v("The index was rebuilt. Embeddings are being recreated in the background.")}catch(C){p(cl(C,"Failed to rebuild the search index."))}finally{k(!1)}},N=(C,L)=>{if(!l||L==="")return;const U=Number(L);Number.isFinite(U)&&c({...l,[C]:U})};return a.jsxs(te,{spacing:"6",className:"settings-subpage",children:[a.jsx(b,{tone:"muted",className:"settings-subpage__intro",children:"Search looks through tasks and their comments, context blocks, tools, agents and projects. It combines exact words, titles that look like the query, and meaning."}),g?a.jsx(Dt,{size:"2",weight:"medium",children:g}):null,y?a.jsx(b,{size:"2",children:y}):null,a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsxs("div",{className:"settings-search__title-row",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Index"}),a.jsx(b,{size:"2",tone:"muted",children:"Everything searchable is indexed as it is created or changed."})]}),u?a.jsx(pn,{color:u.semanticActive?"green":"yellow",children:u.semanticActive?"Semantic search on":"Keyword search only"}):null]}),u&&!u.semanticActive&&u.semanticInactiveReason?a.jsx("div",{className:"settings-search__notice",children:a.jsx(b,{size:"2",wrap:!0,children:u.semanticInactiveReason})}):null,u?.lastError?a.jsx("div",{className:"settings-search__notice settings-search__notice--error",children:a.jsxs(b,{size:"2",wrap:!0,children:["Embedding is failing and will be retried: ",u.lastError]})}):null,u?a.jsxs("div",{className:"settings-search__status-grid",children:[a.jsx(ul,{label:"Indexed items",value:String(u.documents)}),a.jsx(ul,{label:"Embedded",value:String(u.embedded)}),a.jsx(ul,{label:"Waiting to embed",value:String(u.pending)}),a.jsx(ul,{label:"Failing",value:String(u.failed)}),a.jsx(ul,{label:"Embedding model",value:u.embeddingModelId??"None"})]}):a.jsx(b,{tone:"muted",children:"Loading…"}),a.jsxs("div",{className:"settings-search__actions",children:[a.jsx(re,{variant:"secondary",size:"sm",onClick:R,disabled:_,children:_?"Rebuilding…":"Rebuild index"}),a.jsx(b,{size:"1",tone:"muted",children:"Rebuilding re-reads everything and embeds it again. Search keeps working meanwhile."})]})]})}),l?a.jsxs(a.Fragment,{children:[a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:"Semantic search"}),a.jsx(b,{size:"2",tone:"muted",children:"Finds things by meaning, using the model selected for the Embeddings job under AI models."})]}),a.jsxs("label",{className:"settings-search__toggle",children:[a.jsx("input",{type:"checkbox",checked:l.semanticEnabled,onChange:C=>c({...l,semanticEnabled:C.target.checked})}),a.jsx(b,{size:"2",weight:"medium",children:"Use embeddings"})]}),a.jsx("div",{className:"settings-search__fields",children:a.jsxs("div",{className:"settings-search__field settings-search__field--wide",children:[a.jsx(b,{size:"2",weight:"medium",children:"Query instruction"}),a.jsx("input",{type:"text",className:"settings-search__control",value:l.queryInstruction,maxLength:500,onChange:C=>c({...l,queryInstruction:C.target.value}),"aria-label":"Query instruction"}),a.jsx(b,{size:"1",tone:"muted",wrap:!0,children:"Sent with each query to embedding models that take an instruction (Qwen3, E5). Leave empty for models that take none."})]})})]})}),VA.map(C=>a.jsx($e,{padding:"5",className:"settings-panel-card",children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:C.title}),a.jsx(b,{size:"2",tone:"muted",children:C.description})]}),a.jsx("div",{className:"settings-search__fields",children:C.fields.map(L=>a.jsxs("div",{className:"settings-search__field",children:[a.jsx(b,{size:"2",weight:"medium",children:L.label}),a.jsx("input",{type:"number",className:"settings-search__control",value:l[L.key],min:L.min,max:L.max,step:L.step,onChange:U=>N(L.key,U.target.value),"aria-label":L.label}),a.jsx(b,{size:"1",tone:"muted",wrap:!0,children:L.help})]},L.key))})]})},C.title)),a.jsxs("div",{className:"settings-search__actions",children:[a.jsx(re,{onClick:D,disabled:!z||S,children:S?"Saving…":"Save changes"}),a.jsx(re,{variant:"ghost",onClick:O,disabled:S,children:"Reset to defaults"})]})]}):null]})}function ul({label:n,value:e}){return a.jsxs("div",{className:"settings-search__stat",children:[a.jsx(b,{size:"1",tone:"muted",children:n}),a.jsx(b,{size:"3",weight:"semibold",children:e})]})}function QA({step:n,isCompleted:e,isCurrent:r,isLast:l,isExpanded:c,onToggle:u}){return a.jsxs("div",{className:"walkthrough-step",children:[a.jsxs("div",{className:"walkthrough-step-rail",children:[a.jsx("div",{className:["walkthrough-step-dot",e?"walkthrough-step-dot--completed":"",r?"walkthrough-step-dot--current":""].filter(Boolean).join(" "),children:e&&a.jsx("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none","aria-hidden":"true",children:a.jsx("path",{d:"M1 4L3.5 6.5L9 1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),!l&&a.jsx("div",{className:["walkthrough-step-connector",e?"walkthrough-step-connector--completed":""].filter(Boolean).join(" ")})]}),a.jsxs("div",{className:"walkthrough-step-body",children:[a.jsx("button",{className:"walkthrough-step-header",onClick:u,"aria-expanded":c,children:a.jsx(b,{size:"2",weight:r?"semibold":"medium",className:e?"walkthrough-label-done":"",children:n.label})}),c&&a.jsxs("div",{className:"walkthrough-step-detail",children:[a.jsx(b,{size:"2",tone:"muted",as:"p",className:"walkthrough-step-description",children:n.description}),a.jsx(vs,{to:n.href,className:"walkthrough-step-cta",children:"Go →"})]})]})]})}function XA(){const{setSectionTitle:n}=gn(),{user:e,refreshAuth:r}=ln(),{status:l,isLoading:c}=O_(),[u,h]=d.useState(new Set),g=d.useRef(!1),p=d.useRef(!1);xt(),d.useEffect(()=>{n("Setup walkthrough")},[n]),d.useEffect(()=>{p.current||!e||!l||e.onboardingDisplayMode==="OFF"&&l.completedCount<l.totalCount&&(p.current=!0,Df.WalkthroughController_acknowledge().then(()=>r()).catch(console.error))},[e,l,r]),d.useEffect(()=>{if(!l||g.current)return;g.current=!0;const _=l.steps.find(k=>!k.completed);_&&h(new Set([_.id]))},[l]);const y=_=>{h(k=>{const j=new Set(k);return j.has(_)?j.delete(_):j.add(_),j})},v=l?.completedCount??0,S=l?.totalCount??8,x=l?.steps.findIndex(_=>!_.completed)??-1;return a.jsx("div",{className:"walkthrough-page",children:a.jsxs(te,{spacing:"5",className:"walkthrough-page-inner",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"2",tone:"muted",as:"p",children:"Complete these steps to get the most out of Taico."}),a.jsxs(b,{size:"2",weight:"semibold",children:[v," / ",S," completed"]})]}),c?a.jsx(b,{size:"2",tone:"muted",children:"Loading..."}):a.jsx("div",{className:"walkthrough-track",children:l?.steps.map((_,k)=>a.jsx(QA,{step:_,isCompleted:_.completed,isCurrent:k===x,isLast:k===l.steps.length-1,isExpanded:u.has(_.id),onToggle:()=>y(_.id)},_.id))})]})})}function ZA(){return a.jsx(uA,{children:a.jsx(ys,{children:a.jsxs(we,{element:a.jsx(yA,{}),children:[a.jsx(we,{path:"/home",element:a.jsx(pA,{})}),a.jsx(we,{path:"/settings",element:a.jsx(kA,{})}),a.jsx(we,{path:"/settings/account",element:a.jsx(NA,{})}),a.jsx(we,{path:"/settings/appearance",element:a.jsx(AA,{})}),a.jsx(we,{path:"/settings/projects",element:a.jsx(RA,{})}),a.jsx(we,{path:"/settings/projects/new",element:a.jsx(DA,{})}),a.jsx(we,{path:"/settings/models",element:a.jsx(IA,{})}),a.jsx(we,{path:"/settings/chat",element:a.jsx(Hs,{to:"/settings/models",replace:!0})}),a.jsx(we,{path:"/settings/ai-providers",element:a.jsx(Hs,{to:"/settings/ai-usage",replace:!0})}),a.jsx(we,{path:"/settings/workers",element:a.jsx(HA,{})}),a.jsx(we,{path:"/settings/ai-usage",element:a.jsx(GA,{})}),a.jsx(we,{path:"/settings/data",element:a.jsx($A,{})}),a.jsx(we,{path:"/settings/users",element:a.jsx(FA,{})}),a.jsx(we,{path:"/settings/search",element:a.jsx(KA,{})}),a.jsx(we,{path:"/walkthrough",element:a.jsx(XA,{})})]})})})}const WA="/",JA=window.location.origin,Sa=new as({baseUrl:JA,credentials:"include"}),Zt=Sa.task;Sa.actors;const eR=Sa.meta,tR=Sa.metaProjects;Sa.task,Sa.actors,Sa.meta,Sa.metaProjects;const nR=Ta("/tasks"),sR=100,wc="tasks.selectedProjectId";function aR(){try{return localStorage.getItem(wc)}catch{return null}}function Ch(n,e){return n.tags.some(r=>r.name===e)}const rR=()=>{const[n,e]=d.useState(!0),[r,l]=d.useState(!1),[c,u]=d.useState(null),[h,g]=d.useState([]),[p,y]=d.useState([]),[v,S]=d.useState([]),[x,_]=d.useState(!1),[k,j]=d.useState(()=>aR()),[w,E]=d.useState(null),[z,D]=d.useState(!1),[O,R]=d.useState({}),N=d.useRef([]),C=d.useRef(null),L=d.useRef(!1),U=d.useRef(0),B=d.useMemo(()=>k?v.find(he=>he.id===k)??null:null,[v,k]),$=B?.tagName??null,F=!k||!!B;d.useEffect(()=>{N.current=h},[h]),d.useEffect(()=>{C.current=$},[$]),d.useEffect(()=>{L.current=F},[F]);const V=d.useCallback(he=>{j(he);try{he?localStorage.setItem(wc,he):localStorage.removeItem(wc)}catch(W){console.error("Failed to persist selected task project",W)}},[]),ne=d.useCallback(async()=>{try{const he=await tR.ProjectsController_getAllProjects();S(he)}catch(he){console.error("Failed to load projects",he),S([])}finally{_(!0)}},[]),ye=he=>{if(!he.message){console.warn("Received task activity event without message, skipping",he);return}R(W=>({...W,[he.taskId]:he}))},q=he=>{R(W=>{const{[he]:me,...J}=W;return J})},Z=he=>[...he].sort((W,me)=>{const J=new Date(W.updatedAt).getTime();return new Date(me.updatedAt).getTime()-J}),le=(he,W)=>{const me=new Set(W.map(J=>J.id));return Z([...W,...he.filter(J=>!me.has(J.id))])},de=he=>{y(W=>le(W,[he]))},ve=async he=>{const W=C.current,me=W?{...he,tagNames:Array.from(new Set([...he.tagNames??[],W]))}:he;return await Zt.TasksController_createTask({body:me})},M=async({taskId:he})=>await Zt.TasksController_deleteTask({id:he}),H=async({taskId:he,comment:W})=>await Zt.TasksController_addComment({id:he,body:{content:W}}),fe=async({taskId:he,assigneeActorId:W})=>{const me={assigneeActorId:W};return await Zt.TasksController_assignTask({id:he,body:me})},ge=async({taskId:he})=>await Zt.TasksController_assignTaskToMe({id:he}),K=async({taskId:he,inputRequestId:W,answer:me})=>await Zt.TasksController_answerInputRequest({id:he,inputRequestId:W,body:{answer:me}}),oe=async()=>{if(!L.current)return;const he=U.current+1;U.current=he;const W=C.current;e(!0),u(null);try{const me=await Zt.TasksController_listTasks({page:1,limit:sR,tag:W??void 0});if(U.current!==he||C.current!==W)return;const J=W?me.items.filter(ke=>Ch(ke,W)):me.items;g(ke=>le(ke,J))}catch(me){if(U.current!==he||C.current!==W)return;u(me instanceof Error?me.message:"Failed to load tasks")}finally{U.current===he&&C.current===W&&(l(!0),e(!1))}},se=d.useCallback(async he=>{try{const W=await Zt.TasksController_getTask({id:he});return de(W),g(me=>Se(W)?me.some(J=>J.id===W.id)?Z(me.map(J=>J.id===W.id?W:J)):Z([W,...me]):me.filter(J=>J.id!==W.id)),W}catch(W){return console.error("Failed to fetch task by ID",W),null}},[]),Se=he=>{const W=C.current;return!W||Ch(he,W)},De=he=>{const W=C.current;return W?N.current.some(me=>me.id===he&&Ch(me,W)):!0},We=he=>{if(de(he),!Se(he)){g(W=>W.filter(me=>me.id!==he.id)),q(he.id);return}g(W=>W.some(me=>me.id===he.id)?Z(W.map(me=>me.id===he.id?he:me)):Z([he,...W]))},qt=he=>{g(W=>W.filter(me=>me.id!==he)),y(W=>W.filter(me=>me.id!==he)),q(he)},et=async(he,W)=>{try{const me=await Zt.TasksController_getTask({id:he});We(me)}catch(me){console.error(W,me)}},wt=()=>{const he=Gn(nR,{transports:["websocket","polling"],withCredentials:!0});return he.on("connect",()=>{console.log("Connected to websocket"),he.emit("tasks.subscribe",{},W=>{W.ok?(console.log(W),console.log("Subscribed to room:",W.room),D(!0)):(console.error("Failed to subscribe to room"),D(!1))}),oe()}),he.on("disconnect",()=>{console.log("WebSocket disconnected"),D(!1)}),he.on(kn.TASK_CREATED,W=>{console.log("task.created",W),We(W.payload)}),he.on(kn.TASK_UPDATED,W=>{console.log("task.updated",W),We(W.payload)}),he.on(kn.TASK_DELETED,W=>{console.log("task.deleted",W),qt(W.payload.taskId)}),he.on(kn.TASK_ASSIGNED,W=>{console.log("task.assigned",W),We(W.payload)}),he.on(kn.TASK_COMMENTED,async W=>{console.log("task.commented",W),await et(W.payload.taskId,"Failed to refresh task after comment")}),he.on(kn.INPUT_REQUEST_ANSWERED,async W=>{console.log("input.request.answered",W),await et(W.payload.taskId,"Failed to refresh task after input request answer")}),he.on(kn.TASK_STATUS_CHANGED,W=>{console.log("task.status_changed",W),We(W.payload)}),he.on(kn.TASK_ACTIVITY,W=>{console.log("task.activity",W),De(W.taskId)&&ye(W)}),E(he),()=>{he.close()}};return d.useEffect(()=>{ne()},[ne]),d.useEffect(()=>{const he=W=>{W.key===wc&&j(W.newValue)};return window.addEventListener("storage",he),()=>window.removeEventListener("storage",he)},[]),d.useEffect(()=>{!x||!k||B||V(null)},[x,B,k,V]),d.useEffect(()=>F?(g([]),R({}),oe(),wt()):void 0,[F,$]),{isLoading:n,hasLoadedOnce:r,error:c,activityByTaskId:O,projects:v,projectsLoaded:x,selectedProjectId:k,selectedProject:B,selectedProjectTag:$,setSelectedProjectId:V,tasks:h,detailTasks:p,getTaskById:se,createTask:ve,deleteTask:M,addComment:H,assignTask:fe,assignTaskToMe:ge,answerInputRequest:K,isConnected:z}},Te={NOT_STARTED:"NOT_STARTED",IN_PROGRESS:"IN_PROGRESS",FOR_REVIEW:"FOR_REVIEW",DONE:"DONE"},Hn={[Te.NOT_STARTED]:{path:"/tasks/not-started",label:"Queued",icon:HC},[Te.IN_PROGRESS]:{path:"/tasks/in-progress",label:"Building",icon:MC},[Te.FOR_REVIEW]:{path:"/tasks/in-review",label:"Review",icon:AC},[Te.DONE]:{path:"/tasks/done",label:"Shipped",icon:c1}},iR=[Hn[Te.NOT_STARTED],Hn[Te.IN_PROGRESS],Hn[Te.FOR_REVIEW],Hn[Te.DONE]],lR=()=>({[Te.NOT_STARTED]:{enteringIds:new Set,exitingTasks:[]},[Te.IN_PROGRESS]:{enteringIds:new Set,exitingTasks:[]},[Te.FOR_REVIEW]:{enteringIds:new Set,exitingTasks:[]},[Te.DONE]:{enteringIds:new Set,exitingTasks:[]}}),$_=d.createContext(null),oR=500,cR=4e3;function uR({children:n}){const{tasks:e,detailTasks:r,getTaskById:l,isLoading:c,hasLoadedOnce:u,error:h,isConnected:g,createTask:p,deleteTask:y,addComment:v,assignTask:S,assignTaskToMe:x,answerInputRequest:_,activityByTaskId:k,projects:j,projectsLoaded:w,selectedProjectId:E,selectedProject:z,selectedProjectTag:D,setSelectedProjectId:O}=rR(),[R,N]=d.useState(""),[C,L]=d.useState(0),U=d.useRef(new Map),B=d.useRef([]),$=d.useRef(new Map),F=d.useRef(0),[V,ne]=d.useState(0),{animationByStatus:ye,globalEnteringIds:q,globalExitingTasks:Z}=d.useMemo(()=>{const de=Date.now(),ve=new Map(e.map(se=>[se.id,se])),M=U.current,H=new Set(M.keys()),fe=new Set(ve.keys());if(B.current=B.current.filter(se=>se.expiresAt>de),H.size>0){const se={[Te.NOT_STARTED]:new Set,[Te.IN_PROGRESS]:new Set,[Te.FOR_REVIEW]:new Set,[Te.DONE]:new Set},Se={[Te.NOT_STARTED]:[],[Te.IN_PROGRESS]:[],[Te.FOR_REVIEW]:[],[Te.DONE]:[]},De=new Set,We=[];for(const[et,wt]of ve){const he=M.get(et);he?he.status!==wt.status&&(Se[he.status].push(he),se[wt.status].add(et)):(se[wt.status].add(et),De.add(et))}for(const[et,wt]of M)fe.has(et)||(Se[wt.status].push(wt),We.push(wt));(Object.values(se).some(et=>et.size>0)||Object.values(Se).some(et=>et.length>0))&&B.current.push({enteringByStatus:se,exitingByStatus:Se,globalEntering:De,globalExiting:We,expiresAt:de+oR})}U.current=ve;const ge=lR();let K=new Set,oe=[];for(const se of B.current){for(const Se of Object.values(Te))se.enteringByStatus[Se].forEach(De=>ge[Se].enteringIds.add(De)),ge[Se].exitingTasks.push(...se.exitingByStatus[Se]);se.globalEntering.forEach(Se=>K.add(Se)),oe.push(...se.globalExiting)}return{animationByStatus:ge,globalEnteringIds:K,globalExitingTasks:oe}},[e,V]);d.useEffect(()=>{if(B.current.length===0)return;const ve=Math.min(...B.current.map(H=>H.expiresAt))-Date.now();if(ve<=0){ne(H=>H+1);return}const M=setTimeout(()=>{ne(H=>H+1)},ve);return()=>clearTimeout(M)},[ye,q,Z]),d.useEffect(()=>{const de=$.current,ve=new Map(e.map(H=>[H.id,H]));if(de.size===0){$.current=ve;return}let M=!1;for(const[H,fe]of ve){const ge=de.get(H);if(ge&&ge.status!==Te.DONE&&fe.status===Te.DONE){M=!0;break}}if(M){const H=Date.now();H-F.current>=cR&&(F.current=H,L(fe=>fe+1))}$.current=ve},[e]);const le=d.useMemo(()=>({tasks:e,detailTasks:r,getTaskById:l,createTask:p,deleteTask:y,addComment:v,assignTask:S,assignTaskToMe:x,answerInputRequest:_,isLoading:c,hasLoadedOnce:u,error:h,isConnected:g,sectionTitle:R,setSectionTitle:N,animationByStatus:ye,globalEnteringIds:q,globalExitingTasks:Z,activityByTaskId:k,shippedCelebrationTrigger:C,projects:j,projectsLoaded:w,selectedProjectId:E,selectedProject:z,selectedProjectTag:D,setSelectedProjectId:O}),[e,r,l,p,y,v,S,x,_,c,u,h,g,R,N,ye,q,Z,k,C,j,w,E,z,D,O]);return a.jsx($_.Provider,{value:le,children:n})}function Vs(){const n=d.useContext($_);if(!n)throw new Error("useTasksCtx must be used within <TasksProvider>");return n}function bt({title:n,onCancel:e,onSave:r,children:l,headerLeft:c,headerRight:u,closeMs:h=220}){const[g,p]=d.useState(!1),[y,v]=d.useState(!1);d.useEffect(()=>{requestAnimationFrame(()=>p(!0))},[]);function S(){p(!1),setTimeout(()=>e?.(),h)}async function x(){if(!(!r||y))try{v(!0),await r()&&S()}catch{}finally{v(!1)}}function _(k){if(!k.nativeEvent.isComposing){if(k.key==="Escape"){k.preventDefault(),S();return}k.key==="Enter"&&(!k.metaKey&&!k.ctrlKey||(k.preventDefault(),x()))}}return a.jsxs("div",{className:`pop-shell__overlay ${g?"pop-shell__overlay--open":""}`,children:[a.jsx("div",{className:"pop-shell__space",onClick:S}),a.jsxs("div",{className:`pop-shell__main-panel ${g?"pop-shell__main-panel--open":""}`,onKeyDown:_,children:[a.jsxs("div",{className:"pop-shell__main-title",children:[c??a.jsx("div",{onClick:S,children:a.jsx(b,{size:"4",weight:"normal",className:"pop-shell__main-title-button",children:"cancel"})}),a.jsx(b,{size:"4",weight:"medium",children:n}),u??a.jsx("div",{onClick:x,style:{opacity:y?.6:1,pointerEvents:y?"none":"auto"},children:a.jsx(b,{size:"4",weight:"normal",className:"pop-shell__main-title-button",children:y?"saving":"save"})})]}),a.jsx("div",{className:"pop-shell__main-content",children:l})]})]})}function yx(n,e){try{const r=localStorage.getItem(n);if(r)return JSON.parse(r)}catch(r){console.error("Error loading draft from localStorage:",r)}return e}function li({key:n,defaultValue:e,debounceMs:r=500}){const l=d.useRef(e);d.useEffect(()=>{l.current=e},[e]);const[c,u]=d.useState(()=>yx(n,e)),h=d.useRef(void 0);return d.useEffect(()=>{u(yx(n,l.current))},[n]),d.useEffect(()=>(h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{try{localStorage.setItem(n,JSON.stringify(c))}catch(p){console.error("Error saving draft to localStorage:",p)}},r),()=>{h.current&&clearTimeout(h.current)}),[c,n,r]),[c,u,()=>{try{localStorage.removeItem(n),u(l.current)}catch(p){console.error("Error clearing draft from localStorage:",p)}}]}const dR={title:"",description:""},vx=n=>{n&&(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)};function Wh({onCancel:n,onSave:e}){const[r,l,c]=li({key:"new-task-draft",defaultValue:dR}),{title:u,description:h}=r,g=d.useRef(null),p=d.useRef(null),y=(x,_)=>{l({...r,[x]:_})};d.useEffect(()=>{g.current?.focus()},[]),d.useEffect(()=>{vx(p.current)},[h]);function v(x){y("description",x.target.value),vx(x.target)}async function S(){const x=await e({title:u,description:h});return x&&c(),x}return a.jsx(bt,{title:"Create a Task",onCancel:n,onSave:S,children:a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"new-task-pop__input-title",children:a.jsx("input",{className:"new-task-pop__input-title",ref:g,placeholder:"Title",value:u,onChange:x=>y("title",x.target.value),onKeyDown:x=>{x.key==="Enter"&&(x.preventDefault(),p.current?.focus())}})}),a.jsx("div",{className:"new-task-pop__input-description",children:a.jsx("textarea",{className:"new-task-pop__input-description",ref:p,placeholder:"Enter a description (optional)",value:h,onChange:v})})]})})}const Mt=n=>{const e=new Date(n),l=Math.round((new Date().getTime()-e.getTime())/(1e3*60));if(l<60)return`${Math.max(l,1)}m ago`;const c=Math.round(l/60);return c<24?`${c}h ago`:e.toLocaleDateString("en-US",{month:"short",day:"numeric"})};Re.BASE=Za;const H_=d.createContext(null);function hR({children:n}){const[e,r]=d.useState([]),[l,c]=d.useState(!1),[u,h]=d.useState(null),g=d.useCallback(async()=>{c(!0),h(null);try{const v=await kb.actorControllerListActors();r(v||[])}catch(v){h(v instanceof Error?v.message:"Failed to load actors")}finally{c(!1)}},[]);d.useEffect(()=>{g()},[g]);const p=d.useCallback(async()=>{await g()},[g]),y=d.useMemo(()=>({actors:e,isLoading:l,error:u,refreshActors:p}),[e,l,u,p]);return a.jsx(H_.Provider,{value:y,children:n})}function Ol(){const n=d.useContext(H_);if(!n)throw new Error("useActorsCtx must be used within <ActorsProvider>");return n}const fR="~deleted-";function en(n){return!!n?.deletedAt}function Ht(n){return en(n)?`@${n.slug.split(fR)[0]} · deactivated`:`@${n.slug}`}function pR({onCancel:n,onSave:e}){const{actors:r,isLoading:l,error:c,refreshActors:u}=Ol(),[h,g]=d.useState(""),[p,y]=d.useState(0),[v,S]=d.useState(null),[x,_]=d.useState(!1),[k,j]=d.useState(null),[w,E]=d.useState(!1),z=d.useRef(null),D=d.useRef(null),O=d.useRef(0);d.useEffect(()=>{z.current?.focus()},[]),d.useEffect(()=>{u().catch(()=>{})},[u]),d.useEffect(()=>{const B=h.trim();if(!B){S(null),j(null),_(!1);return}const $=O.current+1;O.current=$,_(!0),j(null);const F=window.setTimeout(async()=>{try{const V=await kb.actorControllerSearchActors(B,20);if(O.current!==$)return;S(V??[])}catch(V){if(O.current!==$)return;j(V instanceof Error?V.message:"Failed to search actors"),S([])}finally{O.current===$&&_(!1)}},200);return()=>{window.clearTimeout(F)}},[h]);const R=d.useMemo(()=>h.trim()?v??[]:r.filter(B=>!en(B)),[r,h,v]);d.useEffect(()=>{y(0)},[R.length,h]),d.useEffect(()=>{if(D.current){const B=D.current.children[p];B&&B.scrollIntoView({block:"nearest"})}},[p]);const N=d.useCallback(async B=>{if(w)return!1;E(!0);try{const $=await e(B);return $&&n?.(),$}finally{E(!1)}},[w,n,e]),C=d.useCallback(()=>{if(R.length===0)return;const B=R[p];B&&N(B)},[R,p,N]),L=d.useCallback(B=>{if(!B.nativeEvent.isComposing)switch(B.key){case"ArrowDown":if(R.length===0)return;B.preventDefault(),y($=>$<R.length-1?$+1:$);break;case"ArrowUp":if(R.length===0)return;B.preventDefault(),y($=>$>0?$-1:0);break;case"Enter":B.preventDefault(),C();break}},[R,C]);async function U(){if(R.length===0)return!1;const B=R[p];return B?N(B):!1}return a.jsx(bt,{title:"Assign Task",onCancel:n,onSave:U,children:a.jsxs("div",{className:"actor-search-pop",children:[a.jsx("input",{ref:z,type:"text",className:"actor-search-pop__input",placeholder:"Search by name or @slug...",value:h,onChange:B=>g(B.target.value),onKeyDown:L}),a.jsx("div",{className:"actor-search-pop__list",ref:D,role:"listbox","aria-label":"Assignees",children:R.length===0?a.jsx("div",{className:"actor-search-pop__empty",children:a.jsx(b,{tone:"muted",children:h.trim()?x?"Searching actors...":k||"No actors found":l?"Loading actors...":c||"No actors found"})}):R.map((B,$)=>a.jsxs("button",{type:"button",role:"option","aria-selected":$===p,className:`actor-search-pop__item ${$===p?"actor-search-pop__item--highlighted":""}`,onClick:()=>{N(B)},onMouseEnter:()=>y($),disabled:w,children:[a.jsx(Fe,{name:B.displayName,size:"sm",src:B.avatarUrl||void 0}),a.jsxs("div",{className:"actor-search-pop__item-info",children:[a.jsx(b,{weight:"medium",size:"2",children:B.displayName}),a.jsxs(b,{tone:"muted",size:"1",children:["@",B.slug," · ",B.type]})]})]},B.id))})]})})}function _l({task:n,animation:e,onClick:r,pulseKey:l,additionalTags:c}){const[u,h]=d.useState(!1),g=n.assigneeActor??n.createdByActor;d.useEffect(()=>{if(l==null)return;h(!0);const v=setTimeout(()=>h(!1),1e3);return()=>clearTimeout(v)},[l]);const p=n.tags.map(v=>({label:v.name}));n.comments.length&&p.push({label:`💬 ${n.comments.length}`}),n.artefacts.length&&p.push({label:`🔗 ${n.artefacts.length}`});const y=n.inputRequests.filter(v=>!v.resolvedAt).length;return y&&p.push({label:`✋ ${y}`}),c&&p.push(...c),a.jsxs(je,{leading:a.jsx(Fe,{name:g.displayName,inactive:en(g),size:"lg",src:g.avatarUrl||void 0}),topRight:Mt(n.updatedAt),tags:p,animation:e,highlight:n.inputRequests.filter(v=>!v.resolvedAt)?.length>0,onClick:r,children:[a.jsxs(b,{className:"pre",children:["#",n.id.slice(0,6)]}),a.jsx("div",{style:{minWidth:0,overflow:"hidden"},children:a.jsx(b,{weight:"bold",size:"3",tone:"default",children:a.jsxs("span",{className:"task-row__title",children:[a.jsx("span",{className:"task-row__titleText",children:n.name}),u?a.jsx("span",{className:"task-row__pulseDot","aria-hidden":!0}):null]})})}),a.jsx("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:n.description}),a.jsxs("div",{style:{fontSize:12},className:"text--tone-muted",children:[n.assignee?`Assigned: @${n.assignee}`:"unassigned"," · ",`Created by ${Ht(n.createdByActor)}`]})]})}function G_(n){const e=new Map,r=new Date;r.setHours(0,0,0,0);for(const l of n){const c=new Date(l.updatedAt);c.setHours(0,0,0,0);const u=c.toISOString().split("T")[0],h=c.getTime()===r.getTime();e.has(u)||e.set(u,{date:c,dateKey:u,tasks:[],isToday:h}),e.get(u).tasks.push(l)}return Array.from(e.values()).sort((l,c)=>c.date.getTime()-l.date.getTime())}function F_(n){const e=new Date;e.setHours(0,0,0,0);const r=new Date(e);r.setDate(r.getDate()-1);const l=new Date(n);if(l.setHours(0,0,0,0),l.getTime()===e.getTime())return"Today";if(l.getTime()===r.getTime())return"Yesterday";const c=e.getFullYear(),u=l.getFullYear(),g=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][l.getMonth()],p=l.getDate();return u===c?`${g} ${p}`:`${g} ${p}, ${u}`}function gR({date:n,taskCount:e,isExpanded:r,onClick:l}){const c=F_(n),u=r?"▼":"▶";return a.jsx(je,{onClick:l,className:"day-summary-row",children:a.jsxs("div",{className:"day-summary-row__content",children:[a.jsx("span",{className:"day-summary-row__chevron",children:u}),a.jsx(b,{weight:"bold",size:"3",children:c}),a.jsxs(b,{size:"2",tone:"muted",className:"day-summary-row__count",children:["· ",e," ",e===1?"task":"tasks"," shipped"]})]})})}function mR({tasks:n,enteringIds:e,exitingTasks:r,groupByDay:l=!1}){const c=ze(),{activityByTaskId:u}=Vs(),[h,g]=d.useState(new Set),p=new Set(r.map(x=>x.id)),y=[...n,...r].sort((x,_)=>new Date(_.updatedAt).getTime()-new Date(x.updatedAt).getTime());if(!l)return a.jsx(_e,{children:y.map(x=>{const _=p.has(x.id),k=e.has(x.id);let j;_?j="exiting":k&&(j="entering");const w=u[x.id];return a.jsx(_l,{task:x,animation:j,pulseKey:w?.ts,onClick:()=>c(`/tasks/task/${x.id}`)},_?`exiting-${x.id}`:x.id)})});const v=G_(y),S=x=>{g(_=>{const k=new Set(_);return k.has(x)?k.delete(x):k.add(x),k})};return a.jsx(_e,{children:v.map(x=>{if(x.isToday)return x.tasks.map(k=>{const j=p.has(k.id),w=e.has(k.id);let E;j?E="exiting":w&&(E="entering");const z=u[k.id];return a.jsx(_l,{task:k,animation:E,pulseKey:z?.ts,onClick:()=>c(`/tasks/task/${k.id}`)},j?`exiting-${k.id}`:k.id)});const _=h.has(x.dateKey);return a.jsxs("div",{children:[a.jsx(gR,{date:x.date,taskCount:x.tasks.length,isExpanded:_,onClick:()=>S(x.dateKey)}),_&&x.tasks.map(k=>{const j=p.has(k.id),w=e.has(k.id);let E;j?E="exiting":w&&(E="entering");const z=u[k.id];return a.jsx(_l,{task:k,animation:E,pulseKey:z?.ts,onClick:()=>c(`/tasks/task/${k.id}`)},j?`exiting-${k.id}`:k.id)})]},x.dateKey)})})}function kc({task:n,animation:e,onClick:r,pulseKey:l}){const c=n.assigneeActor??n.createdByActor,u=n.tags.map(g=>({label:g.name}));n.comments.length&&u.push({label:`💬 ${n.comments.length}`});const h=n.inputRequests.filter(g=>!g.resolvedAt).length;return h&&u.push({label:`✋ ${h}`}),n.artefacts.length&&u.push({label:`🔗 ${n.artefacts.length}`}),a.jsxs(Ab,{leading:a.jsx(Fe,{name:c.displayName,inactive:en(c),size:"md",src:c.avatarUrl||void 0}),topRight:Mt(n.updatedAt),tags:u,animation:e,onClick:r,pulseKey:l,highlight:n.inputRequests.filter(g=>!g.resolvedAt)?.length>0,footer:a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"row-detail truncate",children:["#",n.id.slice(0,6)]}),a.jsx("span",{className:"row-detail truncate",children:n.assigneeActor?`Assigned: ${Ht(n.assigneeActor)}`:"unassigned"})]}),children:[a.jsx("div",{className:"row-title truncate",children:n.name}),a.jsx("div",{className:"row-subtitle truncate",children:n.description})]})}function yR({date:n,taskCount:e,isExpanded:r,onClick:l}){const c=F_(n),u=r?"▼":"▶";return a.jsxs("div",{className:"day-summary-card__content",onClick:l,children:[a.jsx("span",{className:"day-summary-card__chevron",children:u}),a.jsxs("span",{className:"day-summary-card__text",children:[a.jsx("strong",{children:c})," · ",e," ",e===1?"task":"tasks"]})]})}function vR({tasks:n,enteringIds:e,exitingTasks:r,groupByDay:l=!1}){const c=ze(),{activityByTaskId:u}=Vs(),[h,g]=d.useState(new Set),p=new Set(r.map(_=>_.id)),y=[...n,...r].sort((_,k)=>new Date(k.updatedAt).getTime()-new Date(_.updatedAt).getTime());if(!l)return a.jsx(a.Fragment,{children:y.map(_=>{const k=p.has(_.id),j=e.has(_.id),w=u[_.id];let E;return k?E="exiting":j&&(E="entering"),a.jsx(kc,{task:_,animation:E,onClick:()=>c(`/tasks/task/${_.id}`),pulseKey:w?.ts},k?`exiting-${_.id}`:_.id)})});const v=[],S=G_(y),x=_=>{g(k=>{const j=new Set(k);return j.has(_)?j.delete(_):j.add(_),j})};return S.forEach(_=>{if(_.isToday){_.tasks.forEach(j=>{const w=p.has(j.id),E=e.has(j.id),z=u[j.id];let D;w?D="exiting":E&&(D="entering");const O=a.jsx(kc,{task:j,animation:D,onClick:()=>c(`/tasks/task/${j.id}`),pulseKey:z?.ts},w?`exiting-${j.id}`:j.id);v.push(O)});return}const k=h.has(_.dateKey);v.push(a.jsx(yR,{date:_.date,taskCount:_.tasks.length,isExpanded:k,onClick:()=>x(_.dateKey)},`date-group-${_.date}`)),k&&_.tasks.forEach(j=>{const w=p.has(j.id),E=e.has(j.id),z=u[j.id];let D;w?D="exiting":E&&(D="entering");const O=a.jsx(kc,{task:j,animation:D,onClick:()=>c(`/tasks/task/${j.id}`),pulseKey:z?.ts},w?`exiting-${j.id}`:j.id);v.push(O)})}),a.jsx(a.Fragment,{children:v})}function cc({status:n}){const e=zt(),r=e?void 0:n,{tasks:l,createTask:c,setSectionTitle:u,animationByStatus:h,globalEnteringIds:g,globalExitingTasks:p,activityByTaskId:y}=Vs(),{showError:v}=mn(),{registerCommands:S,registerTaskSearch:x}=zl(),_=ze();xt(),d.useEffect(()=>{if(!r){u("All Tasks");return}u(Hn[r].label)},[r,u]),d.useEffect(()=>S([{id:"new-task",label:"New Task",description:"Create a new task",aliases:["create","add task"],onSelect:()=>R(!0)}]),[S]),d.useEffect(()=>x(L=>Zt.TasksController_searchTasks({query:L,limit:5})),[x]);const k=d.useMemo(()=>r?l.filter(L=>L.status===r):l,[l,r]),j=d.useMemo(()=>r?{enteringIds:h[r].enteringIds,exitingTasks:h[r].exitingTasks}:{enteringIds:g,exitingTasks:p},[r,h,g,p]),[w,E]=xf(),[z,D]=d.useState(null),[O,R]=d.useState(!1);d.useEffect(()=>{w.get("new")==="1"&&(R(!0),E({},{replace:!0}))},[w,E]);const N=()=>{console.log("cancel"),R(!1)},C=async({title:L,description:U})=>{console.log(`save title: ${L} - description: ${U}`),D({name:L,description:U});try{const B=await c({name:L,description:U});return B?(D(B),_(`/tasks/task/${B.id}`),!0):!1}catch(B){return console.error("Error saving task"),console.error(B),v(B),!1}};return a.jsx("div",{className:`${e?"full-height":""}`,children:e?a.jsxs("div",{className:"tasks-page",children:[a.jsx(xR,{tasks:l,animationByStatus:h}),a.jsxs("button",{className:"tasks-fab tasks-fab--desktop",type:"button",onClick:()=>R(!0),children:[a.jsx("span",{className:"tasks-fab__plus",children:"+"}),a.jsx("span",{className:"tasks-fab__label",children:"New task"})]}),O?a.jsx(Wh,{onCancel:N,onSave:C}):null]}):a.jsxs(a.Fragment,{children:[a.jsx(mR,{tasks:k,enteringIds:j.enteringIds,exitingTasks:j.exitingTasks,groupByDay:r===Te.DONE}),a.jsx("button",{className:"tasks-fab",type:"button",onClick:()=>R(!0),"aria-label":"Create new task",children:"+"}),O?a.jsx(Wh,{onCancel:N,onSave:C}):null]})})}function uc({tasks:n,status:e,animationState:r}){const l=d.useMemo(()=>n.filter(u=>u.status===e),[n,e]),c=Hn[e].label;return a.jsxs("div",{className:"tasks-board-column",children:[a.jsxs("div",{className:"tasks-board-column__header",children:[a.jsx(b,{size:"3",weight:"bold",children:c}),a.jsx(b,{size:"1",tone:"muted",children:l.length})]}),a.jsx("div",{className:"tasks-board-column__body",children:a.jsx(vR,{tasks:l,enteringIds:r.enteringIds,exitingTasks:r.exitingTasks,groupByDay:e===Te.DONE})})]})}function xR({tasks:n,animationByStatus:e}){return a.jsxs("div",{className:"tasks-board-view",children:[a.jsx(uc,{status:Te.NOT_STARTED,tasks:n,animationState:e[Te.NOT_STARTED]}),a.jsx(uc,{status:Te.IN_PROGRESS,tasks:n,animationState:e[Te.IN_PROGRESS]}),a.jsx(uc,{status:Te.FOR_REVIEW,tasks:n,animationState:e[Te.FOR_REVIEW]}),a.jsx(uc,{status:Te.DONE,tasks:n,animationState:e[Te.DONE]})]})}const bR=2200;function _R({trigger:n,durationMs:e=bR}){const[r,l]=d.useState(!1);return d.useEffect(()=>{if(n<=0)return;l(!0);const c=window.setTimeout(()=>l(!1),e);return()=>window.clearTimeout(c)},[n,e]),r?a.jsxs("div",{className:"shipped-celebration",style:{"--celebration-duration":`${e}ms`},"aria-hidden":"true",children:[a.jsx("div",{className:"shipped-celebration__veil"}),a.jsx("div",{className:"shipped-celebration__rocket",role:"presentation",children:"🚀"}),a.jsx("div",{className:"shipped-celebration__spark shipped-celebration__spark--one"}),a.jsx("div",{className:"shipped-celebration__spark shipped-celebration__spark--two"}),a.jsx("div",{className:"shipped-celebration__spark shipped-celebration__spark--three"})]}):null}const SR=window.location.origin,V_=new as({baseUrl:SR,credentials:"include"}),dl=V_.taskBlueprints,Kr=V_.scheduledTasks;function jR(){const n=zt(),{sectionTitle:e,shippedCelebrationTrigger:r,projects:l,projectsLoaded:c,selectedProjectId:u,setSelectedProjectId:h}=Vs(),g=ze(),p=It(),[y,v]=d.useState(null),S=p.pathname==="/tasks/dependencies"||p.pathname.startsWith("/tasks/dependencies/"),x=["/tasks/not-started","/tasks/in-progress","/tasks/in-review","/tasks/done"].includes(p.pathname),_=x||S,k=x||S,j=a.jsx(wR,{isBoardView:x,isDependencyView:S,onBoardClick:()=>g("/tasks/not-started"),onDependenciesClick:()=>g("/tasks/dependencies")}),w=a.jsx(TR,{projects:l,projectsLoaded:c,selectedProjectId:u,onChange:h});return d.useEffect(()=>{let E=!0;return(async()=>{try{const D=await Kr.ScheduledTasksController_listScheduledTasks({page:1,limit:50});if(!E)return;const O=D.items.filter(R=>R.enabled).length;v(O)}catch{E&&v(null)}})(),()=>{E=!1}},[]),a.jsxs("div",{style:{minHeight:0},children:[a.jsx(_R,{trigger:r}),n?a.jsx(ri,{sectionTitle:e,titleAccessory:k?w:void 0,headerActions:a.jsxs("div",{className:"tasks-layout__header-actions",children:[_?j:null,a.jsxs(re,{size:"sm",variant:"ghost",className:"tasks-layout__header-button",onClick:()=>g("/tasks/schedule"),children:[a.jsx(u_,{className:"tasks-layout__header-icon",size:16,strokeWidth:1.5,absoluteStrokeWidth:!0}),"Schedule",y&&y>0?a.jsx("span",{className:"tasks-layout__schedule-badge",children:y}):null]})]}),children:a.jsx(Wt,{})}):a.jsx(tr,{appTitle:"Tasks",sectionTitle:e,navItems:iR,topActions:k||_?a.jsxs("div",{className:"tasks-layout__mobile-top-actions",children:[k?w:null,_?a.jsx("div",{className:"tasks-layout__mobile-view-toggle",children:j}):null]}):void 0,children:a.jsx(Wt,{})})]})}function TR({projects:n,projectsLoaded:e,selectedProjectId:r,onChange:l}){const[c,u]=d.useState(!1),[h,g]=d.useState(""),p=d.useRef(null),y=d.useRef(null),v=n.find(k=>k.id===r)??null,S=h.trim().toLowerCase(),x=d.useMemo(()=>S?n.filter(k=>k.slug.toLowerCase().includes(S)||k.tagName.toLowerCase().includes(S)):n,[S,n]);d.useEffect(()=>{if(!c)return;const k=w=>{p.current?.contains(w.target)||u(!1)},j=w=>{w.key==="Escape"&&u(!1)};return document.addEventListener("pointerdown",k),document.addEventListener("keydown",j),window.setTimeout(()=>y.current?.focus(),0),()=>{document.removeEventListener("pointerdown",k),document.removeEventListener("keydown",j)}},[c]);const _=k=>{l(k),g(""),u(!1)};return a.jsxs("div",{className:"tasks-layout__project-selector",ref:p,children:[a.jsxs("button",{className:"tasks-layout__project-trigger",type:"button","aria-haspopup":"listbox","aria-expanded":c,"aria-label":"Task project",disabled:!e,onClick:()=>u(k=>!k),children:[a.jsx(Fh,{className:"tasks-layout__project-selector-icon",size:15,strokeWidth:1.75,absoluteStrokeWidth:!0}),a.jsx("span",{className:"tasks-layout__project-trigger-label",children:v?.slug??"All projects"}),a.jsx(bC,{className:`tasks-layout__project-selector-chevron${c?" tasks-layout__project-selector-chevron--open":""}`,size:14,strokeWidth:1.75,absoluteStrokeWidth:!0})]}),c?a.jsxs("div",{className:"tasks-layout__project-menu",children:[a.jsx("input",{ref:y,className:"tasks-layout__project-search",type:"search",value:h,onChange:k=>g(k.target.value),placeholder:"Search projects","aria-label":"Search projects"}),a.jsxs("div",{className:"tasks-layout__project-options",role:"listbox","aria-label":"Task project",children:[a.jsx("button",{className:`tasks-layout__project-option${r===null?" tasks-layout__project-option--selected":""}`,type:"button",role:"option","aria-selected":r===null,onClick:()=>_(null),children:"All projects"}),x.length===0?a.jsx("div",{className:"tasks-layout__project-empty",children:"No matching projects"}):x.map(k=>a.jsxs("button",{className:`tasks-layout__project-option${r===k.id?" tasks-layout__project-option--selected":""}`,type:"button",role:"option","aria-selected":r===k.id,onClick:()=>_(k.id),children:[a.jsx("span",{className:"tasks-layout__project-option-name",children:k.slug}),a.jsx("span",{className:"tasks-layout__project-option-tag",children:k.tagName})]},k.id))]})]}):null]})}function wR({isBoardView:n,isDependencyView:e,onBoardClick:r,onDependenciesClick:l}){return a.jsxs("div",{className:"tasks-layout__view-toggle",role:"group","aria-label":"Task view",children:[a.jsxs("button",{className:`tasks-layout__view-toggle-button${n?" tasks-layout__view-toggle-button--active":""}`,type:"button","aria-pressed":n,onClick:r,children:[a.jsx(p_,{className:"tasks-layout__header-icon",size:16,strokeWidth:1.5,absoluteStrokeWidth:!0}),"Board"]}),a.jsxs("button",{className:`tasks-layout__view-toggle-button${e?" tasks-layout__view-toggle-button--active":""}`,type:"button","aria-pressed":e,onClick:l,children:[a.jsx(f_,{className:"tasks-layout__header-icon",size:16,strokeWidth:1.5,absoluteStrokeWidth:!0}),"Dependencies"]})]})}const kR={content:""},xx=n=>{n&&(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)};function ER({onCancel:n,onSave:e,taskId:r}){const[l,c,u]=li({key:`new-comment-draft-${r}`,defaultValue:kR}),{content:h}=l,g=d.useRef(null);d.useEffect(()=>{g.current?.focus()},[]),d.useEffect(()=>{xx(g.current)},[h]);function p(v){c({...l,content:v.target.value}),xx(v.target)}async function y(){const v=await e({content:h});return v&&u(),v}return a.jsx(bt,{title:"Add Comment",onCancel:n,onSave:y,children:a.jsx(a.Fragment,{children:a.jsx("div",{className:"new-comment-pop__input-content",children:a.jsx("textarea",{className:"new-comment-pop__input-content",ref:g,placeholder:"Leave a comment...",value:h,onChange:p})})})})}const CR={answer:""},Nh=n=>{n&&(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)};function NR({onCancel:n,onSave:e,taskId:r,inputRequestId:l,question:c}){const[u,h,g]=li({key:`answer-input-request-draft-${l}`,defaultValue:CR}),{answer:p}=u,y=d.useRef(null),v=d.useRef(null);d.useEffect(()=>{v.current?.focus()},[]),d.useEffect(()=>{Nh(y.current)},[c]),d.useEffect(()=>{Nh(v.current)},[p]);function S(_){h({...u,answer:_.target.value}),Nh(_.target)}async function x(){const _=await e({answer:p});return _&&g(),_}return a.jsx(bt,{title:"Answer Input Request",onCancel:n,onSave:x,children:a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"new-comment-pop__input-content",children:a.jsx("textarea",{className:"new-comment-pop__input-content",ref:y,value:c,readOnly:!0,style:{opacity:.7,cursor:"default"}})}),a.jsx("div",{className:"new-comment-pop__input-content",children:a.jsx("textarea",{className:"new-comment-pop__input-content",ref:v,placeholder:"Your answer...",value:p,onChange:S})})]})})}function AR({onCancel:n,onSave:e,existingTags:r}){const[l,c]=d.useState([]),[u,h]=d.useState(!0),[g,p]=d.useState(""),[y,v]=d.useState(0),[S,x]=d.useState(!1),_=d.useRef(null),k=d.useRef(null);d.useEffect(()=>{(async()=>{try{const R=await Eb.metaControllerGetAllTags();c(R)}catch(R){console.error("Failed to load tags:",R)}finally{h(!1)}})()},[]),d.useEffect(()=>{_.current?.focus()},[]);const j=d.useMemo(()=>{const O=new Set(r.map(L=>L.id)),R=l.filter(L=>!O.has(L.id));if(!g.trim())return R;const N=g.toLowerCase().trim();return R.map(L=>{let U=0;return L.name.toLowerCase().startsWith(N)?U+=100:L.name.toLowerCase().includes(N)&&(U+=50),{tag:L,score:U}}).filter(L=>L.score>0).sort((L,U)=>U.score-L.score).map(L=>L.tag)},[l,r,g]),w=d.useMemo(()=>{if(!g.trim())return!1;const O=g.toLowerCase().trim();return!l.some(R=>R.name.toLowerCase()===O)},[g,l]);d.useEffect(()=>{v(0)},[j.length,g,w]),d.useEffect(()=>{if(k.current){const O=j.length+(w?1:0);if(y<O){const R=k.current.children[y];R&&R.scrollIntoView({block:"nearest"})}}},[y,j.length,w]);const E=d.useCallback(async O=>{if(S)return!1;x(!0);try{const R=await e(O);return R&&n?.(),R}finally{x(!1)}},[S,n,e]),z=d.useCallback(O=>{if(O.nativeEvent.isComposing)return;const R=j.length+(w?1:0);switch(O.key){case"ArrowDown":if(R===0)return;O.preventDefault(),v(N=>N<R-1?N+1:N);break;case"ArrowUp":if(R===0)return;O.preventDefault(),v(N=>N>0?N-1:0);break;case"Enter":O.preventDefault(),y<j.length?E(j[y]):w&&y===j.length&&E(Ah(g));break;case"Escape":O.preventDefault(),n?.();break}},[w,j,y,n,g,E]);async function D(){if(j.length+(w?1:0)===0)return!1;if(y<j.length){const R=j[y];return R?E(R):!1}return w&&y===j.length?E(Ah(g)):!1}return a.jsx(bt,{title:"Add Tag",onCancel:n,onSave:D,children:a.jsxs("div",{className:"tag-search-pop",children:[a.jsx("input",{ref:_,type:"text",className:"tag-search-pop__input",placeholder:"Search or create tag...",value:g,onChange:O=>p(O.target.value),onKeyDown:z}),a.jsx("div",{className:"tag-search-pop__list",ref:k,role:"listbox","aria-label":"Available tags",children:u?a.jsx("div",{className:"tag-search-pop__empty",children:a.jsx(b,{tone:"muted",children:"Loading tags..."})}):j.length===0&&!w?a.jsx("div",{className:"tag-search-pop__empty",children:a.jsx(b,{tone:"muted",children:"No tags found"})}):a.jsxs(a.Fragment,{children:[j.map((O,R)=>a.jsx("button",{type:"button",role:"option","aria-selected":R===y,className:`tag-search-pop__item ${R===y?"tag-search-pop__item--highlighted":""}`,onClick:()=>{E(O)},onMouseEnter:()=>v(R),disabled:S,children:a.jsx("div",{className:"tag-search-pop__tag-badge",style:{backgroundColor:O.color||"#999"},children:O.name})},O.id)),w&&a.jsxs("button",{type:"button",role:"option","aria-selected":y===j.length,className:`tag-search-pop__item tag-search-pop__item--create ${y===j.length?"tag-search-pop__item--highlighted":""}`,onClick:()=>{E(Ah(g))},onMouseEnter:()=>v(j.length),disabled:S,children:[a.jsx(b,{size:"2",tone:"muted",children:"Create new tag:"}),a.jsx("div",{className:"tag-search-pop__tag-badge",style:{backgroundColor:"#999"},children:g.trim()})]})]})})]})})}function Ah(n){return{id:"",name:n.trim(),color:void 0,createdAt:"",updatedAt:""}}function RR({onCancel:n,onSave:e,excludeTaskIds:r}){const[l,c]=d.useState(""),[u,h]=d.useState(0),[g,p]=d.useState([]),[y,v]=d.useState(!1),[S,x]=d.useState(null),[_,k]=d.useState(!1),j=d.useRef(null),w=d.useRef(null),E=d.useRef(0);d.useEffect(()=>{j.current?.focus()},[]),d.useEffect(()=>{const C=l.trim();if(!C){E.current=E.current+1,p([]),x(null),v(!1);return}const L=E.current+1;E.current=L,v(!0),x(null);const U=window.setTimeout(async()=>{try{const B=await Zt.TasksController_searchTasks({query:C,limit:20});if(E.current!==L)return;p(B??[])}catch(B){if(E.current!==L)return;x(B instanceof Error?B.message:"Failed to search tasks"),p([])}finally{E.current===L&&v(!1)}},200);return()=>{window.clearTimeout(U)}},[l]);const z=d.useMemo(()=>{const C=new Set(r);return g.filter(L=>!C.has(L.id))},[g,r]);d.useEffect(()=>{h(0)},[z.length,l]),d.useEffect(()=>{if(w.current){const C=w.current.children[u];C&&C.scrollIntoView({block:"nearest"})}},[u]);const D=d.useCallback(async C=>{if(_)return!1;k(!0);try{const L=await Zt.TasksController_getTask({id:C.id}),U=await e(L);return U&&n?.(),U}catch(L){return console.error("Failed to fetch task details:",L),!1}finally{k(!1)}},[_,n,e]),O=d.useCallback(()=>{if(z.length===0)return;const C=z[u];C&&D(C)},[z,u,D]),R=d.useCallback(C=>{if(!C.nativeEvent.isComposing)switch(C.key){case"ArrowDown":if(z.length===0)return;C.preventDefault(),h(L=>L<z.length-1?L+1:L);break;case"ArrowUp":if(z.length===0)return;C.preventDefault(),h(L=>L>0?L-1:0);break;case"Enter":C.preventDefault(),O();break;case"Escape":C.preventDefault(),n?.();break}},[z,O,n]);async function N(){if(z.length===0)return!1;const C=z[u];return C?D(C):!1}return a.jsx(bt,{title:"Add Dependency",onCancel:n,onSave:N,children:a.jsxs("div",{className:"task-search-pop",children:[a.jsx("input",{ref:j,type:"text",className:"task-search-pop__input",placeholder:"Search tasks...",value:l,onChange:C=>c(C.target.value),onKeyDown:R}),a.jsx("div",{className:"task-search-pop__list",ref:w,role:"listbox","aria-label":"Tasks",children:z.length===0?a.jsx("div",{className:"task-search-pop__empty",children:a.jsx(b,{tone:"muted",children:l.trim()?y?"Searching tasks...":S||"No tasks found":"Type to search for tasks"})}):z.map((C,L)=>a.jsx("button",{type:"button",role:"option","aria-selected":L===u,className:`task-search-pop__item ${L===u?"task-search-pop__item--highlighted":""}`,onClick:()=>{D(C)},onMouseEnter:()=>h(L),disabled:_,children:a.jsxs("div",{className:"task-search-pop__item-info",children:[a.jsx(b,{weight:"medium",size:"2",children:C.name}),a.jsxs(b,{tone:"muted",size:"1",style:"mono",children:["#",C.id.slice(0,6)]})]})},C.id))})]})})}const DR=window.location.origin,zR=new as({baseUrl:DR,credentials:"include"}),Ka=zR.executions,OR=(n,e)=>{const r=e.find(l=>l.job==="conversation");return r?.isReady?{isReady:!0,title:"Thread chat is ready",description:"Your conversation tools are online.",ctaLabel:"Open model settings"}:r?.modelId?{isReady:!1,title:"Thread chat needs one more step",description:"A conversation model is picked, but its provider still needs credentials before threads can talk back.",ctaLabel:"Finish provider setup"}:n.some(l=>l.isConfigured)?{isReady:!1,title:"Your next level is one pick away",description:"A provider is connected, but no conversation model is picked yet. Choose one in model settings to open the thread portal.",ctaLabel:"Pick a model"}:{isReady:!1,title:"Thread chat is waiting at the gate",description:"Connect an AI provider and pick a conversation model to unlock new threads and live conversation.",ctaLabel:"Set up chat"}},LR=(n,e)=>{const r=e.find(c=>c.job==="conversation"),l=n.find(c=>c.id===r?.effectiveAiProviderId);return r?.isReady&&r.effectiveModelId&&l?{providerName:l.name,modelId:r.effectiveModelId,usesChatgptPlan:l.type==="chatgpt_subscription"}:null};function oi(){const[n,e]=d.useState(null),[r,l]=d.useState(null),[c,u]=d.useState(!0),h=d.useCallback(async()=>{u(!0);try{const[g,p]=await Promise.all([Fa.aiProvidersControllerListAiProviders(),bl.aiModelSelectionsControllerListAiModelSelections()]);e(OR(g,p)),l(LR(g,p))}catch{e(null),l(null)}finally{u(!1)}},[]);return d.useEffect(()=>{h()},[h]),{readiness:n,conversationModel:r,isLoading:c,isReady:n?.isReady??!0,refresh:h}}function Fc({title:n,description:e,ctaLabel:r,onOpenSettings:l,className:c}){return a.jsxs("div",{className:`chat-setup-callout ${c??""}`.trim(),children:[a.jsx("div",{className:"chat-setup-callout__badge",children:"Thread Chat"}),a.jsxs(te,{spacing:"3",children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"4",weight:"semibold",children:n}),a.jsx(b,{tone:"muted",children:e}),a.jsx(b,{size:"1",tone:"muted",children:"Visit `/settings/models` to wire it up."})]}),a.jsx("div",{className:"chat-setup-callout__actions",children:a.jsx(re,{variant:"primary",onClick:l,children:r})})]})]})}function Jh(n){return n===Te.DONE?{label:"done",color:"purple"}:n===Te.IN_PROGRESS?{label:"in progress",color:"green"}:n===Te.NOT_STARTED?{label:"not started",color:"blue"}:n===Te.FOR_REVIEW?{label:"in review",color:"orange"}:{label:"unknown",color:"gray"}}const Rh=3,Dh=3,MR=600*1e3,IR="We haven't seen activity in a while. If the worker doesn't report back, we'll mark this run as stale and revert the task to its previous state, where another agent will pick it";function Y_({task:n,backPath:e,setSectionTitle:r,isLoadingTask:l=!1,activityByTaskId:c={},handlers:u,allTasks:h}){const g=ze(),{actors:p}=Ol(),{user:y}=ln(),{showError:v,showToast:S}=mn(),{registerCommands:x}=zl(),{readiness:_,isReady:k,isLoading:j}=oi(),[w,E]=d.useState(null),[z,D]=d.useState("idle"),[O,R]=d.useState(!1),[N,C]=d.useState(!1),L=d.useRef(null),U=d.useRef(null),B=3500,$=220;xt({task:{name:n?.name}});const F=d.useCallback(async ue=>{if(n)try{await u.changeStatus({taskId:n.id,status:ue})}catch(be){v(be)}},[n,u,v]),[V,ne]=d.useState(null),[ye,q]=d.useState(!1),Z=d.useCallback(async()=>{if(n){if(!k){S("Thread chat unlocks in Chat Settings.","info"),g("/settings/models");return}q(!0);try{if(V){g(`/threads/${V}`);return}const ue=await tn.ThreadsController_createThread({body:{title:n.name,parentTaskId:n.id}});ne(ue.id),g(`/threads/${ue.id}`)}catch(ue){v(ue)}finally{q(!1)}}},[n,V,k,g,v,S]);d.useEffect(()=>{if(!n){ne(null);return}let ue=!1;return q(!0),tn.ThreadsController_getThreadByTaskId({taskId:n.id}).then(be=>{ue||ne(be?.id??null)}).catch(be=>{ue||(v(be),ne(null))}).finally(()=>{ue||q(!1)}),()=>{ue=!0}},[n,v]);const le=d.useMemo(()=>!n||!n.dependsOnIds||n.dependsOnIds.length===0?[]:n.dependsOnIds.map(ue=>h.find(be=>be.id===ue)).filter(ue=>ue!==void 0),[n,h]);d.useEffect(()=>{if(!n)return;const ue={[Te.NOT_STARTED]:["not started","to do","todo","queued"],[Te.IN_PROGRESS]:["in progress","doing","building"],[Te.FOR_REVIEW]:["for review","review","in review"],[Te.DONE]:["done","shipped","release","complete"]},be=Object.entries(Hn).map(([pt,Ot])=>({id:`task-status-${pt}`,label:Ot.label,description:`Mark task as ${Ot.label.toLowerCase()}`,aliases:ue[pt],onSelect:()=>F(pt)})),Ue=[{id:"task-add-comment",label:"Comment",description:"Add a comment to this task",aliases:["add comment","note"],onSelect:()=>me(!0)},{id:"task-assign",label:"Assign",description:"Assign this task to someone",aliases:["reassign","assignee"],onSelect:()=>ke(!0)},{id:"task-assign-to-me",label:"Assign to Me",description:"Assign this task to yourself",aliases:["claim","take"],onSelect:()=>{u.assignTaskToMe({taskId:n.id}).catch(v)}},{id:"task-add-tag",label:"Tag",description:"Add a tag to this task",aliases:["add tag","label"],onSelect:()=>ft(!0)},{id:"task-thread-action",label:V?"Go to thread":"Create thread",description:V?"Open this task thread":"Create a thread from this task",aliases:["thread","open thread","create thread","chat"],onSelect:()=>{Z()}}];return x([...be,...Ue])},[n,x,F,u,v,V,Z]),d.useEffect(()=>{if(l){r("Loading task...");return}if(!n){r("Task");return}r(n.name)},[n,l,r]),d.useEffect(()=>()=>{L.current&&window.clearTimeout(L.current),U.current&&window.clearTimeout(U.current)},[]);const[de,ve]=d.useState(null),[M,H]=d.useState(!1),[fe,ge]=d.useState([]),[K,oe]=d.useState(!1),[se,Se]=d.useState(null),[De,We]=d.useState(()=>Date.now()),[qt,et]=d.useState(new Set),[wt,he]=d.useState(new Set),[W,me]=d.useState(!1),[J,ke]=d.useState(!1),[tt,ft]=d.useState(!1),[Ut,Cn]=d.useState(!1),[kt,yt]=d.useState(null),xs=d.useCallback(ue=>{et(be=>{const Ue=new Set(be);return Ue.has(ue)?Ue.delete(ue):Ue.add(ue),Ue})},[]),bs=d.useCallback(async(ue,be,Ue)=>{if(confirm(`Are you sure you want to interrupt the active execution for "${be??"this task"}"?`)){he(pt=>new Set(pt).add(ue));try{await Ka.ActiveTaskExecutionController_interruptExecution({executionId:ue}),S(`Interrupt signal sent for "${be??"this task"}"`)}catch(pt){v(pt)}finally{he(pt=>{const Ot=new Set(pt);return Ot.delete(ue),Ot})}}},[S,v]);d.useEffect(()=>{const ue=be=>{if(!n||be.defaultPrevented||be.metaKey||be.ctrlKey||be.altKey||W||J||tt||Ut||kt||$R(be.target))return;const Ue=be.key.toLowerCase();Ue==="a"?(be.preventDefault(),ke(!0)):Ue==="c"?(be.preventDefault(),me(!0)):Ue==="t"&&(be.preventDefault(),ft(!0))};return window.addEventListener("keydown",ue),()=>window.removeEventListener("keydown",ue)},[n,W,J,tt,Ut,kt]);const wa=async({content:ue})=>{if(!n)return!1;try{return await u.addComment({taskId:n.id,comment:ue}),!0}catch(be){return v(be),!1}},Ys=()=>{me(!1)},ui=async ue=>{if(!n)return!1;try{return await u.assignTask({taskId:n.id,assigneeActorId:ue.id}),!0}catch(be){return v(be),!1}},sr=()=>{ke(!1)},di=async({answer:ue})=>{if(!n||!kt)return!1;try{return await u.answerInputRequest({taskId:n.id,inputRequestId:kt.id,answer:ue}),!0}catch(be){return v(be),!1}},hi=()=>{yt(null)},_s=async ue=>{if(!n)return!1;try{return await u.addTag({taskId:n.id,tag:ue}),!0}catch(be){return v(be),!1}},Gt=()=>{ft(!1)},Nn=async ue=>{if(n)try{await u.removeTag({taskId:n.id,tagId:ue})}catch(be){v(be)}},Ft=async ue=>{if(!n)return!1;try{return await u.addDependency({taskId:n.id,dependencyTaskId:ue.id}),!0}catch(be){return v(be),!1}},fi=()=>{Cn(!1)},pi=async ue=>{if(n)try{await u.removeDependency({taskId:n.id,dependencyTaskId:ue})}catch(be){v(be)}},Yn=n?c[n.id]:null;d.useEffect(()=>{R(!1),C(!1)},[n?.id]);const Kn=d.useCallback(async ue=>{oe(!0);try{const[be,Ue]=await Promise.all([Ka.ActiveTaskExecutionController_listActiveExecutions({taskId:ue,limit:100}),Ka.TaskExecutionHistoryController_listHistory({taskId:ue,limit:100})]),pt=be.items.map(xe=>({id:`active-${xe.id}`,executionId:xe.id,agentActorId:xe.agentActorId,status:"ACTIVE",source:"active",timestamp:xe.claimedAt,lastActivityAt:xe.lastHeartbeatAt??xe.claimedAt,runnerSessionId:xe.runnerSessionId,toolCallCount:xe.toolCallCount,errorCode:null,errorMessage:null})),Ot=Ue.items.map(xe=>({id:`history-${xe.id}`,executionId:xe.id,agentActorId:xe.agentActorId,status:xe.status,source:"history",timestamp:xe.transitionedAt,lastActivityAt:xe.transitionedAt,runnerSessionId:xe.runnerSessionId,toolCallCount:xe.toolCallCount,errorCode:xe.errorCode,errorMessage:xe.errorMessage})),pe=[...pt,...Ot].sort((xe,vt)=>new Date(vt.timestamp).getTime()-new Date(xe.timestamp).getTime());ge(pe),Se(null)}catch(be){const Ue=be instanceof Error?be.message:"Failed to load runs for this task";Se(Ue)}finally{oe(!1)}},[]),yn=d.useMemo(()=>n?[...n.comments.map(ue=>({type:"comment",data:ue,timestamp:new Date(ue.createdAt).getTime()})),...n.inputRequests.map(ue=>({type:"inputRequest",data:ue,timestamp:new Date(ue.createdAt).getTime()}))].sort((ue,be)=>ue.timestamp-be.timestamp):[],[n]),rs=O?yn:yn.slice(0,Rh),Qn=yn.length>Rh,Ks=N?fe:fe.slice(0,Dh),An=fe.length>Dh;if(d.useEffect(()=>{if(!fe.some(be=>be.source==="active"))return;We(Date.now());const ue=window.setInterval(()=>{We(Date.now())},30*1e3);return()=>window.clearInterval(ue)},[fe]),d.useEffect(()=>{if(!n){ge([]),Se(null),et(new Set);return}et(new Set),Kn(n.id)},[n,Kn]),d.useEffect(()=>{!n||!Yn||Yn.kind.startsWith("execution.")&&Kn(n.id)},[Yn,n,Kn]),d.useEffect(()=>{!n||!Yn||!Yn.message||(L.current&&window.clearTimeout(L.current),U.current&&window.clearTimeout(U.current),E(Yn),D("enter"),L.current=window.setTimeout(()=>{D("exit"),U.current=window.setTimeout(()=>{E(null),D("idle")},$)},B))},[Yn,n,$,B]),!n&&l)return a.jsx(UR,{backPath:e});if(!n)return a.jsx("div",{className:"task-detail-page",children:a.jsxs(te,{spacing:"4",align:"center",children:[a.jsx(b,{size:"3",tone:"muted",children:"Task not found"}),a.jsx(re,{variant:"secondary",onClick:()=>g(e),children:"Back to tasks"})]})});const Qs=async ue=>{H(!0);try{await u.changeStatus({taskId:n.id,status:ue}),ve(null)}catch(be){v(be)}finally{H(!1)}};return a.jsxs("div",{className:"task-detail-page",children:[de&&a.jsxs(Dt,{children:[a.jsx("button",{onClick:()=>ve(null),className:"task-detail-page__error-close",children:"×"}),de]}),a.jsxs(_e,{className:"task-detail-page__section",children:[a.jsxs(je,{leading:a.jsx(Fe,{size:"sm",name:n.createdByActor.displayName,inactive:en(n.createdByActor),src:n.createdByActor.avatarUrl||void 0}),tags:[Jh(n.status),...n.tags.map(ue=>({label:ue.name,onRemove:()=>Nn(ue.id)})),{label:"+ add tag",color:"gray",onClick:()=>ft(!0),clickLabel:"Add tag"}],topRight:a.jsx(b,{size:"1",tone:"muted",children:Mt(n.updatedAt)}),children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:n.createdByActor.displayName}),a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:` ${Ht(n.createdByActor)} created `}),a.jsxs(b,{as:"span",tone:"muted",style:"mono",children:["#",n.id.slice(0,6)]}),n.assigneeActor?null:a.jsx(b,{tone:"muted",children:"unassigned"})]}),n.assigneeActor?a.jsxs(je,{leading:a.jsx(Fe,{size:"sm",name:n.assigneeActor.displayName,inactive:en(n.assigneeActor),src:n.assigneeActor.avatarUrl||void 0}),onClick:()=>ke(!0),children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:n.assigneeActor.displayName}),a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:` ${Ht(n.assigneeActor)} assigned`}),a.jsx(b,{size:"1",tone:"muted",children:"tap to reassign"})]}):null]}),n.artefacts&&n.artefacts.length>0&&a.jsx(_e,{className:"task-detail-page__section",children:n.artefacts.map(ue=>a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:`${ue.name}: `}),a.jsx(b,{as:"span",children:a.jsx("a",{href:ue.link,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent)",textDecoration:"underline"},children:ue.link})})]},ue.id))}),(le.length>0||n)&&a.jsxs(_e,{title:"Depends on",className:"task-detail-page__section",action:le.length>0?a.jsxs(re,{size:"sm",variant:"ghost",className:"task-detail-page__dependency-graph-button",onClick:()=>g(`/tasks/dependencies/${n.id}`),children:[a.jsx(f_,{className:"task-detail-page__dependency-graph-icon",size:14,strokeWidth:1.5,absoluteStrokeWidth:!0}),"View graph"]}):void 0,children:[le.map(ue=>a.jsx(_l,{task:ue,onClick:()=>g(`/tasks/task/${ue.id}`),additionalTags:[{label:"× remove",color:"red",onClick:()=>pi(ue.id),clickLabel:"Remove dependency"}]},ue.id)),a.jsx(je,{tags:[{label:"+ add dependency",color:"gray",onClick:()=>Cn(!0),clickLabel:"Add dependency"}],children:a.jsx(b,{tone:"muted",size:"2",children:le.length===0?"No dependencies yet":"Add another dependency"})})]}),a.jsx(_e,{className:"task-detail-page__section",children:a.jsxs(je,{leading:a.jsx(Fe,{size:"sm",name:n.createdByActor.displayName,inactive:en(n.createdByActor),src:n.createdByActor.avatarUrl||void 0}),tags:[],topRight:a.jsx(b,{size:"1",tone:"muted",children:Mt(n.createdAt)}),children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:n.createdByActor.displayName}),a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:` ${Ht(n.createdByActor)}`}),a.jsx(b,{children:n.description?n.description:"no description"})]})}),a.jsxs(_e,{title:"Updates",className:"task-detail-page__section",children:[yn.length===0?a.jsx(b,{className:"task-detail-page__executions-state",tone:"muted",children:"No updates yet."}):null,rs.map(ue=>{if(ue.type==="comment"){const Qe=ue.data,Vt=Qe.commenterActor?.displayName||"unknown",Xs=Qe.commenterActor?Ht(Qe.commenterActor):"@unknown";return a.jsxs(je,{leading:a.jsx(Fe,{size:"sm",name:Vt,inactive:en(Qe.commenterActor),src:Qe.commenterActor?.avatarUrl||void 0}),topRight:a.jsx(b,{size:"1",tone:"muted",children:Mt(Qe.createdAt)}),children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:Vt}),a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:` ${Xs}`}),a.jsx(b,{children:Qe.content})]},`comment-${Qe.id}`)}const be=ue.data,Ue=p.find(Qe=>Qe.id===be.askedByActorId),pt=p.find(Qe=>Qe.id===be.assignedToActorId),Ot=Ue?.displayName||"Unknown",pe=Ue?Ht(Ue):"@unknown",xe=pt?.displayName||"Unknown",vt=pt?Ht(pt):"@unknown",is=!!be.resolvedAt,ka=y&&be.assignedToActorId===y.actorId,Ea=typeof be.answer=="string"?be.answer:JSON.stringify(be.answer),vn=is?[{label:"resolved question",color:"gray"},{label:"answer",color:"green"}]:[{label:"question",color:"orange"}];return a.jsx(je,{leading:is?a.jsxs("div",{className:"task-detail-page__input-request-avatars",children:[a.jsx(Fe,{size:"sm",name:Ot,inactive:en(Ue),src:Ue?.avatarUrl||void 0}),a.jsx(Fe,{size:"sm",name:xe,inactive:en(pt),src:pt?.avatarUrl||void 0})]}):a.jsx(Fe,{size:"sm",name:Ot,inactive:en(Ue),src:Ue?.avatarUrl||void 0}),tags:vn,topRight:a.jsx(b,{size:"1",tone:"muted",children:Mt(be.createdAt)}),children:a.jsxs(te,{spacing:"2",children:[a.jsxs("div",{className:"task-detail-page__input-request",children:[a.jsxs("div",{className:"task-detail-page__input-request-question",children:[a.jsxs("div",{className:"task-detail-page__input-request-header",children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:Ot}),a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:` ${pe}`})]}),a.jsxs(b,{children:[a.jsx(b,{as:"span",tone:"muted",children:"Asked:"})," ",be.question]})]}),is?a.jsxs("div",{className:"task-detail-page__input-request-answer",children:[a.jsxs("div",{className:"task-detail-page__input-request-header",children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:xe}),a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:` ${vt}`})]}),a.jsxs(b,{children:[a.jsx(b,{as:"span",tone:"muted",children:"Answered:"})," ",Ea]})]}):null]}),!is&&ka&&a.jsx(re,{size:"sm",variant:"primary",onClick:()=>yt(be),children:"Respond"})]})},`input-request-${be.id}`)}),Qn?a.jsx("div",{className:"task-detail-page__section-toggle",children:a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>R(ue=>!ue),children:O?"Show fewer updates":`See ${yn.length-Rh} more updates`})}):null]}),a.jsx(_e,{className:"task-detail-page__section",children:a.jsx("div",{className:"task-detail-page__activity",children:a.jsxs("div",{className:`task-detail-page__activity-slot ${w?"task-detail-page__activity-slot--active":""}`,children:[a.jsx("div",{className:"task-detail-page__activity-placeholder",children:a.jsx(b,{size:"2",tone:"muted",children:"Live activity will show here"})}),w?a.jsx("div",{className:`task-detail-page__activity-card ${z==="enter"?"is-entering":""} ${z==="exit"?"is-exiting":""}`,children:a.jsx(b,{size:"2",className:"task-detail-page__activity-message",children:w.message?.replace(/\s+/g," ").trim()||"Activity in progress..."})}):null]})})}),a.jsxs(_e,{title:"Runs",className:"task-detail-page__section",children:[K&&fe.length===0?a.jsx(b,{className:"task-detail-page__executions-state",tone:"muted",children:"Loading runs..."}):null,se?a.jsxs(b,{className:"task-detail-page__executions-state",tone:"muted",children:["Failed to load runs: ",se]}):null,!K&&!se&&fe.length===0?a.jsx(b,{className:"task-detail-page__executions-state",tone:"muted",children:"No runs yet for this task."}):null,Ks.map(ue=>{const be=p.find(Qe=>Qe.id===ue.agentActorId),Ue=be?.displayName??zh(ue.agentActorId),pt=be?Ht(be):"",Ot=BR(ue.status),pe=ue.status==="FAILED"&&!!(ue.errorCode||ue.errorMessage),xe=qt.has(ue.id),vt=ue.source==="active",is=vt&&PR(ue,De),ka=wt.has(ue.executionId),Ea={label:vt?"active":"history",color:"gray"},vn=is?{label:"Potentially stale",color:"orange",title:IR}:null;return a.jsx(je,{leading:a.jsx(Fe,{size:"sm",name:Ue,inactive:en(be),src:be?.avatarUrl||void 0}),tags:vn?[Ot,Ea,vn]:[Ot,Ea],topRight:vt?a.jsx(re,{variant:"danger",size:"sm",disabled:ka,onClick:()=>{bs(ue.executionId,n?.name,n?.id??"")},children:ka?"Interrupting…":"Interrupt"}):a.jsx(b,{size:"1",tone:"muted",children:Mt(ue.timestamp)}),children:a.jsxs(te,{spacing:"1",children:[a.jsxs("div",{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:Ue}),a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:pt?` ${pt}`:""})]}),a.jsx(b,{as:"span",tone:"muted",size:"2",children:a.jsxs("span",{className:"task-detail-page__execution-meta",children:["run #",zh(ue.executionId),pe?a.jsx("button",{type:"button",className:"task-detail-page__execution-error-toggle",onClick:()=>xs(ue.id),"aria-label":xe?"Hide failure details":"Show failure details","aria-expanded":xe,title:xe?"Hide failure details":"Show failure details",children:"i"}):null]})}),a.jsx(b,{as:"span",size:"1",tone:"muted",children:a.jsxs("span",{className:"task-detail-page__execution-stats",children:["tools: ",ue.toolCallCount,a.jsx("span",{className:"task-detail-page__execution-stats-separator",children:"|"}),"session: ",ue.runnerSessionId?zh(ue.runnerSessionId):"pending",vt?a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"task-detail-page__execution-stats-separator",children:"|"}),"heartbeat ",Mt(ue.lastActivityAt)]}):null]})}),pe&&xe?a.jsxs("div",{className:"task-detail-page__execution-error-detail",children:[ue.errorCode?a.jsx(b,{as:"span",size:"1",style:"mono",className:"task-detail-page__execution-error-code",children:ue.errorCode}):null,ue.errorMessage?a.jsx(b,{as:"span",size:"2",wrap:!0,children:ue.errorMessage}):null]}):null]})},ue.id)}),An?a.jsx("div",{className:"task-detail-page__section-toggle",children:a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>C(ue=>!ue),children:N?"Show fewer runs":`See ${fe.length-Dh} more runs`})}):null]}),a.jsx(_e,{className:"task-detail-page__status-buttons",children:Object.entries(Hn).map(([ue,be])=>{const Ue=be.icon;return a.jsx(re,{size:"sm",variant:ue===n.status?"primary":"secondary",onClick:()=>Qs(ue),disabled:M,children:a.jsxs(te,{spacing:"1",align:"center",children:[a.jsx(Ue,{size:20}),a.jsx("div",{children:be.label})]})},ue)})}),a.jsx(re,{className:"task-detail-fab",onClick:()=>me(!0),variant:"primary",size:"lg",children:"Add Comment"}),!n.assigneeActor&&a.jsxs(_e,{className:"task-detail-page__comment-buttons",children:[a.jsx(re,{size:"lg",onClick:()=>ke(!0),children:"Assign"}),a.jsx(re,{size:"lg",variant:"primary",onClick:async()=>{await u.assignTaskToMe({taskId:n.id})},children:"Assign to Me"})]}),a.jsx(ii,{className:"task-detail-page__comment-buttons",onDelete:async()=>{try{await u.deleteTask({taskId:n.id}),g(e)}catch(ue){v(ue)}}}),a.jsxs(_e,{className:"task-detail-page__actions",children:[!j&&_&&!_.isReady?a.jsx(Fc,{title:_.title,description:_.description,ctaLabel:_.ctaLabel,onOpenSettings:()=>g("/settings/models")}):null,a.jsx(re,{size:"lg",variant:V?"primary":"secondary",onClick:()=>{Z()},disabled:ye||!k||j,children:V?"Go to thread":"Create thread"}),a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>g(e),children:"Back to Tasks"})]}),W?a.jsx(ER,{onCancel:Ys,onSave:wa,taskId:n.id}):null,J?a.jsx(pR,{onCancel:sr,onSave:ui}):null,tt?a.jsx(AR,{onCancel:Gt,onSave:_s,existingTags:n.tags}):null,Ut?a.jsx(RR,{onCancel:fi,onSave:Ft,excludeTaskIds:[n.id,...n.dependsOnIds||[]]}):null,kt?a.jsx(NR,{onCancel:hi,onSave:di,taskId:n.id,inputRequestId:kt.id,question:kt.question}):null]})}function qR(){const{d:n}=nn(),{tasks:e,detailTasks:r,getTaskById:l,isLoading:c,hasLoadedOnce:u,setSectionTitle:h,addComment:g,deleteTask:p,assignTask:y,assignTaskToMe:v,answerInputRequest:S,activityByTaskId:x}=Vs(),[_,k]=d.useState(!1),j=d.useMemo(()=>{const D=new Map;for(const O of e)D.set(O.id,O);for(const O of r)D.set(O.id,O);return Array.from(D.values())},[e,r]),w=n?j.find(D=>D.id===n):void 0;d.useEffect(()=>{if(!n)return;let D=!1;return k(!0),l(n).catch(O=>console.error("Failed to fetch task",O)).finally(()=>{D||k(!1)}),()=>{D=!0}},[n,l]),d.useEffect(()=>{if(!w||!w.dependsOnIds||w.dependsOnIds.length===0)return;const D=w.dependsOnIds.filter(O=>!j.some(R=>R.id===O));D.length!==0&&Promise.all(D.map(O=>l(O).catch(R=>(console.error(`Failed to hydrate dependency ${O}`,R),null))))},[w,j,l]);const E=!w&&(!u||c||_),z={addComment:({taskId:D,comment:O})=>g({taskId:D,comment:O}),deleteTask:({taskId:D})=>p({taskId:D}),assignTask:({taskId:D,assigneeActorId:O})=>y({taskId:D,assigneeActorId:O}),assignTaskToMe:({taskId:D})=>v({taskId:D}),answerInputRequest:({taskId:D,inputRequestId:O,answer:R})=>S({taskId:D,inputRequestId:O,answer:R}),changeStatus:({taskId:D,status:O})=>Zt.TasksController_changeStatus({id:D,body:{status:O}}),addTag:({taskId:D,tag:O})=>Zt.TasksController_addTagToTask({id:D,body:{name:O.name}}),removeTag:({taskId:D,tagId:O})=>Zt.TasksController_removeTagFromTask({id:D,tagId:O}),addDependency:async({taskId:D,dependencyTaskId:O})=>{const R=j.find(C=>C.id===D);if(!R)return;const N=[...R.dependsOnIds||[],O];await Zt.TasksController_updateTask({id:D,body:{dependsOnIds:N}});try{await l(O)}catch(C){console.error(`Failed to hydrate dependency ${O} after adding`,C)}},removeDependency:async({taskId:D,dependencyTaskId:O})=>{const R=j.find(C=>C.id===D);if(!R)return;const N=(R.dependsOnIds||[]).filter(C=>C!==O);await Zt.TasksController_updateTask({id:D,body:{dependsOnIds:N}})}};return a.jsx(Y_,{task:w,backPath:"/tasks",setSectionTitle:h,isLoadingTask:E,activityByTaskId:x,handlers:z,allTasks:j})}function UR({backPath:n}){const e=ze();return a.jsxs("div",{className:"task-detail-page",children:[a.jsxs(_e,{className:"task-detail-page__section task-detail-page__shell-container",children:[a.jsx("div",{className:"task-detail-page__shell-line task-detail-page__shell-line--wide"}),a.jsx("div",{className:"task-detail-page__shell-line task-detail-page__shell-line--mid"})]}),a.jsxs(_e,{className:"task-detail-page__section task-detail-page__shell-container",children:[a.jsx("div",{className:"task-detail-page__shell-line task-detail-page__shell-line--full"}),a.jsx("div",{className:"task-detail-page__shell-line task-detail-page__shell-line--short"}),a.jsx("div",{className:"task-detail-page__shell-line task-detail-page__shell-line--mid"})]}),a.jsxs(_e,{className:"task-detail-page__section task-detail-page__shell-container",children:[a.jsx("div",{className:"task-detail-page__shell-line task-detail-page__shell-line--full"}),a.jsx("div",{className:"task-detail-page__shell-line task-detail-page__shell-line--full"})]}),a.jsx("div",{className:"task-detail-page__actions",children:a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e(n),children:"Back to Tasks"})})]})}function BR(n){return n==="ACTIVE"?{label:"active",color:"blue"}:n==="SUCCEEDED"?{label:"succeeded",color:"green"}:n==="FAILED"?{label:"failed",color:"red"}:n==="STALE"?{label:"stale",color:"orange"}:{label:"cancelled",color:"gray"}}function PR(n,e){return e-new Date(n.lastActivityAt).getTime()>=MR}function zh(n){return n.length<=12?n:`${n.slice(0,8)}…${n.slice(-4)}`}function $R(n){if(!(n instanceof HTMLElement))return!1;if(n.isContentEditable)return!0;const e=n.tagName.toLowerCase();return e==="input"||e==="textarea"||e==="select"?!0:!!n.closest('[contenteditable="true"], input, textarea, select')}const HR=5e3,GR=Ta("/tasks"),Of=()=>{const[n,e]=d.useState(!0),[r,l]=d.useState(!1),[c,u]=d.useState(null),[h,g]=d.useState(!1),[p,y]=d.useState([]),[v,S]=d.useState([]),[x,_]=d.useState([]),[k,j]=d.useState({queue:0,active:0,history:0}),[w,E]=d.useState(null),z=d.useRef(!1),D=d.useCallback(async O=>{if(z.current)return;z.current=!0;const R=!r,N=O?.silent??!1;R?e(!0):N||g(!0);try{const[C,L,U]=await Promise.all([Ka.TaskExecutionQueueController_listQueue({limit:50}),Ka.ActiveTaskExecutionController_listActiveExecutions({limit:50}),Ka.TaskExecutionHistoryController_listHistory({limit:50})]);y(C.items),S(L.items),_(U.items),j({queue:C.total,active:L.total,history:U.total}),E(new Date().toISOString()),u(null)}catch(C){u(C instanceof Error?C.message:"Failed to load executions")}finally{z.current=!1,l(!0),e(!1),g(!1)}},[r]);return d.useEffect(()=>{D();const O=window.setInterval(()=>{D({silent:!0})},HR);return()=>window.clearInterval(O)},[D]),d.useEffect(()=>{const O=Gn(GR,{transports:["websocket","polling"],withCredentials:!0});return O.on("connect",()=>{O.emit("tasks.subscribe",{},()=>{})}),O.on(kn.TASK_ACTIVITY,R=>{R.kind.startsWith("execution.")&&D({silent:!0})}),()=>{O.close()}},[D]),{isLoading:n,isRefreshing:h,hasLoadedOnce:r,error:c,queue:p,active:v,history:x,totals:k,loadExecutions:D,lastUpdatedAt:w}},vl=228,K_=48,FR=60,VR=84,bx=112,Q_=20,dc=48,YR=.55,KR=1.6,_x=.15,QR=.0025,X_="task-dependencies-view-preferences",hl={graphMode:"all",hideDonePaths:!0,selectedTagNames:[]};function Sx(){const{tasks:n,isLoading:e,error:r,setSectionTitle:l,activityByTaskId:c}=Vs(),{active:u}=Of(),h=ze(),{taskId:g}=nn(),p=d.useRef(null),y=d.useRef({x:0,y:0}),v=d.useRef(null),S=d.useRef(void 0),x=d.useRef(null),[_,k]=d.useState(1),[j,w]=d.useState({x:0,y:0}),[E,z]=d.useState(!1),[D,O]=d.useState(WR),{graphMode:R,hideDonePaths:N,selectedTagNames:C}=D,[L,U]=d.useState([]),[B,$]=d.useState(""),[F,V]=d.useState(!1);xt(),d.useEffect(()=>{l("Tasks")},[l]),d.useEffect(()=>{y.current=j},[j]),d.useEffect(()=>{JR(D)},[D]),d.useEffect(()=>{const J=new AbortController;return eR.MetaController_getAllTags({signal:J.signal}).then(U).catch(ke=>{J.signal.aborted||console.error("Failed to load dependency graph tags:",ke)}),()=>J.abort()},[]);const ne=d.useMemo(()=>s2(n,L),[L,n]),ye=d.useMemo(()=>new Map(ne.map(J=>[J.name,J])),[ne]),q=d.useMemo(()=>C.map(J=>ye.get(J)??{name:J,count:0}),[ye,C]),Z=d.useMemo(()=>{const J=new Set(C),ke=B.trim().toLowerCase();return ne.filter(tt=>!J.has(tt.name)).filter(tt=>ke.length===0||tt.name.toLowerCase().includes(ke)).slice(0,8)},[ne,C,B]),le=d.useMemo(()=>a2(n,C),[n,C]),de=d.useMemo(()=>new Set(u.map(J=>J.taskId)),[u]),ve=d.useMemo(()=>new Map(u.map(J=>[J.taskId,J.taskStatus])),[u]),M=d.useMemo(()=>new Set(Object.values(c).filter(l2).map(J=>J.taskId)),[c]),H=d.useMemo(()=>n2(le,ve,de,M,{includeAllTasks:R==="all",hideDonePaths:N,focusedTaskId:g}),[ve,de,M,le,g,R,N]),fe=C.length>0,ge=`${H.nodes.length} shown`,K=N?"Showing paths that contain unfinished work. Click to include completed-only paths.":"Showing every path. Click to hide completed-only paths.";d.useEffect(()=>{if(!F)return;const J=ke=>{x.current?.contains(ke.target)||V(!1)};return document.addEventListener("pointerdown",J),()=>document.removeEventListener("pointerdown",J)},[F]);const oe=d.useCallback(J=>{O(ke=>ke.selectedTagNames.includes(J)?ke:{...ke,selectedTagNames:[...ke.selectedTagNames,J]}),$(""),V(!1)},[]),se=d.useCallback(J=>{O(ke=>({...ke,selectedTagNames:ke.selectedTagNames.filter(tt=>tt!==J)}))},[]),Se=d.useCallback(()=>{O(J=>({...J,selectedTagNames:[]}))},[]),De=d.useCallback(J=>{if(!J.nativeEvent.isComposing){if(J.key==="Enter"){J.preventDefault();const[ke]=Z;ke&&oe(ke.name);return}J.key==="Escape"&&(J.preventDefault(),V(!1))}},[oe,Z]),We=d.useCallback((J,ke)=>{const tt=p.current,ft=wx(J);if(!tt||ft===_){k(ft);return}const Ut=ke??{x:tt.clientWidth/2,y:tt.clientHeight/2};w(Cn=>{const kt=(Ut.x-Cn.x)/_,yt=(Ut.y-Cn.y)/_;return{x:Ut.x-kt*ft,y:Ut.y-yt*ft}}),k(ft)},[_]),qt=d.useCallback(J=>{k(ke=>wx(ke+J))},[]),et=d.useCallback(()=>{w(c2(H,p.current,g)),k(1)},[g,H]);d.useEffect(()=>{if(!(g&&S.current!==g)||H.nodes.length===0)return;const ke=H.nodes.find(tt=>tt.task.id===g);ke&&(S.current=g,k(1),w(eS(ke,p.current)))},[g,H]);const wt=d.useCallback(J=>{if(H.nodes.length===0)return;const ke=J.currentTarget;if(J.ctrlKey||J.metaKey){J.preventDefault();const tt=ke.getBoundingClientRect();We(_*Math.exp(-J.deltaY*QR),{x:J.clientX-tt.left,y:J.clientY-tt.top});return}if(J.deltaX!==0||J.deltaY!==0){J.preventDefault();const tt=J.deltaMode===1?16:J.deltaMode===2?ke.clientHeight:1;w(ft=>({x:ft.x-J.deltaX*tt,y:ft.y-J.deltaY*tt}))}},[We,H.nodes.length,_]),he=d.useCallback(J=>{H.nodes.length===0||J.button!==0||J.target.closest(".dependency-task-card")||(J.preventDefault(),J.currentTarget.setPointerCapture(J.pointerId),v.current={pointerId:J.pointerId,startClientX:J.clientX,startClientY:J.clientY,startPanX:y.current.x,startPanY:y.current.y},z(!0))},[H.nodes.length]),W=d.useCallback(J=>{const ke=v.current;!ke||ke.pointerId!==J.pointerId||(J.preventDefault(),w({x:ke.startPanX+J.clientX-ke.startClientX,y:ke.startPanY+J.clientY-ke.startClientY}))},[]),me=d.useCallback(J=>{const ke=v.current;!ke||ke.pointerId!==J.pointerId||(J.currentTarget.hasPointerCapture(J.pointerId)&&J.currentTarget.releasePointerCapture(J.pointerId),v.current=null,z(!1))},[]);return e&&n.length===0?a.jsx("div",{className:"task-dependencies-page task-dependencies-page--state",children:a.jsx(b,{tone:"muted",children:"Loading dependencies..."})}):r?a.jsx("div",{className:"task-dependencies-page task-dependencies-page--state",children:a.jsxs(b,{tone:"muted",children:["Could not load dependencies: ",r]})}):a.jsxs("div",{className:"task-dependencies-page",children:[a.jsxs("div",{className:"task-dependencies-controls","aria-label":"Dependency graph filters",children:[a.jsxs("div",{className:"task-dependencies-controls__main",children:[a.jsx("div",{className:"task-dependencies-controls__row",children:a.jsxs("div",{className:"task-dependencies-segmented",role:"group","aria-label":"Tasks shown in graph",children:[a.jsx("button",{className:`task-dependencies-segmented__button ${R==="dependencies"?"task-dependencies-segmented__button--active":""}`,type:"button",title:"Show only tasks that have dependency links.",onClick:()=>O(J=>({...J,graphMode:"dependencies"})),children:"Linked tasks"}),a.jsx("button",{className:`task-dependencies-segmented__button ${R==="all"?"task-dependencies-segmented__button--active":""}`,type:"button",title:"Show every task, including tasks without dependency links.",onClick:()=>O(J=>({...J,graphMode:"all"})),children:"Every task"})]})}),a.jsx("div",{className:"task-dependencies-controls__row",children:a.jsx("button",{className:`task-dependencies-toggle${N?" task-dependencies-toggle--active":""}`,type:"button","aria-pressed":N,onClick:()=>O(J=>({...J,hideDonePaths:!J.hideDonePaths})),"aria-label":"Show unfinished paths only",title:K,children:"Unfinished paths"})}),a.jsx("span",{className:"task-dependencies-controls__summary",children:ge}),a.jsxs("div",{className:"task-dependencies-tag-picker",ref:x,children:[a.jsx("input",{className:"task-dependencies-tag-picker__input",type:"search",value:B,placeholder:"+ tag","aria-label":"Add tag filter","aria-expanded":F,"aria-controls":"task-dependencies-tag-picker-list",title:"Filter the graph by tag.",onChange:J=>{$(J.target.value),V(!0)},onFocus:()=>V(!0),onKeyDown:De}),F?a.jsx("div",{id:"task-dependencies-tag-picker-list",className:"task-dependencies-tag-picker__menu",role:"listbox","aria-label":"Available tag filters",children:Z.length===0?a.jsx("span",{className:"task-dependencies-tag-picker__empty",children:ne.length===C.length?"No more tags":"No matching tags"}):Z.map(J=>a.jsxs("button",{className:"task-dependencies-tag-picker__option",type:"button",role:"option","aria-selected":"false",onMouseDown:ke=>ke.preventDefault(),onClick:()=>oe(J.name),children:[a.jsx("span",{className:"task-dependencies-tag-picker__option-name",children:J.name}),a.jsx("span",{className:"task-dependencies-tag-picker__option-count",children:J.count})]},J.name))}):null]})]}),fe?a.jsxs("div",{className:"task-dependencies-controls__tags-row",children:[a.jsx("span",{className:"task-dependencies-controls__label",children:"Tags"}),a.jsx("div",{className:"task-dependencies-tags","aria-label":"Tag filters",children:a.jsxs("div",{className:"task-dependencies-selected-tags","aria-label":"Selected tag filters",children:[q.map(J=>a.jsx(pn,{className:"task-dependencies-tag-filter",onRemove:()=>se(J.name),removeLabel:`Remove ${J.name} filter`,children:J.name},J.name)),a.jsx("button",{className:"task-dependencies-tags__clear",type:"button",onClick:Se,children:"Clear"})]})})]}):null]}),a.jsx("div",{className:"task-dependencies-canvas","aria-label":"Task dependency graph",children:H.nodes.length===0?a.jsxs("div",{className:"task-dependencies-empty",children:[a.jsx(b,{size:"3",weight:"semibold",children:"No tasks match this graph"}),a.jsx(b,{tone:"muted",children:"Adjust the task scope or tag filters to show more tasks."})]}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"task-dependencies-toolbar","aria-label":"Dependency graph controls",children:[a.jsx("button",{className:"task-dependencies-toolbar__button",type:"button",onClick:()=>qt(-_x),"aria-label":"Zoom out",title:"Zoom out",children:a.jsx(C1,{size:16,strokeWidth:1.8})}),a.jsxs("span",{className:"task-dependencies-toolbar__zoom",children:[Math.round(_*100),"%"]}),a.jsx("button",{className:"task-dependencies-toolbar__button",type:"button",onClick:()=>qt(_x),"aria-label":"Zoom in",title:"Zoom in",children:a.jsx(k1,{size:16,strokeWidth:1.8})}),a.jsx("button",{className:"task-dependencies-toolbar__button",type:"button",onClick:et,"aria-label":"Reset zoom",title:"Reset zoom",children:a.jsx(JC,{size:16,strokeWidth:1.8})})]}),a.jsx("div",{ref:p,className:`task-dependencies-viewport${E?" task-dependencies-viewport--panning":""}`,onWheel:wt,onPointerDown:he,onPointerMove:W,onPointerUp:me,onPointerCancel:me,children:a.jsxs("div",{className:"task-dependencies-graph",style:{width:H.width,height:H.height,transform:`translate(${j.x}px, ${j.y}px) scale(${_})`},children:[a.jsx(t2,{connections:H.connections,width:H.width,height:H.height}),H.nodes.map(J=>a.jsx(XR,{node:J,status:ve.get(J.task.id)??J.task.status,hasActiveExecution:de.has(J.task.id)||M.has(J.task.id),onOpen:()=>h(`/tasks/task/${J.task.id}`)},J.task.id))]})})]})})]})}function XR({node:n,status:e,hasActiveExecution:r,onOpen:l}){const{task:c}=n,u=Z_(e,r),h=c.assigneeActor?.slug,g=!!(h&&(e===Te.IN_PROGRESS||e===Te.FOR_REVIEW));return a.jsxs("button",{className:`dependency-task-card dependency-task-card--${e.toLowerCase().replaceAll("_","-")}`,type:"button",onClick:l,style:{left:n.x,top:n.y,height:n.height},children:[a.jsxs("span",{className:"dependency-task-card__content",children:[a.jsx("span",{className:"dependency-task-card__title",children:c.name}),g?a.jsxs("span",{className:"dependency-task-card__assignee",children:["@",h]}):null,u?a.jsx("span",{className:"dependency-task-card__status-row",children:a.jsx(pn,{color:u.color,className:"dependency-task-card__status-chip",children:u.label})}):null]}),a.jsxs("span",{className:"dependency-task-card__meta",children:[e===Te.DONE?a.jsx(ZR,{}):null,r?a.jsx("span",{className:"dependency-task-card__spinner","aria-label":"Active execution",title:"Active execution"}):null]})]})}function ZR(){return a.jsx("span",{className:"dependency-run-status-icon dependency-run-status-icon--success","aria-label":"Done",children:"✓"})}function Z_(n,e=!1){return e&&n===Te.NOT_STARTED?Jh(Te.IN_PROGRESS):n===Te.IN_PROGRESS||n===Te.FOR_REVIEW?Jh(n):null}function WR(){try{const n=localStorage.getItem(X_);if(!n)return hl;const e=JSON.parse(n);return{graphMode:e2(e.graphMode)?e.graphMode:hl.graphMode,hideDonePaths:typeof e.hideDonePaths=="boolean"?e.hideDonePaths:hl.hideDonePaths,selectedTagNames:Array.isArray(e.selectedTagNames)?e.selectedTagNames.filter(r=>typeof r=="string"):hl.selectedTagNames}}catch(n){return console.error("Failed to load dependency view preferences:",n),hl}}function JR(n){try{localStorage.setItem(X_,JSON.stringify(n))}catch(e){console.error("Failed to save dependency view preferences:",e)}}function e2(n){return n==="dependencies"||n==="all"}function t2({connections:n,width:e,height:r}){return a.jsxs("svg",{className:"task-dependencies-connections",width:e,height:r,viewBox:`0 0 ${e} ${r}`,"aria-hidden":"true",children:[a.jsx("defs",{children:a.jsx("marker",{id:"task-dependencies-connection-arrow",markerWidth:"8",markerHeight:"8",refX:"7",refY:"4",orient:"auto",markerUnits:"strokeWidth",children:a.jsx("path",{className:"task-dependencies-connection-arrow",d:"M 0 0 L 8 4 L 0 8 Z"})})}),n.map(l=>{const c=Math.max(80,l.endX-l.startX),u=Math.min(140,c*.5);return a.jsx("path",{d:`M ${l.startX} ${l.startY} C ${l.startX+u} ${l.startY}, ${l.endX-u} ${l.endY}, ${l.endX} ${l.endY}`,className:"task-dependencies-connection",markerEnd:"url(#task-dependencies-connection-arrow)"},`${l.fromTaskId}-${l.toTaskId}`)})]})}function n2(n,e,r,l,c){const u=new Map(n.map(R=>[R.id,R])),h=new Set(c.includeAllTasks?n.map(R=>R.id):[]);c.focusedTaskId&&u.has(c.focusedTaskId)&&h.add(c.focusedTaskId);for(const R of n){const N=R.dependsOnIds.filter(C=>u.has(C));if(N.length!==0){h.add(R.id);for(const C of N)h.add(C)}}if(h.size===0)return{nodes:[],connections:[],width:0,height:0};if(c.hideDonePaths&&r2(h,u,e,c.focusedTaskId),h.size===0)return{nodes:[],connections:[],width:0,height:0};const g=new Map(n.map((R,N)=>[R.id,N])),p=new Map,y=new Set,v=R=>{const N=p.get(R);if(N!==void 0)return N;if(y.has(R))return 0;y.add(R);const L=u.get(R)?.dependsOnIds.filter(B=>h.has(B)).map(B=>v(B))??[];y.delete(R);const U=L.length===0?0:Math.max(...L)+1;return p.set(R,U),U};for(const R of h)v(R);o2(h,u,p);const S=new Map;for(const R of h){const N=p.get(R)??0,C=S.get(N)??[];C.push(R),S.set(N,C)}for(const[R,N]of S)N.sort((C,L)=>{const U=u.get(C),B=u.get(L),$=Tx(U,g),F=Tx(B,g);return $!==F?$-F:(g.get(C)??0)-(g.get(L)??0)}),S.set(R,N);const x=[],_=new Map,k=Array.from(S.keys()).sort((R,N)=>R-N),j=new Map;for(const[R,N]of S){const C=i2(N,u,e,r,l);j.set(R,C)}const w=Math.max(...Array.from(j.values()));for(const R of k){const N=S.get(R)??[],C=j.get(R)??0,L=Math.max(0,(w-C)/2);let U=dc+L;N.forEach(B=>{const $=u.get(B);if(!$)return;const F=J_($,e,r,l),V={task:$,layer:R,x:dc+R*(vl+bx),y:U,height:F};x.push(V),_.set(B,V),U+=F+Q_})}const E=[];for(const R of x)for(const N of R.task.dependsOnIds){const C=_.get(N);C&&E.push({fromTaskId:N,toTaskId:R.task.id,startX:C.x+vl,startY:C.y+C.height/2,endX:R.x,endY:R.y+R.height/2})}const z=k.at(-1)??0,D=dc*2+vl+z*(vl+bx),O=dc*2+w;return{nodes:x,connections:E,width:D,height:O}}function s2(n,e){const r=new Map;for(const l of n)for(const c of l.tags)r.set(c.name,(r.get(c.name)??0)+1);for(const l of e)r.has(l.name)||r.set(l.name,0);return Array.from(r.entries()).map(([l,c])=>({name:l,count:c})).sort((l,c)=>l.name.localeCompare(c.name))}function a2(n,e){if(e.length===0)return n;const r=new Set(e);return n.filter(l=>l.tags.some(c=>r.has(c.name)))}function r2(n,e,r,l){const c=new Map,u=new Map;for(const h of n){const g=e.get(h);if(!g)continue;const p=g.dependsOnIds.filter(y=>n.has(y));c.set(h,p);for(const y of p){const v=u.get(y)??[];v.push(h),u.set(y,v)}}for(const h of Array.from(n)){if(h===l||!W_(h,e,r))continue;jx(h,c,e,r)||jx(h,u,e,r)||n.delete(h)}}function jx(n,e,r,l){const c=new Set([n]),u=[...e.get(n)??[]];for(;u.length>0;){const h=u.pop();if(!(!h||c.has(h))){if(c.add(h),!W_(h,r,l))return!0;u.push(...e.get(h)??[])}}return!1}function W_(n,e,r){const l=e.get(n);return(r.get(n)??l?.status)===Te.DONE}function i2(n,e,r,l,c){return n.reduce((u,h,g)=>{const p=e.get(h),y=p?J_(p,r,l,c):K_;return u+y+(g>0?Q_:0)},0)}function J_(n,e,r,l){const c=e.get(n.id)??n.status,u=r.has(n.id)||l.has(n.id);return n.assigneeActor?.slug&&(c===Te.IN_PROGRESS||c===Te.FOR_REVIEW)?VR:Z_(c,u)?FR:K_}function l2(n){return n.kind.startsWith("execution.")?n.kind!=="execution.stopped"&&n.kind!=="execution.history.added"&&n.kind!=="execution.unclaimed":!1}function Tx(n,e){return!n||n.dependsOnIds.length===0?Number.MAX_SAFE_INTEGER:Math.min(...n.dependsOnIds.map(r=>e.get(r)??Number.MAX_SAFE_INTEGER))}function o2(n,e,r){const l=new Map;for(const u of n){const h=e.get(u);if(h)for(const g of h.dependsOnIds){if(!n.has(g))continue;const p=l.get(g)??[];p.push(u),l.set(g,p)}}let c=!0;for(;c;){c=!1;for(const u of n){const h=l.get(u);if(!h||h.length===0)continue;const g=Math.min(...h.map(v=>r.get(v)??0)),p=Math.max(0,g-1),y=r.get(u)??0;p>y&&(r.set(u,p),c=!0)}}}function c2(n,e,r){const l=r?n.nodes.find(c=>c.task.id===r):void 0;return l?eS(l,e):{x:0,y:0}}function eS(n,e){return e?{x:e.clientWidth/2-n.x-vl/2,y:e.clientHeight/2-n.y-n.height/2}:{x:0,y:0}}function wx(n){return Math.min(KR,Math.max(YR,Number(n.toFixed(2))))}const kx=100,u2=()=>{const[n,e]=d.useState([]),[r,l]=d.useState({}),[c,u]=d.useState([]),[h,g]=d.useState(!1),[p,y]=d.useState(null),v=d.useCallback(N=>{l(C=>({...C,[N.id]:N})),u(C=>C.some(U=>U.id===N.id)?C.map(U=>U.id===N.id?N:U):[N,...C])},[]),S=d.useCallback(N=>{e(C=>C.find(U=>U.id===N.id)?C.map(U=>U.id===N.id?N:U):[N,...C])},[]),x=d.useCallback(async()=>{g(!0),y(null);try{const N=await Kr.ScheduledTasksController_listScheduledTasks({page:1,limit:kx});e(N.items),N.items.forEach(C=>{C.taskBlueprint&&v(C.taskBlueprint)})}catch(N){y(N instanceof Error?N.message:"Failed to load scheduled tasks")}finally{g(!1)}},[v]),_=d.useCallback(async N=>{const C=await Kr.ScheduledTasksController_getScheduledTask({id:N});return S(C),C.taskBlueprint&&v(C.taskBlueprint),C},[S,v]),k=d.useCallback(async N=>{const C=await dl.TaskBlueprintsController_getTaskBlueprint({id:N});return v(C),C},[v]),j=d.useCallback(async()=>{y(null);try{const N=await dl.TaskBlueprintsController_listTaskBlueprints({page:1,limit:kx});u(N.items),N.items.forEach(C=>v(C))}catch(N){y(N instanceof Error?N.message:"Failed to load task blueprints")}},[v]),w=d.useCallback(async N=>{const C=await dl.TaskBlueprintsController_createTaskBlueprint({body:N});return v(C),C},[v]),E=d.useCallback(async(N,C)=>{const L=await dl.TaskBlueprintsController_updateTaskBlueprint({id:N,body:C});return v(L),L},[v]),z=d.useCallback(async N=>{const C=await Kr.ScheduledTasksController_createScheduledTask({body:N});return S(C),C.taskBlueprint&&v(C.taskBlueprint),C},[S,v]),D=d.useCallback(async(N,C)=>{const L=await Kr.ScheduledTasksController_updateScheduledTask({id:N,body:C});return S(L),L.taskBlueprint&&v(L.taskBlueprint),L},[S,v]),O=d.useCallback(async N=>{await Kr.ScheduledTasksController_deleteScheduledTask({id:N}),e(C=>C.filter(L=>L.id!==N))},[]),R=d.useCallback(async N=>{await dl.TaskBlueprintsController_deleteTaskBlueprint({id:N}),u(C=>C.filter(L=>L.id!==N)),l(C=>{const L={...C};return delete L[N],L})},[]);return d.useEffect(()=>{x()},[x]),{scheduledTasks:n,blueprintsById:r,blueprints:c,isLoading:h,error:p,loadScheduledTasks:x,loadScheduledTask:_,loadBlueprint:k,loadBlueprints:j,createBlueprint:w,updateBlueprint:E,createScheduledTask:z,updateScheduledTask:D,deleteScheduledTask:O,deleteBlueprint:R}},tS=d.createContext(null);function d2({children:n}){const{scheduledTasks:e,blueprints:r,blueprintsById:l,isLoading:c,error:u,loadScheduledTasks:h,loadScheduledTask:g,loadBlueprint:p,loadBlueprints:y,createBlueprint:v,updateBlueprint:S,createScheduledTask:x,updateScheduledTask:_,deleteScheduledTask:k,deleteBlueprint:j}=u2(),[w,E]=d.useState(""),z=d.useMemo(()=>({scheduledTasks:e,blueprints:r,blueprintsById:l,isLoading:c,error:u,sectionTitle:w,setSectionTitle:E,loadScheduledTasks:h,loadScheduledTask:g,loadBlueprint:p,loadBlueprints:y,createBlueprint:v,updateBlueprint:S,createScheduledTask:x,updateScheduledTask:_,deleteScheduledTask:k,deleteBlueprint:j}),[e,r,l,c,u,w,h,g,p,y,v,S,x,_,k,j]);return a.jsx(tS.Provider,{value:z,children:n})}function Lf(){const n=d.useContext(tS);if(!n)throw new Error("useScheduledTasksCtx must be used within <ScheduledTasksProvider>");return n}const Rc=n=>String(n).padStart(2,"0"),h2=n=>{const[e="0",r="0"]=n.split(":"),l=Number(e),c=Number(r);return{hour:Number.isFinite(l)?l:0,minute:Number.isFinite(c)?c:0}},f2=(n,e,r)=>{if(!n||n==="*")return[];const l=n.split(","),c=[];for(const u of l){const h=u.trim();if(h)if(h.includes("-")){const[g,p]=h.split("-"),y=Number(g),v=Number(p);if(!Number.isFinite(y)||!Number.isFinite(v))continue;const S=Math.max(e,Math.min(y,v)),x=Math.min(r,Math.max(y,v));for(let _=S;_<=x;_+=1)c.push(_)}else{const g=Number(h);Number.isFinite(g)&&g>=e&&g<=r&&c.push(g)}}return Array.from(new Set(c)).sort((u,h)=>u-h)},p2=n=>{if(n.preset==="custom")return n.cronExpression.trim();const{hour:e,minute:r}=h2(n.time),l=Rc(r),c=Rc(e);if(n.preset==="daily")return`${l} ${c} * * *`;if(n.preset==="weekly"){const h=n.days.length?n.days.join(","):"1";return`${l} ${c} * * ${h}`}const u=Math.min(Math.max(n.dayOfMonth,1),28);return`${l} ${c} ${u} * *`},nS=n=>{const e=n.trim(),r=e.split(/\s+/);if(r.length<5)return{preset:"custom",time:"09:00",days:[],dayOfMonth:1,cronExpression:e};const[l,c,u,h,g]=r,p=`${Rc(Number(c))}:${Rc(Number(l))}`;if(u==="*"&&h==="*"&&g==="*")return{preset:"daily",time:p,days:[],dayOfMonth:1,cronExpression:e};if(u==="*"&&h==="*"&&g!=="*"){const y=f2(g,0,7).map(v=>v===7?0:v);return y.length?{preset:"weekly",time:p,days:y,dayOfMonth:1,cronExpression:e}:{preset:"custom",time:p,days:[],dayOfMonth:1,cronExpression:e}}if(u!=="*"&&h==="*"&&g==="*"){const y=Number(u);return{preset:"monthly",time:p,days:[],dayOfMonth:Number.isFinite(y)?y:1,cronExpression:e}}return{preset:"custom",time:"09:00",days:[],dayOfMonth:1,cronExpression:e}},sS=n=>{if(n.preset==="custom")return`Cron: ${n.cronExpression}`;if(n.preset==="daily")return`Daily at ${n.time}`;if(n.preset==="weekly"){const e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return`Weekly on ${(n.days.length?n.days:[1]).map(c=>e[c]??"").join(", ")} at ${n.time}`}return`Monthly on day ${n.dayOfMonth} at ${n.time}`},g2=/^[\d*/,\-]+$/,m2=n=>{const e=n.trim().split(/\s+/);return e.length!==5?"Cron must have 5 fields: minute hour day-of-month month day-of-week.":e.some(r=>!r||!g2.test(r))?"Cron can only include digits, *, /, -, and commas.":null};function y2({blueprints:n,onCancel:e,onSave:r,onRequestNewBlueprint:l}){const[c,u]=d.useState(""),[h,g]=d.useState(null),[p,y]=d.useState(0),v=d.useMemo(()=>{const x=c.trim().toLowerCase();return x?n.filter(_=>[_.name,_.description||"",_.assigneeActor?.displayName||"",_.assigneeActor?.slug||""].join(" ").toLowerCase().includes(x)):n},[n,c]),S=async()=>h?r(h):!1;return a.jsx(bt,{title:"Create Schedule",onCancel:e,onSave:S,children:a.jsxs("div",{className:"new-schedule-pop",children:[h?a.jsxs("div",{className:"new-schedule-pop__selected",onClick:()=>g(null),children:[a.jsx(Fe,{size:"md",name:h.name,src:h.assigneeActor?.avatarUrl||void 0}),a.jsxs("div",{className:"new-schedule-pop__selected-meta",children:[a.jsx(b,{weight:"medium",size:"3",children:h.name}),a.jsx(b,{tone:"muted",size:"2",children:h.description||"No description"})]}),a.jsx(b,{size:"2",tone:"muted",children:"tap to change"})]}):a.jsxs(a.Fragment,{children:[a.jsx("input",{className:"new-schedule-pop__input",placeholder:"Search blueprint by name...",value:c,onChange:x=>u(x.target.value),onKeyDown:x=>{x.key==="ArrowDown"&&(x.preventDefault(),y(_=>Math.min(_+1,v.length-1))),x.key==="ArrowUp"&&(x.preventDefault(),y(_=>Math.max(_-1,0))),x.key==="Enter"&&v[p]&&(x.preventDefault(),g(v[p]))}}),a.jsx("div",{className:"new-schedule-pop__list",children:v.length===0?a.jsx("div",{className:"new-schedule-pop__empty",children:a.jsx(b,{tone:"muted",size:"2",children:"No blueprints found"})}):v.map((x,_)=>a.jsxs("div",{className:`new-schedule-pop__item ${_===p?"new-schedule-pop__item--highlighted":""}`,onMouseEnter:()=>y(_),onClick:()=>g(x),children:[a.jsx(Fe,{size:"sm",name:x.name,src:x.assigneeActor?.avatarUrl||void 0}),a.jsxs("div",{className:"new-schedule-pop__item-meta",children:[a.jsx(b,{size:"2",weight:"medium",children:x.name}),a.jsx(b,{size:"1",tone:"muted",children:x.assigneeActor?Ht(x.assigneeActor):"Unassigned"})]})]},x.id))})]}),a.jsx(re,{size:"sm",variant:"secondary",onClick:l,children:"+ New blueprint"})]})})}function v2(){const n=ze(),{scheduledTasks:e,blueprints:r,isLoading:l,error:c,createBlueprint:u,createScheduledTask:h,deleteScheduledTask:g,loadBlueprints:p}=Lf(),{setSectionTitle:y}=Vs(),{showError:v}=mn(),S=zt(),[x,_]=d.useState(!1),[k,j]=d.useState(!1),w=d.useRef(!1);xt(),d.useEffect(()=>{y("Schedule")},[y]),d.useEffect(()=>{p().catch(v)},[p,v]);const E=d.useMemo(()=>e.filter(N=>N.enabled).length,[e]),z=async N=>{try{const C=await u({name:N.title,description:N.description});return _(!1),n(`/tasks/blueprints/${C.id}`),!0}catch(C){return v(C),!1}},D=async N=>{if(w.current)return!1;w.current=!0;try{const C=await h({taskBlueprintId:N.id,cronExpression:"0 9 * * *",enabled:!1});return j(!1),n(`/tasks/schedule/${C.id}`),!0}catch(C){return v(C),!1}finally{w.current=!1}},O=d.useMemo(()=>r.map(N=>({id:N.id,name:N.name,description:N.description,status:Te.NOT_STARTED,assignee:null,assigneeActor:N.assigneeActor??void 0,sessionId:null,comments:[],artefacts:[],inputRequests:[],tags:N.tags,createdByActor:N.createdByActor,dependsOnIds:N.dependsOnIds,createdAt:N.createdAt,updatedAt:N.updatedAt})),[r]),R=async N=>{if(window.confirm("Delete this schedule?"))try{await g(N.id)}catch(C){v(C)}};return a.jsxs("div",{className:"scheduled-tasks-page",children:[c?a.jsx(b,{tone:"muted",children:c}):null,a.jsx("section",{className:"scheduled-tasks-page__section",children:l?a.jsx(b,{tone:"muted",children:"Loading scheduled tasks..."}):a.jsx(_e,{title:"Schedules",action:a.jsxs("div",{className:"scheduled-tasks-page__header-actions",children:[a.jsxs(b,{size:"2",tone:"muted",children:[E," active schedules"]}),a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>j(!0),children:"+ Add schedule"})]}),children:e.length===0?a.jsxs($e,{className:"scheduled-tasks-page__empty",children:[a.jsx(b,{weight:"medium",children:"No schedules yet"}),a.jsx(b,{tone:"muted",children:"Create a schedule from a blueprint."})]}):e.map(N=>{const C=N.taskBlueprint,L=sS(nS(N.cronExpression));return a.jsxs(je,{onClick:()=>n(`/tasks/schedule/${N.id}`),tags:[{label:N.enabled?"enabled":"paused",color:N.enabled?"green":"gray"}],topRight:a.jsxs(b,{size:"1",tone:"muted",children:["Next: ",new Date(N.nextRunAt).toLocaleString()]}),trailing:a.jsx(re,{size:"sm",variant:"danger",onClick:U=>{U.stopPropagation(),R(N)},children:"Delete"}),children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:C?.name||"Untitled blueprint"}),a.jsx(b,{as:"span",size:"2",tone:"muted",children:` ${L}`})]},N.id)})})}),a.jsx("section",{className:"scheduled-tasks-page__section",children:O.length===0?a.jsxs($e,{className:"scheduled-tasks-page__empty",children:[a.jsx(b,{weight:"medium",children:"No blueprints yet"}),a.jsx(b,{tone:"muted",children:"Create a blueprint to reuse task definitions."})]}):S?a.jsx(_e,{title:"Blueprints",action:a.jsxs("div",{className:"scheduled-tasks-page__header-actions",children:[a.jsxs(b,{size:"2",tone:"muted",children:[r.length," blueprints"]}),a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>_(!0),children:"+ New blueprint"})]}),children:a.jsx("div",{className:"scheduled-tasks-page__blueprints-board",children:O.map(N=>a.jsx(kc,{task:N,onClick:()=>n(`/tasks/blueprints/${N.id}`)},N.id))})}):a.jsx(_e,{title:"Blueprints",action:a.jsxs("div",{className:"scheduled-tasks-page__header-actions",children:[a.jsxs(b,{size:"2",tone:"muted",children:[r.length," blueprints"]}),a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>_(!0),children:"+ New blueprint"})]}),children:O.map(N=>a.jsx(_l,{task:N,onClick:()=>n(`/tasks/blueprints/${N.id}`)},N.id))})}),x?a.jsx(Wh,{onCancel:()=>_(!1),onSave:z}):null,k?a.jsx(y2,{blueprints:r,onCancel:()=>j(!1),onSave:D,onRequestNewBlueprint:()=>{j(!1),_(!0)}}):null]})}const x2=[{value:0,label:"Sun"},{value:1,label:"Mon"},{value:2,label:"Tue"},{value:3,label:"Wed"},{value:4,label:"Thu"},{value:5,label:"Fri"},{value:6,label:"Sat"}];function b2(){const{scheduleId:n}=nn(),e=ze(),{scheduledTasks:r,blueprintsById:l,loadScheduledTask:c,loadBlueprint:u,updateScheduledTask:h}=Lf(),{setSectionTitle:g}=Vs(),{showError:p,showToast:y}=mn(),[v,S]=d.useState("daily"),[x,_]=d.useState("09:00"),[k,j]=d.useState([1]),[w,E]=d.useState(1),[z,D]=d.useState("0 9 * * *"),[O,R]=d.useState(!1),[N,C]=d.useState(!1),[L,U]=d.useState(null),B=r.find(q=>q.id===n),$=B?.taskBlueprint||(B?l[B.taskBlueprintId]:void 0);xt(),d.useEffect(()=>{n&&(B||c(n).catch(p))},[n,B,c,p]),d.useEffect(()=>{B&&!B.taskBlueprint&&u(B.taskBlueprintId).catch(p)},[B,u,p]),d.useEffect(()=>{$?.name?g($.name):g("Schedule")},[$,g]),d.useEffect(()=>{if(!B)return;const q=nS(B.cronExpression);S(q.preset),_(q.time),j(q.days.length?q.days:[1]),E(q.dayOfMonth||1),D(q.cronExpression||B.cronExpression),R(B.enabled)},[B]);const F=d.useMemo(()=>p2({preset:v,time:x,days:k,dayOfMonth:w,cronExpression:z}),[v,x,k,w,z]);if(!B)return a.jsxs("div",{className:"scheduled-task-detail-page",children:[a.jsx(b,{tone:"muted",children:"Scheduled task not found."}),a.jsx(re,{variant:"secondary",onClick:()=>e("/tasks/schedule"),children:"Back to schedules"})]});const V=sS({preset:v,time:x,days:k,dayOfMonth:w,cronExpression:F}),ne=q=>{j(Z=>{if(Z.includes(q)){const le=Z.filter(de=>de!==q);return le.length?le:Z}return[...Z,q].sort((le,de)=>le-de)})},ye=async()=>{if(v==="custom"){const q=m2(F);if(q){U(q);return}}U(null),C(!0);try{await h(B.id,{cronExpression:F,enabled:O}),y("Schedule saved","success")}catch(q){p(q)}finally{C(!1)}};return a.jsxs("div",{className:"scheduled-task-detail-page",children:[a.jsx(_e,{title:"Task",className:"scheduled-task-detail-page__section",children:a.jsxs(je,{onClick:()=>e(`/tasks/blueprints/${B.taskBlueprintId}`),tags:[{label:"blueprint",color:"blue"}],trailing:a.jsx(b,{size:"2",tone:"muted",children:"Open"}),children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:$?.name||"Untitled blueprint"}),a.jsx(b,{as:"span",tone:"muted",size:"2",children:` ${$?.description||"No description"}`})]})}),a.jsxs(_e,{title:"Schedule",className:"scheduled-task-detail-page__section",children:[a.jsxs("div",{className:"scheduled-task-detail-page__controls",children:[a.jsxs("label",{className:"scheduled-task-detail-page__label",children:[a.jsx(b,{size:"2",tone:"muted",children:"Frequency"}),a.jsxs("select",{className:"scheduled-task-detail-page__select",value:v,onChange:q=>S(q.target.value),children:[a.jsx("option",{value:"daily",children:"Daily"}),a.jsx("option",{value:"weekly",children:"Weekly"}),a.jsx("option",{value:"monthly",children:"Monthly"}),a.jsx("option",{value:"custom",children:"Custom (cron)"})]})]}),v!=="custom"?a.jsxs("label",{className:"scheduled-task-detail-page__label",children:[a.jsx(b,{size:"2",tone:"muted",children:"Time"}),a.jsx("input",{className:"scheduled-task-detail-page__input",type:"time",value:x,onChange:q=>_(q.target.value)})]}):null,v==="weekly"?a.jsxs("div",{className:"scheduled-task-detail-page__label",children:[a.jsx(b,{size:"2",tone:"muted",children:"Days"}),a.jsx("div",{className:"scheduled-task-detail-page__day-grid",children:x2.map(q=>a.jsx("button",{type:"button",className:`scheduled-task-detail-page__day ${k.includes(q.value)?"is-selected":""}`,onClick:()=>ne(q.value),children:q.label},q.value))})]}):null,v==="monthly"?a.jsxs("label",{className:"scheduled-task-detail-page__label",children:[a.jsx(b,{size:"2",tone:"muted",children:"Date"}),a.jsx("input",{className:"scheduled-task-detail-page__input",type:"date",value:`2026-01-${String(Math.min(Math.max(w,1),28)).padStart(2,"0")}`,onChange:q=>{const Z=new Date(`${q.target.value}T00:00:00`).getDate();Number.isFinite(Z)&&E(Math.min(Math.max(Z,1),28))}})]}):null,v==="custom"?a.jsxs("label",{className:"scheduled-task-detail-page__label",children:[a.jsx(b,{size:"2",tone:"muted",children:"Cron expression"}),a.jsx("input",{className:"scheduled-task-detail-page__input",value:z,onChange:q=>{D(q.target.value),L&&U(null)},placeholder:"0 9 * * 1-5"}),a.jsx(b,{size:"1",tone:"muted",children:"Use 5 fields: minute hour day-of-month month day-of-week."})]}):null,a.jsx(b,{size:"1",tone:"muted",children:"Schedules run using the server timezone."}),L?a.jsx(Dt,{size:"1",children:L}):null,a.jsxs("div",{className:"scheduled-task-detail-page__toggle-row",children:[a.jsx(b,{size:"2",tone:"muted",children:"Status"}),a.jsxs("div",{className:"scheduled-task-detail-page__toggle-buttons",children:[a.jsx(re,{size:"sm",variant:O?"primary":"secondary",onClick:()=>R(!0),children:"On"}),a.jsx(re,{size:"sm",variant:O?"secondary":"primary",onClick:()=>R(!1),children:"Off"})]})]})]}),a.jsx(je,{topRight:a.jsxs(b,{size:"1",tone:"muted",children:["Next: ",new Date(B.nextRunAt).toLocaleString()]}),children:a.jsx(b,{as:"span",size:"2",children:V})}),a.jsx(je,{children:a.jsx(b,{as:"span",size:"2",style:"mono",children:F})})]}),a.jsxs(_e,{className:"scheduled-task-detail-page__actions",children:[a.jsx(re,{size:"lg",variant:"primary",onClick:ye,disabled:N,children:N?"Saving...":"Save schedule"}),a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e("/tasks/schedule"),children:"Back to schedules"})]})]})}function _2(){const{taskBlueprintId:n}=nn(),{user:e}=ln(),{showError:r}=mn(),{blueprints:l,blueprintsById:c,loadBlueprint:u,updateBlueprint:h,deleteBlueprint:g}=Lf(),{setSectionTitle:p,tasks:y}=Vs(),v=d.useMemo(()=>{if(n)return c[n]||l.find(_=>_.id===n)},[l,c,n]);d.useEffect(()=>{!n||v||u(n).catch(r)},[n,v,u,r]);const S=d.useMemo(()=>{if(v)return{id:v.id,name:v.name,description:v.description,status:Te.NOT_STARTED,assignee:null,assigneeActor:v.assigneeActor??void 0,sessionId:null,comments:[],artefacts:[],inputRequests:[],tags:v.tags,createdByActor:v.createdByActor,dependsOnIds:v.dependsOnIds,createdAt:v.createdAt,updatedAt:v.updatedAt}},[v]),x={addComment:async()=>{throw new Error("Blueprints do not support comments.")},deleteTask:async({taskId:_})=>{await g(_)},assignTask:async({taskId:_,assigneeActorId:k})=>{await h(_,{assigneeActorId:k})},assignTaskToMe:async({taskId:_})=>{if(!e?.actorId)throw new Error("No user session found.");await h(_,{assigneeActorId:e.actorId})},answerInputRequest:async()=>{throw new Error("Blueprints do not support input requests.")},changeStatus:async()=>{throw new Error("Blueprints do not have status updates.")},addTag:async({taskId:_,tag:k})=>{const j=v?.tags?.map(E=>E.name)??[],w=j.includes(k.name)?j:[...j,k.name];await h(_,{tagNames:w})},removeTag:async({taskId:_,tagId:k})=>{const w=(v?.tags??[]).filter(E=>E.id!==k).map(E=>E.name);await h(_,{tagNames:w})},addDependency:async({taskId:_,dependencyTaskId:k})=>{const w=[...v?.dependsOnIds??[],k];await h(_,{dependsOnIds:w})},removeDependency:async({taskId:_,dependencyTaskId:k})=>{const w=(v?.dependsOnIds??[]).filter(E=>E!==k);await h(_,{dependsOnIds:w})}};return a.jsx(Y_,{task:S,backPath:"/tasks/schedule",setSectionTitle:p,handlers:x,allTasks:y})}function S2(){return a.jsx(d2,{children:a.jsx(Wt,{})})}function j2(){return a.jsx(uR,{children:a.jsx(ys,{children:a.jsxs(we,{element:a.jsx(jR,{}),children:[a.jsx(we,{index:!0,element:a.jsx(Hs,{to:"/tasks/not-started",replace:!0})}),a.jsx(we,{path:"not-started",element:a.jsx(cc,{status:Te.NOT_STARTED})}),a.jsx(we,{path:"in-progress",element:a.jsx(cc,{status:Te.IN_PROGRESS})}),a.jsx(we,{path:"in-review",element:a.jsx(cc,{status:Te.FOR_REVIEW})}),a.jsx(we,{path:"done",element:a.jsx(cc,{status:Te.DONE})}),a.jsx(we,{path:"dependencies",element:a.jsx(Sx,{})}),a.jsx(we,{path:"dependencies/:taskId",element:a.jsx(Sx,{})}),a.jsx(we,{path:"task/:d",element:a.jsx(qR,{})}),a.jsxs(we,{element:a.jsx(S2,{}),children:[a.jsx(we,{path:"schedule",element:a.jsx(v2,{})}),a.jsx(we,{path:"schedule/:scheduleId",element:a.jsx(b2,{})}),a.jsx(we,{path:"blueprints/:taskBlueprintId",element:a.jsx(_2,{})})]})]})})})}function T2(){const{logout:n}=ln(),e=ze();return d.useEffect(()=>{(async()=>{try{await n()}finally{e("/login",{replace:!0})}})()},[n,e]),null}const w2=window.location.origin,aS=new as({baseUrl:w2,credentials:"include"}),Qa=aS.context;aS.context;const rS=Ta("/context"),Sl={CONTEXT_BLOCK_CREATED:"context.block.created",CONTEXT_BLOCK_UPDATED:"context.block.updated",CONTEXT_BLOCK_DELETED:"context.block.deleted"};function k2(){const[n,e]=d.useState([]),[r,l]=d.useState(!0),[c,u]=d.useState(null),[h,g]=d.useState(!1),p=x=>[...x].sort((_,k)=>{const j=new Date(_.updatedAt).getTime();return new Date(k.updatedAt).getTime()-j}),y=async()=>{try{l(!0),u(null);const x=await Qa.ContextController_listBlocks();e(p(x.items))}catch(x){u(x instanceof Error?x.message:"Failed to fetch context blocks"),console.error("Error fetching context blocks:",x)}finally{l(!1)}},v=()=>{const x=Gn(rS,{transports:["websocket","polling"],withCredentials:!0});return x.on("connect",()=>{console.log("Connected to context WebSocket"),x.emit("context.subscribe",{},_=>{_.ok?(console.log("Subscribed to context room:",_.room),g(!0)):(console.error("Failed to subscribe to context room"),g(!1))}),y()}),x.on("disconnect",()=>{console.log("Context WebSocket disconnected"),g(!1)}),x.on("connect_error",_=>{console.error("Context websocket connect_error",_.message)}),x.on(Sl.CONTEXT_BLOCK_CREATED,_=>{console.log("context.block.created",_),e(k=>k.some(j=>j.id===_.payload.id)?k:p([_.payload,...k]))}),x.on(Sl.CONTEXT_BLOCK_UPDATED,_=>{console.log("context.block.updated",_),e(k=>p(k.map(j=>j.id===_.payload.id?_.payload:j)))}),x.on(Sl.CONTEXT_BLOCK_DELETED,_=>{console.log("context.block.deleted",_),e(k=>k.filter(j=>j.id!==_.payload.blockId))}),()=>{x.emit("context.unsubscribe",{}),x.close()}},S=d.useCallback(async x=>{try{const _=await Qa.ContextController_getBlock({id:x});return e(k=>k.some(j=>j.id===_.id)?k:p([_,...k])),_}catch(_){return console.error("Failed to fetch block by ID",_),null}},[]);return d.useEffect(()=>(y(),v()),[]),{blocks:n,getBlockById:S,isLoading:r,error:c,isConnected:h,reload:y}}function E2(n){const[e,r]=d.useState(null),[l,c]=d.useState(!0),[u,h]=d.useState(null),[g,p]=d.useState(!1),y=d.useCallback(async()=>{try{c(!0),h(null);const v=await Qa.ContextController_getBlock({id:n});r(v),p(!1)}catch(v){h(v instanceof Error?v.message:"Failed to fetch context block"),console.error("Error fetching context block:",v)}finally{c(!1)}},[n]);return d.useEffect(()=>{n&&y()},[n,y]),d.useEffect(()=>{if(!n)return;const v=Gn(rS,{transports:["websocket","polling"],withCredentials:!0});return v.on("connect",()=>{console.log("Connected to context WebSocket (detail page)"),v.emit("context.subscribe",{blockId:n},S=>{S.ok?(console.log("Subscribed to context room (detail page):",S.room),y()):console.error("Failed to subscribe to context room (detail page)",S.error)})}),v.on("connect_error",S=>{console.error("Context detail websocket connect_error",S.message)}),v.on("disconnect",()=>{console.log("Context WebSocket disconnected (detail page)")}),v.on(Sl.CONTEXT_BLOCK_UPDATED,S=>{S.payload.id===n&&(console.log("context.block.updated (detail page)",S),y().catch(x=>console.error("Error refreshing block after update:",x)))}),v.on(Sl.CONTEXT_BLOCK_DELETED,S=>{S.payload.blockId===n&&(console.log("context.block.deleted (detail page)",S),p(!0),r(null))}),()=>{v.emit("context.unsubscribe",{blockId:n}),v.close()}},[n,y]),{block:e,isLoading:l,error:u,isDeleted:g}}const C2="thread:state",iS="context.hideThreadState";function N2(){try{return localStorage.getItem(iS)==="true"}catch{return!1}}const lS=d.createContext(null);function A2({children:n}){const{blocks:e,getBlockById:r,isLoading:l,error:c,isConnected:u,reload:h}=k2(),[g,p]=d.useState(""),[y,v]=d.useState(N2),S=d.useCallback(j=>{v(j);try{localStorage.setItem(iS,String(j))}catch{}},[]),{blocks:x,threadStateBlockCount:_}=d.useMemo(()=>{const j=E=>E.tags.some(z=>z.name===C2),w=e.filter(j).length;return{blocks:y?e.filter(E=>!j(E)):e,threadStateBlockCount:w}},[e,y]),k=d.useMemo(()=>({blocks:x,allBlocks:e,threadStateBlockCount:_,hideThreadState:y,setHideThreadState:S,getBlockById:r,isLoading:l,error:c,isConnected:u,reload:h,sectionTitle:g,setSectionTitle:p}),[x,e,_,y,S,r,l,c,u,h,g,p]);return a.jsx(lS.Provider,{value:k,children:n})}function Ll(){const n=d.useContext(lS);if(!n)throw new Error("useContextCtx must be used within <ContextProvider>");return n}function Mf(n){return typeof n=="string"?n:n&&typeof n=="object"&&"id"in n&&typeof n.id=="string"?n.id:null}const R2=6;function Ex(n,e){return n.order!==e.order?e.order-n.order:n.title.localeCompare(e.title)}function D2(n){const e=new Map;n.forEach(u=>{e.set(u.id,{block:u,children:[],latestUpdatedAt:new Date(u.updatedAt).getTime()})});const r=[];n.forEach(u=>{const h=e.get(u.id);if(!h)return;const g=Mf(u.parentId);if(!g){r.push(h);return}const p=e.get(g);if(!p){r.push(h);return}p.children.push(h)});const l=u=>{u.sort((h,g)=>Ex(h.block,g.block)),u.forEach(h=>l(h.children))};l(r);const c=u=>{if(u.children.length===0)return u.latestUpdatedAt;let h=u.latestUpdatedAt;return u.children.forEach(g=>{const p=c(g);p>h&&(h=p)}),u.latestUpdatedAt=h,h};return r.forEach(u=>{c(u)}),r.sort((u,h)=>{const g=h.latestUpdatedAt-u.latestUpdatedAt;return g!==0?g:Ex(u.block,h.block)}),r}function oS({nodes:n,depth:e,onOpenBlock:r,onAddChild:l,collapsedIds:c,onToggleNode:u,selectedBlockId:h,compact:g=!1}){return a.jsx("ul",{className:"context-tree__branch",role:e===0?"tree":"group",children:n.map(p=>{const y=p.children.length>0,v=y?!c.has(p.block.id):!1,S=Math.min(e,R2),x=h===p.block.id;return a.jsxs("li",{className:"context-tree__item",role:"treeitem","aria-expanded":y?v:void 0,children:[a.jsxs("div",{className:`context-tree__row ${x?"context-tree__row--selected":""} ${g?"context-tree__row--compact":""}`,style:{"--tree-depth":S},children:[y?a.jsx("button",{type:"button",className:"context-tree__toggle","aria-expanded":v,"aria-label":v?`Collapse ${p.block.title}`:`Expand ${p.block.title}`,onClick:()=>u(p.block.id),children:a.jsx("span",{className:"context-tree__marker","aria-hidden":"true",children:v?"▼":"►"})}):a.jsx("span",{className:"context-tree__spacer","aria-hidden":"true"}),a.jsxs("button",{type:"button",className:"context-tree__open",onClick:()=>r(p.block.id),children:[a.jsxs("div",{className:"context-tree__main",children:[a.jsx(b,{weight:x?"bold":"medium",size:g?"2":"3",tone:"default",className:"context-tree__title",children:p.block.title}),g?null:a.jsxs("div",{className:"context-tree__meta",children:[a.jsxs("span",{className:"context-tree__id",children:["#",p.block.id.slice(0,6)]}),a.jsx("span",{children:p.block.createdBy||"unknown"})]})]}),!g&&p.block.tags.length>0?a.jsxs("div",{className:"context-tree__tags","aria-label":"Block tags",children:[p.block.tags.slice(0,2).map(_=>a.jsx("span",{className:"context-tree__tag",children:_.name},`${p.block.id}-${_.id}`)),p.block.tags.length>2?a.jsxs("span",{className:"context-tree__tag context-tree__tag--count",children:["+",p.block.tags.length-2]}):null]}):null]}),l?a.jsx("button",{type:"button",className:"context-tree__add-child","aria-label":`Add child block under ${p.block.title}`,onClick:_=>{_.stopPropagation(),l(p.block.id)},children:"+"}):null]}),y&&v?a.jsx(oS,{nodes:p.children,depth:e+1,onOpenBlock:r,onAddChild:l,collapsedIds:c,onToggleNode:u,selectedBlockId:h,compact:g}):null]},p.block.id)})})}function Cx(n){const e=new Set,r=l=>{for(const c of l)c.children.length>0&&(e.add(c.block.id),r(c.children))};return r(n),e}function z2(n){let e=n.parentElement;for(;e;){const r=getComputedStyle(e).overflowY;if((r==="auto"||r==="scroll")&&e.scrollHeight>e.clientHeight)return e;e=e.parentElement}return null}function O2(n){const e=z2(n);if(!e)return;const r=n.getBoundingClientRect(),l=e.getBoundingClientRect();if(r.top>=l.top&&r.bottom<=l.bottom)return;const c=r.top+r.height/2,u=l.top+e.clientHeight/2;e.scrollTop+=c-u}function cS({blocks:n,onOpenBlock:e,onAddChild:r,selectedBlockId:l,compact:c=!1}){const u=d.useMemo(()=>D2(n),[n]),[h,g]=d.useState(()=>Cx(u)),p=d.useRef(!1);d.useEffect(()=>{!p.current&&u.length>0&&(g(Cx(u)),p.current=!0)},[u]);const y=d.useRef(null),v=d.useRef(void 0),S=d.useRef(void 0);d.useEffect(()=>{if(!l){v.current=void 0;return}if(v.current===l)return;const _=new Map;if(n.forEach(w=>{_.set(w.id,Mf(w.parentId))}),!_.has(l))return;v.current=l;const k=new Set;let j=_.get(l)??null;for(;j&&!k.has(j);)k.add(j),j=_.get(j)??null;k.size!==0&&g(w=>{const E=new Set(w);return k.forEach(z=>E.delete(z)),E})},[n,l]),d.useLayoutEffect(()=>{if(!l){S.current=void 0;return}if(S.current===l)return;const _=y.current?.querySelector(".context-tree__row--selected");_&&(S.current=l,O2(_))},[l,h,u]);const x=_=>{g(k=>{const j=new Set(k);return j.has(_)?j.delete(_):j.add(_),j})};return a.jsx("section",{ref:y,className:`context-tree ${c?"context-tree--compact":""}`,children:a.jsx(oS,{nodes:u,depth:0,onOpenBlock:e,onAddChild:r,collapsedIds:h,onToggleNode:x,selectedBlockId:l,compact:c})})}function L2(){const n=zt(),{sectionTitle:e,blocks:r,allBlocks:l,isLoading:c,error:u}=Ll(),h=ze(),g=It(),{id:p}=nn(),[y,v]=d.useState(!1),S=d.useMemo(()=>{if(!p||r.length===l.length)return r;const k=new Set(r.map(D=>D.id)),j=new Map(l.map(D=>[D.id,D])),w=new Set;let E=j.get(p);const z=new Set;for(;E&&!z.has(E.id);){z.add(E.id),k.has(E.id)||w.add(E.id);const D=Mf(E.parentId);E=D?j.get(D):void 0}return w.size===0?r:l.filter(D=>k.has(D.id)||w.has(D.id))},[r,l,p]),[x,_]=d.useState(!1);return d.useEffect(()=>{if(!n)return;const k=localStorage.getItem("context-sidebar-collapsed");v(k==="true")},[n]),d.useEffect(()=>{n&&localStorage.setItem("context-sidebar-collapsed",String(y))},[n,y]),d.useEffect(()=>{_(!1)},[g.pathname]),a.jsxs("div",{className:`context-layout ${n?"context-layout--desktop":"context-layout--mobile"}`,children:[!n&&a.jsxs(a.Fragment,{children:[x&&a.jsx("div",{className:"context-layout__drawer-overlay",onClick:()=>_(!1)}),a.jsxs("aside",{className:`context-layout__drawer ${x?"context-layout__drawer--open":""}`,children:[a.jsxs("div",{className:"context-layout__drawer-header",children:[a.jsx(b,{size:"4",weight:"bold",children:"taico"}),a.jsx("button",{className:"context-layout__drawer-close",onClick:()=>_(!1),"aria-label":"Close menu",children:"✕"})]}),a.jsx("nav",{className:"context-layout__drawer-nav",children:Bs.map(k=>{const j=k.path===$c(g.pathname,Bs);return a.jsxs(vs,{to:k.path,className:`context-layout__drawer-item ${j?"context-layout__drawer-item--active":""}`,children:[a.jsx(Dl,{icon:k.icon,className:"context-layout__drawer-icon"}),a.jsx("span",{children:k.label})]},k.path)})})]})]}),!n&&a.jsx("header",{className:"context-layout__mobile-header",children:a.jsxs(ct,{spacing:"5",align:"center",children:[a.jsx("button",{className:"context-layout__hamburger",onClick:()=>_(!0),"aria-label":"Open menu",children:"☰"}),a.jsx(b,{size:"3",weight:"normal",as:"div",children:"Context"}),a.jsx(b,{size:"3",weight:"semibold",as:"div",className:"context-layout__mobile-section-title",children:e})]})}),n&&a.jsxs("aside",{className:`context-desktop__sidebar ${y?"context-desktop__sidebar--collapsed":""}`,children:[a.jsx("div",{className:"context-desktop__sidebar-header",children:y?a.jsx(b,{as:"div",size:"1",tone:"muted",children:r.length}):a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",className:"context-desktop__sidebar-title",onClick:()=>h("/context/home"),children:a.jsx(b,{as:"span",size:"2",weight:"semibold",children:"Context"})}),a.jsxs("div",{className:"context-desktop__sidebar-header-actions",children:[a.jsx(b,{as:"div",size:"1",tone:"muted",children:r.length}),a.jsx("button",{type:"button",className:"context-desktop__sidebar-new",onClick:()=>h("/context/new"),"aria-label":"New block",title:"New block",children:"+"})]})]})}),a.jsx("div",{className:"context-desktop__sidebar-body",children:y?null:c?a.jsx("div",{className:"context-home__loading",children:"Loading context blocks..."}):u?a.jsxs("div",{className:"context-home__error",children:["Error: ",u]}):S.length===0?a.jsx("div",{className:"context-home__empty",children:"No context blocks found"}):a.jsx(cS,{blocks:S,onOpenBlock:k=>h(`/context/block/${k}`),onAddChild:k=>h(`/context/new?parentId=${k}`),selectedBlockId:p,compact:!0})}),a.jsx("button",{type:"button",className:"context-desktop__sidebar-toggle",onClick:()=>v(k=>!k),"aria-label":y?"Expand context sidebar":"Collapse context sidebar",children:y?"→":"←"})]}),a.jsx("main",{className:"context-layout__main",children:a.jsx(Wt,{})})]})}function M2(){const{setSectionTitle:n,blocks:e,isLoading:r,error:l}=Ll(),c=ze(),u=zt(),[h,g]=d.useState("");return xt(),d.useEffect(()=>{n("Context")},[n]),r?a.jsx("div",{className:"context-home__loading",children:"Loading context blocks..."}):l?a.jsxs("div",{className:"context-home__error",children:["Error: ",l]}):e.length===0?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"context-home__empty",children:[a.jsx("div",{className:"context-home__empty-message",children:"No context blocks found"}),a.jsx(ef,{})]}),a.jsx(Oh,{onClick:()=>c("/context/new"),isDesktop:u})]}):u?a.jsxs(a.Fragment,{children:[a.jsx(I2,{blocks:e,searchQuery:h,onSearchQueryChange:g,onOpenBlock:p=>c(`/context/block/${p}`)}),a.jsx(Oh,{onClick:()=>c("/context/new"),isDesktop:u})]}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"context-home",children:[a.jsx(ef,{}),a.jsx(cS,{blocks:e,onOpenBlock:p=>c(`/context/block/${p}`),onAddChild:p=>c(`/context/new?parentId=${p}`)})]}),a.jsx(Oh,{onClick:()=>c("/context/new"),isDesktop:u})]})}function ef(){const{threadStateBlockCount:n,hideThreadState:e,setHideThreadState:r}=Ll();return n===0?null:a.jsxs("label",{className:"context-home__thread-state-toggle",children:[a.jsx("input",{type:"checkbox",checked:e,onChange:l=>r(l.target.checked)}),a.jsxs(b,{as:"span",size:"2",tone:"muted",children:["Hide thread state blocks (",n,")"]})]})}function Oh({onClick:n,isDesktop:e}){return e?a.jsxs("button",{className:"context-fab context-fab--desktop",type:"button",onClick:n,children:[a.jsx("span",{className:"context-fab__plus",children:"+"}),a.jsx("span",{className:"context-fab__label",children:"New block"})]}):a.jsx("button",{className:"context-fab",type:"button",onClick:n,"aria-label":"Create new block",children:"+"})}function I2({blocks:n,searchQuery:e,onSearchQueryChange:r,onOpenBlock:l}){const c=e.trim().toLowerCase(),u=d.useMemo(()=>c?n.filter(h=>[h.title,h.createdBy||"",h.id,...h.tags.map(p=>p.name)].some(p=>p.toLowerCase().includes(c))):n.slice(0,18),[n,c]);return a.jsxs("div",{className:"context-home-desktop",children:[a.jsx("div",{className:"context-home-desktop__hero",children:a.jsx(b,{as:"div",size:"6",weight:"bold",className:"context-home-desktop__title",children:"Blocks"})}),a.jsx("div",{className:"context-home-desktop__search-box",children:a.jsx("input",{type:"search",className:"context-home-desktop__search-input",placeholder:"Search by title, tag, author, or block id",value:e,onChange:h=>r(h.target.value)})}),a.jsx(ef,{}),a.jsx("div",{className:"context-home-desktop__results",children:u.length===0?a.jsxs("div",{className:"context-home-desktop__empty",children:[a.jsx(b,{as:"div",size:"3",weight:"medium",children:"No matching blocks"}),a.jsx(b,{as:"div",size:"2",tone:"muted",children:"Try a different title, tag, author, or id fragment."})]}):u.map(h=>a.jsx(je,{className:"context-home-desktop__result",onClick:()=>l(h.id),topRight:a.jsx(b,{as:"span",size:"2",tone:"muted",children:Mt(h.updatedAt)}),tags:h.tags.slice(0,3).map(g=>({label:g.name})),children:a.jsxs("div",{className:"context-home-desktop__result-main",children:[a.jsx("div",{className:"row-title",children:h.title}),a.jsxs("div",{className:"row-detail",children:["#",h.id.slice(0,6)," ",h.createdBy||"unknown"]})]})},h.id))})]})}function If(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var nr=If();function uS(n){nr=n}var Va={exec:()=>null};function Ke(n,e=""){let r=typeof n=="string"?n:n.source,l={replace:(c,u)=>{let h=typeof u=="string"?u:u.source;return h=h.replace(rn.caret,"$1"),r=r.replace(c,h),l},getRegex:()=>new RegExp(r,e)};return l}var q2=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),rn={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}>`)},U2=/^(?:[ \t]*(?:\n|$))+/,B2=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,P2=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ml=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,$2=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,qf=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,dS=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,hS=Ke(dS).replace(/bull/g,qf).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),H2=Ke(dS).replace(/bull/g,qf).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Uf=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,G2=/^[^\n]+/,Bf=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,F2=Ke(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Bf).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),V2=Ke(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,qf).getRegex(),Vc="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Pf=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Y2=Ke("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Pf).replace("tag",Vc).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),fS=Ke(Uf).replace("hr",Ml).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Vc).getRegex(),K2=Ke(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",fS).getRegex(),$f={blockquote:K2,code:B2,def:F2,fences:P2,heading:$2,hr:Ml,html:Y2,lheading:hS,list:V2,newline:U2,paragraph:fS,table:Va,text:G2},Nx=Ke("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ml).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Vc).getRegex(),Q2={...$f,lheading:H2,table:Nx,paragraph:Ke(Uf).replace("hr",Ml).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Nx).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Vc).getRegex()},X2={...$f,html:Ke(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Pf).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Va,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ke(Uf).replace("hr",Ml).replace("heading",` *#{1,6} *[^
|
|
57
|
+
]`).replace("lheading",hS).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Z2=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,W2=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,pS=/^( {2,}|\\)\n(?!\s*$)/,J2=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ci=/[\p{P}\p{S}]/u,Yc=/[\s\p{P}\p{S}]/u,Hf=/[^\s\p{P}\p{S}]/u,eD=Ke(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Yc).getRegex(),gS=/(?!~)[\p{P}\p{S}]/u,tD=/(?!~)[\s\p{P}\p{S}]/u,nD=/(?:[^\s\p{P}\p{S}]|~)/u,sD=Ke(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",q2?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),mS=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,aD=Ke(mS,"u").replace(/punct/g,ci).getRegex(),rD=Ke(mS,"u").replace(/punct/g,gS).getRegex(),yS="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",iD=Ke(yS,"gu").replace(/notPunctSpace/g,Hf).replace(/punctSpace/g,Yc).replace(/punct/g,ci).getRegex(),lD=Ke(yS,"gu").replace(/notPunctSpace/g,nD).replace(/punctSpace/g,tD).replace(/punct/g,gS).getRegex(),oD=Ke("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Hf).replace(/punctSpace/g,Yc).replace(/punct/g,ci).getRegex(),cD=Ke(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,ci).getRegex(),uD="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",dD=Ke(uD,"gu").replace(/notPunctSpace/g,Hf).replace(/punctSpace/g,Yc).replace(/punct/g,ci).getRegex(),hD=Ke(/\\(punct)/,"gu").replace(/punct/g,ci).getRegex(),fD=Ke(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),pD=Ke(Pf).replace("(?:-->|$)","-->").getRegex(),gD=Ke("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",pD).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Dc=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,mD=Ke(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Dc).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),vS=Ke(/^!?\[(label)\]\[(ref)\]/).replace("label",Dc).replace("ref",Bf).getRegex(),xS=Ke(/^!?\[(ref)\](?:\[\])?/).replace("ref",Bf).getRegex(),yD=Ke("reflink|nolink(?!\\()","g").replace("reflink",vS).replace("nolink",xS).getRegex(),Ax=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Gf={_backpedal:Va,anyPunctuation:hD,autolink:fD,blockSkip:sD,br:pS,code:W2,del:Va,delLDelim:Va,delRDelim:Va,emStrongLDelim:aD,emStrongRDelimAst:iD,emStrongRDelimUnd:oD,escape:Z2,link:mD,nolink:xS,punctuation:eD,reflink:vS,reflinkSearch:yD,tag:gD,text:J2,url:Va},vD={...Gf,link:Ke(/^!?\[(label)\]\((.*?)\)/).replace("label",Dc).getRegex(),reflink:Ke(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Dc).getRegex()},tf={...Gf,emStrongRDelimAst:lD,emStrongLDelim:rD,delLDelim:cD,delRDelim:dD,url:Ke(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Ax).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Ke(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Ax).getRegex()},xD={...tf,br:Ke(pS).replace("{2,}","*").getRegex(),text:Ke(tf.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},hc={normal:$f,gfm:Q2,pedantic:X2},fl={normal:Gf,gfm:tf,breaks:xD,pedantic:vD},bD={"&":"&","<":"<",">":">",'"':""","'":"'"},Rx=n=>bD[n];function ds(n,e){if(e){if(rn.escapeTest.test(n))return n.replace(rn.escapeReplace,Rx)}else if(rn.escapeTestNoEncode.test(n))return n.replace(rn.escapeReplaceNoEncode,Rx);return n}function Dx(n){try{n=encodeURI(n).replace(rn.percentDecode,"%")}catch{return null}return n}function zx(n,e){let r=n.replace(rn.findPipe,(u,h,g)=>{let p=!1,y=h;for(;--y>=0&&g[y]==="\\";)p=!p;return p?"|":" |"}),l=r.split(rn.splitPipe),c=0;if(l[0].trim()||l.shift(),l.length>0&&!l.at(-1)?.trim()&&l.pop(),e)if(l.length>e)l.splice(e);else for(;l.length<e;)l.push("");for(;c<l.length;c++)l[c]=l[c].trim().replace(rn.slashPipe,"|");return l}function pl(n,e,r){let l=n.length;if(l===0)return"";let c=0;for(;c<l&&n.charAt(l-c-1)===e;)c++;return n.slice(0,l-c)}function _D(n,e){if(n.indexOf(e[1])===-1)return-1;let r=0;for(let l=0;l<n.length;l++)if(n[l]==="\\")l++;else if(n[l]===e[0])r++;else if(n[l]===e[1]&&(r--,r<0))return l;return r>0?-2:-1}function SD(n,e=0){let r=e,l="";for(let c of n)if(c===" "){let u=4-r%4;l+=" ".repeat(u),r+=u}else l+=c,r++;return l}function Ox(n,e,r,l,c){let u=e.href,h=e.title||null,g=n[1].replace(c.other.outputLinkReplace,"$1");l.state.inLink=!0;let p={type:n[0].charAt(0)==="!"?"image":"link",raw:r,href:u,title:h,text:g,tokens:l.inlineTokens(g)};return l.state.inLink=!1,p}function jD(n,e,r){let l=n.match(r.other.indentCodeCompensation);if(l===null)return e;let c=l[1];return e.split(`
|
|
58
|
+
`).map(u=>{let h=u.match(r.other.beginningSpace);if(h===null)return u;let[g]=h;return g.length>=c.length?u.slice(c.length):u}).join(`
|
|
59
|
+
`)}var zc=class{options;rules;lexer;constructor(n){this.options=n||nr}space(n){let e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(n){let e=this.rules.block.code.exec(n);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:pl(r,`
|
|
60
|
+
`)}}}fences(n){let e=this.rules.block.fences.exec(n);if(e){let r=e[0],l=jD(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:l}}}heading(n){let e=this.rules.block.heading.exec(n);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let l=pl(r,"#");(this.options.pedantic||!l||this.rules.other.endingSpaceChar.test(l))&&(r=l.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(n){let e=this.rules.block.hr.exec(n);if(e)return{type:"hr",raw:pl(e[0],`
|
|
61
|
+
`)}}blockquote(n){let e=this.rules.block.blockquote.exec(n);if(e){let r=pl(e[0],`
|
|
62
|
+
`).split(`
|
|
63
|
+
`),l="",c="",u=[];for(;r.length>0;){let h=!1,g=[],p;for(p=0;p<r.length;p++)if(this.rules.other.blockquoteStart.test(r[p]))g.push(r[p]),h=!0;else if(!h)g.push(r[p]);else break;r=r.slice(p);let y=g.join(`
|
|
64
|
+
`),v=y.replace(this.rules.other.blockquoteSetextReplace,`
|
|
65
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");l=l?`${l}
|
|
66
|
+
${y}`:y,c=c?`${c}
|
|
67
|
+
${v}`:v;let S=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(v,u,!0),this.lexer.state.top=S,r.length===0)break;let x=u.at(-1);if(x?.type==="code")break;if(x?.type==="blockquote"){let _=x,k=_.raw+`
|
|
68
|
+
`+r.join(`
|
|
69
|
+
`),j=this.blockquote(k);u[u.length-1]=j,l=l.substring(0,l.length-_.raw.length)+j.raw,c=c.substring(0,c.length-_.text.length)+j.text;break}else if(x?.type==="list"){let _=x,k=_.raw+`
|
|
70
|
+
`+r.join(`
|
|
71
|
+
`),j=this.list(k);u[u.length-1]=j,l=l.substring(0,l.length-x.raw.length)+j.raw,c=c.substring(0,c.length-_.raw.length)+j.raw,r=k.substring(u.at(-1).raw.length).split(`
|
|
72
|
+
`);continue}}return{type:"blockquote",raw:l,tokens:u,text:c}}}list(n){let e=this.rules.block.list.exec(n);if(e){let r=e[1].trim(),l=r.length>1,c={type:"list",raw:"",ordered:l,start:l?+r.slice(0,-1):"",loose:!1,items:[]};r=l?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=l?r:"[*+-]");let u=this.rules.other.listItemRegex(r),h=!1;for(;n;){let p=!1,y="",v="";if(!(e=u.exec(n))||this.rules.block.hr.test(n))break;y=e[0],n=n.substring(y.length);let S=SD(e[2].split(`
|
|
73
|
+
`,1)[0],e[1].length),x=n.split(`
|
|
74
|
+
`,1)[0],_=!S.trim(),k=0;if(this.options.pedantic?(k=2,v=S.trimStart()):_?k=e[1].length+1:(k=S.search(this.rules.other.nonSpaceChar),k=k>4?1:k,v=S.slice(k),k+=e[1].length),_&&this.rules.other.blankLine.test(x)&&(y+=x+`
|
|
75
|
+
`,n=n.substring(x.length+1),p=!0),!p){let j=this.rules.other.nextBulletRegex(k),w=this.rules.other.hrRegex(k),E=this.rules.other.fencesBeginRegex(k),z=this.rules.other.headingBeginRegex(k),D=this.rules.other.htmlBeginRegex(k),O=this.rules.other.blockquoteBeginRegex(k);for(;n;){let R=n.split(`
|
|
76
|
+
`,1)[0],N;if(x=R,this.options.pedantic?(x=x.replace(this.rules.other.listReplaceNesting," "),N=x):N=x.replace(this.rules.other.tabCharGlobal," "),E.test(x)||z.test(x)||D.test(x)||O.test(x)||j.test(x)||w.test(x))break;if(N.search(this.rules.other.nonSpaceChar)>=k||!x.trim())v+=`
|
|
77
|
+
`+N.slice(k);else{if(_||S.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||E.test(S)||z.test(S)||w.test(S))break;v+=`
|
|
78
|
+
`+x}_=!x.trim(),y+=R+`
|
|
79
|
+
`,n=n.substring(R.length+1),S=N.slice(k)}}c.loose||(h?c.loose=!0:this.rules.other.doubleBlankLine.test(y)&&(h=!0)),c.items.push({type:"list_item",raw:y,task:!!this.options.gfm&&this.rules.other.listIsTask.test(v),loose:!1,text:v,tokens:[]}),c.raw+=y}let g=c.items.at(-1);if(g)g.raw=g.raw.trimEnd(),g.text=g.text.trimEnd();else return;c.raw=c.raw.trimEnd();for(let p of c.items){if(this.lexer.state.top=!1,p.tokens=this.lexer.blockTokens(p.text,[]),p.task){if(p.text=p.text.replace(this.rules.other.listReplaceTask,""),p.tokens[0]?.type==="text"||p.tokens[0]?.type==="paragraph"){p.tokens[0].raw=p.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),p.tokens[0].text=p.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let v=this.lexer.inlineQueue.length-1;v>=0;v--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[v].src)){this.lexer.inlineQueue[v].src=this.lexer.inlineQueue[v].src.replace(this.rules.other.listReplaceTask,"");break}}let y=this.rules.other.listTaskCheckbox.exec(p.raw);if(y){let v={type:"checkbox",raw:y[0]+" ",checked:y[0]!=="[ ]"};p.checked=v.checked,c.loose?p.tokens[0]&&["paragraph","text"].includes(p.tokens[0].type)&&"tokens"in p.tokens[0]&&p.tokens[0].tokens?(p.tokens[0].raw=v.raw+p.tokens[0].raw,p.tokens[0].text=v.raw+p.tokens[0].text,p.tokens[0].tokens.unshift(v)):p.tokens.unshift({type:"paragraph",raw:v.raw,text:v.raw,tokens:[v]}):p.tokens.unshift(v)}}if(!c.loose){let y=p.tokens.filter(S=>S.type==="space"),v=y.length>0&&y.some(S=>this.rules.other.anyLine.test(S.raw));c.loose=v}}if(c.loose)for(let p of c.items){p.loose=!0;for(let y of p.tokens)y.type==="text"&&(y.type="paragraph")}return c}}html(n){let e=this.rules.block.html.exec(n);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(n){let e=this.rules.block.def.exec(n);if(e){let r=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),l=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",c=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:r,raw:e[0],href:l,title:c}}}table(n){let e=this.rules.block.table.exec(n);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let r=zx(e[1]),l=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),c=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
80
|
+
`):[],u={type:"table",raw:e[0],header:[],align:[],rows:[]};if(r.length===l.length){for(let h of l)this.rules.other.tableAlignRight.test(h)?u.align.push("right"):this.rules.other.tableAlignCenter.test(h)?u.align.push("center"):this.rules.other.tableAlignLeft.test(h)?u.align.push("left"):u.align.push(null);for(let h=0;h<r.length;h++)u.header.push({text:r[h],tokens:this.lexer.inline(r[h]),header:!0,align:u.align[h]});for(let h of c)u.rows.push(zx(h,u.header.length).map((g,p)=>({text:g,tokens:this.lexer.inline(g),header:!1,align:u.align[p]})));return u}}lheading(n){let e=this.rules.block.lheading.exec(n);if(e){let r=e[1].trim();return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:r,tokens:this.lexer.inline(r)}}}paragraph(n){let e=this.rules.block.paragraph.exec(n);if(e){let r=e[1].charAt(e[1].length-1)===`
|
|
81
|
+
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(n){let e=this.rules.block.text.exec(n);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(n){let e=this.rules.inline.escape.exec(n);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(n){let e=this.rules.inline.tag.exec(n);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){let e=this.rules.inline.link.exec(n);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let u=pl(r.slice(0,-1),"\\");if((r.length-u.length)%2===0)return}else{let u=_D(e[2],"()");if(u===-2)return;if(u>-1){let h=(e[0].indexOf("!")===0?5:4)+e[1].length+u;e[2]=e[2].substring(0,u),e[0]=e[0].substring(0,h).trim(),e[3]=""}}let l=e[2],c="";if(this.options.pedantic){let u=this.rules.other.pedanticHrefTitle.exec(l);u&&(l=u[1],c=u[3])}else c=e[3]?e[3].slice(1,-1):"";return l=l.trim(),this.rules.other.startAngleBracket.test(l)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?l=l.slice(1):l=l.slice(1,-1)),Ox(e,{href:l&&l.replace(this.rules.inline.anyPunctuation,"$1"),title:c&&c.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(n,e){let r;if((r=this.rules.inline.reflink.exec(n))||(r=this.rules.inline.nolink.exec(n))){let l=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),c=e[l.toLowerCase()];if(!c){let u=r[0].charAt(0);return{type:"text",raw:u,text:u}}return Ox(r,c,r[0],this.lexer,this.rules)}}emStrong(n,e,r=""){let l=this.rules.inline.emStrongLDelim.exec(n);if(!(!l||!l[1]&&!l[2]&&!l[3]&&!l[4]||l[4]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(l[1]||l[3])||!r||this.rules.inline.punctuation.exec(r))){let c=[...l[0]].length-1,u,h,g=c,p=0,y=l[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(y.lastIndex=0,e=e.slice(-1*n.length+c);(l=y.exec(e))!==null;){if(u=l[1]||l[2]||l[3]||l[4]||l[5]||l[6],!u)continue;if(h=[...u].length,l[3]||l[4]){g+=h;continue}else if((l[5]||l[6])&&c%3&&!((c+h)%3)){p+=h;continue}if(g-=h,g>0)continue;h=Math.min(h,h+g+p);let v=[...l[0]][0].length,S=n.slice(0,c+l.index+v+h);if(Math.min(c,h)%2){let _=S.slice(1,-1);return{type:"em",raw:S,text:_,tokens:this.lexer.inlineTokens(_)}}let x=S.slice(2,-2);return{type:"strong",raw:S,text:x,tokens:this.lexer.inlineTokens(x)}}}}codespan(n){let e=this.rules.inline.code.exec(n);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),l=this.rules.other.nonSpaceChar.test(r),c=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return l&&c&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(n){let e=this.rules.inline.br.exec(n);if(e)return{type:"br",raw:e[0]}}del(n,e,r=""){let l=this.rules.inline.delLDelim.exec(n);if(l&&(!l[1]||!r||this.rules.inline.punctuation.exec(r))){let c=[...l[0]].length-1,u,h,g=c,p=this.rules.inline.delRDelim;for(p.lastIndex=0,e=e.slice(-1*n.length+c);(l=p.exec(e))!==null;){if(u=l[1]||l[2]||l[3]||l[4]||l[5]||l[6],!u||(h=[...u].length,h!==c))continue;if(l[3]||l[4]){g+=h;continue}if(g-=h,g>0)continue;h=Math.min(h,h+g);let y=[...l[0]][0].length,v=n.slice(0,c+l.index+y+h),S=v.slice(c,-c);return{type:"del",raw:v,text:S,tokens:this.lexer.inlineTokens(S)}}}}autolink(n){let e=this.rules.inline.autolink.exec(n);if(e){let r,l;return e[2]==="@"?(r=e[1],l="mailto:"+r):(r=e[1],l=r),{type:"link",raw:e[0],text:r,href:l,tokens:[{type:"text",raw:r,text:r}]}}}url(n){let e;if(e=this.rules.inline.url.exec(n)){let r,l;if(e[2]==="@")r=e[0],l="mailto:"+r;else{let c;do c=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(c!==e[0]);r=e[0],e[1]==="www."?l="http://"+e[0]:l=e[0]}return{type:"link",raw:e[0],text:r,href:l,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(n){let e=this.rules.inline.text.exec(n);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},es=class nf{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||nr,this.options.tokenizer=this.options.tokenizer||new zc,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:rn,block:hc.normal,inline:fl.normal};this.options.pedantic?(r.block=hc.pedantic,r.inline=fl.pedantic):this.options.gfm&&(r.block=hc.gfm,this.options.breaks?r.inline=fl.breaks:r.inline=fl.gfm),this.tokenizer.rules=r}static get rules(){return{block:hc,inline:fl}}static lex(e,r){return new nf(r).lex(e)}static lexInline(e,r){return new nf(r).inlineTokens(e)}lex(e){e=e.replace(rn.carriageReturn,`
|
|
82
|
+
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let l=this.inlineQueue[r];this.inlineTokens(l.src,l.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],l=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(rn.tabCharGlobal," ").replace(rn.spaceLine,""));e;){let c;if(this.options.extensions?.block?.some(h=>(c=h.call({lexer:this},e,r))?(e=e.substring(c.raw.length),r.push(c),!0):!1))continue;if(c=this.tokenizer.space(e)){e=e.substring(c.raw.length);let h=r.at(-1);c.raw.length===1&&h!==void 0?h.raw+=`
|
|
83
|
+
`:r.push(c);continue}if(c=this.tokenizer.code(e)){e=e.substring(c.raw.length);let h=r.at(-1);h?.type==="paragraph"||h?.type==="text"?(h.raw+=(h.raw.endsWith(`
|
|
84
|
+
`)?"":`
|
|
85
|
+
`)+c.raw,h.text+=`
|
|
86
|
+
`+c.text,this.inlineQueue.at(-1).src=h.text):r.push(c);continue}if(c=this.tokenizer.fences(e)){e=e.substring(c.raw.length),r.push(c);continue}if(c=this.tokenizer.heading(e)){e=e.substring(c.raw.length),r.push(c);continue}if(c=this.tokenizer.hr(e)){e=e.substring(c.raw.length),r.push(c);continue}if(c=this.tokenizer.blockquote(e)){e=e.substring(c.raw.length),r.push(c);continue}if(c=this.tokenizer.list(e)){e=e.substring(c.raw.length),r.push(c);continue}if(c=this.tokenizer.html(e)){e=e.substring(c.raw.length),r.push(c);continue}if(c=this.tokenizer.def(e)){e=e.substring(c.raw.length);let h=r.at(-1);h?.type==="paragraph"||h?.type==="text"?(h.raw+=(h.raw.endsWith(`
|
|
87
|
+
`)?"":`
|
|
88
|
+
`)+c.raw,h.text+=`
|
|
89
|
+
`+c.raw,this.inlineQueue.at(-1).src=h.text):this.tokens.links[c.tag]||(this.tokens.links[c.tag]={href:c.href,title:c.title},r.push(c));continue}if(c=this.tokenizer.table(e)){e=e.substring(c.raw.length),r.push(c);continue}if(c=this.tokenizer.lheading(e)){e=e.substring(c.raw.length),r.push(c);continue}let u=e;if(this.options.extensions?.startBlock){let h=1/0,g=e.slice(1),p;this.options.extensions.startBlock.forEach(y=>{p=y.call({lexer:this},g),typeof p=="number"&&p>=0&&(h=Math.min(h,p))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(this.state.top&&(c=this.tokenizer.paragraph(u))){let h=r.at(-1);l&&h?.type==="paragraph"?(h.raw+=(h.raw.endsWith(`
|
|
90
|
+
`)?"":`
|
|
91
|
+
`)+c.raw,h.text+=`
|
|
92
|
+
`+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=h.text):r.push(c),l=u.length!==e.length,e=e.substring(c.raw.length);continue}if(c=this.tokenizer.text(e)){e=e.substring(c.raw.length);let h=r.at(-1);h?.type==="text"?(h.raw+=(h.raw.endsWith(`
|
|
93
|
+
`)?"":`
|
|
94
|
+
`)+c.raw,h.text+=`
|
|
95
|
+
`+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=h.text):r.push(c);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){this.tokenizer.lexer=this;let l=e,c=null;if(this.tokens.links){let p=Object.keys(this.tokens.links);if(p.length>0)for(;(c=this.tokenizer.rules.inline.reflinkSearch.exec(l))!==null;)p.includes(c[0].slice(c[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,c.index)+"["+"a".repeat(c[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(c=this.tokenizer.rules.inline.anyPunctuation.exec(l))!==null;)l=l.slice(0,c.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let u;for(;(c=this.tokenizer.rules.inline.blockSkip.exec(l))!==null;)u=c[2]?c[2].length:0,l=l.slice(0,c.index+u)+"["+"a".repeat(c[0].length-u-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);l=this.options.hooks?.emStrongMask?.call({lexer:this},l)??l;let h=!1,g="";for(;e;){h||(g=""),h=!1;let p;if(this.options.extensions?.inline?.some(v=>(p=v.call({lexer:this},e,r))?(e=e.substring(p.raw.length),r.push(p),!0):!1))continue;if(p=this.tokenizer.escape(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.tag(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.link(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(p.raw.length);let v=r.at(-1);p.type==="text"&&v?.type==="text"?(v.raw+=p.raw,v.text+=p.text):r.push(p);continue}if(p=this.tokenizer.emStrong(e,l,g)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.codespan(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.br(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.del(e,l,g)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.autolink(e)){e=e.substring(p.raw.length),r.push(p);continue}if(!this.state.inLink&&(p=this.tokenizer.url(e))){e=e.substring(p.raw.length),r.push(p);continue}let y=e;if(this.options.extensions?.startInline){let v=1/0,S=e.slice(1),x;this.options.extensions.startInline.forEach(_=>{x=_.call({lexer:this},S),typeof x=="number"&&x>=0&&(v=Math.min(v,x))}),v<1/0&&v>=0&&(y=e.substring(0,v+1))}if(p=this.tokenizer.inlineText(y)){e=e.substring(p.raw.length),p.raw.slice(-1)!=="_"&&(g=p.raw.slice(-1)),h=!0;let v=r.at(-1);v?.type==="text"?(v.raw+=p.raw,v.text+=p.text):r.push(p);continue}if(e){let v="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(v);break}else throw new Error(v)}}return r}},Oc=class{options;parser;constructor(n){this.options=n||nr}space(n){return""}code({text:n,lang:e,escaped:r}){let l=(e||"").match(rn.notSpaceStart)?.[0],c=n.replace(rn.endingNewline,"")+`
|
|
96
|
+
`;return l?'<pre><code class="language-'+ds(l)+'">'+(r?c:ds(c,!0))+`</code></pre>
|
|
97
|
+
`:"<pre><code>"+(r?c:ds(c,!0))+`</code></pre>
|
|
98
|
+
`}blockquote({tokens:n}){return`<blockquote>
|
|
99
|
+
${this.parser.parse(n)}</blockquote>
|
|
100
|
+
`}html({text:n}){return n}def(n){return""}heading({tokens:n,depth:e}){return`<h${e}>${this.parser.parseInline(n)}</h${e}>
|
|
101
|
+
`}hr(n){return`<hr>
|
|
102
|
+
`}list(n){let e=n.ordered,r=n.start,l="";for(let h=0;h<n.items.length;h++){let g=n.items[h];l+=this.listitem(g)}let c=e?"ol":"ul",u=e&&r!==1?' start="'+r+'"':"";return"<"+c+u+`>
|
|
103
|
+
`+l+"</"+c+`>
|
|
104
|
+
`}listitem(n){return`<li>${this.parser.parse(n.tokens)}</li>
|
|
105
|
+
`}checkbox({checked:n}){return"<input "+(n?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:n}){return`<p>${this.parser.parseInline(n)}</p>
|
|
106
|
+
`}table(n){let e="",r="";for(let c=0;c<n.header.length;c++)r+=this.tablecell(n.header[c]);e+=this.tablerow({text:r});let l="";for(let c=0;c<n.rows.length;c++){let u=n.rows[c];r="";for(let h=0;h<u.length;h++)r+=this.tablecell(u[h]);l+=this.tablerow({text:r})}return l&&(l=`<tbody>${l}</tbody>`),`<table>
|
|
107
|
+
<thead>
|
|
108
|
+
`+e+`</thead>
|
|
109
|
+
`+l+`</table>
|
|
110
|
+
`}tablerow({text:n}){return`<tr>
|
|
111
|
+
${n}</tr>
|
|
112
|
+
`}tablecell(n){let e=this.parser.parseInline(n.tokens),r=n.header?"th":"td";return(n.align?`<${r} align="${n.align}">`:`<${r}>`)+e+`</${r}>
|
|
113
|
+
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${ds(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:e,tokens:r}){let l=this.parser.parseInline(r),c=Dx(n);if(c===null)return l;n=c;let u='<a href="'+n+'"';return e&&(u+=' title="'+ds(e)+'"'),u+=">"+l+"</a>",u}image({href:n,title:e,text:r,tokens:l}){l&&(r=this.parser.parseInline(l,this.parser.textRenderer));let c=Dx(n);if(c===null)return ds(r);n=c;let u=`<img src="${n}" alt="${ds(r)}"`;return e&&(u+=` title="${ds(e)}"`),u+=">",u}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:ds(n.text)}},Ff=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}checkbox({raw:n}){return n}},ts=class sf{options;renderer;textRenderer;constructor(e){this.options=e||nr,this.options.renderer=this.options.renderer||new Oc,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Ff}static parse(e,r){return new sf(r).parse(e)}static parseInline(e,r){return new sf(r).parseInline(e)}parse(e){this.renderer.parser=this;let r="";for(let l=0;l<e.length;l++){let c=e[l];if(this.options.extensions?.renderers?.[c.type]){let h=c,g=this.options.extensions.renderers[h.type].call({parser:this},h);if(g!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(h.type)){r+=g||"";continue}}let u=c;switch(u.type){case"space":{r+=this.renderer.space(u);break}case"hr":{r+=this.renderer.hr(u);break}case"heading":{r+=this.renderer.heading(u);break}case"code":{r+=this.renderer.code(u);break}case"table":{r+=this.renderer.table(u);break}case"blockquote":{r+=this.renderer.blockquote(u);break}case"list":{r+=this.renderer.list(u);break}case"checkbox":{r+=this.renderer.checkbox(u);break}case"html":{r+=this.renderer.html(u);break}case"def":{r+=this.renderer.def(u);break}case"paragraph":{r+=this.renderer.paragraph(u);break}case"text":{r+=this.renderer.text(u);break}default:{let h='Token with "'+u.type+'" type was not found.';if(this.options.silent)return console.error(h),"";throw new Error(h)}}}return r}parseInline(e,r=this.renderer){this.renderer.parser=this;let l="";for(let c=0;c<e.length;c++){let u=e[c];if(this.options.extensions?.renderers?.[u.type]){let g=this.options.extensions.renderers[u.type].call({parser:this},u);if(g!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(u.type)){l+=g||"";continue}}let h=u;switch(h.type){case"escape":{l+=r.text(h);break}case"html":{l+=r.html(h);break}case"link":{l+=r.link(h);break}case"image":{l+=r.image(h);break}case"checkbox":{l+=r.checkbox(h);break}case"strong":{l+=r.strong(h);break}case"em":{l+=r.em(h);break}case"codespan":{l+=r.codespan(h);break}case"br":{l+=r.br(h);break}case"del":{l+=r.del(h);break}case"text":{l+=r.text(h);break}default:{let g='Token with "'+h.type+'" type was not found.';if(this.options.silent)return console.error(g),"";throw new Error(g)}}}return l}},xl=class{options;block;constructor(n){this.options=n||nr}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}emStrongMask(n){return n}provideLexer(n=this.block){return n?es.lex:es.lexInline}provideParser(n=this.block){return n?ts.parse:ts.parseInline}},bS=class{defaults=If();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=ts;Renderer=Oc;TextRenderer=Ff;Lexer=es;Tokenizer=zc;Hooks=xl;constructor(...n){this.use(...n)}walkTokens(n,e){let r=[];for(let l of n)switch(r=r.concat(e.call(this,l)),l.type){case"table":{let c=l;for(let u of c.header)r=r.concat(this.walkTokens(u.tokens,e));for(let u of c.rows)for(let h of u)r=r.concat(this.walkTokens(h.tokens,e));break}case"list":{let c=l;r=r.concat(this.walkTokens(c.items,e));break}default:{let c=l;this.defaults.extensions?.childTokens?.[c.type]?this.defaults.extensions.childTokens[c.type].forEach(u=>{let h=c[u].flat(1/0);r=r.concat(this.walkTokens(h,e))}):c.tokens&&(r=r.concat(this.walkTokens(c.tokens,e)))}}return r}use(...n){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(r=>{let l={...r};if(l.async=this.defaults.async||l.async||!1,r.extensions&&(r.extensions.forEach(c=>{if(!c.name)throw new Error("extension name required");if("renderer"in c){let u=e.renderers[c.name];u?e.renderers[c.name]=function(...h){let g=c.renderer.apply(this,h);return g===!1&&(g=u.apply(this,h)),g}:e.renderers[c.name]=c.renderer}if("tokenizer"in c){if(!c.level||c.level!=="block"&&c.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let u=e[c.level];u?u.unshift(c.tokenizer):e[c.level]=[c.tokenizer],c.start&&(c.level==="block"?e.startBlock?e.startBlock.push(c.start):e.startBlock=[c.start]:c.level==="inline"&&(e.startInline?e.startInline.push(c.start):e.startInline=[c.start]))}"childTokens"in c&&c.childTokens&&(e.childTokens[c.name]=c.childTokens)}),l.extensions=e),r.renderer){let c=this.defaults.renderer||new Oc(this.defaults);for(let u in r.renderer){if(!(u in c))throw new Error(`renderer '${u}' does not exist`);if(["options","parser"].includes(u))continue;let h=u,g=r.renderer[h],p=c[h];c[h]=(...y)=>{let v=g.apply(c,y);return v===!1&&(v=p.apply(c,y)),v||""}}l.renderer=c}if(r.tokenizer){let c=this.defaults.tokenizer||new zc(this.defaults);for(let u in r.tokenizer){if(!(u in c))throw new Error(`tokenizer '${u}' does not exist`);if(["options","rules","lexer"].includes(u))continue;let h=u,g=r.tokenizer[h],p=c[h];c[h]=(...y)=>{let v=g.apply(c,y);return v===!1&&(v=p.apply(c,y)),v}}l.tokenizer=c}if(r.hooks){let c=this.defaults.hooks||new xl;for(let u in r.hooks){if(!(u in c))throw new Error(`hook '${u}' does not exist`);if(["options","block"].includes(u))continue;let h=u,g=r.hooks[h],p=c[h];xl.passThroughHooks.has(u)?c[h]=y=>{if(this.defaults.async&&xl.passThroughHooksRespectAsync.has(u))return(async()=>{let S=await g.call(c,y);return p.call(c,S)})();let v=g.call(c,y);return p.call(c,v)}:c[h]=(...y)=>{if(this.defaults.async)return(async()=>{let S=await g.apply(c,y);return S===!1&&(S=await p.apply(c,y)),S})();let v=g.apply(c,y);return v===!1&&(v=p.apply(c,y)),v}}l.hooks=c}if(r.walkTokens){let c=this.defaults.walkTokens,u=r.walkTokens;l.walkTokens=function(h){let g=[];return g.push(u.call(this,h)),c&&(g=g.concat(c.call(this,h))),g}}this.defaults={...this.defaults,...l}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,e){return es.lex(n,e??this.defaults)}parser(n,e){return ts.parse(n,e??this.defaults)}parseMarkdown(n){return(e,r)=>{let l={...r},c={...this.defaults,...l},u=this.onError(!!c.silent,!!c.async);if(this.defaults.async===!0&&l.async===!1)return u(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return u(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return u(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(c.hooks&&(c.hooks.options=c,c.hooks.block=n),c.async)return(async()=>{let h=c.hooks?await c.hooks.preprocess(e):e,g=await(c.hooks?await c.hooks.provideLexer(n):n?es.lex:es.lexInline)(h,c),p=c.hooks?await c.hooks.processAllTokens(g):g;c.walkTokens&&await Promise.all(this.walkTokens(p,c.walkTokens));let y=await(c.hooks?await c.hooks.provideParser(n):n?ts.parse:ts.parseInline)(p,c);return c.hooks?await c.hooks.postprocess(y):y})().catch(u);try{c.hooks&&(e=c.hooks.preprocess(e));let h=(c.hooks?c.hooks.provideLexer(n):n?es.lex:es.lexInline)(e,c);c.hooks&&(h=c.hooks.processAllTokens(h)),c.walkTokens&&this.walkTokens(h,c.walkTokens);let g=(c.hooks?c.hooks.provideParser(n):n?ts.parse:ts.parseInline)(h,c);return c.hooks&&(g=c.hooks.postprocess(g)),g}catch(h){return u(h)}}}onError(n,e){return r=>{if(r.message+=`
|
|
114
|
+
Please report this to https://github.com/markedjs/marked.`,n){let l="<p>An error occurred:</p><pre>"+ds(r.message+"",!0)+"</pre>";return e?Promise.resolve(l):l}if(e)return Promise.reject(r);throw r}}},Ja=new bS;function lt(n,e){return Ja.parse(n,e)}lt.options=lt.setOptions=function(n){return Ja.setOptions(n),lt.defaults=Ja.defaults,uS(lt.defaults),lt};lt.getDefaults=If;lt.defaults=nr;lt.use=function(...n){return Ja.use(...n),lt.defaults=Ja.defaults,uS(lt.defaults),lt};lt.walkTokens=function(n,e){return Ja.walkTokens(n,e)};lt.parseInline=Ja.parseInline;lt.Parser=ts;lt.parser=ts.parse;lt.Renderer=Oc;lt.TextRenderer=Ff;lt.Lexer=es;lt.lexer=es.lex;lt.Tokenizer=zc;lt.Hooks=xl;lt.parse=lt;lt.options;lt.setOptions;lt.use;lt.walkTokens;lt.parseInline;ts.parse;es.lex;var Xr=function(){return Xr=Object.assign||function(n){for(var e,r=1,l=arguments.length;r<l;r++){e=arguments[r];for(var c in e)Object.prototype.hasOwnProperty.call(e,c)&&(n[c]=e[c])}return n},Xr.apply(this,arguments)},TD="~",wD="~~";function Vf(n,e){for(var r={},l={},c=n.split(wD),u=!1,h=0;c.length>h;h++){for(var g=c[h].split(TD),p=0;p<g.length;p+=2){var y=g[p],v=g[p+1],S="&"+y+";";r[S]=v,u&&(r["&"+y]=v),l[v]=S}u=!0}return e?{entities:Xr(Xr({},r),e.entities),characters:Xr(Xr({},l),e.characters)}:{entities:r,characters:l}}var Lh={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},Jr={};Jr.xml=Vf(`lt~<~gt~>~quot~"~apos~'~amp~&`);Jr.html4=Vf(`apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~~zwj~~lrm~~rlm~~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~"~amp~&~lt~<~gt~>`);Jr.html5=Vf('Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~~InvisibleTimes~~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~~NegativeThickSpace~~NegativeThinSpace~~NegativeVeryThinSpace~~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\n~Nfr~𝔑~NoBreak~~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~ ~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~ ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~"~REG~®',Jr.html4);var kD={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},ED=String.fromCodePoint||function(n){return String.fromCharCode(Math.floor((n-65536)/1024)+55296,(n-65536)%1024+56320)},ei=function(){return ei=Object.assign||function(n){for(var e,r=1,l=arguments.length;r<l;r++){e=arguments[r];for(var c in e)Object.prototype.hasOwnProperty.call(e,c)&&(n[c]=e[c])}return n},ei.apply(this,arguments)},CD=ei(ei({},Jr),{all:Jr.html5}),ND={scope:"body",level:"all"},Mh=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,Ih=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,Lx={xml:{strict:Mh,attribute:Ih,body:Lh.xml},html4:{strict:Mh,attribute:Ih,body:Lh.html4},html5:{strict:Mh,attribute:Ih,body:Lh.html5}},AD=ei(ei({},Lx),{all:Lx.html5}),_S=String.fromCharCode,RD=_S(65533);function DD(n,e,r,l){var c=n,u=n[n.length-1];if(r&&u==="=")c=n;else if(l&&u!==";")c=n;else{var h=e[n];if(h)c=h;else if(n[0]==="&"&&n[1]==="#"){var g=n[2],p=g=="x"||g=="X"?parseInt(n.substr(3),16):parseInt(n.substr(2));c=p>=1114111?RD:p>65535?ED(p):_S(kD[p]||p)}}return c}function zD(n,e){var r=ND,l=r.level,c=l===void 0?"all":l,u=r.scope,h=u===void 0?c==="xml"?"strict":"body":u;if(!n)return"";var g=AD[c][h],p=CD[c].entities,y=h==="attribute",v=h==="strict";return n.replace(g,function(S){return DD(S,p,y,v)})}const Mx=(n="")=>!n||!n.includes("&")?n:zD(n),Ix=(n,e)=>{if(!e)return n;try{return new URL(n,e).href}catch{return n}};var OD=class{constructor(n){this.renderer=n.renderer}parse(n){this.renderer.elIdList.push(0);const e=n.map(r=>{switch(r.type){case"space":return null;case"heading":{const l=r.depth;return this.renderer.heading(this.parseInline(r.tokens),l)}case"paragraph":return this.renderer.paragraph(this.parseInline(r.tokens));case"text":{const l=r;return l.tokens?this.parseInline(l.tokens):r.text}case"blockquote":{const l=r,c=this.parse(l.tokens);return this.renderer.blockquote(c)}case"list":{const l=r;this.renderer.elIdList.push(0);const c=l.items.map(u=>{const h=[];return u.task&&h.push(this.renderer.checkbox(u.checked??!1)),h.push(this.parse(u.tokens)),this.renderer.listItem(h)});return this.renderer.elIdList.pop(),this.renderer.list(c,r.ordered,r.ordered?r.start:void 0)}case"code":return this.renderer.code(r.text,r.lang);case"html":return this.renderer.html(r.text);case"table":{const l=r;this.renderer.elIdList.push(0);const c=l.header.map((y,v)=>this.renderer.tableCell(this.parseInline(y.tokens),{header:!0,align:r.align[v]}));this.renderer.elIdList.pop();const u=this.renderer.tableRow(c),h=this.renderer.tableHeader(u);this.renderer.elIdList.push(0);const g=l.rows.map(y=>{this.renderer.elIdList.push(0);const v=y.map((S,x)=>this.renderer.tableCell(this.parseInline(S.tokens),{header:!1,align:r.align[x]}));return this.renderer.elIdList.pop(),this.renderer.tableRow(v)});this.renderer.elIdList.pop();const p=this.renderer.tableBody(g);return this.renderer.table([h,p])}case"hr":return this.renderer.hr();default:return console.warn(`Token with "${r.type}" type was not found`),null}});return this.renderer.elIdList.pop(),e}parseInline(n=[]){this.renderer.elIdList.push(0);const e=n.map(r=>{switch(r.type){case"text":return this.renderer.text(Mx(r.text));case"strong":return this.renderer.strong(this.parseInline(r.tokens));case"em":return this.renderer.em(this.parseInline(r.tokens));case"del":return this.renderer.del(this.parseInline(r.tokens));case"codespan":return this.renderer.codespan(Mx(r.text));case"link":return this.renderer.link(r.href,this.parseInline(r.tokens));case"image":return this.renderer.image(r.href,r.text,r.title);case"html":return this.renderer.html(r.text);case"br":return this.renderer.br();case"escape":return this.renderer.text(r.text);default:return console.warn(`Token with "${r.type}" type was not found`),null}});return this.renderer.elIdList.pop(),e}},LD=class{#t;constructor(n={}){this.elIdList=[];const{renderer:e}=n;this.#t=n,e&&typeof e=="object"&&Object.entries(e).forEach(([r,l])=>{const c=r,u=l;!this[c]||c==="elementId"||c==="elIdList"||typeof u!="function"||Object.defineProperty(this,c,{value(...h){return this.#n(),u.apply(this,h)},writable:!0,enumerable:!0,configurable:!0})})}#e(n,e=null,r={}){const l={key:`marked-react-${this.elementId}`,suppressHydrationWarning:!0};return this.#n(),d.createElement(n,{...r,...l},e)}#n(){this.elIdList[this.elIdList.length-1]+=1}get elementId(){return this.elIdList.join("-")}heading(n,e){return this.#e(`h${e}`,n)}paragraph(n){return this.#e("p",n)}link(n,e){const r=Ix(n,this.#t.baseURL),l=this.#t.openLinksInNewTab?"_blank":null;return this.#e("a",e,{href:r,target:l})}image(n,e,r=null){const l=Ix(n,this.#t.baseURL);return this.#e("img",null,{src:l,alt:e,title:r})}codespan(n,e=null){const r=e?`${this.#t.langPrefix}${e}`:null;return this.#e("code",n,{className:r})}code(n,e){return this.#e("pre",this.codespan(n,e))}blockquote(n){return this.#e("blockquote",n)}list(n,e,r){return this.#e(e?"ol":"ul",n,e&&r!==1?{start:r}:{})}listItem(n){return this.#e("li",n)}checkbox(n){return this.#e("input",null,{type:"checkbox",disabled:!0,checked:n})}table(n){return this.#e("table",n)}tableHeader(n){return this.#e("thead",n)}tableBody(n){return this.#e("tbody",n)}tableRow(n){return this.#e("tr",n)}tableCell(n,e){const r=e.header?"th":"td";return this.#e(r,n,{align:e.align})}strong(n){return this.#e("strong",n)}em(n){return this.#e("em",n)}del(n){return this.#e("del",n)}text(n){return n}html(n){return n}hr(){return this.#e("hr")}br(){return this.#e("br")}};const MD=n=>{if(n.value&&typeof n.value!="string")throw new TypeError(`[marked-react]: Expected value to be of type string but got ${typeof n.value}`);if(n.children&&typeof n.children!="string")throw new TypeError(`[marked-react]: Expected children to be of type string but got ${typeof n.children}`)},ID={isInline:!1,breaks:!1,gfm:!0,baseURL:void 0,openLinksInNewTab:!0,langPrefix:"language-",renderer:void 0},qD=new bS,UD=n=>{MD(n);const e={...ID,...n},r=e.instance??qD,l={breaks:e.breaks,gfm:e.gfm,tokenizer:r.defaults.tokenizer},c=e.value??e.children??"",u=e.isInline?r.Lexer.lexInline(c,l):r.lexer(c,l),h=new OD({renderer:new LD({renderer:e.renderer,baseURL:e.baseURL,openLinksInNewTab:e.openLinksInNewTab,langPrefix:e.langPrefix})});return d.createElement(d.Fragment,null,e.isInline?h.parseInline(u):h.parse(u))};var af=UD;function BD(n){return typeof n=="string"?n:n&&typeof n=="object"&&typeof n.id=="string"?n.id:null}function PD(){const{id:n}=nn(),e=ze(),{setSectionTitle:r,blocks:l}=Ll(),{showError:c}=mn(),u=zt(),{block:h,isLoading:g,error:p,isDeleted:y}=E2(n||""),[v,S]=d.useState(null),[x,_]=d.useState(!1);xt(h?{contextBlock:{title:h.title}}:void 0),d.useEffect(()=>{h&&r(u?"Context":h.title)},[h,u,r]),d.useEffect(()=>{if(!h?.id){S(null);return}let w=!1;return _(!0),tn.ThreadsController_getThreadsByStateBlockId({stateBlockId:h.id}).then(E=>{w||S(E.length>0?E[0].id:null)}).catch(E=>{w||(console.error("Error checking for thread:",E),S(null))}).finally(()=>{w||_(!1)}),()=>{w=!0}},[h?.id]),d.useEffect(()=>{y&&e("/context/home")},[y,e]);const k=()=>{if(!h)return;const E=`${h.title.replace(/[^a-z0-9]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").toLowerCase()||"context-block"}.md`,z=new Blob([h.content],{type:"text/markdown"}),D=URL.createObjectURL(z),O=document.createElement("a");O.href=D,O.download=E,document.body.appendChild(O),O.click(),document.body.removeChild(O),URL.revokeObjectURL(D)},j=d.useMemo(()=>{if(!h)return[];const w=new Map(l.map(D=>[D.id,D])),E=[];let z=h.id;for(;z;){const D=z===h.id?h:w.get(z);if(!D)break;E.unshift({id:D.id,title:D.title}),z=BD(D.parentId)}return E},[h,l]);return g?a.jsx("div",{className:"context-block-detail__loading",children:a.jsx(b,{children:"Loading..."})}):p?a.jsx("div",{className:"context-block-detail__error",children:a.jsxs(b,{className:"text--error",children:["Error: ",p]})}):h?a.jsxs("div",{className:"context-block-detail",children:[a.jsxs(te,{spacing:"3",className:"context-block-detail__header",children:[u?a.jsxs("div",{className:"context-block-detail__breadcrumbs","aria-label":"Breadcrumb",children:[a.jsx("button",{type:"button",className:"context-block-detail__breadcrumb",onClick:()=>e("/context/home"),children:"Home"}),j.map((w,E)=>a.jsxs("div",{className:"context-block-detail__breadcrumb-segment",children:[a.jsx("span",{className:"context-block-detail__breadcrumb-separator",children:"›"}),a.jsx("button",{type:"button",className:`context-block-detail__breadcrumb ${E===j.length-1?"context-block-detail__breadcrumb--current":""}`,onClick:()=>e(`/context/block/${w.id}`),disabled:E===j.length-1,children:w.title})]},w.id))]}):null,u?a.jsx("div",{className:"context-block-detail__title-wrap",children:a.jsx("h1",{className:"context-block-detail__title",children:h.title})}):null,h.tags.length>0&&a.jsx("div",{className:"context-block-detail__tags",children:h.tags.map(w=>a.jsx(pn,{children:w.name},w.id))}),a.jsxs("div",{className:"context-block-detail__meta",children:[a.jsxs(b,{size:"2",tone:"muted",children:["by @",h.createdBy||"unknown"]}),a.jsx(b,{size:"2",tone:"muted",children:"•"}),a.jsx(b,{size:"2",tone:"muted",children:new Date(h.createdAt).toDateString()}),a.jsx(b,{size:"2",tone:"muted",children:"•"}),a.jsxs(b,{size:"2",tone:"muted",children:["Last edited ",Mt(h.updatedAt)]})]})]}),a.jsx("div",{className:"context-block-detail__content",children:a.jsx(af,{children:h.content})}),a.jsx(ii,{className:"context-block-detail__actions",onDelete:async()=>{try{await Qa.ContextController_deleteBlock({id:h.id}),e("/context")}catch(w){c(w)}},deleteLabel:"Delete",confirmLabel:"Confirm Delete"}),a.jsxs(_e,{className:"context-block-detail__actions",children:[a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e(`/context/block/${h.id}/edit`),children:"Edit"}),a.jsx(re,{size:"lg",variant:"secondary",onClick:k,children:"Download as Markdown"}),v&&a.jsx(re,{size:"lg",variant:"primary",onClick:()=>e(`/threads/${v}`),disabled:x,children:"Go to thread"}),u?null:a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e("/context"),children:"Back to blocks"})]})]}):a.jsx("div",{className:"context-block-detail__error",children:a.jsx(b,{className:"text--error",children:"Context block not found"})})}function qx(){const{id:n}=nn(),e=!!n,{setSectionTitle:r}=Ll(),l=ze(),[c]=xf(),u=c.get("parentId")??void 0,{showError:h,showToast:g}=mn(),p=zt(),y=d.useRef(null),[v,S]=d.useState(""),[x,_]=d.useState(""),[k]=d.useState([]),[j,w]=d.useState(!1),[E,z]=d.useState(e),[D,O]=d.useState(null);d.useEffect(()=>{n&&(z(!0),Qa.ContextController_getBlock({id:n}).then(L=>{S(L.title),_(L.content)}).catch(L=>{h(L),l("/context/home")}).finally(()=>z(!1)))},[n]),d.useEffect(()=>{r(p?"Context":e?"Edit Block":"New Block")},[r,p,e]);const R=async L=>{const U=L.target.files?.[0];if(U){if(!U.name.endsWith(".md")){h(new Error("Please select a markdown (.md) file"));return}O(U.name);try{const B=await U.text();_(B);const $=B.match(/^#\s+(.+)$/m);S($?$[1].trim():U.name.replace(/\.md$/,""))}catch(B){h(B),O(null)}}},N=async()=>{if(!v.trim()){h(new Error("Title is required"));return}if(!x.trim()){h(new Error("Content is required"));return}w(!0);try{if(e&&n)await Qa.ContextController_updateBlock({id:n,body:{title:v.trim(),content:x.trim()}}),g("Context block updated","success"),l(`/context/block/${n}`);else{const L=await Qa.ContextController_createBlock({body:{title:v.trim(),content:x.trim(),tagNames:k.length>0?k:void 0,parentId:u}});g("Context block created","success"),l(`/context/block/${L.id}`)}}catch(L){h(L)}finally{w(!1)}},C=e&&n?`/context/block/${n}`:"/context/home";return E?a.jsx("div",{className:"context-block-create",children:a.jsx(b,{tone:"muted",children:"Loading…"})}):a.jsxs("div",{className:"context-block-create",children:[p&&a.jsxs("div",{className:"context-block-create__breadcrumbs",children:[a.jsx("button",{type:"button",className:"context-block-create__breadcrumb",onClick:()=>l("/context/home"),children:"Home"}),a.jsx("span",{className:"context-block-create__breadcrumb-separator",children:"›"}),a.jsx("span",{className:"context-block-create__breadcrumb context-block-create__breadcrumb--current",children:e?"Edit Block":"New Block"})]}),a.jsxs("div",{className:"context-block-create__title-row",children:[a.jsx("input",{type:"text",value:v,onChange:L=>S(L.target.value),placeholder:"Untitled",className:"context-block-create__title-input",maxLength:255,"aria-label":"Block title",autoFocus:!0}),a.jsx(re,{type:"button",size:"lg",variant:"secondary",onClick:()=>y.current?.click(),title:D?`File: ${D}`:"Upload markdown file",tabIndex:-1,children:D?`↑ ${D}`:"↑ Upload .md"}),a.jsx("input",{ref:y,type:"file",accept:".md",onChange:R,className:"context-block-create__file-input-hidden","aria-hidden":"true"})]}),a.jsx("textarea",{value:x,onChange:L=>_(L.target.value),placeholder:"Write markdown content here, or upload a .md file above…",className:"context-block-create__editor","aria-label":"Block content (Markdown)"}),a.jsx("div",{className:"context-block-create__bottom-bar",children:a.jsxs("div",{className:"context-block-create__actions",children:[a.jsx(re,{type:"button",size:"lg",variant:"secondary",onClick:()=>l(C),disabled:j,children:"Cancel"}),a.jsx(re,{type:"button",size:"lg",variant:"primary",onClick:N,disabled:j||!v.trim()||!x.trim(),children:j?e?"Saving…":"Creating…":e?"Save":"Create"})]})})]})}function $D(){return a.jsx(A2,{children:a.jsx(ys,{children:a.jsxs(we,{element:a.jsx(L2,{}),children:[a.jsx(we,{index:!0,element:a.jsx(Hs,{to:"home",replace:!0})}),a.jsx(we,{path:"home",element:a.jsx(M2,{})}),a.jsx(we,{path:"new",element:a.jsx(qx,{})}),a.jsx(we,{path:"block/:id",element:a.jsx(PD,{})}),a.jsx(we,{path:"block/:id/edit",element:a.jsx(qx,{})})]})})})}const HD=window.location.origin,$n=new as({baseUrl:HD,credentials:"include"}),Ya=$n.agent,fc=$n.agentTokens,jl=$n.agent,GD=$n.authorizationServer,rf=$n.meta,Tl=$n.tools;$n.agent,$n.agentTokens,$n.agent,$n.authorizationServer,$n.meta,$n.tools;const FD=100,VD=()=>{const[n,e]=d.useState(!1),[r,l]=d.useState(null),[c,u]=d.useState([]);d.useEffect(()=>{g()},[]);const h=x=>[...x].sort((_,k)=>{const j=new Date(_.updatedAt).getTime();return new Date(k.updatedAt).getTime()-j}),g=async()=>{e(!0),l(null);try{const x=new Map;let _=1,k=1;do{const j=await Ya.AgentsController_listAgents({page:_,limit:FD});for(const w of j.items||[])x.set(w.actorId,w);k=j.totalPages??1,_+=1}while(_<=k);u(h([...x.values()]))}catch(x){l(x instanceof Error?x.message:"Failed to load agents")}finally{e(!1)}};return{isLoading:n,error:r,agents:c,loadAgents:g,loadAgentDetails:async x=>{e(!0),l(null);try{return await Ya.AgentsController_getAgentBySlug({slug:x})}catch(_){return l(_ instanceof Error?_.message:"Failed to load agent details"),null}finally{e(!1)}},createAgent:async x=>{e(!0),l(null);try{const _=await Ya.AgentsController_createAgent({body:{name:x.name,slug:x.slug,systemPrompt:x.systemPrompt,allowedTools:x.allowedTools??[],type:x.type,description:x.description,introduction:x.introduction,avatarUrl:x.avatarUrl,providerId:x.providerId,modelId:x.modelId,statusTriggers:x.statusTriggers,tagTriggers:x.tagTriggers,isActive:x.isActive,concurrencyLimit:x.concurrencyLimit}});return u(k=>h([...k,_])),_}catch(_){return l(_ instanceof Error?_.message:"Failed to create agent"),null}finally{e(!1)}},updateAgent:async(x,_)=>{e(!0),l(null);try{const k=await Ya.AgentsController_patchAgent({actorId:x,body:_});return u(j=>{const w=j.map(E=>E.actorId===x?k:E);return h(w)}),k}catch(k){return l(k instanceof Error?k.message:"Failed to update agent"),null}finally{e(!1)}},deleteAgent:async x=>{e(!0),l(null);try{return await Ya.AgentsController_deleteAgent({actorId:x}),u(_=>_.filter(k=>k.actorId!==x)),!0}catch(_){return l(_ instanceof Error?_.message:"Failed to delete agent"),!1}finally{e(!1)}}}},SS=d.createContext(null);function YD({children:n}){const{agents:e,isLoading:r,error:l,loadAgentDetails:c,createAgent:u,updateAgent:h,deleteAgent:g}=VD(),[p,y]=d.useState(""),v=d.useMemo(()=>({agents:e,isLoading:r,error:l,sectionTitle:p,setSectionTitle:y,loadAgentDetails:c,createAgent:u,updateAgent:h,deleteAgent:g}),[e,r,l,p,y,c,u,h,g]);return a.jsx(SS.Provider,{value:v,children:n})}function Il(){const n=d.useContext(SS);if(!n)throw new Error("useAgentsCtx must be used within <AgentsProvider>");return n}function KD(){const{agents:n,setSectionTitle:e,isLoading:r,error:l}=Il(),c=ze(),u=zt();return xt(),d.useEffect(()=>{e("All Agents")},[e]),r&&n.length===0?a.jsx(_e,{children:a.jsx(je,{leading:a.jsx(Fe,{name:"...",size:"lg"}),children:a.jsx(b,{tone:"muted",children:"Loading agents..."})})}):l?a.jsx(_e,{children:a.jsx(je,{leading:a.jsx(Fe,{name:"!",size:"lg"}),children:a.jsxs(b,{tone:"muted",children:["Error: ",l]})})}):n.length===0?a.jsxs(a.Fragment,{children:[a.jsx(_e,{children:a.jsx(je,{leading:a.jsx(Fe,{name:"?",size:"lg"}),children:a.jsx(b,{tone:"muted",children:"No agents found"})})}),a.jsx(Ux,{isDesktop:u,onClick:()=>c("/agents/new")})]}):a.jsxs(a.Fragment,{children:[a.jsx(_e,{children:n.map(h=>a.jsx(QD,{agent:h,onClick:()=>c(`/agents/agent/${h.slug}`)},h.actorId))}),a.jsx(Ux,{isDesktop:u,onClick:()=>c("/agents/new")})]})}function Ux({isDesktop:n,onClick:e}){return a.jsx("button",{className:`agents-fab ${n?"agents-fab--desktop":""}`,type:"button",onClick:e,"aria-label":"Create new agent",children:n?a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"agents-fab__plus",children:"+"}),a.jsx("span",{className:"agents-fab__label",children:"New agent"})]}):"+"})}function QD({agent:n,onClick:e}){const r=[XD(n.type),ZD(n.isActive)];return a.jsxs(je,{leading:a.jsx(Fe,{name:n.name,size:"lg"}),topRight:Mt(n.updatedAt),tags:r,onClick:e,children:[a.jsxs(b,{className:"pre",style:"mono",tone:"muted",children:["@",n.slug]}),a.jsx(b,{weight:"bold",size:"3",tone:"default",children:n.name}),a.jsx("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.jsx(b,{tone:"muted",size:"2",children:n.description?String(n.description):"No description"})}),a.jsxs("div",{style:{fontSize:12},className:"text--tone-muted",children:[n.statusTriggers.length>0&&a.jsxs("span",{children:["Triggers: ",n.statusTriggers.join(", ")]}),n.statusTriggers.length>0&&n.allowedTools.length>0&&" · ",n.allowedTools.length>0&&a.jsxs("span",{children:["Tools: ",n.allowedTools.length]})]})]})}function XD(n){return{label:n,color:{claude:"purple",codex:"green",opencode:"blue",adk:"red",githubcopilot:"yellow",other:"gray"}[n]||"gray"}}function ZD(n){return{label:n?"active":"inactive",color:n?"green":"gray"}}function WD(){const n=zt(),{sectionTitle:e}=Il(),r=[];return a.jsx("div",{style:{minHeight:0},children:n?a.jsx(ri,{sectionTitle:e,children:a.jsx(Wt,{})}):a.jsx(tr,{appTitle:"Agents",sectionTitle:e,navItems:r,children:a.jsx(Wt,{})})})}const Bx=n=>{n&&(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)};function JD({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState(n),u=d.useRef(null);d.useEffect(()=>{u.current?.focus()},[]),d.useEffect(()=>{Bx(u.current)},[l]);function h(p){c(p.target.value),Bx(p.target)}async function g(){return r({systemPrompt:l})}return a.jsx(bt,{title:"Edit System Prompt",onCancel:e,onSave:g,children:a.jsx(a.Fragment,{children:a.jsx("div",{className:"edit-system-prompt-pop__input-wrapper",children:a.jsx("textarea",{className:"edit-system-prompt-pop__input-content",ref:u,placeholder:"Enter system prompt...",value:l,onChange:h})})})})}function ez({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState(new Set(n)),u=p=>{c(y=>{const v=new Set(y);return v.has(p)?v.delete(p):v.add(p),v})};async function h(){return r({statusTriggers:Array.from(l)})}const g=[Te.NOT_STARTED,Te.IN_PROGRESS,Te.FOR_REVIEW,Te.DONE];return a.jsx(bt,{title:"Edit Status Triggers",onCancel:e,onSave:h,children:a.jsxs("div",{className:"edit-status-triggers-pop__content",children:[a.jsx(b,{size:"2",tone:"muted",className:"edit-status-triggers-pop__description",children:"Select which task statuses will trigger this agent to activate"}),a.jsx("div",{className:"edit-status-triggers-pop__checklist",children:g.map(p=>{const y=Hn[p];return a.jsxs("label",{className:"edit-status-triggers-pop__checklist-item",children:[a.jsx("input",{type:"checkbox",checked:l.has(p),onChange:()=>u(p),className:"edit-status-triggers-pop__checkbox"}),a.jsxs("div",{className:"edit-status-triggers-pop__status-info",children:[a.jsx(b,{size:"3",weight:"medium",children:y.label}),a.jsx(b,{size:"2",tone:"muted",children:p})]})]},p)})})]})})}function tz({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState([]),[u,h]=d.useState(!0),[g,p]=d.useState(new Set(n)),[y,v]=d.useState(""),[S,x]=d.useState(0),_=d.useRef(null),k=d.useRef(null);d.useEffect(()=>{(async()=>{try{const C=await rf.MetaController_getAllTags({});c(C)}catch(C){console.error("Failed to load tags:",C)}finally{h(!1)}})()},[]),d.useEffect(()=>{_.current?.focus()},[]);const j=d.useMemo(()=>{if(!y.trim())return l;const N=y.toLowerCase().trim();return l.map(L=>{let U=0;return L.name.toLowerCase().startsWith(N)?U+=100:L.name.toLowerCase().includes(N)&&(U+=50),{tag:L,score:U}}).filter(L=>L.score>0).sort((L,U)=>U.score-L.score).map(L=>L.tag)},[l,y]),w=d.useMemo(()=>{if(!y.trim())return!1;const N=y.toLowerCase().trim();return!l.some(C=>C.name.toLowerCase()===N)},[y,l]);d.useEffect(()=>{x(0)},[j.length,y,w]),d.useEffect(()=>{if(k.current){const N=j.length+(w?1:0);if(S<N){const C=k.current.children[S];C&&C.scrollIntoView({block:"nearest"})}}},[S,j.length,w]);const E=N=>{p(C=>{const L=new Set(C);return L.has(N)?L.delete(N):L.add(N),L})},z=async()=>{try{const N=await rf.MetaController_createTag({body:{name:y.trim()}});c(C=>[...C,N]),p(C=>new Set([...C,N.name])),v(""),_.current?.focus()}catch(N){console.error("Failed to create tag:",N)}},D=d.useCallback(N=>{const C=j.length+(w?1:0);if(C!==0)switch(N.key){case"ArrowDown":N.preventDefault(),x(L=>L<C-1?L+1:L);break;case"ArrowUp":N.preventDefault(),x(L=>L>0?L-1:0);break;case"Enter":N.preventDefault(),S<j.length?E(j[S].name):w&&S===j.length&&z();break;case"Escape":N.preventDefault(),y&&v("");break}},[j,S,w,y]);async function O(){return r({tagTriggers:Array.from(g)})}const R=d.useMemo(()=>Array.from(g).sort((N,C)=>N.localeCompare(C)),[g]);return a.jsx(bt,{title:"Edit Tag Triggers",onCancel:e,onSave:O,children:a.jsxs("div",{className:"edit-tag-triggers-pop__content",children:[a.jsxs(b,{size:"2",tone:"muted",className:"edit-tag-triggers-pop__description",children:["Select which tag names will trigger this agent to activate when added to a task (",g.size," selected)"]}),R.length>0&&a.jsxs(b,{size:"2",tone:"muted",className:"edit-tag-triggers-pop__description",children:["Selected: ",R.join(", ")]}),a.jsx("input",{ref:_,type:"text",className:"edit-tag-triggers-pop__input",placeholder:"Search or create tag...",value:y,onChange:N=>v(N.target.value),onKeyDown:D}),a.jsx("div",{className:"edit-tag-triggers-pop__list",ref:k,children:u?a.jsx("div",{className:"edit-tag-triggers-pop__empty",children:a.jsx(b,{tone:"muted",children:"Loading tags..."})}):j.length===0&&!w?a.jsx("div",{className:"edit-tag-triggers-pop__empty",children:a.jsx(b,{tone:"muted",children:"No tags found"})}):a.jsxs(a.Fragment,{children:[j.map((N,C)=>a.jsxs("label",{className:`edit-tag-triggers-pop__item ${C===S?"edit-tag-triggers-pop__item--highlighted":""}`,onMouseEnter:()=>x(C),children:[a.jsx("input",{type:"checkbox",checked:g.has(N.name),onChange:()=>E(N.name),className:"edit-tag-triggers-pop__checkbox"}),a.jsx("div",{className:"edit-tag-triggers-pop__tag-badge",style:{backgroundColor:N.color||"#999"},children:N.name})]},N.id)),w&&a.jsxs("div",{className:`edit-tag-triggers-pop__item edit-tag-triggers-pop__item--create ${S===j.length?"edit-tag-triggers-pop__item--highlighted":""}`,onClick:z,onMouseEnter:()=>x(j.length),children:[a.jsx(b,{size:"2",tone:"muted",children:"Create new tag:"}),a.jsx("div",{className:"edit-tag-triggers-pop__tag-badge",style:{backgroundColor:"#999"},children:y.trim()})]})]})})]})})}const Px=n=>{n&&(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)};function nz({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState(n),u=d.useRef(null);d.useEffect(()=>{u.current?.focus()},[]),d.useEffect(()=>{Px(u.current)},[l]);function h(p){c(p.target.value),Px(p.target)}async function g(){return r({introduction:l})}return a.jsx(bt,{title:"Edit Introduction",onCancel:e,onSave:g,children:a.jsx(a.Fragment,{children:a.jsx("div",{className:"edit-introduction-pop__input-wrapper",children:a.jsx("textarea",{className:"edit-introduction-pop__input-content",ref:u,placeholder:"Enter introduction...",value:l,onChange:h})})})})}const sz=[{value:"claude",label:"Claude",description:"Anthropic's Claude AI"},{value:"codex",label:"Codex",description:"OpenAI's Codex"},{value:"opencode",label:"OpenCode",description:"OpenCode agent"},{value:"adk",label:"ADK",description:"Agent Development Kit"},{value:"githubcopilot",label:"GitHub Copilot",description:"GitHub Copilot agent"},{value:"other",label:"Other",description:"Other agent type"}];function az({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState(n);async function u(){return r({type:l})}return a.jsx(bt,{title:"Edit Agent Type",onCancel:e,onSave:u,children:a.jsxs("div",{className:"edit-agent-type-pop__content",children:[a.jsx(b,{size:"2",tone:"muted",className:"edit-agent-type-pop__description",children:"Select the type of agent (provider). An agent can only be of one type."}),a.jsx("div",{className:"edit-agent-type-pop__radio-list",children:sz.map(h=>a.jsxs("label",{className:"edit-agent-type-pop__radio-item",children:[a.jsx("input",{type:"radio",name:"agent-type",value:h.value,checked:l===h.value,onChange:()=>c(h.value),className:"edit-agent-type-pop__radio"}),a.jsxs("div",{className:"edit-agent-type-pop__type-info",children:[a.jsx(b,{size:"3",weight:"medium",children:h.label}),a.jsx(b,{size:"2",tone:"muted",children:h.description})]})]},h.value))})]})})}function rz({initialProviderId:n,initialModelId:e,onCancel:r,onSave:l}){const[c,u]=d.useState(n),[h,g]=d.useState(e),p=d.useRef(null),y=d.useRef(null);d.useEffect(()=>{p.current?.focus()},[]);async function v(){return l({providerId:c.trim(),modelId:h.trim()})}return a.jsx(bt,{title:"Edit Model",onCancel:r,onSave:v,children:a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"edit-agent-model-pop__field",children:a.jsx("input",{className:"edit-agent-model-pop__input",ref:p,placeholder:"Provider ID (optional)",value:c,onChange:S=>u(S.target.value),onKeyDown:S=>{S.key==="Enter"&&(S.preventDefault(),y.current?.focus())}})}),a.jsx("div",{className:"edit-agent-model-pop__field",children:a.jsx("input",{className:"edit-agent-model-pop__input",ref:y,placeholder:"Model ID (optional)",value:h,onChange:S=>g(S.target.value)})})]})})}function iz({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState(n!==null?String(n):""),[u,h]=d.useState(null),g=d.useRef(null);d.useEffect(()=>{g.current?.focus()},[]);const p=async()=>{const y=l.trim();if(y.length===0)return r({concurrencyLimit:null});const v=Number(y);return!Number.isInteger(v)||v<1?(h("Use a whole number of 1 or higher, or leave empty for unlimited."),!1):(h(null),r({concurrencyLimit:v}))};return a.jsx(bt,{title:"Edit Concurrency",onCancel:e,onSave:p,children:a.jsxs("div",{className:"edit-concurrency-limit-pop__content",children:[a.jsx(b,{size:"2",tone:"muted",children:"Leave empty for unlimited parallel tasks."}),a.jsx("input",{ref:g,className:"edit-concurrency-limit-pop__input",type:"number",min:1,step:1,placeholder:"Unlimited",value:l,onChange:y=>{c(y.target.value),u&&h(null)}}),u&&a.jsx(b,{size:"1",className:"edit-concurrency-limit-pop__error",children:u})]})})}function jS({avatars:n,selectedUrl:e,onSelect:r}){return a.jsx("div",{className:"agent-avatar-picker",children:n.map(l=>{const c=e===l.url;return a.jsxs("button",{type:"button",className:`agent-avatar-picker__option ${c?"agent-avatar-picker__option--selected":""}`,onClick:()=>r(l.url),"aria-pressed":c,children:[a.jsx(Fe,{name:l.label,src:l.url,size:64,className:"agent-avatar-picker__image"}),a.jsx(b,{size:"2",weight:"medium",children:l.label})]},l.id)})})}function lz({avatars:n,initialValue:e,onCancel:r,onSave:l}){const[c,u]=d.useState(e??n[0]?.url??"");async function h(){return c?l({avatarUrl:c}):!1}return a.jsx(bt,{title:"Choose Avatar",onCancel:r,onSave:h,children:a.jsx(jS,{avatars:n,selectedUrl:c,onSelect:u})})}const qh=["meta:read","meta:write","tasks:read","tasks:write","context:read","context:write","agents:read","run:read","run:write","threads:read","threads:write","mcp-registry:read","mcp:use","secret:read"];function oz(){const{slug:n}=nn(),e=ze(),{agents:r,setSectionTitle:l,loadAgentDetails:c,updateAgent:u,deleteAgent:h}=Il(),{showError:g}=mn(),p=r.find(pe=>pe.slug===n),[y,v]=d.useState(p||null),[S,x]=d.useState(!p),[_,k]=d.useState([]),[j,w]=d.useState(!1),[E,z]=d.useState(null),[D,O]=d.useState(!1),[R,N]=d.useState(!1),[C,L]=d.useState(""),[U,B]=d.useState(new Set(qh)),[$,F]=d.useState(30),[V,ne]=d.useState([]),[ye,q]=d.useState(!1),[Z,le]=d.useState([]),[de,ve]=d.useState(!1),[M,H]=d.useState([]),[fe,ge]=d.useState(!1),[K,oe]=d.useState(!1),[se,Se]=d.useState(!1),[De,We]=d.useState(!1),[qt,et]=d.useState(!1),[wt,he]=d.useState(!1),[W,me]=d.useState(!1),[J,ke]=d.useState(!1),[tt,ft]=d.useState(!1),[Ut,Cn]=d.useState([]),kt=d.useCallback(async()=>{if(n){w(!0);try{const pe=await fc.AgentTokensController_listTokens({slug:n});k(pe)}catch(pe){console.error("Failed to load tokens:",pe)}finally{w(!1)}}},[n]),yt=d.useCallback(async()=>{q(!0);try{const pe=await GD.AuthorizationController_getScopes({});ne(pe.scopes)}catch(pe){console.error("Failed to load scopes:",pe)}finally{q(!1)}},[]),xs=d.useCallback(async()=>{try{const pe=await Ya.AgentsController_listAgentTemplates({});Cn(pe.avatars)}catch(pe){console.error("Failed to load avatar catalog:",pe)}},[]),bs=d.useCallback(async()=>{ve(!0);try{const pe=await rf.MetaController_getAllTags({});le(pe)}catch(pe){console.error("Failed to load tags:",pe)}finally{ve(!1)}},[]),wa=d.useCallback(async()=>{if(y){ge(!0);try{const pe=await jl.AgentToolPermissionsController_listAgentToolPermissions({actorId:y.actorId});H(pe)}catch(pe){console.error("Failed to load tool permissions:",pe)}finally{ge(!1)}}},[y]);d.useEffect(()=>{!p&&n?(x(!0),console.log("AGENT DETAIL PAGE"),c(n).then(pe=>{v(pe),x(!1)}).catch(pe=>{v(null)})):p&&v(p)},[n,p,c]),d.useEffect(()=>{y&&(kt(),bs(),wa(),Ut.length===0&&xs())},[y,Ut.length,kt,bs,wa,xs]),d.useEffect(()=>{R&&V.length===0&&yt(),R||B(new Set(qh))},[R,V.length,yt]),xt({agent:{name:y?.name}}),d.useEffect(()=>{if(!y){l("Agent");return}l(y.name)},[y,l]);const Ys=async()=>{if(!(!n||!C.trim()||U.size===0)){O(!0);try{const pe=Array.from(U),xe=await fc.AgentTokensController_issueToken({slug:n,body:{name:C.trim(),scopes:pe,expirationDays:$}});z(xe.token),N(!1),L(""),B(new Set(qh)),await kt()}catch(pe){console.error("Failed to create token:",pe),alert("Failed to create token")}finally{O(!1)}}},ui=pe=>{B(xe=>{const vt=new Set(xe);return vt.has(pe)?vt.delete(pe):vt.add(pe),vt})},sr=async({systemPrompt:pe})=>{if(!y)return!1;try{const xe=await u(y.actorId,{systemPrompt:pe});return xe?(v(xe),oe(!1),!0):!1}catch(xe){return console.error("Failed to update system prompt:",xe),g(xe),!1}},di=async({statusTriggers:pe})=>{if(!y)return!1;try{const xe=await u(y.actorId,{statusTriggers:pe});return xe?(v(xe),Se(!1),!0):!1}catch(xe){return console.error("Failed to update status triggers:",xe),g(xe),!1}},hi=async({tagTriggers:pe})=>{if(!y)return!1;try{const xe=await u(y.actorId,{tagTriggers:pe});return xe?(v(xe),We(!1),!0):!1}catch(xe){return console.error("Failed to update tag triggers:",xe),g(xe),!1}},_s=async({introduction:pe})=>{if(!y)return!1;try{const xe=await u(y.actorId,{introduction:pe});return xe?(v(xe),he(!1),!0):!1}catch(xe){return console.error("Failed to update introduction:",xe),g(xe),!1}},Gt=async({type:pe})=>{if(!y)return!1;try{const xe=await u(y.actorId,{type:pe});return xe?(v(xe),et(!1),!0):!1}catch(xe){return console.error("Failed to update agent type:",xe),g(xe),!1}},Nn=async({providerId:pe,modelId:xe})=>{if(!y)return!1;try{const vt=await u(y.actorId,{providerId:pe,modelId:xe});return vt?(v(vt),me(!1),!0):!1}catch(vt){return console.error("Failed to update model config:",vt),g(vt),!1}},Ft=async({concurrencyLimit:pe})=>{if(!y)return!1;try{const xe=await u(y.actorId,{concurrencyLimit:pe});return xe?(v(xe),ke(!1),!0):!1}catch(xe){return console.error("Failed to update concurrency limit:",xe),g(xe),!1}},fi=async({avatarUrl:pe})=>{if(!y)return!1;try{const xe=await u(y.actorId,{avatarUrl:pe});return xe?(v(xe),ft(!1),!0):!1}catch(xe){return console.error("Failed to update avatar:",xe),g(xe),!1}},pi=async pe=>{if(n&&confirm("Are you sure you want to revoke this token? This action cannot be undone."))try{await fc.AgentTokensController_revokeToken({slug:n,tokenId:pe}),await kt()}catch(xe){console.error("Failed to revoke token:",xe),alert("Failed to revoke token")}},Yn=async pe=>{if(n){O(!0);try{const xe=await fc.AgentTokensController_issueToken({slug:n,body:{name:pe.name,scopes:pe.scopes,expirationDays:$}});z(xe.token),await kt()}catch(xe){console.error("Failed to refresh token:",xe),alert("Failed to refresh token")}finally{O(!1)}}},Kn=pe=>{navigator.clipboard.writeText(pe)};if(S)return a.jsx("div",{className:"agent-detail-page",children:a.jsx(te,{spacing:"4",align:"center",children:a.jsx(b,{size:"3",tone:"muted",children:"Loading agent..."})})});if(!y)return a.jsx("div",{className:"agent-detail-page",children:a.jsxs(te,{spacing:"4",align:"center",children:[a.jsx(b,{size:"3",tone:"muted",children:"Agent not found"}),a.jsx(re,{variant:"secondary",onClick:()=>e("/agents"),children:"Back to agents"})]})});const yn=y.introduction,rs=typeof yn=="string"?yn:"",Qn=y.providerId&&y.providerId.trim().length>0?y.providerId:"Default provider",Ks=y.modelId&&y.modelId.trim().length>0?y.modelId:"Default model",An=y.concurrencyLimit,Qs=typeof An=="number"&&Number.isFinite(An)&&An>0?Math.floor(An):null,ue=new Map(Z.map(pe=>[pe.name,pe.color])),be=M.filter(pe=>pe.server.providedId==="tasks"||pe.server.providedId==="context").length,Ue=M.length-be,pt=fe?"Loading tool permissions...":M.length===0?"No tools configured":`${M.length} ${M.length===1?"tool":"tools"} configured`,Ot=fe?"Checking assigned tools and scopes":M.length===0?"Tasks and Context can be configured from the dedicated tools page.":`${be} system ${be===1?"tool":"tools"}, ${Ue} additional ${Ue===1?"tool":"tools"}`;return a.jsxs("div",{className:"agent-detail-page",children:[a.jsx(_e,{className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>ft(!0),leading:a.jsx(Fe,{size:"sm",name:y.name,src:y.avatarUrl||void 0}),tags:[cz(y.type),uz(y.isActive)],topRight:a.jsx(b,{size:"1",tone:"muted",children:Mt(y.updatedAt)}),children:[a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:` @${y.slug} `}),a.jsxs(b,{as:"span",tone:"muted",style:"mono",children:["#",y.actorId.slice(0,6)]}),a.jsx(b,{children:y.description?String(y.description):"No description"}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit avatar"})]})}),a.jsx(_e,{title:"System Prompt",className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>oe(!0),children:[a.jsx(b,{size:"2",style:"mono",className:"agent-detail-page__text-preview agent-detail-page__text-preview--system",children:y.systemPrompt||"No system prompt configured"}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),a.jsx(_e,{title:"Introduction",className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>he(!0),children:[a.jsx(b,{size:"2",className:"agent-detail-page__text-preview",children:rs.trim().length>0?rs:"No introduction configured"}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),a.jsx(_e,{title:"Agent Type",className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>et(!0),children:[a.jsx(b,{size:"2",tone:"muted",children:y.type}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),a.jsx(_e,{title:"Model",className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>me(!0),children:[a.jsxs(te,{spacing:"1",children:[a.jsxs(b,{size:"2",tone:"muted",children:["Provider: ",Qn]}),a.jsxs(b,{size:"2",tone:"muted",children:["Model: ",Ks]})]}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),a.jsx(_e,{title:"Concurrency",className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>ke(!0),children:[a.jsx(b,{size:"2",tone:"muted",children:Qs===null?"Unlimited parallel tasks":`${Qs} parallel ${Qs===1?"task":"tasks"}`}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),a.jsx(_e,{title:"Status Triggers",className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>Se(!0),children:[y.statusTriggers.length>0?y.statusTriggers.map(pe=>a.jsx(b,{tone:"muted",children:pe},pe)):a.jsx(b,{tone:"muted",children:"No status triggers configured"}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),a.jsx(_e,{title:"Tag Triggers",className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>We(!0),children:[y.tagTriggers&&y.tagTriggers.length>0?a.jsx("div",{className:"agent-detail-page__tag-triggers",children:de?a.jsx(b,{tone:"muted",children:"Loading tags..."}):y.tagTriggers.map(pe=>a.jsx(pn,{color:dz(ue.get(pe)),children:pe},pe))}):a.jsx(b,{tone:"muted",children:"No tag triggers configured"}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),a.jsx(_e,{title:"Tools",className:"agent-detail-page__section",children:a.jsxs(je,{onClick:()=>e(`/agents/agent/${y.slug}/tools`),children:[a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"2",weight:"medium",children:pt}),a.jsx(b,{size:"1",tone:"muted",children:Ot})]}),a.jsx(b,{size:"1",tone:"muted",children:"tap to manage"})]})}),E&&a.jsx(_e,{title:"New Token Created",className:"agent-detail-page__section agent-detail-page__new-token",children:a.jsx(je,{children:a.jsxs(te,{spacing:"2",children:[a.jsx(b,{weight:"medium",size:"2",className:"agent-detail-page__warning-text",children:"Copy this token now. It will not be shown again."}),a.jsx("div",{className:"agent-detail-page__token-display",children:a.jsx("code",{className:"agent-detail-page__token-code",children:E})}),a.jsxs("div",{className:"agent-detail-page__button-row",children:[a.jsx(re,{size:"sm",onClick:()=>Kn(E),children:"Copy Token"}),a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>z(null),children:"Dismiss"})]})]})})}),a.jsxs(_e,{title:"Access Tokens",className:"agent-detail-page__section",action:!R&&a.jsx(re,{size:"sm",onClick:()=>N(!0),children:"New Token"}),children:[R&&a.jsx(je,{children:a.jsxs(te,{spacing:"3",children:[a.jsx(b,{weight:"medium",size:"2",children:"Create New Token"}),a.jsxs("div",{className:"agent-detail-page__form-field",children:[a.jsx("label",{children:a.jsx(b,{size:"1",tone:"muted",children:"Token Name"})}),a.jsx("input",{type:"text",value:C,onChange:pe=>L(pe.target.value),placeholder:"e.g., CI/CD Pipeline",className:"agent-detail-page__input"})]}),a.jsxs("div",{className:"agent-detail-page__form-field",children:[a.jsx("label",{children:a.jsx(b,{size:"1",tone:"muted",children:"Scopes"})}),a.jsx(b,{size:"1",tone:"muted",className:"agent-detail-page__scope-note",children:"The preselected scopes are sufficient for the worker process running this agent."}),ye?a.jsx(b,{size:"2",tone:"muted",children:"Loading available scopes..."}):a.jsx("div",{className:"agent-detail-page__scopes-list",children:V.map(pe=>a.jsxs("label",{className:"agent-detail-page__scope-item",children:[a.jsx("input",{type:"checkbox",checked:U.has(pe.id),onChange:()=>ui(pe.id)}),a.jsxs("div",{className:"agent-detail-page__scope-info",children:[a.jsx(b,{size:"2",weight:"medium",children:pe.id}),a.jsx(b,{size:"1",tone:"muted",children:pe.description})]})]},pe.id))})]}),a.jsxs("div",{className:"agent-detail-page__form-field",children:[a.jsx("label",{children:a.jsx(b,{size:"1",tone:"muted",children:"Expires in (days)"})}),a.jsx("input",{type:"number",value:$,onChange:pe=>F(parseInt(pe.target.value)||30),min:1,max:365,className:"agent-detail-page__input"})]}),a.jsxs("div",{className:"agent-detail-page__button-row",children:[a.jsx(re,{size:"sm",onClick:Ys,disabled:D||!C.trim()||U.size===0,children:D?"Creating...":"Create Token"}),a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>N(!1),children:"Cancel"})]})]})}),j?a.jsx(je,{children:a.jsx(b,{tone:"muted",size:"2",children:"Loading tokens..."})}):_.length===0?a.jsx(je,{children:a.jsx(b,{tone:"muted",size:"2",children:"No tokens issued for this agent yet."})}):_.map(pe=>a.jsxs(je,{tags:[pe.isValid?{label:"active",color:"green"}:{label:pe.revokedAt?"revoked":"expired",color:"gray"}],topRight:pe.isValid?a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>pi(pe.id),children:"Revoke"}):a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>Yn(pe),disabled:D,children:"Refresh"}),children:[a.jsx(b,{weight:"medium",size:"2",children:pe.name}),a.jsxs(te,{spacing:"1",children:[a.jsxs(b,{size:"1",tone:"muted",children:["Scopes: ",pe.scopes.join(", ")]}),a.jsxs(b,{size:"1",tone:"muted",children:["Created: ",new Date(pe.createdAt).toLocaleDateString()," by ",pe.issuedByDisplayName]}),a.jsxs(b,{size:"1",tone:"muted",children:["Expires: ",new Date(pe.expiresAt).toLocaleDateString()]}),pe.revokedAt&&a.jsxs(b,{size:"1",tone:"muted",className:"agent-detail-page__revoked-text",children:["Revoked: ",new Date(String(pe.revokedAt)).toLocaleDateString()]})]})]},pe.id))]}),a.jsx(ii,{className:"agent-detail-page__actions",onDelete:async()=>{h(y.actorId),e("/agents")}}),a.jsx(_e,{className:"agent-detail-page__actions",children:a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e("/agents"),children:"Back to Agents"})}),K&&y&&a.jsx(JD,{initialValue:y.systemPrompt,onCancel:()=>oe(!1),onSave:sr}),se&&y&&a.jsx(ez,{initialValue:y.statusTriggers,onCancel:()=>Se(!1),onSave:di}),De&&y&&a.jsx(tz,{initialValue:y.tagTriggers||[],onCancel:()=>We(!1),onSave:hi}),qt&&y&&a.jsx(az,{initialValue:y.type,onCancel:()=>et(!1),onSave:Gt}),wt&&y&&a.jsx(nz,{initialValue:rs,onCancel:()=>he(!1),onSave:_s}),W&&y&&a.jsx(rz,{initialProviderId:y.providerId??"",initialModelId:y.modelId??"",onCancel:()=>me(!1),onSave:Nn}),J&&y&&a.jsx(iz,{initialValue:Qs,onCancel:()=>ke(!1),onSave:Ft}),tt&&y&&Ut.length>0&&a.jsx(lz,{avatars:Ut,initialValue:y.avatarUrl,onCancel:()=>ft(!1),onSave:fi})]})}function cz(n){return{label:n,color:{claude:"orange",codex:"green",opencode:"blue",adk:"red",githubcopilot:"yellow",other:"gray"}[n]||"gray"}}function uz(n){return{label:n?"active":"inactive",color:n?"green":"gray"}}function dz(n){if(!n)return"gray";const e={"#6B7280":"gray","#3B82F6":"blue","#10B981":"green","#52B788":"green","#F59E0B":"yellow","#F97316":"orange","#EF4444":"red","#8B5CF6":"purple","#A855F7":"purple","#98D8C8":"green"};if(e[n])return e[n];const r=parseInt(n.slice(1,3),16),l=parseInt(n.slice(3,5),16),c=parseInt(n.slice(5,7),16);return r>l&&r>c?l>100?"orange":"red":l>r&&l>c?"green":c>r&&c>l?r>100?"purple":"blue":r>150&&l>150&&c<100?"yellow":"gray"}function hz({currentPermissions:n,onCancel:e,onSaveUnscopedTool:r,onConfigureScopedTool:l}){const[c,u]=d.useState([]),[h,g]=d.useState(!0),[p,y]=d.useState(""),[v,S]=d.useState(0),[x,_]=d.useState(""),[k,j]=d.useState([]),[w,E]=d.useState(!1),[z,D]=d.useState(!1),O=d.useRef(null),R=d.useRef(null);d.useEffect(()=>{O.current?.focus()},[]),d.useEffect(()=>{(async()=>{g(!0);try{const ye=await Tl.McpRegistryController_listServers({});u(ye.items)}catch(ye){console.error("Failed to load tools:",ye)}finally{g(!1)}})()},[]);const N=new Set(n.map(ne=>ne.serverId)),C=d.useMemo(()=>c.filter(ne=>!N.has(ne.id)),[c,N]),L=d.useMemo(()=>{const ne=p.trim().toLowerCase();return ne?C.filter(ye=>ye.name.toLowerCase().includes(ne)||ye.type.toLowerCase().includes(ne)||ye.description.toLowerCase().includes(ne)||ye.providedId.toLowerCase().includes(ne)):C},[p,C]),U=L.find(ne=>ne.id===x)??C.find(ne=>ne.id===x)??null;d.useEffect(()=>{S(0)},[L.length,p]),d.useEffect(()=>{if(!R.current)return;R.current.children[v]?.scrollIntoView({block:"nearest"})},[v]),d.useEffect(()=>{if(!U||U.type!=="http"){j([]),E(!1);return}let ne=!1;return E(!0),Tl.McpRegistryController_listScopes({serverId:U.id}).then(ye=>{ne||j(ye)}).catch(ye=>{ne||(console.error("Failed to load scopes:",ye),j([]))}).finally(()=>{ne||E(!1)}),()=>{ne=!0}},[U]);const B=d.useCallback(ne=>{if(!(ne.nativeEvent.isComposing||L.length===0))switch(ne.key){case"ArrowDown":ne.preventDefault(),S(ye=>ye<L.length-1?ye+1:ye);break;case"ArrowUp":ne.preventDefault(),S(ye=>ye>0?ye-1:0);break;case"Enter":ne.preventDefault(),_(L[v]?.id??"");break}},[L,v]),$=d.useCallback(async()=>{if(!(!U||w||z)){if(U.type==="http"&&k.length>0){l(U,k),e?.();return}D(!0);try{await r(U),e?.()}finally{D(!1)}}},[z,w,e,l,r,U,k]),F=d.useCallback(async(ne,ye)=>{if(!z){if(_(ne.id),S(ye),ne.type!=="http"){D(!0);try{await r(ne),e?.()}finally{D(!1)}return}E(!0);try{const q=await Tl.McpRegistryController_listScopes({serverId:ne.id});if(q.length>0){l(ne,q),e?.();return}D(!0);try{await r(ne),e?.()}finally{D(!1)}}catch(q){console.error("Failed to load scopes:",q)}finally{E(!1)}}},[z,e,l,r]),V=U?.type==="http"&&k.length>0?"next":z?"saving":"save";return a.jsx(bt,{title:"Add Tool",onCancel:e,headerRight:a.jsx("div",{onClick:()=>{$()},style:{opacity:!U||w||z?.5:1,pointerEvents:!U||w||z?"none":"auto"},children:a.jsx(b,{size:"4",weight:"normal",className:"pop-shell__main-title-button",children:V})}),children:a.jsx("div",{className:"actor-search-pop",children:h?a.jsx("div",{className:"actor-search-pop__empty",children:a.jsx(b,{tone:"muted",children:"Loading tools..."})}):C.length===0?a.jsx("div",{className:"actor-search-pop__empty",children:a.jsx(b,{tone:"muted",children:"All available tools already assigned"})}):a.jsxs(a.Fragment,{children:[a.jsx("input",{ref:O,type:"text",className:"actor-search-pop__input",placeholder:"Search tools...",value:p,onChange:ne=>y(ne.target.value),onKeyDown:B}),a.jsx("div",{className:"actor-search-pop__list",ref:R,role:"listbox","aria-label":"Tools",children:L.length===0?a.jsx("div",{className:"actor-search-pop__empty",children:a.jsx(b,{tone:"muted",children:"No tools found"})}):L.map((ne,ye)=>{const q=ye===v,Z=ne.id===x;return a.jsxs("button",{type:"button",role:"option","aria-selected":Z,className:`actor-search-pop__item ${q||Z?"actor-search-pop__item--highlighted":""}`,onClick:()=>{F(ne,ye)},onMouseEnter:()=>S(ye),disabled:z||w,children:[a.jsx(Fe,{name:ne.name,size:"sm"}),a.jsxs("div",{className:"actor-search-pop__item-info",children:[a.jsx(b,{weight:"medium",size:"2",children:ne.name}),a.jsxs(b,{tone:"muted",size:"1",children:["@",ne.providedId," · ",ne.type]})]})]},ne.id)})})]})})})}function $x({agentActorId:n,currentPermissions:e,onCancel:r,onSave:l,editingPermission:c=null,onDelete:u,fixedTool:h=null,title:g,saveLabel:p}){const[y,v]=d.useState([]),[S,x]=d.useState(!0),[_,k]=d.useState(""),[j,w]=d.useState(0),[E,z]=d.useState(h?.serverId||c?.serverId||""),[D,O]=d.useState([]),[R,N]=d.useState(!1),[C,L]=d.useState(c?new Set(c.scopeIds):new Set),[U,B]=d.useState(c?.hasAllScopes||!1),[$,F]=d.useState(!1),V=!!c,ne=!!h,ye=d.useRef(null),q=d.useRef(null);d.useEffect(()=>{(async()=>{x(!0);try{const Se=await Tl.McpRegistryController_listServers({});v(Se.items)}catch(Se){console.error("Failed to load tools:",Se)}finally{x(!1)}})()},[]);const Z=y.find(se=>se.id===E),le=Z?.type==="http",de=!!(le&&D.length>0),ve=new Set(e.map(se=>se.serverId)),M=y.filter(se=>!ve.has(se.id)||V&&c&&se.id===c.serverId),H=d.useMemo(()=>{if(V||ne)return M;const se=_.trim().toLowerCase();return se?M.filter(Se=>Se.name.toLowerCase().includes(se)||Se.type.toLowerCase().includes(se)||Se.description.toLowerCase().includes(se)):M},[V,ne,_,M]);d.useEffect(()=>{!V&&!ne&&ye.current?.focus()},[V,ne]),d.useEffect(()=>{w(0)},[H.length,_]),d.useEffect(()=>{if(!q.current||V||ne)return;q.current.children[j]?.scrollIntoView({block:"nearest"})},[j,V,ne]),d.useEffect(()=>{E&&le?(N(!0),Tl.McpRegistryController_listScopes({serverId:E}).then(se=>{O(se),c&&c.serverId===E&&(L(new Set(c.scopeIds)),B(c.hasAllScopes))}).catch(se=>{console.error("Failed to load scopes:",se),O([])}).finally(()=>{N(!1)})):(O([]),!V&&!ne&&(L(new Set),B(!1)))},[E,le,c,V,ne]);const fe=()=>{const se=!U;B(se),L(se?new Set(D.map(Se=>Se.id)):new Set)},ge=se=>{L(Se=>{const De=new Set(Se);De.has(se)?De.delete(se):De.add(se);const We=D.length>0&&D.every(qt=>De.has(qt.id));return B(We),De})},K=d.useCallback(async()=>{if(!E)return!1;F(!0);try{return await jl.AgentToolPermissionsController_upsertAgentToolPermission({actorId:n,serverId:E,body:{scopeIds:Array.from(C)}}),!ne&&!V&&z(""),L(new Set),B(!1),await l(),!0}catch(se){return console.error("Failed to add permission:",se),alert("Failed to add tool permission"),!1}finally{F(!1)}},[n,V,ne,l,de,C,E]),oe=d.useCallback(se=>{if(!(se.nativeEvent.isComposing||H.length===0))switch(se.key){case"ArrowDown":se.preventDefault(),w(Se=>Se<H.length-1?Se+1:Se);break;case"ArrowUp":se.preventDefault(),w(Se=>Se>0?Se-1:0);break;case"Enter":se.preventDefault(),z(H[j]?.id??"");break}},[H,j]);return a.jsx(bt,{title:g??(V?"Edit Tool Permission":"Select Scopes"),onCancel:r,onSave:K,headerRight:p?a.jsx("div",{onClick:()=>{K()},style:{opacity:$?.5:1,pointerEvents:$?"none":"auto"},children:a.jsx(b,{size:"4",weight:"normal",className:"pop-shell__main-title-button",children:$?"saving":p})}):void 0,children:a.jsx("div",{className:"actor-search-pop",children:a.jsx(te,{spacing:"2",children:S?a.jsx(b,{size:"2",tone:"muted",children:"Loading available tools..."}):M.length===0?a.jsx(b,{size:"2",tone:"muted",children:"All available tools already assigned"}):a.jsxs(a.Fragment,{children:[!V&&!ne?a.jsxs(a.Fragment,{children:[a.jsx("input",{ref:ye,type:"text",className:"actor-search-pop__input",placeholder:"Search tools...",value:_,onChange:se=>k(se.target.value),onKeyDown:oe}),a.jsx("div",{className:"actor-search-pop__list",ref:q,role:"listbox","aria-label":"Tools",children:H.length===0?a.jsx("div",{className:"actor-search-pop__empty",children:a.jsx(b,{tone:"muted",size:"2",children:"No tools found"})}):H.map((se,Se)=>{const De=Se===j,We=se.id===E;return a.jsxs("button",{type:"button",role:"option","aria-selected":We,className:`actor-search-pop__item ${De||We?"actor-search-pop__item--highlighted":""}`,onClick:()=>{z(se.id),w(Se)},onMouseEnter:()=>w(Se),disabled:$,children:[a.jsx(Fe,{name:se.name,size:"sm"}),a.jsxs("div",{className:"actor-search-pop__item-info",children:[a.jsx(b,{weight:"medium",size:"2",children:se.name}),a.jsxs(b,{tone:"muted",size:"1",children:["@",se.providedId," · ",se.type]})]})]},se.id)})})]}):a.jsxs("div",{className:"edit-agent-tool-permissions-pop__selected-tool",children:[a.jsx(b,{size:"2",weight:"medium",children:Z?.name??h?.serverName??c?.serverName}),a.jsx(b,{size:"1",tone:"muted",children:Z?.description??"Update the scopes for this tool."})]}),E&&le&&D.length>0&&a.jsxs("div",{className:"edit-agent-tool-permissions-pop__scopes",children:[a.jsx(b,{size:"2",weight:"medium",children:"Select Scopes"}),a.jsxs("label",{className:"edit-agent-tool-permissions-pop__scope-item",children:[a.jsx("input",{type:"checkbox",checked:U,onChange:fe}),a.jsxs("div",{className:"edit-agent-tool-permissions-pop__scope-info",children:[a.jsx(b,{size:"2",weight:"medium",children:"All scopes"}),a.jsx(b,{size:"1",tone:"muted",children:"Grant all available scopes"})]})]}),D.map(se=>a.jsxs("label",{className:"edit-agent-tool-permissions-pop__scope-item",children:[a.jsx("input",{type:"checkbox",checked:C.has(se.id),onChange:()=>ge(se.id)}),a.jsxs("div",{className:"edit-agent-tool-permissions-pop__scope-info",children:[a.jsx(b,{size:"2",weight:"medium",style:"mono",children:se.id}),a.jsx(b,{size:"1",tone:"muted",children:se.description})]})]},se.id))]}),E&&le&&D.length===0&&!R&&a.jsx(b,{size:"2",tone:"muted",children:"This HTTP tool does not define scopes. Access will be granted without scope selection."}),E&&!le&&a.jsx(b,{size:"2",tone:"muted",children:"This STDIO tool does not require scope configuration."}),E&&V&&u&&a.jsx(te,{spacing:"2",children:a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>{u()},children:"Remove Tool"})})]})})})})}function Hx(n){return n.server.providedId==="tasks"||n.server.providedId==="context"}function Gx(n){return n.server.type==="stdio"?"No scopes required":n.hasAllScopes?"All scopes":`${n.grantedScopes.length} scope${n.grantedScopes.length===1?"":"s"} granted`}function fz(){const{slug:n}=nn(),e=ze(),{agents:r,setSectionTitle:l,loadAgentDetails:c}=Il(),{showError:u}=mn(),h=r.find(V=>V.slug===n),[g,p]=d.useState(h||null),[y,v]=d.useState(!h),[S,x]=d.useState([]),[_,k]=d.useState(!1),[j,w]=d.useState(!1),[E,z]=d.useState(!1),[D,O]=d.useState(null),[R,N]=d.useState(null),C=d.useCallback(async V=>{k(!0);try{const ne=await jl.AgentToolPermissionsController_listAgentToolPermissions({actorId:V});x(ne)}catch(ne){console.error("Failed to load tool permissions:",ne),u(ne)}finally{k(!1)}},[u]);d.useEffect(()=>{!h&&n?(v(!0),c(n).then(V=>{p(V),v(!1)}).catch(()=>{p(null),v(!1)})):h&&(p(h),v(!1))},[n,h,c]),d.useEffect(()=>{g&&C(g.actorId)},[g,C]),d.useEffect(()=>{if(!g){l("Tools");return}l(`${g.name} Tools`)},[g,l]),xt({agent:{name:g?`${g.name} Tools`:void 0}});const L=()=>{w(!0)},U=V=>{O(V),z(!0)},B=async V=>{if(g&&confirm("Remove this tool permission?"))try{await jl.AgentToolPermissionsController_deleteAgentToolPermission({actorId:g.actorId,serverId:V}),z(!1),O(null),await C(g.actorId)}catch(ne){console.error("Failed to delete tool permission:",ne),u(ne)}};if(y)return a.jsx("div",{className:"agent-tools-page",children:a.jsx(te,{spacing:"4",align:"center",children:a.jsx(b,{size:"3",tone:"muted",children:"Loading tools..."})})});if(!g)return a.jsx("div",{className:"agent-tools-page",children:a.jsxs(te,{spacing:"4",align:"center",children:[a.jsx(b,{size:"3",tone:"muted",children:"Agent not found"}),a.jsx(re,{variant:"secondary",onClick:()=>e("/agents"),children:"Back to agents"})]})});const $=S.filter(Hx),F=S.filter(V=>!Hx(V));return a.jsxs("div",{className:"agent-tools-page",children:[a.jsx(_e,{className:"agent-tools-page__section",children:a.jsx(je,{children:a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"3",weight:"medium",children:"Tools"}),a.jsx(b,{size:"2",tone:"muted",children:"Tasks and Context stay available. Additional tools can be assigned per agent with scoped access."})]})})}),a.jsx(_e,{title:"System Tools",className:"agent-tools-page__section",children:$.map(V=>a.jsx(je,{children:a.jsx("div",{className:"agent-tools-page__row",children:a.jsxs("div",{className:"agent-tools-page__row-main",children:[a.jsxs("div",{className:"agent-tools-page__row-title",children:[a.jsx(b,{size:"2",weight:"medium",children:V.server.name}),a.jsxs("div",{className:"agent-tools-page__chips",children:[a.jsx(pn,{color:"purple",children:"System Tool"}),a.jsx(pn,{color:V.server.type==="http"?"green":"orange",children:V.server.type})]})]}),a.jsx(b,{size:"1",tone:"muted",children:V.server.description}),a.jsx(b,{size:"1",tone:"muted",children:Gx(V)})]})})},V.server.id))}),a.jsx(_e,{title:"Additional Tools",className:"agent-tools-page__section",children:_?a.jsx(je,{children:a.jsx(b,{size:"2",tone:"muted",children:"Loading tool permissions..."})}):F.length===0?a.jsx(je,{children:a.jsxs(te,{spacing:"1",children:[a.jsx(b,{size:"2",tone:"muted",children:"No additional tools configured"}),a.jsx(b,{size:"1",tone:"muted",children:"Add a tool to grant this agent access beyond Tasks and Context."})]})}):F.map(V=>a.jsx(je,{onClick:()=>U(V),trailing:a.jsx(b,{size:"2",tone:"muted",children:"Edit"}),children:a.jsx("div",{className:"agent-tools-page__row",children:a.jsxs("div",{className:"agent-tools-page__row-main",children:[a.jsxs("div",{className:"agent-tools-page__row-title",children:[a.jsx(b,{size:"2",weight:"medium",children:V.server.name}),a.jsx("div",{className:"agent-tools-page__chips",children:a.jsx(pn,{color:V.server.type==="http"?"green":"orange",children:V.server.type})})]}),a.jsx(b,{size:"1",tone:"muted",children:V.server.description}),a.jsx(b,{size:"1",tone:"muted",children:Gx(V)})]})})},V.server.id))}),a.jsxs(_e,{className:"agent-tools-page__actions",children:[a.jsx(re,{size:"lg",onClick:L,children:"Add Tool"}),a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e(`/agents/agent/${g.slug}`),children:"Back to agent details"})]}),j&&a.jsx(hz,{currentPermissions:S.map(V=>({serverId:V.server.id})),onCancel:()=>w(!1),onSaveUnscopedTool:async V=>{await jl.AgentToolPermissionsController_upsertAgentToolPermission({actorId:g.actorId,serverId:V.id,body:{scopeIds:[]}}),await C(g.actorId)},onConfigureScopedTool:(V,ne)=>{N({serverId:V.id,serverName:V.name,serverProvidedId:V.providedId,serverType:V.type})}}),E&&a.jsx($x,{agentActorId:g.actorId,currentPermissions:S.map(V=>({serverId:V.server.id,serverName:V.server.name,serverProvidedId:V.server.providedId,serverType:V.server.type,scopeIds:V.grantedScopes.map(ne=>ne.id),hasAllScopes:V.hasAllScopes})),editingPermission:D?{serverId:D.server.id,serverName:D.server.name,serverProvidedId:D.server.providedId,serverType:D.server.type,scopeIds:D.grantedScopes.map(V=>V.id),hasAllScopes:D.hasAllScopes}:null,onCancel:()=>{z(!1),O(null)},onSave:async()=>{await C(g.actorId),z(!1),O(null)},onDelete:D?async()=>{await B(D.server.id)}:void 0}),R&&a.jsx($x,{agentActorId:g.actorId,currentPermissions:S.map(V=>({serverId:V.server.id,serverName:V.server.name,serverProvidedId:V.server.providedId,serverType:V.server.type,scopeIds:V.grantedScopes.map(ne=>ne.id),hasAllScopes:V.hasAllScopes})),fixedTool:R,title:"Select Scopes",saveLabel:"save",onCancel:()=>N(null),onSave:async()=>{await C(g.actorId),N(null)}})]})}function pc(n,e){const r=e.providerId?.trim().toLowerCase()??"",l=e.modelId?.trim().toLowerCase()??"";return r.includes("anthropic")||l.includes("claude")?gl(n,"claude"):r.includes("openai")||l.includes("gpt")||l.includes("codex")?gl(n,"openai"):r.includes("google")||l.includes("gemini")||e.type==="adk"?gl(n,"gemini"):l.includes("qwen")?gl(n,"qwen"):gl(n,gz[e.type??"other"])}function pz(n,e){return n.avatars.find(r=>r.url===e)?.label??"Default"}function gl(n,e){return n.avatars.find(r=>r.id===e)?.url}const gz={claude:"claude",codex:"openai",opencode:"opencode",adk:"gemini",githubcopilot:"openai",other:void 0},Fx=["template","harness","model","status","tags","avatar"],mz=[Te.NOT_STARTED,Te.IN_PROGRESS,Te.FOR_REVIEW,Te.DONE],yz={name:"",slug:"",type:"other",description:void 0,systemPrompt:"",providerId:void 0,modelId:void 0,statusTriggers:[],tagTriggers:[],allowedTools:[],isActive:!0,concurrencyLimit:1},vz={stepIndex:0,draft:yz,selectedModelOptionId:"default",customProviderId:"",customModelId:"",tagText:"",slugTouched:!1,avatarTouched:!1};function xz(){const n=ze(),{setSectionTitle:e,createAgent:r}=Il(),[l,c]=d.useState(null),[u,h]=d.useState(null),[g,p]=d.useState(!0),[y,v,S]=li({key:"new-agent-wizard-draft",defaultValue:vz,debounceMs:0}),[x,_]=d.useState(!1),[k,j]=d.useState(null),{stepIndex:w,draft:E,selectedModelOptionId:z,customProviderId:D,customModelId:O,tagText:R,slugTouched:N}=y;xt(),d.useEffect(()=>{e("New Agent")},[e]),d.useEffect(()=>{let K=!0;async function oe(){try{const se=await Ya.AgentsController_listAgentTemplates({});if(!K)return;c(se);const Se=se.templates.find(De=>De.id==="custom")??se.templates[0];Se&&!y.draft.templateId&&V(Se)}catch(se){if(!K)return;h(se instanceof Error?se.message:"Failed to load agent templates")}finally{K&&p(!1)}}return oe(),()=>{K=!1}},[]);const C=d.useMemo(()=>E.templateId==="custom"?[...Fx,"prompt","identity"]:[...Fx,"identity"],[E.templateId]),L=Math.min(w,C.length-1),U=C[L],B=d.useMemo(()=>l?.harnesses.find(K=>K.type===E.type)??null,[l,E.type]),$=Vx(U,E),F=L===C.length-1;function V(K){v(oe=>({...oe,draft:{...oe.draft,templateId:K.id,type:K.type??oe.draft.type??"other",description:K.agentDescription||void 0,systemPrompt:K.systemPrompt,providerId:K.providerId||void 0,modelId:K.modelId||void 0,statusTriggers:K.statusTriggers,tagTriggers:K.tagTriggers,avatarUrl:K.avatarUrl,concurrencyLimit:K.concurrencyLimit,allowedTools:[],isActive:!0},tagText:K.tagTriggers.join(", "),selectedModelOptionId:K.providerId||K.modelId?`${K.providerId||"default-provider"}:${K.modelId}`:"default",customProviderId:"",customModelId:"",avatarTouched:!1}))}function ne(K){v(oe=>({...oe,avatarTouched:!1,draft:{...oe.draft,type:K.type,providerId:void 0,modelId:void 0,avatarUrl:l?pc(l,{type:K.type}):oe.draft.avatarUrl},selectedModelOptionId:"default",customProviderId:"",customModelId:""}))}function ye(K){if(K==="custom"){v(oe=>({...oe,selectedModelOptionId:"custom",draft:{...oe.draft,providerId:oe.customProviderId.trim()||void 0,modelId:oe.customModelId.trim()||void 0,avatarUrl:l&&!oe.avatarTouched?pc(l,{type:oe.draft.type,providerId:oe.customProviderId,modelId:oe.customModelId}):oe.draft.avatarUrl}}));return}v(oe=>({...oe,selectedModelOptionId:K.id,draft:{...oe.draft,providerId:K.providerId,modelId:K.modelId,avatarUrl:l&&!oe.avatarTouched?pc(l,{type:oe.draft.type,providerId:K.providerId,modelId:K.modelId}):oe.draft.avatarUrl}}))}function q(K,oe){v(se=>({...se,customProviderId:K,customModelId:oe,draft:{...se.draft,providerId:K.trim()||void 0,modelId:oe.trim()||void 0,avatarUrl:l&&!se.avatarTouched?pc(l,{type:se.draft.type,providerId:K,modelId:oe}):se.draft.avatarUrl}}))}function Z(K){v(oe=>({...oe,avatarTouched:!0,draft:{...oe.draft,avatarUrl:K}}))}function le(K){v(oe=>{const se=new Set(oe.draft.statusTriggers??[]);return se.has(K)?se.delete(K):se.add(K),{...oe,draft:{...oe.draft,statusTriggers:Array.from(se)}}})}function de(K){v(oe=>({...oe,tagText:K,draft:{...oe.draft,tagTriggers:K.split(",").map(se=>se.trim()).filter(Boolean)}}))}function ve(K){v(oe=>({...oe,draft:{...oe.draft,name:K,slug:oe.slugTouched?oe.draft.slug:_z(K)}}))}function M(K){v(oe=>({...oe,slugTouched:!0,draft:{...oe.draft,slug:Sz(K)}}))}function H(){$&&v(K=>({...K,stepIndex:Math.min(K.stepIndex+1,C.length-1)}))}function fe(){v(K=>({...K,stepIndex:Math.max(K.stepIndex-1,0)}))}async function ge(){if(!(!Vx("identity",E)||x)){_(!0),j(null);try{const K=await r({name:E.name.trim(),slug:E.slug.trim(),type:E.type,description:E.description,avatarUrl:E.avatarUrl,systemPrompt:E.systemPrompt,providerId:E.providerId,modelId:E.modelId,statusTriggers:E.statusTriggers??[],tagTriggers:E.tagTriggers??[],allowedTools:[],isActive:!0,concurrencyLimit:E.concurrencyLimit});K?(S(),n(`/agents/agent/${K.slug}`)):j("Agent creation failed")}finally{_(!1)}}}return g?a.jsx(_e,{children:a.jsx(je,{children:a.jsx(b,{tone:"muted",children:"Loading agent templates..."})})}):u||!l?a.jsx(_e,{children:a.jsx(je,{children:a.jsxs(te,{spacing:"3",children:[a.jsx(b,{tone:"muted",children:u??"Agent templates are unavailable"}),a.jsx(re,{variant:"secondary",onClick:()=>n("/agents"),children:"Back to Agents"})]})})}):a.jsxs("div",{className:"new-agent-wizard",children:[a.jsxs("div",{className:"new-agent-wizard__header",children:[a.jsxs(b,{size:"1",tone:"muted",children:["Step ",L+1," of ",C.length]}),a.jsx("div",{className:"new-agent-wizard__progress","aria-hidden":"true",children:a.jsx("div",{className:"new-agent-wizard__progress-fill",style:{width:`${(L+1)/C.length*100}%`}})})]}),a.jsxs("div",{className:"new-agent-wizard__body",children:[U==="template"&&a.jsx(ba,{title:"What kind of agent are you making?",support:"Pick a starting point. You can adjust the agent from its page later.",children:a.jsx("div",{className:"new-agent-wizard__option-grid",children:l.templates.map(K=>a.jsx(ml,{title:K.label,description:K.description,selected:E.templateId===K.id,onClick:()=>V(K)},K.id))})}),U==="harness"&&a.jsx(ba,{title:"What harness do you want to use?",support:"Choose the runtime that will execute this agent.",children:a.jsx("div",{className:"new-agent-wizard__option-grid",children:l.harnesses.map(K=>a.jsx(ml,{title:K.label,description:K.description,selected:E.type===K.type,onClick:()=>ne(K)},K.type))})}),U==="model"&&a.jsxs(ba,{title:"Which model should it use?",support:"Default lets the harness choose. You can also pick a preset or enter a model.",children:[a.jsxs("div",{className:"new-agent-wizard__option-grid",children:[(B?.modelOptions??[]).map(K=>a.jsx(ml,{title:K.label,description:K.isDefault?"Use the harness default":Yx(K),selected:z===K.id,onClick:()=>ye(K)},K.id)),a.jsx(ml,{title:"Custom",description:"Use a provider and model ID",selected:z==="custom",onClick:()=>ye("custom")})]}),z==="custom"&&a.jsxs("div",{className:"new-agent-wizard__field-grid",children:[a.jsxs("label",{className:"new-agent-wizard__field",children:[a.jsx(b,{size:"1",tone:"muted",children:"Provider ID"}),a.jsx("input",{value:D,onChange:K=>q(K.target.value,O),placeholder:"openai"})]}),a.jsxs("label",{className:"new-agent-wizard__field",children:[a.jsx(b,{size:"1",tone:"muted",children:"Model ID"}),a.jsx("input",{value:O,onChange:K=>q(D,K.target.value),placeholder:"gpt-5.3-codex"})]})]})]}),U==="status"&&a.jsx(ba,{title:"When should this agent react?",support:"These task statuses trigger the agent. Select none if it should only run manually.",children:a.jsx("div",{className:"new-agent-wizard__option-grid",children:mz.map(K=>{const oe=Hn[K];return a.jsx(ml,{title:oe.label,description:K,selected:(E.statusTriggers??[]).includes(K),onClick:()=>le(K)},K)})})}),U==="tags"&&a.jsx(ba,{title:"Should this only run for certain tags?",support:"Leave this blank to react to every task with the selected status.",children:a.jsxs("label",{className:"new-agent-wizard__field",children:[a.jsx(b,{size:"1",tone:"muted",children:"Tag names"}),a.jsx("input",{value:R,onChange:K=>de(K.target.value),placeholder:"code, review"})]})}),U==="avatar"&&a.jsx(ba,{title:"Choose avatar",support:"Pick one of the bundled avatars that the backend exposes for agents.",children:a.jsx(jS,{avatars:l.avatars,selectedUrl:E.avatarUrl??void 0,onSelect:Z})}),U==="prompt"&&a.jsx(ba,{title:"What should this agent do?",support:"Write the system prompt for this custom agent.",children:a.jsx("textarea",{className:"new-agent-wizard__prompt-editor",value:E.systemPrompt,onChange:K=>v(oe=>({...oe,draft:{...oe.draft,systemPrompt:K.target.value}})),placeholder:"You are an agent that...","aria-label":"System prompt"})}),U==="identity"&&a.jsxs(ba,{title:"Almost done. Name your agent.",support:"Tools can be added from the agent page after creation.",children:[a.jsxs("div",{className:"new-agent-wizard__identity-fields",children:[a.jsxs("label",{className:"new-agent-wizard__identity-field",children:[a.jsx(b,{size:"1",tone:"muted",children:"Display name"}),a.jsx("input",{className:"new-agent-wizard__name-input",value:E.name,onChange:K=>ve(K.target.value),placeholder:"Code Reviewer",autoFocus:!0})]}),a.jsxs("label",{className:"new-agent-wizard__identity-field",children:[a.jsx(b,{size:"1",tone:"muted",children:"Slug"}),a.jsxs("div",{className:"new-agent-wizard__slug-row",children:[a.jsx(b,{as:"span",size:"4",tone:"muted",children:"@"}),a.jsx("input",{className:"new-agent-wizard__slug-input",value:E.slug,onChange:K=>M(K.target.value),placeholder:"code-reviewer"})]})]})]}),a.jsxs("div",{className:"new-agent-wizard__summary",children:[a.jsx(b,{size:"2",weight:"medium",children:"Summary"}),a.jsxs(b,{size:"2",tone:"muted",children:["Template: ",bz(l.templates,E.templateId)]}),a.jsxs(b,{size:"2",tone:"muted",children:["Harness: ",B?.label??E.type??"Other"]}),a.jsxs(b,{size:"2",tone:"muted",children:["Model: ",E.modelId?Yx(E):"Default"]}),a.jsxs(b,{size:"2",tone:"muted",children:["Avatar: ",pz(l,E.avatarUrl)]}),a.jsxs(b,{size:"2",tone:"muted",children:["Triggers: ",(E.statusTriggers??[]).length>0?E.statusTriggers?.join(", "):"Manual"]}),a.jsxs(b,{size:"2",tone:"muted",children:["Tags: ",(E.tagTriggers??[]).length>0?E.tagTriggers?.join(", "):"Any tag"]})]})]}),k&&a.jsx(b,{size:"2",className:"new-agent-wizard__error",children:k})]}),a.jsxs("div",{className:"new-agent-wizard__footer",children:[a.jsx(re,{variant:"secondary",size:"lg",fullWidth:!0,onClick:L===0?()=>{S(),n("/agents")}:fe,children:L===0?"Cancel":"Back"}),a.jsx(re,{size:"lg",fullWidth:!0,onClick:F?ge:H,disabled:!$||x,children:F?x?"Creating...":"Create agent":"Next"})]})]})}function ba({title:n,support:e,children:r}){return a.jsxs(te,{spacing:"4",className:"new-agent-wizard__section",children:[a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"5",weight:"bold",children:n}),a.jsx(b,{size:"2",tone:"muted",children:e})]}),r]})}function ml({title:n,description:e,selected:r,onClick:l}){return a.jsxs("button",{className:`new-agent-wizard__option ${r?"new-agent-wizard__option--selected":""}`,type:"button",onClick:l,children:[a.jsx(b,{size:"3",weight:"medium",children:n}),a.jsx(b,{size:"2",tone:"muted",children:e})]})}function Vx(n,e){return n==="template"?!!e.templateId:n==="harness"?!!e.type:n==="prompt"?!!e.systemPrompt.trim():n==="identity"?!!(e.name.trim()&&e.slug.trim()):!0}function bz(n,e){return n.find(r=>r.id===e)?.label??"Custom"}function Yx(n){const e=[n.providerId,n.modelId].filter(Boolean);return e.length>0?e.join(" / "):"Default"}function _z(n){return n.toLowerCase().trim().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")}function Sz(n){return n.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9_-]/g,"")}function jz(){return a.jsx(YD,{children:a.jsx(ys,{children:a.jsxs(we,{element:a.jsx(WD,{}),children:[a.jsx(we,{index:!0,element:a.jsx(KD,{})}),a.jsx(we,{path:"/new",element:a.jsx(xz,{})}),a.jsx(we,{path:"/agent/:slug",element:a.jsx(oz,{})}),a.jsx(we,{path:"/agent/:slug/tools",element:a.jsx(fz,{})})]})})})}function Tz({thread:n,onClick:e}){return a.jsx(je,{onClick:e,trailing:n.unreadCount>0?a.jsx(El,{count:n.unreadCount}):void 0,children:a.jsx("div",{style:{minWidth:0,overflow:"hidden"},children:a.jsx(b,{weight:"bold",size:"3",tone:"default",children:n.title})})})}function TS(){const{hasMoreThreads:n,isLoadingMore:e,loadMoreError:r,loadMoreThreads:l}=Gs(),c=d.useRef(null),u=n&&!e&&!r;return d.useEffect(()=>{const h=c.current;if(!u||!h||typeof IntersectionObserver>"u")return;const g=new IntersectionObserver(p=>{p.some(y=>y.isIntersecting)&&l()},{rootMargin:"200px"});return g.observe(h),()=>g.disconnect()},[u,l]),n?a.jsx("div",{ref:c,className:"thread-list-load-more",children:e?a.jsxs("div",{className:"thread-list-load-more__status",role:"status","aria-live":"polite",children:[a.jsx("span",{className:"thread-list-load-more__spinner","aria-hidden":"true"}),a.jsx(b,{size:"1",tone:"muted",children:"Loading more threads..."})]}):a.jsxs(a.Fragment,{children:[r?a.jsx(b,{size:"1",tone:"muted",children:"Could not load more threads."}):null,a.jsx(re,{variant:"secondary",onClick:()=>{l()},children:r?"Try again":"Show more"})]})}):null}function Yf({contextBlock:n,isStateMemory:e=!1}){const r=ze(),l=u=>{u.metaKey||u.ctrlKey?(u.stopPropagation(),window.open(`/context/block/${n.id}`,"_blank")):r(`/context/block/${n.id}`)},c=u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),r(`/context/block/${n.id}`))};return a.jsx($e,{className:"thread-context-card",children:a.jsxs("div",{className:"thread-context-card__content",role:"button",tabIndex:0,onClick:l,onKeyDown:c,children:[a.jsx(b,{size:"2",weight:"semibold",children:n.title}),a.jsxs("div",{className:"thread-context-card__meta",children:[a.jsxs(b,{size:"1",tone:"muted",children:["#",n.id.slice(0,6)]}),e&&a.jsx(pn,{color:"blue",children:"State"})]})]})})}function wz(){const{threads:n,setSectionTitle:e,createThread:r}=Gs(),l=ze(),c=zt(),{showError:u,showToast:h}=mn(),{registerCommands:g}=zl(),{readiness:p,isReady:y,isLoading:v}=oi();xt(),d.useEffect(()=>{e("Threads 🧵")},[e]);const S=_=>{l(`/threads/${_}`)},x=d.useCallback(async()=>{if(c){l("/threads");return}if(!y){h("Thread chat unlocks in Chat Settings.","info"),l("/settings/models");return}try{const _=await r();_&&l(`/threads/${_.id}`)}catch(_){console.error("Error creating thread"),console.error(_),u(_)}},[r,y,l,u,h]);return d.useEffect(()=>g([{id:"new-thread",label:"New Thread",description:"Create a new thread",aliases:["create thread","add thread"],onSelect:x}]),[g,x]),c?a.jsx(kz,{}):a.jsxs(a.Fragment,{children:[!v&&p&&!p.isReady?a.jsx(Fc,{title:p.title,description:p.description,ctaLabel:p.ctaLabel,onOpenSettings:()=>l("/settings/models")}):null,a.jsx(_e,{children:n.map(_=>a.jsx(Tz,{thread:_,onClick:()=>S(_.id)},_.id))}),a.jsx(TS,{}),a.jsx("button",{className:`threads-fab ${c?"threads-fab--desktop":""}`,type:"button",onClick:x,disabled:!y||v,"aria-label":"Create new thread",children:c?a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"threads-fab__plus",children:"+"}),a.jsx("span",{className:"threads-fab__label",children:"New thread"})]}):"+"})]})}function kz(){const n=ze(),{createThread:e,optimisticDraftThread:r,setOptimisticDraftThread:l}=Gs(),{showError:c}=mn(),[u,h,g]=li({key:"thread-chat-draft-new",defaultValue:{content:""}}),[p,y]=d.useState(!1),[v,S]=d.useState(null),x=d.useRef(null),{readiness:_,isLoading:k}=oi();d.useEffect(()=>{k||x.current?.focus()},[k]);const j=d.useCallback(async w=>{w.preventDefault();const E=u.content.trim();if(!(!E||p)){y(!0),S(null),l({title:"New thread",message:E}),h({content:""});try{const z=await e();await tn.ThreadsController_createMessage({id:z.id,body:{content:E}}),g(),l(null),n(`/threads/${z.id}`)}catch(z){const D=z instanceof Error?z.message:"Failed to start thread";S(D),h({content:E}),l(null),c(z)}finally{y(!1)}}},[g,e,u.content,p,n,h,l,c]);return r?a.jsx(Ez,{title:r.title,message:r.message}):a.jsxs("div",{className:"threads-page-desktop",children:[a.jsx("div",{className:"thread-detail-page__header",children:a.jsx("div",{className:"thread-detail-page__header-top",children:a.jsx("div",{children:a.jsx(b,{size:"5",weight:"bold",children:"New thread"})})})}),a.jsxs("div",{className:"thread-chat threads-page-desktop__chat",children:[a.jsx("div",{className:"thread-chat__messages","aria-label":"New thread messages"}),!k&&_&&!_.isReady?a.jsx("div",{className:"thread-chat__setup-callout",children:a.jsx(Fc,{title:_.title,description:_.description,ctaLabel:_.ctaLabel,onOpenSettings:()=>n("/settings/models")})}):a.jsxs("form",{className:"thread-chat__input-form",onSubmit:j,children:[a.jsxs("div",{className:"thread-chat__composer-row",children:[a.jsx("textarea",{ref:x,className:"thread-chat__input",value:u.content,onChange:w=>h({content:w.target.value}),placeholder:"Write a message...",rows:3,disabled:p||k,onKeyDown:w=>{w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),j(w))}}),a.jsx(re,{type:"submit",variant:"secondary",className:"thread-chat__send-btn",disabled:!u.content.trim()||p||k,children:p?"starting...":"send"})]}),v?a.jsx("div",{className:"thread-chat__status thread-chat__status--error",children:a.jsx(b,{size:"1",children:v})}):null]})]})]})}function Ez({title:n,message:e}){const{user:r}=ln(),{actors:l}=Ol(),c=l.find(p=>p.id===r?.actorId),u=c?.displayName||r?.displayName||"You",h=c?.slug,g=c?.avatarUrl||void 0;return a.jsxs("div",{className:"thread-detail-page thread-detail-page--desktop threads-page-desktop__optimistic",children:[a.jsx("div",{className:"thread-detail-page__main",children:a.jsxs("div",{className:"thread-detail-page__content",children:[a.jsx("div",{className:"thread-detail-page__header",children:a.jsx("div",{className:"thread-detail-page__header-top",children:a.jsxs("div",{children:[a.jsx(b,{size:"5",weight:"bold",children:n}),a.jsxs("div",{className:"thread-detail-page__meta-row",children:[a.jsx(pn,{color:"gray",children:"creating"}),a.jsx(b,{size:"1",tone:"muted",children:"1 participant"})]})]})})}),a.jsx("div",{className:"thread-detail-page__chat",children:a.jsxs("div",{className:"thread-chat",children:[a.jsx("div",{className:"thread-chat__messages",children:a.jsxs("div",{className:"thread-chat__message thread-chat__message--mine",children:[a.jsxs("div",{className:"thread-chat__message-header",children:[a.jsxs("div",{className:"thread-chat__author",children:[a.jsx(Fe,{name:u,src:g,size:"xs"}),a.jsx(b,{size:"1",weight:"semibold",children:u}),h?a.jsxs(b,{size:"1",tone:"muted",children:["@",h]}):null]}),a.jsx(b,{size:"1",tone:"muted",children:"sending..."})]}),a.jsx(b,{size:"2",children:e})]})}),a.jsx("form",{className:"thread-chat__input-form",children:a.jsxs("div",{className:"thread-chat__composer-row",children:[a.jsx("textarea",{className:"thread-chat__input",placeholder:"Write a message...",rows:3,disabled:!0}),a.jsx(re,{type:"submit",variant:"secondary",className:"thread-chat__send-btn",disabled:!0,children:"starting..."})]})})]})})]})}),a.jsx("div",{className:"thread-detail-page__sidebar threads-page-desktop__optimistic-sidebar",children:a.jsx("div",{className:"thread-detail-page__sidebar-scroll",children:a.jsxs("div",{className:"thread-detail-page__sidebar-section",children:[a.jsx(b,{size:"2",weight:"semibold",className:"thread-detail-page__sidebar-header",children:"Context (1)"}),a.jsx("div",{className:"thread-detail-page__sidebar-content",children:a.jsx(Yf,{contextBlock:{id:"creating",title:"Thread state memory"},isStateMemory:!0})})]})})})]})}function Cz(){const n=zt(),{id:e}=nn(),r=!!e,l=ze(),{threads:c,totalThreads:u,isLoading:h,error:g,sectionTitle:p,navItems:y,optimisticDraftThread:v,refreshThreads:S}=Gs(),[x,_]=d.useState(!1),k=c.reduce((j,w)=>j+w.unreadCount,0);return d.useEffect(()=>{S()},[S]),d.useEffect(()=>{if(!n)return;const j=localStorage.getItem("threads-sidebar-collapsed");_(j==="true")},[n]),d.useEffect(()=>{n&&localStorage.setItem("threads-sidebar-collapsed",String(x))},[n,x]),n?a.jsxs("div",{className:"threads-layout threads-layout--desktop",children:[a.jsxs("aside",{className:`threads-layout__sidebar ${x?"threads-layout__sidebar--collapsed":""}`,children:[a.jsx("div",{className:"threads-layout__sidebar-header",children:x?k>0?a.jsx(El,{count:k}):a.jsx(b,{as:"div",size:"1",tone:"muted",children:u}):a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",className:"threads-layout__sidebar-title",onClick:()=>l("/threads"),children:a.jsx(b,{as:"span",size:"2",weight:"semibold",children:"Threads"})}),a.jsxs("div",{className:"threads-layout__sidebar-header-actions",children:[a.jsx(b,{as:"div",size:"1",tone:"muted",children:u}),a.jsx("button",{type:"button",className:"threads-layout__sidebar-new",onClick:()=>l("/threads"),"aria-label":"New thread",title:"New thread",children:"+"})]})]})}),a.jsx("div",{className:"threads-layout__sidebar-body",children:x?null:h?a.jsx("div",{className:"threads-layout__sidebar-status",children:"Loading threads..."}):g?a.jsxs("div",{className:"threads-layout__sidebar-status",children:["Error: ",g]}):c.length===0?a.jsx("div",{className:"threads-layout__sidebar-status",children:"No threads yet"}):a.jsxs("div",{className:"threads-layout__thread-list",children:[v?a.jsx("button",{type:"button",className:"threads-layout__thread-item threads-layout__thread-item--active",onClick:()=>l("/threads"),children:a.jsx("span",{className:"threads-layout__thread-title",children:v.title})}):null,c.map(j=>{const w=j.id===e;return a.jsxs("button",{type:"button",className:`threads-layout__thread-item ${w?"threads-layout__thread-item--active":""} ${j.unreadCount>0?"threads-layout__thread-item--unread":""}`,onClick:()=>l(`/threads/${j.id}`),children:[a.jsx("span",{className:"threads-layout__thread-title",children:j.title}),a.jsx(El,{count:j.unreadCount})]},j.id)}),a.jsx(TS,{})]})}),a.jsx("button",{type:"button",className:"threads-layout__sidebar-toggle",onClick:()=>_(j=>!j),"aria-label":x?"Expand threads sidebar":"Collapse threads sidebar",children:x?"→":"←"})]}),a.jsx("main",{className:"threads-layout__main",children:a.jsx(Wt,{})})]}):a.jsx("div",{style:{minHeight:0},children:r?a.jsx(Wt,{}):a.jsx(tr,{appTitle:"Threads",sectionTitle:p,navItems:y,children:a.jsx(Wt,{})})})}function Nz({task:n}){const e=ze(),r=n.tags.map(u=>({label:u.name}));n.commentCount>0&&r.push({label:`💬 ${n.commentCount}`});const l=n.inputRequests.filter(u=>!u.resolvedAt).length;l>0&&r.push({label:`✋ ${l}`});const c=u=>{u.metaKey||u.ctrlKey?(u.stopPropagation(),window.open(`/tasks/task/${n.id}`,"_blank")):e(`/tasks/task/${n.id}`)};return a.jsxs(Ab,{leading:a.jsx(Fe,{name:n.createdByActor.displayName,inactive:en(n.createdByActor),size:"md",src:n.createdByActor.avatarUrl||void 0}),topRight:Mt(n.updatedAt),tags:r,onClick:c,highlight:l>0,footer:a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"row-detail truncate",children:["#",n.id.slice(0,6)]}),a.jsx("span",{className:"row-detail truncate",children:n.assigneeActor?`Assigned: ${Ht(n.assigneeActor)}`:"unassigned"})]}),children:[a.jsx("div",{className:"row-title truncate",children:n.name}),a.jsx("div",{className:"row-subtitle truncate",children:n.description})]})}function Az({task:n,onClick:e}){const r=n.assigneeActor??n.createdByActor,l=n.tags.map(u=>({label:u.name}));n.commentCount>0&&l.push({label:`comments ${n.commentCount}`});const c=n.inputRequests.filter(u=>!u.resolvedAt).length;return c>0&&l.push({label:`questions ${c}`}),a.jsxs(je,{leading:a.jsx(Fe,{name:r.displayName,inactive:en(r),size:"lg",src:r.avatarUrl||void 0}),topRight:Mt(n.updatedAt),tags:l,highlight:c>0,onClick:e,children:[a.jsxs(b,{className:"pre",children:["#",n.id.slice(0,6)]}),a.jsx("div",{style:{minWidth:0,overflow:"hidden"},children:a.jsx(b,{weight:"bold",size:"3",tone:"default",children:a.jsx("span",{className:"task-row__title",children:a.jsx("span",{className:"task-row__titleText",children:n.name})})})}),a.jsx("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:n.description}),a.jsxs("div",{style:{fontSize:12},className:"text--tone-muted",children:[n.assigneeActor?`Assigned: ${Ht(n.assigneeActor)}`:"unassigned"," - ",`Created by ${Ht(n.createdByActor)}`]})]})}function wS({subscriptions:n}){return a.jsx("ul",{className:"thread-task-subscription-list",children:n.map(e=>a.jsx("li",{children:a.jsxs(vs,{to:`/tasks/task/${e.taskId}`,className:"thread-task-subscription-list__item",title:"The agent is notified when this task is in review or done",children:[a.jsx(pC,{size:14,className:"thread-task-subscription-list__icon","aria-hidden":"true"}),a.jsx("span",{className:"thread-task-subscription-list__name truncate",children:e.name}),a.jsx("span",{className:"thread-task-subscription-list__status",children:Hn[e.status]?.label??e.status})]})},e.taskId))})}const Rz=(n,e)=>{const r=new Date(n.createdAt).getTime(),l=new Date(e.createdAt).getTime();return r!==l?r-l:n.id<e.id?-1:n.id>e.id?1:0},Cl=n=>[...n].sort(Rz),kS=(n,e)=>{if(n.length===0||e.length===0)return!1;const r=new Set(n.map(l=>l.id));return!e.some(l=>r.has(l.id))},Dz=(n,e)=>{if(e.length===0)return n;const r=new Set(n.map(c=>c.id)),l=e.filter(c=>!r.has(c.id));if(l.length===0)return n;if(kS(n,e)){const c=Math.max(...e.map(u=>new Date(u.createdAt).getTime()));return Cl([...e,...n.filter(u=>new Date(u.createdAt).getTime()>=c)])}return Cl([...n,...l])},Fr=50,zz=n=>{const[e,r]=d.useState(!1),[l,c]=d.useState(null),[u,h]=d.useState(!0),[g,p]=d.useState(null),[y,v]=d.useState(!1),[S,x]=d.useState(null),[_,k]=d.useState(!1),[j,w]=d.useState(!1),E=d.useRef(2),z=d.useRef(!1),[D,O]=d.useState(null),[R,N]=d.useState([]),C=d.useRef(R);C.current=R;const L=d.useRef(n);L.current=n;const U=d.useRef(null),B=d.useCallback(async()=>{r(!0),c(null);try{const q=await tn.ThreadsController_getThread({id:n});O(q||null)}catch(q){c(q instanceof Error?q.message:"Failed to load thread")}finally{r(!1)}},[n]),$=d.useCallback(()=>{const Z=(async()=>{h(!0),p(null);const le=new Set(C.current.map(de=>de.id));try{const de=await tn.ThreadsController_listMessages({id:n,page:1,limit:Fr}),ve=new Set(de.items.map(M=>M.id));N(M=>Cl([...de.items,...M.filter(H=>!le.has(H.id)&&!ve.has(H.id))])),k(de.total>Fr),E.current=2}catch(de){p(de instanceof Error?de.message:"Failed to load messages")}finally{h(!1)}})().finally(()=>{U.current===Z&&(U.current=null)});return U.current=Z,Z},[n]),F=d.useCallback(async()=>{await U.current;try{const q=await tn.ThreadsController_listMessages({id:n,page:1,limit:Fr});if(L.current!==n)return;const Z=C.current;(Z.length===0||kS(Z,q.items))&&(k(q.total>Fr),E.current=2),N(le=>Dz(le,q.items)),p(null)}catch(q){console.error("Failed to catch up on thread messages",q)}},[n]),V=d.useCallback(async()=>{if(!z.current){z.current=!0,w(!0),p(null);try{const q=E.current,Z=await tn.ThreadsController_listMessages({id:n,page:q,limit:Fr});N(le=>{const de=new Set(le.map(ve=>ve.id));return Cl([...Z.items.filter(ve=>!de.has(ve.id)),...le])}),k(Z.total>q*Fr),E.current=q+1}catch(q){p(q instanceof Error?q.message:"Failed to load older messages")}finally{z.current=!1,w(!1)}}},[n]),ne=d.useCallback(async q=>{v(!0),x(null);let Z=null;try{Z=await tn.ThreadsController_createMessage({id:n,body:{content:q}})}catch(le){x(le instanceof Error?le.message:"Failed to send message")}finally{v(!1)}return Z},[n]),ye=d.useCallback(async q=>{await tn.ThreadsController_deleteThread({id:q}),O(null)},[]);return{thread:D,messages:R,isLoading:e,error:l,chatIsLoading:u,chatError:g,chatIsSending:y,chatSendError:S,hasOlderMessages:_,isLoadingOlderMessages:j,loadThread:B,loadMessages:$,catchUpMessages:F,loadOlderMessages:V,sendMessage:ne,deleteThread:ye,setMessages:N,setThread:O}},Kx={HUMAN:"human",AGENT:"agent"},Oz=Ta("/threads"),Lz=n=>{if(n){if(n.type===Ac.HUMAN)return{...n,type:Kx.HUMAN,deletedAt:n.deletedAt??null};if(n.type===Ac.AGENT)return{...n,type:Kx.AGENT,deletedAt:n.deletedAt??null}}},Mz=n=>{const[e,r]=d.useState(null),[l,c]=d.useState(!1),[u,h]=d.useState(null),[g,p]=d.useState(null),y=d.useRef(null),v=d.useRef(null),S=d.useRef(null),x=d.useCallback(()=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{h(null),y.current=null},3e3)},[]),_=d.useCallback(j=>{v.current=j},[]),k=d.useCallback(j=>{S.current=j},[]);return d.useEffect(()=>{const j=Gn(Oz,{transports:["websocket","polling"],withCredentials:!0});return j.on("connect",()=>{j.emit("threads.subscribe",{threadId:n},w=>{w.ok?(c(!0),S.current?.()):(console.error("Failed to subscribe to thread room",{threadId:n,ack:w}),c(!1))})}),j.on("connect_error",w=>{console.error("Thread websocket connect_error",{threadId:n,message:w.message})}),j.on("disconnect",()=>{c(!1),y.current&&(clearTimeout(y.current),y.current=null),h(null),p(null)}),j.on(Ps.MESSAGE_CREATED,w=>{if(w.payload.threadId!==n)return;y.current&&(clearTimeout(y.current),y.current=null),h(null),p(D=>D&&(D.actorId===w.payload.createdByActorId?null:D));const E=Lz(w.payload.createdByActor),z={...w.payload,createdByActor:E};v.current&&v.current(z)}),j.on(Ps.AGENT_ACTIVITY,w=>{w.payload.threadId===n&&(h(w.payload.kind),x())}),j.on(Ps.AGENT_RESPONSE_DELTA,w=>{w.payload.threadId===n&&p(E=>!E||E.streamId!==w.payload.streamId?{streamId:w.payload.streamId,actorId:w.actor.id,content:w.payload.delta}:{...E,content:`${E.content}${w.payload.delta}`})}),r(j),()=>{j.emit("threads.unsubscribe",{threadId:n}),y.current&&(clearTimeout(y.current),y.current=null),p(null),j.close()}},[n,x]),{socket:e,isConnected:l,agentActivity:u,agentResponseStream:g,onMessageCreated:_,onSubscribed:k}},Iz=500,qz=n=>{const{messages:e,isLoading:r,error:l,chatIsLoading:c,chatError:u,chatIsSending:h,chatSendError:g,hasOlderMessages:p,isLoadingOlderMessages:y,loadThread:v,loadMessages:S,catchUpMessages:x,loadOlderMessages:_,sendMessage:k,setMessages:j}=zz(n),{agentActivity:w,agentResponseStream:E,onMessageCreated:z,onSubscribed:D}=Mz(n);return d.useEffect(()=>{v()},[v]),d.useEffect(()=>{let O=!1;const R=()=>{O=!0,S()};D(()=>{O?x():R()});const N=setTimeout(()=>{O||R()},Iz);return()=>{clearTimeout(N),D(null)}},[D,S,x]),d.useEffect(()=>{z(O=>{j(R=>Cl([...R.filter(N=>N.id!==O.id),O]))})},[z,j]),{isLoading:r,error:l,chatIsLoading:c,chatError:u,chatIsSending:h,chatSendError:g,hasOlderMessages:p,isLoadingOlderMessages:y,messages:e,agentActivity:w,agentResponseStream:E,sendMessage:k,loadOlderMessages:_}},Qx=()=>document.visibilityState==="visible",Uz=(n,e,r)=>{const{markThreadRead:l,setViewingThreadId:c}=Gs(),[u,h]=d.useState(Qx);d.useEffect(()=>{const p=()=>h(Qx());return document.addEventListener("visibilitychange",p),()=>document.removeEventListener("visibilitychange",p)},[]);const g=u&&r;d.useEffect(()=>{if(g)return c(n),()=>c(null)},[n,g,c]),d.useEffect(()=>{g&&l(n)},[n,e,g,l])};function ES({threadId:n}){const e=ze(),[r,l,c]=li({key:`thread-chat-draft-${n}`,defaultValue:{content:""}}),{content:u}=r,h=d.useRef(null),g=d.useRef(null),p=d.useRef(null),y=d.useRef(!1),v=d.useRef(null),{user:S}=ln(),{readiness:x,isReady:_,isLoading:k}=oi(),{messages:j,agentActivity:w,agentResponseStream:E,sendMessage:z,chatIsSending:D,chatIsLoading:O,chatError:R,chatSendError:N,hasOlderMessages:C,isLoadingOlderMessages:L,loadOlderMessages:U}=qz(n);Uz(n,j.length>0?j[j.length-1].id:null,!O&&!R);const B=()=>{p.current=g.current?.scrollHeight??null,U()};d.useLayoutEffect(()=>{const V=g.current,ne=p.current;if(!V||ne===null||L)return;p.current=null;const ye=V.scrollHeight-ne;ye!==0&&(V.scrollTop+=ye,y.current=!0)},[j,L]),d.useEffect(()=>{if(y.current){y.current=!1;return}h.current?.scrollIntoView({behavior:"smooth"})},[j,w,E?.content]),d.useEffect(()=>{O||v.current?.focus()},[O,n]);const $=async V=>{if(V.preventDefault(),!(!u.trim()||D))try{await z(u),c(),requestAnimationFrame(()=>{v.current?.focus()})}catch(ne){console.error("Failed to send message:",ne)}},F=V=>{const ne=new Date(V);return new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(ne)};return O?a.jsx("div",{className:"thread-chat",children:a.jsx(b,{size:"2",tone:"muted",children:"Loading messages..."})}):a.jsxs("div",{className:"thread-chat",children:[a.jsxs("div",{className:"thread-chat__messages",ref:g,children:[C&&a.jsx("div",{className:"thread-chat__older",children:a.jsx(re,{type:"button",variant:"secondary",onClick:B,disabled:L,children:L?"loading...":"load earlier messages"})}),R&&a.jsx("div",{className:"thread-chat__status thread-chat__status--error",children:a.jsx(b,{size:"2",children:R})}),j.length===0?a.jsx("div",{className:"thread-chat__empty-state",children:a.jsx(b,{size:"2",tone:"muted",children:"No messages yet. Start the conversation."})}):j.map(V=>{const ne=V.createdByActor,ye=!!(S?.actorId&&S.actorId===V.createdByActorId),q=ne?.displayName||"Anonymous",Z=ne?Ht(ne):null;return a.jsxs("div",{className:`thread-chat__message ${ye?"thread-chat__message--mine":""}`,children:[a.jsxs("div",{className:"thread-chat__message-header",children:[a.jsxs("div",{className:"thread-chat__author",children:[a.jsx(Fe,{name:q,inactive:en(ne),src:ne?.avatarUrl||void 0,size:"xs"}),a.jsx(b,{size:"1",weight:"semibold",children:q}),Z&&a.jsx(b,{size:"1",tone:"muted",children:Z})]}),a.jsx(b,{size:"1",tone:"muted",children:F(V.createdAt)})]}),a.jsx("div",{className:"thread-chat__message-content",children:a.jsx(af,{children:V.content})})]},V.id)}),E&&a.jsxs("div",{className:"thread-chat__message thread-chat__message--streaming",role:"status","aria-live":"polite",children:[a.jsxs("div",{className:"thread-chat__message-header",children:[a.jsxs("div",{className:"thread-chat__author",children:[a.jsx(Fe,{name:"Assistant",size:"xs"}),a.jsx(b,{size:"1",weight:"semibold",children:"Assistant"})]}),a.jsx(b,{size:"1",tone:"muted",children:"typing..."})]}),a.jsx("div",{className:"thread-chat__message-content",children:a.jsx(af,{children:E.content})})]}),a.jsx("div",{ref:h})]}),_&&w&&a.jsx("div",{className:"thread-chat__activity",role:"status","aria-live":"polite",children:a.jsx(b,{size:"1",tone:"muted",children:w==="thinking"?"Assistant is thinking...":"Assistant is calling a tool..."})}),!k&&x&&!x.isReady?a.jsx("div",{className:"thread-chat__setup-callout",children:a.jsx(Fc,{title:x.title,description:x.description,ctaLabel:x.ctaLabel,onOpenSettings:()=>e("/settings/models")})}):a.jsxs("form",{className:"thread-chat__input-form",onSubmit:$,children:[a.jsxs("div",{className:"thread-chat__composer-row",children:[a.jsx("textarea",{ref:v,className:"thread-chat__input",value:u,onChange:V=>l({...r,content:V.target.value}),placeholder:"Write a message to this thread...",rows:3,disabled:D||k,onKeyDown:V=>{V.key==="Enter"&&!V.shiftKey&&(V.preventDefault(),$(V))}}),a.jsx(re,{type:"submit",variant:"secondary",className:"thread-chat__send-btn",disabled:!u.trim()||D||k,children:D?"sending...":"send"})]}),N&&a.jsx("div",{className:"thread-chat__status thread-chat__status--error",children:a.jsx(b,{size:"1",children:N})})]})]})}const Bz=n=>{const[e,r]=d.useState(null),l=d.useRef(0),c=d.useCallback(async()=>{if(!n)return;const u=++l.current;try{const h=await tn.ThreadsController_getThreadTokenUsage({id:n});u===l.current&&r(h)}catch{u===l.current&&r(null)}},[n]);return d.useEffect(()=>{r(null),c()},[c]),{usage:e,refresh:c}},Pz=n=>n<1e3?String(Math.round(n)):n<1e6?`${Math.floor(n/1e3)}K`:`${(Math.floor(n/1e5)/10).toFixed(1).replace(/\.0$/,"")}M`,$z=[{path:"/dashboard",label:"Dashboard",icon:wf},{path:"/tasks",label:"Tasks",icon:l1},{path:"/context",label:"Context",icon:kf}];function Hz(n){return $z.map(e=>({...e,path:`/threads/${n}${e.path}`}))}const Gz=Ta("/threads"),Fz=Ta("/tasks"),Vz=[Te.DONE,Te.FOR_REVIEW,Te.IN_PROGRESS,Te.NOT_STARTED],CS=n=>{const e=n.parentTaskId,r=e&&typeof e=="string"?n.tasks.find(u=>u.id===e):null,l=[];r&&l.push({status:"parent",label:"Parent Task",tasks:[r]});const c={[Te.DONE]:[],[Te.FOR_REVIEW]:[],[Te.IN_PROGRESS]:[],[Te.NOT_STARTED]:[]};return n.tasks.forEach(u=>{if(e&&u.id===e)return;const h=u.status;c[h]&&c[h].push(u)}),Vz.forEach(u=>{c[u].length>0&&l.push({status:u,label:Hn[u].label,tasks:c[u]})}),l},NS=n=>{const e=[{id:n.stateContextBlockId,title:"Thread state memory",isStateMemory:!0}];return n.referencedContextBlocks.forEach(r=>{r.id!==n.stateContextBlockId&&e.push({id:r.id,title:r.title,isStateMemory:!1})}),e};function gc(){const{id:n}=nn(),e=ze(),{setSectionTitle:r,getThread:l,deleteThread:c}=Gs(),u=zt(),[h,g]=d.useState(null),[p,y]=d.useState(!0),[v,S]=d.useState(null),x=d.useRef(new Set),{usage:_,refresh:k}=Bz(n),{setNavItems:j}=Gs();xt(h?{thread:{title:h.title}}:void 0);const w=d.useCallback(async()=>{if(n)try{const z=await l(n);g(z),S(null)}catch(z){S(z instanceof Error?z.message:"Failed to load thread")}},[n,l]);if(d.useEffect(()=>{x.current=new Set([...h?.tasks.map(z=>z.id)??[],...h?.taskSubscriptions.map(z=>z.taskId)??[]])},[h]),d.useEffect(()=>{if(!n)return;j(Hz(n)),(async()=>(y(!0),await w(),y(!1)))()},[n,w,j]),d.useEffect(()=>{if(!n)return;const z=Gn(Gz,{transports:["websocket","polling"],withCredentials:!0});z.on("connect",()=>{z.emit("threads.subscribe",{threadId:n}),w()}),z.on(Ps.THREAD_UPDATED,R=>{R.payload.id===n&&w()}),z.on(Ps.MESSAGE_CREATED,R=>{R.payload.threadId===n&&k()}),z.on(Ps.THREAD_TITLE_UPDATED,R=>{R.payload.threadId===n&&w()});const D=Gn(Fz,{transports:["websocket","polling"],withCredentials:!0});D.on("connect",()=>{D.emit("tasks.subscribe",{}),w()});const O=R=>{x.current.has(R)&&w()};return D.on(kn.TASK_UPDATED,R=>{O(R.payload.id)}),D.on(kn.TASK_STATUS_CHANGED,R=>{O(R.payload.id)}),D.on(kn.TASK_ASSIGNED,R=>{O(R.payload.id)}),D.on(kn.TASK_DELETED,R=>{O(R.payload.taskId)}),()=>{z.emit("threads.unsubscribe",{threadId:n}),z.close(),D.emit("tasks.unsubscribe",{}),D.close()}},[n,w,k]),d.useEffect(()=>{if(!h){r("Thread");return}r(h.title)},[h,r]),p)return a.jsx("div",{className:"thread-detail-page",children:a.jsx(te,{spacing:"4",align:"center",children:a.jsx(b,{size:"3",tone:"muted",children:"Loading..."})})});if(v||!h)return a.jsx("div",{className:"thread-detail-page",children:a.jsxs(te,{spacing:"4",align:"center",children:[a.jsx(b,{size:"3",tone:"muted",children:v||"Thread not found"}),a.jsx(re,{variant:"secondary",onClick:()=>e("/threads"),children:"Back to threads"})]})});const E=async()=>{await c(h.id),e("/threads")};return u?a.jsx(Kz,{thread:h,tokenUsage:_,onDelete:E}):a.jsx(Qz,{thread:h,tokenUsage:_,onDelete:E})}const Yz="https://chatgpt.com/settings/usage";function AS({label:n,usesChatgptPlan:e}){return a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"thread-detail-page__model",title:"Model answering in this thread",children:[a.jsx(c_,{size:14,strokeWidth:1.8,"aria-hidden":"true"}),a.jsx(b,{size:"1",tone:"muted",children:n})]}),e?a.jsxs("span",{className:"thread-detail-page__model",title:"Your own ChatGPT plan answers the messages you write here",children:[a.jsx(b,{size:"1",tone:"muted",children:"Using ChatGPT plan ·"}),a.jsx("a",{className:"thread-detail-page__model-link",href:Yz,target:"_blank",rel:"noreferrer",children:"Manage usage"})]}):null]})}function RS({usage:n}){if(!n)return null;const{contextTokens:e,inputTokens:r,outputTokens:l,steps:c}=n;if(e===null&&r===null&&l===null)return a.jsx("span",{className:"thread-detail-page__token-usage",title:c>0?"The model provider reported no token figures for this thread":"No model step has reported token usage in this thread yet",children:a.jsx(b,{size:"1",tone:"muted",children:"tokens n/a"})});const u=p=>p===null?"n/a":p.toLocaleString("en-US"),h=p=>p===null?"n/a":Pz(p),g=r===null&&l===null?null:(r??0)+(l??0);return a.jsx("span",{className:"thread-detail-page__token-usage",title:["Token usage (debug)",`Context, input of the last model step: ${u(e)}`,`Input, all ${c} steps: ${u(r)}`,`Output, all ${c} steps: ${u(l)}`].join(`
|
|
115
|
+
`),children:a.jsxs(b,{size:"1",tone:"muted",children:[h(e)," ctx · ",h(g)," total"]})})}function Kz({thread:n,tokenUsage:e,onDelete:r}){const{conversationModel:l}=oi(),[c,u]=d.useState(!0),h=CS(n),g=NS(n);return a.jsxs("div",{className:"thread-detail-page thread-detail-page--desktop",children:[a.jsx("div",{className:"thread-detail-page__main",children:a.jsxs("div",{className:"thread-detail-page__content",children:[a.jsx("div",{className:"thread-detail-page__header",children:a.jsx("div",{className:"thread-detail-page__header-top",children:a.jsxs("div",{children:[a.jsx(b,{size:"5",weight:"bold",children:n.title}),a.jsxs("div",{className:"thread-detail-page__meta-row",children:[a.jsxs(pn,{color:"gray",children:["#",n.id.slice(0,6)]}),a.jsxs(b,{size:"1",tone:"muted",children:[n.participants.length," participants"]}),l&&a.jsx(AS,{label:`${l.modelId} via ${l.providerName}`,usesChatgptPlan:l.usesChatgptPlan}),a.jsx(RS,{usage:e})]})]})})}),a.jsx("div",{className:"thread-detail-page__chat",children:a.jsx(ES,{threadId:n.id})})]})}),a.jsxs("div",{className:`thread-detail-page__sidebar ${c?"":"thread-detail-page__sidebar--collapsed"}`,children:[c&&a.jsxs("div",{className:"thread-detail-page__sidebar-scroll",children:[n.participants.length>0&&a.jsxs("div",{className:"thread-detail-page__sidebar-section",children:[a.jsxs(b,{size:"2",weight:"semibold",className:"thread-detail-page__sidebar-header",children:["Participants (",n.participants.length,")"]}),a.jsx("div",{className:"thread-detail-page__participants",children:n.participants.map(p=>a.jsxs("div",{className:"thread-detail-page__participant",children:[a.jsx(Fe,{name:p.displayName,inactive:en(p),size:"sm",src:p.avatarUrl||void 0}),a.jsxs("div",{className:"thread-detail-page__participant-text",children:[a.jsx(b,{size:"2",weight:"medium",children:p.displayName}),a.jsx(b,{size:"1",tone:"muted",children:Ht(p)})]})]},p.id))})]}),h.map(p=>a.jsxs("div",{className:"thread-detail-page__sidebar-section",children:[a.jsxs(b,{size:"2",weight:"semibold",className:"thread-detail-page__sidebar-header",children:[p.label," (",p.tasks.length,")"]}),a.jsx("div",{className:"thread-detail-page__sidebar-content",children:p.tasks.map(y=>a.jsx(Nz,{task:y},y.id))})]},p.status)),n.taskSubscriptions.length>0&&a.jsxs("div",{className:"thread-detail-page__sidebar-section",children:[a.jsxs(b,{size:"2",weight:"semibold",className:"thread-detail-page__sidebar-header",children:["Watching (",n.taskSubscriptions.length,")"]}),a.jsx(wS,{subscriptions:n.taskSubscriptions})]}),g.length>0&&a.jsxs("div",{className:"thread-detail-page__sidebar-section",children:[a.jsxs(b,{size:"2",weight:"semibold",className:"thread-detail-page__sidebar-header",children:["Context (",g.length,")"]}),a.jsx("div",{className:"thread-detail-page__sidebar-content",children:g.map(p=>a.jsx(Yf,{contextBlock:p,isStateMemory:p.isStateMemory},`${p.id}-${p.isStateMemory?"state":"reference"}`))})]}),n.tasks.length===0&&g.length===0&&a.jsx("div",{className:"thread-detail-page__sidebar-empty",children:a.jsx(b,{size:"2",tone:"muted",children:"No context or tasks attached"})}),a.jsx("div",{className:"thread-detail-page__sidebar-section thread-detail-page__sidebar-delete",children:a.jsx("div",{className:"thread-detail-page__sidebar-content thread-detail-page__sidebar-content--centered",children:a.jsx(ii,{className:"thread-detail-page__delete-actions",onDelete:r,size:"md",deleteLabel:"Delete thread",confirmLabel:"Delete forever"})})})]}),a.jsx("button",{className:"thread-detail-page__sidebar-toggle",onClick:()=>u(p=>!p),"aria-label":c?"Collapse details panel":"Expand details panel",children:c?"→":"←"})]})]})}function Qz({thread:n,tokenUsage:e,onDelete:r}){const{conversationModel:l}=oi(),c=ze(),u=CS(n),h=NS(n),[g,p]=d.useState("chat"),[y,v]=d.useState(!1);return a.jsxs("div",{className:"thread-detail-page thread-detail-page--mobile",children:[a.jsx(Xz,{isOpen:y,onClose:()=>v(!1)}),a.jsxs("header",{className:"thread-detail-page__mobile-header",children:[a.jsx("button",{className:"thread-detail-page__mobile-burger",onClick:()=>v(!0),"aria-label":"Open menu",children:"☰"}),a.jsxs("div",{className:"thread-detail-page__mobile-header-content",children:[a.jsx(b,{size:"2",weight:"semibold",children:n.title}),a.jsxs("div",{className:"thread-detail-page__mobile-meta",children:[a.jsxs(b,{size:"1",tone:"muted",children:["#",n.id.slice(0,6)," · ",n.participants.length," participants"]}),l&&a.jsx(AS,{label:l.modelId,usesChatgptPlan:l.usesChatgptPlan}),a.jsx(RS,{usage:e})]})]})]}),a.jsxs("div",{className:"thread-detail-page__mobile-tabs",role:"tablist","aria-label":"Thread mobile views",children:[a.jsx("button",{type:"button",role:"tab","aria-selected":g==="chat",className:`thread-detail-page__mobile-tab ${g==="chat"?"thread-detail-page__mobile-tab--active":""}`,onClick:()=>p("chat"),children:"Chat"}),a.jsx("button",{type:"button",role:"tab","aria-selected":g==="tasks",className:`thread-detail-page__mobile-tab ${g==="tasks"?"thread-detail-page__mobile-tab--active":""}`,onClick:()=>p("tasks"),children:"Tasks"}),a.jsx("button",{type:"button",role:"tab","aria-selected":g==="context",className:`thread-detail-page__mobile-tab ${g==="context"?"thread-detail-page__mobile-tab--active":""}`,onClick:()=>p("context"),children:"Context"}),a.jsx("button",{type:"button",role:"tab","aria-selected":g==="more",className:`thread-detail-page__mobile-tab ${g==="more"?"thread-detail-page__mobile-tab--active":""}`,onClick:()=>p("more"),children:"More"})]}),a.jsxs("div",{className:"thread-detail-page__mobile-content",children:[g==="chat"&&a.jsx("div",{className:"thread-detail-page__mobile-chat-container",children:a.jsx(ES,{threadId:n.id})}),g==="tasks"&&a.jsxs("div",{className:"thread-detail-page__mobile-scrollable",children:[n.taskSubscriptions.length>0&&a.jsx("div",{className:"thread-detail-page__mobile-section",children:a.jsx(_e,{title:"Watching",children:a.jsx(wS,{subscriptions:n.taskSubscriptions})})}),u.length>0?u.map(S=>a.jsx("div",{className:"thread-detail-page__mobile-section",children:a.jsx(_e,{title:S.label,children:S.tasks.map(x=>a.jsx(Az,{task:x,onClick:()=>c(`/tasks/task/${x.id}`)},x.id))})},S.status)):a.jsx("div",{className:"thread-detail-page__mobile-empty",children:a.jsx(b,{size:"2",tone:"muted",children:"No tasks attached"})})]}),g==="context"&&a.jsx("div",{className:"thread-detail-page__mobile-scrollable",children:h.length>0?a.jsx("div",{className:"thread-detail-page__mobile-section",children:a.jsx("div",{className:"thread-detail-page__mobile-list",children:h.map(S=>a.jsx(Yf,{contextBlock:S,isStateMemory:S.isStateMemory},`${S.id}-${S.isStateMemory?"state":"reference"}`))})}):a.jsx("div",{className:"thread-detail-page__mobile-empty",children:a.jsx(b,{size:"2",tone:"muted",children:"No context blocks attached"})})}),g==="more"&&a.jsx("div",{className:"thread-detail-page__mobile-scrollable",children:a.jsx("div",{className:"thread-detail-page__mobile-section",children:a.jsxs(te,{spacing:"4",children:[a.jsxs(te,{spacing:"2",children:[a.jsx(b,{size:"2",weight:"semibold",children:"Thread Settings"}),a.jsx(b,{size:"2",tone:"muted",children:"Manage this thread's settings and data."})]}),a.jsx("div",{className:"thread-detail-page__mobile-settings-section",children:a.jsxs(te,{spacing:"3",children:[a.jsx(b,{size:"2",weight:"semibold",children:"Attach Items (Coming Soon)"}),a.jsxs(te,{spacing:"2",children:[a.jsx(re,{variant:"secondary",disabled:!0,className:"thread-detail-page__mobile-settings-button",children:"Add Task"}),a.jsx(re,{variant:"secondary",disabled:!0,className:"thread-detail-page__mobile-settings-button",children:"Add Context Block"})]})]})}),a.jsx("div",{className:"thread-detail-page__mobile-settings-section",children:a.jsxs(te,{spacing:"3",children:[a.jsx(b,{size:"2",weight:"semibold",children:"Danger Zone"}),a.jsx(ii,{className:"thread-detail-page__mobile-delete-action",onDelete:r,size:"md",deleteLabel:"Delete Thread",confirmLabel:"Delete Forever"})]})})]})})})]})]})}function Xz({isOpen:n,onClose:e}){const r=It();return a.jsxs(a.Fragment,{children:[n&&a.jsx("div",{className:"thread-detail-page__mobile-drawer-overlay",onClick:e}),a.jsxs("aside",{className:`thread-detail-page__mobile-drawer ${n?"thread-detail-page__mobile-drawer--open":""}`,children:[a.jsxs("div",{className:"thread-detail-page__mobile-drawer-header",children:[a.jsx(b,{size:"4",weight:"bold",children:"taico"}),a.jsx("button",{className:"thread-detail-page__mobile-drawer-close",onClick:e,"aria-label":"Close menu",children:"✕"})]}),a.jsx("nav",{className:"thread-detail-page__mobile-drawer-nav",children:Bs.map(l=>{const c=l.path===$c(r.pathname,Bs);return a.jsxs(vs,{to:l.path,className:`thread-detail-page__mobile-drawer-item ${c?"thread-detail-page__mobile-drawer-item--active":""}`,onClick:e,children:[a.jsx(Dl,{icon:l.icon,className:"thread-detail-page__mobile-drawer-icon"}),a.jsx("span",{className:"thread-detail-page__mobile-drawer-label",children:l.label})]},l.path)})})]})]})}function Zz(){return a.jsx(ys,{children:a.jsxs(we,{element:a.jsx(Cz,{}),children:[a.jsx(we,{index:!0,element:a.jsx(wz,{})}),a.jsx(we,{path:"/:id",element:a.jsx(gc,{})}),a.jsx(we,{path:"/:id/dashboard",element:a.jsx(gc,{})}),a.jsx(we,{path:"/:id/tasks",element:a.jsx(gc,{})}),a.jsx(we,{path:"/:id/context",element:a.jsx(gc,{})})]})})}const Wz=window.location.origin,DS=new as({baseUrl:Wz,credentials:"include"}),hs=DS.tools,Jz=DS.authorizationJourneys,eO="http://localhost:3000/mcp",tO="npx",nO=["-y","@modelcontextprotocol/server-memory"],sO=n=>n.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"new-tool",aO=(n,e)=>{const r=new Set(e.map(u=>u.providedId));if(!r.has(n))return n;let l=2,c=`${n}-${l}`;for(;r.has(c);)l+=1,c=`${n}-${l}`;return c},rO=()=>{const[n,e]=d.useState(!1),[r,l]=d.useState(null),[c,u]=d.useState([]);d.useEffect(()=>{g()},[]);const h=w=>[...w].sort((E,z)=>{const D=new Date(E.updatedAt).getTime();return new Date(z.updatedAt).getTime()-D}),g=async()=>{e(!0),l(null);try{const w=await hs.McpRegistryController_listServers({});u(h(w.items||[]))}catch(w){l(w instanceof Error?w.message:"Failed to load tools")}finally{e(!1)}},p=d.useCallback(async w=>{e(!0),l(null);try{return await hs.McpRegistryController_getServer({serverId:w})}catch(E){return l(E instanceof Error?E.message:"Failed to load tool details"),null}finally{e(!1)}},[]),y=d.useCallback(async w=>{try{return await hs.McpRegistryController_listScopes({serverId:w})}catch(E){return console.error("Failed to load scopes:",E),[]}},[]),v=d.useCallback(async w=>{console.log(`loading clients for server ${w}`);try{const E=await hs.McpRegistryController_listConnections({serverId:w});return console.log(`clients: ${E}`),E}catch(E){return console.error("Failed to load clients:",E),[]}},[]),S=d.useCallback(async w=>{console.log(`loading authorizations for server ${w}`);try{const E=await Jz.AuthJourneysController_getAuthJourneys({serverId:w});return console.log("authorizations:",E),E}catch(E){return console.error("Failed to load authorizations:",E),[]}},[]),x=d.useCallback(async w=>{e(!0),l(null);try{return await hs.McpRegistryController_getConnection({connectionId:w})}catch(E){return l(E instanceof Error?E.message:"Failed to load client details"),null}finally{e(!1)}},[]),_=async w=>{e(!0),l(null);try{const E=sO(w.name),D={providedId:aO(E,c),name:w.name,description:`New ${w.type.toUpperCase()} MCP server`,type:w.type,...w.type==="http"?{url:eO}:{cmd:tO,args:[...nO]}},O=await hs.McpRegistryController_createServer({body:D});return u(R=>h([...R,O])),O}catch(E){throw l(E instanceof Error?E.message:"Failed to create tool"),E}finally{e(!1)}},k=d.useCallback(async(w,E)=>{e(!0),l(null);try{const z=await hs.McpRegistryController_updateServer({serverId:w,body:E});return u(D=>{const O=D.map(R=>R.id===w?z:R);return h(O)}),z}catch(z){return l(z instanceof Error?z.message:"Failed to update tool"),null}finally{e(!1)}},[]),j=d.useCallback(async w=>{e(!0),l(null);try{return await hs.McpRegistryController_deleteServer({serverId:w}),u(E=>E.filter(z=>z.id!==w)),!0}catch(E){return l(E instanceof Error?E.message:"Failed to delete tool"),!1}finally{e(!1)}},[]);return{isLoading:n,error:r,tools:c,loadTools:g,loadToolDetails:p,loadToolScopes:y,loadToolClients:v,loadToolAuthorizations:S,loadClientDetails:x,createTool:_,updateTool:k,deleteTool:j}},zS=d.createContext(null);function iO({children:n}){const{tools:e,isLoading:r,error:l,loadToolDetails:c,loadToolScopes:u,loadToolClients:h,loadToolAuthorizations:g,loadClientDetails:p,createTool:y,updateTool:v,deleteTool:S}=rO(),[x,_]=d.useState(""),k=d.useMemo(()=>({tools:e,isLoading:r,error:l,sectionTitle:x,setSectionTitle:_,loadToolDetails:c,loadToolScopes:u,loadToolClients:h,loadToolAuthorizations:g,loadClientDetails:p,createTool:y,updateTool:v,deleteTool:S}),[e,r,l,x,_,c,u,h,g,p,y,v,S]);return a.jsx(zS.Provider,{value:k,children:n})}function ql(){const n=d.useContext(zS);if(!n)throw new Error("useToolsCtx must be used within <ToolsProvider>");return n}function lO({onCancel:n,onSave:e,error:r}){const[l,c]=d.useState(""),[u,h]=d.useState("http"),g=d.useRef(null);d.useEffect(()=>{g.current?.focus()},[]);const p=d.useMemo(()=>l.trim().length>0,[l]),y=async()=>p?e({name:l.trim(),type:u}):!1;return a.jsxs(bt,{title:"Create a Tool",onCancel:n,onSave:y,children:[a.jsx("div",{className:"new-tool-pop__group",children:a.jsx("input",{className:"new-tool-pop__input",ref:g,placeholder:"Tool name",value:l,onChange:v=>c(v.target.value)})}),r?a.jsx("p",{className:"new-tool-pop__error",children:r}):null,a.jsxs("div",{className:"new-tool-pop__group",children:[a.jsx("label",{className:"new-tool-pop__label",htmlFor:"new-tool-transport-type",children:"Transport type"}),a.jsxs("select",{id:"new-tool-transport-type",className:"new-tool-pop__select",value:u,onChange:v=>h(v.target.value),children:[a.jsx("option",{value:"http",children:"HTTP"}),a.jsx("option",{value:"stdio",children:"STDIO"})]})]})]})}function oO(){const{tools:n,setSectionTitle:e,isLoading:r,error:l,createTool:c}=ql(),u=ze(),h=zt(),[g,p]=d.useState(!1),[y,v]=d.useState(null);if(xt(),d.useEffect(()=>{e("All Tools")},[e]),r&&n.length===0)return a.jsx(_e,{children:a.jsx(je,{leading:a.jsx(Fe,{name:"...",size:"lg"}),children:a.jsx(b,{tone:"muted",children:"Loading tools..."})})});if(l&&n.length===0)return a.jsx(_e,{children:a.jsx(je,{leading:a.jsx(Fe,{name:"!",size:"lg"}),children:a.jsxs(b,{tone:"muted",children:["Error: ",l]})})});const S=()=>{p(!1),v(null)},x=async({name:_,type:k})=>{v(null);try{const j=await c({name:_,type:k});return j?(u(`/tools/tool/${j.id}`),!0):!1}catch(j){const w=j?.body?.detail??j?.message??"Failed to create tool";return v(w),!1}};return a.jsxs(a.Fragment,{children:[a.jsx(_e,{children:n.length===0?a.jsx(je,{leading:a.jsx(Fe,{name:"?",size:"lg"}),children:a.jsx(b,{tone:"muted",children:"No tools found"})}):n.map(_=>a.jsx(cO,{tool:_,onClick:()=>u(`/tools/tool/${_.id}`)},_.id))}),a.jsx("button",{className:`tools-fab ${h?"tools-fab--desktop":""}`,type:"button",onClick:()=>p(!0),"aria-label":"Create new tool",children:h?a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"tools-fab__plus",children:"+"}),a.jsx("span",{className:"tools-fab__label",children:"New tool"})]}):"+"}),g?a.jsx(lO,{onCancel:S,onSave:x,error:y}):null]})}function cO({tool:n,onClick:e}){const r=[{label:"MCP Server",color:"blue"}];return n.type==="http"?r.push({label:"remote",color:"green"}):r.push({label:"stdio",color:"orange"}),a.jsxs(je,{leading:a.jsx(Fe,{name:n.name,size:"lg"}),topRight:Mt(n.updatedAt),tags:r,onClick:e,children:[a.jsx(b,{className:"pre",style:"mono",tone:"muted",children:n.providedId}),a.jsx(b,{weight:"bold",size:"3",tone:"default",children:n.name}),a.jsx("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.jsx(b,{tone:"muted",size:"2",children:n.description||"No description"})})]})}function uO(){const n=zt(),{sectionTitle:e}=ql(),r=[];return a.jsx("div",{style:{minHeight:0},children:n?a.jsx(ri,{sectionTitle:e,children:a.jsx(Wt,{})}):a.jsx(tr,{appTitle:"Tools",sectionTitle:e,navItems:r,children:a.jsx(Wt,{})})})}function dO({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState(n),u=d.useRef(null);d.useEffect(()=>{u.current?.focus()},[]);async function h(){return l.trim()?r({name:l.trim()}):!1}return a.jsx(bt,{title:"Edit Tool Name",onCancel:e,onSave:h,children:a.jsx(a.Fragment,{children:a.jsx("div",{className:"edit-tool-name-pop__input-wrapper",children:a.jsx("input",{type:"text",className:"edit-tool-name-pop__input",ref:u,placeholder:"Enter tool name...",value:l,onChange:g=>c(g.target.value)})})})})}const Xx=n=>{n&&(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)};function hO({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState(n),u=d.useRef(null);d.useEffect(()=>{u.current?.focus()},[]),d.useEffect(()=>{Xx(u.current)},[l]);function h(p){c(p.target.value),Xx(p.target)}async function g(){return r({description:l})}return a.jsx(bt,{title:"Edit Tool Description",onCancel:e,onSave:g,children:a.jsx(a.Fragment,{children:a.jsx("div",{className:"edit-tool-description-pop__input-wrapper",children:a.jsx("textarea",{className:"edit-tool-description-pop__input",ref:u,placeholder:"Enter description...",value:l,onChange:h})})})})}function fO({initialValue:n,onCancel:e,onSave:r}){const[l,c]=d.useState(n),u=d.useRef(null);d.useEffect(()=>{u.current?.focus()},[]);async function h(){return l.trim()?r({url:l.trim()}):!1}return a.jsx(bt,{title:"Edit Server URL",onCancel:e,onSave:h,children:a.jsx(a.Fragment,{children:a.jsx("div",{className:"edit-tool-url-pop__input-wrapper",children:a.jsx("input",{type:"url",className:"edit-tool-url-pop__input",ref:u,placeholder:"https://example.com/mcp",value:l,onChange:g=>c(g.target.value)})})})})}function pO({initialCmd:n,initialArgs:e,onCancel:r,onSave:l}){const[c,u]=d.useState(n),[h,g]=d.useState(e.join(`
|
|
116
|
+
`)),p=d.useRef(null);d.useEffect(()=>{p.current?.focus()},[]);async function y(){if(!c.trim())return!1;const v=h.split(`
|
|
117
|
+
`).map(S=>S.trim()).filter(S=>S.length>0);return l({cmd:c.trim(),args:v})}return a.jsx(bt,{title:"Edit Command",onCancel:r,onSave:y,children:a.jsx(a.Fragment,{children:a.jsx("div",{className:"edit-tool-command-pop__wrapper",children:a.jsxs(te,{spacing:"3",children:[a.jsxs("div",{children:[a.jsx(b,{size:"2",weight:"medium",children:"Command"}),a.jsx("input",{type:"text",className:"edit-tool-command-pop__input",ref:p,placeholder:"npx",value:c,onChange:v=>u(v.target.value)})]}),a.jsxs("div",{children:[a.jsx(b,{size:"2",weight:"medium",children:"Arguments (one per line)"}),a.jsx("textarea",{className:"edit-tool-command-pop__textarea",placeholder:`-y
|
|
118
|
+
@modelcontextprotocol/server-memory`,value:h,onChange:v=>g(v.target.value),rows:5})]})]})})})})}function gO({toolId:n,initialScopes:e,onCancel:r,onSave:l}){const[c,u]=d.useState(e),[h,g]=d.useState(""),[p,y]=d.useState(""),v=()=>{if(!h.trim()||!p.trim())return;const _={id:h.trim(),description:p.trim(),serverId:n,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};u([...c,_]),g(""),y("")},S=_=>{u(c.filter(k=>k.id!==_))};async function x(){const _=new Set(e.map(E=>E.id)),k=new Set(c.map(E=>E.id)),j=c.filter(E=>!_.has(E.id)).map(E=>({id:E.id,description:E.description})),w=e.filter(E=>!k.has(E.id)).map(E=>E.id);return l({scopesToCreate:j,scopesToDelete:w})}return a.jsx(bt,{title:"Edit Scopes",onCancel:r,onSave:x,children:a.jsx(a.Fragment,{children:a.jsx("div",{className:"edit-tool-scopes-pop__wrapper",children:a.jsxs(te,{spacing:"3",children:[a.jsxs("div",{children:[a.jsx(b,{size:"2",weight:"medium",children:"Current Scopes"}),c.length===0?a.jsx(b,{size:"2",tone:"muted",children:"No scopes configured"}):a.jsx("div",{className:"edit-tool-scopes-pop__scopes-list",children:c.map(_=>a.jsxs("div",{className:"edit-tool-scopes-pop__scope-item",children:[a.jsxs("div",{className:"edit-tool-scopes-pop__scope-info",children:[a.jsx(b,{size:"2",weight:"medium",style:"mono",children:_.id}),a.jsx(b,{size:"1",tone:"muted",children:_.description})]}),a.jsx(re,{size:"sm",variant:"secondary",onClick:()=>S(_.id),children:"Remove"})]},_.id))})]}),a.jsxs("div",{children:[a.jsx(b,{size:"2",weight:"medium",children:"Add New Scope"}),a.jsxs("div",{className:"edit-tool-scopes-pop__new-scope",children:[a.jsx("input",{type:"text",className:"edit-tool-scopes-pop__input",placeholder:"Scope ID (e.g., tool:read)",value:h,onChange:_=>g(_.target.value)}),a.jsx("input",{type:"text",className:"edit-tool-scopes-pop__input",placeholder:"Description",value:p,onChange:_=>y(_.target.value)}),a.jsx(re,{size:"sm",onClick:v,disabled:!h.trim()||!p.trim(),children:"Add Scope"})]})]})]})})})})}function mO(n){switch(n){case"AUTHORIZATION_CODE_EXCHANGED":return{color:"green",label:"Active"};case"USER_CONSENT_REJECTED":return{color:"red",label:"Rejected"};case"AUTHORIZATION_CODE_ISSUED":return{color:"blue",label:"Code Issued"};case"mcp_auth_flow_started":return{color:"yellow",label:"Flow Started"};case"mcp_auth_flow_completed":return{color:"blue",label:"MCP Auth Complete"};case"CONNECTIONS_FLOW_STARTED":return{color:"yellow",label:"Connecting"};case"CONNECTIONS_FLOW_COMPLETED":return{color:"blue",label:"Connected"};case"not_started":return{color:"gray",label:"Not Started"};default:return{color:"gray",label:n.replace(/_/g," ").toLowerCase()}}}function yO(){const{toolId:n}=nn(),e=ze(),{tools:r,setSectionTitle:l,loadToolDetails:c,loadToolScopes:u,loadToolClients:h,loadToolAuthorizations:g,updateTool:p,deleteTool:y}=ql(),{showError:v}=mn(),S=r.find(W=>W.id===n),[x,_]=d.useState(S||null),[k,j]=d.useState([]),[w,E]=d.useState([]),[z,D]=d.useState([]),[O,R]=d.useState(!S),[N,C]=d.useState(!1),[L,U]=d.useState(null),[B,$]=d.useState(!1),[F,V]=d.useState(!1),[ne,ye]=d.useState(!1),[q,Z]=d.useState(!1),[le,de]=d.useState(!1),[ve,M]=d.useState(!1),H=x?.type==="http",fe=x?.type==="stdio",ge=W=>{navigator.clipboard.writeText(W),$(!0),setTimeout(()=>$(!1),1500)},K=d.useRef(S?n??null:null);d.useEffect(()=>{if(!n)return;const W=S;if(W){_(W),K.current=n;return}K.current!==n&&(K.current=n,R(!0),c(n).then(me=>{_(me),R(!1)}))},[n,c]),d.useEffect(()=>{x&&n&&(x.type==="http"?(u(n).then(j),g(n).then(D)):(j([]),D([])),h(n).then(E))},[x,n,u,h,g]);const oe=d.useMemo(()=>!x||x.type!=="stdio"?[]:[x.cmd,...x.args??[]].filter(W=>!!W),[x]),se=W=>/^[a-zA-Z0-9._/@:=+-]+$/.test(W)?W:`"${W.replace(/(["\\$`])/g,"\\$1")}"`,Se=W=>W.map(me=>se(me)).join(" "),De=async({name:W})=>{if(!x)return!1;try{const me=await p(x.id,{name:W});return me?(_(me),V(!1),!0):!1}catch(me){return console.error("Failed to update name:",me),v(me),!1}},We=async({description:W})=>{if(!x)return!1;try{const me=await p(x.id,{description:W});return me?(_(me),ye(!1),!0):!1}catch(me){return console.error("Failed to update description:",me),v(me),!1}},qt=async({url:W})=>{if(!x)return!1;try{const me=await p(x.id,{url:W});return me?(_(me),Z(!1),!0):!1}catch(me){return console.error("Failed to update URL:",me),v(me),!1}},et=async({cmd:W,args:me})=>{if(!x)return!1;try{const J=await p(x.id,{cmd:W,args:me});return J?(_(J),de(!1),!0):!1}catch(J){return console.error("Failed to update command:",J),v(J),!1}},wt=async({scopesToCreate:W,scopesToDelete:me})=>{if(!x)return!1;try{for(const ke of me)await hs.McpRegistryController_deleteScope({serverId:x.id,scopeId:ke});W.length>0&&await hs.McpRegistryController_createScopes({serverId:x.id,body:W});const J=await u(x.id);return j(J),M(!1),!0}catch(J){return console.error("Failed to update scopes:",J),v(J),!1}};if(d.useEffect(()=>{const W=x?.url;if(!W){U(null);return}const me=new AbortController;return(async()=>{try{const ke=new URL(W),tt=new URL(`/.well-known/oauth-protected-resource${ke.pathname}`,ke.origin),ft=await fetch(tt.toString(),{signal:me.signal});if(!ft.ok){U(null);return}const Cn=(await ft.json()).authorization_servers?.[0];if(!Cn){U(null);return}const kt=new URL(Cn),yt=new URL(`${kt.origin}/.well-known/oauth-authorization-server${kt.pathname}`),xs=await fetch(yt,{signal:me.signal});if(!xs.ok){U(null);return}const bs=await xs.json();U(bs)}catch(ke){if(console.error(ke),ke.name==="AbortError")return;U(null)}})(),()=>{me.abort()}},[x?.url]),xt({tool:{name:x?.name}}),d.useEffect(()=>{if(!x){l("Tool");return}l(x.name)},[x,l]),O)return a.jsx("div",{className:"tool-detail-page",children:a.jsx(te,{spacing:"4",align:"center",children:a.jsx(b,{size:"3",tone:"muted",children:"Loading tool..."})})});if(!x)return a.jsx("div",{className:"tool-detail-page",children:a.jsxs(te,{spacing:"4",align:"center",children:[a.jsx(b,{size:"3",tone:"muted",children:"Tool not found"}),a.jsx(re,{variant:"secondary",onClick:()=>e("/tools"),children:"Back to tools"})]})});const he=[{label:"MCP Server",color:"blue"}];return x.type==="http"?he.push({label:"remote",color:"green"}):he.push({label:"stdio",color:"orange"}),a.jsxs("div",{className:"tool-detail-page",children:[a.jsx(_e,{className:"tool-detail-page__section",children:a.jsxs(je,{leading:a.jsx(Fe,{name:x.name}),tags:he,topRight:a.jsx(b,{size:"1",tone:"muted",children:Mt(x.updatedAt)}),children:[a.jsx(b,{as:"span",weight:"normal",tone:"muted",size:"3",children:`${x.providedId} `}),a.jsxs(b,{as:"span",tone:"muted",style:"mono",children:["#",x.id.slice(0,6)]}),a.jsx(b,{children:x.description}),L?a.jsxs(je,{onClick:()=>C(!N),children:[a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Auth Server Metadata"}),a.jsx(b,{size:"2",tone:"muted",children:N?"(tap to collapse)":"(tap to expand)"})]}),N&&a.jsx("div",{className:"tool-detail-page__metadata",children:a.jsx("pre",{children:JSON.stringify(L,null,2)})})]}):a.jsx(b,{tone:"muted",size:"2",children:"Authorization Server metadata not found"})]})}),a.jsx(_e,{title:"Name",className:"tool-detail-page__section",children:a.jsxs(je,{onClick:()=>V(!0),children:[a.jsx(b,{size:"2",children:x.name}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),a.jsx(_e,{title:"Description",className:"tool-detail-page__section",children:a.jsxs(je,{onClick:()=>ye(!0),children:[a.jsx(b,{size:"2",children:x.description}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),H&&x.url?a.jsx(_e,{title:"Server URL",className:"tool-detail-page__section",children:a.jsxs(je,{onClick:()=>Z(!0),children:[a.jsx(b,{as:"div",size:"2",style:"mono",className:"tool-detail-page__url",children:x.url}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}):null,fe&&a.jsx(_e,{title:"Command",className:"tool-detail-page__section",children:a.jsxs(je,{onClick:()=>de(!0),children:[a.jsx(b,{size:"2",style:"mono",children:x.cmd}),x.args&&x.args.length>0&&a.jsxs(b,{size:"2",tone:"muted",style:"mono",children:["Args: ",x.args.join(" ")]}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),H&&x.url&&a.jsxs(_e,{title:"Configure",className:"tool-detail-page__section",children:[a.jsxs(je,{onClick:()=>ge(`npx @modelcontextprotocol/inspector --transport http --server-url ${x.url}`),children:[a.jsx(b,{weight:"medium",size:"3",children:"Inspector Command"}),a.jsx(b,{size:"2",tone:"muted",children:"Run this command to start the MCP inspector:"}),a.jsxs(b,{as:"div",style:"mono",children:[`npx @modelcontextprotocol/inspector --transport http --server-url ${x.url}`,a.jsx(b,{size:"1",tone:"muted",children:"tap to copy"})]})]}),a.jsxs(je,{onClick:()=>ge(`codex mcp add ${x.providedId} --url ${x.url}`),children:[a.jsx(b,{weight:"medium",size:"3",children:"Codex"}),a.jsx(b,{size:"2",tone:"muted",children:"Run this command to add this MCP server to Codex:"}),a.jsxs(b,{as:"div",style:"mono",children:[`codex mcp add ${x.providedId} --url ${x.url}`,a.jsx(b,{size:"1",tone:"muted",children:"tap to copy"})]})]}),a.jsxs(je,{onClick:()=>ge(`claude mcp add ${x.providedId} --transport http ${x.url}`),children:[a.jsx(b,{weight:"medium",size:"3",children:"Claude Code"}),a.jsxs(b,{as:"div",style:"mono",children:[`claude mcp add ${x.providedId} --transport http ${x.url}`,a.jsx(b,{size:"1",tone:"muted",children:"tap to copy"})]})]})]}),fe&&oe.length>0&&a.jsxs(_e,{title:"Configure",className:"tool-detail-page__section",children:[a.jsxs(je,{onClick:()=>ge(Se(["npx","@modelcontextprotocol/inspector","--transport","stdio",...oe])),children:[a.jsx(b,{weight:"medium",size:"3",children:"Inspector Command"}),a.jsx(b,{size:"2",tone:"muted",children:"Run this command to start the MCP inspector:"}),a.jsxs(b,{style:"mono",children:[Se(["npx","@modelcontextprotocol/inspector","--transport","stdio",...oe]),a.jsx(b,{size:"1",tone:"muted",children:"tap to copy"})]})]}),a.jsxs(je,{onClick:()=>ge(Se(["codex","mcp","add",x.providedId,...oe])),children:[a.jsx(b,{weight:"medium",size:"3",children:"Codex"}),a.jsxs(b,{style:"mono",children:[Se(["codex","mcp","add",x.providedId,...oe]),a.jsx(b,{size:"1",tone:"muted",children:"tap to copy"})]})]}),a.jsxs(je,{onClick:()=>ge(Se(["claude","mcp","add",x.providedId,"--",...oe])),children:[a.jsx(b,{weight:"medium",size:"3",children:"Claude Code"}),a.jsxs(b,{style:"mono",children:[Se(["claude","mcp","add",x.providedId,"--",...oe]),a.jsx(b,{size:"1",tone:"muted",children:"tap to copy"})]})]})]}),H&&a.jsx(_e,{title:"Scopes",className:"tool-detail-page__section",children:a.jsxs(je,{onClick:()=>M(!0),children:[k.length>0?a.jsx(te,{spacing:"1",children:k.map(W=>a.jsxs("div",{children:[a.jsx(b,{size:"2",style:"mono",weight:"medium",children:W.id}),a.jsx(b,{size:"2",tone:"muted",children:W.description})]},W.id))}):a.jsx(b,{tone:"muted",size:"2",children:"No scopes configured"}),a.jsx(b,{size:"1",tone:"muted",children:"tap to edit"})]})}),fe&&a.jsx(b,{tone:"muted",size:"2",children:"STDIO servers do not expose OAuth scopes."}),H&&a.jsx(_e,{title:"Authorizations",className:"tool-detail-page__section",children:z.length===0?a.jsx(je,{children:a.jsx(b,{tone:"muted",size:"2",children:"No active authorizations"})}):[...z].sort((W,me)=>new Date(me.updatedAt).getTime()-new Date(W.updatedAt).getTime()).map(W=>{const me=mO(W.status),J=Mt(W.updatedAt);return a.jsxs(je,{children:[a.jsx(b,{weight:"medium",size:"3",children:W.mcpAuthorizationFlow.clientName||"Unknown Client"}),W.actor&&a.jsxs(b,{size:"2",tone:"muted",children:["@",W.actor.slug," updated ",J]}),a.jsx("div",{style:{marginTop:"4px"},children:a.jsx(pn,{color:me.color,children:me.label})})]},W.id)})}),a.jsx(ii,{className:"tool-detail-page__actions",onDelete:async()=>{await y(x.id)?e("/tools"):v("Failed to delete tool")}}),a.jsx(_e,{className:"tool-detail-page__actions",children:a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e("/tools"),children:"Back to Tools"})}),a.jsx("div",{className:`tool-detail-page__toast ${B?"tool-detail-page__toast--visible":""}`,children:"Copied!"}),F&&x&&a.jsx(dO,{initialValue:x.name,onCancel:()=>V(!1),onSave:De}),ne&&x&&a.jsx(hO,{initialValue:x.description,onCancel:()=>ye(!1),onSave:We}),q&&x&&H&&x.url&&a.jsx(fO,{initialValue:x.url,onCancel:()=>Z(!1),onSave:qt}),le&&x&&fe&&a.jsx(pO,{initialCmd:x.cmd||"",initialArgs:x.args||[],onCancel:()=>de(!1),onSave:et}),ve&&x&&H&&a.jsx(gO,{toolId:x.id,initialScopes:k,onCancel:()=>M(!1),onSave:wt})]})}function vO(){const{toolId:n}=nn(),e=ze(),{tools:r,setSectionTitle:l,loadToolDetails:c,loadToolClients:u}=ql(),h=r.find(_=>_.id===n),[g,p]=d.useState(h||null),[y,v]=d.useState([]),[S,x]=d.useState(!0);return d.useEffect(()=>{!h&&n?c(n).then(p):h&&p(h)},[n,h,c]),d.useEffect(()=>{n&&(x(!0),u(n).then(_=>{const k=[..._].sort((j,w)=>new Date(w.updatedAt).getTime()-new Date(j.updatedAt).getTime());v(k),x(!1)}))},[n,u]),d.useEffect(()=>{l(g?`${g.name} Clients`:"Clients")},[g,l]),S?a.jsx(_e,{children:a.jsx(je,{leading:a.jsx(Fe,{name:"...",size:"lg"}),children:a.jsx(b,{tone:"muted",children:"Loading clients..."})})}):y.length===0?a.jsxs("div",{className:"clients-page",children:[a.jsx(_e,{children:a.jsx(je,{leading:a.jsx(Fe,{name:"?",size:"lg"}),children:a.jsx(b,{tone:"muted",children:"No clients found for this tool"})})}),a.jsx(_e,{className:"clients-page__actions",children:a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e(`/tools/tool/${n}`),children:"Back to Tool"})})]}):a.jsxs("div",{className:"clients-page",children:[a.jsx(_e,{children:y.map(_=>a.jsx(xO,{client:_,onClick:()=>e(`/tools/tool/${n}/clients/${_.id}`)},_.id))}),a.jsx(_e,{className:"clients-page__actions",children:a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>e(`/tools/tool/${n}`),children:"Back to Tool"})})]})}function xO({client:n,onClick:e}){const r=bO(n);return a.jsxs(je,{leading:a.jsx(Fe,{name:n.friendlyName,size:"lg"}),topRight:Mt(n.updatedAt),tags:r,onClick:e,children:[a.jsx(b,{className:"pre",style:"mono",tone:"muted",children:n.clientId}),a.jsx(b,{weight:"bold",size:"3",tone:"default",children:n.friendlyName}),a.jsx("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.jsx(b,{tone:"muted",size:"2",children:n.authorizeUrl})})]})}function bO(n){const e=[];return n.authorizeUrl&&n.tokenUrl?e.push({label:"OAuth Ready",color:"green"}):e.push({label:"Incomplete",color:"orange"}),n.clientSecret&&e.push({label:"Secret Set",color:"blue"}),e}function _O(){const{toolId:n,clientId:e}=nn(),r=ze(),{tools:l,setSectionTitle:c,loadToolDetails:u,loadClientDetails:h}=ql(),g=l.find(j=>j.id===n),[p,y]=d.useState(g||null),[v,S]=d.useState(null),[x,_]=d.useState(!0);if(d.useEffect(()=>{!g&&n?u(n).then(y):g&&y(g)},[n,g,u]),d.useEffect(()=>{e&&(_(!0),h(e).then(j=>{S(j),_(!1)}))},[e,h]),d.useEffect(()=>{if(!v){c("Client");return}c(v.friendlyName)},[v,c]),x)return a.jsx("div",{className:"client-detail-page",children:a.jsx(te,{spacing:"4",align:"center",children:a.jsx(b,{size:"3",tone:"muted",children:"Loading client..."})})});if(!v)return a.jsx("div",{className:"client-detail-page",children:a.jsxs(te,{spacing:"4",align:"center",children:[a.jsx(b,{size:"3",tone:"muted",children:"Client not found"}),a.jsx(re,{variant:"secondary",onClick:()=>r(`/tools/tool/${n}/clients`),children:"Back to clients"})]})});const k=SO(v);return a.jsxs("div",{className:"client-detail-page",children:[a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{leading:a.jsx(Fe,{size:"sm",name:v.friendlyName}),tags:k,topRight:a.jsx(b,{size:"1",tone:"muted",children:Mt(v.updatedAt)}),children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:v.friendlyName}),a.jsx(b,{as:"span",tone:"muted",style:"mono",children:` #${v.id.slice(0,6)}`})]})}),a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Client ID"}),a.jsx(b,{size:"2",style:"mono",className:"client-detail-page__value",children:v.clientId})]})}),a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Connection ID"}),a.jsx(b,{size:"2",style:"mono",className:"client-detail-page__value",children:v.id})]})}),a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Server ID"}),a.jsx(b,{size:"2",style:"mono",className:"client-detail-page__value",children:v.serverId})]})}),a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Authorization URL"}),a.jsx(b,{size:"2",style:"mono",className:"client-detail-page__value",children:v.authorizeUrl})]})}),a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Token URL"}),a.jsx(b,{size:"2",style:"mono",className:"client-detail-page__value",children:v.tokenUrl})]})}),a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Client Secret"}),a.jsx(b,{size:"2",tone:"muted",children:v.clientSecret?"Configured (hidden)":"Not configured"})]})}),a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Registration Date"}),a.jsx(b,{size:"2",tone:"muted",children:new Date(v.createdAt).toLocaleString()})]})}),a.jsx(_e,{className:"client-detail-page__section",children:a.jsxs(je,{children:[a.jsx(b,{as:"span",weight:"medium",size:"3",children:"Last Updated"}),a.jsx(b,{size:"2",tone:"muted",children:new Date(v.updatedAt).toLocaleString()})]})}),a.jsxs(_e,{className:"client-detail-page__actions",children:[a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>r(`/tools/tool/${n}/clients`),children:"Back to Clients"}),a.jsx(re,{size:"lg",variant:"secondary",onClick:()=>r(`/tools/tool/${n}`),children:"Back to Tool"})]})]})}function SO(n){const e=[];return n.authorizeUrl&&n.tokenUrl?e.push({label:"OAuth Ready",color:"green"}):e.push({label:"Incomplete",color:"orange"}),n.clientSecret&&e.push({label:"Secret Set",color:"blue"}),e}function jO(){return a.jsx(iO,{children:a.jsx(ys,{children:a.jsxs(we,{element:a.jsx(uO,{}),children:[a.jsx(we,{index:!0,element:a.jsx(oO,{})}),a.jsx(we,{path:"/tool/:toolId",element:a.jsx(yO,{})}),a.jsx(we,{path:"/tool/:toolId/clients",element:a.jsx(vO,{})}),a.jsx(we,{path:"/tool/:toolId/clients/:clientId",element:a.jsx(_O,{})})]})})})}const TO=window.location.origin,wO=new as({baseUrl:TO,credentials:"include"}),kO=wO.authorizationServer,EO=()=>{console.log("useConsent mounting");const[n,e]=d.useState(null),[r,l]=d.useState(null),[c,u]=d.useState(!0),[h,g]=d.useState(null),[p,y]=d.useState(!1);return d.useEffect(()=>{console.log("useConsent setting message"),e("Message coming from useConsent")},[]),{message:n,setMessage:e,loadConsentMetadata:async x=>{if(x){u(!0),g(null);try{const _=await kO.AuthorizationController_getConsentMetadata({flowId:x});l(_)}catch(_){g(_ instanceof Error?_.message:"Failed to load authorization details")}finally{u(!1)}}},consentMetadata:r,submitConsent:async(x,_,k)=>{y(!0),g(null);try{const j={flow_id:x,approved:k},w=Za||window.location.origin,E=document.createElement("form");E.method="POST",E.action=`${w}/api/v1/auth/authorize/mcp/${_}/0.0.0`,Object.entries(j).forEach(([z,D])=>{const O=document.createElement("input");O.type="hidden",O.name=z,O.value=String(D),E.appendChild(O)}),document.body.appendChild(E),E.submit()}catch(j){g(j instanceof Error?j.message:"Failed to submit consent decision"),y(!1)}},error:h,isApproving:p,isLoading:c}},OS=d.createContext(null);function CO({children:n}){const{message:e,error:r,isLoading:l,isApproving:c,loadConsentMetadata:u,consentMetadata:h,submitConsent:g}=EO(),[p,y]=d.useState(""),v=d.useMemo(()=>({message:e,sectionTitle:p,setSectionTitle:y,loadConsentMetadata:u,consentMetadata:h,submitConsent:g,error:r,isLoading:l,isApproving:c}),[e,p,y,u,h,g,r,l,c]);return a.jsx(OS.Provider,{value:v,children:n})}function LS(){const n=d.useContext(OS);if(!n)throw new Error("useConsentCtx must be used within <ConsentProvider>");return n}function NO(){const n=zt();console.log("Consent page mounting");const{setSectionTitle:e,loadConsentMetadata:r,submitConsent:l,consentMetadata:c,isLoading:u,isApproving:h,error:g}=LS(),[p]=xf(),y=p.get("flow");if(!y)return a.jsx("div",{children:"whoops! missing flow id 👀"});d.useEffect(()=>{r(y)},[y]),d.useEffect(()=>{console.log("Consent page useEffect hook triggered"),console.log("setting section title"),e("🔐 Authorization request")},[]),d.useMemo(()=>!u&&!g&&c,[u,g,c]);const v=()=>{c&&l(y,j.providedId,!0)},S=()=>{c&&l(y,j.providedId,!1)};if(u)return a.jsxs("div",{children:[a.jsx("div",{className:"spinner"}),a.jsx("p",{children:"Loading authorization details..."})]});if(g||!c)return a.jsxs("div",{children:[a.jsx("h2",{children:"Authorization Error"}),a.jsx(Dt,{children:g||"Invalid authorization request"})]});const{client:x,scopes:_,redirectUri:k,server:j,resource:w,createdAt:E}=c,z=x.registrationMethod==="metadata_document"?Zx(x.clientId):null,D=Zx(k),O=AO(k);return a.jsxs("div",{className:"consent-page",children:[a.jsxs("div",{className:"consent-container",children:[n?a.jsxs("div",{className:"consent-header",children:[a.jsx("div",{className:"oauth-icon",children:"🔐"}),a.jsx("h1",{children:"Authorization Request"}),a.jsx("p",{className:"subtitle",children:"Review the following authorization request carefully"})]}):null,a.jsxs("div",{className:"consent-details",children:[a.jsxs($e,{className:"detail-section",children:[a.jsx("h2",{children:"WHO is requesting access"}),a.jsxs("div",{className:"client-info",children:[a.jsxs("div",{className:"info-row",children:[a.jsx("span",{className:"label",children:"Client Name:"}),a.jsx("span",{className:"value",children:x.clientName})]}),a.jsxs("div",{className:"info-row",children:[a.jsx("span",{className:"label",children:"Client ID:"}),a.jsx("span",{className:"value",children:a.jsx("code",{children:x.clientId})})]}),z?a.jsxs("div",{className:"info-row",children:[a.jsx("span",{className:"label",children:"Published by:"}),a.jsx("span",{className:"value",children:a.jsx("code",{children:z})})]}):null,a.jsxs("div",{className:"info-row",children:[a.jsx("span",{className:"label",children:"Registered:"}),a.jsx("span",{className:"value",children:a.jsx("code",{children:new Date(E).toLocaleString()})})]})]})]}),a.jsxs($e,{className:"detail-section",children:[a.jsx("h2",{children:"WHAT access is requested"}),_&&_.length>0?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"scopes-list",children:_.map(R=>a.jsx(RO,{children:R},R))}),a.jsx("p",{style:{marginTop:"12px",fontSize:"13px",color:"#7f8c8d",marginBottom:0},children:"These permissions determine what the client can do on your behalf."})]}):a.jsx("p",{style:{fontSize:"13px",color:"#7f8c8d",marginBottom:0},children:"No specific permissions requested."})]}),a.jsxs($e,{className:"detail-section",children:[a.jsx("h2",{children:"WHERE access is granted"}),a.jsxs("div",{className:"server-info",children:[a.jsx("div",{className:"server-name",children:j.name}),a.jsxs("div",{className:"server-id",children:["Server ID: ",j.providedId]})]}),a.jsxs("div",{className:"resource-info",style:{marginTop:"16px"},children:[a.jsx("div",{style:{fontSize:"13px",color:"#7f8c8d",marginBottom:"8px"},children:"Resource:"}),a.jsx("code",{children:w})]})]}),a.jsxs($e,{className:"detail-section",children:[a.jsx("h2",{children:"Redirect Information"}),a.jsxs("div",{className:"client-info",children:[a.jsxs("div",{className:"info-row",children:[a.jsx("span",{className:"label",children:"Sends you to:"}),a.jsx("span",{className:"value",children:a.jsx("code",{children:D})})]}),a.jsxs("div",{className:"info-row",children:[a.jsx("span",{className:"label",children:"Redirect URI:"}),a.jsx("span",{className:"value",children:a.jsx("code",{children:k})})]})]}),a.jsx("p",{style:{marginTop:"12px",fontSize:"13px",color:"#7f8c8d",marginBottom:0},children:"After authorization, you will be redirected to this URL."}),O?a.jsx("p",{className:"consent-warning",children:"This address is on your own computer, so any app running on it could receive this authorization. Approve only if you started this from an app you trust."}):null]})]})]}),g&&a.jsx(Dt,{children:g}),a.jsxs("div",{className:"consent-actions",children:[a.jsx(re,{variant:"danger",onClick:S,disabled:h,children:"Deny"}),a.jsx(re,{variant:"primary",onClick:v,disabled:h,children:h?"Approving...":"Approve"})]}),a.jsxs("div",{className:"consent-footer",children:[a.jsxs("p",{children:["By approving, you authorize ",a.jsx("strong",{children:c.client.clientName})," to access the specified resources with the requested permissions."]}),a.jsx(vs,{to:"/",children:"Home"})]})]})}function Zx(n){try{return new URL(n).host||n}catch{return n}}function AO(n){try{return["localhost","127.0.0.1","[::1]"].includes(new URL(n).hostname)}catch{return!1}}function RO({children:n}){return a.jsx("span",{className:"scope-badge",children:n})}function DO(){const n=zt(),{sectionTitle:e}=LS();return a.jsx(a.Fragment,{children:n?a.jsx(ri,{sectionTitle:e,children:a.jsx(Wt,{})}):a.jsx(tr,{appTitle:"Consent",sectionTitle:e,navItems:[],children:a.jsx(Wt,{})})})}function zO(){return a.jsx(CO,{children:a.jsx(ys,{children:a.jsx(we,{element:a.jsx(DO,{}),children:a.jsx(we,{path:"/",element:a.jsx(NO,{})})})})})}const OO=600*1e3,MS="We haven't seen activity in a while. If the worker doesn't report back, we'll mark this run as stale and revert the task to its previous state, where another agent will pick it";function LO(){const n=ze(),{actors:e}=Ol(),{showToast:r,showError:l}=mn(),{queue:c,active:u,history:h,totals:g,isLoading:p,hasLoadedOnce:y,error:v,loadExecutions:S}=Of(),{workers:x}=zf(),[_,k]=d.useState(()=>new Set);xt();const j=d.useMemo(()=>{const z=Date.now(),D=120*1e3;return x.filter(O=>z-new Date(O.lastSeenAt).getTime()<=D).length},[x]),w=d.useMemo(()=>[...c.map(z=>({kind:"queue",entry:z})),...u.map(z=>({kind:"active",entry:z})),...h.map(z=>({kind:"history",entry:z}))],[u,h,c]),E=async(z,D)=>{if(confirm(`Are you sure you want to interrupt the execution for "${D??"Untitled task"}"?`)){k(O=>new Set(O).add(z));try{await Ka.ActiveTaskExecutionController_interruptExecution({executionId:z}),r(`Interrupt signal sent for "${D??"Untitled task"}"`),await S()}catch(O){l(O)}finally{k(O=>{const R=new Set(O);return R.delete(z),R})}}};return a.jsxs("div",{className:"executions-page",children:[a.jsxs("div",{className:"executions-hero",children:[a.jsxs("div",{className:"executions-hero__summary",children:[a.jsxs("div",{className:"executions-worker-status",children:[a.jsx("span",{className:"executions-worker-status__indicator",style:{color:j>0?"var(--success)":"var(--danger)"},"aria-label":j>0?"Workers connected":"No workers connected",children:"●"}),a.jsxs(b,{as:"span",size:"2",tone:"muted",children:[j>0?`${j} worker${j!==1?"s":""} connected`:"no worker connected"," · ",a.jsx("button",{type:"button",className:"executions-worker-status__link",onClick:()=>n("/settings/workers"),children:"configure"})]})]}),a.jsxs(b,{as:"div",size:"2",tone:"muted",className:"executions-run-counts",children:[g.queue.toLocaleString()," queued · ",g.active.toLocaleString()," running · ",g.history.toLocaleString()," finished"]})]}),v?a.jsx("span",{className:"executions-error-copy",children:"Fetch failed"}):null]}),p&&!y?a.jsx($e,{className:"executions-empty-card",children:a.jsx(b,{as:"div",size:"3",weight:"medium",children:"Loading executions..."})}):null,v?a.jsxs($e,{className:"executions-empty-card",children:[a.jsx(b,{as:"div",size:"3",weight:"medium",children:"Could not load executions"}),a.jsx(b,{as:"div",tone:"muted",wrap:!0,children:v})]}):null,y&&!v?w.length>0?a.jsx("div",{className:"executions-feed","aria-label":"Execution runs",children:w.map(z=>{const D=PO(z),O=$O(z),R=US(z,e),N=z.kind==="active"&&_.has(z.entry.id);return a.jsx(IO,{feedEntry:z,actor:R,isInterrupting:N,onClick:()=>n(O),onInterrupt:z.kind==="active"?()=>{E(z.entry.id,z.entry.taskName)}:void 0},D)})}):a.jsxs($e,{className:"executions-empty-card",children:[a.jsx(b,{as:"div",size:"3",weight:"medium",children:"No executions yet"}),a.jsx(b,{as:"div",tone:"muted",children:"Queued, running, and completed executions will appear here."})]}):null]})}function MO(){const n=ze(),{kind:e,id:r}=nn(),{actors:l}=Ol(),{queue:c,active:u,history:h,isLoading:g,hasLoadedOnce:p,error:y}=Of();xt();const v=d.useMemo(()=>{if(!e||!r)return null;if(e==="queue"){const k=c.find(j=>j.taskId===r);return k?{kind:"queue",entry:k}:null}if(e==="active"){const k=u.find(j=>j.id===r);return k?{kind:"active",entry:k}:null}if(e==="history"){const k=h.find(j=>j.id===r);return k?{kind:"history",entry:k}:null}return null},[u,h,r,e,c]);if(g&&!p)return a.jsx("div",{className:"executions-page",children:a.jsx($e,{className:"executions-empty-card",children:a.jsx(b,{as:"div",size:"3",weight:"medium",children:"Loading run..."})})});if(y)return a.jsx("div",{className:"executions-page",children:a.jsxs($e,{className:"executions-empty-card",children:[a.jsx(b,{as:"div",size:"3",weight:"medium",children:"Could not load run"}),a.jsx(b,{as:"div",tone:"muted",wrap:!0,children:y})]})});if(!v)return a.jsxs("div",{className:"executions-page executions-page--detail",children:[a.jsx("div",{className:"executions-detail-topbar",children:a.jsx(re,{variant:"secondary",onClick:()=>n("/runs"),children:"Back to runs"})}),a.jsx(b,{as:"div",size:"5",weight:"bold",children:"Run not found"}),a.jsx(b,{as:"div",tone:"muted",wrap:!0,children:"The run may have moved between queued, active, and historical states."})]});const S=US(v,l),x=v.entry.taskName??"Untitled task",_=HO(v);return a.jsxs("div",{className:"executions-page executions-page--detail",children:[a.jsxs("div",{className:"executions-detail-topbar",children:[a.jsx(re,{variant:"secondary",onClick:()=>n("/runs"),children:"Back to runs"}),a.jsx(re,{variant:"secondary",onClick:()=>n(`/tasks/task/${v.entry.taskId}`),children:"Open task"})]}),a.jsxs("header",{className:"executions-run-header",children:[a.jsx(IS,{feedEntry:v}),a.jsxs("div",{className:"executions-run-header__copy",children:[a.jsx(b,{as:"div",size:"5",weight:"bold",wrap:!0,children:x}),a.jsx(b,{as:"div",size:"2",tone:"muted",children:S?`picked by ${Ht(S)}`:"waiting to be picked"})]}),a.jsx(b,{as:"div",size:"2",tone:"muted",className:"executions-run-status-label",children:_})]}),v.kind==="queue"?a.jsxs("section",{className:"executions-detail-section",children:[a.jsx(b,{as:"div",size:"1",weight:"semibold",tone:"muted",className:"executions-detail-section__title",children:"Queue"}),a.jsxs("div",{className:"executions-detail-list",children:[a.jsx($t,{label:"Task status",value:v.entry.taskStatus??"Unknown"}),a.jsx($t,{label:"Task ID",value:v.entry.taskId,mono:!0})]})]}):a.jsx(qO,{execution:v.entry,actor:S})]})}function IO({feedEntry:n,actor:e,isInterrupting:r,onClick:l,onInterrupt:c}){const u=n.entry.taskName??"Untitled task",h=GO(n),g=FO(n),p=e?`picked by ${Ht(e)}`:"waiting to be picked",y=BO(n);return a.jsxs("div",{role:"button",tabIndex:0,className:"executions-feed-row",onClick:l,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),l())},"aria-label":`Open run for ${u}`,children:[a.jsx(IS,{feedEntry:n}),a.jsxs("div",{className:"executions-feed-row__main",children:[a.jsx(b,{as:"div",size:"3",weight:"semibold",wrap:!0,children:u}),a.jsx(b,{as:"div",size:"2",tone:"muted",wrap:!0,children:p})]}),a.jsxs("div",{className:"executions-feed-row__meta",children:[a.jsxs("div",{className:"executions-feed-row__status-line",children:[a.jsx(b,{as:"span",size:"2",weight:"medium",children:h}),y?a.jsx(UO,{}):null]}),a.jsx(b,{as:"div",size:"1",tone:"muted",children:g})]}),a.jsx("div",{className:"executions-feed-row__stats",children:a.jsx(b,{as:"div",size:"2",weight:"medium",children:VO(n)})}),c?a.jsx("div",{className:"executions-feed-row__actions",children:a.jsx(re,{variant:"danger",size:"sm",disabled:r,onClick:v=>{v.stopPropagation(),c()},children:r?"Interrupting...":"Interrupt"})}):null]})}function IS({feedEntry:n}){return n.kind==="queue"?a.jsx("span",{className:"executions-run-icon executions-run-icon--queued","aria-label":"Queued"}):n.kind==="active"?a.jsx("span",{className:"executions-run-icon executions-run-icon--active","aria-label":"Active"}):n.entry.status==="SUCCEEDED"?a.jsx("span",{className:"executions-run-icon executions-run-icon--success","aria-label":"Succeeded",children:"✓"}):a.jsx("span",{className:"executions-run-icon executions-run-icon--danger","aria-label":n.entry.status,children:"×"})}function qO({execution:n,actor:e}){const r="transitionedAt"in n,l=new Date(n.claimedAt),c=r?new Date(n.transitionedAt):new Date,u=PS(c.getTime()-l.getTime()),h=n.stats,g=!r&&qS(n);return a.jsxs(a.Fragment,{children:[a.jsxs("section",{className:"executions-detail-section",children:[a.jsx(b,{as:"div",size:"1",weight:"semibold",tone:"muted",className:"executions-detail-section__title",children:"Timing"}),g?a.jsxs("div",{className:"executions-stale-callout",role:"status",children:[a.jsx(b,{as:"div",size:"2",weight:"semibold",children:"Potentially stale"}),a.jsx(b,{as:"div",size:"2",wrap:!0,children:MS})]}):null,a.jsxs("div",{className:"executions-detail-list",children:[a.jsx($t,{label:"Claimed at",value:Uh(n.claimedAt)}),r?a.jsx($t,{label:"Finished at",value:Uh(n.transitionedAt)}):null,!r&&"lastHeartbeatAt"in n?a.jsx($t,{label:"Latest heartbeat",value:Uh(n.lastHeartbeatAt)}):null,a.jsx($t,{label:"Duration",value:u})]})]}),a.jsxs("section",{className:"executions-detail-section",children:[a.jsx(b,{as:"div",size:"1",weight:"semibold",tone:"muted",className:"executions-detail-section__title",children:"Work"}),a.jsxs("div",{className:"executions-detail-list",children:[a.jsx($t,{label:"Agent",value:e?Ht(e):n.agentActorId,mono:!e}),a.jsx($t,{label:"Tool calls",value:n.toolCallCount.toLocaleString()}),a.jsx($t,{label:"Harness",value:h?.harness??"Unknown"}),a.jsx($t,{label:"Provider",value:h?.providerId??"Unknown"}),a.jsx($t,{label:"Model",value:h?.modelId??"Unknown"}),a.jsx($t,{label:"Worker version",value:h?.workerVersion??"Unknown"})]})]}),a.jsxs("section",{className:"executions-detail-section",children:[a.jsx(b,{as:"div",size:"1",weight:"semibold",tone:"muted",className:"executions-detail-section__title",children:"IDs"}),a.jsxs("div",{className:"executions-detail-list",children:[a.jsx($t,{label:"Run ID",value:n.id,mono:!0}),a.jsx($t,{label:"Task ID",value:n.taskId,mono:!0}),a.jsx($t,{label:"Worker ID",value:n.workerClientId,mono:!0}),a.jsx($t,{label:"Session ID",value:n.runnerSessionId??"pending",mono:!0})]})]}),r&&(n.errorCode||n.errorMessage)?a.jsxs("section",{className:"executions-detail-section executions-detail-section--danger",children:[a.jsx(b,{as:"div",size:"1",weight:"semibold",tone:"muted",className:"executions-detail-section__title",children:"Failure"}),a.jsxs("div",{className:"executions-detail-list",children:[a.jsx($t,{label:"Error code",value:n.errorCode??"None"}),n.errorMessage?a.jsx($t,{label:"Message",value:n.errorMessage}):null]})]}):null]})}function $t({label:n,value:e,mono:r}){return a.jsxs("div",{className:"executions-detail-row",children:[a.jsx(b,{as:"span",size:"1",tone:"muted",children:n}),a.jsx(b,{as:"span",size:"2",style:r?"mono":"sans",wrap:!0,children:e})]})}function UO(){return a.jsx("span",{className:"executions-stale-badge",title:MS,children:"Potentially stale"})}function BO(n){return n.kind==="active"&&qS(n.entry)}function qS(n){const e=n.lastHeartbeatAt??n.claimedAt;return Date.now()-new Date(e).getTime()>=OO}function US(n,e){if(n.kind!=="queue")return e.find(r=>r.id===n.entry.agentActorId)}function PO(n){return n.kind==="queue"?`queue-${n.entry.taskId}`:`${n.kind}-${n.entry.id}`}function $O(n){return n.kind==="queue"?`/runs/queue/${n.entry.taskId}`:`/runs/${n.kind}/${n.entry.id}`}function HO(n){return n.kind==="queue"?"Queued":n.kind==="active"?"Running":BS(n.entry.status)}function GO(n){if(n.kind==="queue")return`Queued · ${n.entry.taskStatus??"Unknown task status"}`;if(n.kind==="active")return`Running · ${n.entry.taskStatus??"Unknown task status"}`;const e=n.entry.errorCode?` · ${n.entry.errorCode}`:"";return`${BS(n.entry.status)}${e}`}function FO(n){return n.kind==="queue"?YO(n.entry.taskId):n.kind==="active"?`heartbeat ${Wx(n.entry.lastHeartbeatAt)}`:`${PS(new Date(n.entry.transitionedAt).getTime()-new Date(n.entry.claimedAt).getTime())} · ${Wx(n.entry.transitionedAt)}`}function VO(n){return n.kind==="queue"?"No tools yet":`${n.entry.toolCallCount.toLocaleString()} tool calls`}function BS(n){return n.toLowerCase().replace(/^./,e=>e.toUpperCase())}function PS(n){const e=Math.floor(n/1e3),r=Math.floor(e/60),l=Math.floor(r/60),c=Math.floor(l/24);return c>0?`${c}d ${l%24}h ${r%60}m`:l>0?`${l}h ${r%60}m`:r>0?`${r}m ${e%60}s`:`${e}s`}function Uh(n){return n?new Date(n).toLocaleString():"Never"}function Wx(n){if(!n)return"never";const e=Date.now()-new Date(n).getTime(),r=Math.max(0,Math.floor(e/1e3));if(r<60)return`${r}s ago`;const l=Math.floor(r/60);if(l<60)return`${l}m ago`;const c=Math.floor(l/60);return c<24?`${c}h ago`:`${Math.floor(c/24)}d ago`}function YO(n){return n.length>12?`${n.slice(0,8)}...${n.slice(-4)}`:n}function KO(){const n=zt(),e="Runs",r=[];return a.jsx("div",{style:{minHeight:0},children:n?a.jsx(ri,{sectionTitle:e,children:a.jsx(Wt,{})}):a.jsx(tr,{appTitle:"Runs",sectionTitle:e,navItems:r,children:a.jsx(Wt,{})})})}function QO(){return a.jsx(ys,{children:a.jsxs(we,{element:a.jsx(KO,{}),children:[a.jsx(we,{index:!0,element:a.jsx(LO,{})}),a.jsx(we,{path:":kind/:id",element:a.jsx(MO,{})})]})})}function XO({children:n}){const{user:e,refreshAuth:r}=ln(),l=d.useRef(!1);return d.useEffect(()=>{l.current||!e||e.onboardingDisplayMode==="FULL_PAGE"&&(l.current=!0,Df.WalkthroughController_acknowledge().then(()=>r()).catch(console.error))},[e,r]),!l.current&&e?.onboardingDisplayMode==="FULL_PAGE"?a.jsx(Hs,{to:"/walkthrough",replace:!0}):a.jsx(a.Fragment,{children:n})}function ZO(){return a.jsxs(ys,{children:[a.jsx(we,{path:"/logout",element:a.jsx(T2,{})}),a.jsx(we,{index:!0,element:a.jsx(Hs,{to:"home",replace:!0})}),a.jsx(we,{path:"/consent",element:a.jsx(zO,{})}),a.jsx(we,{path:"/*",element:a.jsx(ZA,{})}),a.jsx(we,{path:"/tasks/*",element:a.jsx(j2,{})}),a.jsx(we,{path:"/context/*",element:a.jsx($D,{})}),a.jsx(we,{path:"/agents/*",element:a.jsx(jz,{})}),a.jsx(we,{path:"/threads/*",element:a.jsx(Zz,{})}),a.jsx(we,{path:"/tools/*",element:a.jsx(jO,{})}),a.jsx(we,{path:"/runs/*",element:a.jsx(QO,{})}),a.jsx(we,{path:"/executions/*",element:a.jsx(Hs,{to:"/runs",replace:!0})})]})}function WO(){return a.jsx(Lk,{basename:WA,children:a.jsx(Vk,{children:a.jsx(_A,{children:a.jsx(i0,{children:a.jsxs(hR,{children:[a.jsxs(ys,{children:[a.jsx(we,{path:"/onboarding",element:a.jsx(nC,{})}),a.jsx(we,{path:"/login",element:a.jsx(rC,{children:a.jsx(eC,{})})}),a.jsx(we,{path:"*",element:a.jsx(sC,{children:a.jsx(vA,{children:a.jsx(XO,{children:a.jsx(rA,{children:a.jsx(iA,{children:a.jsx(ZO,{})})})})})})})]}),a.jsx(SA,{})]})})})})})}cw.createRoot(document.getElementById("root")).render(a.jsx(Jx.StrictMode,{children:a.jsx(WO,{})}));
|