makecoder 2.0.101 → 3.0.1

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.
@@ -814,7 +814,7 @@ ${s}
814
814
 
815
815
  ... [${u.toLocaleString()} characters omitted] ...
816
816
 
817
- ${c}`}var Q1r="tool-outputs";async function aS(t,e,r,n,o){let s=rd(e).toLowerCase(),c=rd(r.toString()).toLowerCase(),u=c.startsWith(s)?`${c}.txt`:`${s}_${c}.txt`,d=td.join(n,Q1r);if(o){let a=rd(o);d=td.join(d,`session-${a}`)}let l=td.join(d,u);return await qx.mkdir(d,{recursive:!0}),await qx.writeFile(l,t),{outputFile:l}}async function Met(t,e){await ml();let r=[t,...e].join(" "),n=du(r),o=w0(n).filter(s=>s!=="shopt"&&s!=="set");return o.length>0?o[0]:AG.basename(t)}function $x(t){return typeof t=="string"?t:"pattern"in t?t.pattern:"op"in t?t.op:("comment"in t,"")}var Ih=["run_shell_command","ShellTool"];async function Uet(t){if(AG.isAbsolute(t))try{return await mG.promises.access(t,mG.constants.X_OK),t}catch{return}let e=(process.env.PATH||"").split(AG.delimiter),r=ket.platform()==="win32"?[".exe",".cmd",".bat",""]:[""];for(let n of e)for(let o of r){let s=AG.join(n,t+o);try{return await mG.promises.access(s,mG.constants.X_OK),s}catch{continue}}}var lS=null,yG=null,Vx=null,_G=class extends Error{constructor(e){super(`Failed to initialize bash parser: ${e.message}`,{cause:e}),this.name="ShellParserInitializationError"}};function G1r(t){return t instanceof Error?t:typeof t=="string"?new Error(t):new Error("Unknown tree-sitter initialization error",{cause:t})}async function V1r(){try{Vx=null;let[t,e]=await Promise.all([t0e(()=>import("./tree-sitter-44HBOLVO.js"),"web-tree-sitter/tree-sitter.wasm"),t0e(()=>import("./tree-sitter-bash-2VW3T3MV.js"),"tree-sitter-bash/tree-sitter-bash.wasm")]);await Kme.init({wasmBinary:t}),lS=await Jme.load(e)}catch(t){lS=null;let e=G1r(t),r=e instanceof _G?e:new _G(e);throw Vx=r,r}}async function ml(){yG||(yG=V1r().catch(t=>{yG=null,B.debug("Failed to initialize shell parsers:",t)})),await yG}var Fet="__GCLI_POWERSHELL_COMMAND__",$1r=1e3*1e3,H1r=Buffer.from(`
817
+ ${c}`}var Q1r="tool-outputs";async function aS(t,e,r,n,o){let s=rd(e).toLowerCase(),c=rd(r.toString()).toLowerCase(),u=c.startsWith(s)?`${c}.txt`:`${s}_${c}.txt`,d=td.join(n,Q1r);if(o){let a=rd(o);d=td.join(d,`session-${a}`)}let l=td.join(d,u);return await qx.mkdir(d,{recursive:!0}),await qx.writeFile(l,t),{outputFile:l}}async function Met(t,e){await ml();let r=[t,...e].join(" "),n=du(r),o=w0(n).filter(s=>s!=="shopt"&&s!=="set");return o.length>0?o[0]:AG.basename(t)}function $x(t){return typeof t=="string"?t:"pattern"in t?t.pattern:"op"in t?t.op:("comment"in t,"")}var Ih=["run_shell_command","ShellTool"];async function Uet(t){if(AG.isAbsolute(t))try{return await mG.promises.access(t,mG.constants.X_OK),t}catch{return}let e=(process.env.PATH||"").split(AG.delimiter),r=ket.platform()==="win32"?[".exe",".cmd",".bat",""]:[""];for(let n of e)for(let o of r){let s=AG.join(n,t+o);try{return await mG.promises.access(s,mG.constants.X_OK),s}catch{continue}}}var lS=null,yG=null,Vx=null,_G=class extends Error{constructor(e){super(`Failed to initialize bash parser: ${e.message}`,{cause:e}),this.name="ShellParserInitializationError"}};function G1r(t){return t instanceof Error?t:typeof t=="string"?new Error(t):new Error("Unknown tree-sitter initialization error",{cause:t})}async function V1r(){try{Vx=null;let[t,e]=await Promise.all([t0e(()=>import("./tree-sitter-N6IY6JNB.js"),"web-tree-sitter/tree-sitter.wasm"),t0e(()=>import("./tree-sitter-bash-4FEPBSIN.js"),"tree-sitter-bash/tree-sitter-bash.wasm")]);await Kme.init({wasmBinary:t}),lS=await Jme.load(e)}catch(t){lS=null;let e=G1r(t),r=e instanceof _G?e:new _G(e);throw Vx=r,r}}async function ml(){yG||(yG=V1r().catch(t=>{yG=null,B.debug("Failed to initialize shell parsers:",t)})),await yG}var Fet="__GCLI_POWERSHELL_COMMAND__",$1r=1e3*1e3,H1r=Buffer.from(`
818
818
  $ErrorActionPreference = 'Stop'
819
819
  $commandText = $env:${Fet}
820
820
  if ([string]::IsNullOrEmpty($commandText)) {
@@ -2941,7 +2941,7 @@ When adding a memory, route it to the right store:
2941
2941
  # Insufficient context
2942
2942
  If you find that you have insufficient context to read or modify the memories as described,
2943
2943
  reply with what you need, and exit. Do not search the codebase for the missing context.
2944
- `.trim();return{kind:"local",name:"save_memory",displayName:"Memory Manager",description:"Writes and reads memory, preferences or facts across ALL future sessions. Use this for recurring instructions like coding styles or tool aliases.",inputConfig:{inputSchema:{type:"object",properties:{request:{type:"string",description:'The memory operation to perform. Examples: "Remember that I prefer tabs over spaces", "Clean up stale memories", "De-duplicate my memories", "Organize my memories".'}},required:["request"]}},outputConfig:{outputName:"result",description:"A summary of the memory operations performed.",schema:Hbi},modelConfig:{model:Lx},workspaceDirectories:[e],toolConfig:{tools:[ti,Pa,Ra,XA,Ia,Oi,Wo]},get promptConfig(){return{systemPrompt:n(),query:`${r()}\${request}`}},runConfig:{maxTimeMinutes:5,maxTurns:10}}};var dh=class t{static MAX_AUTH_RETRIES=2;authRetryCount=0;async shouldRetryWithHeaders(e,r){if(r.status===401||r.status===403)return this.authRetryCount>=t.MAX_AUTH_RETRIES?void 0:(this.authRetryCount++,this.headers());this.authRetryCount=0}async initialize(){}};var uhr=6e4;async function gv(t){if(t.startsWith("$$")||t.startsWith("!!"))return t.slice(1);if(t.startsWith("$")){let e=t.slice(1),r=process.env[e];if(r===void 0||r==="")throw new Error(`Environment variable '${e}' is not set or is empty. Please set it before using this agent.`);return B.debug(`[AuthValueResolver] Resolved env var: ${e}`),r}if(t.startsWith("!")){let e=t.slice(1).trim();if(!e)throw new Error("Empty command in auth value. Expected format: !command");B.debug("[AuthValueResolver] Executing command for auth value");let r=o_();try{let{stdout:n}=await oc(r.executable,[...r.argsPrefix,e],{signal:AbortSignal.timeout(uhr),windowsHide:!0}),o=n.trim();if(!o)throw new Error(`Command '${e}' returned empty output`);return o}catch(n){throw n instanceof Error&&n.name==="AbortError"?new Error(`Command '${e}' timed out after ${uhr/1e3} seconds`):n}}return t}function dhr(t){return t.startsWith("$")||t.startsWith("!")}var zbi="X-API-Key",kpe=class extends dh{config;type="apiKey";resolvedKey;headerName;constructor(e){super(),this.config=e,this.headerName=e.name??zbi}async initialize(){dhr(this.config.key)?(this.resolvedKey=await gv(this.config.key),B.debug(`[ApiKeyAuthProvider] Resolved API key from: ${this.config.key.startsWith("$")?"env var":"command"}`)):this.resolvedKey=this.config.key}async headers(){if(!this.resolvedKey)throw new Error("ApiKeyAuthProvider not initialized. Call initialize() first.");return{[this.headerName]:this.resolvedKey}}async shouldRetryWithHeaders(e,r){if(r.status!==401&&r.status!==403){this.authRetryCount=0;return}if(!(!this.config.key.startsWith("!")||this.config.key.startsWith("!!"))&&!(this.authRetryCount>=dh.MAX_AUTH_RETRIES))return this.authRetryCount++,B.debug("[ApiKeyAuthProvider] Re-resolving API key after auth failure"),this.resolvedKey=await gv(this.config.key),this.headers()}};var Dpe=class extends dh{config;type="http";resolvedToken;resolvedUsername;resolvedPassword;resolvedValue;constructor(e){super(),this.config=e}async initialize(){let e=this.config;"token"in e?this.resolvedToken=await gv(e.token):"username"in e?(this.resolvedUsername=await gv(e.username),this.resolvedPassword=await gv(e.password)):this.resolvedValue=await gv(e.value),B.debug(`[HttpAuthProvider] Initialized with scheme: ${this.config.scheme}`)}async headers(){let e=this.config;if("token"in e){if(!this.resolvedToken)throw new Error("HttpAuthProvider not initialized");return{Authorization:`Bearer ${this.resolvedToken}`}}if("username"in e){if(!this.resolvedUsername||!this.resolvedPassword)throw new Error("HttpAuthProvider not initialized");return{Authorization:`Basic ${Buffer.from(`${this.resolvedUsername}:${this.resolvedPassword}`).toString("base64")}`}}if(!this.resolvedValue)throw new Error("HttpAuthProvider not initialized");return{Authorization:`${e.scheme} ${this.resolvedValue}`}}async shouldRetryWithHeaders(e,r){if(r.status===401||r.status===403){if(this.authRetryCount>=dh.MAX_AUTH_RETRIES)return;B.debug("[HttpAuthProvider] Re-resolving values after auth failure"),await this.initialize()}return super.shouldRetryWithHeaders(e,r)}};var phr=Fe(_s(),1);var lx=class extends Error{constructor(e){super(e),this.name="ResourceMismatchError"}},ID=5*60*1e3,qs=class{static buildWellKnownUrls(e,r=!1){let n=new URL(e),o=`${n.protocol}//${n.host}`,s=r?"":n.pathname.replace(/\/$/,"");return{protectedResource:new URL(`/.well-known/oauth-protected-resource${s}`,o).toString(),authorizationServer:new URL(`/.well-known/oauth-authorization-server${s}`,o).toString()}}static async fetchProtectedResourceMetadata(e){try{let r=await fetch(e);return r.ok?await r.json():null}catch(r){return B.debug(`Failed to fetch protected resource metadata from ${e}: ${Te(r)}`),null}}static async fetchAuthorizationServerMetadata(e){try{let r=await fetch(e);return r.ok?await r.json():null}catch(r){return B.debug(`Failed to fetch authorization server metadata from ${e}: ${Te(r)}`),null}}static metadataToOAuthConfig(e){return{authorizationUrl:e.authorization_endpoint,issuer:e.issuer,tokenUrl:e.token_endpoint,scopes:e.scopes_supported||[],registrationUrl:e.registration_endpoint}}static async discoverAuthorizationServerMetadata(e){let r=new URL(e),n=`${r.protocol}//${r.host}`,o=[];r.pathname!=="/"&&(o.push(new URL(`/.well-known/oauth-authorization-server${r.pathname}`,n).toString()),o.push(new URL(`/.well-known/openid-configuration${r.pathname}`,n).toString()),o.push(new URL(`${r.pathname}/.well-known/openid-configuration`,n).toString())),o.push(new URL("/.well-known/oauth-authorization-server",n).toString()),o.push(new URL("/.well-known/openid-configuration",n).toString());for(let s of o){let c=await this.fetchAuthorizationServerMetadata(s);if(c)return c}return B.debug(`Metadata discovery failed for authorization server ${e}`),null}static async discoverOAuthConfig(e){try{let r=this.buildWellKnownUrls(e),n=await this.fetchProtectedResourceMetadata(r.protectedResource);if(!n){let s=new URL(e);if(s.pathname&&s.pathname!=="/"){let c=this.buildWellKnownUrls(e,!0);n=await this.fetchProtectedResourceMetadata(c.protectedResource)}}if(n){let s=this.buildResourceParameter(e);if(!this.isEquivalentResourceIdentifier(n.resource,s))throw new lx(`Protected resource ${n.resource} does not match expected ${s}`)}if(n?.authorization_servers?.length){let s=n.authorization_servers[0],c=await this.discoverAuthorizationServerMetadata(s);if(c){let u=this.metadataToOAuthConfig(c);return c.registration_endpoint&&B.log("Dynamic client registration is supported at:",c.registration_endpoint),u}}B.debug(`Trying OAuth discovery fallback at ${e}`);let o=await this.discoverAuthorizationServerMetadata(e);if(o){let s=this.metadataToOAuthConfig(o);return o.registration_endpoint&&B.log("Dynamic client registration is supported at:",o.registration_endpoint),s}return null}catch(r){if(r instanceof lx)throw r;return B.debug(`Failed to discover OAuth configuration: ${Te(r)}`),null}}static parseWWWAuthenticateHeader(e){let r=e.match(/resource_metadata="([^"]+)"/);return r?r[1]:null}static async discoverOAuthFromWWWAuthenticate(e,r){let n=this.parseWWWAuthenticateHeader(e);if(!n)return null;let o=await this.fetchProtectedResourceMetadata(n);if(o&&r){let u=this.buildResourceParameter(r);if(!this.isEquivalentResourceIdentifier(o.resource,u))throw new lx(`Protected resource ${o.resource} does not match expected ${u}`)}if(!o?.authorization_servers?.length)return null;let s=o.authorization_servers[0],c=await this.discoverAuthorizationServerMetadata(s);return c?this.metadataToOAuthConfig(c):null}static extractBaseUrl(e){let r=new URL(e);return`${r.protocol}//${r.host}`}static isSSEEndpoint(e){return e.includes("/sse")||!e.includes("/mcp")}static buildResourceParameter(e){let r=new URL(e);return`${r.protocol}//${r.host}${r.pathname}`}static isEquivalentResourceIdentifier(e,r){let n=o=>{try{return this.buildResourceParameter(o)}catch{return o}};return n(e)===n(r)}static parseTokenExpiry(e){try{let r=JSON.parse(Buffer.from(e.split(".")[1],"base64").toString());if(r&&typeof r.exp=="number")return r.exp*1e3}catch(r){B.error("Failed to parse ID token for expiry time with error:",r)}}};var fhr=/^(.*\.)?run\.app$/,Wbi=[/^.+\.googleapis\.com$/,fhr],Lpe=class extends dh{config;type="google-credentials";auth;useIdToken=!1;audience;cachedToken;tokenExpiryTime;constructor(e,r){if(super(),this.config=e,!r)throw new Error("targetUrl must be provided to GoogleCredentialsAuthProvider to determine token audience.");let n=new URL(r).hostname;if(fhr.test(n)&&(this.useIdToken=!0),this.audience=n,!this.useIdToken&&!Wbi.some(c=>c.test(n)))throw new Error(`Host "${n}" is not an allowed host for Google Credential provider.`);let s=this.config.scopes&&this.config.scopes.length>0?this.config.scopes:["https://www.googleapis.com/auth/cloud-platform"];this.auth=new phr.GoogleAuth({scopes:s})}async initialize(){}async headers(){if(this.cachedToken&&this.tokenExpiryTime&&Date.now()<this.tokenExpiryTime-ID)return{Authorization:`Bearer ${this.cachedToken}`};if(this.cachedToken=void 0,this.tokenExpiryTime=void 0,this.useIdToken)try{let r=await(await this.auth.getIdTokenClient(this.audience)).idTokenProvider.fetchIdToken(this.audience),n=qs.parseTokenExpiry(r);return n&&(this.tokenExpiryTime=n,this.cachedToken=r),{Authorization:`Bearer ${r}`}}catch(e){let r=`Failed to get ADC ID token: ${e instanceof Error?e.message:String(e)}`;throw B.error(r,e),new Error(r)}try{let e=await this.auth.getClient(),r=await e.getAccessToken();if(r.token){this.cachedToken=r.token;let n=e.credentials;return n.expiry_date&&(this.tokenExpiryTime=n.expiry_date),{Authorization:`Bearer ${r.token}`}}throw new Error("Failed to retrieve ADC access token.")}catch(e){let r=`Failed to get ADC access token: ${e instanceof Error?e.message:String(e)}`;throw B.error(r,e),new Error(r)}}async shouldRetryWithHeaders(e,r){if(r.status!==401&&r.status!==403){this.authRetryCount=0;return}if(!(this.authRetryCount>=dh.MAX_AUTH_RETRIES))return this.authRetryCount++,B.debug("[GoogleCredentialsAuthProvider] Re-fetching token after auth failure"),this.cachedToken=void 0,this.tokenExpiryTime=void 0,this.headers()}};var mv=class t{static async create(e){let{agentName:r,authConfig:n,agentCard:o}=e;if(!n)return o?.securitySchemes&&Object.keys(o.securitySchemes).length>0,void 0;switch(n.type){case"google-credentials":{let s=new Lpe(n,e.targetUrl);return await s.initialize(),s}case"apiKey":{let s=new kpe(n);return await s.initialize(),s}case"http":{let s=new Dpe(n);return await s.initialize(),s}case"oauth2":{let{OAuth2AuthProvider:s}=await import("./oauth2-provider-SWSDEUUE.js"),c=new s(n,e.agentName??"unknown",o,e.agentCardUrl);return await c.initialize(),c}case"openIdConnect":throw new Error("openIdConnect auth provider not yet implemented");default:{let s=n;throw new Error(`Unknown auth type: ${s.type}`)}}}static async createFromConfig(e,r){return await t.create({authConfig:e,agentName:r})}static validateAuthConfig(e,r){if(!r||Object.keys(r).length===0)return{valid:!0};let n=Object.keys(r);if(!e)return{valid:!1,diff:{requiredSchemes:n,configuredType:void 0,missingConfig:["Authentication is required but not configured"]}};let o=t.findMatchingScheme(e,r);return o.matched?{valid:!0}:{valid:!1,diff:{requiredSchemes:n,configuredType:e.type,missingConfig:o.missingConfig}}}static findMatchingScheme(e,r){let n=[];for(let[o,s]of Object.entries(r))switch(s.type){case"apiKey":if(e.type==="apiKey")return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires apiKey authentication`);break;case"http":if(e.type==="http"){if(e.scheme.toLowerCase()===s.scheme.toLowerCase())return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires HTTP ${s.scheme} authentication, but ${e.scheme} was configured`)}else{if(e.type==="google-credentials"&&s.scheme.toLowerCase()==="bearer")return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires HTTP ${s.scheme} authentication`)}break;case"oauth2":if(e.type==="oauth2")return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires OAuth 2.0 authentication`);break;case"openIdConnect":if(e.type==="openIdConnect")return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires OpenID Connect authentication`);break;case"mutualTLS":n.push(`Scheme '${o}' requires mTLS authentication (not yet supported)`);break;default:{let c=s;n.push(`Unknown security scheme type: ${c.type}`)}}return{matched:!1,missingConfig:n}}static describeRequiredAuth(e){let r=[];for(let[n,o]of Object.entries(e))switch(o.type){case"apiKey":r.push(`API Key (${n}): Send ${o.name} in ${o.in}`);break;case"http":r.push(`HTTP ${o.scheme} (${n})`);break;case"oauth2":r.push(`OAuth 2.0 (${n})`);break;case"openIdConnect":r.push(`OpenID Connect (${n})`);break;case"mutualTLS":r.push(`Mutual TLS (${n})`);break;default:{let s=o;r.push(`Unknown (${n}): ${s.type}`)}}return r.join(" OR ")}};var Xm=class extends Error{userMessage;agentName;constructor(e,r,n,o){super(r,o),this.name="A2AAgentError",this.agentName=e,this.userMessage=n}},SHe=class extends Xm{constructor(e,r){let n=`Agent card not found at ${r} (HTTP 404)`,o=`Agent card not found (404) at ${r}. Verify the agent_card_url in your agent definition.`;super(e,n,o),this.name="AgentCardNotFoundError"}},Mpe=class extends Xm{statusCode;constructor(e,r,n){let o=n===401?"Unauthorized":"Forbidden",s=`Agent card request returned ${n} ${o} for ${r}`,c=`Authentication failed (${n} ${o}) at ${r}. Check the "auth" configuration in your agent definition.`;super(e,s,c),this.name="AgentCardAuthError",this.statusCode=n}},Bpe=class extends Xm{requiredAuth;missingFields;constructor(e,r,n){let o=`Agent "${e}" requires authentication but none is configured`,s=`Agent requires ${r} but no auth is configured. Missing: ${n.join(", ")}`;super(e,o,s),this.name="AgentAuthConfigMissingError",this.requiredAuth=r,this.missingFields=n}},Upe=class extends Xm{constructor(e,r,n){let o=n instanceof Error?n.message:String(n),s=`Failed to connect to agent "${e}" at ${r}: ${o}`,c=`Connection failed for ${r}: ${o}`;super(e,s,c,{cause:n}),this.name="AgentConnectionError"}};function Ybi(t){return typeof t=="object"&&t!==null}function Jbi(t){let e=[],r=t,n=0,o=10;for(;r&&n<o;){if(Ybi(r)){let s=r;r instanceof Error?e.push(r.message):typeof s.message=="string"&&e.push(s.message),typeof s.code=="string"&&e.push(s.code),typeof s.status=="number"?e.push(String(s.status)):typeof s.statusCode=="number"&&e.push(String(s.statusCode)),r=s.cause}else if(typeof r=="string"){e.push(r);break}else{e.push(String(r));break}n++}return e.join(" ")}function hhr(t,e,r){let n=Jbi(r);return/\b(ECONNREFUSED|ENOTFOUND|EHOSTUNREACH|ETIMEDOUT)\b/i.test(n)?new Upe(t,e,r):/\b404\b|\bnot[\s_-]?found\b/i.test(n)?new SHe(t,e):/\b401\b|unauthorized/i.test(n)?new Mpe(t,e,401):/\b403\b|forbidden/i.test(n)?new Mpe(t,e,403):new Upe(t,e,r)}function Wj(t){return`${t.name}-config`}var Fpe=class{config;agents=new Map;allDefinitions=new Map;builtInAgents=new Set;constructor(e){this.config=e}async initialize(){be.on(Nr.ModelChanged,this.onModelChanged),await this.loadAgents()}isBuiltIn(e){return this.builtInAgents.has(e)}onModelChanged=()=>{this.refreshAgents("local").catch(e=>{B.error("[AgentRegistry] Failed to refresh agents on model change:",e)})};async reload(){this.config.getA2AClientManager()?.clearCache(),await this.config.reloadAgents(),this.agents.clear(),this.allDefinitions.clear(),await this.loadAgents(),be.emitAgentsRefreshed()}async acknowledgeAgent(e){let r=this.config.getAcknowledgedAgentsService(),n=this.config.getProjectRoot();e.metadata?.hash&&(await r.acknowledge(n,e.name,e.metadata.hash),await this.registerAgent(e),be.emitAgentsRefreshed())}dispose(){be.off(Nr.ModelChanged,this.onModelChanged)}async loadAgents(){if(this.agents.clear(),this.allDefinitions.clear(),this.loadBuiltInAgents(),!this.config.isAgentsEnabled())return;let e=Jt.getUserAgentsDir(),r=await _He(e);for(let s of r.errors)B.warn(`[AgentRegistry] Error loading user agent: ${s.message}`),be.emitFeedback("error",`Agent loading error: ${s.message}`);await Promise.allSettled(r.agents.map(async s=>{try{await this.registerAgent(s)}catch(c){B.warn(`[AgentRegistry] Error registering user agent "${s.name}":`,c),be.emitFeedback("error",`Error registering user agent "${s.name}": ${c instanceof Error?c.message:String(c)}`)}}));let n=this.config.getFolderTrust(),o=this.config.isTrustedFolder();if(!n||o){let s=this.config.storage.getProjectAgentsDir(),c=await _He(s);for(let p of c.errors)be.emitFeedback("error",`Agent loading error: ${p.message}`);let u=this.config.getAcknowledgedAgentsService(),d=this.config.getProjectRoot(),l=[],a=[];for(let p of c.agents){if(p.kind==="remote"&&(p.metadata||(p.metadata={}),p.metadata.hash=p.agentCardUrl??(p.agentCardJson?ghr.createHash("sha256").update(p.agentCardJson).digest("hex"):void 0)),!p.metadata?.hash){a.push(p);continue}await u.isAcknowledged(d,p.name,p.metadata.hash)?a.push(p):l.push(p)}l.length>0&&be.emitAgentsDiscovered(l),await Promise.allSettled(a.map(async p=>{try{await this.registerAgent(p)}catch(f){B.warn(`[AgentRegistry] Error registering project agent "${p.name}":`,f),be.emitFeedback("error",`Error registering project agent "${p.name}": ${f instanceof Error?f.message:String(f)}`)}}))}else be.emitFeedback("info","Skipping project agents due to untrusted folder. To enable, ensure that the project root is trusted.");for(let s of this.config.getExtensions())s.isActive&&s.agents&&await Promise.allSettled(s.agents.map(async c=>{try{await this.registerAgent(c)}catch(u){B.warn(`[AgentRegistry] Error registering extension agent "${c.name}":`,u),be.emitFeedback("error",`Error registering extension agent "${c.name}": ${u instanceof Error?u.message:String(u)}`)}}));this.config.getDebugMode()&&B.log(`[AgentRegistry] Loaded with ${this.agents.size} agents.`)}loadBuiltInAgents(){let e=lde(this.config);this.builtInAgents.add(e.name),this.registerLocalAgent(e);let r=ohr(this.config);this.builtInAgents.add(r.name),this.registerLocalAgent(r);let n=shr(this.config);this.builtInAgents.add(n.name),this.registerLocalAgent(n);let o=this.config.getBrowserAgentConfig();if(o.enabled){let s=process.env.SANDBOX,c=!!s&&s!=="sandbox-exec"&&s!=="sandbox:none",u=o.customConfig.sessionMode??"persistent";if(c&&u!=="existing")be.emitFeedback("info",'Browser agent disabled in container sandbox. To use it, set sessionMode to "existing" in settings and start Chrome with --remote-debugging-port=9222 on the host.');else{let d=Npe(this.config);this.builtInAgents.add(d.name),this.registerLocalAgent(d)}}this.config.isMemoryManagerEnabled()&&this.registerLocalAgent(chr(this.config))}async refreshAgents(e="all"){this.loadBuiltInAgents(),await Promise.allSettled(Array.from(this.agents.values()).map(async r=>{(e==="all"||r.kind===e)&&await this.registerAgent(r)}))}async registerAgent(e){e.kind==="local"?this.registerLocalAgent(e):e.kind==="remote"&&await this.registerRemoteAgent(e)}registerLocalAgent(e){if(e.kind!=="local")return;if(!e.name||!e.description){B.warn("[AgentRegistry] Skipping invalid agent definition. Missing name or description.");return}this.allDefinitions.set(e.name,e);let r=this.config.getAgentsSettings().overrides?.[e.name];if(!this.isAgentEnabled(e,r)){this.config.getDebugMode()&&B.log(`[AgentRegistry] Skipping disabled agent '${e.name}'`);return}this.agents.has(e.name)&&this.config.getDebugMode()&&B.log(`[AgentRegistry] Overriding agent '${e.name}'`);let n=this.applyOverrides(e,r);this.agents.set(n.name,n),this.registerModelConfigs(n),this.addAgentPolicy(n)}addAgentPolicy(e){let r=this.config.getPolicyEngine();if(r){if(r.hasRuleForTool(e.name,!0)){this.config.getDebugMode()&&B.log(`[AgentRegistry] User policy exists for '${e.name}', skipping dynamic registration.`);return}r.removeRulesForTool(e.name,"AgentRegistry (Dynamic)"),r.addRule({toolName:e.name,decision:e.kind==="local"?tt.ALLOW:tt.ASK_USER,priority:Tq,source:"AgentRegistry (Dynamic)"})}}isAgentEnabled(e,r){let o=!(e.experimental===!0);return r&&r.enabled!==void 0&&(o=r.enabled),o}async registerRemoteAgent(e){if(e.kind!=="remote")return;if(!e.name){B.warn("[AgentRegistry] Skipping invalid agent definition. Missing name.");return}this.allDefinitions.set(e.name,e);let r=this.config.getAgentsSettings().overrides?.[e.name];if(!this.isAgentEnabled(e,r)){this.config.getDebugMode()&&B.log(`[AgentRegistry] Skipping disabled remote agent '${e.name}'`);return}this.agents.has(e.name)&&this.config.getDebugMode()&&B.log(`[AgentRegistry] Overriding agent '${e.name}'`);let n=e;n.originalDescription===void 0&&(n.originalDescription=n.description);try{let o=this.config.getA2AClientManager();if(!o){B.warn(`[AgentRegistry] Skipping remote agent '${e.name}': A2AClientManager is not available.`);return}let s=vpe(n),c;if(e.auth){let p=await mv.create({authConfig:e.auth,agentName:e.name,targetUrl:s,agentCardUrl:n.agentCardUrl});if(!p)throw new Error(`Failed to create auth provider for agent '${e.name}'`);c=p}let u=await o.loadAgent(n.name,bpe(n),c);if(u.securitySchemes){let p=mv.validateAuthConfig(e.auth,u.securitySchemes);if(!p.valid&&p.diff){let f=mv.describeRequiredAuth(u.securitySchemes),g=new Bpe(e.name,f,p.diff.missingConfig);be.emitFeedback("warning",`[${e.name}] Agent requires authentication: ${f}`),B.warn(`[AgentRegistry] ${g.message}`)}}let d=n.originalDescription,l=u.description,a=[];if(d?.trim()&&a.push(`User Description: ${d.trim()}`),l?.trim()&&a.push(`Agent Description: ${l.trim()}`),u.skills&&u.skills.length>0){let p=u.skills.map(f=>`${f.name}: ${f.description||"No description provided"}`).join(`
2944
+ `.trim();return{kind:"local",name:"save_memory",displayName:"Memory Manager",description:"Writes and reads memory, preferences or facts across ALL future sessions. Use this for recurring instructions like coding styles or tool aliases.",inputConfig:{inputSchema:{type:"object",properties:{request:{type:"string",description:'The memory operation to perform. Examples: "Remember that I prefer tabs over spaces", "Clean up stale memories", "De-duplicate my memories", "Organize my memories".'}},required:["request"]}},outputConfig:{outputName:"result",description:"A summary of the memory operations performed.",schema:Hbi},modelConfig:{model:Lx},workspaceDirectories:[e],toolConfig:{tools:[ti,Pa,Ra,XA,Ia,Oi,Wo]},get promptConfig(){return{systemPrompt:n(),query:`${r()}\${request}`}},runConfig:{maxTimeMinutes:5,maxTurns:10}}};var dh=class t{static MAX_AUTH_RETRIES=2;authRetryCount=0;async shouldRetryWithHeaders(e,r){if(r.status===401||r.status===403)return this.authRetryCount>=t.MAX_AUTH_RETRIES?void 0:(this.authRetryCount++,this.headers());this.authRetryCount=0}async initialize(){}};var uhr=6e4;async function gv(t){if(t.startsWith("$$")||t.startsWith("!!"))return t.slice(1);if(t.startsWith("$")){let e=t.slice(1),r=process.env[e];if(r===void 0||r==="")throw new Error(`Environment variable '${e}' is not set or is empty. Please set it before using this agent.`);return B.debug(`[AuthValueResolver] Resolved env var: ${e}`),r}if(t.startsWith("!")){let e=t.slice(1).trim();if(!e)throw new Error("Empty command in auth value. Expected format: !command");B.debug("[AuthValueResolver] Executing command for auth value");let r=o_();try{let{stdout:n}=await oc(r.executable,[...r.argsPrefix,e],{signal:AbortSignal.timeout(uhr),windowsHide:!0}),o=n.trim();if(!o)throw new Error(`Command '${e}' returned empty output`);return o}catch(n){throw n instanceof Error&&n.name==="AbortError"?new Error(`Command '${e}' timed out after ${uhr/1e3} seconds`):n}}return t}function dhr(t){return t.startsWith("$")||t.startsWith("!")}var zbi="X-API-Key",kpe=class extends dh{config;type="apiKey";resolvedKey;headerName;constructor(e){super(),this.config=e,this.headerName=e.name??zbi}async initialize(){dhr(this.config.key)?(this.resolvedKey=await gv(this.config.key),B.debug(`[ApiKeyAuthProvider] Resolved API key from: ${this.config.key.startsWith("$")?"env var":"command"}`)):this.resolvedKey=this.config.key}async headers(){if(!this.resolvedKey)throw new Error("ApiKeyAuthProvider not initialized. Call initialize() first.");return{[this.headerName]:this.resolvedKey}}async shouldRetryWithHeaders(e,r){if(r.status!==401&&r.status!==403){this.authRetryCount=0;return}if(!(!this.config.key.startsWith("!")||this.config.key.startsWith("!!"))&&!(this.authRetryCount>=dh.MAX_AUTH_RETRIES))return this.authRetryCount++,B.debug("[ApiKeyAuthProvider] Re-resolving API key after auth failure"),this.resolvedKey=await gv(this.config.key),this.headers()}};var Dpe=class extends dh{config;type="http";resolvedToken;resolvedUsername;resolvedPassword;resolvedValue;constructor(e){super(),this.config=e}async initialize(){let e=this.config;"token"in e?this.resolvedToken=await gv(e.token):"username"in e?(this.resolvedUsername=await gv(e.username),this.resolvedPassword=await gv(e.password)):this.resolvedValue=await gv(e.value),B.debug(`[HttpAuthProvider] Initialized with scheme: ${this.config.scheme}`)}async headers(){let e=this.config;if("token"in e){if(!this.resolvedToken)throw new Error("HttpAuthProvider not initialized");return{Authorization:`Bearer ${this.resolvedToken}`}}if("username"in e){if(!this.resolvedUsername||!this.resolvedPassword)throw new Error("HttpAuthProvider not initialized");return{Authorization:`Basic ${Buffer.from(`${this.resolvedUsername}:${this.resolvedPassword}`).toString("base64")}`}}if(!this.resolvedValue)throw new Error("HttpAuthProvider not initialized");return{Authorization:`${e.scheme} ${this.resolvedValue}`}}async shouldRetryWithHeaders(e,r){if(r.status===401||r.status===403){if(this.authRetryCount>=dh.MAX_AUTH_RETRIES)return;B.debug("[HttpAuthProvider] Re-resolving values after auth failure"),await this.initialize()}return super.shouldRetryWithHeaders(e,r)}};var phr=Fe(_s(),1);var lx=class extends Error{constructor(e){super(e),this.name="ResourceMismatchError"}},ID=5*60*1e3,qs=class{static buildWellKnownUrls(e,r=!1){let n=new URL(e),o=`${n.protocol}//${n.host}`,s=r?"":n.pathname.replace(/\/$/,"");return{protectedResource:new URL(`/.well-known/oauth-protected-resource${s}`,o).toString(),authorizationServer:new URL(`/.well-known/oauth-authorization-server${s}`,o).toString()}}static async fetchProtectedResourceMetadata(e){try{let r=await fetch(e);return r.ok?await r.json():null}catch(r){return B.debug(`Failed to fetch protected resource metadata from ${e}: ${Te(r)}`),null}}static async fetchAuthorizationServerMetadata(e){try{let r=await fetch(e);return r.ok?await r.json():null}catch(r){return B.debug(`Failed to fetch authorization server metadata from ${e}: ${Te(r)}`),null}}static metadataToOAuthConfig(e){return{authorizationUrl:e.authorization_endpoint,issuer:e.issuer,tokenUrl:e.token_endpoint,scopes:e.scopes_supported||[],registrationUrl:e.registration_endpoint}}static async discoverAuthorizationServerMetadata(e){let r=new URL(e),n=`${r.protocol}//${r.host}`,o=[];r.pathname!=="/"&&(o.push(new URL(`/.well-known/oauth-authorization-server${r.pathname}`,n).toString()),o.push(new URL(`/.well-known/openid-configuration${r.pathname}`,n).toString()),o.push(new URL(`${r.pathname}/.well-known/openid-configuration`,n).toString())),o.push(new URL("/.well-known/oauth-authorization-server",n).toString()),o.push(new URL("/.well-known/openid-configuration",n).toString());for(let s of o){let c=await this.fetchAuthorizationServerMetadata(s);if(c)return c}return B.debug(`Metadata discovery failed for authorization server ${e}`),null}static async discoverOAuthConfig(e){try{let r=this.buildWellKnownUrls(e),n=await this.fetchProtectedResourceMetadata(r.protectedResource);if(!n){let s=new URL(e);if(s.pathname&&s.pathname!=="/"){let c=this.buildWellKnownUrls(e,!0);n=await this.fetchProtectedResourceMetadata(c.protectedResource)}}if(n){let s=this.buildResourceParameter(e);if(!this.isEquivalentResourceIdentifier(n.resource,s))throw new lx(`Protected resource ${n.resource} does not match expected ${s}`)}if(n?.authorization_servers?.length){let s=n.authorization_servers[0],c=await this.discoverAuthorizationServerMetadata(s);if(c){let u=this.metadataToOAuthConfig(c);return c.registration_endpoint&&B.log("Dynamic client registration is supported at:",c.registration_endpoint),u}}B.debug(`Trying OAuth discovery fallback at ${e}`);let o=await this.discoverAuthorizationServerMetadata(e);if(o){let s=this.metadataToOAuthConfig(o);return o.registration_endpoint&&B.log("Dynamic client registration is supported at:",o.registration_endpoint),s}return null}catch(r){if(r instanceof lx)throw r;return B.debug(`Failed to discover OAuth configuration: ${Te(r)}`),null}}static parseWWWAuthenticateHeader(e){let r=e.match(/resource_metadata="([^"]+)"/);return r?r[1]:null}static async discoverOAuthFromWWWAuthenticate(e,r){let n=this.parseWWWAuthenticateHeader(e);if(!n)return null;let o=await this.fetchProtectedResourceMetadata(n);if(o&&r){let u=this.buildResourceParameter(r);if(!this.isEquivalentResourceIdentifier(o.resource,u))throw new lx(`Protected resource ${o.resource} does not match expected ${u}`)}if(!o?.authorization_servers?.length)return null;let s=o.authorization_servers[0],c=await this.discoverAuthorizationServerMetadata(s);return c?this.metadataToOAuthConfig(c):null}static extractBaseUrl(e){let r=new URL(e);return`${r.protocol}//${r.host}`}static isSSEEndpoint(e){return e.includes("/sse")||!e.includes("/mcp")}static buildResourceParameter(e){let r=new URL(e);return`${r.protocol}//${r.host}${r.pathname}`}static isEquivalentResourceIdentifier(e,r){let n=o=>{try{return this.buildResourceParameter(o)}catch{return o}};return n(e)===n(r)}static parseTokenExpiry(e){try{let r=JSON.parse(Buffer.from(e.split(".")[1],"base64").toString());if(r&&typeof r.exp=="number")return r.exp*1e3}catch(r){B.error("Failed to parse ID token for expiry time with error:",r)}}};var fhr=/^(.*\.)?run\.app$/,Wbi=[/^.+\.googleapis\.com$/,fhr],Lpe=class extends dh{config;type="google-credentials";auth;useIdToken=!1;audience;cachedToken;tokenExpiryTime;constructor(e,r){if(super(),this.config=e,!r)throw new Error("targetUrl must be provided to GoogleCredentialsAuthProvider to determine token audience.");let n=new URL(r).hostname;if(fhr.test(n)&&(this.useIdToken=!0),this.audience=n,!this.useIdToken&&!Wbi.some(c=>c.test(n)))throw new Error(`Host "${n}" is not an allowed host for Google Credential provider.`);let s=this.config.scopes&&this.config.scopes.length>0?this.config.scopes:["https://www.googleapis.com/auth/cloud-platform"];this.auth=new phr.GoogleAuth({scopes:s})}async initialize(){}async headers(){if(this.cachedToken&&this.tokenExpiryTime&&Date.now()<this.tokenExpiryTime-ID)return{Authorization:`Bearer ${this.cachedToken}`};if(this.cachedToken=void 0,this.tokenExpiryTime=void 0,this.useIdToken)try{let r=await(await this.auth.getIdTokenClient(this.audience)).idTokenProvider.fetchIdToken(this.audience),n=qs.parseTokenExpiry(r);return n&&(this.tokenExpiryTime=n,this.cachedToken=r),{Authorization:`Bearer ${r}`}}catch(e){let r=`Failed to get ADC ID token: ${e instanceof Error?e.message:String(e)}`;throw B.error(r,e),new Error(r)}try{let e=await this.auth.getClient(),r=await e.getAccessToken();if(r.token){this.cachedToken=r.token;let n=e.credentials;return n.expiry_date&&(this.tokenExpiryTime=n.expiry_date),{Authorization:`Bearer ${r.token}`}}throw new Error("Failed to retrieve ADC access token.")}catch(e){let r=`Failed to get ADC access token: ${e instanceof Error?e.message:String(e)}`;throw B.error(r,e),new Error(r)}}async shouldRetryWithHeaders(e,r){if(r.status!==401&&r.status!==403){this.authRetryCount=0;return}if(!(this.authRetryCount>=dh.MAX_AUTH_RETRIES))return this.authRetryCount++,B.debug("[GoogleCredentialsAuthProvider] Re-fetching token after auth failure"),this.cachedToken=void 0,this.tokenExpiryTime=void 0,this.headers()}};var mv=class t{static async create(e){let{agentName:r,authConfig:n,agentCard:o}=e;if(!n)return o?.securitySchemes&&Object.keys(o.securitySchemes).length>0,void 0;switch(n.type){case"google-credentials":{let s=new Lpe(n,e.targetUrl);return await s.initialize(),s}case"apiKey":{let s=new kpe(n);return await s.initialize(),s}case"http":{let s=new Dpe(n);return await s.initialize(),s}case"oauth2":{let{OAuth2AuthProvider:s}=await import("./oauth2-provider-XRTDUVAE.js"),c=new s(n,e.agentName??"unknown",o,e.agentCardUrl);return await c.initialize(),c}case"openIdConnect":throw new Error("openIdConnect auth provider not yet implemented");default:{let s=n;throw new Error(`Unknown auth type: ${s.type}`)}}}static async createFromConfig(e,r){return await t.create({authConfig:e,agentName:r})}static validateAuthConfig(e,r){if(!r||Object.keys(r).length===0)return{valid:!0};let n=Object.keys(r);if(!e)return{valid:!1,diff:{requiredSchemes:n,configuredType:void 0,missingConfig:["Authentication is required but not configured"]}};let o=t.findMatchingScheme(e,r);return o.matched?{valid:!0}:{valid:!1,diff:{requiredSchemes:n,configuredType:e.type,missingConfig:o.missingConfig}}}static findMatchingScheme(e,r){let n=[];for(let[o,s]of Object.entries(r))switch(s.type){case"apiKey":if(e.type==="apiKey")return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires apiKey authentication`);break;case"http":if(e.type==="http"){if(e.scheme.toLowerCase()===s.scheme.toLowerCase())return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires HTTP ${s.scheme} authentication, but ${e.scheme} was configured`)}else{if(e.type==="google-credentials"&&s.scheme.toLowerCase()==="bearer")return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires HTTP ${s.scheme} authentication`)}break;case"oauth2":if(e.type==="oauth2")return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires OAuth 2.0 authentication`);break;case"openIdConnect":if(e.type==="openIdConnect")return{matched:!0,missingConfig:[]};n.push(`Scheme '${o}' requires OpenID Connect authentication`);break;case"mutualTLS":n.push(`Scheme '${o}' requires mTLS authentication (not yet supported)`);break;default:{let c=s;n.push(`Unknown security scheme type: ${c.type}`)}}return{matched:!1,missingConfig:n}}static describeRequiredAuth(e){let r=[];for(let[n,o]of Object.entries(e))switch(o.type){case"apiKey":r.push(`API Key (${n}): Send ${o.name} in ${o.in}`);break;case"http":r.push(`HTTP ${o.scheme} (${n})`);break;case"oauth2":r.push(`OAuth 2.0 (${n})`);break;case"openIdConnect":r.push(`OpenID Connect (${n})`);break;case"mutualTLS":r.push(`Mutual TLS (${n})`);break;default:{let s=o;r.push(`Unknown (${n}): ${s.type}`)}}return r.join(" OR ")}};var Xm=class extends Error{userMessage;agentName;constructor(e,r,n,o){super(r,o),this.name="A2AAgentError",this.agentName=e,this.userMessage=n}},SHe=class extends Xm{constructor(e,r){let n=`Agent card not found at ${r} (HTTP 404)`,o=`Agent card not found (404) at ${r}. Verify the agent_card_url in your agent definition.`;super(e,n,o),this.name="AgentCardNotFoundError"}},Mpe=class extends Xm{statusCode;constructor(e,r,n){let o=n===401?"Unauthorized":"Forbidden",s=`Agent card request returned ${n} ${o} for ${r}`,c=`Authentication failed (${n} ${o}) at ${r}. Check the "auth" configuration in your agent definition.`;super(e,s,c),this.name="AgentCardAuthError",this.statusCode=n}},Bpe=class extends Xm{requiredAuth;missingFields;constructor(e,r,n){let o=`Agent "${e}" requires authentication but none is configured`,s=`Agent requires ${r} but no auth is configured. Missing: ${n.join(", ")}`;super(e,o,s),this.name="AgentAuthConfigMissingError",this.requiredAuth=r,this.missingFields=n}},Upe=class extends Xm{constructor(e,r,n){let o=n instanceof Error?n.message:String(n),s=`Failed to connect to agent "${e}" at ${r}: ${o}`,c=`Connection failed for ${r}: ${o}`;super(e,s,c,{cause:n}),this.name="AgentConnectionError"}};function Ybi(t){return typeof t=="object"&&t!==null}function Jbi(t){let e=[],r=t,n=0,o=10;for(;r&&n<o;){if(Ybi(r)){let s=r;r instanceof Error?e.push(r.message):typeof s.message=="string"&&e.push(s.message),typeof s.code=="string"&&e.push(s.code),typeof s.status=="number"?e.push(String(s.status)):typeof s.statusCode=="number"&&e.push(String(s.statusCode)),r=s.cause}else if(typeof r=="string"){e.push(r);break}else{e.push(String(r));break}n++}return e.join(" ")}function hhr(t,e,r){let n=Jbi(r);return/\b(ECONNREFUSED|ENOTFOUND|EHOSTUNREACH|ETIMEDOUT)\b/i.test(n)?new Upe(t,e,r):/\b404\b|\bnot[\s_-]?found\b/i.test(n)?new SHe(t,e):/\b401\b|unauthorized/i.test(n)?new Mpe(t,e,401):/\b403\b|forbidden/i.test(n)?new Mpe(t,e,403):new Upe(t,e,r)}function Wj(t){return`${t.name}-config`}var Fpe=class{config;agents=new Map;allDefinitions=new Map;builtInAgents=new Set;constructor(e){this.config=e}async initialize(){be.on(Nr.ModelChanged,this.onModelChanged),await this.loadAgents()}isBuiltIn(e){return this.builtInAgents.has(e)}onModelChanged=()=>{this.refreshAgents("local").catch(e=>{B.error("[AgentRegistry] Failed to refresh agents on model change:",e)})};async reload(){this.config.getA2AClientManager()?.clearCache(),await this.config.reloadAgents(),this.agents.clear(),this.allDefinitions.clear(),await this.loadAgents(),be.emitAgentsRefreshed()}async acknowledgeAgent(e){let r=this.config.getAcknowledgedAgentsService(),n=this.config.getProjectRoot();e.metadata?.hash&&(await r.acknowledge(n,e.name,e.metadata.hash),await this.registerAgent(e),be.emitAgentsRefreshed())}dispose(){be.off(Nr.ModelChanged,this.onModelChanged)}async loadAgents(){if(this.agents.clear(),this.allDefinitions.clear(),this.loadBuiltInAgents(),!this.config.isAgentsEnabled())return;let e=Jt.getUserAgentsDir(),r=await _He(e);for(let s of r.errors)B.warn(`[AgentRegistry] Error loading user agent: ${s.message}`),be.emitFeedback("error",`Agent loading error: ${s.message}`);await Promise.allSettled(r.agents.map(async s=>{try{await this.registerAgent(s)}catch(c){B.warn(`[AgentRegistry] Error registering user agent "${s.name}":`,c),be.emitFeedback("error",`Error registering user agent "${s.name}": ${c instanceof Error?c.message:String(c)}`)}}));let n=this.config.getFolderTrust(),o=this.config.isTrustedFolder();if(!n||o){let s=this.config.storage.getProjectAgentsDir(),c=await _He(s);for(let p of c.errors)be.emitFeedback("error",`Agent loading error: ${p.message}`);let u=this.config.getAcknowledgedAgentsService(),d=this.config.getProjectRoot(),l=[],a=[];for(let p of c.agents){if(p.kind==="remote"&&(p.metadata||(p.metadata={}),p.metadata.hash=p.agentCardUrl??(p.agentCardJson?ghr.createHash("sha256").update(p.agentCardJson).digest("hex"):void 0)),!p.metadata?.hash){a.push(p);continue}await u.isAcknowledged(d,p.name,p.metadata.hash)?a.push(p):l.push(p)}l.length>0&&be.emitAgentsDiscovered(l),await Promise.allSettled(a.map(async p=>{try{await this.registerAgent(p)}catch(f){B.warn(`[AgentRegistry] Error registering project agent "${p.name}":`,f),be.emitFeedback("error",`Error registering project agent "${p.name}": ${f instanceof Error?f.message:String(f)}`)}}))}else be.emitFeedback("info","Skipping project agents due to untrusted folder. To enable, ensure that the project root is trusted.");for(let s of this.config.getExtensions())s.isActive&&s.agents&&await Promise.allSettled(s.agents.map(async c=>{try{await this.registerAgent(c)}catch(u){B.warn(`[AgentRegistry] Error registering extension agent "${c.name}":`,u),be.emitFeedback("error",`Error registering extension agent "${c.name}": ${u instanceof Error?u.message:String(u)}`)}}));this.config.getDebugMode()&&B.log(`[AgentRegistry] Loaded with ${this.agents.size} agents.`)}loadBuiltInAgents(){let e=lde(this.config);this.builtInAgents.add(e.name),this.registerLocalAgent(e);let r=ohr(this.config);this.builtInAgents.add(r.name),this.registerLocalAgent(r);let n=shr(this.config);this.builtInAgents.add(n.name),this.registerLocalAgent(n);let o=this.config.getBrowserAgentConfig();if(o.enabled){let s=process.env.SANDBOX,c=!!s&&s!=="sandbox-exec"&&s!=="sandbox:none",u=o.customConfig.sessionMode??"persistent";if(c&&u!=="existing")be.emitFeedback("info",'Browser agent disabled in container sandbox. To use it, set sessionMode to "existing" in settings and start Chrome with --remote-debugging-port=9222 on the host.');else{let d=Npe(this.config);this.builtInAgents.add(d.name),this.registerLocalAgent(d)}}this.config.isMemoryManagerEnabled()&&this.registerLocalAgent(chr(this.config))}async refreshAgents(e="all"){this.loadBuiltInAgents(),await Promise.allSettled(Array.from(this.agents.values()).map(async r=>{(e==="all"||r.kind===e)&&await this.registerAgent(r)}))}async registerAgent(e){e.kind==="local"?this.registerLocalAgent(e):e.kind==="remote"&&await this.registerRemoteAgent(e)}registerLocalAgent(e){if(e.kind!=="local")return;if(!e.name||!e.description){B.warn("[AgentRegistry] Skipping invalid agent definition. Missing name or description.");return}this.allDefinitions.set(e.name,e);let r=this.config.getAgentsSettings().overrides?.[e.name];if(!this.isAgentEnabled(e,r)){this.config.getDebugMode()&&B.log(`[AgentRegistry] Skipping disabled agent '${e.name}'`);return}this.agents.has(e.name)&&this.config.getDebugMode()&&B.log(`[AgentRegistry] Overriding agent '${e.name}'`);let n=this.applyOverrides(e,r);this.agents.set(n.name,n),this.registerModelConfigs(n),this.addAgentPolicy(n)}addAgentPolicy(e){let r=this.config.getPolicyEngine();if(r){if(r.hasRuleForTool(e.name,!0)){this.config.getDebugMode()&&B.log(`[AgentRegistry] User policy exists for '${e.name}', skipping dynamic registration.`);return}r.removeRulesForTool(e.name,"AgentRegistry (Dynamic)"),r.addRule({toolName:e.name,decision:e.kind==="local"?tt.ALLOW:tt.ASK_USER,priority:Tq,source:"AgentRegistry (Dynamic)"})}}isAgentEnabled(e,r){let o=!(e.experimental===!0);return r&&r.enabled!==void 0&&(o=r.enabled),o}async registerRemoteAgent(e){if(e.kind!=="remote")return;if(!e.name){B.warn("[AgentRegistry] Skipping invalid agent definition. Missing name.");return}this.allDefinitions.set(e.name,e);let r=this.config.getAgentsSettings().overrides?.[e.name];if(!this.isAgentEnabled(e,r)){this.config.getDebugMode()&&B.log(`[AgentRegistry] Skipping disabled remote agent '${e.name}'`);return}this.agents.has(e.name)&&this.config.getDebugMode()&&B.log(`[AgentRegistry] Overriding agent '${e.name}'`);let n=e;n.originalDescription===void 0&&(n.originalDescription=n.description);try{let o=this.config.getA2AClientManager();if(!o){B.warn(`[AgentRegistry] Skipping remote agent '${e.name}': A2AClientManager is not available.`);return}let s=vpe(n),c;if(e.auth){let p=await mv.create({authConfig:e.auth,agentName:e.name,targetUrl:s,agentCardUrl:n.agentCardUrl});if(!p)throw new Error(`Failed to create auth provider for agent '${e.name}'`);c=p}let u=await o.loadAgent(n.name,bpe(n),c);if(u.securitySchemes){let p=mv.validateAuthConfig(e.auth,u.securitySchemes);if(!p.valid&&p.diff){let f=mv.describeRequiredAuth(u.securitySchemes),g=new Bpe(e.name,f,p.diff.missingConfig);be.emitFeedback("warning",`[${e.name}] Agent requires authentication: ${f}`),B.warn(`[AgentRegistry] ${g.message}`)}}let d=n.originalDescription,l=u.description,a=[];if(d?.trim()&&a.push(`User Description: ${d.trim()}`),l?.trim()&&a.push(`Agent Description: ${l.trim()}`),u.skills&&u.skills.length>0){let p=u.skills.map(f=>`${f.name}: ${f.description||"No description provided"}`).join(`
2945
2945
  `);a.push(`Skills:
2946
2946
  ${p}`)}a.length>0&&(e.description=a.join(`
2947
2947
  `)),this.config.getDebugMode()&&B.log(`[AgentRegistry] Registered remote agent '${e.name}' with card: ${e.agentCardUrl??"inline JSON"}`),this.agents.set(e.name,e),this.addAgentPolicy(e)}catch(o){o instanceof Xm?be.emitFeedback("error",`[${e.name}] ${o.userMessage}`):be.emitFeedback("error",`[${e.name}] Failed to load remote agent: ${o instanceof Error?o.message:String(o)}`),B.warn(`[AgentRegistry] Error loading A2A agent "${e.name}":`,o)}}applyOverrides(e,r){if(e.kind!=="local"||!r)return e;let n={get kind(){return e.kind},get name(){return e.name},get displayName(){return e.displayName},get description(){return e.description},get experimental(){return e.experimental},get metadata(){return e.metadata},get inputConfig(){return e.inputConfig},get outputConfig(){return e.outputConfig},get promptConfig(){return e.promptConfig},get toolConfig(){return e.toolConfig},get processOutput(){return e.processOutput},get runConfig(){return r.runConfig?{...e.runConfig,...r.runConfig}:e.runConfig},get modelConfig(){return r.modelConfig?yD.merge(e.modelConfig,r.modelConfig):e.modelConfig}};return r.tools&&(n.toolConfig={tools:r.tools}),r.mcpServers&&(n.mcpServers={...e.mcpServers,...r.mcpServers}),n}registerModelConfigs(e){let r=e.modelConfig,n=r.model;n==="inherit"&&(n=this.config.getModel());let o={...r,model:n};this.config.modelConfigService.registerRuntimeModelConfig(Wj(e),{modelConfig:o}),o.model&&Ys(o.model)&&this.config.modelConfigService.registerRuntimeModelOverride({match:{overrideScope:e.name},modelConfig:{generateContentConfig:o.generateContentConfig}})}getDefinition(e){return this.agents.get(e)}getAllDefinitions(){return Array.from(this.agents.values())}getAllAgentNames(){return Array.from(this.agents.keys())}getAllDiscoveredAgentNames(){return Array.from(this.allDefinitions.keys())}getDiscoveredDefinition(e){return this.allDefinitions.get(e)}};import*as RD from"node:fs/promises";import*as mhr from"node:path";var jpe=class{acknowledgedAgents={};loaded=!1;async load(){if(this.loaded)return;let e=Jt.getAcknowledgedAgentsPath();try{let r=await RD.readFile(e,"utf-8");this.acknowledgedAgents=JSON.parse(r)}catch(r){(!xt(r)||r.code!=="ENOENT")&&B.error("Failed to load acknowledged agents:",Te(r)),this.acknowledgedAgents={}}this.loaded=!0}async save(){let e=Jt.getAcknowledgedAgentsPath();try{let r=mhr.dirname(e);await RD.mkdir(r,{recursive:!0}),await RD.writeFile(e,JSON.stringify(this.acknowledgedAgents,null,2),"utf-8")}catch(r){B.error("Failed to save acknowledged agents:",Te(r))}}async isAcknowledged(e,r,n){await this.load();let o=this.acknowledgedAgents[e];return o?o[r]===n:!1}async acknowledge(e,r,n){await this.load(),this.acknowledgedAgents[e]||(this.acknowledgedAgents[e]={}),this.acknowledgedAgents[e][r]=n,await this.save()}};function Qpe(t,e){let r=/\$\{(\w+)\}/g,n=new Set(Array.from(t.matchAll(r),c=>c[1])),o=new Set(Object.keys(e)),s=Array.from(n).filter(c=>!o.has(c));if(s.length>0)throw new Error(`Template validation failed: Missing required input parameters: ${s.join(", ")}. Available inputs: ${Object.keys(e).join(", ")}`);return t.replace(r,(c,u)=>String(e[u]))}import{AsyncLocalStorage as Kbi}from"node:async_hooks";var yhr=new Kbi;function THe(t,e){return yhr.run(t,e)}function qpe(){return yhr.getStore()}var Ahr=Fe(_ae(),1);function Yj(t){return typeof t=="object"&&t!==null&&"callId"in t&&"responseParts"in t}function I8o(t){let{displayName:e,status:r,approvalMode:n,hasResultDisplay:o,parentCallId:s}=t;if(s)return!0;switch(e){case M3:switch(r){case Be.Scheduled:case Be.Validating:case Be.Executing:case Be.AwaitingApproval:return!0;case Be.Error:return!o;default:return!1}case Yq:case Jq:return n===Kt.PLAN;default:return!1}}function Jj(t,e,r=3){let n=e.map(c=>({name:c,distance:Ahr.default.get(t,c)}));n.sort((c,u)=>c.distance-u.distance);let o=n.slice(0,r);if(o.length===0)return"";let s=o.map(c=>`"${c.name}"`).join(", ");return o.length>1?` Did you mean one of: ${s}?`:` Did you mean ${s}?`}function R8o(t,e,r){let n;Cq(t)?n=[t.name,t.constructor.name]:n=[t],n.some(o=>Ih.includes(o))&&(n=[...new Set([...n,...Ih])]);for(let o of r){let s=o.indexOf("(");if(s===-1){if(n.includes(o))return!0;continue}let c=o.substring(0,s);if(!n.includes(c)||!o.endsWith(")"))continue;let u=o.substring(s+1,o.length-1),d;if(typeof e=="string")d=e;else{if(!("command"in e.params))continue;d=String(e.params.command)}if(n.some(l=>Ih.includes(l))&&(d===u||d.startsWith(u+" ")))return!0}return!1}var Gpe=class{messageBus;schedulerId;onTerminalCall;activeCalls=new Map;queue=[];_completedBatch=[];constructor(e,r=aot,n){this.messageBus=e,this.schedulerId=r,this.onTerminalCall=n}addToolCalls(e){this.enqueue(e)}getToolCall(e){return this.activeCalls.get(e)||this.queue.find(r=>r.request.callId===e)||this._completedBatch.find(r=>r.request.callId===e)}enqueue(e){this.queue.push(...e),this.emitUpdate()}dequeue(){let e=this.queue.shift();return e&&(this.activeCalls.set(e.request.callId,e),this.emitUpdate()),e}peekQueue(){return this.queue[0]}get isActive(){return this.activeCalls.size>0}get allActiveCalls(){return Array.from(this.activeCalls.values())}get activeCallCount(){return this.activeCalls.size}get queueLength(){return this.queue.length}get firstActiveCall(){return this.activeCalls.values().next().value}updateStatus(e,r,n){let o=this.activeCalls.get(e);if(!o)return;let s=this.transitionCall(o,r,n);this.activeCalls.set(e,s),this.emitUpdate()}finalizeCall(e){let r=this.activeCalls.get(e);r&&this.isTerminalCall(r)&&(this._completedBatch.push(r),this.activeCalls.delete(e),this.onTerminalCall?.(r),this.emitUpdate())}updateArgs(e,r,n){let o=this.activeCalls.get(e);!o||o.status===Be.Error||(this.activeCalls.set(e,this.patchCall(o,{request:{...o.request,args:r},invocation:n})),this.emitUpdate())}setOutcome(e,r){let n=this.activeCalls.get(e);n&&(this.activeCalls.set(e,this.patchCall(n,{outcome:r})),this.emitUpdate())}replaceActiveCallWithTailCall(e,r){this.activeCalls.has(e)&&(this.activeCalls.delete(e),this.queue.unshift(r),this.emitUpdate())}cancelAllQueued(e){if(this.queue.length!==0){for(;this.queue.length>0;){let r=this.queue.shift();if(r.status===Be.Error){this._completedBatch.push(r),this.onTerminalCall?.(r);continue}let n=this.toCancelled(r,e);this._completedBatch.push(n),this.onTerminalCall?.(n)}this.emitUpdate()}}getSnapshot(){return[...this._completedBatch,...Array.from(this.activeCalls.values()),...this.queue]}clearBatch(){this._completedBatch.length!==0&&(this._completedBatch=[],this.emitUpdate())}get completedBatch(){return[...this._completedBatch]}emitUpdate(){let e=this.getSnapshot();this.messageBus.publish({type:Li.TOOL_CALLS_UPDATE,toolCalls:e,schedulerId:this.schedulerId})}isTerminalCall(e){let{status:r}=e;return r===Be.Success||r===Be.Error||r===Be.Cancelled}transitionCall(e,r,n){switch(r){case Be.Success:{if(!Yj(n))throw new Error(`Invalid data for 'success' transition (callId: ${e.request.callId})`);return this.toSuccess(e,n)}case Be.Error:{if(!Yj(n))throw new Error(`Invalid data for 'error' transition (callId: ${e.request.callId})`);return this.toError(e,n)}case Be.AwaitingApproval:{if(!n)throw new Error(`Missing data for 'awaiting_approval' transition (callId: ${e.request.callId})`);return this.toAwaitingApproval(e,n)}case Be.Scheduled:return this.toScheduled(e);case Be.Cancelled:{if(typeof n!="string"&&!Yj(n))throw new Error(`Invalid reason (string) or response for 'cancelled' transition (callId: ${e.request.callId})`);return this.toCancelled(e,n)}case Be.Validating:return this.toValidating(e);case Be.Executing:{if(n!==void 0&&!this.isExecutingToolCallPatch(n))throw new Error(`Invalid patch for 'executing' transition (callId: ${e.request.callId})`);return this.toExecuting(e,n)}default:return r}}isExecutingToolCallPatch(e){return typeof e=="object"&&e!==null}validateHasToolAndInvocation(e,r){if(!("tool"in e&&e.tool&&"invocation"in e&&e.invocation))throw new Error(`Invalid state transition: cannot transition to ${r} without tool/invocation (callId: ${e.request.callId})`)}toSuccess(e,r){this.validateHasToolAndInvocation(e,Be.Success);let n="startTime"in e?e.startTime:void 0;return{request:e.request,tool:e.tool,invocation:e.invocation,status:Be.Success,response:r,durationMs:n?Date.now()-n:void 0,outcome:e.outcome,schedulerId:e.schedulerId,approvalMode:e.approvalMode}}toError(e,r){let n="startTime"in e?e.startTime:void 0;return{request:e.request,status:Be.Error,tool:"tool"in e?e.tool:void 0,response:r,durationMs:n?Date.now()-n:void 0,outcome:e.outcome,schedulerId:e.schedulerId,approvalMode:e.approvalMode}}toAwaitingApproval(e,r){this.validateHasToolAndInvocation(e,Be.AwaitingApproval);let n,o;return this.isEventDrivenApprovalData(r)?(o=r.correlationId,n=r.confirmationDetails):n=r,{request:e.request,tool:e.tool,status:Be.AwaitingApproval,correlationId:o,confirmationDetails:n,startTime:"startTime"in e?e.startTime:void 0,outcome:e.outcome,invocation:e.invocation,schedulerId:e.schedulerId,approvalMode:e.approvalMode}}isEventDrivenApprovalData(e){return typeof e=="object"&&e!==null&&"correlationId"in e&&"confirmationDetails"in e}toScheduled(e){return this.validateHasToolAndInvocation(e,Be.Scheduled),{request:e.request,tool:e.tool,status:Be.Scheduled,startTime:"startTime"in e?e.startTime:void 0,outcome:e.outcome,invocation:e.invocation,schedulerId:e.schedulerId,approvalMode:e.approvalMode}}toCancelled(e,r){this.validateHasToolAndInvocation(e,Be.Cancelled);let n="startTime"in e?e.startTime:void 0,o;if(this.isWaitingToolCall(e)){let u=e.confirmationDetails;u.type==="edit"&&"fileDiff"in u&&"fileName"in u&&"filePath"in u&&"originalContent"in u&&"newContent"in u&&(o={fileDiff:u.fileDiff,fileName:u.fileName,filePath:u.filePath,originalContent:u.originalContent,newContent:u.newContent,diffStat:u.diffStat??hXe(u.fileDiff)})}let s;if(e.status===Be.Executing&&e.liveOutput&&(s=e.liveOutput),Yj(r)){let u={...r};return u.resultDisplay||(u.resultDisplay=o??s),{request:e.request,tool:e.tool,invocation:e.invocation,status:Be.Cancelled,response:u,durationMs:n?Date.now()-n:void 0,outcome:e.outcome,schedulerId:e.schedulerId,approvalMode:e.approvalMode}}let c=`[Operation Cancelled] Reason: ${r}`;return{request:e.request,tool:e.tool,invocation:e.invocation,status:Be.Cancelled,response:{callId:e.request.callId,responseParts:[{functionResponse:{id:e.request.callId,name:e.request.originalRequestName??e.request.name,response:{error:c}}}],resultDisplay:o??s,error:void 0,errorType:void 0,contentLength:c.length},durationMs:n?Date.now()-n:void 0,outcome:e.outcome,schedulerId:e.schedulerId,approvalMode:e.approvalMode}}isWaitingToolCall(e){return e.status===Be.AwaitingApproval}patchCall(e,r){return{...e,...r}}toValidating(e){return this.validateHasToolAndInvocation(e,Be.Validating),{request:e.request,tool:e.tool,status:Be.Validating,startTime:"startTime"in e?e.startTime:void 0,outcome:e.outcome,invocation:e.invocation,schedulerId:e.schedulerId,approvalMode:e.approvalMode}}toExecuting(e,r){this.validateHasToolAndInvocation(e,Be.Executing);let n=r,o=n?.liveOutput??("liveOutput"in e?e.liveOutput:void 0),s=n?.pid??("pid"in e?e.pid:void 0),c=n?.progressMessage??("progressMessage"in e?e.progressMessage:void 0),u=n?.progressPercent??("progressPercent"in e?e.progressPercent:void 0),d=n?.progress??("progress"in e?e.progress:void 0),l=n?.progressTotal??("progressTotal"in e?e.progressTotal:void 0);return{request:e.request,tool:e.tool,status:Be.Executing,startTime:"startTime"in e?e.startTime:void 0,outcome:e.outcome,invocation:e.invocation,liveOutput:o,pid:s,progressMessage:c,progressPercent:u,progress:d,progressTotal:l,schedulerId:e.schedulerId,approvalMode:e.approvalMode}}};import{on as Xbi}from"node:events";import{randomUUID as Zbi}from"node:crypto";async function e1i(t,e,r){if(r.aborted)throw new Error("Operation cancelled");try{for await(let[n]of Xbi(t,Li.TOOL_CONFIRMATION_RESPONSE,{signal:r})){let o=n;if(o.correlationId===e)return{outcome:o.outcome??(o.confirmed?Vt.ProceedOnce:Vt.Cancel),payload:o.payload}}}catch(n){throw r.aborted||n.name==="AbortError"?new Error("Operation cancelled"):n}throw new Error("Operation cancelled")}async function wHe(t,e,r){let{state:n,onWaitingForConfirmation:o}=r,s=t.request.callId,c=Vt.ModifyWithEditor,u;for(;c===Vt.ModifyWithEditor;){if(e.aborted)throw new Error("Operation cancelled by user");let d=n.getToolCall(s);if(!d||!("invocation"in d))throw new Error(`Tool call ${s} lost during confirmation loop`);let a=await d.invocation.shouldConfirmExecute(e,r.forcedDecision);if(!a){c=Vt.ProceedOnce;break}r.systemMessage&&(a.systemMessage=r.systemMessage),await t1i(r,a);let p=Zbi(),f=a;u=f;let g="ideConfirmation"in a?a.ideConfirmation:void 0;n.updateStatus(s,Be.AwaitingApproval,{confirmationDetails:f,correlationId:p}),o?.(!0);let y=await i1i(r.messageBus,p,e,g);if(o?.(!1),c=y.outcome,"onConfirm"in a&&typeof a.onConfirm=="function"&&await a.onConfirm(c,y.payload),c===Vt.ModifyWithEditor){let _=await r1i(r,t,e);_.error&&be.emitFeedback("error",_.error)}else y.payload&&"newContent"in y.payload&&(await n1i(r,t,y.payload,e),c=Vt.ProceedOnce)}return{outcome:c,lastDetails:u}}async function t1i(t,e){t.config.getHookSystem()&&await t.config.getHookSystem()?.fireToolNotificationEvent({...e,onConfirm:async()=>{}})}async function r1i(t,e,r){let{state:n,modifier:o,getPreferredEditor:s}=t,c=s(),u=await i4t(c,r);if(!u)return{error:e4t};let d=await o.handleModifyWithEditor(n.firstActiveCall,u,r);if(d){let l=e.tool.build(d.updatedParams);n.updateArgs(e.request.callId,d.updatedParams,l)}return{}}async function n1i(t,e,r,n){let{state:o,modifier:s}=t,c=await s.applyInlineModify(o.firstActiveCall,r,n);if(c){let u=e.tool.build(c.updatedParams);o.updateArgs(e.request.callId,c.updatedParams,u)}}async function i1i(t,e,r,n){let o=new AbortController,s=o.signal,c=()=>o.abort();r.aborted?o.abort():r.addEventListener("abort",c);try{let u=e1i(t,e,s);if(!n)return await u;let d=n.then(l=>({outcome:l.status==="accepted"?Vt.ProceedOnce:Vt.Cancel,payload:l.content?{newContent:l.content}:void 0})).catch(l=>(B.warn("Error waiting for confirmation via IDE",l),new Promise(()=>{})));return await Promise.race([u,d])}finally{r.removeEventListener("abort",c),o.abort()}}function _hr(t,e){return{errorMessage:`Tool execution denied by policy.${e?.denyMessage?` ${e.denyMessage}`:""}`,errorType:De.POLICY_VIOLATION}}async function Ehr(t,e,r){let n=t.tool instanceof yi?t.tool.serverName:void 0,o=t.tool.toolAnnotations,s=await e.getPolicyEngine().check({name:t.request.name,args:t.request.args},n,o,r),{decision:c}=s;if(c===tt.ASK_USER&&t.request.isClientInitiated&&!t.request.args?.additional_permissions)return{decision:tt.ALLOW,rule:s.rule};if(c===tt.ASK_USER&&!e.isInteractive())throw new Error(`Tool execution for "${t.tool.displayName||t.tool.name}" requires user confirmation, which is not supported in non-interactive mode.`);return{decision:c,rule:s.rule}}async function bhr(t,e,r,n,o,s){if(o1i(t,e)){n.config.setApprovalMode(Kt.AUTO_EDIT);return}let c,u,d=n.config.getApprovalMode();if(e===Vt.ProceedAlways||e===Vt.ProceedAlwaysTool||e===Vt.ProceedAlwaysServer||e===Vt.ProceedAlwaysAndSave){let l=gme.indexOf(d);l!==-1&&(u=gme.slice(l))}if(e===Vt.ProceedAlwaysAndSave&&(n.config&&n.config.isTrustedFolder()&&n.config.getWorkspacePoliciesDir()!==void 0?c="workspace":c="user"),r?.type==="mcp"){await a1i(t,e,r,o,c,u);return}await s1i(t,e,r,o,c,s,n.config,u)}function o1i(t,e){return e===Vt.ProceedAlways&&L3.has(t.name)}async function s1i(t,e,r,n,o,s,c,u){if(e===Vt.ProceedAlways||e===Vt.ProceedAlwaysAndSave){let d=s?.getPolicyUpdateOptions?.(e)||{};if(!d.commandPrefix&&r?.type==="exec")d.commandPrefix=r.rootCommands;else if(!d.argsPattern&&r?.type==="edit"){let l=c?Ho(r.filePath,c.getTargetDir()):r.filePath;d.argsPattern=Gb(l)}await n.publish({type:Li.UPDATE_POLICY,toolName:t.name,persist:e===Vt.ProceedAlwaysAndSave,persistScope:o,modes:u,...d})}}async function a1i(t,e,r,n,o,s){if(!(e===Vt.ProceedAlways||e===Vt.ProceedAlwaysTool||e===Vt.ProceedAlwaysServer||e===Vt.ProceedAlwaysAndSave))return;let u=t.name,d=e===Vt.ProceedAlwaysAndSave;e===Vt.ProceedAlwaysServer&&(u=Xv(r.serverName,"*")),await n.publish({type:Li.UPDATE_POLICY,toolName:u,mcpName:r.serverName,persist:d,persistScope:o,modes:s})}function CHe(t,e){if(!(t instanceof MXe))return;let n=(e.getMcpClientManager()?.getMcpServers()??e.getMcpServers()??{})[t.serverName];if(n)return{server_name:t.serverName,tool_name:t.serverToolName,command:n.command,args:n.args,cwd:n.cwd,url:n.url??n.httpUrl,tcp:n.tcp}}async function vhr(t,e,r,n,o,s,c,u,d){let l=t.params||{},a=!1,p=[],f=c?CHe(t,c):void 0,g=c?.getHookSystem();if(g&&!d){let _=await g.fireBeforeToolEvent(e,l,f,u);if(_?.shouldStopExecution()){let b=_.getEffectiveReason();return{llmContent:`Agent execution stopped by hook: ${b}`,returnDisplay:`Agent execution stopped by hook: ${b}`,error:{type:De.STOP_EXECUTION,message:b}}}let E=_?.getBlockingError();if(E?.blocked)return{llmContent:`Tool execution blocked: ${E.reason}`,returnDisplay:`Tool execution blocked: ${E.reason}`,error:{type:De.EXECUTION_FAILED,message:E.reason}};if(_ instanceof wA){let b=_.getModifiedToolInput();if(b){Object.assign(t.params,b),B.debug(`Tool input modified by hook for ${e}`),a=!0,p=Object.keys(b);try{t=n.build(t.params)}catch(v){return{llmContent:`Tool parameter modification by hook failed validation: ${v instanceof Error?v.message:String(v)}`,returnDisplay:"Tool parameter modification by hook failed validation.",error:{type:De.INVALID_TOOL_PARAMS,message:String(v)}}}}}}let y=await t.execute(r,o,s);if(a){let _=`
@@ -1,5 +1,5 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
- import{$b as lk,$c as yk,$e as Fk,$k as Gc,Ag as Fp,Ah as o_,Ai as Fd,B as XF,Bm as M_,Bn as q_,Cb as Ip,Ce as wk,Cf as nX,Db as eS,Dc as iS,De as oS,Df as Mk,Dl as E_,Dm as fS,Eb as bp,Ee as vk,Ef as Ok,El as C_,Em as O_,Fb as ok,Fe as sS,Ff as xs,Fm as L_,Ge as Tk,Gf as go,Gg as Wk,Gl as uS,He as Rk,Hf as Lk,Hg as Kk,If as Uk,Ih as s_,Ij as Uc,Jc as pk,Jh as Yo,Kl as I_,Km as U_,L as ZF,Lm as Op,Me as GA,Ml as b_,Mm as P_,N as ek,Nf as Pk,Oe as Tp,Pe as Qk,Pf as aS,Rb as sk,Rm as G_,Sm as H_,T as Or,Tb as Sp,Ub as Dp,Ui as u_,Uk as Np,V as Zb,W as wd,X as nk,Xb as tS,Xg as Ko,Xh as a_,Y as rk,Yl as S_,Zb as ak,Zi as d_,_b as nS,_l as dS,a as Z$,ac as ck,af as kk,al as g_,am as D_,bc as uk,ce as Ik,eh as Yk,ei as l_,en as j_,ff as _k,ge as wp,gk as Pc,hj as f_,ih as zk,ii as c_,ij as A_,im as x_,jm as B_,ka as tX,kc as xp,ke as bk,kg as Gk,kh as tr,km as Mp,la as ik,lg as Hk,lh as kp,lj as lS,lk as m_,lm as w_,ma as vd,me as Sk,mf as Nk,mg as Rp,mh as Jk,na as Td,ne as Dk,ng as jk,nh as _p,nm as v_,oe as xk,og as rX,oh as Vk,om as T_,pa as Tn,pg as Ei,ph as $k,q as YF,qg as Qp,qh as Xk,qk as cS,rc as rS,rf as Rd,rg as iX,rh as Zk,rm as R_,s as zF,sc as dk,sd as Ek,sg as oX,sh as HA,sm as Q_,t as Ep,tc as fk,td as Ck,th as jA,tm as F_,uc as Ak,ud as PA,uh as e_,um as k_,vc as hk,vh as t_,vm as __,wc as mk,wh as n_,wi as Ci,wl as p_,wm as N_,x as JF,xc as gk,xd as Bp,xe as Bk,xg as qk,xh as r_,y as VF,ye as vp,yh as Qd,z as $F,zh as i_,zi as Tl,zl as y_,zm as kd}from"./chunk-VHTOM3KV.js";import{B as Vb,D as Ca,Ld as Cp,Nd as et,Sa as WF,Td as UA,a as je,aa as vl,b as ne,bd as KF,ca as Kn,ce as tk,ea as $b,ee as Wo,fa as GF,ge as Le,ha as Xb,ia as mp,la as HF,oa as gp,qa as eX,sa as tn,ua as jF,va as qF,yc as pp,ye as h_,zc as yp}from"./chunk-7FAQMMW2.js";import{b as Lp,c as Rl}from"./chunk-TU3BMADG.js";import{a as Jt,c as V,d as X$,e as te}from"./chunk-YUXORC52.js";var tN=V(ct=>{"use strict";var mS=Symbol.for("react.transitional.element"),sX=Symbol.for("react.portal"),aX=Symbol.for("react.fragment"),lX=Symbol.for("react.strict_mode"),cX=Symbol.for("react.profiler"),uX=Symbol.for("react.consumer"),dX=Symbol.for("react.context"),fX=Symbol.for("react.forward_ref"),AX=Symbol.for("react.suspense"),hX=Symbol.for("react.memo"),J_=Symbol.for("react.lazy"),mX=Symbol.for("react.activity"),W_=Symbol.iterator;function gX(e){return e===null||typeof e!="object"?null:(e=W_&&e[W_]||e["@@iterator"],typeof e=="function"?e:null)}var V_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$_=Object.assign,X_={};function Nd(e,t,n){this.props=e,this.context=t,this.refs=X_,this.updater=n||V_}Nd.prototype.isReactComponent={};Nd.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};Nd.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Z_(){}Z_.prototype=Nd.prototype;function gS(e,t,n){this.props=e,this.context=t,this.refs=X_,this.updater=n||V_}var pS=gS.prototype=new Z_;pS.constructor=gS;$_(pS,Nd.prototype);pS.isPureReactComponent=!0;var K_=Array.isArray;function hS(){}var An={H:null,A:null,T:null,S:null},eN=Object.prototype.hasOwnProperty;function yS(e,t,n){var r=n.ref;return{$$typeof:mS,type:e,key:t,ref:r!==void 0?r:null,props:n}}function pX(e,t){return yS(e.type,t,e.props)}function ES(e){return typeof e=="object"&&e!==null&&e.$$typeof===mS}function yX(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Y_=/\/+/g;function AS(e,t){return typeof e=="object"&&e!==null&&e.key!=null?yX(""+e.key):t.toString(36)}function EX(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(hS,hS):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function _d(e,t,n,r,i){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(o){case"bigint":case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case mS:case sX:s=!0;break;case J_:return s=e._init,_d(s(e._payload),t,n,r,i)}}if(s)return i=i(e),s=r===""?"."+AS(e,0):r,K_(i)?(n="",s!=null&&(n=s.replace(Y_,"$&/")+"/"),_d(i,t,n,"",function(d){return d})):i!=null&&(ES(i)&&(i=pX(i,n+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(Y_,"$&/")+"/")+s)),t.push(i)),1;s=0;var a=r===""?".":r+":";if(K_(e))for(var u=0;u<e.length;u++)r=e[u],o=a+AS(r,u),s+=_d(r,t,n,o,i);else if(u=gX(e),typeof u=="function")for(e=u.call(e),u=0;!(r=e.next()).done;)r=r.value,o=a+AS(r,u++),s+=_d(r,t,n,o,i);else if(o==="object"){if(typeof e.then=="function")return _d(EX(e),t,n,r,i);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return s}function Up(e,t,n){if(e==null)return e;var r=[],i=0;return _d(e,r,"","",function(o){return t.call(n,o,i++)}),r}function CX(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var z_=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},IX={map:Up,forEach:function(e,t,n){Up(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Up(e,function(){t++}),t},toArray:function(e){return Up(e,function(t){return t})||[]},only:function(e){if(!ES(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ct.Activity=mX;ct.Children=IX;ct.Component=Nd;ct.Fragment=aX;ct.Profiler=cX;ct.PureComponent=gS;ct.StrictMode=lX;ct.Suspense=AX;ct.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=An;ct.__COMPILER_RUNTIME={__proto__:null,c:function(e){return An.H.useMemoCache(e)}};ct.cache=function(e){return function(){return e.apply(null,arguments)}};ct.cacheSignal=function(){return null};ct.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=$_({},e.props),i=e.key;if(t!=null)for(o in t.key!==void 0&&(i=""+t.key),t)!eN.call(t,o)||o==="key"||o==="__self"||o==="__source"||o==="ref"&&t.ref===void 0||(r[o]=t[o]);var o=arguments.length-2;if(o===1)r.children=n;else if(1<o){for(var s=Array(o),a=0;a<o;a++)s[a]=arguments[a+2];r.children=s}return yS(e.type,i,r)};ct.createContext=function(e){return e={$$typeof:dX,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:uX,_context:e},e};ct.createElement=function(e,t,n){var r,i={},o=null;if(t!=null)for(r in t.key!==void 0&&(o=""+t.key),t)eN.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1<s){for(var a=Array(s),u=0;u<s;u++)a[u]=arguments[u+2];i.children=a}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)i[r]===void 0&&(i[r]=s[r]);return yS(e,o,i)};ct.createRef=function(){return{current:null}};ct.forwardRef=function(e){return{$$typeof:fX,render:e}};ct.isValidElement=ES;ct.lazy=function(e){return{$$typeof:J_,_payload:{_status:-1,_result:e},_init:CX}};ct.memo=function(e,t){return{$$typeof:hX,type:e,compare:t===void 0?null:t}};ct.startTransition=function(e){var t=An.T,n={};An.T=n;try{var r=e(),i=An.S;i!==null&&i(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(hS,z_)}catch(o){z_(o)}finally{t!==null&&n.types!==null&&(t.types=n.types),An.T=t}};ct.unstable_useCacheRefresh=function(){return An.H.useCacheRefresh()};ct.use=function(e){return An.H.use(e)};ct.useActionState=function(e,t,n){return An.H.useActionState(e,t,n)};ct.useCallback=function(e,t){return An.H.useCallback(e,t)};ct.useContext=function(e){return An.H.useContext(e)};ct.useDebugValue=function(){};ct.useDeferredValue=function(e,t){return An.H.useDeferredValue(e,t)};ct.useEffect=function(e,t){return An.H.useEffect(e,t)};ct.useEffectEvent=function(e){return An.H.useEffectEvent(e)};ct.useId=function(){return An.H.useId()};ct.useImperativeHandle=function(e,t,n){return An.H.useImperativeHandle(e,t,n)};ct.useInsertionEffect=function(e,t){return An.H.useInsertionEffect(e,t)};ct.useLayoutEffect=function(e,t){return An.H.useLayoutEffect(e,t)};ct.useMemo=function(e,t){return An.H.useMemo(e,t)};ct.useOptimistic=function(e,t){return An.H.useOptimistic(e,t)};ct.useReducer=function(e,t,n){return An.H.useReducer(e,t,n)};ct.useRef=function(e){return An.H.useRef(e)};ct.useState=function(e){return An.H.useState(e)};ct.useSyncExternalStore=function(e,t,n){return An.H.useSyncExternalStore(e,t,n)};ct.useTransition=function(){return An.H.useTransition()};ct.version="19.2.4"});var _e=V((hDe,nN)=>{"use strict";nN.exports=tN()});var dN=V((sxe,jp)=>{jp.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&jp.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&jp.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var gN=V((axe,Ud)=>{var En=global.process,jc=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};jc(En)?(fN=Jt("assert"),Od=dN(),AN=/^win/i.test(En.platform),zA=Jt("events"),typeof zA!="function"&&(zA=zA.EventEmitter),En.__signal_exit_emitter__?Dr=En.__signal_exit_emitter__:(Dr=En.__signal_exit_emitter__=new zA,Dr.count=0,Dr.emitted={}),Dr.infinite||(Dr.setMaxListeners(1/0),Dr.infinite=!0),Ud.exports=function(e,t){if(!jc(global.process))return function(){};fN.equal(typeof e,"function","a callback must be provided for exit handler"),Ld===!1&&wS();var n="exit";t&&t.alwaysLast&&(n="afterexit");var r=function(){Dr.removeListener(n,e),Dr.listeners("exit").length===0&&Dr.listeners("afterexit").length===0&&qp()};return Dr.on(n,e),r},qp=function(){!Ld||!jc(global.process)||(Ld=!1,Od.forEach(function(t){try{En.removeListener(t,Wp[t])}catch{}}),En.emit=Kp,En.reallyExit=vS,Dr.count-=1)},Ud.exports.unload=qp,qc=function(t,n,r){Dr.emitted[t]||(Dr.emitted[t]=!0,Dr.emit(t,n,r))},Wp={},Od.forEach(function(e){Wp[e]=function(){if(jc(global.process)){var n=En.listeners(e);n.length===Dr.count&&(qp(),qc("exit",null,e),qc("afterexit",null,e),AN&&e==="SIGHUP"&&(e="SIGINT"),En.kill(En.pid,e))}}}),Ud.exports.signals=function(){return Od},Ld=!1,wS=function(){Ld||!jc(global.process)||(Ld=!0,Dr.count+=1,Od=Od.filter(function(t){try{return En.on(t,Wp[t]),!0}catch{return!1}}),En.emit=mN,En.reallyExit=hN)},Ud.exports.load=wS,vS=En.reallyExit,hN=function(t){jc(global.process)&&(En.exitCode=t||0,qc("exit",En.exitCode,null),qc("afterexit",En.exitCode,null),vS.call(En,En.exitCode))},Kp=En.emit,mN=function(t,n){if(t==="exit"&&jc(global.process)){n!==void 0&&(En.exitCode=n);var r=Kp.apply(this,arguments);return qc("exit",En.exitCode,null),qc("afterexit",En.exitCode,null),r}else return Kp.apply(this,arguments)}):Ud.exports=function(){return function(){}};var fN,Od,AN,zA,Dr,qp,qc,Wp,Ld,wS,vS,hN,Kp,mN});var CN=V(Ql=>{"use strict";Ql.ConcurrentRoot=1;Ql.ContinuousEventPriority=8;Ql.DefaultEventPriority=32;Ql.DiscreteEventPriority=2;Ql.IdleEventPriority=268435456;Ql.LegacyRoot=0;Ql.NoEventPriority=0});var RS=V((dxe,IN)=>{"use strict";IN.exports=CN()});var TN=V((Bxe,vN)=>{vN.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var zN=V(In=>{"use strict";function qS(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(0<Vp(i,t))e[r]=t,e[n]=i,n=r;else break e}}function Bs(e){return e.length===0?null:e[0]}function Xp(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,o=i>>>1;r<o;){var s=2*(r+1)-1,a=e[s],u=s+1,d=e[u];if(0>Vp(a,n))u<i&&0>Vp(d,a)?(e[r]=d,e[u]=n,r=u):(e[r]=a,e[s]=n,r=s);else if(u<i&&0>Vp(d,n))e[r]=d,e[u]=n,r=u;else break e}}return t}function Vp(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}In.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(UN=performance,In.unstable_now=function(){return UN.now()}):(GS=Date,PN=GS.now(),In.unstable_now=function(){return GS.now()-PN});var UN,GS,PN,Sa=[],kl=[],CZ=1,po=null,Hr=3,WS=!1,XA=!1,ZA=!1,KS=!1,jN=typeof setTimeout=="function"?setTimeout:null,qN=typeof clearTimeout=="function"?clearTimeout:null,GN=typeof setImmediate<"u"?setImmediate:null;function $p(e){for(var t=Bs(kl);t!==null;){if(t.callback===null)Xp(kl);else if(t.startTime<=e)Xp(kl),t.sortIndex=t.expirationTime,qS(Sa,t);else break;t=Bs(kl)}}function YS(e){if(ZA=!1,$p(e),!XA)if(Bs(Sa)!==null)XA=!0,qd||(qd=!0,jd());else{var t=Bs(kl);t!==null&&zS(YS,t.startTime-e)}}var qd=!1,eh=-1,WN=5,KN=-1;function YN(){return KS?!0:!(In.unstable_now()-KN<WN)}function HS(){if(KS=!1,qd){var e=In.unstable_now();KN=e;var t=!0;try{e:{XA=!1,ZA&&(ZA=!1,qN(eh),eh=-1),WS=!0;var n=Hr;try{t:{for($p(e),po=Bs(Sa);po!==null&&!(po.expirationTime>e&&YN());){var r=po.callback;if(typeof r=="function"){po.callback=null,Hr=po.priorityLevel;var i=r(po.expirationTime<=e);if(e=In.unstable_now(),typeof i=="function"){po.callback=i,$p(e),t=!0;break t}po===Bs(Sa)&&Xp(Sa),$p(e)}else Xp(Sa);po=Bs(Sa)}if(po!==null)t=!0;else{var o=Bs(kl);o!==null&&zS(YS,o.startTime-e),t=!1}}break e}finally{po=null,Hr=n,WS=!1}t=void 0}}finally{t?jd():qd=!1}}}var jd;typeof GN=="function"?jd=function(){GN(HS)}:typeof MessageChannel<"u"?(jS=new MessageChannel,HN=jS.port2,jS.port1.onmessage=HS,jd=function(){HN.postMessage(null)}):jd=function(){jN(HS,0)};var jS,HN;function zS(e,t){eh=jN(function(){e(In.unstable_now())},t)}In.unstable_IdlePriority=5;In.unstable_ImmediatePriority=1;In.unstable_LowPriority=4;In.unstable_NormalPriority=3;In.unstable_Profiling=null;In.unstable_UserBlockingPriority=2;In.unstable_cancelCallback=function(e){e.callback=null};In.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):WN=0<e?Math.floor(1e3/e):5};In.unstable_getCurrentPriorityLevel=function(){return Hr};In.unstable_next=function(e){switch(Hr){case 1:case 2:case 3:var t=3;break;default:t=Hr}var n=Hr;Hr=t;try{return e()}finally{Hr=n}};In.unstable_requestPaint=function(){KS=!0};In.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Hr;Hr=e;try{return t()}finally{Hr=n}};In.unstable_scheduleCallback=function(e,t,n){var r=In.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return i=n+i,e={id:CZ++,callback:t,priorityLevel:e,startTime:n,expirationTime:i,sortIndex:-1},n>r?(e.sortIndex=n,qS(kl,e),Bs(Sa)===null&&e===Bs(kl)&&(ZA?(qN(eh),eh=-1):ZA=!0,zS(YS,n-r))):(e.sortIndex=i,qS(Sa,e),XA||WS||(XA=!0,qd||(qd=!0,jd()))),e};In.unstable_shouldYield=YN;In.unstable_wrapCallback=function(e){var t=Hr;return function(){var n=Hr;Hr=t;try{return e.apply(this,arguments)}finally{Hr=n}}}});var VN=V((Lxe,JN)=>{"use strict";JN.exports=zN()});var $N=V((Uxe,th)=>{"use strict";th.exports=function(e){function t(l,c,m,E){return new fV(l,c,m,E)}function n(){}function r(l){var c="https://react.dev/errors/"+l;if(1<arguments.length){c+="?args[]="+encodeURIComponent(arguments[1]);for(var m=2;m<arguments.length;m++)c+="&args[]="+encodeURIComponent(arguments[m])}return"Minified React error #"+l+"; visit "+c+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(l){var c=l,m=l;if(l.alternate)for(;c.return;)c=c.return;else{l=c;do c=l,(c.flags&4098)!==0&&(m=c.return),l=c.return;while(l)}return c.tag===3?m:null}function o(l){if(i(l)!==l)throw Error(r(188))}function s(l){var c=l.alternate;if(!c){if(c=i(l),c===null)throw Error(r(188));return c!==l?null:l}for(var m=l,E=c;;){var I=m.return;if(I===null)break;var S=I.alternate;if(S===null){if(E=I.return,E!==null){m=E;continue}break}if(I.child===S.child){for(S=I.child;S;){if(S===m)return o(I),l;if(S===E)return o(I),c;S=S.sibling}throw Error(r(188))}if(m.return!==E.return)m=I,E=S;else{for(var T=!1,U=I.child;U;){if(U===m){T=!0,m=I,E=S;break}if(U===E){T=!0,E=I,m=S;break}U=U.sibling}if(!T){for(U=S.child;U;){if(U===m){T=!0,m=S,E=I;break}if(U===E){T=!0,E=S,m=I;break}U=U.sibling}if(!T)throw Error(r(189))}}if(m.alternate!==E)throw Error(r(190))}if(m.tag!==3)throw Error(r(188));return m.stateNode.current===m?l:c}function a(l){var c=l.tag;if(c===5||c===26||c===27||c===6)return l;for(l=l.child;l!==null;){if(c=a(l),c!==null)return c;l=l.sibling}return null}function u(l){var c=l.tag;if(c===5||c===26||c===27||c===6)return l;for(l=l.child;l!==null;){if(l.tag!==4&&(c=u(l),c!==null))return c;l=l.sibling}return null}function d(l){return l===null||typeof l!="object"?null:(l=sF&&l[sF]||l["@@iterator"],typeof l=="function"?l:null)}function f(l){if(l==null)return null;if(typeof l=="function")return l.$$typeof===yV?null:l.displayName||l.name||null;if(typeof l=="string")return l;switch(l){case id:return"Fragment";case yb:return"Profiler";case iF:return"StrictMode";case Cb:return"Suspense";case Ib:return"SuspenseList";case Sb:return"Activity"}if(typeof l=="object")switch(l.$$typeof){case rd:return"Portal";case pl:return(l.displayName||"Context")+".Provider";case oF:return(l._context.displayName||"Context")+".Consumer";case Eb:var c=l.render;return l=l.displayName,l||(l=c.displayName||c.name||"",l=l!==""?"ForwardRef("+l+")":"ForwardRef"),l;case bb:return c=l.displayName||null,c!==null?c:f(l.type)||"Memo";case yl:c=l._payload,l=l._init;try{return f(l(c))}catch{}}return null}function g(l){return{current:l}}function p(l){0>ad||(l.current=vb[ad],vb[ad]=null,ad--)}function A(l,c){ad++,vb[ad]=l.current,l.current=c}function h(l){return l>>>=0,l===0?32:31-(N$(l)/M$|0)|0}function y(l){var c=l&42;if(c!==0)return c;switch(l&-l){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:case 262144:case 524288:case 1048576:case 2097152:return l&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function C(l,c,m){var E=l.pendingLanes;if(E===0)return 0;var I=0,S=l.suspendedLanes,T=l.pingedLanes;l=l.warmLanes;var U=E&134217727;return U!==0?(E=U&~S,E!==0?I=y(E):(T&=U,T!==0?I=y(T):m||(m=U&~l,m!==0&&(I=y(m))))):(U=E&~S,U!==0?I=y(U):T!==0?I=y(T):m||(m=E&~l,m!==0&&(I=y(m)))),I===0?0:c!==0&&c!==I&&(c&S)===0&&(S=I&-I,m=c&-c,S>=m||S===32&&(m&4194048)!==0)?c:I}function b(l,c){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&c)===0}function D(l,c){switch(l){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 x(){var l=zg;return zg<<=1,(zg&4194048)===0&&(zg=256),l}function w(){var l=Jg;return Jg<<=1,(Jg&62914560)===0&&(Jg=4194304),l}function Q(l){for(var c=[],m=0;31>m;m++)c.push(l);return c}function k(l,c){l.pendingLanes|=c,c!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function P(l,c,m,E,I,S){var T=l.pendingLanes;l.pendingLanes=m,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=m,l.entangledLanes&=m,l.errorRecoveryDisabledLanes&=m,l.shellSuspendCounter=0;var U=l.entanglements,oe=l.expirationTimes,Ce=l.hiddenUpdates;for(m=T&~m;0<m;){var xe=31-Oi(m),Fe=1<<xe;U[xe]=0,oe[xe]=-1;var Me=Ce[xe];if(Me!==null)for(Ce[xe]=null,xe=0;xe<Me.length;xe++){var dt=Me[xe];dt!==null&&(dt.lane&=-536870913)}m&=~Fe}E!==0&&Y(l,E,0),S!==0&&I===0&&l.tag!==0&&(l.suspendedLanes|=S&~(T&~c))}function Y(l,c,m){l.pendingLanes|=c,l.suspendedLanes&=~c;var E=31-Oi(c);l.entangledLanes|=c,l.entanglements[E]=l.entanglements[E]|1073741824|m&4194090}function M(l,c){var m=l.entangledLanes|=c;for(l=l.entanglements;m;){var E=31-Oi(m),I=1<<E;I&c|l[E]&c&&(l[E]|=c),m&=~I}}function q(l){switch(l){case 2:l=1;break;case 8:l=4;break;case 32:l=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:l=128;break;case 268435456:l=134217728;break;default:l=0}return l}function ae(l){return l&=-l,2<l?8<l?(l&134217727)!==0?32:268435456:8:2}function z(l){if(typeof G$=="function"&&H$(l),Li&&typeof Li.setStrictMode=="function")try{Li.setStrictMode(vA,l)}catch{}}function j(l){if(Qb===void 0)try{throw Error()}catch(m){var c=m.stack.trim().match(/\n( *(at )?)/);Qb=c&&c[1]||"",QF=-1<m.stack.indexOf(`
2
+ import{$b as lk,$c as yk,$e as Fk,$k as Gc,Ag as Fp,Ah as o_,Ai as Fd,B as XF,Bm as M_,Bn as q_,Cb as Ip,Ce as wk,Cf as nX,Db as eS,Dc as iS,De as oS,Df as Mk,Dl as E_,Dm as fS,Eb as bp,Ee as vk,Ef as Ok,El as C_,Em as O_,Fb as ok,Fe as sS,Ff as xs,Fm as L_,Ge as Tk,Gf as go,Gg as Wk,Gl as uS,He as Rk,Hf as Lk,Hg as Kk,If as Uk,Ih as s_,Ij as Uc,Jc as pk,Jh as Yo,Kl as I_,Km as U_,L as ZF,Lm as Op,Me as GA,Ml as b_,Mm as P_,N as ek,Nf as Pk,Oe as Tp,Pe as Qk,Pf as aS,Rb as sk,Rm as G_,Sm as H_,T as Or,Tb as Sp,Ub as Dp,Ui as u_,Uk as Np,V as Zb,W as wd,X as nk,Xb as tS,Xg as Ko,Xh as a_,Y as rk,Yl as S_,Zb as ak,Zi as d_,_b as nS,_l as dS,a as Z$,ac as ck,af as kk,al as g_,am as D_,bc as uk,ce as Ik,eh as Yk,ei as l_,en as j_,ff as _k,ge as wp,gk as Pc,hj as f_,ih as zk,ii as c_,ij as A_,im as x_,jm as B_,ka as tX,kc as xp,ke as bk,kg as Gk,kh as tr,km as Mp,la as ik,lg as Hk,lh as kp,lj as lS,lk as m_,lm as w_,ma as vd,me as Sk,mf as Nk,mg as Rp,mh as Jk,na as Td,ne as Dk,ng as jk,nh as _p,nm as v_,oe as xk,og as rX,oh as Vk,om as T_,pa as Tn,pg as Ei,ph as $k,q as YF,qg as Qp,qh as Xk,qk as cS,rc as rS,rf as Rd,rg as iX,rh as Zk,rm as R_,s as zF,sc as dk,sd as Ek,sg as oX,sh as HA,sm as Q_,t as Ep,tc as fk,td as Ck,th as jA,tm as F_,uc as Ak,ud as PA,uh as e_,um as k_,vc as hk,vh as t_,vm as __,wc as mk,wh as n_,wi as Ci,wl as p_,wm as N_,x as JF,xc as gk,xd as Bp,xe as Bk,xg as qk,xh as r_,y as VF,ye as vp,yh as Qd,z as $F,zh as i_,zi as Tl,zl as y_,zm as kd}from"./chunk-2RUB3P7C.js";import{B as Vb,D as Ca,Ld as Cp,Nd as et,Sa as WF,Td as UA,a as je,aa as vl,b as ne,bd as KF,ca as Kn,ce as tk,ea as $b,ee as Wo,fa as GF,ge as Le,ha as Xb,ia as mp,la as HF,oa as gp,qa as eX,sa as tn,ua as jF,va as qF,yc as pp,ye as h_,zc as yp}from"./chunk-7FAQMMW2.js";import{b as Lp,c as Rl}from"./chunk-TU3BMADG.js";import{a as Jt,c as V,d as X$,e as te}from"./chunk-YUXORC52.js";var tN=V(ct=>{"use strict";var mS=Symbol.for("react.transitional.element"),sX=Symbol.for("react.portal"),aX=Symbol.for("react.fragment"),lX=Symbol.for("react.strict_mode"),cX=Symbol.for("react.profiler"),uX=Symbol.for("react.consumer"),dX=Symbol.for("react.context"),fX=Symbol.for("react.forward_ref"),AX=Symbol.for("react.suspense"),hX=Symbol.for("react.memo"),J_=Symbol.for("react.lazy"),mX=Symbol.for("react.activity"),W_=Symbol.iterator;function gX(e){return e===null||typeof e!="object"?null:(e=W_&&e[W_]||e["@@iterator"],typeof e=="function"?e:null)}var V_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$_=Object.assign,X_={};function Nd(e,t,n){this.props=e,this.context=t,this.refs=X_,this.updater=n||V_}Nd.prototype.isReactComponent={};Nd.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};Nd.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Z_(){}Z_.prototype=Nd.prototype;function gS(e,t,n){this.props=e,this.context=t,this.refs=X_,this.updater=n||V_}var pS=gS.prototype=new Z_;pS.constructor=gS;$_(pS,Nd.prototype);pS.isPureReactComponent=!0;var K_=Array.isArray;function hS(){}var An={H:null,A:null,T:null,S:null},eN=Object.prototype.hasOwnProperty;function yS(e,t,n){var r=n.ref;return{$$typeof:mS,type:e,key:t,ref:r!==void 0?r:null,props:n}}function pX(e,t){return yS(e.type,t,e.props)}function ES(e){return typeof e=="object"&&e!==null&&e.$$typeof===mS}function yX(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Y_=/\/+/g;function AS(e,t){return typeof e=="object"&&e!==null&&e.key!=null?yX(""+e.key):t.toString(36)}function EX(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(hS,hS):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function _d(e,t,n,r,i){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(o){case"bigint":case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case mS:case sX:s=!0;break;case J_:return s=e._init,_d(s(e._payload),t,n,r,i)}}if(s)return i=i(e),s=r===""?"."+AS(e,0):r,K_(i)?(n="",s!=null&&(n=s.replace(Y_,"$&/")+"/"),_d(i,t,n,"",function(d){return d})):i!=null&&(ES(i)&&(i=pX(i,n+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(Y_,"$&/")+"/")+s)),t.push(i)),1;s=0;var a=r===""?".":r+":";if(K_(e))for(var u=0;u<e.length;u++)r=e[u],o=a+AS(r,u),s+=_d(r,t,n,o,i);else if(u=gX(e),typeof u=="function")for(e=u.call(e),u=0;!(r=e.next()).done;)r=r.value,o=a+AS(r,u++),s+=_d(r,t,n,o,i);else if(o==="object"){if(typeof e.then=="function")return _d(EX(e),t,n,r,i);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return s}function Up(e,t,n){if(e==null)return e;var r=[],i=0;return _d(e,r,"","",function(o){return t.call(n,o,i++)}),r}function CX(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var z_=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},IX={map:Up,forEach:function(e,t,n){Up(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Up(e,function(){t++}),t},toArray:function(e){return Up(e,function(t){return t})||[]},only:function(e){if(!ES(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ct.Activity=mX;ct.Children=IX;ct.Component=Nd;ct.Fragment=aX;ct.Profiler=cX;ct.PureComponent=gS;ct.StrictMode=lX;ct.Suspense=AX;ct.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=An;ct.__COMPILER_RUNTIME={__proto__:null,c:function(e){return An.H.useMemoCache(e)}};ct.cache=function(e){return function(){return e.apply(null,arguments)}};ct.cacheSignal=function(){return null};ct.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=$_({},e.props),i=e.key;if(t!=null)for(o in t.key!==void 0&&(i=""+t.key),t)!eN.call(t,o)||o==="key"||o==="__self"||o==="__source"||o==="ref"&&t.ref===void 0||(r[o]=t[o]);var o=arguments.length-2;if(o===1)r.children=n;else if(1<o){for(var s=Array(o),a=0;a<o;a++)s[a]=arguments[a+2];r.children=s}return yS(e.type,i,r)};ct.createContext=function(e){return e={$$typeof:dX,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:uX,_context:e},e};ct.createElement=function(e,t,n){var r,i={},o=null;if(t!=null)for(r in t.key!==void 0&&(o=""+t.key),t)eN.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1<s){for(var a=Array(s),u=0;u<s;u++)a[u]=arguments[u+2];i.children=a}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)i[r]===void 0&&(i[r]=s[r]);return yS(e,o,i)};ct.createRef=function(){return{current:null}};ct.forwardRef=function(e){return{$$typeof:fX,render:e}};ct.isValidElement=ES;ct.lazy=function(e){return{$$typeof:J_,_payload:{_status:-1,_result:e},_init:CX}};ct.memo=function(e,t){return{$$typeof:hX,type:e,compare:t===void 0?null:t}};ct.startTransition=function(e){var t=An.T,n={};An.T=n;try{var r=e(),i=An.S;i!==null&&i(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(hS,z_)}catch(o){z_(o)}finally{t!==null&&n.types!==null&&(t.types=n.types),An.T=t}};ct.unstable_useCacheRefresh=function(){return An.H.useCacheRefresh()};ct.use=function(e){return An.H.use(e)};ct.useActionState=function(e,t,n){return An.H.useActionState(e,t,n)};ct.useCallback=function(e,t){return An.H.useCallback(e,t)};ct.useContext=function(e){return An.H.useContext(e)};ct.useDebugValue=function(){};ct.useDeferredValue=function(e,t){return An.H.useDeferredValue(e,t)};ct.useEffect=function(e,t){return An.H.useEffect(e,t)};ct.useEffectEvent=function(e){return An.H.useEffectEvent(e)};ct.useId=function(){return An.H.useId()};ct.useImperativeHandle=function(e,t,n){return An.H.useImperativeHandle(e,t,n)};ct.useInsertionEffect=function(e,t){return An.H.useInsertionEffect(e,t)};ct.useLayoutEffect=function(e,t){return An.H.useLayoutEffect(e,t)};ct.useMemo=function(e,t){return An.H.useMemo(e,t)};ct.useOptimistic=function(e,t){return An.H.useOptimistic(e,t)};ct.useReducer=function(e,t,n){return An.H.useReducer(e,t,n)};ct.useRef=function(e){return An.H.useRef(e)};ct.useState=function(e){return An.H.useState(e)};ct.useSyncExternalStore=function(e,t,n){return An.H.useSyncExternalStore(e,t,n)};ct.useTransition=function(){return An.H.useTransition()};ct.version="19.2.4"});var _e=V((hDe,nN)=>{"use strict";nN.exports=tN()});var dN=V((sxe,jp)=>{jp.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&jp.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&jp.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var gN=V((axe,Ud)=>{var En=global.process,jc=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};jc(En)?(fN=Jt("assert"),Od=dN(),AN=/^win/i.test(En.platform),zA=Jt("events"),typeof zA!="function"&&(zA=zA.EventEmitter),En.__signal_exit_emitter__?Dr=En.__signal_exit_emitter__:(Dr=En.__signal_exit_emitter__=new zA,Dr.count=0,Dr.emitted={}),Dr.infinite||(Dr.setMaxListeners(1/0),Dr.infinite=!0),Ud.exports=function(e,t){if(!jc(global.process))return function(){};fN.equal(typeof e,"function","a callback must be provided for exit handler"),Ld===!1&&wS();var n="exit";t&&t.alwaysLast&&(n="afterexit");var r=function(){Dr.removeListener(n,e),Dr.listeners("exit").length===0&&Dr.listeners("afterexit").length===0&&qp()};return Dr.on(n,e),r},qp=function(){!Ld||!jc(global.process)||(Ld=!1,Od.forEach(function(t){try{En.removeListener(t,Wp[t])}catch{}}),En.emit=Kp,En.reallyExit=vS,Dr.count-=1)},Ud.exports.unload=qp,qc=function(t,n,r){Dr.emitted[t]||(Dr.emitted[t]=!0,Dr.emit(t,n,r))},Wp={},Od.forEach(function(e){Wp[e]=function(){if(jc(global.process)){var n=En.listeners(e);n.length===Dr.count&&(qp(),qc("exit",null,e),qc("afterexit",null,e),AN&&e==="SIGHUP"&&(e="SIGINT"),En.kill(En.pid,e))}}}),Ud.exports.signals=function(){return Od},Ld=!1,wS=function(){Ld||!jc(global.process)||(Ld=!0,Dr.count+=1,Od=Od.filter(function(t){try{return En.on(t,Wp[t]),!0}catch{return!1}}),En.emit=mN,En.reallyExit=hN)},Ud.exports.load=wS,vS=En.reallyExit,hN=function(t){jc(global.process)&&(En.exitCode=t||0,qc("exit",En.exitCode,null),qc("afterexit",En.exitCode,null),vS.call(En,En.exitCode))},Kp=En.emit,mN=function(t,n){if(t==="exit"&&jc(global.process)){n!==void 0&&(En.exitCode=n);var r=Kp.apply(this,arguments);return qc("exit",En.exitCode,null),qc("afterexit",En.exitCode,null),r}else return Kp.apply(this,arguments)}):Ud.exports=function(){return function(){}};var fN,Od,AN,zA,Dr,qp,qc,Wp,Ld,wS,vS,hN,Kp,mN});var CN=V(Ql=>{"use strict";Ql.ConcurrentRoot=1;Ql.ContinuousEventPriority=8;Ql.DefaultEventPriority=32;Ql.DiscreteEventPriority=2;Ql.IdleEventPriority=268435456;Ql.LegacyRoot=0;Ql.NoEventPriority=0});var RS=V((dxe,IN)=>{"use strict";IN.exports=CN()});var TN=V((Bxe,vN)=>{vN.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var zN=V(In=>{"use strict";function qS(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(0<Vp(i,t))e[r]=t,e[n]=i,n=r;else break e}}function Bs(e){return e.length===0?null:e[0]}function Xp(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,o=i>>>1;r<o;){var s=2*(r+1)-1,a=e[s],u=s+1,d=e[u];if(0>Vp(a,n))u<i&&0>Vp(d,a)?(e[r]=d,e[u]=n,r=u):(e[r]=a,e[s]=n,r=s);else if(u<i&&0>Vp(d,n))e[r]=d,e[u]=n,r=u;else break e}}return t}function Vp(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}In.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(UN=performance,In.unstable_now=function(){return UN.now()}):(GS=Date,PN=GS.now(),In.unstable_now=function(){return GS.now()-PN});var UN,GS,PN,Sa=[],kl=[],CZ=1,po=null,Hr=3,WS=!1,XA=!1,ZA=!1,KS=!1,jN=typeof setTimeout=="function"?setTimeout:null,qN=typeof clearTimeout=="function"?clearTimeout:null,GN=typeof setImmediate<"u"?setImmediate:null;function $p(e){for(var t=Bs(kl);t!==null;){if(t.callback===null)Xp(kl);else if(t.startTime<=e)Xp(kl),t.sortIndex=t.expirationTime,qS(Sa,t);else break;t=Bs(kl)}}function YS(e){if(ZA=!1,$p(e),!XA)if(Bs(Sa)!==null)XA=!0,qd||(qd=!0,jd());else{var t=Bs(kl);t!==null&&zS(YS,t.startTime-e)}}var qd=!1,eh=-1,WN=5,KN=-1;function YN(){return KS?!0:!(In.unstable_now()-KN<WN)}function HS(){if(KS=!1,qd){var e=In.unstable_now();KN=e;var t=!0;try{e:{XA=!1,ZA&&(ZA=!1,qN(eh),eh=-1),WS=!0;var n=Hr;try{t:{for($p(e),po=Bs(Sa);po!==null&&!(po.expirationTime>e&&YN());){var r=po.callback;if(typeof r=="function"){po.callback=null,Hr=po.priorityLevel;var i=r(po.expirationTime<=e);if(e=In.unstable_now(),typeof i=="function"){po.callback=i,$p(e),t=!0;break t}po===Bs(Sa)&&Xp(Sa),$p(e)}else Xp(Sa);po=Bs(Sa)}if(po!==null)t=!0;else{var o=Bs(kl);o!==null&&zS(YS,o.startTime-e),t=!1}}break e}finally{po=null,Hr=n,WS=!1}t=void 0}}finally{t?jd():qd=!1}}}var jd;typeof GN=="function"?jd=function(){GN(HS)}:typeof MessageChannel<"u"?(jS=new MessageChannel,HN=jS.port2,jS.port1.onmessage=HS,jd=function(){HN.postMessage(null)}):jd=function(){jN(HS,0)};var jS,HN;function zS(e,t){eh=jN(function(){e(In.unstable_now())},t)}In.unstable_IdlePriority=5;In.unstable_ImmediatePriority=1;In.unstable_LowPriority=4;In.unstable_NormalPriority=3;In.unstable_Profiling=null;In.unstable_UserBlockingPriority=2;In.unstable_cancelCallback=function(e){e.callback=null};In.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):WN=0<e?Math.floor(1e3/e):5};In.unstable_getCurrentPriorityLevel=function(){return Hr};In.unstable_next=function(e){switch(Hr){case 1:case 2:case 3:var t=3;break;default:t=Hr}var n=Hr;Hr=t;try{return e()}finally{Hr=n}};In.unstable_requestPaint=function(){KS=!0};In.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Hr;Hr=e;try{return t()}finally{Hr=n}};In.unstable_scheduleCallback=function(e,t,n){var r=In.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return i=n+i,e={id:CZ++,callback:t,priorityLevel:e,startTime:n,expirationTime:i,sortIndex:-1},n>r?(e.sortIndex=n,qS(kl,e),Bs(Sa)===null&&e===Bs(kl)&&(ZA?(qN(eh),eh=-1):ZA=!0,zS(YS,n-r))):(e.sortIndex=i,qS(Sa,e),XA||WS||(XA=!0,qd||(qd=!0,jd()))),e};In.unstable_shouldYield=YN;In.unstable_wrapCallback=function(e){var t=Hr;return function(){var n=Hr;Hr=t;try{return e.apply(this,arguments)}finally{Hr=n}}}});var VN=V((Lxe,JN)=>{"use strict";JN.exports=zN()});var $N=V((Uxe,th)=>{"use strict";th.exports=function(e){function t(l,c,m,E){return new fV(l,c,m,E)}function n(){}function r(l){var c="https://react.dev/errors/"+l;if(1<arguments.length){c+="?args[]="+encodeURIComponent(arguments[1]);for(var m=2;m<arguments.length;m++)c+="&args[]="+encodeURIComponent(arguments[m])}return"Minified React error #"+l+"; visit "+c+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(l){var c=l,m=l;if(l.alternate)for(;c.return;)c=c.return;else{l=c;do c=l,(c.flags&4098)!==0&&(m=c.return),l=c.return;while(l)}return c.tag===3?m:null}function o(l){if(i(l)!==l)throw Error(r(188))}function s(l){var c=l.alternate;if(!c){if(c=i(l),c===null)throw Error(r(188));return c!==l?null:l}for(var m=l,E=c;;){var I=m.return;if(I===null)break;var S=I.alternate;if(S===null){if(E=I.return,E!==null){m=E;continue}break}if(I.child===S.child){for(S=I.child;S;){if(S===m)return o(I),l;if(S===E)return o(I),c;S=S.sibling}throw Error(r(188))}if(m.return!==E.return)m=I,E=S;else{for(var T=!1,U=I.child;U;){if(U===m){T=!0,m=I,E=S;break}if(U===E){T=!0,E=I,m=S;break}U=U.sibling}if(!T){for(U=S.child;U;){if(U===m){T=!0,m=S,E=I;break}if(U===E){T=!0,E=S,m=I;break}U=U.sibling}if(!T)throw Error(r(189))}}if(m.alternate!==E)throw Error(r(190))}if(m.tag!==3)throw Error(r(188));return m.stateNode.current===m?l:c}function a(l){var c=l.tag;if(c===5||c===26||c===27||c===6)return l;for(l=l.child;l!==null;){if(c=a(l),c!==null)return c;l=l.sibling}return null}function u(l){var c=l.tag;if(c===5||c===26||c===27||c===6)return l;for(l=l.child;l!==null;){if(l.tag!==4&&(c=u(l),c!==null))return c;l=l.sibling}return null}function d(l){return l===null||typeof l!="object"?null:(l=sF&&l[sF]||l["@@iterator"],typeof l=="function"?l:null)}function f(l){if(l==null)return null;if(typeof l=="function")return l.$$typeof===yV?null:l.displayName||l.name||null;if(typeof l=="string")return l;switch(l){case id:return"Fragment";case yb:return"Profiler";case iF:return"StrictMode";case Cb:return"Suspense";case Ib:return"SuspenseList";case Sb:return"Activity"}if(typeof l=="object")switch(l.$$typeof){case rd:return"Portal";case pl:return(l.displayName||"Context")+".Provider";case oF:return(l._context.displayName||"Context")+".Consumer";case Eb:var c=l.render;return l=l.displayName,l||(l=c.displayName||c.name||"",l=l!==""?"ForwardRef("+l+")":"ForwardRef"),l;case bb:return c=l.displayName||null,c!==null?c:f(l.type)||"Memo";case yl:c=l._payload,l=l._init;try{return f(l(c))}catch{}}return null}function g(l){return{current:l}}function p(l){0>ad||(l.current=vb[ad],vb[ad]=null,ad--)}function A(l,c){ad++,vb[ad]=l.current,l.current=c}function h(l){return l>>>=0,l===0?32:31-(N$(l)/M$|0)|0}function y(l){var c=l&42;if(c!==0)return c;switch(l&-l){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:case 262144:case 524288:case 1048576:case 2097152:return l&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function C(l,c,m){var E=l.pendingLanes;if(E===0)return 0;var I=0,S=l.suspendedLanes,T=l.pingedLanes;l=l.warmLanes;var U=E&134217727;return U!==0?(E=U&~S,E!==0?I=y(E):(T&=U,T!==0?I=y(T):m||(m=U&~l,m!==0&&(I=y(m))))):(U=E&~S,U!==0?I=y(U):T!==0?I=y(T):m||(m=E&~l,m!==0&&(I=y(m)))),I===0?0:c!==0&&c!==I&&(c&S)===0&&(S=I&-I,m=c&-c,S>=m||S===32&&(m&4194048)!==0)?c:I}function b(l,c){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&c)===0}function D(l,c){switch(l){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 x(){var l=zg;return zg<<=1,(zg&4194048)===0&&(zg=256),l}function w(){var l=Jg;return Jg<<=1,(Jg&62914560)===0&&(Jg=4194304),l}function Q(l){for(var c=[],m=0;31>m;m++)c.push(l);return c}function k(l,c){l.pendingLanes|=c,c!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function P(l,c,m,E,I,S){var T=l.pendingLanes;l.pendingLanes=m,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=m,l.entangledLanes&=m,l.errorRecoveryDisabledLanes&=m,l.shellSuspendCounter=0;var U=l.entanglements,oe=l.expirationTimes,Ce=l.hiddenUpdates;for(m=T&~m;0<m;){var xe=31-Oi(m),Fe=1<<xe;U[xe]=0,oe[xe]=-1;var Me=Ce[xe];if(Me!==null)for(Ce[xe]=null,xe=0;xe<Me.length;xe++){var dt=Me[xe];dt!==null&&(dt.lane&=-536870913)}m&=~Fe}E!==0&&Y(l,E,0),S!==0&&I===0&&l.tag!==0&&(l.suspendedLanes|=S&~(T&~c))}function Y(l,c,m){l.pendingLanes|=c,l.suspendedLanes&=~c;var E=31-Oi(c);l.entangledLanes|=c,l.entanglements[E]=l.entanglements[E]|1073741824|m&4194090}function M(l,c){var m=l.entangledLanes|=c;for(l=l.entanglements;m;){var E=31-Oi(m),I=1<<E;I&c|l[E]&c&&(l[E]|=c),m&=~I}}function q(l){switch(l){case 2:l=1;break;case 8:l=4;break;case 32:l=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:l=128;break;case 268435456:l=134217728;break;default:l=0}return l}function ae(l){return l&=-l,2<l?8<l?(l&134217727)!==0?32:268435456:8:2}function z(l){if(typeof G$=="function"&&H$(l),Li&&typeof Li.setStrictMode=="function")try{Li.setStrictMode(vA,l)}catch{}}function j(l){if(Qb===void 0)try{throw Error()}catch(m){var c=m.stack.trim().match(/\n( *(at )?)/);Qb=c&&c[1]||"",QF=-1<m.stack.indexOf(`
3
3
  at`)?" (<anonymous>)":-1<m.stack.indexOf("@")?"@unknown:0:0":""}return`
4
4
  `+Qb+l+QF}function le(l,c){if(!l||Fb)return"";Fb=!0;var m=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var E={DetermineComponentFrameRoot:function(){try{if(c){var Fe=function(){throw Error()};if(Object.defineProperty(Fe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Fe,[])}catch(dt){var Me=dt}Reflect.construct(l,[],Fe)}else{try{Fe.call()}catch(dt){Me=dt}l.call(Fe.prototype)}}else{try{throw Error()}catch(dt){Me=dt}(Fe=l())&&typeof Fe.catch=="function"&&Fe.catch(function(){})}}catch(dt){if(dt&&Me&&typeof dt.stack=="string")return[dt.stack,Me.stack]}return[null,null]}};E.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var I=Object.getOwnPropertyDescriptor(E.DetermineComponentFrameRoot,"name");I&&I.configurable&&Object.defineProperty(E.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var S=E.DetermineComponentFrameRoot(),T=S[0],U=S[1];if(T&&U){var oe=T.split(`
5
5
  `),Ce=U.split(`
@@ -520,7 +520,7 @@ ${e.map(i=>{let o=vI.basename(i.path),s=(t.get(o)||0)>1,a=vI.basename(vI.dirname
520
520
  ${f.map(g=>` - ${g}`).join(`
521
521
  `)}
522
522
 
523
- Use /mcp auth <server-name> to authenticate.`}}let s=o[n];if(!s)return{type:"message",messageType:"error",content:`MCP server '${n}' not found.`};let a=u=>{e.ui.addItem({type:"info",text:u})};Le.on(Wo.OauthDisplayMessage,a);try{e.ui.addItem({type:"info",text:`Starting OAuth authentication for MCP server '${n}'...`});let{MCPOAuthProvider:u}=await import("./dist-RP6OD3OZ.js"),d=s.oauth;d||(d={enabled:!1});let f=s.httpUrl||s.url;await new u(new cS).authenticate(n,d,f),e.ui.addItem({type:"info",text:`\u2705 Successfully authenticated with MCP server '${n}'!`});let p=i.getMcpClientManager();p&&(e.ui.addItem({type:"info",text:`Restarting MCP server '${n}'...`}),await p.restartServer(n));let A=e.services.agentContext?.geminiClient;return A?.isInitialized()&&await A.setTools(),e.ui.reloadCommands(),{type:"message",messageType:"info",content:`Successfully authenticated and reloaded tools for '${n}'`}}catch(u){return{type:"message",messageType:"error",content:`Failed to authenticate with MCP server '${n}': ${et(u)}`}}finally{Le.removeListener(Wo.OauthDisplayMessage,a)}},completion:async(e,t)=>{let r=e.services.agentContext?.config;if(!r)return[];let i=r.getMcpClientManager()?.getMcpServers()||{};return Object.keys(i).filter(o=>o.startsWith(t))}},xg=async(e,t=!1,n=!1,r)=>{let i=e.services.agentContext,o=i?.config;if(!o)return{type:"message",messageType:"error",content:"Config not loaded."};o.setUserInteractedWithMcp();let s=i.toolRegistry;if(!s)return{type:"message",messageType:"error",content:"Could not retrieve tool registry."};let a=o.getMcpClientManager()?.getMcpServers()||{},u=o.getMcpClientManager()?.getBlockedMcpServers()||[];if(r){let M=r.trim().toLowerCase();M&&(a=Object.fromEntries(Object.entries(a).filter(([q])=>q.toLowerCase().includes(M)||ui(q).includes(M))))}let d=Object.keys(a),f=d.filter(M=>I_(M)===E_.CONNECTING),p=b_()===C_.IN_PROGRESS||f.length>0,h=s.getAllTools().filter(M=>M instanceof KF),C=o.getPromptRegistry().getAllPrompts().filter(M=>"serverName"in M&&d.includes(M.serverName)),D=o.getResourceRegistry().getAllResources().filter(M=>d.includes(M.serverName)),x={},w=new cS;for(let M of d)if(a[M].oauth?.enabled||uS.has(M)){let ae=await w.getCredentials(M);ae?ae.token.expiresAt&&ae.token.expiresAt<Date.now()?x[M]="expired":x[M]="authenticated":x[M]="unauthenticated"}else x[M]="not-configured";let Q=pc.getInstance(),k={};for(let M of d)k[M]=await Q.getDisplayState(M);let P={};for(let M of d){let q=o.getMcpClientManager()?.getLastError(M);q&&(P[M]=q)}let Y={type:"mcp_status",servers:a,tools:h.map(M=>({serverName:M.serverName,name:M.name,description:M.description,schema:M.schema})),prompts:C.map(M=>({serverName:M.serverName,name:M.name,description:M.description})),resources:D.map(M=>({serverName:M.serverName,name:M.name,uri:M.uri,mimeType:M.mimeType,description:M.description})),authStatus:x,enablementState:k,errors:P,blockedServers:u.map(M=>({name:M.name,extensionName:M.extensionName})),discoveryInProgress:p,connectingServers:f,showDescriptions:!!t,showSchema:!!n};e.ui.addItem(Y)},X7={name:"list",altNames:["ls","nodesc","nodescription"],description:"List configured MCP servers and tools",kind:"built-in",autoExecute:!0,action:(e,t)=>xg(e,!1,!1,t)},kSe={name:"desc",altNames:["description"],description:"List configured MCP servers and tools with descriptions",kind:"built-in",autoExecute:!0,action:(e,t)=>xg(e,!0,!1,t)},_Se={name:"schema",description:"List configured MCP servers and tools with descriptions and schemas",kind:"built-in",autoExecute:!0,action:(e,t)=>xg(e,!0,!0,t)},NSe={name:"reload",altNames:["refresh"],description:"Reloads MCP servers",kind:"built-in",autoExecute:!0,takesArgs:!1,action:async e=>{let t=e.services.agentContext,n=t?.config;if(!n)return{type:"message",messageType:"error",content:"Config not loaded."};let r=n.getMcpClientManager();if(!r)return{type:"message",messageType:"error",content:"Could not retrieve mcp client manager."};e.ui.addItem({type:"info",text:"Reloading MCP servers..."}),await r.restart();let i=t.geminiClient;return i?.isInitialized()&&await i.setTools(),e.ui.reloadCommands(),X7.action(e,"")}};async function Z7(e,t,n){let r=e.services.agentContext,i=r?.config;if(!i)return{type:"message",messageType:"error",content:"Config not loaded."};i.setUserInteractedWithMcp();let o=t.trim().split(/\s+/),s=o.includes("--session"),a=o.filter(y=>y!=="--session")[0],u=n?"enable":"disable";if(!a)return{type:"message",messageType:"error",content:`Server name required. Usage: /mcp ${u} <server-name> [--session]`};let d=ui(a),f=i.getMcpClientManager()?.getMcpServers()||{};if(!Object.keys(f).map(ui).includes(d))return{type:"message",messageType:"error",content:`Server '${a}' not found. Use /mcp list to see available servers.`};let p=pc.getInstance();if(n){let y=pf(),C=await dz(d,{adminMcpEnabled:y.merged.admin?.mcp?.enabled??!0,allowedList:y.merged.mcp?.allowed,excludedList:y.merged.mcp?.excluded});if(!C.allowed&&(C.blockType==="allowlist"||C.blockType==="excludelist"))return{type:"message",messageType:"error",content:C.reason??"Blocked by settings."};s?p.clearSessionDisable(d):await p.enable(d),C.blockType==="admin"&&e.ui.addItem({type:"warning",text:"MCP disabled by admin. Will load when enabled."},Date.now())}else s?p.disableForSession(d):await p.disable(d);let A=`MCP server '${d}' ${n?"enabled":"disabled"}${s?" for this session":""}.`,h=i.getMcpClientManager();return h&&(e.ui.addItem({type:"info",text:"Reloading MCP servers..."},Date.now()),await h.restart()),r.geminiClient?.isInitialized()&&await r.geminiClient.setTools(),e.ui.reloadCommands(),{type:"message",messageType:"info",content:A}}async function eJ(e,t,n){let i=e.services.agentContext?.config;if(!i)return[];let o=Object.keys(i.getMcpClientManager()?.getMcpServers()||{}),s=pc.getInstance(),a=[];for(let u of o)(await s.getDisplayState(u)).enabled===n&&u.startsWith(t)&&a.push(u);return a}var MSe={name:"enable",description:"Enable a disabled MCP server",kind:"built-in",autoExecute:!0,action:(e,t)=>Z7(e,t,!0),completion:(e,t)=>eJ(e,t,!1)},OSe={name:"disable",description:"Disable an MCP server",kind:"built-in",autoExecute:!0,action:(e,t)=>Z7(e,t,!1),completion:(e,t)=>eJ(e,t,!0)},m1={name:"mcp",description:"Manage configured Model Context Protocol (MCP) servers",kind:"built-in",autoExecute:!1,subCommands:[X7,kSe,_Se,FSe,NSe,MSe,OSe],action:async(e,t)=>{if(t){let n=mc(`/${t}`,m1.subCommands);return n.commandToExecute?.action?n.commandToExecute.action(e,n.args):xg(e,!1,!1,t)}return xg(e)}};var tJ={name:"memory",description:"Commands for interacting with memory",kind:"built-in",autoExecute:!1,subCommands:[{name:"show",description:"Show the current memory contents",kind:"built-in",autoExecute:!0,action:async e=>{let t=e.services.agentContext?.config;if(!t)return;let n=F_(t);e.ui.addItem({type:"info",text:n.content},Date.now())}},{name:"add",description:"Add content to the memory",kind:"built-in",autoExecute:!1,action:(e,t)=>{let n=k_(t);return n.type==="message"||e.ui.addItem({type:"info",text:`Attempting to save to memory: "${t.trim()}"`},Date.now()),n}},{name:"reload",altNames:["refresh"],description:"Reload the memory from the source",kind:"built-in",autoExecute:!0,action:async e=>{e.ui.addItem({type:"info",text:"Reloading memory from source files..."},Date.now());try{let t=e.services.agentContext?.config;if(t){let n=await __(t);e.ui.addItem({type:"info",text:n.content},Date.now())}}catch(t){e.ui.addItem({type:"error",text:`Error reloading memory: ${t.message}`},Date.now())}}},{name:"list",description:"Lists the paths of the GEMINI.md files in use",kind:"built-in",autoExecute:!0,action:async e=>{let t=e.services.agentContext?.config;if(!t)return;let n=N_(t);e.ui.addItem({type:"info",text:n.content},Date.now())}}]};var LSe={name:"set",description:"Set the model to use. Usage: /model set <model-name> [--persist]",kind:"built-in",autoExecute:!1,action:async(e,t)=>{let n=t.trim().split(/\s+/).filter(Boolean);if(n.length===0){e.ui.addItem({type:"error",text:"Usage: /model set <model-name> [--persist]"});return}let r=n[0],i=n.includes("--persist");if(e.services.agentContext?.config){e.services.agentContext.config.setModel(r,!i);let o=new ck(r);wk(e.services.agentContext.config,o),e.ui.addItem({type:"info",text:`Model set to ${r}${i?" (persisted)":""}`})}}},nJ={name:"manage",description:"Opens a dialog to configure the model",kind:"built-in",autoExecute:!0,action:async e=>(e.services.agentContext?.config&&await e.services.agentContext.config.refreshUserQuota(),{type:"dialog",dialog:"model"})},rJ={name:"model",description:"Manage model configuration",kind:"built-in",autoExecute:!1,subCommands:[nJ,LSe],action:async(e,t)=>nJ.action(e,t)};var or=te(_e(),1);var Re=te(Ge(),1);var g1=6,p1=20,RI=25,Vu=5,iJ=10,Bg=e=>!e||!e.reactionGroups?0:e.reactionGroups.reduce((t,n)=>t+n.users.totalCount,0),USe=(e,t)=>t?.toLowerCase()==="duplicate"?"magenta":e==="OPEN"?"green":"red",oJ=({config:e,onExit:t,initialLimit:n=50})=>{let r=Gn(),[i,o]=(0,or.useState)({status:"loading",issues:[],currentIndex:0,analysisCache:new Map,analyzingIds:new Set,message:"Fetching issues..."}),[s,a]=(0,or.useState)("target"),[u,d]=(0,or.useState)(0),[f,g]=(0,or.useState)(!1),[p,A]=(0,or.useState)(0),[h,y]=(0,or.useState)(0),[C,b]=(0,or.useState)(""),[D,x]=(0,or.useState)([]),[w,Q]=(0,or.useState)(!1),[k,P]=(0,or.useState)(0);(0,or.useEffect)(()=>{u<k?P(u):u>=k+Vu&&P(u-Vu+1)},[u,k]);let Y=async de=>{try{let{stdout:he}=await Or("gh",["issue","view",String(de),"--json","number,title,body,state,stateReason,labels,url,comments,author,reactionGroups"]);return JSON.parse(he)}catch(he){return ne.error(`Failed to fetch details for candidate #${de}`,he),null}},M=(0,or.useCallback)(async de=>{let he=de.comments.find(pe=>pe.body.includes("Found possible duplicate issues:"));if(!he)return null;let Be=he.body.split(`
523
+ Use /mcp auth <server-name> to authenticate.`}}let s=o[n];if(!s)return{type:"message",messageType:"error",content:`MCP server '${n}' not found.`};let a=u=>{e.ui.addItem({type:"info",text:u})};Le.on(Wo.OauthDisplayMessage,a);try{e.ui.addItem({type:"info",text:`Starting OAuth authentication for MCP server '${n}'...`});let{MCPOAuthProvider:u}=await import("./dist-S5FVFYPA.js"),d=s.oauth;d||(d={enabled:!1});let f=s.httpUrl||s.url;await new u(new cS).authenticate(n,d,f),e.ui.addItem({type:"info",text:`\u2705 Successfully authenticated with MCP server '${n}'!`});let p=i.getMcpClientManager();p&&(e.ui.addItem({type:"info",text:`Restarting MCP server '${n}'...`}),await p.restartServer(n));let A=e.services.agentContext?.geminiClient;return A?.isInitialized()&&await A.setTools(),e.ui.reloadCommands(),{type:"message",messageType:"info",content:`Successfully authenticated and reloaded tools for '${n}'`}}catch(u){return{type:"message",messageType:"error",content:`Failed to authenticate with MCP server '${n}': ${et(u)}`}}finally{Le.removeListener(Wo.OauthDisplayMessage,a)}},completion:async(e,t)=>{let r=e.services.agentContext?.config;if(!r)return[];let i=r.getMcpClientManager()?.getMcpServers()||{};return Object.keys(i).filter(o=>o.startsWith(t))}},xg=async(e,t=!1,n=!1,r)=>{let i=e.services.agentContext,o=i?.config;if(!o)return{type:"message",messageType:"error",content:"Config not loaded."};o.setUserInteractedWithMcp();let s=i.toolRegistry;if(!s)return{type:"message",messageType:"error",content:"Could not retrieve tool registry."};let a=o.getMcpClientManager()?.getMcpServers()||{},u=o.getMcpClientManager()?.getBlockedMcpServers()||[];if(r){let M=r.trim().toLowerCase();M&&(a=Object.fromEntries(Object.entries(a).filter(([q])=>q.toLowerCase().includes(M)||ui(q).includes(M))))}let d=Object.keys(a),f=d.filter(M=>I_(M)===E_.CONNECTING),p=b_()===C_.IN_PROGRESS||f.length>0,h=s.getAllTools().filter(M=>M instanceof KF),C=o.getPromptRegistry().getAllPrompts().filter(M=>"serverName"in M&&d.includes(M.serverName)),D=o.getResourceRegistry().getAllResources().filter(M=>d.includes(M.serverName)),x={},w=new cS;for(let M of d)if(a[M].oauth?.enabled||uS.has(M)){let ae=await w.getCredentials(M);ae?ae.token.expiresAt&&ae.token.expiresAt<Date.now()?x[M]="expired":x[M]="authenticated":x[M]="unauthenticated"}else x[M]="not-configured";let Q=pc.getInstance(),k={};for(let M of d)k[M]=await Q.getDisplayState(M);let P={};for(let M of d){let q=o.getMcpClientManager()?.getLastError(M);q&&(P[M]=q)}let Y={type:"mcp_status",servers:a,tools:h.map(M=>({serverName:M.serverName,name:M.name,description:M.description,schema:M.schema})),prompts:C.map(M=>({serverName:M.serverName,name:M.name,description:M.description})),resources:D.map(M=>({serverName:M.serverName,name:M.name,uri:M.uri,mimeType:M.mimeType,description:M.description})),authStatus:x,enablementState:k,errors:P,blockedServers:u.map(M=>({name:M.name,extensionName:M.extensionName})),discoveryInProgress:p,connectingServers:f,showDescriptions:!!t,showSchema:!!n};e.ui.addItem(Y)},X7={name:"list",altNames:["ls","nodesc","nodescription"],description:"List configured MCP servers and tools",kind:"built-in",autoExecute:!0,action:(e,t)=>xg(e,!1,!1,t)},kSe={name:"desc",altNames:["description"],description:"List configured MCP servers and tools with descriptions",kind:"built-in",autoExecute:!0,action:(e,t)=>xg(e,!0,!1,t)},_Se={name:"schema",description:"List configured MCP servers and tools with descriptions and schemas",kind:"built-in",autoExecute:!0,action:(e,t)=>xg(e,!0,!0,t)},NSe={name:"reload",altNames:["refresh"],description:"Reloads MCP servers",kind:"built-in",autoExecute:!0,takesArgs:!1,action:async e=>{let t=e.services.agentContext,n=t?.config;if(!n)return{type:"message",messageType:"error",content:"Config not loaded."};let r=n.getMcpClientManager();if(!r)return{type:"message",messageType:"error",content:"Could not retrieve mcp client manager."};e.ui.addItem({type:"info",text:"Reloading MCP servers..."}),await r.restart();let i=t.geminiClient;return i?.isInitialized()&&await i.setTools(),e.ui.reloadCommands(),X7.action(e,"")}};async function Z7(e,t,n){let r=e.services.agentContext,i=r?.config;if(!i)return{type:"message",messageType:"error",content:"Config not loaded."};i.setUserInteractedWithMcp();let o=t.trim().split(/\s+/),s=o.includes("--session"),a=o.filter(y=>y!=="--session")[0],u=n?"enable":"disable";if(!a)return{type:"message",messageType:"error",content:`Server name required. Usage: /mcp ${u} <server-name> [--session]`};let d=ui(a),f=i.getMcpClientManager()?.getMcpServers()||{};if(!Object.keys(f).map(ui).includes(d))return{type:"message",messageType:"error",content:`Server '${a}' not found. Use /mcp list to see available servers.`};let p=pc.getInstance();if(n){let y=pf(),C=await dz(d,{adminMcpEnabled:y.merged.admin?.mcp?.enabled??!0,allowedList:y.merged.mcp?.allowed,excludedList:y.merged.mcp?.excluded});if(!C.allowed&&(C.blockType==="allowlist"||C.blockType==="excludelist"))return{type:"message",messageType:"error",content:C.reason??"Blocked by settings."};s?p.clearSessionDisable(d):await p.enable(d),C.blockType==="admin"&&e.ui.addItem({type:"warning",text:"MCP disabled by admin. Will load when enabled."},Date.now())}else s?p.disableForSession(d):await p.disable(d);let A=`MCP server '${d}' ${n?"enabled":"disabled"}${s?" for this session":""}.`,h=i.getMcpClientManager();return h&&(e.ui.addItem({type:"info",text:"Reloading MCP servers..."},Date.now()),await h.restart()),r.geminiClient?.isInitialized()&&await r.geminiClient.setTools(),e.ui.reloadCommands(),{type:"message",messageType:"info",content:A}}async function eJ(e,t,n){let i=e.services.agentContext?.config;if(!i)return[];let o=Object.keys(i.getMcpClientManager()?.getMcpServers()||{}),s=pc.getInstance(),a=[];for(let u of o)(await s.getDisplayState(u)).enabled===n&&u.startsWith(t)&&a.push(u);return a}var MSe={name:"enable",description:"Enable a disabled MCP server",kind:"built-in",autoExecute:!0,action:(e,t)=>Z7(e,t,!0),completion:(e,t)=>eJ(e,t,!1)},OSe={name:"disable",description:"Disable an MCP server",kind:"built-in",autoExecute:!0,action:(e,t)=>Z7(e,t,!1),completion:(e,t)=>eJ(e,t,!0)},m1={name:"mcp",description:"Manage configured Model Context Protocol (MCP) servers",kind:"built-in",autoExecute:!1,subCommands:[X7,kSe,_Se,FSe,NSe,MSe,OSe],action:async(e,t)=>{if(t){let n=mc(`/${t}`,m1.subCommands);return n.commandToExecute?.action?n.commandToExecute.action(e,n.args):xg(e,!1,!1,t)}return xg(e)}};var tJ={name:"memory",description:"Commands for interacting with memory",kind:"built-in",autoExecute:!1,subCommands:[{name:"show",description:"Show the current memory contents",kind:"built-in",autoExecute:!0,action:async e=>{let t=e.services.agentContext?.config;if(!t)return;let n=F_(t);e.ui.addItem({type:"info",text:n.content},Date.now())}},{name:"add",description:"Add content to the memory",kind:"built-in",autoExecute:!1,action:(e,t)=>{let n=k_(t);return n.type==="message"||e.ui.addItem({type:"info",text:`Attempting to save to memory: "${t.trim()}"`},Date.now()),n}},{name:"reload",altNames:["refresh"],description:"Reload the memory from the source",kind:"built-in",autoExecute:!0,action:async e=>{e.ui.addItem({type:"info",text:"Reloading memory from source files..."},Date.now());try{let t=e.services.agentContext?.config;if(t){let n=await __(t);e.ui.addItem({type:"info",text:n.content},Date.now())}}catch(t){e.ui.addItem({type:"error",text:`Error reloading memory: ${t.message}`},Date.now())}}},{name:"list",description:"Lists the paths of the GEMINI.md files in use",kind:"built-in",autoExecute:!0,action:async e=>{let t=e.services.agentContext?.config;if(!t)return;let n=N_(t);e.ui.addItem({type:"info",text:n.content},Date.now())}}]};var LSe={name:"set",description:"Set the model to use. Usage: /model set <model-name> [--persist]",kind:"built-in",autoExecute:!1,action:async(e,t)=>{let n=t.trim().split(/\s+/).filter(Boolean);if(n.length===0){e.ui.addItem({type:"error",text:"Usage: /model set <model-name> [--persist]"});return}let r=n[0],i=n.includes("--persist");if(e.services.agentContext?.config){e.services.agentContext.config.setModel(r,!i);let o=new ck(r);wk(e.services.agentContext.config,o),e.ui.addItem({type:"info",text:`Model set to ${r}${i?" (persisted)":""}`})}}},nJ={name:"manage",description:"Opens a dialog to configure the model",kind:"built-in",autoExecute:!0,action:async e=>(e.services.agentContext?.config&&await e.services.agentContext.config.refreshUserQuota(),{type:"dialog",dialog:"model"})},rJ={name:"model",description:"Manage model configuration",kind:"built-in",autoExecute:!1,subCommands:[nJ,LSe],action:async(e,t)=>nJ.action(e,t)};var or=te(_e(),1);var Re=te(Ge(),1);var g1=6,p1=20,RI=25,Vu=5,iJ=10,Bg=e=>!e||!e.reactionGroups?0:e.reactionGroups.reduce((t,n)=>t+n.users.totalCount,0),USe=(e,t)=>t?.toLowerCase()==="duplicate"?"magenta":e==="OPEN"?"green":"red",oJ=({config:e,onExit:t,initialLimit:n=50})=>{let r=Gn(),[i,o]=(0,or.useState)({status:"loading",issues:[],currentIndex:0,analysisCache:new Map,analyzingIds:new Set,message:"Fetching issues..."}),[s,a]=(0,or.useState)("target"),[u,d]=(0,or.useState)(0),[f,g]=(0,or.useState)(!1),[p,A]=(0,or.useState)(0),[h,y]=(0,or.useState)(0),[C,b]=(0,or.useState)(""),[D,x]=(0,or.useState)([]),[w,Q]=(0,or.useState)(!1),[k,P]=(0,or.useState)(0);(0,or.useEffect)(()=>{u<k?P(u):u>=k+Vu&&P(u-Vu+1)},[u,k]);let Y=async de=>{try{let{stdout:he}=await Or("gh",["issue","view",String(de),"--json","number,title,body,state,stateReason,labels,url,comments,author,reactionGroups"]);return JSON.parse(he)}catch(he){return ne.error(`Failed to fetch details for candidate #${de}`,he),null}},M=(0,or.useCallback)(async de=>{let he=de.comments.find(pe=>pe.body.includes("Found possible duplicate issues:"));if(!he)return null;let Be=he.body.split(`
524
524
  `),Te=[];for(let pe of Be){let Ye=pe.match(/#(\d+)/);if(Ye){let ut=parseInt(Ye[1],10);ut!==de.number&&Te.push(ut)}}if(Te.length===0)return null;let $e=[];for(let pe of Te){let Ye=await Y(pe);Ye&&$e.push(Ye)}let We=e.getBaseLlmClient(),_=`
525
525
  I am triaging a GitHub issue labeled as 'possible-duplicate'. I need to decide if it should be marked as a duplicate of another issue, or if one of the other issues should be marked as a duplicate of this one.
526
526