@avallon-labs/mcp 50.3.0 → 50.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generated/server.ts","../src/generated/http-client.ts","../src/generated/handlers.ts","../src/generated/tool-schemas.zod.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Avallon API\n * OpenAPI spec version: 1.0.0\n */\n\nimport {\n McpServer,\n type RegisteredTool,\n} from '@modelcontextprotocol/sdk/server/mcp.js';\n\nimport {\n StdioServerTransport\n} from '@modelcontextprotocol/sdk/server/stdio.js';\n\nimport {\n listVoiceAgentsHandler,\n createVoiceAgentHandler,\n getVoiceAgentHandler,\n updateVoiceAgentHandler,\n deleteVoiceAgentHandler,\n listVoiceAgentVersionsHandler,\n getVoiceAgentVersionHandler,\n promoteVoiceAgentVersionHandler,\n getVoiceAgentVersionChangeSummaryHandler,\n getVoiceAgentPlaceholdersHandler,\n getVoiceAgentPromptHandler,\n updateVoiceAgentPromptHandler,\n updateVoiceAgentModelsHandler,\n updateCallControlsHandler,\n scheduleJobHandler,\n listJobsHandler,\n cancelJobHandler,\n listApiKeysHandler,\n createApiKeyHandler,\n revokeApiKeyHandler,\n updateApiKeyHandler,\n createArtifactHandler,\n listArtifactsHandler,\n getArtifactHandler,\n deleteArtifactHandler,\n getArtifactMetadataKeysHandler,\n getArtifactStatusSummaryHandler,\n getArtifactUploadUrlHandler,\n updateArtifactMetadataHandler,\n signUpHandler,\n signInHandler,\n requestPasswordResetHandler,\n resetPasswordHandler,\n refreshTokenHandler,\n getOAuthUrlHandler,\n getSessionTokenHandler,\n getPartnerJwksHandler,\n partnerLaunchHandler,\n listCallsHandler,\n getCallHandler,\n getCallEvaluationHandler,\n getCallAnalyticsHandler,\n getAnalyticsTimeSeriesHandler,\n createCallFeedbackHandler,\n listCallFeedbackHandler,\n deleteCallFeedbackHandler,\n checkInboxAvailabilityHandler,\n createInboxHandler,\n listInboxesHandler,\n updateInboxHandler,\n deleteInboxHandler,\n getEmailHandler,\n deleteEmailHandler,\n listEmailsHandler,\n listEmailThreadsHandler,\n replyToEmailHandler,\n sendEmailHandler,\n listExtractorJobsHandler,\n createExtractorJobHandler,\n getExtractorJobHandler,\n listWorkerRunsHandler,\n createWorkerRunHandler,\n getWorkerRunHandler,\n listWorkerRunMessagesHandler,\n cancelWorkerRunHandler,\n createWorkerEvalFromRunHandler,\n runEvalHandler,\n getEvalRunHandler,\n createExtractorHandler,\n listExtractorsHandler,\n getExtractorHandler,\n updateExtractorHandler,\n deleteExtractorHandler,\n createWorkerHandler,\n listWorkersHandler,\n getWorkerHandler,\n deleteWorkerHandler,\n updateWorkerHandler,\n getWorkerPromptHandler,\n updateWorkerPromptHandler,\n listWorkerModelsHandler,\n updateWorkerMcpsHandler,\n listWorkerVersionsHandler,\n getWorkerVersionHandler,\n promoteWorkerVersionHandler,\n getWorkerVersionChangeSummaryHandler,\n createWorkerWebhookHandler,\n listWorkerWebhooksHandler,\n listCasesHandler,\n createCaseHandler,\n searchCasesHandler,\n getCaseHandler,\n deleteCaseHandler,\n addCaseLinksHandler,\n listCaseLinksHandler,\n removeCaseLinkHandler,\n createChatAgentHandler,\n listChatAgentsHandler,\n getChatAgentHandler,\n updateChatAgentHandler,\n deleteChatAgentHandler,\n getChatAgentPromptHandler,\n updateChatAgentPromptHandler,\n createChatHandler,\n getChatHandler,\n getPublicChatAgentHandler,\n postChatMessageHandler,\n listChatsHandler,\n listChatMessagesHandler,\n getExtractHandler,\n getExtractCitationsHandler,\n listExtractsHandler,\n getProfileHandler,\n listTeamMembersHandler,\n inviteTeamMemberHandler,\n listTeamInvitationsHandler,\n revokeTeamInvitationHandler,\n resendTeamInvitationHandler,\n updateMemberRoleHandler,\n removeMemberHandler,\n createSecretHandler,\n listSecretsHandler,\n getSecretHandler,\n updateSecretHandler,\n deleteSecretHandler,\n createScheduleHandler,\n listSchedulesHandler,\n getScheduleHandler,\n updateScheduleHandler,\n deleteScheduleHandler,\n listDispatchesHandler,\n listNotificationsHandler,\n getNotificationHandler,\n createInformationRequestHandler,\n listInformationRequestsHandler,\n getInformationRequestHandler,\n resolveInformationRequestHandler,\n createToolHandler,\n listToolsHandler,\n deleteToolHandler,\n getToolHandler,\n updateToolHandler,\n executeCodeHandler,\n listToolVersionsHandler,\n getToolVersionHandler,\n promoteToolVersionHandler,\n getToolVersionChangeSummaryHandler,\n workerListToolsHandler,\n workerGetToolHandler,\n workerExecuteToolHandler,\n notifyAdminHandler,\n uploadFileHandler,\n createAgentWebhookHandler,\n listAgentWebhooksHandler,\n createInboxWebhookHandler,\n listInboxWebhooksHandler,\n createExtractorWebhookHandler,\n listWebhooksHandler,\n createNotificationWebhookHandler,\n listNotificationWebhooksHandler,\n deleteWebhookHandler,\n getWebhookHandler,\n updateWebhookHandler,\n listWebhookDeliveriesHandler,\n testWebhookHandler\n} from './handlers';\nimport {\n ListVoiceAgentsQueryParams,\n ListVoiceAgentsResponse,\n CreateVoiceAgentBody,\n CreateVoiceAgentResponse,\n GetVoiceAgentParams,\n GetVoiceAgentResponse,\n UpdateVoiceAgentParams,\n UpdateVoiceAgentBody,\n UpdateVoiceAgentResponse,\n DeleteVoiceAgentParams,\n DeleteVoiceAgentResponse,\n ListVoiceAgentVersionsParams,\n ListVoiceAgentVersionsQueryParams,\n ListVoiceAgentVersionsResponse,\n GetVoiceAgentVersionParams,\n GetVoiceAgentVersionResponse,\n PromoteVoiceAgentVersionParams,\n PromoteVoiceAgentVersionBody,\n PromoteVoiceAgentVersionResponse,\n GetVoiceAgentVersionChangeSummaryParams,\n GetVoiceAgentVersionChangeSummaryResponse,\n GetVoiceAgentPlaceholdersParams,\n GetVoiceAgentPlaceholdersResponse,\n GetVoiceAgentPromptParams,\n GetVoiceAgentPromptQueryParams,\n GetVoiceAgentPromptResponse,\n UpdateVoiceAgentPromptParams,\n UpdateVoiceAgentPromptBody,\n UpdateVoiceAgentPromptResponse,\n UpdateVoiceAgentModelsParams,\n UpdateVoiceAgentModelsBody,\n UpdateVoiceAgentModelsResponse,\n UpdateCallControlsParams,\n UpdateCallControlsBody,\n UpdateCallControlsResponse,\n ScheduleJobParams,\n ScheduleJobBody,\n ScheduleJobResponse,\n ListJobsQueryParams,\n ListJobsResponse,\n CancelJobParams,\n CancelJobResponse,\n ListApiKeysQueryParams,\n ListApiKeysResponse,\n CreateApiKeyBody,\n CreateApiKeyResponse,\n RevokeApiKeyParams,\n RevokeApiKeyResponse,\n UpdateApiKeyParams,\n UpdateApiKeyBody,\n UpdateApiKeyResponse,\n CreateArtifactBody,\n CreateArtifactResponse,\n ListArtifactsQueryParams,\n ListArtifactsResponse,\n GetArtifactParams,\n GetArtifactResponse,\n DeleteArtifactParams,\n DeleteArtifactResponse,\n GetArtifactMetadataKeysQueryParams,\n GetArtifactMetadataKeysResponse,\n GetArtifactStatusSummaryQueryParams,\n GetArtifactStatusSummaryResponse,\n GetArtifactUploadUrlBody,\n GetArtifactUploadUrlResponse,\n UpdateArtifactMetadataParams,\n UpdateArtifactMetadataBody,\n UpdateArtifactMetadataResponse,\n SignUpBody,\n SignUpResponse,\n SignInBody,\n SignInResponse,\n RequestPasswordResetBody,\n RequestPasswordResetResponse,\n ResetPasswordBody,\n ResetPasswordResponse,\n RefreshTokenBody,\n RefreshTokenResponse,\n GetOAuthUrlQueryParams,\n GetOAuthUrlResponse,\n GetSessionTokenBody,\n GetSessionTokenResponse,\n GetPartnerJwksParams,\n GetPartnerJwksResponse,\n PartnerLaunchQueryParams,\n PartnerLaunchResponse,\n ListCallsQueryParams,\n ListCallsResponse,\n GetCallParams,\n GetCallQueryParams,\n GetCallResponse,\n GetCallEvaluationParams,\n GetCallEvaluationResponse,\n GetCallAnalyticsQueryParams,\n GetCallAnalyticsResponse,\n GetAnalyticsTimeSeriesQueryParams,\n GetAnalyticsTimeSeriesResponse,\n CreateCallFeedbackParams,\n CreateCallFeedbackBody,\n CreateCallFeedbackResponse,\n ListCallFeedbackParams,\n ListCallFeedbackQueryParams,\n ListCallFeedbackResponse,\n DeleteCallFeedbackParams,\n DeleteCallFeedbackResponse,\n CheckInboxAvailabilityQueryParams,\n CheckInboxAvailabilityResponse,\n CreateInboxBody,\n CreateInboxResponse,\n ListInboxesQueryParams,\n ListInboxesResponse,\n UpdateInboxParams,\n UpdateInboxBody,\n UpdateInboxResponse,\n DeleteInboxParams,\n DeleteInboxResponse,\n GetEmailParams,\n GetEmailResponse,\n DeleteEmailParams,\n DeleteEmailResponse,\n ListEmailsQueryParams,\n ListEmailsResponse,\n ListEmailThreadsQueryParams,\n ListEmailThreadsResponse,\n ReplyToEmailParams,\n ReplyToEmailBody,\n ReplyToEmailResponse,\n SendEmailBody,\n SendEmailResponse,\n ListExtractorJobsQueryParams,\n ListExtractorJobsResponse,\n CreateExtractorJobBody,\n CreateExtractorJobResponse,\n GetExtractorJobParams,\n GetExtractorJobResponse,\n ListWorkerRunsQueryParams,\n ListWorkerRunsResponse,\n CreateWorkerRunBody,\n CreateWorkerRunResponse,\n GetWorkerRunParams,\n GetWorkerRunResponse,\n ListWorkerRunMessagesParams,\n ListWorkerRunMessagesQueryParams,\n ListWorkerRunMessagesResponse,\n CancelWorkerRunParams,\n CancelWorkerRunResponse,\n CreateWorkerEvalFromRunParams,\n CreateWorkerEvalFromRunBody,\n CreateWorkerEvalFromRunResponse,\n RunEvalParams,\n RunEvalBody,\n RunEvalResponse,\n GetEvalRunParams,\n GetEvalRunResponse,\n CreateExtractorBody,\n CreateExtractorResponse,\n ListExtractorsQueryParams,\n ListExtractorsResponse,\n GetExtractorParams,\n GetExtractorResponse,\n UpdateExtractorParams,\n UpdateExtractorBody,\n UpdateExtractorResponse,\n DeleteExtractorParams,\n DeleteExtractorResponse,\n CreateWorkerBody,\n CreateWorkerResponse,\n ListWorkersQueryParams,\n ListWorkersResponse,\n GetWorkerParams,\n GetWorkerResponse,\n DeleteWorkerParams,\n DeleteWorkerResponse,\n UpdateWorkerParams,\n UpdateWorkerBody,\n UpdateWorkerResponse,\n GetWorkerPromptParams,\n GetWorkerPromptQueryParams,\n GetWorkerPromptResponse,\n UpdateWorkerPromptParams,\n UpdateWorkerPromptBody,\n UpdateWorkerPromptResponse,\n ListWorkerModelsResponse,\n UpdateWorkerMcpsParams,\n UpdateWorkerMcpsBody,\n UpdateWorkerMcpsResponse,\n ListWorkerVersionsParams,\n ListWorkerVersionsQueryParams,\n ListWorkerVersionsResponse,\n GetWorkerVersionParams,\n GetWorkerVersionResponse,\n PromoteWorkerVersionParams,\n PromoteWorkerVersionBody,\n PromoteWorkerVersionResponse,\n GetWorkerVersionChangeSummaryParams,\n GetWorkerVersionChangeSummaryResponse,\n CreateWorkerWebhookParams,\n CreateWorkerWebhookBody,\n CreateWorkerWebhookResponse,\n ListWorkerWebhooksParams,\n ListWorkerWebhooksQueryParams,\n ListWorkerWebhooksResponse,\n ListCasesQueryParams,\n ListCasesResponse,\n CreateCaseBody,\n CreateCaseResponse,\n SearchCasesQueryParams,\n SearchCasesResponse,\n GetCaseParams,\n GetCaseQueryParams,\n GetCaseResponse,\n DeleteCaseParams,\n DeleteCaseQueryParams,\n DeleteCaseResponse,\n AddCaseLinksParams,\n AddCaseLinksQueryParams,\n AddCaseLinksBody,\n AddCaseLinksResponse,\n ListCaseLinksParams,\n ListCaseLinksQueryParams,\n ListCaseLinksResponse,\n RemoveCaseLinkParams,\n RemoveCaseLinkQueryParams,\n RemoveCaseLinkResponse,\n CreateChatAgentBody,\n CreateChatAgentResponse,\n ListChatAgentsQueryParams,\n ListChatAgentsResponse,\n GetChatAgentParams,\n GetChatAgentResponse,\n UpdateChatAgentParams,\n UpdateChatAgentBody,\n UpdateChatAgentResponse,\n DeleteChatAgentParams,\n DeleteChatAgentResponse,\n GetChatAgentPromptParams,\n GetChatAgentPromptResponse,\n UpdateChatAgentPromptParams,\n UpdateChatAgentPromptBody,\n UpdateChatAgentPromptResponse,\n CreateChatBody,\n CreateChatResponse,\n GetChatParams,\n GetChatResponse,\n GetPublicChatAgentParams,\n GetPublicChatAgentResponse,\n PostChatMessageParams,\n PostChatMessageBody,\n PostChatMessageResponse,\n ListChatsQueryParams,\n ListChatsResponse,\n ListChatMessagesParams,\n ListChatMessagesQueryParams,\n ListChatMessagesResponse,\n GetExtractParams,\n GetExtractResponse,\n GetExtractCitationsParams,\n GetExtractCitationsResponse,\n ListExtractsQueryParams,\n ListExtractsResponse,\n GetProfileResponse,\n ListTeamMembersResponse,\n InviteTeamMemberBody,\n InviteTeamMemberResponse,\n ListTeamInvitationsResponse,\n RevokeTeamInvitationParams,\n RevokeTeamInvitationResponse,\n ResendTeamInvitationParams,\n ResendTeamInvitationResponse,\n UpdateMemberRoleParams,\n UpdateMemberRoleBody,\n UpdateMemberRoleResponse,\n RemoveMemberParams,\n RemoveMemberResponse,\n CreateSecretBody,\n CreateSecretResponse,\n ListSecretsQueryParams,\n ListSecretsResponse,\n GetSecretParams,\n GetSecretResponse,\n UpdateSecretParams,\n UpdateSecretBody,\n UpdateSecretResponse,\n DeleteSecretParams,\n DeleteSecretResponse,\n CreateScheduleBody,\n CreateScheduleResponse,\n ListSchedulesQueryParams,\n ListSchedulesResponse,\n GetScheduleParams,\n GetScheduleResponse,\n UpdateScheduleParams,\n UpdateScheduleBody,\n UpdateScheduleResponse,\n DeleteScheduleParams,\n DeleteScheduleResponse,\n ListDispatchesQueryParams,\n ListDispatchesResponse,\n ListNotificationsQueryParams,\n ListNotificationsResponse,\n GetNotificationParams,\n GetNotificationResponse,\n CreateInformationRequestBody,\n CreateInformationRequestResponse,\n ListInformationRequestsQueryParams,\n ListInformationRequestsResponse,\n GetInformationRequestParams,\n GetInformationRequestResponse,\n ResolveInformationRequestParams,\n ResolveInformationRequestBody,\n ResolveInformationRequestResponse,\n CreateToolBody,\n CreateToolResponse,\n ListToolsQueryParams,\n ListToolsResponse,\n DeleteToolParams,\n DeleteToolResponse,\n GetToolParams,\n GetToolResponse,\n UpdateToolParams,\n UpdateToolBody,\n UpdateToolResponse,\n ExecuteCodeParams,\n ExecuteCodeBody,\n ExecuteCodeResponse,\n ListToolVersionsParams,\n ListToolVersionsQueryParams,\n ListToolVersionsResponse,\n GetToolVersionParams,\n GetToolVersionResponse,\n PromoteToolVersionParams,\n PromoteToolVersionBody,\n PromoteToolVersionResponse,\n GetToolVersionChangeSummaryParams,\n GetToolVersionChangeSummaryResponse,\n WorkerListToolsQueryParams,\n WorkerListToolsResponse,\n WorkerGetToolParams,\n WorkerGetToolResponse,\n WorkerExecuteToolParams,\n WorkerExecuteToolBody,\n WorkerExecuteToolResponse,\n NotifyAdminBody,\n NotifyAdminResponse,\n UploadFileBody,\n UploadFileResponse,\n CreateAgentWebhookParams,\n CreateAgentWebhookBody,\n CreateAgentWebhookResponse,\n ListAgentWebhooksParams,\n ListAgentWebhooksQueryParams,\n ListAgentWebhooksResponse,\n CreateInboxWebhookParams,\n CreateInboxWebhookBody,\n CreateInboxWebhookResponse,\n ListInboxWebhooksParams,\n ListInboxWebhooksQueryParams,\n ListInboxWebhooksResponse,\n CreateExtractorWebhookParams,\n CreateExtractorWebhookBody,\n CreateExtractorWebhookResponse,\n ListWebhooksParams,\n ListWebhooksQueryParams,\n ListWebhooksResponse,\n CreateNotificationWebhookBody,\n CreateNotificationWebhookResponse,\n ListNotificationWebhooksQueryParams,\n ListNotificationWebhooksResponse,\n DeleteWebhookParams,\n DeleteWebhookResponse,\n GetWebhookParams,\n GetWebhookResponse,\n UpdateWebhookParams,\n UpdateWebhookBody,\n UpdateWebhookResponse,\n ListWebhookDeliveriesParams,\n ListWebhookDeliveriesQueryParams,\n ListWebhookDeliveriesResponse,\n TestWebhookParams,\n TestWebhookBody,\n TestWebhookResponse\n} from './tool-schemas.zod';\n\nconst createMcpServer = (options?: RequestInit): { server: McpServer; tools: Record<string, RegisteredTool> } => {\n const server = new McpServer({\n name: 'avallonAPIServer',\n version: '1.0.0',\n });\n const tools: Record<string, RegisteredTool> = {};\n\ntools.listVoiceAgents = server.registerTool(\n 'listVoiceAgents',\n {\n title: 'List voice agents',\n description: 'List all voice agents for your tenant.\\n\\n\\*\\*Filtering:\\*\\*\\n\\nFilter voice agents by name using the `agent_name` query parameter (exact match).\\n\\n\\*\\*Response:\\*\\*\\n\\nReturns an array of all voice agents with their configurations and a total count.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/v1\\/agents`',\n inputSchema: {\n queryParams: ListVoiceAgentsQueryParams\n },\n outputSchema: ListVoiceAgentsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listVoiceAgentsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createVoiceAgent = server.registerTool(\n 'createVoiceAgent',\n {\n title: 'Create voice agent',\n description: 'Create a new voice agent with the specified configuration.\\n\\n\\*\\*Required fields:\\*\\*\\n\\nAll fields in the request body are required except `phone_number_id` and `transfer_phone_number`.\\n\\n\\*\\*Response:\\*\\*\\n\\nReturns the created voice agent with its ID and configuration.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`POST \\/v1\\/agents`',\n inputSchema: {\n bodyParams: CreateVoiceAgentBody.optional()\n },\n outputSchema: CreateVoiceAgentResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createVoiceAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getVoiceAgent = server.registerTool(\n 'getVoiceAgent',\n {\n title: 'Get voice agent',\n description: 'Retrieve a single voice agent by its ID.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/v1\\/agents\\/{id}`',\n inputSchema: {\n pathParams: GetVoiceAgentParams\n },\n outputSchema: GetVoiceAgentResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getVoiceAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateVoiceAgent = server.registerTool(\n 'updateVoiceAgent',\n {\n title: 'Update voice agent',\n description: 'Update a voice agent\\'s name, call processor, or call behaviour settings.\\n\\nTo change the processor assignment, `call_processor_id` and `call_processor_type` must be provided together. Set `call_processor_id` to `null` to detach (`call_processor_type` is still required).\\n\\nSet `voice_mail_detection` to `true` to have the agent listen for a voicemail beep tone. Detection only runs on `OUTBOUND` agents; enabling it on an `INBOUND` agent is stored but has no effect.\\n\\nSet `noise_cancellation` to choose the noise cancellation mode applied to the caller audio.\\n\\nSet `tool_ids` to replace the agent\\'s attached tool set. This is the supported way to manage tool attachments; the dedicated add and remove endpoints are deprecated.\\n\\nConfig changes create a new voice agent config version. The live and test releases keep pointing at their current versions until the new version is promoted.',\n inputSchema: {\n pathParams: UpdateVoiceAgentParams,\n bodyParams: UpdateVoiceAgentBody.optional()\n },\n outputSchema: UpdateVoiceAgentResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateVoiceAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteVoiceAgent = server.registerTool(\n 'deleteVoiceAgent',\n {\n title: 'Delete voice agent',\n description: 'Delete a voice agent. The agent is hidden from all reads; its call and job history is preserved.',\n inputSchema: {\n pathParams: DeleteVoiceAgentParams\n },\n outputSchema: DeleteVoiceAgentResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteVoiceAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listVoiceAgentVersions = server.registerTool(\n 'listVoiceAgentVersions',\n {\n title: 'List voice agent versions',\n description: 'List all config versions for a voice agent, ordered by version (newest first by default).',\n inputSchema: {\n pathParams: ListVoiceAgentVersionsParams,\n queryParams: ListVoiceAgentVersionsQueryParams\n },\n outputSchema: ListVoiceAgentVersionsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listVoiceAgentVersionsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getVoiceAgentVersion = server.registerTool(\n 'getVoiceAgentVersion',\n {\n title: 'Get voice agent version',\n description: 'Retrieve a single voice agent config version, including the agent\\'s identity, the config snapshot at that version, and version-specific metadata.',\n inputSchema: {\n pathParams: GetVoiceAgentVersionParams\n },\n outputSchema: GetVoiceAgentVersionResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getVoiceAgentVersionHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.promoteVoiceAgentVersion = server.registerTool(\n 'promoteVoiceAgentVersion',\n {\n title: 'Promote voice agent version',\n description: 'Select a voice agent configuration version for the live or test environment.',\n inputSchema: {\n pathParams: PromoteVoiceAgentVersionParams,\n bodyParams: PromoteVoiceAgentVersionBody.optional()\n },\n outputSchema: PromoteVoiceAgentVersionResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => promoteVoiceAgentVersionHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getVoiceAgentVersionChangeSummary = server.registerTool(\n 'getVoiceAgentVersionChangeSummary',\n {\n title: 'Get voice agent version change summary',\n description: 'Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.',\n inputSchema: {\n pathParams: GetVoiceAgentVersionChangeSummaryParams\n },\n outputSchema: GetVoiceAgentVersionChangeSummaryResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getVoiceAgentVersionChangeSummaryHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getVoiceAgentPlaceholders = server.registerTool(\n 'getVoiceAgentPlaceholders',\n {\n title: 'Get voice agent placeholders',\n description: 'Retrieve the available placeholder variables defined in a voice agent\\'s prompt.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/v1\\/agents\\/{id}\\/prompt`',\n inputSchema: {\n pathParams: GetVoiceAgentPlaceholdersParams\n },\n outputSchema: GetVoiceAgentPlaceholdersResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getVoiceAgentPlaceholdersHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getVoiceAgentPrompt = server.registerTool(\n 'getVoiceAgentPrompt',\n {\n title: 'Get voice agent prompt',\n description: 'Retrieve the prompt for a voice agent. Pass `version` to fetch the prompt snapshot at a specific config version; omit it to fetch the current prompt. Internal use only.',\n inputSchema: {\n pathParams: GetVoiceAgentPromptParams,\n queryParams: GetVoiceAgentPromptQueryParams\n },\n outputSchema: GetVoiceAgentPromptResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getVoiceAgentPromptHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateVoiceAgentPrompt = server.registerTool(\n 'updateVoiceAgentPrompt',\n {\n title: 'Update voice agent prompt',\n description: 'Update the prompt for a voice agent. Internal use only.',\n inputSchema: {\n pathParams: UpdateVoiceAgentPromptParams,\n bodyParams: UpdateVoiceAgentPromptBody.optional()\n },\n outputSchema: UpdateVoiceAgentPromptResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateVoiceAgentPromptHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateVoiceAgentModels = server.registerTool(\n 'updateVoiceAgentModels',\n {\n title: 'Update voice agent models',\n description: 'Update the LLM, TTS, and STT model configuration for a voice agent.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`PATCH \\/v1\\/agents\\/{id}\\/models`',\n inputSchema: {\n pathParams: UpdateVoiceAgentModelsParams,\n bodyParams: UpdateVoiceAgentModelsBody.optional()\n },\n outputSchema: UpdateVoiceAgentModelsResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateVoiceAgentModelsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateCallControls = server.registerTool(\n 'updateCallControls',\n {\n title: 'Update voice agent call controls',\n description: 'Update call control settings for a voice agent.\\n\\nConfigure whether the voice agent supports dial pad input, can end calls, and set a transfer phone number.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`PUT \\/v1\\/agents\\/{id}\\/call-controls`',\n inputSchema: {\n pathParams: UpdateCallControlsParams,\n bodyParams: UpdateCallControlsBody.optional()\n },\n outputSchema: UpdateCallControlsResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => updateCallControlsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.scheduleJob = server.registerTool(\n 'scheduleJob',\n {\n title: 'Schedule an outbound job',\n description: 'Schedule a new outbound call job for a voice agent.\\n\\nThe job can be scheduled for a future time or triggered immediately with `trigger_immediately: true`.\\n\\n\\*\\*Scheduling:\\*\\*\\n\\nWhen scheduling for a future time, provide `scheduled_at` (ISO 8601) and optionally `schedule_window_minutes` (minimum 10 minutes).\\n\\n\\*\\*Environment:\\*\\*\\n\\n`environment` selects which promoted agent configuration and phone binding the call dispatches against (`live` or `test`). Defaults to `live`. Scheduling fails when the selected environment has no active promotion.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`POST \\/v1\\/agents\\/{id}\\/jobs`',\n inputSchema: {\n pathParams: ScheduleJobParams,\n bodyParams: ScheduleJobBody.optional()\n },\n outputSchema: ScheduleJobResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => scheduleJobHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listJobs = server.registerTool(\n 'listJobs',\n {\n title: 'List outbound jobs',\n description: 'List all outbound jobs with pagination and filtering.\\n\\n\\*\\*Filtering:\\*\\*\\n\\n- Filter by agent ID, status, or scheduled time range.\\n- Multiple statuses can be comma-separated (e.g. `status=pending,queued`).\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/v1\\/agents\\/jobs`',\n inputSchema: {\n queryParams: ListJobsQueryParams\n },\n outputSchema: ListJobsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listJobsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.cancelJob = server.registerTool(\n 'cancelJob',\n {\n title: 'Cancel an outbound job',\n description: 'Cancel a pending or queued outbound job. Jobs that are already in progress or completed cannot be canceled.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`POST \\/v1\\/agents\\/jobs\\/{id}\\/cancel`',\n inputSchema: {\n pathParams: CancelJobParams\n },\n outputSchema: CancelJobResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => cancelJobHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listApiKeys = server.registerTool(\n 'listApiKeys',\n {\n title: 'List API keys',\n description: 'List all API keys for your tenant.\\n\\nBy default, revoked keys are excluded. Set `include_revoked=true` to include them.\\n\\n\\*\\*Note:\\*\\* The full API key value is never returned — only the key prefix is shown.',\n inputSchema: {\n queryParams: ListApiKeysQueryParams\n },\n outputSchema: ListApiKeysResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listApiKeysHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createApiKey = server.registerTool(\n 'createApiKey',\n {\n title: 'Create an API key',\n description: 'Create a new API key for authenticating with the Avallon API.\\n\\n\\*\\*Important:\\*\\* The full API key is only returned once in the response. Store it securely — it cannot be retrieved again.\\n\\nKeys are scoped to an environment (`test` or `live`) and optionally accept an expiration date.',\n inputSchema: {\n bodyParams: CreateApiKeyBody.optional()\n },\n outputSchema: CreateApiKeyResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createApiKeyHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.revokeApiKey = server.registerTool(\n 'revokeApiKey',\n {\n title: 'Revoke an API key',\n description: 'Revoke an existing API key. Once revoked, the key can no longer be used for authentication.\\n\\nThis operation is irreversible — revoked keys cannot be re-enabled. Create a new key if needed.\\n\\nReturns 409 if the key is already revoked, 404 if the key does not exist.',\n inputSchema: {\n pathParams: RevokeApiKeyParams\n },\n outputSchema: RevokeApiKeyResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => revokeApiKeyHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateApiKey = server.registerTool(\n 'updateApiKey',\n {\n title: 'Update API key',\n description: 'Update mutable fields of an API key. Currently only `role` can be updated.\\n\\nThe caller\\'s role caps the maximum role they can grant — an `admin` cannot promote a key to `avallon_admin`.',\n inputSchema: {\n pathParams: UpdateApiKeyParams,\n bodyParams: UpdateApiKeyBody.optional()\n },\n outputSchema: UpdateApiKeyResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateApiKeyHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createArtifact = server.registerTool(\n 'createArtifact',\n {\n title: 'Create artifact',\n description: 'Upload a document as a base64-encoded artifact for processing.\\n\\n\\*\\*Limits:\\*\\*\\n\\nMaximum file size is approximately 6.75MB (base64 encoded). The API Gateway has a 10MB request limit.\\n\\n\\*\\*Processing options:\\*\\*\\n\\n- `file_password`: Password for encrypted PDFs\\n- `file_splitting_enabled`: Split multi-page PDFs into separate artifacts',\n inputSchema: {\n bodyParams: CreateArtifactBody.optional()\n },\n outputSchema: CreateArtifactResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createArtifactHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listArtifacts = server.registerTool(\n 'listArtifacts',\n {\n title: 'List artifacts',\n description: 'List all artifacts with pagination, filtering, and sorting.\\n\\n\\*\\*Case Filtering:\\*\\*\\n\\nUse `case_id` to return only artifacts linked to a case. This reads the case links\\ncreated via `POST \\/v1\\/cases\\/{caseId}\\/links`, and is independent of any\\n`metadata.case_id` an artifact may carry.\\n\\n\\*\\*Metadata Filtering:\\*\\*\\n\\nUse bracket notation to filter by metadata keys:\\n- `metadata[claim_id]=abc-123`\\n- `metadata[source]=email`\\n\\nMultiple metadata filters can be combined (AND logic).',\n inputSchema: {\n queryParams: ListArtifactsQueryParams\n },\n outputSchema: ListArtifactsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listArtifactsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getArtifact = server.registerTool(\n 'getArtifact',\n {\n title: 'Get artifact',\n description: 'Retrieve a single artifact by ID, including its metadata, file URL, extracted content, and chunk-annotated content.\\n\\nThe response always includes `content_with_chunkids_md`: the parsed content annotated with `[chunk_id=...]` markers when the artifact has parsed chunks. Chunk IDs are stable citation anchors — cite them to attribute extracted values to their source location.',\n inputSchema: {\n pathParams: GetArtifactParams\n },\n outputSchema: GetArtifactResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getArtifactHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteArtifact = server.registerTool(\n 'deleteArtifact',\n {\n title: 'Delete artifact',\n description: 'Soft-delete an artifact. Soft-deleted artifacts and their chunks no longer appear in any read.',\n inputSchema: {\n pathParams: DeleteArtifactParams\n },\n outputSchema: DeleteArtifactResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteArtifactHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getArtifactMetadataKeys = server.registerTool(\n 'getArtifactMetadataKeys',\n {\n title: 'Get artifact metadata keys',\n description: 'Retrieve all unique metadata keys and their values across artifacts. Useful for building filter UIs.',\n inputSchema: {\n queryParams: GetArtifactMetadataKeysQueryParams\n },\n outputSchema: GetArtifactMetadataKeysResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getArtifactMetadataKeysHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getArtifactStatusSummary = server.registerTool(\n 'getArtifactStatusSummary',\n {\n title: 'Get artifact status summary',\n description: 'Count the artifacts in a scope, broken down by processing status.\\n\\nDefine the scope with bracket notation (e.g. `scope[email_id]=abc-123`). At least one key is required; multiple keys are combined with AND logic.',\n inputSchema: {\n queryParams: GetArtifactStatusSummaryQueryParams\n },\n outputSchema: GetArtifactStatusSummaryResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getArtifactStatusSummaryHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getArtifactUploadUrl = server.registerTool(\n 'getArtifactUploadUrl',\n {\n title: 'Request a pre-signed URL for direct large file upload',\n description: 'Returns a pre-signed PUT URL. Upload the file directly to `upload_url`, then pass `file_url` as `source_url` to POST \\/v1\\/upload-file.',\n inputSchema: {\n bodyParams: GetArtifactUploadUrlBody.optional()\n },\n outputSchema: GetArtifactUploadUrlResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => getArtifactUploadUrlHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateArtifactMetadata = server.registerTool(\n 'updateArtifactMetadata',\n {\n title: 'Update artifact metadata',\n description: 'Merge-update metadata on an existing artifact. Provided keys are added or overwritten; other existing keys are preserved.',\n inputSchema: {\n pathParams: UpdateArtifactMetadataParams,\n bodyParams: UpdateArtifactMetadataBody.optional()\n },\n outputSchema: UpdateArtifactMetadataResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateArtifactMetadataHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.signUp = server.registerTool(\n 'signUp',\n {\n title: 'Sign up',\n description: 'Create a new user account with email and password. When the response includes a pending_authentication_token, the account requires email verification: complete it via sign-in (type: email_otp) with the emailed one-time password and this token.',\n inputSchema: {\n bodyParams: SignUpBody.optional()\n },\n outputSchema: SignUpResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => signUpHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.signIn = server.registerTool(\n 'signIn',\n {\n title: 'Sign in',\n description: 'Authenticate using one of the supported methods:\\n\\n- \\*\\*Password:\\*\\* Email and password credentials. If the password is correct but the email is not verified yet, responds 403 with `data.pending_authentication_token` and a fresh verification code is emailed; complete verification via \\*\\*Email OTP\\*\\*. Each password attempt invalidates earlier codes and tokens, so always use the most recent pair — repeating the password sign-in is also how a new code is requested.\\n- \\*\\*OAuth:\\*\\* Authorization code from OAuth flow (social or enterprise SSO). Pass the `provider` the flow was started with so the code is exchanged against the system that issued it. `verifier` is only required when the flow was started with a `code_challenge` — see \\*\\*Get OAuth sign-in URL\\*\\*.\\n- \\*\\*Email OTP:\\*\\* One-time password sent to email. Include the `pending_authentication_token` from sign-up, or from the 403 returned by an unverified user\\'s password sign-in, when completing email verification.',\n inputSchema: {\n bodyParams: SignInBody.optional()\n },\n outputSchema: SignInResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => signInHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.requestPasswordReset = server.registerTool(\n 'requestPasswordReset',\n {\n title: 'Request password reset',\n description: 'Start password recovery for an email\\/password account. When the email belongs to an account, a reset link is emailed to it. The response is 200 regardless, and does not reveal whether an account exists.',\n inputSchema: {\n bodyParams: RequestPasswordResetBody.optional()\n },\n outputSchema: RequestPasswordResetResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => requestPasswordResetHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.resetPassword = server.registerTool(\n 'resetPassword',\n {\n title: 'Reset password',\n description: 'Complete password recovery with the token from the emailed reset link and set a new password. Completing the reset also verifies the account\\'s email address. Afterwards, sign in with the new password.',\n inputSchema: {\n bodyParams: ResetPasswordBody.optional()\n },\n outputSchema: ResetPasswordResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => resetPasswordHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.refreshToken = server.registerTool(\n 'refreshToken',\n {\n title: 'Refresh authentication token',\n description: 'Exchange a valid access token and refresh token pair for new tokens.',\n inputSchema: {\n bodyParams: RefreshTokenBody.optional()\n },\n outputSchema: RefreshTokenResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => refreshTokenHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getOAuthUrl = server.registerTool(\n 'getOAuthUrl',\n {\n title: 'Get OAuth sign-in URL',\n description: 'Generate an OAuth authorization URL for a given provider.\\n\\nPKCE is optional. To use it, generate a random verifier, derive `code_challenge` from it, and pass both `code_challenge` and the matching `code_challenge_method` — then send the verifier to \\*\\*Sign in\\*\\* when exchanging the code. Omit both to run the flow without PKCE and exchange the code on its own.\\n\\nFor enterprise SSO, pass `provider=sso` together with the user\\'s `email`; the email domain selects the SSO organization. Responds 404 when no SSO organization is configured for the domain.',\n inputSchema: {\n queryParams: GetOAuthUrlQueryParams\n },\n outputSchema: GetOAuthUrlResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getOAuthUrlHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getSessionToken = server.registerTool(\n 'getSessionToken',\n {\n title: 'Create or switch tenant session',\n description: 'Exchange an identity token for a tenant-scoped Core Plane access token.\\n\\n- If `tenant_id` is provided, validates the user is a member of that tenant and returns 404 if they are not.\\n- If `tenant_id` is omitted, selects the tenant of the identity token\\'s organization, falling back to the user\\'s default (oldest) tenant.\\n- Call this endpoint again with a different `tenant_id` to switch tenants.',\n inputSchema: {\n bodyParams: GetSessionTokenBody.optional()\n },\n outputSchema: GetSessionTokenResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => getSessionTokenHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getPartnerJwks = server.registerTool(\n 'getPartnerJwks',\n {\n title: 'Get partner JWKS',\n description: 'Returns the JSON Web Key Set (RFC 7517) of a partner\\'s public signing keys, used to verify partner-issued launch tokens.',\n inputSchema: {\n pathParams: GetPartnerJwksParams\n },\n outputSchema: GetPartnerJwksResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getPartnerJwksHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.partnerLaunch = server.registerTool(\n 'partnerLaunch',\n {\n title: 'Partner launch (SSO)',\n description: 'Verifies a partner-signed launch token, mints an Avallon session, and redirects (302) the user into the app\\'s handoff route, carrying the session token in the URL fragment (no cookie).',\n inputSchema: {\n queryParams: PartnerLaunchQueryParams\n },\n outputSchema: PartnerLaunchResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => partnerLaunchHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listCalls = server.registerTool(\n 'listCalls',\n {\n title: 'List calls',\n description: 'List all calls, with pagination, filtering, and sorting.\\n\\n\\*\\*Filtering:\\*\\*\\n\\nFilter by agent, direction, status, time range, phone number, and more. Phone number filter supports both exact E.164 matches and partial search.\\n\\n\\*\\*Case Filtering:\\*\\*\\n\\nUse `case_id` to return only calls linked to a case. This reads the case links created\\nvia `POST \\/v1\\/cases\\/{caseId}\\/links`, and is independent of any `metadata.case_id` a\\ncall may carry.\\n\\n\\*\\*Metadata Filtering:\\*\\*\\n\\nUse bracket notation to filter by metadata keys:\\n- `metadata[claim_id]=abc-123`\\n- `metadata[source]=worker`\\n\\nMultiple metadata filters can be combined (AND logic).',\n inputSchema: {\n queryParams: ListCallsQueryParams\n },\n outputSchema: ListCallsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listCallsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getCall = server.registerTool(\n 'getCall',\n {\n title: 'Get call',\n description: 'Retrieve detailed information about a specific call.\\n\\nSet `include_messages=true` to include the full message transcript.',\n inputSchema: {\n pathParams: GetCallParams,\n queryParams: GetCallQueryParams\n },\n outputSchema: GetCallResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getCallHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getCallEvaluation = server.registerTool(\n 'getCallEvaluation',\n {\n title: 'Get call evaluation',\n description: 'Retrieve the evaluation results for a specific call, including overall score, pass status, and per-metric breakdowns.',\n inputSchema: {\n pathParams: GetCallEvaluationParams\n },\n outputSchema: GetCallEvaluationResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getCallEvaluationHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getCallAnalytics = server.registerTool(\n 'getCallAnalytics',\n {\n title: 'Get call analytics',\n description: 'Retrieve aggregated call analytics for a time range.\\n\\nIncludes summary statistics, call volume over time, evaluation scores, score and duration distributions, and per-metric performance.',\n inputSchema: {\n queryParams: GetCallAnalyticsQueryParams\n },\n outputSchema: GetCallAnalyticsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getCallAnalyticsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getAnalyticsTimeSeries = server.registerTool(\n 'getAnalyticsTimeSeries',\n {\n title: 'Get analytics time series',\n description: 'Retrieve a tenant-scoped time series for a single processing-volume metric.\\n\\nPick a `metric` (worker runs, documents, or pages), a date range, a bucket `granularity` (day\\/week\\/month), and optionally a `group_by` dimension (e.g. worker runs grouped by worker). The series is sparse (only buckets with data) over the half-open window `[from, to)`.\\n\\n`data` is an array of per-metric results; today it always contains exactly one entry (the requested metric).',\n inputSchema: {\n queryParams: GetAnalyticsTimeSeriesQueryParams\n },\n outputSchema: GetAnalyticsTimeSeriesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getAnalyticsTimeSeriesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createCallFeedback = server.registerTool(\n 'createCallFeedback',\n {\n title: 'Create feedback on a call message',\n description: 'Create feedback for a specific message in a call. Requires user (JWT) authentication; the author is derived from the authenticated user\\'s profile and API-key callers are rejected.',\n inputSchema: {\n pathParams: CreateCallFeedbackParams,\n bodyParams: CreateCallFeedbackBody.optional()\n },\n outputSchema: CreateCallFeedbackResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createCallFeedbackHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listCallFeedback = server.registerTool(\n 'listCallFeedback',\n {\n title: 'List feedback for a call',\n description: 'List all feedback for a call. Paginated.',\n inputSchema: {\n pathParams: ListCallFeedbackParams,\n queryParams: ListCallFeedbackQueryParams\n },\n outputSchema: ListCallFeedbackResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listCallFeedbackHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteCallFeedback = server.registerTool(\n 'deleteCallFeedback',\n {\n title: 'Delete feedback',\n description: 'Delete a single feedback entry.',\n inputSchema: {\n pathParams: DeleteCallFeedbackParams\n },\n outputSchema: DeleteCallFeedbackResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteCallFeedbackHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.checkInboxAvailability = server.registerTool(\n 'checkInboxAvailability',\n {\n title: 'Check email username availability',\n description: 'Check whether a given email username is available for creating a new inbox.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/v1\\/email-agents\\/availability`',\n inputSchema: {\n queryParams: CheckInboxAvailabilityQueryParams\n },\n outputSchema: CheckInboxAvailabilityResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => checkInboxAvailabilityHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createInbox = server.registerTool(\n 'createInbox',\n {\n title: 'Create inbox',\n description: 'Create a new inbox linked to a processor (extractor or worker).\\n\\nThe inbox will receive emails at the assigned address and automatically process attachments using the specified processor.\\n\\nEither `processor_id` or the deprecated `extractor_id` must be provided. When using `extractor_id`, the processor type defaults to `extractor`.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`POST \\/v1\\/email-agents`',\n inputSchema: {\n bodyParams: CreateInboxBody.optional()\n },\n outputSchema: CreateInboxResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createInboxHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listInboxes = server.registerTool(\n 'listInboxes',\n {\n title: 'List inboxes',\n description: 'List all inboxes with pagination and sorting.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/v1\\/email-agents`',\n inputSchema: {\n queryParams: ListInboxesQueryParams\n },\n outputSchema: ListInboxesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listInboxesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateInbox = server.registerTool(\n 'updateInbox',\n {\n title: 'Update inbox',\n description: 'Update an inbox\\'s configuration.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`PATCH \\/v1\\/email-agents\\/{id}`',\n inputSchema: {\n pathParams: UpdateInboxParams,\n bodyParams: UpdateInboxBody.optional()\n },\n outputSchema: UpdateInboxResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateInboxHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteInbox = server.registerTool(\n 'deleteInbox',\n {\n title: 'Delete inbox',\n description: 'Delete an inbox. The inbox stops routing new mail; existing email history is preserved.',\n inputSchema: {\n pathParams: DeleteInboxParams\n },\n outputSchema: DeleteInboxResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteInboxHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getEmail = server.registerTool(\n 'getEmail',\n {\n title: 'Get email',\n description: 'Retrieve detailed information about a specific email, including full body content.',\n inputSchema: {\n pathParams: GetEmailParams\n },\n outputSchema: GetEmailResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getEmailHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteEmail = server.registerTool(\n 'deleteEmail',\n {\n title: 'Delete email',\n description: 'Soft-delete an email. The message is hidden from all reads (get, list, and thread aggregation) but its content is retained until a separate hard purge.',\n inputSchema: {\n pathParams: DeleteEmailParams\n },\n outputSchema: DeleteEmailResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteEmailHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listEmails = server.registerTool(\n 'listEmails',\n {\n title: 'List emails',\n description: 'List all emails with pagination and filtering.\\n\\n\\*\\*Filtering:\\*\\*\\n\\nFilter by email agent, sender, recipient, content search, or case.',\n inputSchema: {\n queryParams: ListEmailsQueryParams\n },\n outputSchema: ListEmailsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listEmailsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listEmailThreads = server.registerTool(\n 'listEmailThreads',\n {\n title: 'List email threads',\n description: 'List email threads with pagination. Each thread includes the subject of the first email, the sender of the first email, and the date of the last email.\\n\\n\\*\\*Filtering:\\*\\*\\n\\nFilter by inbox or environment. Without an `environment` filter, live and test threads are returned together.',\n inputSchema: {\n queryParams: ListEmailThreadsQueryParams\n },\n outputSchema: ListEmailThreadsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listEmailThreadsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.replyToEmail = server.registerTool(\n 'replyToEmail',\n {\n title: 'Reply to email',\n description: 'Reply to an existing email thread via Nylas. The reply is sent to the original sender by default.\\n\\nOptionally include additional recipients via `to` (merged with the original sender), `cc`, and `bcc` arrays.\\n\\nThe `body` is HTML by default. Set `is_html` to `false` to provide plain text instead; it is converted to HTML before sending.',\n inputSchema: {\n pathParams: ReplyToEmailParams,\n bodyParams: ReplyToEmailBody.optional()\n },\n outputSchema: ReplyToEmailResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => replyToEmailHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.sendEmail = server.registerTool(\n 'sendEmail',\n {\n title: 'Send email',\n description: 'Send a new email through an inbox. The provider-assigned thread id is returned and persisted on the stored email row, so subsequent inbound replies on that thread are linked to this send.\\n\\nThe `body` is HTML by default. Set `is_html` to `false` to provide plain text instead; it is converted to HTML before sending.',\n inputSchema: {\n bodyParams: SendEmailBody.optional()\n },\n outputSchema: SendEmailResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => sendEmailHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listExtractorJobs = server.registerTool(\n 'listExtractorJobs',\n {\n title: 'List extractor jobs',\n description: 'List all extraction jobs with pagination, filtering, and sorting.\\n\\n\\*\\*Scope Filtering:\\*\\*\\n\\nUse bracket notation to filter by scope keys:\\n- `scope[call_id]=abc-123`\\n- `scope[email_id]=xyz-456`\\n- `scope[case_id]=case-789`\\n\\nMultiple scope filters can be combined (AND logic).',\n inputSchema: {\n queryParams: ListExtractorJobsQueryParams\n },\n outputSchema: ListExtractorJobsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listExtractorJobsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createExtractorJob = server.registerTool(\n 'createExtractorJob',\n {\n title: 'Create extractor job',\n description: 'Create a new extraction job for the specified extractor.\\n\\nProvide a non-empty `scope` object to define what the extractor should process (e.g. `{ \\\"claim_id\\\": \\\"abc-123\\\" }`).',\n inputSchema: {\n bodyParams: CreateExtractorJobBody.optional()\n },\n outputSchema: CreateExtractorJobResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createExtractorJobHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getExtractorJob = server.registerTool(\n 'getExtractorJob',\n {\n title: 'Get extractor job',\n description: 'Retrieve detailed information about a specific extractor job, including its status, timing, and result.',\n inputSchema: {\n pathParams: GetExtractorJobParams\n },\n outputSchema: GetExtractorJobResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getExtractorJobHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listWorkerRuns = server.registerTool(\n 'listWorkerRuns',\n {\n title: 'List worker runs',\n description: 'List all worker runs with pagination, filtering, and sorting.\\n\\n\\*\\*Scope Filtering:\\*\\*\\n\\nUse bracket notation to filter by scope keys:\\n- `scope[call_id]=abc-123`\\n- `scope[email_id]=xyz-456`\\n\\nMultiple scope filters can be combined (AND logic).',\n inputSchema: {\n queryParams: ListWorkerRunsQueryParams\n },\n outputSchema: ListWorkerRunsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listWorkerRunsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createWorkerRun = server.registerTool(\n 'createWorkerRun',\n {\n title: 'Create worker run',\n description: 'Create a new worker run for the specified worker.\\n\\nProvide a `scope` object with at least one key to define which artifacts the worker should process (e.g. `{ \\\"claim_id\\\": \\\"abc-123\\\" }`). The run stays `pending` until those artifacts are ready.\\n\\nPass `null` to run the worker without any artifacts — the run is queued immediately. An empty object is rejected.',\n inputSchema: {\n bodyParams: CreateWorkerRunBody.optional()\n },\n outputSchema: CreateWorkerRunResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createWorkerRunHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getWorkerRun = server.registerTool(\n 'getWorkerRun',\n {\n title: 'Get worker run',\n description: 'Retrieve detailed information about a specific worker run, including its status, timing, and errors.',\n inputSchema: {\n pathParams: GetWorkerRunParams\n },\n outputSchema: GetWorkerRunResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getWorkerRunHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listWorkerRunMessages = server.registerTool(\n 'listWorkerRunMessages',\n {\n title: 'List worker run messages',\n description: 'Retrieve messages emitted during a worker run, ordered by emission time. Supports cursor-style pagination via `after` and `count`.',\n inputSchema: {\n pathParams: ListWorkerRunMessagesParams,\n queryParams: ListWorkerRunMessagesQueryParams\n },\n outputSchema: ListWorkerRunMessagesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listWorkerRunMessagesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.cancelWorkerRun = server.registerTool(\n 'cancelWorkerRun',\n {\n title: 'Cancel a worker run',\n description: 'Cancel a worker run. For in_progress runs, the underlying E2B sandbox is terminated when possible. Pending and queued runs are simply marked canceled. Runs that are starting are still being handed their context and cannot be interrupted, so they cannot be canceled until they reach in_progress. Runs in terminal states (completed, failed) cannot be canceled. Already-canceled runs are returned without side effects.',\n inputSchema: {\n pathParams: CancelWorkerRunParams\n },\n outputSchema: CancelWorkerRunResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => cancelWorkerRunHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createWorkerEvalFromRun = server.registerTool(\n 'createWorkerEvalFromRun',\n {\n title: 'Create a worker eval from a run',\n description: 'Snapshot a worker run\\'s trigger and resolved artifacts, and record its MCP tool responses from telemetry for replay.',\n inputSchema: {\n pathParams: CreateWorkerEvalFromRunParams,\n bodyParams: CreateWorkerEvalFromRunBody.optional()\n },\n outputSchema: CreateWorkerEvalFromRunResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createWorkerEvalFromRunHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.runEval = server.registerTool(\n 'runEval',\n {\n title: 'Run an eval',\n description: 'Queue an explicit worker version against the eval\\'s immutable artifact snapshot and mocked tools.',\n inputSchema: {\n pathParams: RunEvalParams,\n bodyParams: RunEvalBody.optional()\n },\n outputSchema: RunEvalResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => runEvalHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getEvalRun = server.registerTool(\n 'getEvalRun',\n {\n title: 'Get an eval run',\n description: 'Get the status and prompt-grader result for an eval run.',\n inputSchema: {\n pathParams: GetEvalRunParams\n },\n outputSchema: GetEvalRunResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getEvalRunHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createExtractor = server.registerTool(\n 'createExtractor',\n {\n title: 'Create extractor',\n description: 'Create a new extractor with a name and JSON schema defining the extraction output format.',\n inputSchema: {\n bodyParams: CreateExtractorBody.optional()\n },\n outputSchema: CreateExtractorResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createExtractorHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listExtractors = server.registerTool(\n 'listExtractors',\n {\n title: 'List extractors',\n description: 'List all extractors with pagination, filtering, and sorting.\\n\\nFilter by name using the `name` query parameter.',\n inputSchema: {\n queryParams: ListExtractorsQueryParams\n },\n outputSchema: ListExtractorsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listExtractorsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getExtractor = server.registerTool(\n 'getExtractor',\n {\n title: 'Get extractor',\n description: 'Retrieve a single extractor by ID, including its schema and version.',\n inputSchema: {\n pathParams: GetExtractorParams\n },\n outputSchema: GetExtractorResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getExtractorHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateExtractor = server.registerTool(\n 'updateExtractor',\n {\n title: 'Update extractor',\n description: 'Update an extractor\\'s schema. This creates a new version of the extractor.',\n inputSchema: {\n pathParams: UpdateExtractorParams,\n bodyParams: UpdateExtractorBody.optional()\n },\n outputSchema: UpdateExtractorResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateExtractorHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteExtractor = server.registerTool(\n 'deleteExtractor',\n {\n title: 'Delete extractor',\n description: 'Soft-delete an extractor and all of its versions. Soft-deleted extractors no longer appear in any read.',\n inputSchema: {\n pathParams: DeleteExtractorParams\n },\n outputSchema: DeleteExtractorResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteExtractorHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createWorker = server.registerTool(\n 'createWorker',\n {\n title: 'Create worker',\n description: 'Create a new worker with a name and prompt.',\n inputSchema: {\n bodyParams: CreateWorkerBody.optional()\n },\n outputSchema: CreateWorkerResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createWorkerHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listWorkers = server.registerTool(\n 'listWorkers',\n {\n title: 'List workers',\n description: 'List all workers with pagination, filtering, and sorting.\\n\\nFilter by name using the `name` query parameter.',\n inputSchema: {\n queryParams: ListWorkersQueryParams\n },\n outputSchema: ListWorkersResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listWorkersHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getWorker = server.registerTool(\n 'getWorker',\n {\n title: 'Get worker',\n description: 'Retrieve a single worker by ID.',\n inputSchema: {\n pathParams: GetWorkerParams\n },\n outputSchema: GetWorkerResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getWorkerHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteWorker = server.registerTool(\n 'deleteWorker',\n {\n title: 'Delete worker',\n description: 'Delete a worker. The worker is hidden from all reads; its run history is preserved.',\n inputSchema: {\n pathParams: DeleteWorkerParams\n },\n outputSchema: DeleteWorkerResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteWorkerHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateWorker = server.registerTool(\n 'updateWorker',\n {\n title: 'Update worker',\n description: 'Update the configuration of a worker, including the attached tool set.',\n inputSchema: {\n pathParams: UpdateWorkerParams,\n bodyParams: UpdateWorkerBody.optional()\n },\n outputSchema: UpdateWorkerResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateWorkerHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getWorkerPrompt = server.registerTool(\n 'getWorkerPrompt',\n {\n title: 'Get worker prompt',\n description: 'Retrieve the prompt for a worker. Pass `version` to fetch the prompt snapshot at a specific config version; omit it to fetch the current prompt. Internal use only.',\n inputSchema: {\n pathParams: GetWorkerPromptParams,\n queryParams: GetWorkerPromptQueryParams\n },\n outputSchema: GetWorkerPromptResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getWorkerPromptHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateWorkerPrompt = server.registerTool(\n 'updateWorkerPrompt',\n {\n title: 'Update worker prompt',\n description: 'Update the prompt for a worker. Internal use only.',\n inputSchema: {\n pathParams: UpdateWorkerPromptParams,\n bodyParams: UpdateWorkerPromptBody.optional()\n },\n outputSchema: UpdateWorkerPromptResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateWorkerPromptHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listWorkerModels = server.registerTool(\n 'listWorkerModels',\n {\n title: 'List available worker models',\n description: 'List the LLM models that can be assigned to a worker via the `model` field on update.',\n outputSchema: ListWorkerModelsResponse,\n annotations: { readOnlyHint: true },\n },\n (ctx) => listWorkerModelsHandler({\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateWorkerMcps = server.registerTool(\n 'updateWorkerMcps',\n {\n title: 'Update worker MCP servers',\n description: 'Replace the set of MCP servers a worker connects to. Pass an empty array to disconnect.',\n inputSchema: {\n pathParams: UpdateWorkerMcpsParams,\n bodyParams: UpdateWorkerMcpsBody.optional()\n },\n outputSchema: UpdateWorkerMcpsResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateWorkerMcpsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listWorkerVersions = server.registerTool(\n 'listWorkerVersions',\n {\n title: 'List worker versions',\n description: 'List all config versions for a worker, ordered by version (newest first by default).',\n inputSchema: {\n pathParams: ListWorkerVersionsParams,\n queryParams: ListWorkerVersionsQueryParams\n },\n outputSchema: ListWorkerVersionsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listWorkerVersionsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getWorkerVersion = server.registerTool(\n 'getWorkerVersion',\n {\n title: 'Get worker version',\n description: 'Retrieve a single worker config version, including the worker\\'s identity, the config snapshot at that version, and version-specific metadata. The prompt is served separately by the worker prompt endpoint.',\n inputSchema: {\n pathParams: GetWorkerVersionParams\n },\n outputSchema: GetWorkerVersionResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getWorkerVersionHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.promoteWorkerVersion = server.registerTool(\n 'promoteWorkerVersion',\n {\n title: 'Promote worker version',\n description: 'Select a worker configuration version for the live or test environment. This freezes the config snapshot only — the E2B template, attached tools and attached secrets are not versioned and always resolve to their current values.',\n inputSchema: {\n pathParams: PromoteWorkerVersionParams,\n bodyParams: PromoteWorkerVersionBody.optional()\n },\n outputSchema: PromoteWorkerVersionResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => promoteWorkerVersionHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getWorkerVersionChangeSummary = server.registerTool(\n 'getWorkerVersionChangeSummary',\n {\n title: 'Get worker version change summary',\n description: 'Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.',\n inputSchema: {\n pathParams: GetWorkerVersionChangeSummaryParams\n },\n outputSchema: GetWorkerVersionChangeSummaryResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getWorkerVersionChangeSummaryHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createWorkerWebhook = server.registerTool(\n 'createWorkerWebhook',\n {\n title: 'Create worker webhook',\n description: 'Create a webhook that fires when events occur for the specified worker.',\n inputSchema: {\n pathParams: CreateWorkerWebhookParams,\n bodyParams: CreateWorkerWebhookBody.optional()\n },\n outputSchema: CreateWorkerWebhookResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createWorkerWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listWorkerWebhooks = server.registerTool(\n 'listWorkerWebhooks',\n {\n title: 'List worker webhooks',\n description: 'List all webhooks configured for a specific worker.',\n inputSchema: {\n pathParams: ListWorkerWebhooksParams,\n queryParams: ListWorkerWebhooksQueryParams\n },\n outputSchema: ListWorkerWebhooksResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listWorkerWebhooksHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listCases = server.registerTool(\n 'listCases',\n {\n title: 'List cases',\n description: 'List all cases for the current tenant, paginated, filterable, and sortable.',\n inputSchema: {\n queryParams: ListCasesQueryParams\n },\n outputSchema: ListCasesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listCasesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createCase = server.registerTool(\n 'createCase',\n {\n title: 'Create case',\n description: 'Create a case with a client-supplied id.\\n\\nCase ids are tenant-scoped opaque keys (e.g. \\\"clm-1\\\", \\\"STD-001\\\") and are normalized server-side (trimmed and lowercased). Creating an id that already exists \\*\\*in the same environment\\*\\* returns 409 — the same id can exist once in `live` and once in `test`.',\n inputSchema: {\n bodyParams: CreateCaseBody.optional()\n },\n outputSchema: CreateCaseResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createCaseHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.searchCases = server.registerTool(\n 'searchCases',\n {\n title: 'Search cases',\n description: 'Probe for candidate cases. Matches the query as a normalized substring of the case id, and fuzzily (trigram) against subject and reporter. Results are relevance-ranked — id matches first, then best fuzzy match, then most recently updated — so ordering is fixed and not configurable.',\n inputSchema: {\n queryParams: SearchCasesQueryParams\n },\n outputSchema: SearchCasesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => searchCasesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getCase = server.registerTool(\n 'getCase',\n {\n title: 'Get case',\n description: 'Retrieve a case by id.\\n\\nRelated entities are not embedded — fetch them via the filtered list endpoints,\\ne.g. `GET \\/v1\\/worker-runs?case_id=…` and `GET \\/v1\\/artifacts?metadata[case_id]=…`.',\n inputSchema: {\n pathParams: GetCaseParams,\n queryParams: GetCaseQueryParams\n },\n outputSchema: GetCaseResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getCaseHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteCase = server.registerTool(\n 'deleteCase',\n {\n title: 'Delete case',\n description: 'Delete a case.\\n\\nThe case and its links stop being visible; the linked entities themselves are untouched. The id becomes available again — a case created with the same id afterwards is a new, empty case, not the deleted one.\\n\\nUnlike removing a case link, this is \\*\\*not\\*\\* idempotent: deleting a case that does not exist, or has already been deleted, returns 404.',\n inputSchema: {\n pathParams: DeleteCaseParams,\n queryParams: DeleteCaseQueryParams\n },\n outputSchema: DeleteCaseResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteCaseHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.addCaseLinks = server.registerTool(\n 'addCaseLinks',\n {\n title: 'Add case links',\n description: 'Link up to 100 entities (artifacts, calls, chats, emails, extracts, information requests, schedules, worker runs) to a case.\\n\\nThe case and every entity must already exist in the tenant — unknown ids return 404 and nothing is created. Calls, emails, information requests and worker runs must belong to the case\\'s environment, and a schedule must run in it; artifacts, chats and extracts are not environment-scoped and can be linked to a case in either. A mismatch rejects the whole request. Adding is idempotent: re-linking an already linked entity returns the existing link with its original `created_at`.',\n inputSchema: {\n pathParams: AddCaseLinksParams,\n queryParams: AddCaseLinksQueryParams,\n bodyParams: AddCaseLinksBody.optional()\n },\n outputSchema: AddCaseLinksResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => addCaseLinksHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listCaseLinks = server.registerTool(\n 'listCaseLinks',\n {\n title: 'List case links',\n description: 'List the entities linked to a case, paginated and filterable by entity type.',\n inputSchema: {\n pathParams: ListCaseLinksParams,\n queryParams: ListCaseLinksQueryParams\n },\n outputSchema: ListCaseLinksResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listCaseLinksHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.removeCaseLink = server.registerTool(\n 'removeCaseLink',\n {\n title: 'Remove case link',\n description: 'Remove the link between a case and an entity. Removal is idempotent: removing a link that does not exist succeeds without effect.',\n inputSchema: {\n pathParams: RemoveCaseLinkParams,\n queryParams: RemoveCaseLinkQueryParams\n },\n outputSchema: RemoveCaseLinkResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => removeCaseLinkHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createChatAgent = server.registerTool(\n 'createChatAgent',\n {\n title: 'Create chat agent',\n description: 'Create a new chat agent with a name and prompt.',\n inputSchema: {\n bodyParams: CreateChatAgentBody.optional()\n },\n outputSchema: CreateChatAgentResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createChatAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listChatAgents = server.registerTool(\n 'listChatAgents',\n {\n title: 'List chat agents',\n description: 'List the tenant\\'s chat agents with pagination and sorting. Prompts are not returned.',\n inputSchema: {\n queryParams: ListChatAgentsQueryParams\n },\n outputSchema: ListChatAgentsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listChatAgentsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getChatAgent = server.registerTool(\n 'getChatAgent',\n {\n title: 'Get chat agent',\n description: 'Retrieve a single chat agent by ID, including the IDs of its attached code tools. The prompt is not returned.',\n inputSchema: {\n pathParams: GetChatAgentParams\n },\n outputSchema: GetChatAgentResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getChatAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateChatAgent = server.registerTool(\n 'updateChatAgent',\n {\n title: 'Update chat agent',\n description: 'Patch a chat agent\\'s settings. Today only the attached code tool set can be edited; future fields will be added under the same endpoint. The response returns the chat agent\\'s metadata only and does not include the resulting tool list; the agent\\'s `updated_at` is not bumped when only the tool set changes.',\n inputSchema: {\n pathParams: UpdateChatAgentParams,\n bodyParams: UpdateChatAgentBody.optional()\n },\n outputSchema: UpdateChatAgentResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateChatAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteChatAgent = server.registerTool(\n 'deleteChatAgent',\n {\n title: 'Delete chat agent',\n description: 'Soft-delete a chat agent. The agent no longer appears in any read and stops accepting new chats; existing chats and messages are preserved.',\n inputSchema: {\n pathParams: DeleteChatAgentParams\n },\n outputSchema: DeleteChatAgentResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteChatAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getChatAgentPrompt = server.registerTool(\n 'getChatAgentPrompt',\n {\n title: 'Get chat agent prompt',\n description: 'Retrieve the prompt and greeting for a chat agent. Internal use only.',\n inputSchema: {\n pathParams: GetChatAgentPromptParams\n },\n outputSchema: GetChatAgentPromptResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getChatAgentPromptHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateChatAgentPrompt = server.registerTool(\n 'updateChatAgentPrompt',\n {\n title: 'Update chat agent prompt',\n description: 'Update the prompt and\\/or greeting for a chat agent. Internal use only.',\n inputSchema: {\n pathParams: UpdateChatAgentPromptParams,\n bodyParams: UpdateChatAgentPromptBody.optional()\n },\n outputSchema: UpdateChatAgentPromptResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateChatAgentPromptHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createChat = server.registerTool(\n 'createChat',\n {\n title: 'Create a chat',\n description: 'Create a new chat against an existing chat agent. The chat agent\\'s tenant becomes the owner of the chat.',\n inputSchema: {\n bodyParams: CreateChatBody.optional()\n },\n outputSchema: CreateChatResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createChatHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getChat = server.registerTool(\n 'getChat',\n {\n title: 'Get a chat',\n description: 'Return a chat and its messages in chronological order. Used to re-render a transcript after a reload. Only `user` and `assistant` messages are included; tool calls and tool results are omitted. Each message\\'s `content` is the concatenation of its text blocks separated by newlines.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/public\\/v1\\/chat`',\n inputSchema: {\n pathParams: GetChatParams\n },\n outputSchema: GetChatResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getChatHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getPublicChatAgent = server.registerTool(\n 'getPublicChatAgent',\n {\n title: 'Get a chat agent (public)',\n description: 'Return the public-facing fields of a chat agent for use in the chat UI. Sensitive fields such as the agent\\'s prompt and tenant ID are not exposed.',\n inputSchema: {\n pathParams: GetPublicChatAgentParams\n },\n outputSchema: GetPublicChatAgentResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getPublicChatAgentHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.postChatMessage = server.registerTool(\n 'postChatMessage',\n {\n title: 'Post a message to a chat',\n description: 'Post a user message to an existing chat and return the assistant reply. Both messages are persisted.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`POST \\/public\\/v1\\/chat\\/messages`',\n inputSchema: {\n pathParams: PostChatMessageParams,\n bodyParams: PostChatMessageBody.optional()\n },\n outputSchema: PostChatMessageResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => postChatMessageHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listChats = server.registerTool(\n 'listChats',\n {\n title: 'List chats',\n description: 'List the tenant\\'s chats with pagination, sorting, and optional filtering by case. Returns chat metadata and message counts; messages are not included.',\n inputSchema: {\n queryParams: ListChatsQueryParams\n },\n outputSchema: ListChatsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listChatsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listChatMessages = server.registerTool(\n 'listChatMessages',\n {\n title: 'List chat messages',\n description: 'List messages for a chat owned by the tenant, in chronological order by default.',\n inputSchema: {\n pathParams: ListChatMessagesParams,\n queryParams: ListChatMessagesQueryParams\n },\n outputSchema: ListChatMessagesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listChatMessagesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getExtract = server.registerTool(\n 'getExtract',\n {\n title: 'Get extract',\n description: 'Retrieve a single extract by ID, including the extraction result data.',\n inputSchema: {\n pathParams: GetExtractParams\n },\n outputSchema: GetExtractResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getExtractHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getExtractCitations = server.registerTool(\n 'getExtractCitations',\n {\n title: 'Get extract citations',\n description: 'Retrieve the citation tree with resolved chunk data for a given extract. Returns 404 if the extract does not exist or has no citations (the citations sub-resource is not available).',\n inputSchema: {\n pathParams: GetExtractCitationsParams\n },\n outputSchema: GetExtractCitationsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getExtractCitationsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listExtracts = server.registerTool(\n 'listExtracts',\n {\n title: 'List extracts',\n description: 'List all extracts with pagination, filtering, and sorting.\\n\\n\\*\\*Scope Filtering:\\*\\*\\n\\nUse bracket notation to filter by scope keys:\\n- `scope[claim_id]=abc-123`\\n\\nMultiple scope filters can be combined (AND logic).',\n inputSchema: {\n queryParams: ListExtractsQueryParams\n },\n outputSchema: ListExtractsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listExtractsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getProfile = server.registerTool(\n 'getProfile',\n {\n title: 'Get profile',\n description: 'Retrieve the current user\\'s profile information. This endpoint requires a user session and cannot be used with API Keys.',\n outputSchema: GetProfileResponse,\n annotations: { readOnlyHint: true },\n },\n (ctx) => getProfileHandler({\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listTeamMembers = server.registerTool(\n 'listTeamMembers',\n {\n title: 'List team members',\n description: 'List all members in the current tenant.',\n outputSchema: ListTeamMembersResponse,\n annotations: { readOnlyHint: true },\n },\n (ctx) => listTeamMembersHandler({\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.inviteTeamMember = server.registerTool(\n 'inviteTeamMember',\n {\n title: 'Invite a team member',\n description: 'Invite an email address to join the current tenant. The invitee receives an email and joins at the `member` role once they accept; promote them afterwards with `PATCH \\/v1\\/team\\/members\\/{id}`.\\n\\nRequires the `teams:write` permission.\\n\\nReturns `409` if the address already has a pending invitation or is already a member.',\n inputSchema: {\n bodyParams: InviteTeamMemberBody.optional()\n },\n outputSchema: InviteTeamMemberResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => inviteTeamMemberHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listTeamInvitations = server.registerTool(\n 'listTeamInvitations',\n {\n title: 'List pending team invitations',\n description: 'List the invitations for the current tenant that are still awaiting acceptance. Accepted, revoked and expired invitations are not returned.\\n\\nInvitees are not team members yet, so they do not appear in `GET \\/v1\\/team\\/members`. A member-management screen shows both by merging the two lists.\\n\\nRequires the `teams:write` permission.',\n outputSchema: ListTeamInvitationsResponse,\n annotations: { readOnlyHint: true },\n },\n (ctx) => listTeamInvitationsHandler({\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.revokeTeamInvitation = server.registerTool(\n 'revokeTeamInvitation',\n {\n title: 'Revoke a team invitation',\n description: 'Cancel a pending invitation. The link that was emailed to the invitee stops working, and the address becomes free to invite again.\\n\\nIdempotent: an invitation that was already accepted, revoked or expired also returns `204`.\\n\\nRequires the `teams:write` permission.\\n\\nReturns `404` for an unknown invitation or one that belongs to another tenant.',\n inputSchema: {\n pathParams: RevokeTeamInvitationParams\n },\n outputSchema: RevokeTeamInvitationResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => revokeTeamInvitationHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.resendTeamInvitation = server.registerTool(\n 'resendTeamInvitation',\n {\n title: 'Resend a team invitation',\n description: 'Email the invitation to its recipient again, for an invite that never arrived. The invitation keeps its `id` and its original expiry — this re-sends the existing link rather than issuing a new one.\\n\\nTo give someone a genuinely fresh 5 days, revoke the invitation and send a new one instead.\\n\\nRequires the `teams:write` permission.\\n\\nReturns `409` if the invitation is no longer pending — it was accepted, revoked or expired underneath the caller — and `404` for an unknown invitation or one that belongs to another tenant.',\n inputSchema: {\n pathParams: ResendTeamInvitationParams\n },\n outputSchema: ResendTeamInvitationResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => resendTeamInvitationHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateMemberRole = server.registerTool(\n 'updateMemberRole',\n {\n title: 'Update member role',\n description: 'Change the role of a team member.',\n inputSchema: {\n pathParams: UpdateMemberRoleParams,\n bodyParams: UpdateMemberRoleBody.optional()\n },\n outputSchema: UpdateMemberRoleResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateMemberRoleHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.removeMember = server.registerTool(\n 'removeMember',\n {\n title: 'Remove team member',\n description: 'Soft-delete a team member, revoking access on the next token refresh.',\n inputSchema: {\n pathParams: RemoveMemberParams\n },\n outputSchema: RemoveMemberResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => removeMemberHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createSecret = server.registerTool(\n 'createSecret',\n {\n title: 'Create a secret',\n description: 'Create an organization-level secret. The value is encrypted at rest and \\*\\*write-only\\*\\* — no endpoint ever returns it.\\n\\nRequires the `secrets:write` permission. Env keys used by the worker runtime itself (e.g. `OPENAI_API_KEY`, `AVALLON_\\*`, `AWS_\\*`) are reserved and rejected.',\n inputSchema: {\n bodyParams: CreateSecretBody.optional()\n },\n outputSchema: CreateSecretResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createSecretHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listSecrets = server.registerTool(\n 'listSecrets',\n {\n title: 'List secrets',\n description: 'List the organization\\'s secrets with pagination and sorting. Values are never included. Requires the `secrets:read` permission.',\n inputSchema: {\n queryParams: ListSecretsQueryParams\n },\n outputSchema: ListSecretsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listSecretsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getSecret = server.registerTool(\n 'getSecret',\n {\n title: 'Get secret',\n description: 'Get a secret\\'s metadata. The value is never included. Requires the `secrets:read` permission.',\n inputSchema: {\n pathParams: GetSecretParams\n },\n outputSchema: GetSecretResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getSecretHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateSecret = server.registerTool(\n 'updateSecret',\n {\n title: 'Update secret',\n description: 'Update a secret\\'s display name or description, or rotate its live or test value. Rotation overwrites the stored value — previous values are not retrievable.\\n\\nThe `env_key` is immutable: consumers of the secret receive the value under that key, so changing it would silently break them. Create a new secret instead.\\n\\nRequires the `secrets:write` permission.',\n inputSchema: {\n pathParams: UpdateSecretParams,\n bodyParams: UpdateSecretBody.optional()\n },\n outputSchema: UpdateSecretResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateSecretHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteSecret = server.registerTool(\n 'deleteSecret',\n {\n title: 'Delete secret',\n description: 'Delete a secret and detach it from all entities. Requires the `secrets:write` permission.',\n inputSchema: {\n pathParams: DeleteSecretParams\n },\n outputSchema: DeleteSecretResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteSecretHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createSchedule = server.registerTool(\n 'createSchedule',\n {\n title: 'Create a schedule',\n description: 'Create a schedule that performs an action, either repeatedly or once.\\n\\n`action` describes \\*\\*what\\*\\* happens — today only `trigger_worker`, which starts a worker run with the given scope. `rule` describes \\*\\*when\\*\\*: `recurring` carries one or more `patterns`, and fires whenever any of them comes round. A pattern fires every hour at `minute`, narrowed by `hours` and `weekdays` — so `hours: [9]` is daily at 09:00, `hours: [12], weekdays: [1]` is Mondays at noon, and `hours: [9, 13, 17], weekdays: [1, 2, 3, 4, 5]` is three times a day on weekdays. Give a second pattern to mix cadences: hourly on weekdays plus 09:00, 11:00 and 18:00 at weekends is two patterns on one schedule. Patterns overlap harmlessly — two that land on the same minute fire once. Every set is read in the schedule\\'s own time zone — an IANA identifier such as `America\\/Chicago`, resolved across DST transitions. `once` fires a single time at a UTC instant.\\n\\n`environments` says \\*\\*which worker version\\*\\* each occurrence runs: `live` resolves the worker at its live version, `test` at its test version. Give both to soak a candidate version on the same cadence and scope as production — every occurrence then fires twice, producing one run per environment. Omit it to fire in `live` only.\\n\\nThe response\\'s `next_run_at` is the first occurrence strictly after the moment of creation; a rule that resolves to no such occurrence is rejected. Create with `enabled: false` to stage a recurring schedule without letting it fire. A one-off is always enabled: delete it to cancel it, and its `next_run_at` becomes null once it has fired.\\n\\nRequires the `schedules:write` permission.',\n inputSchema: {\n bodyParams: CreateScheduleBody.optional()\n },\n outputSchema: CreateScheduleResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createScheduleHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listSchedules = server.registerTool(\n 'listSchedules',\n {\n title: 'List schedules',\n description: 'List the organization\\'s schedules. Requires the `schedules:read` permission.',\n inputSchema: {\n queryParams: ListSchedulesQueryParams\n },\n outputSchema: ListSchedulesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listSchedulesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getSchedule = server.registerTool(\n 'getSchedule',\n {\n title: 'Get a schedule',\n description: 'Retrieve a single schedule. Requires the `schedules:read` permission.',\n inputSchema: {\n pathParams: GetScheduleParams\n },\n outputSchema: GetScheduleResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getScheduleHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateSchedule = server.registerTool(\n 'updateSchedule',\n {\n title: 'Update a schedule',\n description: 'Update a schedule\\'s rule, environments, name, or enabled state.\\n\\nChanging the rule moves `next_run_at` to the first occurrence after the update; a rule that resolves to no such occurrence is rejected. One-off schedules are always enabled — delete one to cancel it before it fires.\\n\\n`environments` replaces the whole list rather than adding to it. It takes effect from the next occurrence: one already due keeps the environments it was created with.',\n inputSchema: {\n pathParams: UpdateScheduleParams,\n bodyParams: UpdateScheduleBody.optional()\n },\n outputSchema: UpdateScheduleResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateScheduleHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteSchedule = server.registerTool(\n 'deleteSchedule',\n {\n title: 'Delete a schedule',\n description: 'Delete a schedule so it stops firing.',\n inputSchema: {\n pathParams: DeleteScheduleParams\n },\n outputSchema: DeleteScheduleResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteScheduleHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listDispatches = server.registerTool(\n 'listDispatches',\n {\n title: 'List dispatches',\n description: 'List the organization\\'s dispatches, newest occurrence first.\\n\\nA dispatch is one occurrence of a trigger in one environment, carried out on its own: a schedule produces one per environment it runs in every time it fires, an inbound email produces one for the environment its inbox received it in, and a resolved information request produces one that restarts the worker that asked. Listing them shows what a trigger has actually done, including occurrences that never produced anything.\\n\\n- `pending` — not carried out yet: waiting to be picked up, in flight, or waiting on a retry after an earlier pickup did not complete.\\n- `dispatched` — carried out.\\n- `abandoned` — gave up, because the occurrence passed its `expires_at` deadline before it could be carried out.\\n\\n`attempts` counts how many times the occurrence has been picked up, not how many times it failed: a dispatch carried out on the first pickup ends at `attempts: 1`, and a higher count means earlier pickups did not complete.\\n\\n`target` is what the occurrence produced — a worker run, or an extractor job for an email whose inbox extracts. It is null until the dispatch is carried out, and stays null on one that was abandoned.\\n\\nNarrow to one trigger with `trigger_type` and `trigger_id` — the schedule\\'s ID for a schedule, the email\\'s ID for an email, the request\\'s ID for an information request. `trigger_id` requires `trigger_type`.',\n inputSchema: {\n queryParams: ListDispatchesQueryParams\n },\n outputSchema: ListDispatchesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listDispatchesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listNotifications = server.registerTool(\n 'listNotifications',\n {\n title: 'List notifications',\n description: 'List the organization\\'s notifications, newest first.\\n\\nA notification is a durable record that something happened and that somebody should know about it. Notifications are not yet addressed to individual people, so everyone in the organization sees the same feed.\\n\\n`title` and `body` are the display text — render them as-is rather than deriving your own wording from `type`, so every surface says the same thing. `data` carries the identifiers the notification points at, so a client can link to the thing it is about; which keys are present depends on `type`.\\n\\n`worker_issue_reported` means a worker hit a problem during a run and reported it; its `body` is the worker\\'s own message and its `data` is the reporting `worker_id` and `run_id`. `information_request_created` means a worker paused to ask a person a question; its `data` is the `request_id` to answer through `POST \\/v1\\/information-requests\\/{informationRequestId}\\/resolve`.',\n inputSchema: {\n queryParams: ListNotificationsQueryParams\n },\n outputSchema: ListNotificationsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listNotificationsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getNotification = server.registerTool(\n 'getNotification',\n {\n title: 'Get notification',\n description: 'Retrieve a single notification by its ID, the id a `notification.created` webhook delivery carries.\\n\\n`title` and `body` are the display text — render them as-is rather than deriving your own wording from `type`, so every surface says the same thing. `data` carries the identifiers the notification points at, so a client can link to the thing it is about; which keys are present depends on `type`.\\n\\n`worker_issue_reported` means a worker hit a problem during a run and reported it; its `body` is the worker\\'s own message and its `data` is the reporting `worker_id` and `run_id`. `information_request_created` means a worker paused to ask a person a question; its `data` is the `request_id` to answer through `POST \\/v1\\/information-requests\\/{informationRequestId}\\/resolve`.',\n inputSchema: {\n pathParams: GetNotificationParams\n },\n outputSchema: GetNotificationResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getNotificationHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createInformationRequest = server.registerTool(\n 'createInformationRequest',\n {\n title: 'Ask for information',\n description: 'Ask a person for a specific fact you cannot establish yourself.\\n\\nUse this when one missing piece of information is blocking you and only a human can supply it — which claim a document belongs to, which of two policies applies, what an ambiguous reference means. Ask one answerable question per request, and write it so it stands on its own: whoever resolves it sees your title and your question and nothing else.\\n\\nImmediately link the request to its case with `addCaseLinks` and `entity_type: \\\"information_request\\\"`. That is how it reaches the person working that case; unlinked, it sits in a queue nobody is looking at. Leave it unlinked only when you genuinely cannot tell which case it belongs to.\\n\\n\\*\\*This does not block or suspend you.\\*\\* Nobody resolves it while this run is happening. Carry on with what you can still do, or stop, and say in your final report that you asked.\\n\\nDo not use it for progress updates, or for anything you can work out yourself.',\n inputSchema: {\n bodyParams: CreateInformationRequestBody.optional()\n },\n outputSchema: CreateInformationRequestResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createInformationRequestHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listInformationRequests = server.registerTool(\n 'listInformationRequests',\n {\n title: 'List information requests',\n description: 'List the organization\\'s information requests, newest first.\\n\\nAn information request is a specific question a worker could not settle on its own and needs a person to resolve. It stays open until somebody resolves it; there is no separate status field.',\n inputSchema: {\n queryParams: ListInformationRequestsQueryParams\n },\n outputSchema: ListInformationRequestsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listInformationRequestsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getInformationRequest = server.registerTool(\n 'getInformationRequest',\n {\n title: 'Get information request',\n description: 'Retrieve a single information request by its ID.',\n inputSchema: {\n pathParams: GetInformationRequestParams\n },\n outputSchema: GetInformationRequestResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getInformationRequestHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.resolveInformationRequest = server.registerTool(\n 'resolveInformationRequest',\n {\n title: 'Resolve information request',\n description: 'Resolve an open information request by providing an answer\\/resolution.',\n inputSchema: {\n pathParams: ResolveInformationRequestParams,\n bodyParams: ResolveInformationRequestBody.optional()\n },\n outputSchema: ResolveInformationRequestResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => resolveInformationRequestHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createTool = server.registerTool(\n 'createTool',\n {\n title: 'Create tool',\n description: 'Create a new code tool that can be attached to agents. Provide the tool\\'s name, code, and description.',\n inputSchema: {\n bodyParams: CreateToolBody.optional()\n },\n outputSchema: CreateToolResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createToolHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listTools = server.registerTool(\n 'listTools',\n {\n title: 'List tools',\n description: 'List all code tools with sorting.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/worker\\/v1\\/tools`',\n inputSchema: {\n queryParams: ListToolsQueryParams\n },\n outputSchema: ListToolsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listToolsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteTool = server.registerTool(\n 'deleteTool',\n {\n title: 'Delete tool',\n description: 'Delete a tool. Fails with a conflict when the tool is still attached to a voice agent, worker, or chat agent; detach it first.',\n inputSchema: {\n pathParams: DeleteToolParams\n },\n outputSchema: DeleteToolResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteToolHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getTool = server.registerTool(\n 'getTool',\n {\n title: 'Get tool',\n description: 'Retrieve a single tool by ID at its newest config version, including its code, schema, description and attached secrets, plus the versions each environment runs.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/worker\\/v1\\/tools\\/{id}`',\n inputSchema: {\n pathParams: GetToolParams\n },\n outputSchema: GetToolResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getToolHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateTool = server.registerTool(\n 'updateTool',\n {\n title: 'Update tool',\n description: 'Update a code tool\\'s name, description, code, or attached secrets. All fields are optional — only provided fields are updated.\\n\\nChanging the code, description or attached secrets creates a new config version; runs keep executing the versions promoted to live and test until that version is promoted. Renaming does not create a version.',\n inputSchema: {\n pathParams: UpdateToolParams,\n bodyParams: UpdateToolBody.optional()\n },\n outputSchema: UpdateToolResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateToolHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.executeCode = server.registerTool(\n 'executeCode',\n {\n title: 'Execute tool',\n description: 'Execute a code tool with the given parameters. Returns the result, any errors, and execution traces.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`POST \\/worker\\/v1\\/tools\\/{id}\\/execute`',\n inputSchema: {\n pathParams: ExecuteCodeParams,\n bodyParams: ExecuteCodeBody.optional()\n },\n outputSchema: ExecuteCodeResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => executeCodeHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listToolVersions = server.registerTool(\n 'listToolVersions',\n {\n title: 'List tool versions',\n description: 'List all config versions for a tool, ordered by version (newest first by default).',\n inputSchema: {\n pathParams: ListToolVersionsParams,\n queryParams: ListToolVersionsQueryParams\n },\n outputSchema: ListToolVersionsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listToolVersionsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getToolVersion = server.registerTool(\n 'getToolVersion',\n {\n title: 'Get tool version',\n description: 'Retrieve a single tool config version: the tool\\'s identity, the code, schema, description and attached secrets at that version, and version metadata.',\n inputSchema: {\n pathParams: GetToolVersionParams\n },\n outputSchema: GetToolVersionResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getToolVersionHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.promoteToolVersion = server.registerTool(\n 'promoteToolVersion',\n {\n title: 'Promote tool version',\n description: 'Select a tool config version for the live or test environment. Runs in that environment execute this version\\'s code with this version\\'s schema and attached secrets from then on.',\n inputSchema: {\n pathParams: PromoteToolVersionParams,\n bodyParams: PromoteToolVersionBody.optional()\n },\n outputSchema: PromoteToolVersionResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => promoteToolVersionHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getToolVersionChangeSummary = server.registerTool(\n 'getToolVersionChangeSummary',\n {\n title: 'Get tool version change summary',\n description: 'Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.',\n inputSchema: {\n pathParams: GetToolVersionChangeSummaryParams\n },\n outputSchema: GetToolVersionChangeSummaryResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getToolVersionChangeSummaryHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.workerListTools = server.registerTool(\n 'workerListTools',\n {\n title: 'List tools',\n description: 'List all code tools with sorting.',\n inputSchema: {\n queryParams: WorkerListToolsQueryParams\n },\n outputSchema: WorkerListToolsResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => workerListToolsHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.workerGetTool = server.registerTool(\n 'workerGetTool',\n {\n title: 'Get tool',\n description: 'Retrieve a single tool by ID at its newest config version, including its code, schema, description and attached secrets, plus the versions each environment runs.',\n inputSchema: {\n pathParams: WorkerGetToolParams\n },\n outputSchema: WorkerGetToolResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => workerGetToolHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.workerExecuteTool = server.registerTool(\n 'workerExecuteTool',\n {\n title: 'Execute tool',\n description: 'Execute a code tool with the given parameters. Returns the result, any errors, and execution traces.',\n inputSchema: {\n pathParams: WorkerExecuteToolParams,\n bodyParams: WorkerExecuteToolBody.optional()\n },\n outputSchema: WorkerExecuteToolResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => workerExecuteToolHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.notifyAdmin = server.registerTool(\n 'notifyAdmin',\n {\n title: 'Notify an admin',\n description: 'Report a problem to the people who run this organization.\\n\\nUse this for something a human has to resolve — a login that no longer works, a document you cannot read, a system that will not let you in, instructions that contradict what you found. The report goes to the organization\\'s notifications; nobody sees it while the run is happening, so it does not unblock you now. Carry on with what you can still do, or stop, and say in your final report that you raised it.\\n\\nDo not use it for progress updates or for anything you can work around yourself.',\n inputSchema: {\n bodyParams: NotifyAdminBody.optional()\n },\n outputSchema: NotifyAdminResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => notifyAdminHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.uploadFile = server.registerTool(\n 'uploadFile',\n {\n title: 'Upload a file for processing',\n description: 'Upload a file for processing by passing a URL to a file. Use this for uploading larger files.\\n\\nThis endpoint returns an upload id that can be used to find the created artifacts using the list artifacts endpoint.',\n inputSchema: {\n bodyParams: UploadFileBody.optional()\n },\n outputSchema: UploadFileResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => uploadFileHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createAgentWebhook = server.registerTool(\n 'createAgentWebhook',\n {\n title: 'Create voice agent webhook',\n description: 'Create a webhook that fires when events occur for the specified voice agent.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`POST \\/v1\\/agents\\/{id}\\/webhooks`',\n inputSchema: {\n pathParams: CreateAgentWebhookParams,\n bodyParams: CreateAgentWebhookBody.optional()\n },\n outputSchema: CreateAgentWebhookResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createAgentWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listAgentWebhooks = server.registerTool(\n 'listAgentWebhooks',\n {\n title: 'List voice agent webhooks',\n description: 'List all webhooks configured for a specific voice agent.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/v1\\/agents\\/{id}\\/webhooks`',\n inputSchema: {\n pathParams: ListAgentWebhooksParams,\n queryParams: ListAgentWebhooksQueryParams\n },\n outputSchema: ListAgentWebhooksResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listAgentWebhooksHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createInboxWebhook = server.registerTool(\n 'createInboxWebhook',\n {\n title: 'Create inbox webhook',\n description: 'Create a webhook that fires when events occur for the specified inbox.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`POST \\/v1\\/email-agents\\/{id}\\/webhooks`',\n inputSchema: {\n pathParams: CreateInboxWebhookParams,\n bodyParams: CreateInboxWebhookBody.optional()\n },\n outputSchema: CreateInboxWebhookResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createInboxWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listInboxWebhooks = server.registerTool(\n 'listInboxWebhooks',\n {\n title: 'List inbox webhooks',\n description: 'List all webhooks configured for a specific inbox.\\n\\nFor compatibility this endpoint is also available using the following (deprecated) paths:\\n`GET \\/v1\\/email-agents\\/{id}\\/webhooks`',\n inputSchema: {\n pathParams: ListInboxWebhooksParams,\n queryParams: ListInboxWebhooksQueryParams\n },\n outputSchema: ListInboxWebhooksResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listInboxWebhooksHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createExtractorWebhook = server.registerTool(\n 'createExtractorWebhook',\n {\n title: 'Create extractor webhook',\n description: 'Create a webhook that fires when extraction events occur for the specified extractor.',\n inputSchema: {\n pathParams: CreateExtractorWebhookParams,\n bodyParams: CreateExtractorWebhookBody.optional()\n },\n outputSchema: CreateExtractorWebhookResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createExtractorWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listWebhooks = server.registerTool(\n 'listWebhooks',\n {\n title: 'List extractor webhooks',\n description: 'List all webhooks configured for a specific extractor.',\n inputSchema: {\n pathParams: ListWebhooksParams,\n queryParams: ListWebhooksQueryParams\n },\n outputSchema: ListWebhooksResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listWebhooksHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.createNotificationWebhook = server.registerTool(\n 'createNotificationWebhook',\n {\n title: 'Create notification webhook',\n description: 'Create a webhook that fires whenever a notification is raised for the organization.\\n\\nNotifications belong to the organization rather than to a resource, so this webhook is not attached to anything: its `scope` is `{ \\\"notifications\\\": true }` and it receives every notification the organization raises. Each delivery carries the notification\\'s `title` and `body` — the same display text `GET \\/v1\\/notifications` returns — alongside the structured `data` it points at.\\n\\nNotifications are not environment-specific, so every delivery is `live`. A webhook that names only `test` receives nothing.',\n inputSchema: {\n bodyParams: CreateNotificationWebhookBody.optional()\n },\n outputSchema: CreateNotificationWebhookResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => createNotificationWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listNotificationWebhooks = server.registerTool(\n 'listNotificationWebhooks',\n {\n title: 'List notification webhooks',\n description: 'List the webhooks that receive the organization\\'s notifications.',\n inputSchema: {\n queryParams: ListNotificationWebhooksQueryParams\n },\n outputSchema: ListNotificationWebhooksResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listNotificationWebhooksHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.deleteWebhook = server.registerTool(\n 'deleteWebhook',\n {\n title: 'Delete webhook',\n description: 'Permanently delete a webhook. This action is irreversible.',\n inputSchema: {\n pathParams: DeleteWebhookParams\n },\n outputSchema: DeleteWebhookResponse,\n annotations: { destructiveHint: true, idempotentHint: true },\n },\n (args, ctx) => deleteWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.getWebhook = server.registerTool(\n 'getWebhook',\n {\n title: 'Get webhook',\n description: 'Retrieve a single webhook by ID. The authentication header value is never exposed — only `has_auth` indicates whether authentication is configured.',\n inputSchema: {\n pathParams: GetWebhookParams\n },\n outputSchema: GetWebhookResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => getWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.updateWebhook = server.registerTool(\n 'updateWebhook',\n {\n title: 'Update webhook',\n description: 'Update a webhook\\'s name, destination, environments, enabled state, or authentication. Omitted fields are left unchanged, and at least one must be provided.',\n inputSchema: {\n pathParams: UpdateWebhookParams,\n bodyParams: UpdateWebhookBody.optional()\n },\n outputSchema: UpdateWebhookResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => updateWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.listWebhookDeliveries = server.registerTool(\n 'listWebhookDeliveries',\n {\n title: 'List webhook deliveries',\n description: 'List delivery attempts for a specific webhook, with pagination and sorting. Useful for debugging webhook issues.',\n inputSchema: {\n pathParams: ListWebhookDeliveriesParams,\n queryParams: ListWebhookDeliveriesQueryParams\n },\n outputSchema: ListWebhookDeliveriesResponse,\n annotations: { readOnlyHint: true },\n },\n (args, ctx) => listWebhookDeliveriesHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\ntools.testWebhook = server.registerTool(\n 'testWebhook',\n {\n title: 'Test webhook',\n description: 'Send a test event to a webhook endpoint. Returns the HTTP status code, response time, and any errors. The request is rejected with a 400 if the webhook does not target the given environment, since a successful ping would say nothing about events it will never receive.',\n inputSchema: {\n pathParams: TestWebhookParams,\n bodyParams: TestWebhookBody.optional()\n },\n outputSchema: TestWebhookResponse,\n annotations: { destructiveHint: true },\n },\n (args, ctx) => testWebhookHandler(args, {\n ...options,\n signal: options?.signal ? AbortSignal.any([options.signal, ctx.signal]) : ctx.signal,\n })\n);\n\n return { server, tools };\n};\n\n\nconst { server } = createMcpServer();\nconst transport = new StdioServerTransport();\n\nserver.connect(transport).then(() => {\n console.error('MCP server running on stdio');\n}).catch(console.error);\n","/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Avallon API\n * OpenAPI spec version: 1.0.0\n */\n\nimport type { ListVoiceAgentsEnvelope,\nErrorResponse,\nListVoiceAgentsParams,\nCreateVoiceAgentEnvelope,\nCreateVoiceAgentBody,\nGetVoiceAgentEnvelope,\nUpdateVoiceAgentEnvelope,\nUpdateVoiceAgentBody,\nDeleteVoiceAgentEnvelope,\nListVoiceAgentVersionsEnvelope,\nListVoiceAgentVersionsParams,\nGetVoiceAgentVersionEnvelope,\nPromoteVoiceAgentVersionEnvelope,\nPromoteVoiceAgentVersionBody,\nGetVoiceAgentVersionChangeSummaryEnvelope,\nGetVoiceAgentPlaceholdersEnvelope,\nGetVoiceAgentPromptEnvelope,\nGetVoiceAgentPromptParams,\nUpdateVoiceAgentPromptEnvelope,\nUpdateVoiceAgentPromptBody,\nUpdateVoiceAgentModelsEnvelope,\nUpdateVoiceAgentModelsBody,\nUpdateCallControlsEnvelope,\nUpdateCallControlsBody,\nScheduleJobEnvelope,\nScheduleJobBody,\nListJobsEnvelope,\nListJobsParams,\nCancelJobEnvelope,\nListApiKeysEnvelope,\nListApiKeysParams,\nCreateApiKeyEnvelope,\nCreateApiKeyBody,\nRevokeApiKeyEnvelope,\nUpdateApiKeyEnvelope,\nUpdateApiKeyBody,\nCreateArtifactEnvelope,\nCreateArtifactBody,\nListArtifactsEnvelope,\nListArtifactsParams,\nGetArtifactEnvelope,\nDeleteArtifactEnvelope,\nGetArtifactMetadataKeysEnvelope,\nGetArtifactMetadataKeysParams,\nGetArtifactStatusSummaryEnvelope,\nGetArtifactStatusSummaryParams,\nGetArtifactUploadUrlEnvelope,\nGetArtifactUploadUrlBody,\nUpdateArtifactMetadataEnvelope,\nUpdateArtifactMetadataBody,\nSignUpEnvelope,\nSignUpBody,\nSignInEnvelope,\nSignInBody,\nRequestPasswordResetEnvelope,\nRequestPasswordResetBody,\nResetPasswordEnvelope,\nResetPasswordBody,\nRefreshTokenEnvelope,\nRefreshTokenBody,\nGetOAuthUrlEnvelope,\nGetOAuthUrlParams,\nGetSessionTokenEnvelope,\nGetSessionTokenBody,\nPartnerJwks,\nPartnerLaunchEnvelope,\nPartnerLaunchParams,\nListCallsEnvelope,\nListCallsParams,\nGetCallEnvelope,\nGetCallParams,\nGetCallEvaluationEnvelope,\nGetCallAnalyticsEnvelope,\nGetCallAnalyticsParams,\nGetAnalyticsTimeSeriesEnvelope,\nGetAnalyticsTimeSeriesParams,\nCreateCallFeedbackEnvelope,\nCreateFeedbackRequest,\nListCallFeedbackEnvelope,\nListCallFeedbackParams,\nDeleteCallFeedbackEnvelope,\nCheckInboxAvailabilityEnvelope,\nCheckInboxAvailabilityParams,\nCreateInboxEnvelope,\nCreateInboxBody,\nListInboxesEnvelope,\nListInboxesParams,\nUpdateInboxEnvelope,\nUpdateInboxBody,\nDeleteInboxEnvelope,\nGetEmailEnvelope,\nDeleteEmailEnvelope,\nListEmailsEnvelope,\nListEmailsParams,\nListEmailThreadsEnvelope,\nListEmailThreadsParams,\nReplyToEmailEnvelope,\nReplyToEmailBody,\nSendEmailEnvelope,\nSendEmailBody,\nListExtractorJobsEnvelope,\nListExtractorJobsParams,\nCreateExtractorJobEnvelope,\nCreateExtractorJobBody,\nGetExtractorJobEnvelope,\nListWorkerRunsEnvelope,\nListWorkerRunsParams,\nCreateWorkerRunEnvelope,\nCreateWorkerRunBody,\nGetWorkerRunEnvelope,\nListWorkerRunMessagesEnvelope,\nListWorkerRunMessagesParams,\nCancelWorkerRunEnvelope,\nCreateWorkerEvalFromRunEnvelope,\nCreateWorkerEvalFromRunBody,\nRunEvalEnvelope,\nRunEvalBody,\nGetEvalRunEnvelope,\nCreateExtractorEnvelope,\nCreateExtractorBody,\nListExtractorsEnvelope,\nListExtractorsParams,\nGetExtractorEnvelope,\nUpdateExtractorEnvelope,\nUpdateExtractorBody,\nDeleteExtractorEnvelope,\nCreateWorkerEnvelope,\nCreateWorkerBody,\nListWorkersEnvelope,\nListWorkersParams,\nGetWorkerEnvelope,\nDeleteWorkerEnvelope,\nUpdateWorkerEnvelope,\nUpdateWorkerBody,\nGetWorkerPromptEnvelope,\nGetWorkerPromptParams,\nUpdateWorkerPromptEnvelope,\nUpdateWorkerPromptBody,\nListWorkerModelsEnvelope,\nUpdateWorkerMcpsEnvelope,\nUpdateWorkerMcpsBody,\nListWorkerVersionsEnvelope,\nListWorkerVersionsParams,\nGetWorkerVersionEnvelope,\nPromoteWorkerVersionEnvelope,\nPromoteWorkerVersionBody,\nGetWorkerVersionChangeSummaryEnvelope,\nCreateWorkerWebhookEnvelope,\nCreateWorkerWebhookBody,\nListWorkerWebhooksEnvelope,\nListWorkerWebhooksParams,\nListCasesEnvelope,\nListCasesParams,\nCreateCaseEnvelope,\nCreateCaseBody,\nSearchCasesEnvelope,\nSearchCasesParams,\nGetCaseEnvelope,\nGetCaseParams,\nDeleteCaseEnvelope,\nDeleteCaseParams,\nAddCaseLinksEnvelope,\nAddCaseLinksBody,\nAddCaseLinksParams,\nListCaseLinksEnvelope,\nListCaseLinksParams,\nRemoveCaseLinkEnvelope,\nRemoveCaseLinkParams,\nCreateChatAgentEnvelope,\nCreateChatAgentBody,\nListChatAgentsEnvelope,\nListChatAgentsParams,\nGetChatAgentEnvelope,\nUpdateChatAgentEnvelope,\nUpdateChatAgentRequest,\nDeleteChatAgentEnvelope,\nGetChatAgentPromptEnvelope,\nUpdateChatAgentPromptEnvelope,\nUpdateChatAgentPromptBody,\nCreateChatEnvelope,\nCreateChatBody,\nGetChatEnvelope,\nGetPublicChatAgentEnvelope,\nPostChatMessageEnvelope,\nPostChatMessageBody,\nListChatsEnvelope,\nListChatsParams,\nListChatMessagesEnvelope,\nListChatMessagesParams,\nGetExtractEnvelope,\nGetExtractCitationsEnvelope,\nListExtractsEnvelope,\nListExtractsParams,\nGetProfileEnvelope,\nListTeamMembersEnvelope,\nInviteTeamMemberEnvelope,\nInviteTeamMemberBody,\nListTeamInvitationsEnvelope,\nResendTeamInvitationEnvelope,\nUpdateMemberRoleEnvelope,\nUpdateMemberRoleBody,\nCreateSecretEnvelope,\nCreateSecretBody,\nListSecretsEnvelope,\nListSecretsParams,\nGetSecretEnvelope,\nUpdateSecretEnvelope,\nUpdateSecretBody,\nDeleteSecretEnvelope,\nCreateScheduleEnvelope,\nCreateScheduleBody,\nListSchedulesEnvelope,\nListSchedulesParams,\nGetScheduleEnvelope,\nUpdateScheduleEnvelope,\nUpdateScheduleBody,\nDeleteScheduleEnvelope,\nListDispatchesEnvelope,\nListDispatchesParams,\nListNotificationsEnvelope,\nListNotificationsParams,\nGetNotificationEnvelope,\nCreateInformationRequestEnvelope,\nCreateInformationRequestBody,\nListInformationRequestsEnvelope,\nListInformationRequestsParams,\nGetInformationRequestEnvelope,\nResolveInformationRequestEnvelope,\nResolveInformationRequestBody,\nCreateToolEnvelope,\nCreateToolBody,\nListToolsEnvelope,\nListToolsParams,\nDeleteToolEnvelope,\nGetToolEnvelope,\nUpdateToolEnvelope,\nUpdateToolBody,\nExecuteCodeEnvelope,\nExecuteCodeBody,\nListToolVersionsEnvelope,\nListToolVersionsParams,\nGetToolVersionEnvelope,\nPromoteToolVersionEnvelope,\nPromoteToolVersionBody,\nGetToolVersionChangeSummaryEnvelope,\nWorkerListToolsEnvelope,\nWorkerListToolsParams,\nWorkerGetToolEnvelope,\nWorkerExecuteToolEnvelope,\nWorkerExecuteToolBody,\nNotifyAdminEnvelope,\nNotifyAdminBody,\nUploadFileEnvelope,\nUploadFileBody,\nCreateAgentWebhookEnvelope,\nCreateAgentWebhookBody,\nListAgentWebhooksEnvelope,\nListAgentWebhooksParams,\nCreateInboxWebhookEnvelope,\nCreateInboxWebhookBody,\nListInboxWebhooksEnvelope,\nListInboxWebhooksParams,\nCreateExtractorWebhookEnvelope,\nCreateExtractorWebhookBody,\nListWebhooksEnvelope,\nListWebhooksParams,\nCreateNotificationWebhookEnvelope,\nCreateNotificationWebhookBody,\nListNotificationWebhooksEnvelope,\nListNotificationWebhooksParams,\nDeleteWebhookEnvelope,\nGetWebhookEnvelope,\nUpdateWebhookEnvelope,\nUpdateWebhookBody,\nListWebhookDeliveriesEnvelope,\nListWebhookDeliveriesParams,\nTestWebhookEnvelope,\nTestWebhookBody } from './http-schemas';\n\nexport type listVoiceAgentsResponse200 = {\n data: ListVoiceAgentsEnvelope\n status: 200\n}\n\nexport type listVoiceAgentsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listVoiceAgentsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listVoiceAgentsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listVoiceAgentsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listVoiceAgentsResponseSuccess = (listVoiceAgentsResponse200) & {\n headers: Headers;\n};\nexport type listVoiceAgentsResponseError = (listVoiceAgentsResponse400 | listVoiceAgentsResponse401 | listVoiceAgentsResponse409 | listVoiceAgentsResponse500) & {\n headers: Headers;\n};\n\nexport type listVoiceAgentsResponse = (listVoiceAgentsResponseSuccess | listVoiceAgentsResponseError)\n\nexport const getListVoiceAgentsUrl = (params?: ListVoiceAgentsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/voice-agents?${stringifiedParams}` : `/v1/voice-agents`\n}\n\n/**\n * List all voice agents for your tenant.\n *\n * **Filtering:**\n *\n * Filter voice agents by name using the `agent_name` query parameter (exact match).\n *\n * **Response:**\n *\n * Returns an array of all voice agents with their configurations and a total count.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents`\n * @summary List voice agents\n */\nexport const listVoiceAgents = async (params?: ListVoiceAgentsParams, options?: RequestInit): Promise<listVoiceAgentsResponse> => {\n\n const res = await fetch(getListVoiceAgentsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listVoiceAgentsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listVoiceAgentsResponse\n}\n\n\n\nexport type createVoiceAgentResponse201 = {\n data: CreateVoiceAgentEnvelope\n status: 201\n}\n\nexport type createVoiceAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createVoiceAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createVoiceAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createVoiceAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createVoiceAgentResponseSuccess = (createVoiceAgentResponse201) & {\n headers: Headers;\n};\nexport type createVoiceAgentResponseError = (createVoiceAgentResponse400 | createVoiceAgentResponse401 | createVoiceAgentResponse409 | createVoiceAgentResponse500) & {\n headers: Headers;\n};\n\nexport type createVoiceAgentResponse = (createVoiceAgentResponseSuccess | createVoiceAgentResponseError)\n\nexport const getCreateVoiceAgentUrl = () => {\n\n\n\n\n return `/v1/voice-agents`\n}\n\n/**\n * Create a new voice agent with the specified configuration.\n *\n * **Required fields:**\n *\n * All fields in the request body are required except `phone_number_id` and `transfer_phone_number`.\n *\n * **Response:**\n *\n * Returns the created voice agent with its ID and configuration.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/agents`\n * @summary Create voice agent\n */\nexport const createVoiceAgent = async (createVoiceAgentBody?: CreateVoiceAgentBody, options?: RequestInit): Promise<createVoiceAgentResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateVoiceAgentUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createVoiceAgentBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createVoiceAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createVoiceAgentResponse\n}\n\n\n\nexport type getVoiceAgentResponse200 = {\n data: GetVoiceAgentEnvelope\n status: 200\n}\n\nexport type getVoiceAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getVoiceAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getVoiceAgentResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getVoiceAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getVoiceAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getVoiceAgentResponseSuccess = (getVoiceAgentResponse200) & {\n headers: Headers;\n};\nexport type getVoiceAgentResponseError = (getVoiceAgentResponse400 | getVoiceAgentResponse401 | getVoiceAgentResponse404 | getVoiceAgentResponse409 | getVoiceAgentResponse500) & {\n headers: Headers;\n};\n\nexport type getVoiceAgentResponse = (getVoiceAgentResponseSuccess | getVoiceAgentResponseError)\n\nexport const getGetVoiceAgentUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}`\n}\n\n/**\n * Retrieve a single voice agent by its ID.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents/{id}`\n * @summary Get voice agent\n */\nexport const getVoiceAgent = async (voiceAgentId: string, options?: RequestInit): Promise<getVoiceAgentResponse> => {\n\n const res = await fetch(getGetVoiceAgentUrl(voiceAgentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getVoiceAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getVoiceAgentResponse\n}\n\n\n\nexport type updateVoiceAgentResponse200 = {\n data: UpdateVoiceAgentEnvelope\n status: 200\n}\n\nexport type updateVoiceAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateVoiceAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateVoiceAgentResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateVoiceAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateVoiceAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateVoiceAgentResponseSuccess = (updateVoiceAgentResponse200) & {\n headers: Headers;\n};\nexport type updateVoiceAgentResponseError = (updateVoiceAgentResponse400 | updateVoiceAgentResponse401 | updateVoiceAgentResponse404 | updateVoiceAgentResponse409 | updateVoiceAgentResponse500) & {\n headers: Headers;\n};\n\nexport type updateVoiceAgentResponse = (updateVoiceAgentResponseSuccess | updateVoiceAgentResponseError)\n\nexport const getUpdateVoiceAgentUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}`\n}\n\n/**\n * Update a voice agent's name, call processor, or call behaviour settings.\n *\n * To change the processor assignment, `call_processor_id` and `call_processor_type` must be provided together. Set `call_processor_id` to `null` to detach (`call_processor_type` is still required).\n *\n * Set `voice_mail_detection` to `true` to have the agent listen for a voicemail beep tone. Detection only runs on `OUTBOUND` agents; enabling it on an `INBOUND` agent is stored but has no effect.\n *\n * Set `noise_cancellation` to choose the noise cancellation mode applied to the caller audio.\n *\n * Set `tool_ids` to replace the agent's attached tool set. This is the supported way to manage tool attachments; the dedicated add and remove endpoints are deprecated.\n *\n * Config changes create a new voice agent config version. The live and test releases keep pointing at their current versions until the new version is promoted.\n * @summary Update voice agent\n */\nexport const updateVoiceAgent = async (voiceAgentId: string,\n updateVoiceAgentBody?: UpdateVoiceAgentBody, options?: RequestInit): Promise<updateVoiceAgentResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateVoiceAgentUrl(voiceAgentId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateVoiceAgentBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateVoiceAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateVoiceAgentResponse\n}\n\n\n\nexport type deleteVoiceAgentResponse200 = {\n data: DeleteVoiceAgentEnvelope\n status: 200\n}\n\nexport type deleteVoiceAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteVoiceAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteVoiceAgentResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteVoiceAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteVoiceAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteVoiceAgentResponseSuccess = (deleteVoiceAgentResponse200) & {\n headers: Headers;\n};\nexport type deleteVoiceAgentResponseError = (deleteVoiceAgentResponse400 | deleteVoiceAgentResponse401 | deleteVoiceAgentResponse404 | deleteVoiceAgentResponse409 | deleteVoiceAgentResponse500) & {\n headers: Headers;\n};\n\nexport type deleteVoiceAgentResponse = (deleteVoiceAgentResponseSuccess | deleteVoiceAgentResponseError)\n\nexport const getDeleteVoiceAgentUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}`\n}\n\n/**\n * Delete a voice agent. The agent is hidden from all reads; its call and job history is preserved.\n * @summary Delete voice agent\n */\nexport const deleteVoiceAgent = async (voiceAgentId: string, options?: RequestInit): Promise<deleteVoiceAgentResponse> => {\n\n const res = await fetch(getDeleteVoiceAgentUrl(voiceAgentId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteVoiceAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteVoiceAgentResponse\n}\n\n\n\nexport type listVoiceAgentVersionsResponse200 = {\n data: ListVoiceAgentVersionsEnvelope\n status: 200\n}\n\nexport type listVoiceAgentVersionsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listVoiceAgentVersionsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listVoiceAgentVersionsResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listVoiceAgentVersionsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listVoiceAgentVersionsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listVoiceAgentVersionsResponseSuccess = (listVoiceAgentVersionsResponse200) & {\n headers: Headers;\n};\nexport type listVoiceAgentVersionsResponseError = (listVoiceAgentVersionsResponse400 | listVoiceAgentVersionsResponse401 | listVoiceAgentVersionsResponse404 | listVoiceAgentVersionsResponse409 | listVoiceAgentVersionsResponse500) & {\n headers: Headers;\n};\n\nexport type listVoiceAgentVersionsResponse = (listVoiceAgentVersionsResponseSuccess | listVoiceAgentVersionsResponseError)\n\nexport const getListVoiceAgentVersionsUrl = (voiceAgentId: string,\n params?: ListVoiceAgentVersionsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/voice-agents/${voiceAgentId}/versions?${stringifiedParams}` : `/v1/voice-agents/${voiceAgentId}/versions`\n}\n\n/**\n * List all config versions for a voice agent, ordered by version (newest first by default).\n * @summary List voice agent versions\n */\nexport const listVoiceAgentVersions = async (voiceAgentId: string,\n params?: ListVoiceAgentVersionsParams, options?: RequestInit): Promise<listVoiceAgentVersionsResponse> => {\n\n const res = await fetch(getListVoiceAgentVersionsUrl(voiceAgentId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listVoiceAgentVersionsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listVoiceAgentVersionsResponse\n}\n\n\n\nexport type getVoiceAgentVersionResponse200 = {\n data: GetVoiceAgentVersionEnvelope\n status: 200\n}\n\nexport type getVoiceAgentVersionResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getVoiceAgentVersionResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getVoiceAgentVersionResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getVoiceAgentVersionResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getVoiceAgentVersionResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getVoiceAgentVersionResponseSuccess = (getVoiceAgentVersionResponse200) & {\n headers: Headers;\n};\nexport type getVoiceAgentVersionResponseError = (getVoiceAgentVersionResponse400 | getVoiceAgentVersionResponse401 | getVoiceAgentVersionResponse404 | getVoiceAgentVersionResponse409 | getVoiceAgentVersionResponse500) & {\n headers: Headers;\n};\n\nexport type getVoiceAgentVersionResponse = (getVoiceAgentVersionResponseSuccess | getVoiceAgentVersionResponseError)\n\nexport const getGetVoiceAgentVersionUrl = (voiceAgentId: string,\n version: number,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/versions/${version}`\n}\n\n/**\n * Retrieve a single voice agent config version, including the agent's identity, the config snapshot at that version, and version-specific metadata.\n * @summary Get voice agent version\n */\nexport const getVoiceAgentVersion = async (voiceAgentId: string,\n version: number, options?: RequestInit): Promise<getVoiceAgentVersionResponse> => {\n\n const res = await fetch(getGetVoiceAgentVersionUrl(voiceAgentId,version),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getVoiceAgentVersionResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getVoiceAgentVersionResponse\n}\n\n\n\nexport type promoteVoiceAgentVersionResponse200 = {\n data: PromoteVoiceAgentVersionEnvelope\n status: 200\n}\n\nexport type promoteVoiceAgentVersionResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type promoteVoiceAgentVersionResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type promoteVoiceAgentVersionResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type promoteVoiceAgentVersionResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type promoteVoiceAgentVersionResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type promoteVoiceAgentVersionResponseSuccess = (promoteVoiceAgentVersionResponse200) & {\n headers: Headers;\n};\nexport type promoteVoiceAgentVersionResponseError = (promoteVoiceAgentVersionResponse400 | promoteVoiceAgentVersionResponse401 | promoteVoiceAgentVersionResponse404 | promoteVoiceAgentVersionResponse409 | promoteVoiceAgentVersionResponse500) & {\n headers: Headers;\n};\n\nexport type promoteVoiceAgentVersionResponse = (promoteVoiceAgentVersionResponseSuccess | promoteVoiceAgentVersionResponseError)\n\nexport const getPromoteVoiceAgentVersionUrl = (voiceAgentId: string,\n version: number,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/versions/${version}/promote`\n}\n\n/**\n * Select a voice agent configuration version for the live or test environment.\n * @summary Promote voice agent version\n */\nexport const promoteVoiceAgentVersion = async (voiceAgentId: string,\n version: number,\n promoteVoiceAgentVersionBody?: PromoteVoiceAgentVersionBody, options?: RequestInit): Promise<promoteVoiceAgentVersionResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getPromoteVoiceAgentVersionUrl(voiceAgentId,version),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(promoteVoiceAgentVersionBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: promoteVoiceAgentVersionResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as promoteVoiceAgentVersionResponse\n}\n\n\n\nexport type getVoiceAgentVersionChangeSummaryResponse200 = {\n data: GetVoiceAgentVersionChangeSummaryEnvelope\n status: 200\n}\n\nexport type getVoiceAgentVersionChangeSummaryResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getVoiceAgentVersionChangeSummaryResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getVoiceAgentVersionChangeSummaryResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getVoiceAgentVersionChangeSummaryResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getVoiceAgentVersionChangeSummaryResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getVoiceAgentVersionChangeSummaryResponseSuccess = (getVoiceAgentVersionChangeSummaryResponse200) & {\n headers: Headers;\n};\nexport type getVoiceAgentVersionChangeSummaryResponseError = (getVoiceAgentVersionChangeSummaryResponse400 | getVoiceAgentVersionChangeSummaryResponse401 | getVoiceAgentVersionChangeSummaryResponse404 | getVoiceAgentVersionChangeSummaryResponse409 | getVoiceAgentVersionChangeSummaryResponse500) & {\n headers: Headers;\n};\n\nexport type getVoiceAgentVersionChangeSummaryResponse = (getVoiceAgentVersionChangeSummaryResponseSuccess | getVoiceAgentVersionChangeSummaryResponseError)\n\nexport const getGetVoiceAgentVersionChangeSummaryUrl = (voiceAgentId: string,\n version: number,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/versions/${version}/change-summary`\n}\n\n/**\n * Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.\n * @summary Get voice agent version change summary\n */\nexport const getVoiceAgentVersionChangeSummary = async (voiceAgentId: string,\n version: number, options?: RequestInit): Promise<getVoiceAgentVersionChangeSummaryResponse> => {\n\n const res = await fetch(getGetVoiceAgentVersionChangeSummaryUrl(voiceAgentId,version),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getVoiceAgentVersionChangeSummaryResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getVoiceAgentVersionChangeSummaryResponse\n}\n\n\n\nexport type getVoiceAgentPlaceholdersResponse200 = {\n data: GetVoiceAgentPlaceholdersEnvelope\n status: 200\n}\n\nexport type getVoiceAgentPlaceholdersResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getVoiceAgentPlaceholdersResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getVoiceAgentPlaceholdersResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getVoiceAgentPlaceholdersResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getVoiceAgentPlaceholdersResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getVoiceAgentPlaceholdersResponseSuccess = (getVoiceAgentPlaceholdersResponse200) & {\n headers: Headers;\n};\nexport type getVoiceAgentPlaceholdersResponseError = (getVoiceAgentPlaceholdersResponse400 | getVoiceAgentPlaceholdersResponse401 | getVoiceAgentPlaceholdersResponse404 | getVoiceAgentPlaceholdersResponse409 | getVoiceAgentPlaceholdersResponse500) & {\n headers: Headers;\n};\n\nexport type getVoiceAgentPlaceholdersResponse = (getVoiceAgentPlaceholdersResponseSuccess | getVoiceAgentPlaceholdersResponseError)\n\nexport const getGetVoiceAgentPlaceholdersUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/placeholders`\n}\n\n/**\n * Retrieve the available placeholder variables defined in a voice agent's prompt.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents/{id}/prompt`\n * @summary Get voice agent placeholders\n */\nexport const getVoiceAgentPlaceholders = async (voiceAgentId: string, options?: RequestInit): Promise<getVoiceAgentPlaceholdersResponse> => {\n\n const res = await fetch(getGetVoiceAgentPlaceholdersUrl(voiceAgentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getVoiceAgentPlaceholdersResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getVoiceAgentPlaceholdersResponse\n}\n\n\n\nexport type getVoiceAgentPromptResponse200 = {\n data: GetVoiceAgentPromptEnvelope\n status: 200\n}\n\nexport type getVoiceAgentPromptResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getVoiceAgentPromptResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getVoiceAgentPromptResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getVoiceAgentPromptResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getVoiceAgentPromptResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getVoiceAgentPromptResponseSuccess = (getVoiceAgentPromptResponse200) & {\n headers: Headers;\n};\nexport type getVoiceAgentPromptResponseError = (getVoiceAgentPromptResponse400 | getVoiceAgentPromptResponse401 | getVoiceAgentPromptResponse404 | getVoiceAgentPromptResponse409 | getVoiceAgentPromptResponse500) & {\n headers: Headers;\n};\n\nexport type getVoiceAgentPromptResponse = (getVoiceAgentPromptResponseSuccess | getVoiceAgentPromptResponseError)\n\nexport const getGetVoiceAgentPromptUrl = (voiceAgentId: string,\n params?: GetVoiceAgentPromptParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/voice-agents/${voiceAgentId}/prompt?${stringifiedParams}` : `/v1/voice-agents/${voiceAgentId}/prompt`\n}\n\n/**\n * Retrieve the prompt for a voice agent. Pass `version` to fetch the prompt snapshot at a specific config version; omit it to fetch the current prompt. Internal use only.\n * @summary Get voice agent prompt\n */\nexport const getVoiceAgentPrompt = async (voiceAgentId: string,\n params?: GetVoiceAgentPromptParams, options?: RequestInit): Promise<getVoiceAgentPromptResponse> => {\n\n const res = await fetch(getGetVoiceAgentPromptUrl(voiceAgentId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getVoiceAgentPromptResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getVoiceAgentPromptResponse\n}\n\n\n\nexport type updateVoiceAgentPromptResponse200 = {\n data: UpdateVoiceAgentPromptEnvelope\n status: 200\n}\n\nexport type updateVoiceAgentPromptResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateVoiceAgentPromptResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateVoiceAgentPromptResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateVoiceAgentPromptResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateVoiceAgentPromptResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateVoiceAgentPromptResponseSuccess = (updateVoiceAgentPromptResponse200) & {\n headers: Headers;\n};\nexport type updateVoiceAgentPromptResponseError = (updateVoiceAgentPromptResponse400 | updateVoiceAgentPromptResponse401 | updateVoiceAgentPromptResponse404 | updateVoiceAgentPromptResponse409 | updateVoiceAgentPromptResponse500) & {\n headers: Headers;\n};\n\nexport type updateVoiceAgentPromptResponse = (updateVoiceAgentPromptResponseSuccess | updateVoiceAgentPromptResponseError)\n\nexport const getUpdateVoiceAgentPromptUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/prompt`\n}\n\n/**\n * Update the prompt for a voice agent. Internal use only.\n * @summary Update voice agent prompt\n */\nexport const updateVoiceAgentPrompt = async (voiceAgentId: string,\n updateVoiceAgentPromptBody?: UpdateVoiceAgentPromptBody, options?: RequestInit): Promise<updateVoiceAgentPromptResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateVoiceAgentPromptUrl(voiceAgentId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateVoiceAgentPromptBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateVoiceAgentPromptResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateVoiceAgentPromptResponse\n}\n\n\n\nexport type updateVoiceAgentModelsResponse200 = {\n data: UpdateVoiceAgentModelsEnvelope\n status: 200\n}\n\nexport type updateVoiceAgentModelsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateVoiceAgentModelsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateVoiceAgentModelsResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateVoiceAgentModelsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateVoiceAgentModelsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateVoiceAgentModelsResponseSuccess = (updateVoiceAgentModelsResponse200) & {\n headers: Headers;\n};\nexport type updateVoiceAgentModelsResponseError = (updateVoiceAgentModelsResponse400 | updateVoiceAgentModelsResponse401 | updateVoiceAgentModelsResponse404 | updateVoiceAgentModelsResponse409 | updateVoiceAgentModelsResponse500) & {\n headers: Headers;\n};\n\nexport type updateVoiceAgentModelsResponse = (updateVoiceAgentModelsResponseSuccess | updateVoiceAgentModelsResponseError)\n\nexport const getUpdateVoiceAgentModelsUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/models`\n}\n\n/**\n * Update the LLM, TTS, and STT model configuration for a voice agent.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `PATCH /v1/agents/{id}/models`\n * @summary Update voice agent models\n */\nexport const updateVoiceAgentModels = async (voiceAgentId: string,\n updateVoiceAgentModelsBody?: UpdateVoiceAgentModelsBody, options?: RequestInit): Promise<updateVoiceAgentModelsResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateVoiceAgentModelsUrl(voiceAgentId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateVoiceAgentModelsBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateVoiceAgentModelsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateVoiceAgentModelsResponse\n}\n\n\n\nexport type updateCallControlsResponse200 = {\n data: UpdateCallControlsEnvelope\n status: 200\n}\n\nexport type updateCallControlsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateCallControlsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateCallControlsResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateCallControlsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateCallControlsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateCallControlsResponseSuccess = (updateCallControlsResponse200) & {\n headers: Headers;\n};\nexport type updateCallControlsResponseError = (updateCallControlsResponse400 | updateCallControlsResponse401 | updateCallControlsResponse404 | updateCallControlsResponse409 | updateCallControlsResponse500) & {\n headers: Headers;\n};\n\nexport type updateCallControlsResponse = (updateCallControlsResponseSuccess | updateCallControlsResponseError)\n\nexport const getUpdateCallControlsUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/call-controls`\n}\n\n/**\n * Update call control settings for a voice agent.\n *\n * Configure whether the voice agent supports dial pad input, can end calls, and set a transfer phone number.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `PUT /v1/agents/{id}/call-controls`\n * @summary Update voice agent call controls\n */\nexport const updateCallControls = async (voiceAgentId: string,\n updateCallControlsBody?: UpdateCallControlsBody, options?: RequestInit): Promise<updateCallControlsResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateCallControlsUrl(voiceAgentId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateCallControlsBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateCallControlsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateCallControlsResponse\n}\n\n\n\nexport type scheduleJobResponse200 = {\n data: ScheduleJobEnvelope\n status: 200\n}\n\nexport type scheduleJobResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type scheduleJobResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type scheduleJobResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type scheduleJobResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type scheduleJobResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type scheduleJobResponseSuccess = (scheduleJobResponse200) & {\n headers: Headers;\n};\nexport type scheduleJobResponseError = (scheduleJobResponse400 | scheduleJobResponse401 | scheduleJobResponse404 | scheduleJobResponse409 | scheduleJobResponse500) & {\n headers: Headers;\n};\n\nexport type scheduleJobResponse = (scheduleJobResponseSuccess | scheduleJobResponseError)\n\nexport const getScheduleJobUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/jobs`\n}\n\n/**\n * Schedule a new outbound call job for a voice agent.\n *\n * The job can be scheduled for a future time or triggered immediately with `trigger_immediately: true`.\n *\n * **Scheduling:**\n *\n * When scheduling for a future time, provide `scheduled_at` (ISO 8601) and optionally `schedule_window_minutes` (minimum 10 minutes).\n *\n * **Environment:**\n *\n * `environment` selects which promoted agent configuration and phone binding the call dispatches against (`live` or `test`). Defaults to `live`. Scheduling fails when the selected environment has no active promotion.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/agents/{id}/jobs`\n * @summary Schedule an outbound job\n */\nexport const scheduleJob = async (voiceAgentId: string,\n scheduleJobBody?: ScheduleJobBody, options?: RequestInit): Promise<scheduleJobResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getScheduleJobUrl(voiceAgentId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(scheduleJobBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: scheduleJobResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as scheduleJobResponse\n}\n\n\n\nexport type listJobsResponse200 = {\n data: ListJobsEnvelope\n status: 200\n}\n\nexport type listJobsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listJobsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listJobsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listJobsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listJobsResponseSuccess = (listJobsResponse200) & {\n headers: Headers;\n};\nexport type listJobsResponseError = (listJobsResponse400 | listJobsResponse401 | listJobsResponse409 | listJobsResponse500) & {\n headers: Headers;\n};\n\nexport type listJobsResponse = (listJobsResponseSuccess | listJobsResponseError)\n\nexport const getListJobsUrl = (params: ListJobsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n const explodeParameters = [\"status\"];\n\n if (Array.isArray(value) && explodeParameters.includes(key)) {\n value.forEach((v) => {\n normalizedParams.append(key, v === null ? 'null' : String(v));\n });\n return;\n }\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/voice-agents/jobs?${stringifiedParams}` : `/v1/voice-agents/jobs`\n}\n\n/**\n * List all outbound jobs with pagination and filtering.\n *\n * **Filtering:**\n *\n * - Filter by agent ID, status, or scheduled time range.\n * - Multiple statuses can be comma-separated (e.g. `status=pending,queued`).\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents/jobs`\n * @summary List outbound jobs\n */\nexport const listJobs = async (params: ListJobsParams, options?: RequestInit): Promise<listJobsResponse> => {\n\n const res = await fetch(getListJobsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listJobsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listJobsResponse\n}\n\n\n\nexport type cancelJobResponse200 = {\n data: CancelJobEnvelope\n status: 200\n}\n\nexport type cancelJobResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type cancelJobResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type cancelJobResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type cancelJobResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type cancelJobResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type cancelJobResponseSuccess = (cancelJobResponse200) & {\n headers: Headers;\n};\nexport type cancelJobResponseError = (cancelJobResponse400 | cancelJobResponse401 | cancelJobResponse404 | cancelJobResponse409 | cancelJobResponse500) & {\n headers: Headers;\n};\n\nexport type cancelJobResponse = (cancelJobResponseSuccess | cancelJobResponseError)\n\nexport const getCancelJobUrl = (jobId: string,) => {\n\n\n\n\n return `/v1/voice-agents/jobs/${jobId}/cancel`\n}\n\n/**\n * Cancel a pending or queued outbound job. Jobs that are already in progress or completed cannot be canceled.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/agents/jobs/{id}/cancel`\n * @summary Cancel an outbound job\n */\nexport const cancelJob = async (jobId: string, options?: RequestInit): Promise<cancelJobResponse> => {\n\n const res = await fetch(getCancelJobUrl(jobId),\n {\n ...options,\n method: 'POST'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: cancelJobResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as cancelJobResponse\n}\n\n\n\nexport type listApiKeysResponse200 = {\n data: ListApiKeysEnvelope\n status: 200\n}\n\nexport type listApiKeysResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listApiKeysResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listApiKeysResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listApiKeysResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listApiKeysResponseSuccess = (listApiKeysResponse200) & {\n headers: Headers;\n};\nexport type listApiKeysResponseError = (listApiKeysResponse400 | listApiKeysResponse401 | listApiKeysResponse409 | listApiKeysResponse500) & {\n headers: Headers;\n};\n\nexport type listApiKeysResponse = (listApiKeysResponseSuccess | listApiKeysResponseError)\n\nexport const getListApiKeysUrl = (params?: ListApiKeysParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/platform/api-keys?${stringifiedParams}` : `/platform/api-keys`\n}\n\n/**\n * List all API keys for your tenant.\n *\n * By default, revoked keys are excluded. Set `include_revoked=true` to include them.\n *\n * **Note:** The full API key value is never returned — only the key prefix is shown.\n * @summary List API keys\n */\nexport const listApiKeys = async (params?: ListApiKeysParams, options?: RequestInit): Promise<listApiKeysResponse> => {\n\n const res = await fetch(getListApiKeysUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listApiKeysResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listApiKeysResponse\n}\n\n\n\nexport type createApiKeyResponse201 = {\n data: CreateApiKeyEnvelope\n status: 201\n}\n\nexport type createApiKeyResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createApiKeyResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createApiKeyResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createApiKeyResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createApiKeyResponseSuccess = (createApiKeyResponse201) & {\n headers: Headers;\n};\nexport type createApiKeyResponseError = (createApiKeyResponse400 | createApiKeyResponse401 | createApiKeyResponse409 | createApiKeyResponse500) & {\n headers: Headers;\n};\n\nexport type createApiKeyResponse = (createApiKeyResponseSuccess | createApiKeyResponseError)\n\nexport const getCreateApiKeyUrl = () => {\n\n\n\n\n return `/platform/api-keys`\n}\n\n/**\n * Create a new API key for authenticating with the Avallon API.\n *\n * **Important:** The full API key is only returned once in the response. Store it securely — it cannot be retrieved again.\n *\n * Keys are scoped to an environment (`test` or `live`) and optionally accept an expiration date.\n * @summary Create an API key\n */\nexport const createApiKey = async (createApiKeyBody?: CreateApiKeyBody, options?: RequestInit): Promise<createApiKeyResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateApiKeyUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createApiKeyBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createApiKeyResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createApiKeyResponse\n}\n\n\n\nexport type revokeApiKeyResponse200 = {\n data: RevokeApiKeyEnvelope\n status: 200\n}\n\nexport type revokeApiKeyResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type revokeApiKeyResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type revokeApiKeyResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type revokeApiKeyResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type revokeApiKeyResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type revokeApiKeyResponseSuccess = (revokeApiKeyResponse200) & {\n headers: Headers;\n};\nexport type revokeApiKeyResponseError = (revokeApiKeyResponse400 | revokeApiKeyResponse401 | revokeApiKeyResponse404 | revokeApiKeyResponse409 | revokeApiKeyResponse500) & {\n headers: Headers;\n};\n\nexport type revokeApiKeyResponse = (revokeApiKeyResponseSuccess | revokeApiKeyResponseError)\n\nexport const getRevokeApiKeyUrl = (id: string,) => {\n\n\n\n\n return `/platform/api-keys/${id}/revoke`\n}\n\n/**\n * Revoke an existing API key. Once revoked, the key can no longer be used for authentication.\n *\n * This operation is irreversible — revoked keys cannot be re-enabled. Create a new key if needed.\n *\n * Returns 409 if the key is already revoked, 404 if the key does not exist.\n * @summary Revoke an API key\n */\nexport const revokeApiKey = async (id: string, options?: RequestInit): Promise<revokeApiKeyResponse> => {\n\n const res = await fetch(getRevokeApiKeyUrl(id),\n {\n ...options,\n method: 'POST'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: revokeApiKeyResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as revokeApiKeyResponse\n}\n\n\n\nexport type updateApiKeyResponse200 = {\n data: UpdateApiKeyEnvelope\n status: 200\n}\n\nexport type updateApiKeyResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateApiKeyResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateApiKeyResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateApiKeyResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateApiKeyResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateApiKeyResponseSuccess = (updateApiKeyResponse200) & {\n headers: Headers;\n};\nexport type updateApiKeyResponseError = (updateApiKeyResponse400 | updateApiKeyResponse401 | updateApiKeyResponse404 | updateApiKeyResponse409 | updateApiKeyResponse500) & {\n headers: Headers;\n};\n\nexport type updateApiKeyResponse = (updateApiKeyResponseSuccess | updateApiKeyResponseError)\n\nexport const getUpdateApiKeyUrl = (id: string,) => {\n\n\n\n\n return `/platform/api-keys/${id}`\n}\n\n/**\n * Update mutable fields of an API key. Currently only `role` can be updated.\n *\n * The caller's role caps the maximum role they can grant — an `admin` cannot promote a key to `avallon_admin`.\n * @summary Update API key\n */\nexport const updateApiKey = async (id: string,\n updateApiKeyBody?: UpdateApiKeyBody, options?: RequestInit): Promise<updateApiKeyResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateApiKeyUrl(id),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateApiKeyBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateApiKeyResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateApiKeyResponse\n}\n\n\n\nexport type createArtifactResponse200 = {\n data: CreateArtifactEnvelope\n status: 200\n}\n\nexport type createArtifactResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createArtifactResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createArtifactResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createArtifactResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createArtifactResponseSuccess = (createArtifactResponse200) & {\n headers: Headers;\n};\nexport type createArtifactResponseError = (createArtifactResponse400 | createArtifactResponse401 | createArtifactResponse409 | createArtifactResponse500) & {\n headers: Headers;\n};\n\nexport type createArtifactResponse = (createArtifactResponseSuccess | createArtifactResponseError)\n\nexport const getCreateArtifactUrl = () => {\n\n\n\n\n return `/v1/artifacts`\n}\n\n/**\n * Upload a document as a base64-encoded artifact for processing.\n *\n * **Limits:**\n *\n * Maximum file size is approximately 6.75MB (base64 encoded). The API Gateway has a 10MB request limit.\n *\n * **Processing options:**\n *\n * - `file_password`: Password for encrypted PDFs\n * - `file_splitting_enabled`: Split multi-page PDFs into separate artifacts\n * @summary Create artifact\n */\nexport const createArtifact = async (createArtifactBody?: CreateArtifactBody, options?: RequestInit): Promise<createArtifactResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateArtifactUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createArtifactBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createArtifactResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createArtifactResponse\n}\n\n\n\nexport type listArtifactsResponse200 = {\n data: ListArtifactsEnvelope\n status: 200\n}\n\nexport type listArtifactsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listArtifactsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listArtifactsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listArtifactsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listArtifactsResponseSuccess = (listArtifactsResponse200) & {\n headers: Headers;\n};\nexport type listArtifactsResponseError = (listArtifactsResponse400 | listArtifactsResponse401 | listArtifactsResponse409 | listArtifactsResponse500) & {\n headers: Headers;\n};\n\nexport type listArtifactsResponse = (listArtifactsResponseSuccess | listArtifactsResponseError)\n\nexport const getListArtifactsUrl = (params?: ListArtifactsParams,) => {\n const normalizedParams = new URLSearchParams();\n const deepObjectEntries: string[] = [];\n\n Object.entries(params || {}).forEach(([key, value]) => {\n const deepObjectParameters = [\"metadata\"];\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && deepObjectParameters.includes(key)) {\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (subValue !== undefined) {\n deepObjectEntries.push(encodeURIComponent(key) + '[' + encodeURIComponent(subKey) + ']=' + (subValue === null ? 'null' : encodeURIComponent(String(subValue))));\n }\n });\n return;\n }\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = [normalizedParams.toString(), deepObjectEntries.join('&')].filter(Boolean).join('&');\n\n return stringifiedParams.length > 0 ? `/v1/artifacts?${stringifiedParams}` : `/v1/artifacts`\n}\n\n/**\n * List all artifacts with pagination, filtering, and sorting.\n *\n * **Case Filtering:**\n *\n * Use `case_id` to return only artifacts linked to a case. This reads the case links\n * created via `POST /v1/cases/{caseId}/links`, and is independent of any\n * `metadata.case_id` an artifact may carry.\n *\n * **Metadata Filtering:**\n *\n * Use bracket notation to filter by metadata keys:\n * - `metadata[claim_id]=abc-123`\n * - `metadata[source]=email`\n *\n * Multiple metadata filters can be combined (AND logic).\n * @summary List artifacts\n */\nexport const listArtifacts = async (params?: ListArtifactsParams, options?: RequestInit): Promise<listArtifactsResponse> => {\n\n const res = await fetch(getListArtifactsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listArtifactsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listArtifactsResponse\n}\n\n\n\nexport type getArtifactResponse200 = {\n data: GetArtifactEnvelope\n status: 200\n}\n\nexport type getArtifactResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getArtifactResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getArtifactResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getArtifactResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getArtifactResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getArtifactResponseSuccess = (getArtifactResponse200) & {\n headers: Headers;\n};\nexport type getArtifactResponseError = (getArtifactResponse400 | getArtifactResponse401 | getArtifactResponse404 | getArtifactResponse409 | getArtifactResponse500) & {\n headers: Headers;\n};\n\nexport type getArtifactResponse = (getArtifactResponseSuccess | getArtifactResponseError)\n\nexport const getGetArtifactUrl = (id: string,) => {\n\n\n\n\n return `/v1/artifacts/${id}`\n}\n\n/**\n * Retrieve a single artifact by ID, including its metadata, file URL, extracted content, and chunk-annotated content.\n *\n * The response always includes `content_with_chunkids_md`: the parsed content annotated with `[chunk_id=...]` markers when the artifact has parsed chunks. Chunk IDs are stable citation anchors — cite them to attribute extracted values to their source location.\n * @summary Get artifact\n */\nexport const getArtifact = async (id: string, options?: RequestInit): Promise<getArtifactResponse> => {\n\n const res = await fetch(getGetArtifactUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getArtifactResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getArtifactResponse\n}\n\n\n\nexport type deleteArtifactResponse200 = {\n data: DeleteArtifactEnvelope\n status: 200\n}\n\nexport type deleteArtifactResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteArtifactResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteArtifactResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteArtifactResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteArtifactResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteArtifactResponseSuccess = (deleteArtifactResponse200) & {\n headers: Headers;\n};\nexport type deleteArtifactResponseError = (deleteArtifactResponse400 | deleteArtifactResponse401 | deleteArtifactResponse404 | deleteArtifactResponse409 | deleteArtifactResponse500) & {\n headers: Headers;\n};\n\nexport type deleteArtifactResponse = (deleteArtifactResponseSuccess | deleteArtifactResponseError)\n\nexport const getDeleteArtifactUrl = (id: string,) => {\n\n\n\n\n return `/v1/artifacts/${id}`\n}\n\n/**\n * Soft-delete an artifact. Soft-deleted artifacts and their chunks no longer appear in any read.\n * @summary Delete artifact\n */\nexport const deleteArtifact = async (id: string, options?: RequestInit): Promise<deleteArtifactResponse> => {\n\n const res = await fetch(getDeleteArtifactUrl(id),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteArtifactResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteArtifactResponse\n}\n\n\n\nexport type getArtifactMetadataKeysResponse200 = {\n data: GetArtifactMetadataKeysEnvelope\n status: 200\n}\n\nexport type getArtifactMetadataKeysResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getArtifactMetadataKeysResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getArtifactMetadataKeysResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getArtifactMetadataKeysResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getArtifactMetadataKeysResponseSuccess = (getArtifactMetadataKeysResponse200) & {\n headers: Headers;\n};\nexport type getArtifactMetadataKeysResponseError = (getArtifactMetadataKeysResponse400 | getArtifactMetadataKeysResponse401 | getArtifactMetadataKeysResponse409 | getArtifactMetadataKeysResponse500) & {\n headers: Headers;\n};\n\nexport type getArtifactMetadataKeysResponse = (getArtifactMetadataKeysResponseSuccess | getArtifactMetadataKeysResponseError)\n\nexport const getGetArtifactMetadataKeysUrl = (params?: GetArtifactMetadataKeysParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/artifacts/metadata/keys?${stringifiedParams}` : `/v1/artifacts/metadata/keys`\n}\n\n/**\n * Retrieve all unique metadata keys and their values across artifacts. Useful for building filter UIs.\n * @summary Get artifact metadata keys\n */\nexport const getArtifactMetadataKeys = async (params?: GetArtifactMetadataKeysParams, options?: RequestInit): Promise<getArtifactMetadataKeysResponse> => {\n\n const res = await fetch(getGetArtifactMetadataKeysUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getArtifactMetadataKeysResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getArtifactMetadataKeysResponse\n}\n\n\n\nexport type getArtifactStatusSummaryResponse200 = {\n data: GetArtifactStatusSummaryEnvelope\n status: 200\n}\n\nexport type getArtifactStatusSummaryResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getArtifactStatusSummaryResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getArtifactStatusSummaryResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getArtifactStatusSummaryResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getArtifactStatusSummaryResponseSuccess = (getArtifactStatusSummaryResponse200) & {\n headers: Headers;\n};\nexport type getArtifactStatusSummaryResponseError = (getArtifactStatusSummaryResponse400 | getArtifactStatusSummaryResponse401 | getArtifactStatusSummaryResponse409 | getArtifactStatusSummaryResponse500) & {\n headers: Headers;\n};\n\nexport type getArtifactStatusSummaryResponse = (getArtifactStatusSummaryResponseSuccess | getArtifactStatusSummaryResponseError)\n\nexport const getGetArtifactStatusSummaryUrl = (params: GetArtifactStatusSummaryParams,) => {\n const normalizedParams = new URLSearchParams();\n const deepObjectEntries: string[] = [];\n\n Object.entries(params || {}).forEach(([key, value]) => {\n const deepObjectParameters = [\"scope\"];\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && deepObjectParameters.includes(key)) {\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (subValue !== undefined) {\n deepObjectEntries.push(encodeURIComponent(key) + '[' + encodeURIComponent(subKey) + ']=' + (subValue === null ? 'null' : encodeURIComponent(String(subValue))));\n }\n });\n return;\n }\n\n\n });\n\n const stringifiedParams = [normalizedParams.toString(), deepObjectEntries.join('&')].filter(Boolean).join('&');\n\n return stringifiedParams.length > 0 ? `/v1/artifacts/status-summary?${stringifiedParams}` : `/v1/artifacts/status-summary`\n}\n\n/**\n * Count the artifacts in a scope, broken down by processing status.\n *\n * Define the scope with bracket notation (e.g. `scope[email_id]=abc-123`). At least one key is required; multiple keys are combined with AND logic.\n * @summary Get artifact status summary\n */\nexport const getArtifactStatusSummary = async (params: GetArtifactStatusSummaryParams, options?: RequestInit): Promise<getArtifactStatusSummaryResponse> => {\n\n const res = await fetch(getGetArtifactStatusSummaryUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getArtifactStatusSummaryResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getArtifactStatusSummaryResponse\n}\n\n\n\nexport type getArtifactUploadUrlResponse200 = {\n data: GetArtifactUploadUrlEnvelope\n status: 200\n}\n\nexport type getArtifactUploadUrlResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getArtifactUploadUrlResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getArtifactUploadUrlResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getArtifactUploadUrlResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getArtifactUploadUrlResponseSuccess = (getArtifactUploadUrlResponse200) & {\n headers: Headers;\n};\nexport type getArtifactUploadUrlResponseError = (getArtifactUploadUrlResponse400 | getArtifactUploadUrlResponse401 | getArtifactUploadUrlResponse409 | getArtifactUploadUrlResponse500) & {\n headers: Headers;\n};\n\nexport type getArtifactUploadUrlResponse = (getArtifactUploadUrlResponseSuccess | getArtifactUploadUrlResponseError)\n\nexport const getGetArtifactUploadUrlUrl = () => {\n\n\n\n\n return `/v1/artifacts/get-upload-url`\n}\n\n/**\n * Returns a pre-signed PUT URL. Upload the file directly to `upload_url`, then pass `file_url` as `source_url` to POST /v1/upload-file.\n * @summary Request a pre-signed URL for direct large file upload\n */\nexport const getArtifactUploadUrl = async (getArtifactUploadUrlBody?: GetArtifactUploadUrlBody, options?: RequestInit): Promise<getArtifactUploadUrlResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getGetArtifactUploadUrlUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(getArtifactUploadUrlBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getArtifactUploadUrlResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getArtifactUploadUrlResponse\n}\n\n\n\nexport type updateArtifactMetadataResponse200 = {\n data: UpdateArtifactMetadataEnvelope\n status: 200\n}\n\nexport type updateArtifactMetadataResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateArtifactMetadataResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateArtifactMetadataResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateArtifactMetadataResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateArtifactMetadataResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateArtifactMetadataResponseSuccess = (updateArtifactMetadataResponse200) & {\n headers: Headers;\n};\nexport type updateArtifactMetadataResponseError = (updateArtifactMetadataResponse400 | updateArtifactMetadataResponse401 | updateArtifactMetadataResponse404 | updateArtifactMetadataResponse409 | updateArtifactMetadataResponse500) & {\n headers: Headers;\n};\n\nexport type updateArtifactMetadataResponse = (updateArtifactMetadataResponseSuccess | updateArtifactMetadataResponseError)\n\nexport const getUpdateArtifactMetadataUrl = (id: string,) => {\n\n\n\n\n return `/v1/artifacts/${id}/metadata`\n}\n\n/**\n * Merge-update metadata on an existing artifact. Provided keys are added or overwritten; other existing keys are preserved.\n * @summary Update artifact metadata\n */\nexport const updateArtifactMetadata = async (id: string,\n updateArtifactMetadataBody?: UpdateArtifactMetadataBody, options?: RequestInit): Promise<updateArtifactMetadataResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateArtifactMetadataUrl(id),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateArtifactMetadataBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateArtifactMetadataResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateArtifactMetadataResponse\n}\n\n\n\nexport type signUpResponse200 = {\n data: SignUpEnvelope\n status: 200\n}\n\nexport type signUpResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type signUpResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type signUpResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type signUpResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type signUpResponseSuccess = (signUpResponse200) & {\n headers: Headers;\n};\nexport type signUpResponseError = (signUpResponse400 | signUpResponse401 | signUpResponse409 | signUpResponse500) & {\n headers: Headers;\n};\n\nexport type signUpResponse = (signUpResponseSuccess | signUpResponseError)\n\nexport const getSignUpUrl = () => {\n\n\n\n\n return `/v1/auth/sign-up`\n}\n\n/**\n * Create a new user account with email and password. When the response includes a pending_authentication_token, the account requires email verification: complete it via sign-in (type: email_otp) with the emailed one-time password and this token.\n * @summary Sign up\n */\nexport const signUp = async (signUpBody?: SignUpBody, options?: RequestInit): Promise<signUpResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getSignUpUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(signUpBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: signUpResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as signUpResponse\n}\n\n\n\nexport type signInResponse200 = {\n data: SignInEnvelope\n status: 200\n}\n\nexport type signInResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type signInResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type signInResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type signInResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type signInResponseSuccess = (signInResponse200) & {\n headers: Headers;\n};\nexport type signInResponseError = (signInResponse400 | signInResponse401 | signInResponse409 | signInResponse500) & {\n headers: Headers;\n};\n\nexport type signInResponse = (signInResponseSuccess | signInResponseError)\n\nexport const getSignInUrl = () => {\n\n\n\n\n return `/v1/auth/sign-in`\n}\n\n/**\n * Authenticate using one of the supported methods:\n *\n * - **Password:** Email and password credentials. If the password is correct but the email is not verified yet, responds 403 with `data.pending_authentication_token` and a fresh verification code is emailed; complete verification via **Email OTP**. Each password attempt invalidates earlier codes and tokens, so always use the most recent pair — repeating the password sign-in is also how a new code is requested.\n * - **OAuth:** Authorization code from OAuth flow (social or enterprise SSO). Pass the `provider` the flow was started with so the code is exchanged against the system that issued it. `verifier` is only required when the flow was started with a `code_challenge` — see **Get OAuth sign-in URL**.\n * - **Email OTP:** One-time password sent to email. Include the `pending_authentication_token` from sign-up, or from the 403 returned by an unverified user's password sign-in, when completing email verification.\n * @summary Sign in\n */\nexport const signIn = async (signInBody?: SignInBody, options?: RequestInit): Promise<signInResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getSignInUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(signInBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: signInResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as signInResponse\n}\n\n\n\nexport type requestPasswordResetResponse200 = {\n data: RequestPasswordResetEnvelope\n status: 200\n}\n\nexport type requestPasswordResetResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type requestPasswordResetResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type requestPasswordResetResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type requestPasswordResetResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type requestPasswordResetResponseSuccess = (requestPasswordResetResponse200) & {\n headers: Headers;\n};\nexport type requestPasswordResetResponseError = (requestPasswordResetResponse400 | requestPasswordResetResponse401 | requestPasswordResetResponse409 | requestPasswordResetResponse500) & {\n headers: Headers;\n};\n\nexport type requestPasswordResetResponse = (requestPasswordResetResponseSuccess | requestPasswordResetResponseError)\n\nexport const getRequestPasswordResetUrl = () => {\n\n\n\n\n return `/v1/auth/request-password-reset`\n}\n\n/**\n * Start password recovery for an email/password account. When the email belongs to an account, a reset link is emailed to it. The response is 200 regardless, and does not reveal whether an account exists.\n * @summary Request password reset\n */\nexport const requestPasswordReset = async (requestPasswordResetBody?: RequestPasswordResetBody, options?: RequestInit): Promise<requestPasswordResetResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getRequestPasswordResetUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(requestPasswordResetBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: requestPasswordResetResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as requestPasswordResetResponse\n}\n\n\n\nexport type resetPasswordResponse200 = {\n data: ResetPasswordEnvelope\n status: 200\n}\n\nexport type resetPasswordResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type resetPasswordResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type resetPasswordResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type resetPasswordResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type resetPasswordResponseSuccess = (resetPasswordResponse200) & {\n headers: Headers;\n};\nexport type resetPasswordResponseError = (resetPasswordResponse400 | resetPasswordResponse401 | resetPasswordResponse409 | resetPasswordResponse500) & {\n headers: Headers;\n};\n\nexport type resetPasswordResponse = (resetPasswordResponseSuccess | resetPasswordResponseError)\n\nexport const getResetPasswordUrl = () => {\n\n\n\n\n return `/v1/auth/reset-password`\n}\n\n/**\n * Complete password recovery with the token from the emailed reset link and set a new password. Completing the reset also verifies the account's email address. Afterwards, sign in with the new password.\n * @summary Reset password\n */\nexport const resetPassword = async (resetPasswordBody?: ResetPasswordBody, options?: RequestInit): Promise<resetPasswordResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getResetPasswordUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(resetPasswordBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: resetPasswordResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as resetPasswordResponse\n}\n\n\n\nexport type refreshTokenResponse200 = {\n data: RefreshTokenEnvelope\n status: 200\n}\n\nexport type refreshTokenResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type refreshTokenResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type refreshTokenResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type refreshTokenResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type refreshTokenResponseSuccess = (refreshTokenResponse200) & {\n headers: Headers;\n};\nexport type refreshTokenResponseError = (refreshTokenResponse400 | refreshTokenResponse401 | refreshTokenResponse409 | refreshTokenResponse500) & {\n headers: Headers;\n};\n\nexport type refreshTokenResponse = (refreshTokenResponseSuccess | refreshTokenResponseError)\n\nexport const getRefreshTokenUrl = () => {\n\n\n\n\n return `/v1/auth/refresh-token`\n}\n\n/**\n * Exchange a valid access token and refresh token pair for new tokens.\n * @summary Refresh authentication token\n */\nexport const refreshToken = async (refreshTokenBody?: RefreshTokenBody, options?: RequestInit): Promise<refreshTokenResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getRefreshTokenUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(refreshTokenBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: refreshTokenResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as refreshTokenResponse\n}\n\n\n\nexport type getOAuthUrlResponse200 = {\n data: GetOAuthUrlEnvelope\n status: 200\n}\n\nexport type getOAuthUrlResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getOAuthUrlResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getOAuthUrlResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getOAuthUrlResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getOAuthUrlResponseSuccess = (getOAuthUrlResponse200) & {\n headers: Headers;\n};\nexport type getOAuthUrlResponseError = (getOAuthUrlResponse400 | getOAuthUrlResponse401 | getOAuthUrlResponse409 | getOAuthUrlResponse500) & {\n headers: Headers;\n};\n\nexport type getOAuthUrlResponse = (getOAuthUrlResponseSuccess | getOAuthUrlResponseError)\n\nexport const getGetOAuthUrlUrl = (params: GetOAuthUrlParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/auth/oauth-url?${stringifiedParams}` : `/v1/auth/oauth-url`\n}\n\n/**\n * Generate an OAuth authorization URL for a given provider.\n *\n * PKCE is optional. To use it, generate a random verifier, derive `code_challenge` from it, and pass both `code_challenge` and the matching `code_challenge_method` — then send the verifier to **Sign in** when exchanging the code. Omit both to run the flow without PKCE and exchange the code on its own.\n *\n * For enterprise SSO, pass `provider=sso` together with the user's `email`; the email domain selects the SSO organization. Responds 404 when no SSO organization is configured for the domain.\n * @summary Get OAuth sign-in URL\n */\nexport const getOAuthUrl = async (params: GetOAuthUrlParams, options?: RequestInit): Promise<getOAuthUrlResponse> => {\n\n const res = await fetch(getGetOAuthUrlUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getOAuthUrlResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getOAuthUrlResponse\n}\n\n\n\nexport type getSessionTokenResponse200 = {\n data: GetSessionTokenEnvelope\n status: 200\n}\n\nexport type getSessionTokenResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getSessionTokenResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getSessionTokenResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getSessionTokenResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getSessionTokenResponseSuccess = (getSessionTokenResponse200) & {\n headers: Headers;\n};\nexport type getSessionTokenResponseError = (getSessionTokenResponse400 | getSessionTokenResponse401 | getSessionTokenResponse409 | getSessionTokenResponse500) & {\n headers: Headers;\n};\n\nexport type getSessionTokenResponse = (getSessionTokenResponseSuccess | getSessionTokenResponseError)\n\nexport const getGetSessionTokenUrl = () => {\n\n\n\n\n return `/v1/auth/session`\n}\n\n/**\n * Exchange an identity token for a tenant-scoped Core Plane access token.\n *\n * - If `tenant_id` is provided, validates the user is a member of that tenant and returns 404 if they are not.\n * - If `tenant_id` is omitted, selects the tenant of the identity token's organization, falling back to the user's default (oldest) tenant.\n * - Call this endpoint again with a different `tenant_id` to switch tenants.\n * @summary Create or switch tenant session\n */\nexport const getSessionToken = async (getSessionTokenBody?: GetSessionTokenBody, options?: RequestInit): Promise<getSessionTokenResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getGetSessionTokenUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(getSessionTokenBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getSessionTokenResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getSessionTokenResponse\n}\n\n\n\nexport type getPartnerJwksResponse200 = {\n data: PartnerJwks\n status: 200\n}\n\nexport type getPartnerJwksResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getPartnerJwksResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getPartnerJwksResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getPartnerJwksResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getPartnerJwksResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getPartnerJwksResponseSuccess = (getPartnerJwksResponse200) & {\n headers: Headers;\n};\nexport type getPartnerJwksResponseError = (getPartnerJwksResponse400 | getPartnerJwksResponse401 | getPartnerJwksResponse404 | getPartnerJwksResponse409 | getPartnerJwksResponse500) & {\n headers: Headers;\n};\n\nexport type getPartnerJwksResponse = (getPartnerJwksResponseSuccess | getPartnerJwksResponseError)\n\nexport const getGetPartnerJwksUrl = (partner: string,) => {\n\n\n\n\n return `/.well-known/partners/${partner}/jwks.json`\n}\n\n/**\n * Returns the JSON Web Key Set (RFC 7517) of a partner's public signing keys, used to verify partner-issued launch tokens.\n * @summary Get partner JWKS\n */\nexport const getPartnerJwks = async (partner: string, options?: RequestInit): Promise<getPartnerJwksResponse> => {\n\n const res = await fetch(getGetPartnerJwksUrl(partner),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getPartnerJwksResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getPartnerJwksResponse\n}\n\n\n\nexport type partnerLaunchResponse302 = {\n data: PartnerLaunchEnvelope\n status: 302\n}\n\nexport type partnerLaunchResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type partnerLaunchResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type partnerLaunchResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type partnerLaunchResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\n;\nexport type partnerLaunchResponseError = (partnerLaunchResponse302 | partnerLaunchResponse400 | partnerLaunchResponse401 | partnerLaunchResponse409 | partnerLaunchResponse500) & {\n headers: Headers;\n};\n\nexport type partnerLaunchResponse = (partnerLaunchResponseError)\n\nexport const getPartnerLaunchUrl = (params?: PartnerLaunchParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/auth/partner-launch?${stringifiedParams}` : `/v1/auth/partner-launch`\n}\n\n/**\n * Verifies a partner-signed launch token, mints an Avallon session, and redirects (302) the user into the app's handoff route, carrying the session token in the URL fragment (no cookie).\n * @summary Partner launch (SSO)\n */\nexport const partnerLaunch = async (params?: PartnerLaunchParams, options?: RequestInit): Promise<partnerLaunchResponse> => {\n\n const res = await fetch(getPartnerLaunchUrl(params),\n {\n ...options,\n method: 'POST'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: partnerLaunchResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as partnerLaunchResponse\n}\n\n\n\nexport type listCallsResponse200 = {\n data: ListCallsEnvelope\n status: 200\n}\n\nexport type listCallsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listCallsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listCallsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listCallsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listCallsResponseSuccess = (listCallsResponse200) & {\n headers: Headers;\n};\nexport type listCallsResponseError = (listCallsResponse400 | listCallsResponse401 | listCallsResponse409 | listCallsResponse500) & {\n headers: Headers;\n};\n\nexport type listCallsResponse = (listCallsResponseSuccess | listCallsResponseError)\n\nexport const getListCallsUrl = (params?: ListCallsParams,) => {\n const normalizedParams = new URLSearchParams();\n const deepObjectEntries: string[] = [];\n\n Object.entries(params || {}).forEach(([key, value]) => {\n const deepObjectParameters = [\"metadata\"];\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && deepObjectParameters.includes(key)) {\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (subValue !== undefined) {\n deepObjectEntries.push(encodeURIComponent(key) + '[' + encodeURIComponent(subKey) + ']=' + (subValue === null ? 'null' : encodeURIComponent(String(subValue))));\n }\n });\n return;\n }\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = [normalizedParams.toString(), deepObjectEntries.join('&')].filter(Boolean).join('&');\n\n return stringifiedParams.length > 0 ? `/v1/calls?${stringifiedParams}` : `/v1/calls`\n}\n\n/**\n * List all calls, with pagination, filtering, and sorting.\n *\n * **Filtering:**\n *\n * Filter by agent, direction, status, time range, phone number, and more. Phone number filter supports both exact E.164 matches and partial search.\n *\n * **Case Filtering:**\n *\n * Use `case_id` to return only calls linked to a case. This reads the case links created\n * via `POST /v1/cases/{caseId}/links`, and is independent of any `metadata.case_id` a\n * call may carry.\n *\n * **Metadata Filtering:**\n *\n * Use bracket notation to filter by metadata keys:\n * - `metadata[claim_id]=abc-123`\n * - `metadata[source]=worker`\n *\n * Multiple metadata filters can be combined (AND logic).\n * @summary List calls\n */\nexport const listCalls = async (params?: ListCallsParams, options?: RequestInit): Promise<listCallsResponse> => {\n\n const res = await fetch(getListCallsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listCallsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listCallsResponse\n}\n\n\n\nexport type getCallResponse200 = {\n data: GetCallEnvelope\n status: 200\n}\n\nexport type getCallResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getCallResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getCallResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getCallResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getCallResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getCallResponseSuccess = (getCallResponse200) & {\n headers: Headers;\n};\nexport type getCallResponseError = (getCallResponse400 | getCallResponse401 | getCallResponse404 | getCallResponse409 | getCallResponse500) & {\n headers: Headers;\n};\n\nexport type getCallResponse = (getCallResponseSuccess | getCallResponseError)\n\nexport const getGetCallUrl = (id: string,\n params?: GetCallParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/calls/${id}?${stringifiedParams}` : `/v1/calls/${id}`\n}\n\n/**\n * Retrieve detailed information about a specific call.\n *\n * Set `include_messages=true` to include the full message transcript.\n * @summary Get call\n */\nexport const getCall = async (id: string,\n params?: GetCallParams, options?: RequestInit): Promise<getCallResponse> => {\n\n const res = await fetch(getGetCallUrl(id,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getCallResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getCallResponse\n}\n\n\n\nexport type getCallEvaluationResponse200 = {\n data: GetCallEvaluationEnvelope\n status: 200\n}\n\nexport type getCallEvaluationResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getCallEvaluationResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getCallEvaluationResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getCallEvaluationResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getCallEvaluationResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getCallEvaluationResponseSuccess = (getCallEvaluationResponse200) & {\n headers: Headers;\n};\nexport type getCallEvaluationResponseError = (getCallEvaluationResponse400 | getCallEvaluationResponse401 | getCallEvaluationResponse404 | getCallEvaluationResponse409 | getCallEvaluationResponse500) & {\n headers: Headers;\n};\n\nexport type getCallEvaluationResponse = (getCallEvaluationResponseSuccess | getCallEvaluationResponseError)\n\nexport const getGetCallEvaluationUrl = (id: string,) => {\n\n\n\n\n return `/v1/calls/${id}/evaluation`\n}\n\n/**\n * Retrieve the evaluation results for a specific call, including overall score, pass status, and per-metric breakdowns.\n * @summary Get call evaluation\n */\nexport const getCallEvaluation = async (id: string, options?: RequestInit): Promise<getCallEvaluationResponse> => {\n\n const res = await fetch(getGetCallEvaluationUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getCallEvaluationResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getCallEvaluationResponse\n}\n\n\n\nexport type getCallAnalyticsResponse200 = {\n data: GetCallAnalyticsEnvelope\n status: 200\n}\n\nexport type getCallAnalyticsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getCallAnalyticsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getCallAnalyticsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getCallAnalyticsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getCallAnalyticsResponseSuccess = (getCallAnalyticsResponse200) & {\n headers: Headers;\n};\nexport type getCallAnalyticsResponseError = (getCallAnalyticsResponse400 | getCallAnalyticsResponse401 | getCallAnalyticsResponse409 | getCallAnalyticsResponse500) & {\n headers: Headers;\n};\n\nexport type getCallAnalyticsResponse = (getCallAnalyticsResponseSuccess | getCallAnalyticsResponseError)\n\nexport const getGetCallAnalyticsUrl = (params: GetCallAnalyticsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/calls/analytics?${stringifiedParams}` : `/v1/calls/analytics`\n}\n\n/**\n * Retrieve aggregated call analytics for a time range.\n *\n * Includes summary statistics, call volume over time, evaluation scores, score and duration distributions, and per-metric performance.\n * @summary Get call analytics\n */\nexport const getCallAnalytics = async (params: GetCallAnalyticsParams, options?: RequestInit): Promise<getCallAnalyticsResponse> => {\n\n const res = await fetch(getGetCallAnalyticsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getCallAnalyticsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getCallAnalyticsResponse\n}\n\n\n\nexport type getAnalyticsTimeSeriesResponse200 = {\n data: GetAnalyticsTimeSeriesEnvelope\n status: 200\n}\n\nexport type getAnalyticsTimeSeriesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getAnalyticsTimeSeriesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getAnalyticsTimeSeriesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getAnalyticsTimeSeriesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getAnalyticsTimeSeriesResponseSuccess = (getAnalyticsTimeSeriesResponse200) & {\n headers: Headers;\n};\nexport type getAnalyticsTimeSeriesResponseError = (getAnalyticsTimeSeriesResponse400 | getAnalyticsTimeSeriesResponse401 | getAnalyticsTimeSeriesResponse409 | getAnalyticsTimeSeriesResponse500) & {\n headers: Headers;\n};\n\nexport type getAnalyticsTimeSeriesResponse = (getAnalyticsTimeSeriesResponseSuccess | getAnalyticsTimeSeriesResponseError)\n\nexport const getGetAnalyticsTimeSeriesUrl = (params: GetAnalyticsTimeSeriesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/analytics/timeseries?${stringifiedParams}` : `/v1/analytics/timeseries`\n}\n\n/**\n * Retrieve a tenant-scoped time series for a single processing-volume metric.\n *\n * Pick a `metric` (worker runs, documents, or pages), a date range, a bucket `granularity` (day/week/month), and optionally a `group_by` dimension (e.g. worker runs grouped by worker). The series is sparse (only buckets with data) over the half-open window `[from, to)`.\n *\n * `data` is an array of per-metric results; today it always contains exactly one entry (the requested metric).\n * @summary Get analytics time series\n */\nexport const getAnalyticsTimeSeries = async (params: GetAnalyticsTimeSeriesParams, options?: RequestInit): Promise<getAnalyticsTimeSeriesResponse> => {\n\n const res = await fetch(getGetAnalyticsTimeSeriesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getAnalyticsTimeSeriesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getAnalyticsTimeSeriesResponse\n}\n\n\n\nexport type createCallFeedbackResponse201 = {\n data: CreateCallFeedbackEnvelope\n status: 201\n}\n\nexport type createCallFeedbackResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createCallFeedbackResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createCallFeedbackResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type createCallFeedbackResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createCallFeedbackResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createCallFeedbackResponseSuccess = (createCallFeedbackResponse201) & {\n headers: Headers;\n};\nexport type createCallFeedbackResponseError = (createCallFeedbackResponse400 | createCallFeedbackResponse401 | createCallFeedbackResponse404 | createCallFeedbackResponse409 | createCallFeedbackResponse500) & {\n headers: Headers;\n};\n\nexport type createCallFeedbackResponse = (createCallFeedbackResponseSuccess | createCallFeedbackResponseError)\n\nexport const getCreateCallFeedbackUrl = (id: string,) => {\n\n\n\n\n return `/v1/calls/${id}/feedback`\n}\n\n/**\n * Create feedback for a specific message in a call. Requires user (JWT) authentication; the author is derived from the authenticated user's profile and API-key callers are rejected.\n * @summary Create feedback on a call message\n */\nexport const createCallFeedback = async (id: string,\n createFeedbackRequest?: CreateFeedbackRequest, options?: RequestInit): Promise<createCallFeedbackResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateCallFeedbackUrl(id),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createFeedbackRequest)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createCallFeedbackResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createCallFeedbackResponse\n}\n\n\n\nexport type listCallFeedbackResponse200 = {\n data: ListCallFeedbackEnvelope\n status: 200\n}\n\nexport type listCallFeedbackResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listCallFeedbackResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listCallFeedbackResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listCallFeedbackResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listCallFeedbackResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listCallFeedbackResponseSuccess = (listCallFeedbackResponse200) & {\n headers: Headers;\n};\nexport type listCallFeedbackResponseError = (listCallFeedbackResponse400 | listCallFeedbackResponse401 | listCallFeedbackResponse404 | listCallFeedbackResponse409 | listCallFeedbackResponse500) & {\n headers: Headers;\n};\n\nexport type listCallFeedbackResponse = (listCallFeedbackResponseSuccess | listCallFeedbackResponseError)\n\nexport const getListCallFeedbackUrl = (id: string,\n params?: ListCallFeedbackParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/calls/${id}/feedback?${stringifiedParams}` : `/v1/calls/${id}/feedback`\n}\n\n/**\n * List all feedback for a call. Paginated.\n * @summary List feedback for a call\n */\nexport const listCallFeedback = async (id: string,\n params?: ListCallFeedbackParams, options?: RequestInit): Promise<listCallFeedbackResponse> => {\n\n const res = await fetch(getListCallFeedbackUrl(id,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listCallFeedbackResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listCallFeedbackResponse\n}\n\n\n\nexport type deleteCallFeedbackResponse200 = {\n data: DeleteCallFeedbackEnvelope\n status: 200\n}\n\nexport type deleteCallFeedbackResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteCallFeedbackResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteCallFeedbackResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteCallFeedbackResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteCallFeedbackResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteCallFeedbackResponseSuccess = (deleteCallFeedbackResponse200) & {\n headers: Headers;\n};\nexport type deleteCallFeedbackResponseError = (deleteCallFeedbackResponse400 | deleteCallFeedbackResponse401 | deleteCallFeedbackResponse404 | deleteCallFeedbackResponse409 | deleteCallFeedbackResponse500) & {\n headers: Headers;\n};\n\nexport type deleteCallFeedbackResponse = (deleteCallFeedbackResponseSuccess | deleteCallFeedbackResponseError)\n\nexport const getDeleteCallFeedbackUrl = (id: string,\n feedbackId: string,) => {\n\n\n\n\n return `/v1/calls/${id}/feedback/${feedbackId}`\n}\n\n/**\n * Delete a single feedback entry.\n * @summary Delete feedback\n */\nexport const deleteCallFeedback = async (id: string,\n feedbackId: string, options?: RequestInit): Promise<deleteCallFeedbackResponse> => {\n\n const res = await fetch(getDeleteCallFeedbackUrl(id,feedbackId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteCallFeedbackResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteCallFeedbackResponse\n}\n\n\n\nexport type checkInboxAvailabilityResponse200 = {\n data: CheckInboxAvailabilityEnvelope\n status: 200\n}\n\nexport type checkInboxAvailabilityResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type checkInboxAvailabilityResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type checkInboxAvailabilityResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type checkInboxAvailabilityResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type checkInboxAvailabilityResponseSuccess = (checkInboxAvailabilityResponse200) & {\n headers: Headers;\n};\nexport type checkInboxAvailabilityResponseError = (checkInboxAvailabilityResponse400 | checkInboxAvailabilityResponse401 | checkInboxAvailabilityResponse409 | checkInboxAvailabilityResponse500) & {\n headers: Headers;\n};\n\nexport type checkInboxAvailabilityResponse = (checkInboxAvailabilityResponseSuccess | checkInboxAvailabilityResponseError)\n\nexport const getCheckInboxAvailabilityUrl = (params: CheckInboxAvailabilityParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/inboxes/availability?${stringifiedParams}` : `/v1/inboxes/availability`\n}\n\n/**\n * Check whether a given email username is available for creating a new inbox.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/email-agents/availability`\n * @summary Check email username availability\n */\nexport const checkInboxAvailability = async (params: CheckInboxAvailabilityParams, options?: RequestInit): Promise<checkInboxAvailabilityResponse> => {\n\n const res = await fetch(getCheckInboxAvailabilityUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: checkInboxAvailabilityResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as checkInboxAvailabilityResponse\n}\n\n\n\nexport type createInboxResponse200 = {\n data: CreateInboxEnvelope\n status: 200\n}\n\nexport type createInboxResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createInboxResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createInboxResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createInboxResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createInboxResponseSuccess = (createInboxResponse200) & {\n headers: Headers;\n};\nexport type createInboxResponseError = (createInboxResponse400 | createInboxResponse401 | createInboxResponse409 | createInboxResponse500) & {\n headers: Headers;\n};\n\nexport type createInboxResponse = (createInboxResponseSuccess | createInboxResponseError)\n\nexport const getCreateInboxUrl = () => {\n\n\n\n\n return `/v1/inboxes`\n}\n\n/**\n * Create a new inbox linked to a processor (extractor or worker).\n *\n * The inbox will receive emails at the assigned address and automatically process attachments using the specified processor.\n *\n * Either `processor_id` or the deprecated `extractor_id` must be provided. When using `extractor_id`, the processor type defaults to `extractor`.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/email-agents`\n * @summary Create inbox\n */\nexport const createInbox = async (createInboxBody?: CreateInboxBody, options?: RequestInit): Promise<createInboxResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateInboxUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createInboxBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createInboxResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createInboxResponse\n}\n\n\n\nexport type listInboxesResponse200 = {\n data: ListInboxesEnvelope\n status: 200\n}\n\nexport type listInboxesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listInboxesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listInboxesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listInboxesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listInboxesResponseSuccess = (listInboxesResponse200) & {\n headers: Headers;\n};\nexport type listInboxesResponseError = (listInboxesResponse400 | listInboxesResponse401 | listInboxesResponse409 | listInboxesResponse500) & {\n headers: Headers;\n};\n\nexport type listInboxesResponse = (listInboxesResponseSuccess | listInboxesResponseError)\n\nexport const getListInboxesUrl = (params?: ListInboxesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/inboxes?${stringifiedParams}` : `/v1/inboxes`\n}\n\n/**\n * List all inboxes with pagination and sorting.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/email-agents`\n * @summary List inboxes\n */\nexport const listInboxes = async (params?: ListInboxesParams, options?: RequestInit): Promise<listInboxesResponse> => {\n\n const res = await fetch(getListInboxesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listInboxesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listInboxesResponse\n}\n\n\n\nexport type updateInboxResponse200 = {\n data: UpdateInboxEnvelope\n status: 200\n}\n\nexport type updateInboxResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateInboxResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateInboxResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateInboxResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateInboxResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateInboxResponseSuccess = (updateInboxResponse200) & {\n headers: Headers;\n};\nexport type updateInboxResponseError = (updateInboxResponse400 | updateInboxResponse401 | updateInboxResponse404 | updateInboxResponse409 | updateInboxResponse500) & {\n headers: Headers;\n};\n\nexport type updateInboxResponse = (updateInboxResponseSuccess | updateInboxResponseError)\n\nexport const getUpdateInboxUrl = (inboxId: string,) => {\n\n\n\n\n return `/v1/inboxes/${inboxId}`\n}\n\n/**\n * Update an inbox's configuration.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `PATCH /v1/email-agents/{id}`\n * @summary Update inbox\n */\nexport const updateInbox = async (inboxId: string,\n updateInboxBody?: UpdateInboxBody, options?: RequestInit): Promise<updateInboxResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateInboxUrl(inboxId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateInboxBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateInboxResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateInboxResponse\n}\n\n\n\nexport type deleteInboxResponse200 = {\n data: DeleteInboxEnvelope\n status: 200\n}\n\nexport type deleteInboxResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteInboxResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteInboxResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteInboxResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteInboxResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteInboxResponseSuccess = (deleteInboxResponse200) & {\n headers: Headers;\n};\nexport type deleteInboxResponseError = (deleteInboxResponse400 | deleteInboxResponse401 | deleteInboxResponse404 | deleteInboxResponse409 | deleteInboxResponse500) & {\n headers: Headers;\n};\n\nexport type deleteInboxResponse = (deleteInboxResponseSuccess | deleteInboxResponseError)\n\nexport const getDeleteInboxUrl = (inboxId: string,) => {\n\n\n\n\n return `/v1/inboxes/${inboxId}`\n}\n\n/**\n * Delete an inbox. The inbox stops routing new mail; existing email history is preserved.\n * @summary Delete inbox\n */\nexport const deleteInbox = async (inboxId: string, options?: RequestInit): Promise<deleteInboxResponse> => {\n\n const res = await fetch(getDeleteInboxUrl(inboxId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteInboxResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteInboxResponse\n}\n\n\n\nexport type getEmailResponse200 = {\n data: GetEmailEnvelope\n status: 200\n}\n\nexport type getEmailResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getEmailResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getEmailResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getEmailResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getEmailResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getEmailResponseSuccess = (getEmailResponse200) & {\n headers: Headers;\n};\nexport type getEmailResponseError = (getEmailResponse400 | getEmailResponse401 | getEmailResponse404 | getEmailResponse409 | getEmailResponse500) & {\n headers: Headers;\n};\n\nexport type getEmailResponse = (getEmailResponseSuccess | getEmailResponseError)\n\nexport const getGetEmailUrl = (emailId: string,) => {\n\n\n\n\n return `/v1/emails/${emailId}`\n}\n\n/**\n * Retrieve detailed information about a specific email, including full body content.\n * @summary Get email\n */\nexport const getEmail = async (emailId: string, options?: RequestInit): Promise<getEmailResponse> => {\n\n const res = await fetch(getGetEmailUrl(emailId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getEmailResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getEmailResponse\n}\n\n\n\nexport type deleteEmailResponse200 = {\n data: DeleteEmailEnvelope\n status: 200\n}\n\nexport type deleteEmailResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteEmailResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteEmailResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteEmailResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteEmailResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteEmailResponseSuccess = (deleteEmailResponse200) & {\n headers: Headers;\n};\nexport type deleteEmailResponseError = (deleteEmailResponse400 | deleteEmailResponse401 | deleteEmailResponse404 | deleteEmailResponse409 | deleteEmailResponse500) & {\n headers: Headers;\n};\n\nexport type deleteEmailResponse = (deleteEmailResponseSuccess | deleteEmailResponseError)\n\nexport const getDeleteEmailUrl = (emailId: string,) => {\n\n\n\n\n return `/v1/emails/${emailId}`\n}\n\n/**\n * Soft-delete an email. The message is hidden from all reads (get, list, and thread aggregation) but its content is retained until a separate hard purge.\n * @summary Delete email\n */\nexport const deleteEmail = async (emailId: string, options?: RequestInit): Promise<deleteEmailResponse> => {\n\n const res = await fetch(getDeleteEmailUrl(emailId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteEmailResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteEmailResponse\n}\n\n\n\nexport type listEmailsResponse200 = {\n data: ListEmailsEnvelope\n status: 200\n}\n\nexport type listEmailsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listEmailsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listEmailsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listEmailsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listEmailsResponseSuccess = (listEmailsResponse200) & {\n headers: Headers;\n};\nexport type listEmailsResponseError = (listEmailsResponse400 | listEmailsResponse401 | listEmailsResponse409 | listEmailsResponse500) & {\n headers: Headers;\n};\n\nexport type listEmailsResponse = (listEmailsResponseSuccess | listEmailsResponseError)\n\nexport const getListEmailsUrl = (params?: ListEmailsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/emails?${stringifiedParams}` : `/v1/emails`\n}\n\n/**\n * List all emails with pagination and filtering.\n *\n * **Filtering:**\n *\n * Filter by email agent, sender, recipient, content search, or case.\n * @summary List emails\n */\nexport const listEmails = async (params?: ListEmailsParams, options?: RequestInit): Promise<listEmailsResponse> => {\n\n const res = await fetch(getListEmailsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listEmailsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listEmailsResponse\n}\n\n\n\nexport type listEmailThreadsResponse200 = {\n data: ListEmailThreadsEnvelope\n status: 200\n}\n\nexport type listEmailThreadsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listEmailThreadsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listEmailThreadsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listEmailThreadsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listEmailThreadsResponseSuccess = (listEmailThreadsResponse200) & {\n headers: Headers;\n};\nexport type listEmailThreadsResponseError = (listEmailThreadsResponse400 | listEmailThreadsResponse401 | listEmailThreadsResponse409 | listEmailThreadsResponse500) & {\n headers: Headers;\n};\n\nexport type listEmailThreadsResponse = (listEmailThreadsResponseSuccess | listEmailThreadsResponseError)\n\nexport const getListEmailThreadsUrl = (params?: ListEmailThreadsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/emails/threads?${stringifiedParams}` : `/v1/emails/threads`\n}\n\n/**\n * List email threads with pagination. Each thread includes the subject of the first email, the sender of the first email, and the date of the last email.\n *\n * **Filtering:**\n *\n * Filter by inbox or environment. Without an `environment` filter, live and test threads are returned together.\n * @summary List email threads\n */\nexport const listEmailThreads = async (params?: ListEmailThreadsParams, options?: RequestInit): Promise<listEmailThreadsResponse> => {\n\n const res = await fetch(getListEmailThreadsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listEmailThreadsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listEmailThreadsResponse\n}\n\n\n\nexport type replyToEmailResponse200 = {\n data: ReplyToEmailEnvelope\n status: 200\n}\n\nexport type replyToEmailResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type replyToEmailResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type replyToEmailResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type replyToEmailResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type replyToEmailResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type replyToEmailResponseSuccess = (replyToEmailResponse200) & {\n headers: Headers;\n};\nexport type replyToEmailResponseError = (replyToEmailResponse400 | replyToEmailResponse401 | replyToEmailResponse404 | replyToEmailResponse409 | replyToEmailResponse500) & {\n headers: Headers;\n};\n\nexport type replyToEmailResponse = (replyToEmailResponseSuccess | replyToEmailResponseError)\n\nexport const getReplyToEmailUrl = (emailId: string,) => {\n\n\n\n\n return `/v1/emails/${emailId}/reply`\n}\n\n/**\n * Reply to an existing email thread via Nylas. The reply is sent to the original sender by default.\n *\n * Optionally include additional recipients via `to` (merged with the original sender), `cc`, and `bcc` arrays.\n *\n * The `body` is HTML by default. Set `is_html` to `false` to provide plain text instead; it is converted to HTML before sending.\n * @summary Reply to email\n */\nexport const replyToEmail = async (emailId: string,\n replyToEmailBody?: ReplyToEmailBody, options?: RequestInit): Promise<replyToEmailResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getReplyToEmailUrl(emailId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(replyToEmailBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: replyToEmailResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as replyToEmailResponse\n}\n\n\n\nexport type sendEmailResponse200 = {\n data: SendEmailEnvelope\n status: 200\n}\n\nexport type sendEmailResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type sendEmailResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type sendEmailResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type sendEmailResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type sendEmailResponseSuccess = (sendEmailResponse200) & {\n headers: Headers;\n};\nexport type sendEmailResponseError = (sendEmailResponse400 | sendEmailResponse401 | sendEmailResponse409 | sendEmailResponse500) & {\n headers: Headers;\n};\n\nexport type sendEmailResponse = (sendEmailResponseSuccess | sendEmailResponseError)\n\nexport const getSendEmailUrl = () => {\n\n\n\n\n return `/v1/emails/send`\n}\n\n/**\n * Send a new email through an inbox. The provider-assigned thread id is returned and persisted on the stored email row, so subsequent inbound replies on that thread are linked to this send.\n *\n * The `body` is HTML by default. Set `is_html` to `false` to provide plain text instead; it is converted to HTML before sending.\n * @summary Send email\n */\nexport const sendEmail = async (sendEmailBody?: SendEmailBody, options?: RequestInit): Promise<sendEmailResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getSendEmailUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(sendEmailBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: sendEmailResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as sendEmailResponse\n}\n\n\n\nexport type listExtractorJobsResponse200 = {\n data: ListExtractorJobsEnvelope\n status: 200\n}\n\nexport type listExtractorJobsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listExtractorJobsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listExtractorJobsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listExtractorJobsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listExtractorJobsResponseSuccess = (listExtractorJobsResponse200) & {\n headers: Headers;\n};\nexport type listExtractorJobsResponseError = (listExtractorJobsResponse400 | listExtractorJobsResponse401 | listExtractorJobsResponse409 | listExtractorJobsResponse500) & {\n headers: Headers;\n};\n\nexport type listExtractorJobsResponse = (listExtractorJobsResponseSuccess | listExtractorJobsResponseError)\n\nexport const getListExtractorJobsUrl = (params?: ListExtractorJobsParams,) => {\n const normalizedParams = new URLSearchParams();\n const deepObjectEntries: string[] = [];\n\n Object.entries(params || {}).forEach(([key, value]) => {\n const deepObjectParameters = [\"scope\"];\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && deepObjectParameters.includes(key)) {\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (subValue !== undefined) {\n deepObjectEntries.push(encodeURIComponent(key) + '[' + encodeURIComponent(subKey) + ']=' + (subValue === null ? 'null' : encodeURIComponent(String(subValue))));\n }\n });\n return;\n }\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = [normalizedParams.toString(), deepObjectEntries.join('&')].filter(Boolean).join('&');\n\n return stringifiedParams.length > 0 ? `/v1/extractor-jobs?${stringifiedParams}` : `/v1/extractor-jobs`\n}\n\n/**\n * List all extraction jobs with pagination, filtering, and sorting.\n *\n * **Scope Filtering:**\n *\n * Use bracket notation to filter by scope keys:\n * - `scope[call_id]=abc-123`\n * - `scope[email_id]=xyz-456`\n * - `scope[case_id]=case-789`\n *\n * Multiple scope filters can be combined (AND logic).\n * @summary List extractor jobs\n */\nexport const listExtractorJobs = async (params?: ListExtractorJobsParams, options?: RequestInit): Promise<listExtractorJobsResponse> => {\n\n const res = await fetch(getListExtractorJobsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listExtractorJobsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listExtractorJobsResponse\n}\n\n\n\nexport type createExtractorJobResponse200 = {\n data: CreateExtractorJobEnvelope\n status: 200\n}\n\nexport type createExtractorJobResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createExtractorJobResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createExtractorJobResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createExtractorJobResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createExtractorJobResponseSuccess = (createExtractorJobResponse200) & {\n headers: Headers;\n};\nexport type createExtractorJobResponseError = (createExtractorJobResponse400 | createExtractorJobResponse401 | createExtractorJobResponse409 | createExtractorJobResponse500) & {\n headers: Headers;\n};\n\nexport type createExtractorJobResponse = (createExtractorJobResponseSuccess | createExtractorJobResponseError)\n\nexport const getCreateExtractorJobUrl = () => {\n\n\n\n\n return `/v1/extractor-jobs`\n}\n\n/**\n * Create a new extraction job for the specified extractor.\n *\n * Provide a non-empty `scope` object to define what the extractor should process (e.g. `{ \"claim_id\": \"abc-123\" }`).\n * @summary Create extractor job\n */\nexport const createExtractorJob = async (createExtractorJobBody?: CreateExtractorJobBody, options?: RequestInit): Promise<createExtractorJobResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateExtractorJobUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createExtractorJobBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createExtractorJobResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createExtractorJobResponse\n}\n\n\n\nexport type getExtractorJobResponse200 = {\n data: GetExtractorJobEnvelope\n status: 200\n}\n\nexport type getExtractorJobResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getExtractorJobResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getExtractorJobResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getExtractorJobResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getExtractorJobResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getExtractorJobResponseSuccess = (getExtractorJobResponse200) & {\n headers: Headers;\n};\nexport type getExtractorJobResponseError = (getExtractorJobResponse400 | getExtractorJobResponse401 | getExtractorJobResponse404 | getExtractorJobResponse409 | getExtractorJobResponse500) & {\n headers: Headers;\n};\n\nexport type getExtractorJobResponse = (getExtractorJobResponseSuccess | getExtractorJobResponseError)\n\nexport const getGetExtractorJobUrl = (id: string,) => {\n\n\n\n\n return `/v1/extractor-jobs/${id}`\n}\n\n/**\n * Retrieve detailed information about a specific extractor job, including its status, timing, and result.\n * @summary Get extractor job\n */\nexport const getExtractorJob = async (id: string, options?: RequestInit): Promise<getExtractorJobResponse> => {\n\n const res = await fetch(getGetExtractorJobUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getExtractorJobResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getExtractorJobResponse\n}\n\n\n\nexport type listWorkerRunsResponse200 = {\n data: ListWorkerRunsEnvelope\n status: 200\n}\n\nexport type listWorkerRunsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listWorkerRunsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listWorkerRunsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listWorkerRunsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listWorkerRunsResponseSuccess = (listWorkerRunsResponse200) & {\n headers: Headers;\n};\nexport type listWorkerRunsResponseError = (listWorkerRunsResponse400 | listWorkerRunsResponse401 | listWorkerRunsResponse409 | listWorkerRunsResponse500) & {\n headers: Headers;\n};\n\nexport type listWorkerRunsResponse = (listWorkerRunsResponseSuccess | listWorkerRunsResponseError)\n\nexport const getListWorkerRunsUrl = (params?: ListWorkerRunsParams,) => {\n const normalizedParams = new URLSearchParams();\n const deepObjectEntries: string[] = [];\n\n Object.entries(params || {}).forEach(([key, value]) => {\n const deepObjectParameters = [\"scope\"];\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && deepObjectParameters.includes(key)) {\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (subValue !== undefined) {\n deepObjectEntries.push(encodeURIComponent(key) + '[' + encodeURIComponent(subKey) + ']=' + (subValue === null ? 'null' : encodeURIComponent(String(subValue))));\n }\n });\n return;\n }\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = [normalizedParams.toString(), deepObjectEntries.join('&')].filter(Boolean).join('&');\n\n return stringifiedParams.length > 0 ? `/v1/worker-runs?${stringifiedParams}` : `/v1/worker-runs`\n}\n\n/**\n * List all worker runs with pagination, filtering, and sorting.\n *\n * **Scope Filtering:**\n *\n * Use bracket notation to filter by scope keys:\n * - `scope[call_id]=abc-123`\n * - `scope[email_id]=xyz-456`\n *\n * Multiple scope filters can be combined (AND logic).\n * @summary List worker runs\n */\nexport const listWorkerRuns = async (params?: ListWorkerRunsParams, options?: RequestInit): Promise<listWorkerRunsResponse> => {\n\n const res = await fetch(getListWorkerRunsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listWorkerRunsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listWorkerRunsResponse\n}\n\n\n\nexport type createWorkerRunResponse200 = {\n data: CreateWorkerRunEnvelope\n status: 200\n}\n\nexport type createWorkerRunResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createWorkerRunResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createWorkerRunResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createWorkerRunResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createWorkerRunResponseSuccess = (createWorkerRunResponse200) & {\n headers: Headers;\n};\nexport type createWorkerRunResponseError = (createWorkerRunResponse400 | createWorkerRunResponse401 | createWorkerRunResponse409 | createWorkerRunResponse500) & {\n headers: Headers;\n};\n\nexport type createWorkerRunResponse = (createWorkerRunResponseSuccess | createWorkerRunResponseError)\n\nexport const getCreateWorkerRunUrl = () => {\n\n\n\n\n return `/v1/worker-runs`\n}\n\n/**\n * Create a new worker run for the specified worker.\n *\n * Provide a `scope` object with at least one key to define which artifacts the worker should process (e.g. `{ \"claim_id\": \"abc-123\" }`). The run stays `pending` until those artifacts are ready.\n *\n * Pass `null` to run the worker without any artifacts — the run is queued immediately. An empty object is rejected.\n * @summary Create worker run\n */\nexport const createWorkerRun = async (createWorkerRunBody?: CreateWorkerRunBody, options?: RequestInit): Promise<createWorkerRunResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateWorkerRunUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createWorkerRunBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createWorkerRunResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createWorkerRunResponse\n}\n\n\n\nexport type getWorkerRunResponse200 = {\n data: GetWorkerRunEnvelope\n status: 200\n}\n\nexport type getWorkerRunResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getWorkerRunResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getWorkerRunResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getWorkerRunResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getWorkerRunResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getWorkerRunResponseSuccess = (getWorkerRunResponse200) & {\n headers: Headers;\n};\nexport type getWorkerRunResponseError = (getWorkerRunResponse400 | getWorkerRunResponse401 | getWorkerRunResponse404 | getWorkerRunResponse409 | getWorkerRunResponse500) & {\n headers: Headers;\n};\n\nexport type getWorkerRunResponse = (getWorkerRunResponseSuccess | getWorkerRunResponseError)\n\nexport const getGetWorkerRunUrl = (workerRunId: string,) => {\n\n\n\n\n return `/v1/worker-runs/${workerRunId}`\n}\n\n/**\n * Retrieve detailed information about a specific worker run, including its status, timing, and errors.\n * @summary Get worker run\n */\nexport const getWorkerRun = async (workerRunId: string, options?: RequestInit): Promise<getWorkerRunResponse> => {\n\n const res = await fetch(getGetWorkerRunUrl(workerRunId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getWorkerRunResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getWorkerRunResponse\n}\n\n\n\nexport type listWorkerRunMessagesResponse200 = {\n data: ListWorkerRunMessagesEnvelope\n status: 200\n}\n\nexport type listWorkerRunMessagesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listWorkerRunMessagesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listWorkerRunMessagesResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listWorkerRunMessagesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listWorkerRunMessagesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listWorkerRunMessagesResponseSuccess = (listWorkerRunMessagesResponse200) & {\n headers: Headers;\n};\nexport type listWorkerRunMessagesResponseError = (listWorkerRunMessagesResponse400 | listWorkerRunMessagesResponse401 | listWorkerRunMessagesResponse404 | listWorkerRunMessagesResponse409 | listWorkerRunMessagesResponse500) & {\n headers: Headers;\n};\n\nexport type listWorkerRunMessagesResponse = (listWorkerRunMessagesResponseSuccess | listWorkerRunMessagesResponseError)\n\nexport const getListWorkerRunMessagesUrl = (workerRunId: string,\n params?: ListWorkerRunMessagesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/worker-runs/${workerRunId}/messages?${stringifiedParams}` : `/v1/worker-runs/${workerRunId}/messages`\n}\n\n/**\n * Retrieve messages emitted during a worker run, ordered by emission time. Supports cursor-style pagination via `after` and `count`.\n * @summary List worker run messages\n */\nexport const listWorkerRunMessages = async (workerRunId: string,\n params?: ListWorkerRunMessagesParams, options?: RequestInit): Promise<listWorkerRunMessagesResponse> => {\n\n const res = await fetch(getListWorkerRunMessagesUrl(workerRunId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listWorkerRunMessagesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listWorkerRunMessagesResponse\n}\n\n\n\nexport type cancelWorkerRunResponse200 = {\n data: CancelWorkerRunEnvelope\n status: 200\n}\n\nexport type cancelWorkerRunResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type cancelWorkerRunResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type cancelWorkerRunResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type cancelWorkerRunResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type cancelWorkerRunResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type cancelWorkerRunResponseSuccess = (cancelWorkerRunResponse200) & {\n headers: Headers;\n};\nexport type cancelWorkerRunResponseError = (cancelWorkerRunResponse400 | cancelWorkerRunResponse401 | cancelWorkerRunResponse404 | cancelWorkerRunResponse409 | cancelWorkerRunResponse500) & {\n headers: Headers;\n};\n\nexport type cancelWorkerRunResponse = (cancelWorkerRunResponseSuccess | cancelWorkerRunResponseError)\n\nexport const getCancelWorkerRunUrl = (workerRunId: string,) => {\n\n\n\n\n return `/v1/worker-runs/${workerRunId}/cancel`\n}\n\n/**\n * Cancel a worker run. For in_progress runs, the underlying E2B sandbox is terminated when possible. Pending and queued runs are simply marked canceled. Runs that are starting are still being handed their context and cannot be interrupted, so they cannot be canceled until they reach in_progress. Runs in terminal states (completed, failed) cannot be canceled. Already-canceled runs are returned without side effects.\n * @summary Cancel a worker run\n */\nexport const cancelWorkerRun = async (workerRunId: string, options?: RequestInit): Promise<cancelWorkerRunResponse> => {\n\n const res = await fetch(getCancelWorkerRunUrl(workerRunId),\n {\n ...options,\n method: 'POST'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: cancelWorkerRunResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as cancelWorkerRunResponse\n}\n\n\n\nexport type createWorkerEvalFromRunResponse200 = {\n data: CreateWorkerEvalFromRunEnvelope\n status: 200\n}\n\nexport type createWorkerEvalFromRunResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createWorkerEvalFromRunResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createWorkerEvalFromRunResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type createWorkerEvalFromRunResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createWorkerEvalFromRunResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createWorkerEvalFromRunResponseSuccess = (createWorkerEvalFromRunResponse200) & {\n headers: Headers;\n};\nexport type createWorkerEvalFromRunResponseError = (createWorkerEvalFromRunResponse400 | createWorkerEvalFromRunResponse401 | createWorkerEvalFromRunResponse404 | createWorkerEvalFromRunResponse409 | createWorkerEvalFromRunResponse500) & {\n headers: Headers;\n};\n\nexport type createWorkerEvalFromRunResponse = (createWorkerEvalFromRunResponseSuccess | createWorkerEvalFromRunResponseError)\n\nexport const getCreateWorkerEvalFromRunUrl = (workerRunId: string,) => {\n\n\n\n\n return `/v1/worker-runs/${workerRunId}/evals`\n}\n\n/**\n * Snapshot a worker run's trigger and resolved artifacts, and record its MCP tool responses from telemetry for replay.\n * @summary Create a worker eval from a run\n */\nexport const createWorkerEvalFromRun = async (workerRunId: string,\n createWorkerEvalFromRunBody?: CreateWorkerEvalFromRunBody, options?: RequestInit): Promise<createWorkerEvalFromRunResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateWorkerEvalFromRunUrl(workerRunId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createWorkerEvalFromRunBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createWorkerEvalFromRunResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createWorkerEvalFromRunResponse\n}\n\n\n\nexport type runEvalResponse200 = {\n data: RunEvalEnvelope\n status: 200\n}\n\nexport type runEvalResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type runEvalResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type runEvalResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type runEvalResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type runEvalResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type runEvalResponseSuccess = (runEvalResponse200) & {\n headers: Headers;\n};\nexport type runEvalResponseError = (runEvalResponse400 | runEvalResponse401 | runEvalResponse404 | runEvalResponse409 | runEvalResponse500) & {\n headers: Headers;\n};\n\nexport type runEvalResponse = (runEvalResponseSuccess | runEvalResponseError)\n\nexport const getRunEvalUrl = (evalId: string,) => {\n\n\n\n\n return `/v1/evals/${evalId}/runs`\n}\n\n/**\n * Queue an explicit worker version against the eval's immutable artifact snapshot and mocked tools.\n * @summary Run an eval\n */\nexport const runEval = async (evalId: string,\n runEvalBody?: RunEvalBody, options?: RequestInit): Promise<runEvalResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getRunEvalUrl(evalId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(runEvalBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: runEvalResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as runEvalResponse\n}\n\n\n\nexport type getEvalRunResponse200 = {\n data: GetEvalRunEnvelope\n status: 200\n}\n\nexport type getEvalRunResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getEvalRunResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getEvalRunResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getEvalRunResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getEvalRunResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getEvalRunResponseSuccess = (getEvalRunResponse200) & {\n headers: Headers;\n};\nexport type getEvalRunResponseError = (getEvalRunResponse400 | getEvalRunResponse401 | getEvalRunResponse404 | getEvalRunResponse409 | getEvalRunResponse500) & {\n headers: Headers;\n};\n\nexport type getEvalRunResponse = (getEvalRunResponseSuccess | getEvalRunResponseError)\n\nexport const getGetEvalRunUrl = (evalRunId: string,) => {\n\n\n\n\n return `/v1/eval-runs/${evalRunId}`\n}\n\n/**\n * Get the status and prompt-grader result for an eval run.\n * @summary Get an eval run\n */\nexport const getEvalRun = async (evalRunId: string, options?: RequestInit): Promise<getEvalRunResponse> => {\n\n const res = await fetch(getGetEvalRunUrl(evalRunId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getEvalRunResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getEvalRunResponse\n}\n\n\n\nexport type createExtractorResponse200 = {\n data: CreateExtractorEnvelope\n status: 200\n}\n\nexport type createExtractorResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createExtractorResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createExtractorResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createExtractorResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createExtractorResponseSuccess = (createExtractorResponse200) & {\n headers: Headers;\n};\nexport type createExtractorResponseError = (createExtractorResponse400 | createExtractorResponse401 | createExtractorResponse409 | createExtractorResponse500) & {\n headers: Headers;\n};\n\nexport type createExtractorResponse = (createExtractorResponseSuccess | createExtractorResponseError)\n\nexport const getCreateExtractorUrl = () => {\n\n\n\n\n return `/v1/extractors`\n}\n\n/**\n * Create a new extractor with a name and JSON schema defining the extraction output format.\n * @summary Create extractor\n */\nexport const createExtractor = async (createExtractorBody?: CreateExtractorBody, options?: RequestInit): Promise<createExtractorResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateExtractorUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createExtractorBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createExtractorResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createExtractorResponse\n}\n\n\n\nexport type listExtractorsResponse200 = {\n data: ListExtractorsEnvelope\n status: 200\n}\n\nexport type listExtractorsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listExtractorsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listExtractorsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listExtractorsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listExtractorsResponseSuccess = (listExtractorsResponse200) & {\n headers: Headers;\n};\nexport type listExtractorsResponseError = (listExtractorsResponse400 | listExtractorsResponse401 | listExtractorsResponse409 | listExtractorsResponse500) & {\n headers: Headers;\n};\n\nexport type listExtractorsResponse = (listExtractorsResponseSuccess | listExtractorsResponseError)\n\nexport const getListExtractorsUrl = (params?: ListExtractorsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/extractors?${stringifiedParams}` : `/v1/extractors`\n}\n\n/**\n * List all extractors with pagination, filtering, and sorting.\n *\n * Filter by name using the `name` query parameter.\n * @summary List extractors\n */\nexport const listExtractors = async (params?: ListExtractorsParams, options?: RequestInit): Promise<listExtractorsResponse> => {\n\n const res = await fetch(getListExtractorsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listExtractorsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listExtractorsResponse\n}\n\n\n\nexport type getExtractorResponse200 = {\n data: GetExtractorEnvelope\n status: 200\n}\n\nexport type getExtractorResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getExtractorResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getExtractorResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getExtractorResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getExtractorResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getExtractorResponseSuccess = (getExtractorResponse200) & {\n headers: Headers;\n};\nexport type getExtractorResponseError = (getExtractorResponse400 | getExtractorResponse401 | getExtractorResponse404 | getExtractorResponse409 | getExtractorResponse500) & {\n headers: Headers;\n};\n\nexport type getExtractorResponse = (getExtractorResponseSuccess | getExtractorResponseError)\n\nexport const getGetExtractorUrl = (id: string,) => {\n\n\n\n\n return `/v1/extractors/${id}`\n}\n\n/**\n * Retrieve a single extractor by ID, including its schema and version.\n * @summary Get extractor\n */\nexport const getExtractor = async (id: string, options?: RequestInit): Promise<getExtractorResponse> => {\n\n const res = await fetch(getGetExtractorUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getExtractorResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getExtractorResponse\n}\n\n\n\nexport type updateExtractorResponse200 = {\n data: UpdateExtractorEnvelope\n status: 200\n}\n\nexport type updateExtractorResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateExtractorResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateExtractorResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateExtractorResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateExtractorResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateExtractorResponseSuccess = (updateExtractorResponse200) & {\n headers: Headers;\n};\nexport type updateExtractorResponseError = (updateExtractorResponse400 | updateExtractorResponse401 | updateExtractorResponse404 | updateExtractorResponse409 | updateExtractorResponse500) & {\n headers: Headers;\n};\n\nexport type updateExtractorResponse = (updateExtractorResponseSuccess | updateExtractorResponseError)\n\nexport const getUpdateExtractorUrl = (id: string,) => {\n\n\n\n\n return `/v1/extractors/${id}`\n}\n\n/**\n * Update an extractor's schema. This creates a new version of the extractor.\n * @summary Update extractor\n */\nexport const updateExtractor = async (id: string,\n updateExtractorBody?: UpdateExtractorBody, options?: RequestInit): Promise<updateExtractorResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateExtractorUrl(id),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateExtractorBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateExtractorResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateExtractorResponse\n}\n\n\n\nexport type deleteExtractorResponse200 = {\n data: DeleteExtractorEnvelope\n status: 200\n}\n\nexport type deleteExtractorResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteExtractorResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteExtractorResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteExtractorResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteExtractorResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteExtractorResponseSuccess = (deleteExtractorResponse200) & {\n headers: Headers;\n};\nexport type deleteExtractorResponseError = (deleteExtractorResponse400 | deleteExtractorResponse401 | deleteExtractorResponse404 | deleteExtractorResponse409 | deleteExtractorResponse500) & {\n headers: Headers;\n};\n\nexport type deleteExtractorResponse = (deleteExtractorResponseSuccess | deleteExtractorResponseError)\n\nexport const getDeleteExtractorUrl = (id: string,) => {\n\n\n\n\n return `/v1/extractors/${id}`\n}\n\n/**\n * Soft-delete an extractor and all of its versions. Soft-deleted extractors no longer appear in any read.\n * @summary Delete extractor\n */\nexport const deleteExtractor = async (id: string, options?: RequestInit): Promise<deleteExtractorResponse> => {\n\n const res = await fetch(getDeleteExtractorUrl(id),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteExtractorResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteExtractorResponse\n}\n\n\n\nexport type createWorkerResponse200 = {\n data: CreateWorkerEnvelope\n status: 200\n}\n\nexport type createWorkerResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createWorkerResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createWorkerResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createWorkerResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createWorkerResponseSuccess = (createWorkerResponse200) & {\n headers: Headers;\n};\nexport type createWorkerResponseError = (createWorkerResponse400 | createWorkerResponse401 | createWorkerResponse409 | createWorkerResponse500) & {\n headers: Headers;\n};\n\nexport type createWorkerResponse = (createWorkerResponseSuccess | createWorkerResponseError)\n\nexport const getCreateWorkerUrl = () => {\n\n\n\n\n return `/v1/workers`\n}\n\n/**\n * Create a new worker with a name and prompt.\n * @summary Create worker\n */\nexport const createWorker = async (createWorkerBody?: CreateWorkerBody, options?: RequestInit): Promise<createWorkerResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateWorkerUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createWorkerBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createWorkerResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createWorkerResponse\n}\n\n\n\nexport type listWorkersResponse200 = {\n data: ListWorkersEnvelope\n status: 200\n}\n\nexport type listWorkersResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listWorkersResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listWorkersResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listWorkersResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listWorkersResponseSuccess = (listWorkersResponse200) & {\n headers: Headers;\n};\nexport type listWorkersResponseError = (listWorkersResponse400 | listWorkersResponse401 | listWorkersResponse409 | listWorkersResponse500) & {\n headers: Headers;\n};\n\nexport type listWorkersResponse = (listWorkersResponseSuccess | listWorkersResponseError)\n\nexport const getListWorkersUrl = (params?: ListWorkersParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/workers?${stringifiedParams}` : `/v1/workers`\n}\n\n/**\n * List all workers with pagination, filtering, and sorting.\n *\n * Filter by name using the `name` query parameter.\n * @summary List workers\n */\nexport const listWorkers = async (params?: ListWorkersParams, options?: RequestInit): Promise<listWorkersResponse> => {\n\n const res = await fetch(getListWorkersUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listWorkersResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listWorkersResponse\n}\n\n\n\nexport type getWorkerResponse200 = {\n data: GetWorkerEnvelope\n status: 200\n}\n\nexport type getWorkerResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getWorkerResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getWorkerResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getWorkerResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getWorkerResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getWorkerResponseSuccess = (getWorkerResponse200) & {\n headers: Headers;\n};\nexport type getWorkerResponseError = (getWorkerResponse400 | getWorkerResponse401 | getWorkerResponse404 | getWorkerResponse409 | getWorkerResponse500) & {\n headers: Headers;\n};\n\nexport type getWorkerResponse = (getWorkerResponseSuccess | getWorkerResponseError)\n\nexport const getGetWorkerUrl = (workerId: string,) => {\n\n\n\n\n return `/v1/workers/${workerId}`\n}\n\n/**\n * Retrieve a single worker by ID.\n * @summary Get worker\n */\nexport const getWorker = async (workerId: string, options?: RequestInit): Promise<getWorkerResponse> => {\n\n const res = await fetch(getGetWorkerUrl(workerId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getWorkerResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getWorkerResponse\n}\n\n\n\nexport type deleteWorkerResponse200 = {\n data: DeleteWorkerEnvelope\n status: 200\n}\n\nexport type deleteWorkerResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteWorkerResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteWorkerResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteWorkerResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteWorkerResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteWorkerResponseSuccess = (deleteWorkerResponse200) & {\n headers: Headers;\n};\nexport type deleteWorkerResponseError = (deleteWorkerResponse400 | deleteWorkerResponse401 | deleteWorkerResponse404 | deleteWorkerResponse409 | deleteWorkerResponse500) & {\n headers: Headers;\n};\n\nexport type deleteWorkerResponse = (deleteWorkerResponseSuccess | deleteWorkerResponseError)\n\nexport const getDeleteWorkerUrl = (workerId: string,) => {\n\n\n\n\n return `/v1/workers/${workerId}`\n}\n\n/**\n * Delete a worker. The worker is hidden from all reads; its run history is preserved.\n * @summary Delete worker\n */\nexport const deleteWorker = async (workerId: string, options?: RequestInit): Promise<deleteWorkerResponse> => {\n\n const res = await fetch(getDeleteWorkerUrl(workerId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteWorkerResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteWorkerResponse\n}\n\n\n\nexport type updateWorkerResponse200 = {\n data: UpdateWorkerEnvelope\n status: 200\n}\n\nexport type updateWorkerResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateWorkerResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateWorkerResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateWorkerResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateWorkerResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateWorkerResponseSuccess = (updateWorkerResponse200) & {\n headers: Headers;\n};\nexport type updateWorkerResponseError = (updateWorkerResponse400 | updateWorkerResponse401 | updateWorkerResponse404 | updateWorkerResponse409 | updateWorkerResponse500) & {\n headers: Headers;\n};\n\nexport type updateWorkerResponse = (updateWorkerResponseSuccess | updateWorkerResponseError)\n\nexport const getUpdateWorkerUrl = (workerId: string,) => {\n\n\n\n\n return `/v1/workers/${workerId}`\n}\n\n/**\n * Update the configuration of a worker, including the attached tool set.\n * @summary Update worker\n */\nexport const updateWorker = async (workerId: string,\n updateWorkerBody?: UpdateWorkerBody, options?: RequestInit): Promise<updateWorkerResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateWorkerUrl(workerId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateWorkerBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateWorkerResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateWorkerResponse\n}\n\n\n\nexport type getWorkerPromptResponse200 = {\n data: GetWorkerPromptEnvelope\n status: 200\n}\n\nexport type getWorkerPromptResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getWorkerPromptResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getWorkerPromptResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getWorkerPromptResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getWorkerPromptResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getWorkerPromptResponseSuccess = (getWorkerPromptResponse200) & {\n headers: Headers;\n};\nexport type getWorkerPromptResponseError = (getWorkerPromptResponse400 | getWorkerPromptResponse401 | getWorkerPromptResponse404 | getWorkerPromptResponse409 | getWorkerPromptResponse500) & {\n headers: Headers;\n};\n\nexport type getWorkerPromptResponse = (getWorkerPromptResponseSuccess | getWorkerPromptResponseError)\n\nexport const getGetWorkerPromptUrl = (workerId: string,\n params?: GetWorkerPromptParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/workers/${workerId}/prompt?${stringifiedParams}` : `/v1/workers/${workerId}/prompt`\n}\n\n/**\n * Retrieve the prompt for a worker. Pass `version` to fetch the prompt snapshot at a specific config version; omit it to fetch the current prompt. Internal use only.\n * @summary Get worker prompt\n */\nexport const getWorkerPrompt = async (workerId: string,\n params?: GetWorkerPromptParams, options?: RequestInit): Promise<getWorkerPromptResponse> => {\n\n const res = await fetch(getGetWorkerPromptUrl(workerId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getWorkerPromptResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getWorkerPromptResponse\n}\n\n\n\nexport type updateWorkerPromptResponse200 = {\n data: UpdateWorkerPromptEnvelope\n status: 200\n}\n\nexport type updateWorkerPromptResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateWorkerPromptResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateWorkerPromptResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateWorkerPromptResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateWorkerPromptResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateWorkerPromptResponseSuccess = (updateWorkerPromptResponse200) & {\n headers: Headers;\n};\nexport type updateWorkerPromptResponseError = (updateWorkerPromptResponse400 | updateWorkerPromptResponse401 | updateWorkerPromptResponse404 | updateWorkerPromptResponse409 | updateWorkerPromptResponse500) & {\n headers: Headers;\n};\n\nexport type updateWorkerPromptResponse = (updateWorkerPromptResponseSuccess | updateWorkerPromptResponseError)\n\nexport const getUpdateWorkerPromptUrl = (workerId: string,) => {\n\n\n\n\n return `/v1/workers/${workerId}/prompt`\n}\n\n/**\n * Update the prompt for a worker. Internal use only.\n * @summary Update worker prompt\n */\nexport const updateWorkerPrompt = async (workerId: string,\n updateWorkerPromptBody?: UpdateWorkerPromptBody, options?: RequestInit): Promise<updateWorkerPromptResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateWorkerPromptUrl(workerId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateWorkerPromptBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateWorkerPromptResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateWorkerPromptResponse\n}\n\n\n\nexport type listWorkerModelsResponse200 = {\n data: ListWorkerModelsEnvelope\n status: 200\n}\n\nexport type listWorkerModelsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listWorkerModelsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listWorkerModelsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listWorkerModelsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listWorkerModelsResponseSuccess = (listWorkerModelsResponse200) & {\n headers: Headers;\n};\nexport type listWorkerModelsResponseError = (listWorkerModelsResponse400 | listWorkerModelsResponse401 | listWorkerModelsResponse409 | listWorkerModelsResponse500) & {\n headers: Headers;\n};\n\nexport type listWorkerModelsResponse = (listWorkerModelsResponseSuccess | listWorkerModelsResponseError)\n\nexport const getListWorkerModelsUrl = () => {\n\n\n\n\n return `/v1/worker-models`\n}\n\n/**\n * List the LLM models that can be assigned to a worker via the `model` field on update.\n * @summary List available worker models\n */\nexport const listWorkerModels = async ( options?: RequestInit): Promise<listWorkerModelsResponse> => {\n\n const res = await fetch(getListWorkerModelsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listWorkerModelsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listWorkerModelsResponse\n}\n\n\n\nexport type updateWorkerMcpsResponse200 = {\n data: UpdateWorkerMcpsEnvelope\n status: 200\n}\n\nexport type updateWorkerMcpsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateWorkerMcpsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateWorkerMcpsResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateWorkerMcpsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateWorkerMcpsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateWorkerMcpsResponseSuccess = (updateWorkerMcpsResponse200) & {\n headers: Headers;\n};\nexport type updateWorkerMcpsResponseError = (updateWorkerMcpsResponse400 | updateWorkerMcpsResponse401 | updateWorkerMcpsResponse404 | updateWorkerMcpsResponse409 | updateWorkerMcpsResponse500) & {\n headers: Headers;\n};\n\nexport type updateWorkerMcpsResponse = (updateWorkerMcpsResponseSuccess | updateWorkerMcpsResponseError)\n\nexport const getUpdateWorkerMcpsUrl = (workerId: string,) => {\n\n\n\n\n return `/v1/workers/${workerId}/mcps`\n}\n\n/**\n * Replace the set of MCP servers a worker connects to. Pass an empty array to disconnect.\n * @summary Update worker MCP servers\n */\nexport const updateWorkerMcps = async (workerId: string,\n updateWorkerMcpsBody?: UpdateWorkerMcpsBody, options?: RequestInit): Promise<updateWorkerMcpsResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateWorkerMcpsUrl(workerId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateWorkerMcpsBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateWorkerMcpsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateWorkerMcpsResponse\n}\n\n\n\nexport type listWorkerVersionsResponse200 = {\n data: ListWorkerVersionsEnvelope\n status: 200\n}\n\nexport type listWorkerVersionsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listWorkerVersionsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listWorkerVersionsResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listWorkerVersionsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listWorkerVersionsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listWorkerVersionsResponseSuccess = (listWorkerVersionsResponse200) & {\n headers: Headers;\n};\nexport type listWorkerVersionsResponseError = (listWorkerVersionsResponse400 | listWorkerVersionsResponse401 | listWorkerVersionsResponse404 | listWorkerVersionsResponse409 | listWorkerVersionsResponse500) & {\n headers: Headers;\n};\n\nexport type listWorkerVersionsResponse = (listWorkerVersionsResponseSuccess | listWorkerVersionsResponseError)\n\nexport const getListWorkerVersionsUrl = (workerId: string,\n params?: ListWorkerVersionsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/workers/${workerId}/versions?${stringifiedParams}` : `/v1/workers/${workerId}/versions`\n}\n\n/**\n * List all config versions for a worker, ordered by version (newest first by default).\n * @summary List worker versions\n */\nexport const listWorkerVersions = async (workerId: string,\n params?: ListWorkerVersionsParams, options?: RequestInit): Promise<listWorkerVersionsResponse> => {\n\n const res = await fetch(getListWorkerVersionsUrl(workerId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listWorkerVersionsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listWorkerVersionsResponse\n}\n\n\n\nexport type getWorkerVersionResponse200 = {\n data: GetWorkerVersionEnvelope\n status: 200\n}\n\nexport type getWorkerVersionResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getWorkerVersionResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getWorkerVersionResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getWorkerVersionResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getWorkerVersionResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getWorkerVersionResponseSuccess = (getWorkerVersionResponse200) & {\n headers: Headers;\n};\nexport type getWorkerVersionResponseError = (getWorkerVersionResponse400 | getWorkerVersionResponse401 | getWorkerVersionResponse404 | getWorkerVersionResponse409 | getWorkerVersionResponse500) & {\n headers: Headers;\n};\n\nexport type getWorkerVersionResponse = (getWorkerVersionResponseSuccess | getWorkerVersionResponseError)\n\nexport const getGetWorkerVersionUrl = (workerId: string,\n version: number,) => {\n\n\n\n\n return `/v1/workers/${workerId}/versions/${version}`\n}\n\n/**\n * Retrieve a single worker config version, including the worker's identity, the config snapshot at that version, and version-specific metadata. The prompt is served separately by the worker prompt endpoint.\n * @summary Get worker version\n */\nexport const getWorkerVersion = async (workerId: string,\n version: number, options?: RequestInit): Promise<getWorkerVersionResponse> => {\n\n const res = await fetch(getGetWorkerVersionUrl(workerId,version),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getWorkerVersionResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getWorkerVersionResponse\n}\n\n\n\nexport type promoteWorkerVersionResponse200 = {\n data: PromoteWorkerVersionEnvelope\n status: 200\n}\n\nexport type promoteWorkerVersionResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type promoteWorkerVersionResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type promoteWorkerVersionResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type promoteWorkerVersionResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type promoteWorkerVersionResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type promoteWorkerVersionResponseSuccess = (promoteWorkerVersionResponse200) & {\n headers: Headers;\n};\nexport type promoteWorkerVersionResponseError = (promoteWorkerVersionResponse400 | promoteWorkerVersionResponse401 | promoteWorkerVersionResponse404 | promoteWorkerVersionResponse409 | promoteWorkerVersionResponse500) & {\n headers: Headers;\n};\n\nexport type promoteWorkerVersionResponse = (promoteWorkerVersionResponseSuccess | promoteWorkerVersionResponseError)\n\nexport const getPromoteWorkerVersionUrl = (workerId: string,\n version: number,) => {\n\n\n\n\n return `/v1/workers/${workerId}/versions/${version}/promote`\n}\n\n/**\n * Select a worker configuration version for the live or test environment. This freezes the config snapshot only — the E2B template, attached tools and attached secrets are not versioned and always resolve to their current values.\n * @summary Promote worker version\n */\nexport const promoteWorkerVersion = async (workerId: string,\n version: number,\n promoteWorkerVersionBody?: PromoteWorkerVersionBody, options?: RequestInit): Promise<promoteWorkerVersionResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getPromoteWorkerVersionUrl(workerId,version),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(promoteWorkerVersionBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: promoteWorkerVersionResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as promoteWorkerVersionResponse\n}\n\n\n\nexport type getWorkerVersionChangeSummaryResponse200 = {\n data: GetWorkerVersionChangeSummaryEnvelope\n status: 200\n}\n\nexport type getWorkerVersionChangeSummaryResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getWorkerVersionChangeSummaryResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getWorkerVersionChangeSummaryResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getWorkerVersionChangeSummaryResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getWorkerVersionChangeSummaryResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getWorkerVersionChangeSummaryResponseSuccess = (getWorkerVersionChangeSummaryResponse200) & {\n headers: Headers;\n};\nexport type getWorkerVersionChangeSummaryResponseError = (getWorkerVersionChangeSummaryResponse400 | getWorkerVersionChangeSummaryResponse401 | getWorkerVersionChangeSummaryResponse404 | getWorkerVersionChangeSummaryResponse409 | getWorkerVersionChangeSummaryResponse500) & {\n headers: Headers;\n};\n\nexport type getWorkerVersionChangeSummaryResponse = (getWorkerVersionChangeSummaryResponseSuccess | getWorkerVersionChangeSummaryResponseError)\n\nexport const getGetWorkerVersionChangeSummaryUrl = (workerId: string,\n version: number,) => {\n\n\n\n\n return `/v1/workers/${workerId}/versions/${version}/change-summary`\n}\n\n/**\n * Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.\n * @summary Get worker version change summary\n */\nexport const getWorkerVersionChangeSummary = async (workerId: string,\n version: number, options?: RequestInit): Promise<getWorkerVersionChangeSummaryResponse> => {\n\n const res = await fetch(getGetWorkerVersionChangeSummaryUrl(workerId,version),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getWorkerVersionChangeSummaryResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getWorkerVersionChangeSummaryResponse\n}\n\n\n\nexport type createWorkerWebhookResponse200 = {\n data: CreateWorkerWebhookEnvelope\n status: 200\n}\n\nexport type createWorkerWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createWorkerWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createWorkerWebhookResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type createWorkerWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createWorkerWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createWorkerWebhookResponseSuccess = (createWorkerWebhookResponse200) & {\n headers: Headers;\n};\nexport type createWorkerWebhookResponseError = (createWorkerWebhookResponse400 | createWorkerWebhookResponse401 | createWorkerWebhookResponse404 | createWorkerWebhookResponse409 | createWorkerWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type createWorkerWebhookResponse = (createWorkerWebhookResponseSuccess | createWorkerWebhookResponseError)\n\nexport const getCreateWorkerWebhookUrl = (workerId: string,) => {\n\n\n\n\n return `/v1/workers/${workerId}/webhooks`\n}\n\n/**\n * Create a webhook that fires when events occur for the specified worker.\n * @summary Create worker webhook\n */\nexport const createWorkerWebhook = async (workerId: string,\n createWorkerWebhookBody?: CreateWorkerWebhookBody, options?: RequestInit): Promise<createWorkerWebhookResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateWorkerWebhookUrl(workerId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createWorkerWebhookBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createWorkerWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createWorkerWebhookResponse\n}\n\n\n\nexport type listWorkerWebhooksResponse200 = {\n data: ListWorkerWebhooksEnvelope\n status: 200\n}\n\nexport type listWorkerWebhooksResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listWorkerWebhooksResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listWorkerWebhooksResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listWorkerWebhooksResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listWorkerWebhooksResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listWorkerWebhooksResponseSuccess = (listWorkerWebhooksResponse200) & {\n headers: Headers;\n};\nexport type listWorkerWebhooksResponseError = (listWorkerWebhooksResponse400 | listWorkerWebhooksResponse401 | listWorkerWebhooksResponse404 | listWorkerWebhooksResponse409 | listWorkerWebhooksResponse500) & {\n headers: Headers;\n};\n\nexport type listWorkerWebhooksResponse = (listWorkerWebhooksResponseSuccess | listWorkerWebhooksResponseError)\n\nexport const getListWorkerWebhooksUrl = (workerId: string,\n params?: ListWorkerWebhooksParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/workers/${workerId}/webhooks?${stringifiedParams}` : `/v1/workers/${workerId}/webhooks`\n}\n\n/**\n * List all webhooks configured for a specific worker.\n * @summary List worker webhooks\n */\nexport const listWorkerWebhooks = async (workerId: string,\n params?: ListWorkerWebhooksParams, options?: RequestInit): Promise<listWorkerWebhooksResponse> => {\n\n const res = await fetch(getListWorkerWebhooksUrl(workerId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listWorkerWebhooksResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listWorkerWebhooksResponse\n}\n\n\n\nexport type listCasesResponse200 = {\n data: ListCasesEnvelope\n status: 200\n}\n\nexport type listCasesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listCasesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listCasesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listCasesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listCasesResponseSuccess = (listCasesResponse200) & {\n headers: Headers;\n};\nexport type listCasesResponseError = (listCasesResponse400 | listCasesResponse401 | listCasesResponse409 | listCasesResponse500) & {\n headers: Headers;\n};\n\nexport type listCasesResponse = (listCasesResponseSuccess | listCasesResponseError)\n\nexport const getListCasesUrl = (params?: ListCasesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/cases?${stringifiedParams}` : `/v1/cases`\n}\n\n/**\n * List all cases for the current tenant, paginated, filterable, and sortable.\n * @summary List cases\n */\nexport const listCases = async (params?: ListCasesParams, options?: RequestInit): Promise<listCasesResponse> => {\n\n const res = await fetch(getListCasesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listCasesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listCasesResponse\n}\n\n\n\nexport type createCaseResponse201 = {\n data: CreateCaseEnvelope\n status: 201\n}\n\nexport type createCaseResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createCaseResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createCaseResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createCaseResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createCaseResponseSuccess = (createCaseResponse201) & {\n headers: Headers;\n};\nexport type createCaseResponseError = (createCaseResponse400 | createCaseResponse401 | createCaseResponse409 | createCaseResponse500) & {\n headers: Headers;\n};\n\nexport type createCaseResponse = (createCaseResponseSuccess | createCaseResponseError)\n\nexport const getCreateCaseUrl = () => {\n\n\n\n\n return `/v1/cases`\n}\n\n/**\n * Create a case with a client-supplied id.\n *\n * Case ids are tenant-scoped opaque keys (e.g. \"clm-1\", \"STD-001\") and are normalized server-side (trimmed and lowercased). Creating an id that already exists **in the same environment** returns 409 — the same id can exist once in `live` and once in `test`.\n * @summary Create case\n */\nexport const createCase = async (createCaseBody?: CreateCaseBody, options?: RequestInit): Promise<createCaseResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateCaseUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createCaseBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createCaseResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createCaseResponse\n}\n\n\n\nexport type searchCasesResponse200 = {\n data: SearchCasesEnvelope\n status: 200\n}\n\nexport type searchCasesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type searchCasesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type searchCasesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type searchCasesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type searchCasesResponseSuccess = (searchCasesResponse200) & {\n headers: Headers;\n};\nexport type searchCasesResponseError = (searchCasesResponse400 | searchCasesResponse401 | searchCasesResponse409 | searchCasesResponse500) & {\n headers: Headers;\n};\n\nexport type searchCasesResponse = (searchCasesResponseSuccess | searchCasesResponseError)\n\nexport const getSearchCasesUrl = (params: SearchCasesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/cases/search?${stringifiedParams}` : `/v1/cases/search`\n}\n\n/**\n * Probe for candidate cases. Matches the query as a normalized substring of the case id, and fuzzily (trigram) against subject and reporter. Results are relevance-ranked — id matches first, then best fuzzy match, then most recently updated — so ordering is fixed and not configurable.\n * @summary Search cases\n */\nexport const searchCases = async (params: SearchCasesParams, options?: RequestInit): Promise<searchCasesResponse> => {\n\n const res = await fetch(getSearchCasesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: searchCasesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as searchCasesResponse\n}\n\n\n\nexport type getCaseResponse200 = {\n data: GetCaseEnvelope\n status: 200\n}\n\nexport type getCaseResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getCaseResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getCaseResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getCaseResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getCaseResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getCaseResponseSuccess = (getCaseResponse200) & {\n headers: Headers;\n};\nexport type getCaseResponseError = (getCaseResponse400 | getCaseResponse401 | getCaseResponse404 | getCaseResponse409 | getCaseResponse500) & {\n headers: Headers;\n};\n\nexport type getCaseResponse = (getCaseResponseSuccess | getCaseResponseError)\n\nexport const getGetCaseUrl = (id: string,\n params?: GetCaseParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/cases/${id}?${stringifiedParams}` : `/v1/cases/${id}`\n}\n\n/**\n * Retrieve a case by id.\n *\n * Related entities are not embedded — fetch them via the filtered list endpoints,\n * e.g. `GET /v1/worker-runs?case_id=…` and `GET /v1/artifacts?metadata[case_id]=…`.\n * @summary Get case\n */\nexport const getCase = async (id: string,\n params?: GetCaseParams, options?: RequestInit): Promise<getCaseResponse> => {\n\n const res = await fetch(getGetCaseUrl(id,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getCaseResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getCaseResponse\n}\n\n\n\nexport type deleteCaseResponse200 = {\n data: DeleteCaseEnvelope\n status: 200\n}\n\nexport type deleteCaseResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteCaseResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteCaseResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteCaseResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteCaseResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteCaseResponseSuccess = (deleteCaseResponse200) & {\n headers: Headers;\n};\nexport type deleteCaseResponseError = (deleteCaseResponse400 | deleteCaseResponse401 | deleteCaseResponse404 | deleteCaseResponse409 | deleteCaseResponse500) & {\n headers: Headers;\n};\n\nexport type deleteCaseResponse = (deleteCaseResponseSuccess | deleteCaseResponseError)\n\nexport const getDeleteCaseUrl = (id: string,\n params?: DeleteCaseParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/cases/${id}?${stringifiedParams}` : `/v1/cases/${id}`\n}\n\n/**\n * Delete a case.\n *\n * The case and its links stop being visible; the linked entities themselves are untouched. The id becomes available again — a case created with the same id afterwards is a new, empty case, not the deleted one.\n *\n * Unlike removing a case link, this is **not** idempotent: deleting a case that does not exist, or has already been deleted, returns 404.\n * @summary Delete case\n */\nexport const deleteCase = async (id: string,\n params?: DeleteCaseParams, options?: RequestInit): Promise<deleteCaseResponse> => {\n\n const res = await fetch(getDeleteCaseUrl(id,params),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteCaseResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteCaseResponse\n}\n\n\n\nexport type addCaseLinksResponse200 = {\n data: AddCaseLinksEnvelope\n status: 200\n}\n\nexport type addCaseLinksResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type addCaseLinksResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type addCaseLinksResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type addCaseLinksResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type addCaseLinksResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type addCaseLinksResponseSuccess = (addCaseLinksResponse200) & {\n headers: Headers;\n};\nexport type addCaseLinksResponseError = (addCaseLinksResponse400 | addCaseLinksResponse401 | addCaseLinksResponse404 | addCaseLinksResponse409 | addCaseLinksResponse500) & {\n headers: Headers;\n};\n\nexport type addCaseLinksResponse = (addCaseLinksResponseSuccess | addCaseLinksResponseError)\n\nexport const getAddCaseLinksUrl = (id: string,\n params?: AddCaseLinksParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/cases/${id}/links?${stringifiedParams}` : `/v1/cases/${id}/links`\n}\n\n/**\n * Link up to 100 entities (artifacts, calls, chats, emails, extracts, information requests, schedules, worker runs) to a case.\n *\n * The case and every entity must already exist in the tenant — unknown ids return 404 and nothing is created. Calls, emails, information requests and worker runs must belong to the case's environment, and a schedule must run in it; artifacts, chats and extracts are not environment-scoped and can be linked to a case in either. A mismatch rejects the whole request. Adding is idempotent: re-linking an already linked entity returns the existing link with its original `created_at`.\n * @summary Add case links\n */\nexport const addCaseLinks = async (id: string,\n addCaseLinksBody?: AddCaseLinksBody,\n params?: AddCaseLinksParams, options?: RequestInit): Promise<addCaseLinksResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getAddCaseLinksUrl(id,params),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(addCaseLinksBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: addCaseLinksResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as addCaseLinksResponse\n}\n\n\n\nexport type listCaseLinksResponse200 = {\n data: ListCaseLinksEnvelope\n status: 200\n}\n\nexport type listCaseLinksResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listCaseLinksResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listCaseLinksResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listCaseLinksResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listCaseLinksResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listCaseLinksResponseSuccess = (listCaseLinksResponse200) & {\n headers: Headers;\n};\nexport type listCaseLinksResponseError = (listCaseLinksResponse400 | listCaseLinksResponse401 | listCaseLinksResponse404 | listCaseLinksResponse409 | listCaseLinksResponse500) & {\n headers: Headers;\n};\n\nexport type listCaseLinksResponse = (listCaseLinksResponseSuccess | listCaseLinksResponseError)\n\nexport const getListCaseLinksUrl = (id: string,\n params?: ListCaseLinksParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/cases/${id}/links?${stringifiedParams}` : `/v1/cases/${id}/links`\n}\n\n/**\n * List the entities linked to a case, paginated and filterable by entity type.\n * @summary List case links\n */\nexport const listCaseLinks = async (id: string,\n params?: ListCaseLinksParams, options?: RequestInit): Promise<listCaseLinksResponse> => {\n\n const res = await fetch(getListCaseLinksUrl(id,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listCaseLinksResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listCaseLinksResponse\n}\n\n\n\nexport type removeCaseLinkResponse200 = {\n data: RemoveCaseLinkEnvelope\n status: 200\n}\n\nexport type removeCaseLinkResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type removeCaseLinkResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type removeCaseLinkResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type removeCaseLinkResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type removeCaseLinkResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type removeCaseLinkResponseSuccess = (removeCaseLinkResponse200) & {\n headers: Headers;\n};\nexport type removeCaseLinkResponseError = (removeCaseLinkResponse400 | removeCaseLinkResponse401 | removeCaseLinkResponse404 | removeCaseLinkResponse409 | removeCaseLinkResponse500) & {\n headers: Headers;\n};\n\nexport type removeCaseLinkResponse = (removeCaseLinkResponseSuccess | removeCaseLinkResponseError)\n\nexport const getRemoveCaseLinkUrl = (id: string,\n entityType: 'artifact' | 'call' | 'chat' | 'email' | 'extract' | 'information_request' | 'schedule' | 'worker_run',\n entityId: string,\n params?: RemoveCaseLinkParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/cases/${id}/links/${entityType}/${entityId}?${stringifiedParams}` : `/v1/cases/${id}/links/${entityType}/${entityId}`\n}\n\n/**\n * Remove the link between a case and an entity. Removal is idempotent: removing a link that does not exist succeeds without effect.\n * @summary Remove case link\n */\nexport const removeCaseLink = async (id: string,\n entityType: 'artifact' | 'call' | 'chat' | 'email' | 'extract' | 'information_request' | 'schedule' | 'worker_run',\n entityId: string,\n params?: RemoveCaseLinkParams, options?: RequestInit): Promise<removeCaseLinkResponse> => {\n\n const res = await fetch(getRemoveCaseLinkUrl(id,entityType,entityId,params),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: removeCaseLinkResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as removeCaseLinkResponse\n}\n\n\n\nexport type createChatAgentResponse200 = {\n data: CreateChatAgentEnvelope\n status: 200\n}\n\nexport type createChatAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createChatAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createChatAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createChatAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createChatAgentResponseSuccess = (createChatAgentResponse200) & {\n headers: Headers;\n};\nexport type createChatAgentResponseError = (createChatAgentResponse400 | createChatAgentResponse401 | createChatAgentResponse409 | createChatAgentResponse500) & {\n headers: Headers;\n};\n\nexport type createChatAgentResponse = (createChatAgentResponseSuccess | createChatAgentResponseError)\n\nexport const getCreateChatAgentUrl = () => {\n\n\n\n\n return `/v1/chat-agents`\n}\n\n/**\n * Create a new chat agent with a name and prompt.\n * @summary Create chat agent\n */\nexport const createChatAgent = async (createChatAgentBody?: CreateChatAgentBody, options?: RequestInit): Promise<createChatAgentResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateChatAgentUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createChatAgentBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createChatAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createChatAgentResponse\n}\n\n\n\nexport type listChatAgentsResponse200 = {\n data: ListChatAgentsEnvelope\n status: 200\n}\n\nexport type listChatAgentsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listChatAgentsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listChatAgentsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listChatAgentsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listChatAgentsResponseSuccess = (listChatAgentsResponse200) & {\n headers: Headers;\n};\nexport type listChatAgentsResponseError = (listChatAgentsResponse400 | listChatAgentsResponse401 | listChatAgentsResponse409 | listChatAgentsResponse500) & {\n headers: Headers;\n};\n\nexport type listChatAgentsResponse = (listChatAgentsResponseSuccess | listChatAgentsResponseError)\n\nexport const getListChatAgentsUrl = (params?: ListChatAgentsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/chat-agents?${stringifiedParams}` : `/v1/chat-agents`\n}\n\n/**\n * List the tenant's chat agents with pagination and sorting. Prompts are not returned.\n * @summary List chat agents\n */\nexport const listChatAgents = async (params?: ListChatAgentsParams, options?: RequestInit): Promise<listChatAgentsResponse> => {\n\n const res = await fetch(getListChatAgentsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listChatAgentsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listChatAgentsResponse\n}\n\n\n\nexport type getChatAgentResponse200 = {\n data: GetChatAgentEnvelope\n status: 200\n}\n\nexport type getChatAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getChatAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getChatAgentResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getChatAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getChatAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getChatAgentResponseSuccess = (getChatAgentResponse200) & {\n headers: Headers;\n};\nexport type getChatAgentResponseError = (getChatAgentResponse400 | getChatAgentResponse401 | getChatAgentResponse404 | getChatAgentResponse409 | getChatAgentResponse500) & {\n headers: Headers;\n};\n\nexport type getChatAgentResponse = (getChatAgentResponseSuccess | getChatAgentResponseError)\n\nexport const getGetChatAgentUrl = (chatAgentId: string,) => {\n\n\n\n\n return `/v1/chat-agents/${chatAgentId}`\n}\n\n/**\n * Retrieve a single chat agent by ID, including the IDs of its attached code tools. The prompt is not returned.\n * @summary Get chat agent\n */\nexport const getChatAgent = async (chatAgentId: string, options?: RequestInit): Promise<getChatAgentResponse> => {\n\n const res = await fetch(getGetChatAgentUrl(chatAgentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getChatAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getChatAgentResponse\n}\n\n\n\nexport type updateChatAgentResponse200 = {\n data: UpdateChatAgentEnvelope\n status: 200\n}\n\nexport type updateChatAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateChatAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateChatAgentResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateChatAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateChatAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateChatAgentResponseSuccess = (updateChatAgentResponse200) & {\n headers: Headers;\n};\nexport type updateChatAgentResponseError = (updateChatAgentResponse400 | updateChatAgentResponse401 | updateChatAgentResponse404 | updateChatAgentResponse409 | updateChatAgentResponse500) & {\n headers: Headers;\n};\n\nexport type updateChatAgentResponse = (updateChatAgentResponseSuccess | updateChatAgentResponseError)\n\nexport const getUpdateChatAgentUrl = (chatAgentId: string,) => {\n\n\n\n\n return `/v1/chat-agents/${chatAgentId}`\n}\n\n/**\n * Patch a chat agent's settings. Today only the attached code tool set can be edited; future fields will be added under the same endpoint. The response returns the chat agent's metadata only and does not include the resulting tool list; the agent's `updated_at` is not bumped when only the tool set changes.\n * @summary Update chat agent\n */\nexport const updateChatAgent = async (chatAgentId: string,\n updateChatAgentRequest?: UpdateChatAgentRequest, options?: RequestInit): Promise<updateChatAgentResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateChatAgentUrl(chatAgentId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateChatAgentRequest)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateChatAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateChatAgentResponse\n}\n\n\n\nexport type deleteChatAgentResponse200 = {\n data: DeleteChatAgentEnvelope\n status: 200\n}\n\nexport type deleteChatAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteChatAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteChatAgentResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteChatAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteChatAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteChatAgentResponseSuccess = (deleteChatAgentResponse200) & {\n headers: Headers;\n};\nexport type deleteChatAgentResponseError = (deleteChatAgentResponse400 | deleteChatAgentResponse401 | deleteChatAgentResponse404 | deleteChatAgentResponse409 | deleteChatAgentResponse500) & {\n headers: Headers;\n};\n\nexport type deleteChatAgentResponse = (deleteChatAgentResponseSuccess | deleteChatAgentResponseError)\n\nexport const getDeleteChatAgentUrl = (chatAgentId: string,) => {\n\n\n\n\n return `/v1/chat-agents/${chatAgentId}`\n}\n\n/**\n * Soft-delete a chat agent. The agent no longer appears in any read and stops accepting new chats; existing chats and messages are preserved.\n * @summary Delete chat agent\n */\nexport const deleteChatAgent = async (chatAgentId: string, options?: RequestInit): Promise<deleteChatAgentResponse> => {\n\n const res = await fetch(getDeleteChatAgentUrl(chatAgentId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteChatAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteChatAgentResponse\n}\n\n\n\nexport type getChatAgentPromptResponse200 = {\n data: GetChatAgentPromptEnvelope\n status: 200\n}\n\nexport type getChatAgentPromptResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getChatAgentPromptResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getChatAgentPromptResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getChatAgentPromptResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getChatAgentPromptResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getChatAgentPromptResponseSuccess = (getChatAgentPromptResponse200) & {\n headers: Headers;\n};\nexport type getChatAgentPromptResponseError = (getChatAgentPromptResponse400 | getChatAgentPromptResponse401 | getChatAgentPromptResponse404 | getChatAgentPromptResponse409 | getChatAgentPromptResponse500) & {\n headers: Headers;\n};\n\nexport type getChatAgentPromptResponse = (getChatAgentPromptResponseSuccess | getChatAgentPromptResponseError)\n\nexport const getGetChatAgentPromptUrl = (chatAgentId: string,) => {\n\n\n\n\n return `/v1/chat-agents/${chatAgentId}/prompt`\n}\n\n/**\n * Retrieve the prompt and greeting for a chat agent. Internal use only.\n * @summary Get chat agent prompt\n */\nexport const getChatAgentPrompt = async (chatAgentId: string, options?: RequestInit): Promise<getChatAgentPromptResponse> => {\n\n const res = await fetch(getGetChatAgentPromptUrl(chatAgentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getChatAgentPromptResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getChatAgentPromptResponse\n}\n\n\n\nexport type updateChatAgentPromptResponse200 = {\n data: UpdateChatAgentPromptEnvelope\n status: 200\n}\n\nexport type updateChatAgentPromptResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateChatAgentPromptResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateChatAgentPromptResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateChatAgentPromptResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateChatAgentPromptResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateChatAgentPromptResponseSuccess = (updateChatAgentPromptResponse200) & {\n headers: Headers;\n};\nexport type updateChatAgentPromptResponseError = (updateChatAgentPromptResponse400 | updateChatAgentPromptResponse401 | updateChatAgentPromptResponse404 | updateChatAgentPromptResponse409 | updateChatAgentPromptResponse500) & {\n headers: Headers;\n};\n\nexport type updateChatAgentPromptResponse = (updateChatAgentPromptResponseSuccess | updateChatAgentPromptResponseError)\n\nexport const getUpdateChatAgentPromptUrl = (chatAgentId: string,) => {\n\n\n\n\n return `/v1/chat-agents/${chatAgentId}/prompt`\n}\n\n/**\n * Update the prompt and/or greeting for a chat agent. Internal use only.\n * @summary Update chat agent prompt\n */\nexport const updateChatAgentPrompt = async (chatAgentId: string,\n updateChatAgentPromptBody?: UpdateChatAgentPromptBody, options?: RequestInit): Promise<updateChatAgentPromptResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateChatAgentPromptUrl(chatAgentId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateChatAgentPromptBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateChatAgentPromptResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateChatAgentPromptResponse\n}\n\n\n\nexport type createChatResponse201 = {\n data: CreateChatEnvelope\n status: 201\n}\n\nexport type createChatResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createChatResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createChatResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createChatResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createChatResponseSuccess = (createChatResponse201) & {\n headers: Headers;\n};\nexport type createChatResponseError = (createChatResponse400 | createChatResponse401 | createChatResponse409 | createChatResponse500) & {\n headers: Headers;\n};\n\nexport type createChatResponse = (createChatResponseSuccess | createChatResponseError)\n\nexport const getCreateChatUrl = () => {\n\n\n\n\n return `/public/v1/chats`\n}\n\n/**\n * Create a new chat against an existing chat agent. The chat agent's tenant becomes the owner of the chat.\n * @summary Create a chat\n */\nexport const createChat = async (createChatBody?: CreateChatBody, options?: RequestInit): Promise<createChatResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateChatUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createChatBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createChatResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createChatResponse\n}\n\n\n\nexport type getChatResponse200 = {\n data: GetChatEnvelope\n status: 200\n}\n\nexport type getChatResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getChatResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getChatResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getChatResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getChatResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getChatResponseSuccess = (getChatResponse200) & {\n headers: Headers;\n};\nexport type getChatResponseError = (getChatResponse400 | getChatResponse401 | getChatResponse404 | getChatResponse409 | getChatResponse500) & {\n headers: Headers;\n};\n\nexport type getChatResponse = (getChatResponseSuccess | getChatResponseError)\n\nexport const getGetChatUrl = (chatId: string,) => {\n\n\n\n\n return `/public/v1/chats/${chatId}`\n}\n\n/**\n * Return a chat and its messages in chronological order. Used to re-render a transcript after a reload. Only `user` and `assistant` messages are included; tool calls and tool results are omitted. Each message's `content` is the concatenation of its text blocks separated by newlines.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /public/v1/chat`\n * @summary Get a chat\n */\nexport const getChat = async (chatId: string, options?: RequestInit): Promise<getChatResponse> => {\n\n const res = await fetch(getGetChatUrl(chatId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getChatResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getChatResponse\n}\n\n\n\nexport type getPublicChatAgentResponse200 = {\n data: GetPublicChatAgentEnvelope\n status: 200\n}\n\nexport type getPublicChatAgentResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getPublicChatAgentResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getPublicChatAgentResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getPublicChatAgentResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getPublicChatAgentResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getPublicChatAgentResponseSuccess = (getPublicChatAgentResponse200) & {\n headers: Headers;\n};\nexport type getPublicChatAgentResponseError = (getPublicChatAgentResponse400 | getPublicChatAgentResponse401 | getPublicChatAgentResponse404 | getPublicChatAgentResponse409 | getPublicChatAgentResponse500) & {\n headers: Headers;\n};\n\nexport type getPublicChatAgentResponse = (getPublicChatAgentResponseSuccess | getPublicChatAgentResponseError)\n\nexport const getGetPublicChatAgentUrl = (chatAgentId: string,) => {\n\n\n\n\n return `/public/v1/chat-agents/${chatAgentId}`\n}\n\n/**\n * Return the public-facing fields of a chat agent for use in the chat UI. Sensitive fields such as the agent's prompt and tenant ID are not exposed.\n * @summary Get a chat agent (public)\n */\nexport const getPublicChatAgent = async (chatAgentId: string, options?: RequestInit): Promise<getPublicChatAgentResponse> => {\n\n const res = await fetch(getGetPublicChatAgentUrl(chatAgentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getPublicChatAgentResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getPublicChatAgentResponse\n}\n\n\n\nexport type postChatMessageResponse201 = {\n data: PostChatMessageEnvelope\n status: 201\n}\n\nexport type postChatMessageResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type postChatMessageResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type postChatMessageResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type postChatMessageResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type postChatMessageResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type postChatMessageResponseSuccess = (postChatMessageResponse201) & {\n headers: Headers;\n};\nexport type postChatMessageResponseError = (postChatMessageResponse400 | postChatMessageResponse401 | postChatMessageResponse404 | postChatMessageResponse409 | postChatMessageResponse500) & {\n headers: Headers;\n};\n\nexport type postChatMessageResponse = (postChatMessageResponseSuccess | postChatMessageResponseError)\n\nexport const getPostChatMessageUrl = (chatId: string,) => {\n\n\n\n\n return `/public/v1/chats/${chatId}/messages`\n}\n\n/**\n * Post a user message to an existing chat and return the assistant reply. Both messages are persisted.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /public/v1/chat/messages`\n * @summary Post a message to a chat\n */\nexport const postChatMessage = async (chatId: string,\n postChatMessageBody?: PostChatMessageBody, options?: RequestInit): Promise<postChatMessageResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getPostChatMessageUrl(chatId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(postChatMessageBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: postChatMessageResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as postChatMessageResponse\n}\n\n\n\nexport type listChatsResponse200 = {\n data: ListChatsEnvelope\n status: 200\n}\n\nexport type listChatsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listChatsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listChatsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listChatsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listChatsResponseSuccess = (listChatsResponse200) & {\n headers: Headers;\n};\nexport type listChatsResponseError = (listChatsResponse400 | listChatsResponse401 | listChatsResponse409 | listChatsResponse500) & {\n headers: Headers;\n};\n\nexport type listChatsResponse = (listChatsResponseSuccess | listChatsResponseError)\n\nexport const getListChatsUrl = (params?: ListChatsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/chats?${stringifiedParams}` : `/v1/chats`\n}\n\n/**\n * List the tenant's chats with pagination, sorting, and optional filtering by case. Returns chat metadata and message counts; messages are not included.\n * @summary List chats\n */\nexport const listChats = async (params?: ListChatsParams, options?: RequestInit): Promise<listChatsResponse> => {\n\n const res = await fetch(getListChatsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listChatsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listChatsResponse\n}\n\n\n\nexport type listChatMessagesResponse200 = {\n data: ListChatMessagesEnvelope\n status: 200\n}\n\nexport type listChatMessagesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listChatMessagesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listChatMessagesResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listChatMessagesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listChatMessagesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listChatMessagesResponseSuccess = (listChatMessagesResponse200) & {\n headers: Headers;\n};\nexport type listChatMessagesResponseError = (listChatMessagesResponse400 | listChatMessagesResponse401 | listChatMessagesResponse404 | listChatMessagesResponse409 | listChatMessagesResponse500) & {\n headers: Headers;\n};\n\nexport type listChatMessagesResponse = (listChatMessagesResponseSuccess | listChatMessagesResponseError)\n\nexport const getListChatMessagesUrl = (chatId: string,\n params?: ListChatMessagesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/chats/${chatId}/messages?${stringifiedParams}` : `/v1/chats/${chatId}/messages`\n}\n\n/**\n * List messages for a chat owned by the tenant, in chronological order by default.\n * @summary List chat messages\n */\nexport const listChatMessages = async (chatId: string,\n params?: ListChatMessagesParams, options?: RequestInit): Promise<listChatMessagesResponse> => {\n\n const res = await fetch(getListChatMessagesUrl(chatId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listChatMessagesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listChatMessagesResponse\n}\n\n\n\nexport type getExtractResponse200 = {\n data: GetExtractEnvelope\n status: 200\n}\n\nexport type getExtractResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getExtractResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getExtractResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getExtractResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getExtractResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getExtractResponseSuccess = (getExtractResponse200) & {\n headers: Headers;\n};\nexport type getExtractResponseError = (getExtractResponse400 | getExtractResponse401 | getExtractResponse404 | getExtractResponse409 | getExtractResponse500) & {\n headers: Headers;\n};\n\nexport type getExtractResponse = (getExtractResponseSuccess | getExtractResponseError)\n\nexport const getGetExtractUrl = (id: string,) => {\n\n\n\n\n return `/v1/extracts/${id}`\n}\n\n/**\n * Retrieve a single extract by ID, including the extraction result data.\n * @summary Get extract\n */\nexport const getExtract = async (id: string, options?: RequestInit): Promise<getExtractResponse> => {\n\n const res = await fetch(getGetExtractUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getExtractResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getExtractResponse\n}\n\n\n\nexport type getExtractCitationsResponse200 = {\n data: GetExtractCitationsEnvelope\n status: 200\n}\n\nexport type getExtractCitationsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getExtractCitationsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getExtractCitationsResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getExtractCitationsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getExtractCitationsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getExtractCitationsResponseSuccess = (getExtractCitationsResponse200) & {\n headers: Headers;\n};\nexport type getExtractCitationsResponseError = (getExtractCitationsResponse400 | getExtractCitationsResponse401 | getExtractCitationsResponse404 | getExtractCitationsResponse409 | getExtractCitationsResponse500) & {\n headers: Headers;\n};\n\nexport type getExtractCitationsResponse = (getExtractCitationsResponseSuccess | getExtractCitationsResponseError)\n\nexport const getGetExtractCitationsUrl = (id: string,) => {\n\n\n\n\n return `/v1/extracts/${id}/citations`\n}\n\n/**\n * Retrieve the citation tree with resolved chunk data for a given extract. Returns 404 if the extract does not exist or has no citations (the citations sub-resource is not available).\n * @summary Get extract citations\n */\nexport const getExtractCitations = async (id: string, options?: RequestInit): Promise<getExtractCitationsResponse> => {\n\n const res = await fetch(getGetExtractCitationsUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getExtractCitationsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getExtractCitationsResponse\n}\n\n\n\nexport type listExtractsResponse200 = {\n data: ListExtractsEnvelope\n status: 200\n}\n\nexport type listExtractsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listExtractsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listExtractsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listExtractsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listExtractsResponseSuccess = (listExtractsResponse200) & {\n headers: Headers;\n};\nexport type listExtractsResponseError = (listExtractsResponse400 | listExtractsResponse401 | listExtractsResponse409 | listExtractsResponse500) & {\n headers: Headers;\n};\n\nexport type listExtractsResponse = (listExtractsResponseSuccess | listExtractsResponseError)\n\nexport const getListExtractsUrl = (params?: ListExtractsParams,) => {\n const normalizedParams = new URLSearchParams();\n const deepObjectEntries: string[] = [];\n\n Object.entries(params || {}).forEach(([key, value]) => {\n const deepObjectParameters = [\"scope\"];\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && deepObjectParameters.includes(key)) {\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (subValue !== undefined) {\n deepObjectEntries.push(encodeURIComponent(key) + '[' + encodeURIComponent(subKey) + ']=' + (subValue === null ? 'null' : encodeURIComponent(String(subValue))));\n }\n });\n return;\n }\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = [normalizedParams.toString(), deepObjectEntries.join('&')].filter(Boolean).join('&');\n\n return stringifiedParams.length > 0 ? `/v1/extracts?${stringifiedParams}` : `/v1/extracts`\n}\n\n/**\n * List all extracts with pagination, filtering, and sorting.\n *\n * **Scope Filtering:**\n *\n * Use bracket notation to filter by scope keys:\n * - `scope[claim_id]=abc-123`\n *\n * Multiple scope filters can be combined (AND logic).\n * @summary List extracts\n */\nexport const listExtracts = async (params?: ListExtractsParams, options?: RequestInit): Promise<listExtractsResponse> => {\n\n const res = await fetch(getListExtractsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listExtractsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listExtractsResponse\n}\n\n\n\nexport type getProfileResponse200 = {\n data: GetProfileEnvelope\n status: 200\n}\n\nexport type getProfileResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getProfileResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getProfileResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getProfileResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getProfileResponseSuccess = (getProfileResponse200) & {\n headers: Headers;\n};\nexport type getProfileResponseError = (getProfileResponse400 | getProfileResponse401 | getProfileResponse409 | getProfileResponse500) & {\n headers: Headers;\n};\n\nexport type getProfileResponse = (getProfileResponseSuccess | getProfileResponseError)\n\nexport const getGetProfileUrl = () => {\n\n\n\n\n return `/v1/profile`\n}\n\n/**\n * Retrieve the current user's profile information. This endpoint requires a user session and cannot be used with API Keys.\n * @summary Get profile\n */\nexport const getProfile = async ( options?: RequestInit): Promise<getProfileResponse> => {\n\n const res = await fetch(getGetProfileUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getProfileResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getProfileResponse\n}\n\n\n\nexport type listTeamMembersResponse200 = {\n data: ListTeamMembersEnvelope\n status: 200\n}\n\nexport type listTeamMembersResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listTeamMembersResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listTeamMembersResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listTeamMembersResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listTeamMembersResponseSuccess = (listTeamMembersResponse200) & {\n headers: Headers;\n};\nexport type listTeamMembersResponseError = (listTeamMembersResponse400 | listTeamMembersResponse401 | listTeamMembersResponse409 | listTeamMembersResponse500) & {\n headers: Headers;\n};\n\nexport type listTeamMembersResponse = (listTeamMembersResponseSuccess | listTeamMembersResponseError)\n\nexport const getListTeamMembersUrl = () => {\n\n\n\n\n return `/v1/team/members`\n}\n\n/**\n * List all members in the current tenant.\n * @summary List team members\n */\nexport const listTeamMembers = async ( options?: RequestInit): Promise<listTeamMembersResponse> => {\n\n const res = await fetch(getListTeamMembersUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listTeamMembersResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listTeamMembersResponse\n}\n\n\n\nexport type inviteTeamMemberResponse201 = {\n data: InviteTeamMemberEnvelope\n status: 201\n}\n\nexport type inviteTeamMemberResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type inviteTeamMemberResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type inviteTeamMemberResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type inviteTeamMemberResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type inviteTeamMemberResponseSuccess = (inviteTeamMemberResponse201) & {\n headers: Headers;\n};\nexport type inviteTeamMemberResponseError = (inviteTeamMemberResponse400 | inviteTeamMemberResponse401 | inviteTeamMemberResponse409 | inviteTeamMemberResponse500) & {\n headers: Headers;\n};\n\nexport type inviteTeamMemberResponse = (inviteTeamMemberResponseSuccess | inviteTeamMemberResponseError)\n\nexport const getInviteTeamMemberUrl = () => {\n\n\n\n\n return `/v1/team/invitations`\n}\n\n/**\n * Invite an email address to join the current tenant. The invitee receives an email and joins at the `member` role once they accept; promote them afterwards with `PATCH /v1/team/members/{id}`.\n *\n * Requires the `teams:write` permission.\n *\n * Returns `409` if the address already has a pending invitation or is already a member.\n * @summary Invite a team member\n */\nexport const inviteTeamMember = async (inviteTeamMemberBody?: InviteTeamMemberBody, options?: RequestInit): Promise<inviteTeamMemberResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getInviteTeamMemberUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(inviteTeamMemberBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: inviteTeamMemberResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as inviteTeamMemberResponse\n}\n\n\n\nexport type listTeamInvitationsResponse200 = {\n data: ListTeamInvitationsEnvelope\n status: 200\n}\n\nexport type listTeamInvitationsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listTeamInvitationsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listTeamInvitationsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listTeamInvitationsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listTeamInvitationsResponseSuccess = (listTeamInvitationsResponse200) & {\n headers: Headers;\n};\nexport type listTeamInvitationsResponseError = (listTeamInvitationsResponse400 | listTeamInvitationsResponse401 | listTeamInvitationsResponse409 | listTeamInvitationsResponse500) & {\n headers: Headers;\n};\n\nexport type listTeamInvitationsResponse = (listTeamInvitationsResponseSuccess | listTeamInvitationsResponseError)\n\nexport const getListTeamInvitationsUrl = () => {\n\n\n\n\n return `/v1/team/invitations`\n}\n\n/**\n * List the invitations for the current tenant that are still awaiting acceptance. Accepted, revoked and expired invitations are not returned.\n *\n * Invitees are not team members yet, so they do not appear in `GET /v1/team/members`. A member-management screen shows both by merging the two lists.\n *\n * Requires the `teams:write` permission.\n * @summary List pending team invitations\n */\nexport const listTeamInvitations = async ( options?: RequestInit): Promise<listTeamInvitationsResponse> => {\n\n const res = await fetch(getListTeamInvitationsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listTeamInvitationsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listTeamInvitationsResponse\n}\n\n\n\nexport type revokeTeamInvitationResponse204 = {\n data: void\n status: 204\n}\n\nexport type revokeTeamInvitationResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type revokeTeamInvitationResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type revokeTeamInvitationResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type revokeTeamInvitationResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type revokeTeamInvitationResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type revokeTeamInvitationResponseSuccess = (revokeTeamInvitationResponse204) & {\n headers: Headers;\n};\nexport type revokeTeamInvitationResponseError = (revokeTeamInvitationResponse400 | revokeTeamInvitationResponse401 | revokeTeamInvitationResponse404 | revokeTeamInvitationResponse409 | revokeTeamInvitationResponse500) & {\n headers: Headers;\n};\n\nexport type revokeTeamInvitationResponse = (revokeTeamInvitationResponseSuccess | revokeTeamInvitationResponseError)\n\nexport const getRevokeTeamInvitationUrl = (invitationId: string,) => {\n\n\n\n\n return `/v1/team/invitations/${invitationId}`\n}\n\n/**\n * Cancel a pending invitation. The link that was emailed to the invitee stops working, and the address becomes free to invite again.\n *\n * Idempotent: an invitation that was already accepted, revoked or expired also returns `204`.\n *\n * Requires the `teams:write` permission.\n *\n * Returns `404` for an unknown invitation or one that belongs to another tenant.\n * @summary Revoke a team invitation\n */\nexport const revokeTeamInvitation = async (invitationId: string, options?: RequestInit): Promise<revokeTeamInvitationResponse> => {\n\n const res = await fetch(getRevokeTeamInvitationUrl(invitationId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: revokeTeamInvitationResponse['data'] = body ? JSON.parse(body) : undefined\n return { data, status: res.status, headers: res.headers } as revokeTeamInvitationResponse\n}\n\n\n\nexport type resendTeamInvitationResponse200 = {\n data: ResendTeamInvitationEnvelope\n status: 200\n}\n\nexport type resendTeamInvitationResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type resendTeamInvitationResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type resendTeamInvitationResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type resendTeamInvitationResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type resendTeamInvitationResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type resendTeamInvitationResponseSuccess = (resendTeamInvitationResponse200) & {\n headers: Headers;\n};\nexport type resendTeamInvitationResponseError = (resendTeamInvitationResponse400 | resendTeamInvitationResponse401 | resendTeamInvitationResponse404 | resendTeamInvitationResponse409 | resendTeamInvitationResponse500) & {\n headers: Headers;\n};\n\nexport type resendTeamInvitationResponse = (resendTeamInvitationResponseSuccess | resendTeamInvitationResponseError)\n\nexport const getResendTeamInvitationUrl = (invitationId: string,) => {\n\n\n\n\n return `/v1/team/invitations/${invitationId}/resend`\n}\n\n/**\n * Email the invitation to its recipient again, for an invite that never arrived. The invitation keeps its `id` and its original expiry — this re-sends the existing link rather than issuing a new one.\n *\n * To give someone a genuinely fresh 5 days, revoke the invitation and send a new one instead.\n *\n * Requires the `teams:write` permission.\n *\n * Returns `409` if the invitation is no longer pending — it was accepted, revoked or expired underneath the caller — and `404` for an unknown invitation or one that belongs to another tenant.\n * @summary Resend a team invitation\n */\nexport const resendTeamInvitation = async (invitationId: string, options?: RequestInit): Promise<resendTeamInvitationResponse> => {\n\n const res = await fetch(getResendTeamInvitationUrl(invitationId),\n {\n ...options,\n method: 'POST'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: resendTeamInvitationResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as resendTeamInvitationResponse\n}\n\n\n\nexport type updateMemberRoleResponse200 = {\n data: UpdateMemberRoleEnvelope\n status: 200\n}\n\nexport type updateMemberRoleResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateMemberRoleResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateMemberRoleResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateMemberRoleResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateMemberRoleResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateMemberRoleResponseSuccess = (updateMemberRoleResponse200) & {\n headers: Headers;\n};\nexport type updateMemberRoleResponseError = (updateMemberRoleResponse400 | updateMemberRoleResponse401 | updateMemberRoleResponse404 | updateMemberRoleResponse409 | updateMemberRoleResponse500) & {\n headers: Headers;\n};\n\nexport type updateMemberRoleResponse = (updateMemberRoleResponseSuccess | updateMemberRoleResponseError)\n\nexport const getUpdateMemberRoleUrl = (id: string,) => {\n\n\n\n\n return `/v1/team/members/${id}`\n}\n\n/**\n * Change the role of a team member.\n * @summary Update member role\n */\nexport const updateMemberRole = async (id: string,\n updateMemberRoleBody?: UpdateMemberRoleBody, options?: RequestInit): Promise<updateMemberRoleResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateMemberRoleUrl(id),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateMemberRoleBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateMemberRoleResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateMemberRoleResponse\n}\n\n\n\nexport type removeMemberResponse204 = {\n data: void\n status: 204\n}\n\nexport type removeMemberResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type removeMemberResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type removeMemberResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type removeMemberResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type removeMemberResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type removeMemberResponseSuccess = (removeMemberResponse204) & {\n headers: Headers;\n};\nexport type removeMemberResponseError = (removeMemberResponse400 | removeMemberResponse401 | removeMemberResponse404 | removeMemberResponse409 | removeMemberResponse500) & {\n headers: Headers;\n};\n\nexport type removeMemberResponse = (removeMemberResponseSuccess | removeMemberResponseError)\n\nexport const getRemoveMemberUrl = (id: string,) => {\n\n\n\n\n return `/v1/team/members/${id}`\n}\n\n/**\n * Soft-delete a team member, revoking access on the next token refresh.\n * @summary Remove team member\n */\nexport const removeMember = async (id: string, options?: RequestInit): Promise<removeMemberResponse> => {\n\n const res = await fetch(getRemoveMemberUrl(id),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: removeMemberResponse['data'] = body ? JSON.parse(body) : undefined\n return { data, status: res.status, headers: res.headers } as removeMemberResponse\n}\n\n\n\nexport type createSecretResponse201 = {\n data: CreateSecretEnvelope\n status: 201\n}\n\nexport type createSecretResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createSecretResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createSecretResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createSecretResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createSecretResponseSuccess = (createSecretResponse201) & {\n headers: Headers;\n};\nexport type createSecretResponseError = (createSecretResponse400 | createSecretResponse401 | createSecretResponse409 | createSecretResponse500) & {\n headers: Headers;\n};\n\nexport type createSecretResponse = (createSecretResponseSuccess | createSecretResponseError)\n\nexport const getCreateSecretUrl = () => {\n\n\n\n\n return `/v1/secrets`\n}\n\n/**\n * Create an organization-level secret. The value is encrypted at rest and **write-only** — no endpoint ever returns it.\n *\n * Requires the `secrets:write` permission. Env keys used by the worker runtime itself (e.g. `OPENAI_API_KEY`, `AVALLON_*`, `AWS_*`) are reserved and rejected.\n * @summary Create a secret\n */\nexport const createSecret = async (createSecretBody?: CreateSecretBody, options?: RequestInit): Promise<createSecretResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateSecretUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createSecretBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createSecretResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createSecretResponse\n}\n\n\n\nexport type listSecretsResponse200 = {\n data: ListSecretsEnvelope\n status: 200\n}\n\nexport type listSecretsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listSecretsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listSecretsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listSecretsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listSecretsResponseSuccess = (listSecretsResponse200) & {\n headers: Headers;\n};\nexport type listSecretsResponseError = (listSecretsResponse400 | listSecretsResponse401 | listSecretsResponse409 | listSecretsResponse500) & {\n headers: Headers;\n};\n\nexport type listSecretsResponse = (listSecretsResponseSuccess | listSecretsResponseError)\n\nexport const getListSecretsUrl = (params?: ListSecretsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/secrets?${stringifiedParams}` : `/v1/secrets`\n}\n\n/**\n * List the organization's secrets with pagination and sorting. Values are never included. Requires the `secrets:read` permission.\n * @summary List secrets\n */\nexport const listSecrets = async (params?: ListSecretsParams, options?: RequestInit): Promise<listSecretsResponse> => {\n\n const res = await fetch(getListSecretsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listSecretsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listSecretsResponse\n}\n\n\n\nexport type getSecretResponse200 = {\n data: GetSecretEnvelope\n status: 200\n}\n\nexport type getSecretResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getSecretResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getSecretResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getSecretResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getSecretResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getSecretResponseSuccess = (getSecretResponse200) & {\n headers: Headers;\n};\nexport type getSecretResponseError = (getSecretResponse400 | getSecretResponse401 | getSecretResponse404 | getSecretResponse409 | getSecretResponse500) & {\n headers: Headers;\n};\n\nexport type getSecretResponse = (getSecretResponseSuccess | getSecretResponseError)\n\nexport const getGetSecretUrl = (secretId: string,) => {\n\n\n\n\n return `/v1/secrets/${secretId}`\n}\n\n/**\n * Get a secret's metadata. The value is never included. Requires the `secrets:read` permission.\n * @summary Get secret\n */\nexport const getSecret = async (secretId: string, options?: RequestInit): Promise<getSecretResponse> => {\n\n const res = await fetch(getGetSecretUrl(secretId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getSecretResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getSecretResponse\n}\n\n\n\nexport type updateSecretResponse200 = {\n data: UpdateSecretEnvelope\n status: 200\n}\n\nexport type updateSecretResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateSecretResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateSecretResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateSecretResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateSecretResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateSecretResponseSuccess = (updateSecretResponse200) & {\n headers: Headers;\n};\nexport type updateSecretResponseError = (updateSecretResponse400 | updateSecretResponse401 | updateSecretResponse404 | updateSecretResponse409 | updateSecretResponse500) & {\n headers: Headers;\n};\n\nexport type updateSecretResponse = (updateSecretResponseSuccess | updateSecretResponseError)\n\nexport const getUpdateSecretUrl = (secretId: string,) => {\n\n\n\n\n return `/v1/secrets/${secretId}`\n}\n\n/**\n * Update a secret's display name or description, or rotate its live or test value. Rotation overwrites the stored value — previous values are not retrievable.\n *\n * The `env_key` is immutable: consumers of the secret receive the value under that key, so changing it would silently break them. Create a new secret instead.\n *\n * Requires the `secrets:write` permission.\n * @summary Update secret\n */\nexport const updateSecret = async (secretId: string,\n updateSecretBody?: UpdateSecretBody, options?: RequestInit): Promise<updateSecretResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateSecretUrl(secretId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateSecretBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateSecretResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateSecretResponse\n}\n\n\n\nexport type deleteSecretResponse200 = {\n data: DeleteSecretEnvelope\n status: 200\n}\n\nexport type deleteSecretResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteSecretResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteSecretResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteSecretResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteSecretResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteSecretResponseSuccess = (deleteSecretResponse200) & {\n headers: Headers;\n};\nexport type deleteSecretResponseError = (deleteSecretResponse400 | deleteSecretResponse401 | deleteSecretResponse404 | deleteSecretResponse409 | deleteSecretResponse500) & {\n headers: Headers;\n};\n\nexport type deleteSecretResponse = (deleteSecretResponseSuccess | deleteSecretResponseError)\n\nexport const getDeleteSecretUrl = (secretId: string,) => {\n\n\n\n\n return `/v1/secrets/${secretId}`\n}\n\n/**\n * Delete a secret and detach it from all entities. Requires the `secrets:write` permission.\n * @summary Delete secret\n */\nexport const deleteSecret = async (secretId: string, options?: RequestInit): Promise<deleteSecretResponse> => {\n\n const res = await fetch(getDeleteSecretUrl(secretId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteSecretResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteSecretResponse\n}\n\n\n\nexport type createScheduleResponse201 = {\n data: CreateScheduleEnvelope\n status: 201\n}\n\nexport type createScheduleResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createScheduleResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createScheduleResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createScheduleResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createScheduleResponseSuccess = (createScheduleResponse201) & {\n headers: Headers;\n};\nexport type createScheduleResponseError = (createScheduleResponse400 | createScheduleResponse401 | createScheduleResponse409 | createScheduleResponse500) & {\n headers: Headers;\n};\n\nexport type createScheduleResponse = (createScheduleResponseSuccess | createScheduleResponseError)\n\nexport const getCreateScheduleUrl = () => {\n\n\n\n\n return `/v1/schedules`\n}\n\n/**\n * Create a schedule that performs an action, either repeatedly or once.\n *\n * `action` describes **what** happens — today only `trigger_worker`, which starts a worker run with the given scope. `rule` describes **when**: `recurring` carries one or more `patterns`, and fires whenever any of them comes round. A pattern fires every hour at `minute`, narrowed by `hours` and `weekdays` — so `hours: [9]` is daily at 09:00, `hours: [12], weekdays: [1]` is Mondays at noon, and `hours: [9, 13, 17], weekdays: [1, 2, 3, 4, 5]` is three times a day on weekdays. Give a second pattern to mix cadences: hourly on weekdays plus 09:00, 11:00 and 18:00 at weekends is two patterns on one schedule. Patterns overlap harmlessly — two that land on the same minute fire once. Every set is read in the schedule's own time zone — an IANA identifier such as `America/Chicago`, resolved across DST transitions. `once` fires a single time at a UTC instant.\n *\n * `environments` says **which worker version** each occurrence runs: `live` resolves the worker at its live version, `test` at its test version. Give both to soak a candidate version on the same cadence and scope as production — every occurrence then fires twice, producing one run per environment. Omit it to fire in `live` only.\n *\n * The response's `next_run_at` is the first occurrence strictly after the moment of creation; a rule that resolves to no such occurrence is rejected. Create with `enabled: false` to stage a recurring schedule without letting it fire. A one-off is always enabled: delete it to cancel it, and its `next_run_at` becomes null once it has fired.\n *\n * Requires the `schedules:write` permission.\n * @summary Create a schedule\n */\nexport const createSchedule = async (createScheduleBody?: CreateScheduleBody, options?: RequestInit): Promise<createScheduleResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateScheduleUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createScheduleBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createScheduleResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createScheduleResponse\n}\n\n\n\nexport type listSchedulesResponse200 = {\n data: ListSchedulesEnvelope\n status: 200\n}\n\nexport type listSchedulesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listSchedulesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listSchedulesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listSchedulesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listSchedulesResponseSuccess = (listSchedulesResponse200) & {\n headers: Headers;\n};\nexport type listSchedulesResponseError = (listSchedulesResponse400 | listSchedulesResponse401 | listSchedulesResponse409 | listSchedulesResponse500) & {\n headers: Headers;\n};\n\nexport type listSchedulesResponse = (listSchedulesResponseSuccess | listSchedulesResponseError)\n\nexport const getListSchedulesUrl = (params?: ListSchedulesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/schedules?${stringifiedParams}` : `/v1/schedules`\n}\n\n/**\n * List the organization's schedules. Requires the `schedules:read` permission.\n * @summary List schedules\n */\nexport const listSchedules = async (params?: ListSchedulesParams, options?: RequestInit): Promise<listSchedulesResponse> => {\n\n const res = await fetch(getListSchedulesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listSchedulesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listSchedulesResponse\n}\n\n\n\nexport type getScheduleResponse200 = {\n data: GetScheduleEnvelope\n status: 200\n}\n\nexport type getScheduleResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getScheduleResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getScheduleResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getScheduleResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getScheduleResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getScheduleResponseSuccess = (getScheduleResponse200) & {\n headers: Headers;\n};\nexport type getScheduleResponseError = (getScheduleResponse400 | getScheduleResponse401 | getScheduleResponse404 | getScheduleResponse409 | getScheduleResponse500) & {\n headers: Headers;\n};\n\nexport type getScheduleResponse = (getScheduleResponseSuccess | getScheduleResponseError)\n\nexport const getGetScheduleUrl = (scheduleId: string,) => {\n\n\n\n\n return `/v1/schedules/${scheduleId}`\n}\n\n/**\n * Retrieve a single schedule. Requires the `schedules:read` permission.\n * @summary Get a schedule\n */\nexport const getSchedule = async (scheduleId: string, options?: RequestInit): Promise<getScheduleResponse> => {\n\n const res = await fetch(getGetScheduleUrl(scheduleId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getScheduleResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getScheduleResponse\n}\n\n\n\nexport type updateScheduleResponse200 = {\n data: UpdateScheduleEnvelope\n status: 200\n}\n\nexport type updateScheduleResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateScheduleResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateScheduleResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateScheduleResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateScheduleResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateScheduleResponseSuccess = (updateScheduleResponse200) & {\n headers: Headers;\n};\nexport type updateScheduleResponseError = (updateScheduleResponse400 | updateScheduleResponse401 | updateScheduleResponse404 | updateScheduleResponse409 | updateScheduleResponse500) & {\n headers: Headers;\n};\n\nexport type updateScheduleResponse = (updateScheduleResponseSuccess | updateScheduleResponseError)\n\nexport const getUpdateScheduleUrl = (scheduleId: string,) => {\n\n\n\n\n return `/v1/schedules/${scheduleId}`\n}\n\n/**\n * Update a schedule's rule, environments, name, or enabled state.\n *\n * Changing the rule moves `next_run_at` to the first occurrence after the update; a rule that resolves to no such occurrence is rejected. One-off schedules are always enabled — delete one to cancel it before it fires.\n *\n * `environments` replaces the whole list rather than adding to it. It takes effect from the next occurrence: one already due keeps the environments it was created with.\n * @summary Update a schedule\n */\nexport const updateSchedule = async (scheduleId: string,\n updateScheduleBody?: UpdateScheduleBody, options?: RequestInit): Promise<updateScheduleResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateScheduleUrl(scheduleId),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateScheduleBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateScheduleResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateScheduleResponse\n}\n\n\n\nexport type deleteScheduleResponse200 = {\n data: DeleteScheduleEnvelope\n status: 200\n}\n\nexport type deleteScheduleResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteScheduleResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteScheduleResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteScheduleResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteScheduleResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteScheduleResponseSuccess = (deleteScheduleResponse200) & {\n headers: Headers;\n};\nexport type deleteScheduleResponseError = (deleteScheduleResponse400 | deleteScheduleResponse401 | deleteScheduleResponse404 | deleteScheduleResponse409 | deleteScheduleResponse500) & {\n headers: Headers;\n};\n\nexport type deleteScheduleResponse = (deleteScheduleResponseSuccess | deleteScheduleResponseError)\n\nexport const getDeleteScheduleUrl = (scheduleId: string,) => {\n\n\n\n\n return `/v1/schedules/${scheduleId}`\n}\n\n/**\n * Delete a schedule so it stops firing.\n * @summary Delete a schedule\n */\nexport const deleteSchedule = async (scheduleId: string, options?: RequestInit): Promise<deleteScheduleResponse> => {\n\n const res = await fetch(getDeleteScheduleUrl(scheduleId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteScheduleResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteScheduleResponse\n}\n\n\n\nexport type listDispatchesResponse200 = {\n data: ListDispatchesEnvelope\n status: 200\n}\n\nexport type listDispatchesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listDispatchesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listDispatchesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listDispatchesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listDispatchesResponseSuccess = (listDispatchesResponse200) & {\n headers: Headers;\n};\nexport type listDispatchesResponseError = (listDispatchesResponse400 | listDispatchesResponse401 | listDispatchesResponse409 | listDispatchesResponse500) & {\n headers: Headers;\n};\n\nexport type listDispatchesResponse = (listDispatchesResponseSuccess | listDispatchesResponseError)\n\nexport const getListDispatchesUrl = (params?: ListDispatchesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/dispatches?${stringifiedParams}` : `/v1/dispatches`\n}\n\n/**\n * List the organization's dispatches, newest occurrence first.\n *\n * A dispatch is one occurrence of a trigger in one environment, carried out on its own: a schedule produces one per environment it runs in every time it fires, an inbound email produces one for the environment its inbox received it in, and a resolved information request produces one that restarts the worker that asked. Listing them shows what a trigger has actually done, including occurrences that never produced anything.\n *\n * - `pending` — not carried out yet: waiting to be picked up, in flight, or waiting on a retry after an earlier pickup did not complete.\n * - `dispatched` — carried out.\n * - `abandoned` — gave up, because the occurrence passed its `expires_at` deadline before it could be carried out.\n *\n * `attempts` counts how many times the occurrence has been picked up, not how many times it failed: a dispatch carried out on the first pickup ends at `attempts: 1`, and a higher count means earlier pickups did not complete.\n *\n * `target` is what the occurrence produced — a worker run, or an extractor job for an email whose inbox extracts. It is null until the dispatch is carried out, and stays null on one that was abandoned.\n *\n * Narrow to one trigger with `trigger_type` and `trigger_id` — the schedule's ID for a schedule, the email's ID for an email, the request's ID for an information request. `trigger_id` requires `trigger_type`.\n * @summary List dispatches\n */\nexport const listDispatches = async (params?: ListDispatchesParams, options?: RequestInit): Promise<listDispatchesResponse> => {\n\n const res = await fetch(getListDispatchesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listDispatchesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listDispatchesResponse\n}\n\n\n\nexport type listNotificationsResponse200 = {\n data: ListNotificationsEnvelope\n status: 200\n}\n\nexport type listNotificationsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listNotificationsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listNotificationsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listNotificationsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listNotificationsResponseSuccess = (listNotificationsResponse200) & {\n headers: Headers;\n};\nexport type listNotificationsResponseError = (listNotificationsResponse400 | listNotificationsResponse401 | listNotificationsResponse409 | listNotificationsResponse500) & {\n headers: Headers;\n};\n\nexport type listNotificationsResponse = (listNotificationsResponseSuccess | listNotificationsResponseError)\n\nexport const getListNotificationsUrl = (params?: ListNotificationsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/notifications?${stringifiedParams}` : `/v1/notifications`\n}\n\n/**\n * List the organization's notifications, newest first.\n *\n * A notification is a durable record that something happened and that somebody should know about it. Notifications are not yet addressed to individual people, so everyone in the organization sees the same feed.\n *\n * `title` and `body` are the display text — render them as-is rather than deriving your own wording from `type`, so every surface says the same thing. `data` carries the identifiers the notification points at, so a client can link to the thing it is about; which keys are present depends on `type`.\n *\n * `worker_issue_reported` means a worker hit a problem during a run and reported it; its `body` is the worker's own message and its `data` is the reporting `worker_id` and `run_id`. `information_request_created` means a worker paused to ask a person a question; its `data` is the `request_id` to answer through `POST /v1/information-requests/{informationRequestId}/resolve`.\n * @summary List notifications\n */\nexport const listNotifications = async (params?: ListNotificationsParams, options?: RequestInit): Promise<listNotificationsResponse> => {\n\n const res = await fetch(getListNotificationsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listNotificationsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listNotificationsResponse\n}\n\n\n\nexport type getNotificationResponse200 = {\n data: GetNotificationEnvelope\n status: 200\n}\n\nexport type getNotificationResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getNotificationResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getNotificationResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getNotificationResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getNotificationResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getNotificationResponseSuccess = (getNotificationResponse200) & {\n headers: Headers;\n};\nexport type getNotificationResponseError = (getNotificationResponse400 | getNotificationResponse401 | getNotificationResponse404 | getNotificationResponse409 | getNotificationResponse500) & {\n headers: Headers;\n};\n\nexport type getNotificationResponse = (getNotificationResponseSuccess | getNotificationResponseError)\n\nexport const getGetNotificationUrl = (notificationId: string,) => {\n\n\n\n\n return `/v1/notifications/${notificationId}`\n}\n\n/**\n * Retrieve a single notification by its ID, the id a `notification.created` webhook delivery carries.\n *\n * `title` and `body` are the display text — render them as-is rather than deriving your own wording from `type`, so every surface says the same thing. `data` carries the identifiers the notification points at, so a client can link to the thing it is about; which keys are present depends on `type`.\n *\n * `worker_issue_reported` means a worker hit a problem during a run and reported it; its `body` is the worker's own message and its `data` is the reporting `worker_id` and `run_id`. `information_request_created` means a worker paused to ask a person a question; its `data` is the `request_id` to answer through `POST /v1/information-requests/{informationRequestId}/resolve`.\n * @summary Get notification\n */\nexport const getNotification = async (notificationId: string, options?: RequestInit): Promise<getNotificationResponse> => {\n\n const res = await fetch(getGetNotificationUrl(notificationId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getNotificationResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getNotificationResponse\n}\n\n\n\nexport type createInformationRequestResponse201 = {\n data: CreateInformationRequestEnvelope\n status: 201\n}\n\nexport type createInformationRequestResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createInformationRequestResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createInformationRequestResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createInformationRequestResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createInformationRequestResponseSuccess = (createInformationRequestResponse201) & {\n headers: Headers;\n};\nexport type createInformationRequestResponseError = (createInformationRequestResponse400 | createInformationRequestResponse401 | createInformationRequestResponse409 | createInformationRequestResponse500) & {\n headers: Headers;\n};\n\nexport type createInformationRequestResponse = (createInformationRequestResponseSuccess | createInformationRequestResponseError)\n\nexport const getCreateInformationRequestUrl = () => {\n\n\n\n\n return `/v1/information-requests`\n}\n\n/**\n * Ask a person for a specific fact you cannot establish yourself.\n *\n * Use this when one missing piece of information is blocking you and only a human can supply it — which claim a document belongs to, which of two policies applies, what an ambiguous reference means. Ask one answerable question per request, and write it so it stands on its own: whoever resolves it sees your title and your question and nothing else.\n *\n * Immediately link the request to its case with `addCaseLinks` and `entity_type: \"information_request\"`. That is how it reaches the person working that case; unlinked, it sits in a queue nobody is looking at. Leave it unlinked only when you genuinely cannot tell which case it belongs to.\n *\n * **This does not block or suspend you.** Nobody resolves it while this run is happening. Carry on with what you can still do, or stop, and say in your final report that you asked.\n *\n * Do not use it for progress updates, or for anything you can work out yourself.\n * @summary Ask for information\n */\nexport const createInformationRequest = async (createInformationRequestBody?: CreateInformationRequestBody, options?: RequestInit): Promise<createInformationRequestResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateInformationRequestUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createInformationRequestBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createInformationRequestResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createInformationRequestResponse\n}\n\n\n\nexport type listInformationRequestsResponse200 = {\n data: ListInformationRequestsEnvelope\n status: 200\n}\n\nexport type listInformationRequestsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listInformationRequestsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listInformationRequestsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listInformationRequestsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listInformationRequestsResponseSuccess = (listInformationRequestsResponse200) & {\n headers: Headers;\n};\nexport type listInformationRequestsResponseError = (listInformationRequestsResponse400 | listInformationRequestsResponse401 | listInformationRequestsResponse409 | listInformationRequestsResponse500) & {\n headers: Headers;\n};\n\nexport type listInformationRequestsResponse = (listInformationRequestsResponseSuccess | listInformationRequestsResponseError)\n\nexport const getListInformationRequestsUrl = (params?: ListInformationRequestsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/information-requests?${stringifiedParams}` : `/v1/information-requests`\n}\n\n/**\n * List the organization's information requests, newest first.\n *\n * An information request is a specific question a worker could not settle on its own and needs a person to resolve. It stays open until somebody resolves it; there is no separate status field.\n * @summary List information requests\n */\nexport const listInformationRequests = async (params?: ListInformationRequestsParams, options?: RequestInit): Promise<listInformationRequestsResponse> => {\n\n const res = await fetch(getListInformationRequestsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listInformationRequestsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listInformationRequestsResponse\n}\n\n\n\nexport type getInformationRequestResponse200 = {\n data: GetInformationRequestEnvelope\n status: 200\n}\n\nexport type getInformationRequestResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getInformationRequestResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getInformationRequestResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getInformationRequestResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getInformationRequestResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getInformationRequestResponseSuccess = (getInformationRequestResponse200) & {\n headers: Headers;\n};\nexport type getInformationRequestResponseError = (getInformationRequestResponse400 | getInformationRequestResponse401 | getInformationRequestResponse404 | getInformationRequestResponse409 | getInformationRequestResponse500) & {\n headers: Headers;\n};\n\nexport type getInformationRequestResponse = (getInformationRequestResponseSuccess | getInformationRequestResponseError)\n\nexport const getGetInformationRequestUrl = (informationRequestId: string,) => {\n\n\n\n\n return `/v1/information-requests/${informationRequestId}`\n}\n\n/**\n * Retrieve a single information request by its ID.\n * @summary Get information request\n */\nexport const getInformationRequest = async (informationRequestId: string, options?: RequestInit): Promise<getInformationRequestResponse> => {\n\n const res = await fetch(getGetInformationRequestUrl(informationRequestId),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getInformationRequestResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getInformationRequestResponse\n}\n\n\n\nexport type resolveInformationRequestResponse200 = {\n data: ResolveInformationRequestEnvelope\n status: 200\n}\n\nexport type resolveInformationRequestResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type resolveInformationRequestResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type resolveInformationRequestResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type resolveInformationRequestResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type resolveInformationRequestResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type resolveInformationRequestResponseSuccess = (resolveInformationRequestResponse200) & {\n headers: Headers;\n};\nexport type resolveInformationRequestResponseError = (resolveInformationRequestResponse400 | resolveInformationRequestResponse401 | resolveInformationRequestResponse404 | resolveInformationRequestResponse409 | resolveInformationRequestResponse500) & {\n headers: Headers;\n};\n\nexport type resolveInformationRequestResponse = (resolveInformationRequestResponseSuccess | resolveInformationRequestResponseError)\n\nexport const getResolveInformationRequestUrl = (informationRequestId: string,) => {\n\n\n\n\n return `/v1/information-requests/${informationRequestId}/resolve`\n}\n\n/**\n * Resolve an open information request by providing an answer/resolution.\n * @summary Resolve information request\n */\nexport const resolveInformationRequest = async (informationRequestId: string,\n resolveInformationRequestBody?: ResolveInformationRequestBody, options?: RequestInit): Promise<resolveInformationRequestResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getResolveInformationRequestUrl(informationRequestId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(resolveInformationRequestBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: resolveInformationRequestResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as resolveInformationRequestResponse\n}\n\n\n\nexport type createToolResponse200 = {\n data: CreateToolEnvelope\n status: 200\n}\n\nexport type createToolResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createToolResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createToolResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createToolResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createToolResponseSuccess = (createToolResponse200) & {\n headers: Headers;\n};\nexport type createToolResponseError = (createToolResponse400 | createToolResponse401 | createToolResponse409 | createToolResponse500) & {\n headers: Headers;\n};\n\nexport type createToolResponse = (createToolResponseSuccess | createToolResponseError)\n\nexport const getCreateToolUrl = () => {\n\n\n\n\n return `/v1/tools`\n}\n\n/**\n * Create a new code tool that can be attached to agents. Provide the tool's name, code, and description.\n * @summary Create tool\n */\nexport const createTool = async (createToolBody?: CreateToolBody, options?: RequestInit): Promise<createToolResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateToolUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createToolBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createToolResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createToolResponse\n}\n\n\n\nexport type listToolsResponse200 = {\n data: ListToolsEnvelope\n status: 200\n}\n\nexport type listToolsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listToolsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listToolsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listToolsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listToolsResponseSuccess = (listToolsResponse200) & {\n headers: Headers;\n};\nexport type listToolsResponseError = (listToolsResponse400 | listToolsResponse401 | listToolsResponse409 | listToolsResponse500) & {\n headers: Headers;\n};\n\nexport type listToolsResponse = (listToolsResponseSuccess | listToolsResponseError)\n\nexport const getListToolsUrl = (params?: ListToolsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/tools?${stringifiedParams}` : `/v1/tools`\n}\n\n/**\n * List all code tools with sorting.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /worker/v1/tools`\n * @summary List tools\n */\nexport const listTools = async (params?: ListToolsParams, options?: RequestInit): Promise<listToolsResponse> => {\n\n const res = await fetch(getListToolsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listToolsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listToolsResponse\n}\n\n\n\nexport type deleteToolResponse200 = {\n data: DeleteToolEnvelope\n status: 200\n}\n\nexport type deleteToolResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteToolResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteToolResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteToolResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteToolResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteToolResponseSuccess = (deleteToolResponse200) & {\n headers: Headers;\n};\nexport type deleteToolResponseError = (deleteToolResponse400 | deleteToolResponse401 | deleteToolResponse404 | deleteToolResponse409 | deleteToolResponse500) & {\n headers: Headers;\n};\n\nexport type deleteToolResponse = (deleteToolResponseSuccess | deleteToolResponseError)\n\nexport const getDeleteToolUrl = (id: string,) => {\n\n\n\n\n return `/v1/tools/${id}`\n}\n\n/**\n * Delete a tool. Fails with a conflict when the tool is still attached to a voice agent, worker, or chat agent; detach it first.\n * @summary Delete tool\n */\nexport const deleteTool = async (id: string, options?: RequestInit): Promise<deleteToolResponse> => {\n\n const res = await fetch(getDeleteToolUrl(id),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteToolResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteToolResponse\n}\n\n\n\nexport type getToolResponse200 = {\n data: GetToolEnvelope\n status: 200\n}\n\nexport type getToolResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getToolResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getToolResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getToolResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getToolResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getToolResponseSuccess = (getToolResponse200) & {\n headers: Headers;\n};\nexport type getToolResponseError = (getToolResponse400 | getToolResponse401 | getToolResponse404 | getToolResponse409 | getToolResponse500) & {\n headers: Headers;\n};\n\nexport type getToolResponse = (getToolResponseSuccess | getToolResponseError)\n\nexport const getGetToolUrl = (id: string,) => {\n\n\n\n\n return `/v1/tools/${id}`\n}\n\n/**\n * Retrieve a single tool by ID at its newest config version, including its code, schema, description and attached secrets, plus the versions each environment runs.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /worker/v1/tools/{id}`\n * @summary Get tool\n */\nexport const getTool = async (id: string, options?: RequestInit): Promise<getToolResponse> => {\n\n const res = await fetch(getGetToolUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getToolResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getToolResponse\n}\n\n\n\nexport type updateToolResponse200 = {\n data: UpdateToolEnvelope\n status: 200\n}\n\nexport type updateToolResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateToolResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateToolResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateToolResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateToolResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateToolResponseSuccess = (updateToolResponse200) & {\n headers: Headers;\n};\nexport type updateToolResponseError = (updateToolResponse400 | updateToolResponse401 | updateToolResponse404 | updateToolResponse409 | updateToolResponse500) & {\n headers: Headers;\n};\n\nexport type updateToolResponse = (updateToolResponseSuccess | updateToolResponseError)\n\nexport const getUpdateToolUrl = (id: string,) => {\n\n\n\n\n return `/v1/tools/${id}`\n}\n\n/**\n * Update a code tool's name, description, code, or attached secrets. All fields are optional — only provided fields are updated.\n *\n * Changing the code, description or attached secrets creates a new config version; runs keep executing the versions promoted to live and test until that version is promoted. Renaming does not create a version.\n * @summary Update tool\n */\nexport const updateTool = async (id: string,\n updateToolBody?: UpdateToolBody, options?: RequestInit): Promise<updateToolResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateToolUrl(id),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateToolBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateToolResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateToolResponse\n}\n\n\n\nexport type executeCodeResponse200 = {\n data: ExecuteCodeEnvelope\n status: 200\n}\n\nexport type executeCodeResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type executeCodeResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type executeCodeResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type executeCodeResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type executeCodeResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type executeCodeResponseSuccess = (executeCodeResponse200) & {\n headers: Headers;\n};\nexport type executeCodeResponseError = (executeCodeResponse400 | executeCodeResponse401 | executeCodeResponse404 | executeCodeResponse409 | executeCodeResponse500) & {\n headers: Headers;\n};\n\nexport type executeCodeResponse = (executeCodeResponseSuccess | executeCodeResponseError)\n\nexport const getExecuteCodeUrl = (id: string,) => {\n\n\n\n\n return `/v1/tools/${id}/execute`\n}\n\n/**\n * Execute a code tool with the given parameters. Returns the result, any errors, and execution traces.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /worker/v1/tools/{id}/execute`\n * @summary Execute tool\n */\nexport const executeCode = async (id: string,\n executeCodeBody?: ExecuteCodeBody, options?: RequestInit): Promise<executeCodeResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getExecuteCodeUrl(id),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(executeCodeBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: executeCodeResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as executeCodeResponse\n}\n\n\n\nexport type listToolVersionsResponse200 = {\n data: ListToolVersionsEnvelope\n status: 200\n}\n\nexport type listToolVersionsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listToolVersionsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listToolVersionsResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listToolVersionsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listToolVersionsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listToolVersionsResponseSuccess = (listToolVersionsResponse200) & {\n headers: Headers;\n};\nexport type listToolVersionsResponseError = (listToolVersionsResponse400 | listToolVersionsResponse401 | listToolVersionsResponse404 | listToolVersionsResponse409 | listToolVersionsResponse500) & {\n headers: Headers;\n};\n\nexport type listToolVersionsResponse = (listToolVersionsResponseSuccess | listToolVersionsResponseError)\n\nexport const getListToolVersionsUrl = (id: string,\n params?: ListToolVersionsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/tools/${id}/versions?${stringifiedParams}` : `/v1/tools/${id}/versions`\n}\n\n/**\n * List all config versions for a tool, ordered by version (newest first by default).\n * @summary List tool versions\n */\nexport const listToolVersions = async (id: string,\n params?: ListToolVersionsParams, options?: RequestInit): Promise<listToolVersionsResponse> => {\n\n const res = await fetch(getListToolVersionsUrl(id,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listToolVersionsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listToolVersionsResponse\n}\n\n\n\nexport type getToolVersionResponse200 = {\n data: GetToolVersionEnvelope\n status: 200\n}\n\nexport type getToolVersionResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getToolVersionResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getToolVersionResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getToolVersionResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getToolVersionResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getToolVersionResponseSuccess = (getToolVersionResponse200) & {\n headers: Headers;\n};\nexport type getToolVersionResponseError = (getToolVersionResponse400 | getToolVersionResponse401 | getToolVersionResponse404 | getToolVersionResponse409 | getToolVersionResponse500) & {\n headers: Headers;\n};\n\nexport type getToolVersionResponse = (getToolVersionResponseSuccess | getToolVersionResponseError)\n\nexport const getGetToolVersionUrl = (id: string,\n version: number,) => {\n\n\n\n\n return `/v1/tools/${id}/versions/${version}`\n}\n\n/**\n * Retrieve a single tool config version: the tool's identity, the code, schema, description and attached secrets at that version, and version metadata.\n * @summary Get tool version\n */\nexport const getToolVersion = async (id: string,\n version: number, options?: RequestInit): Promise<getToolVersionResponse> => {\n\n const res = await fetch(getGetToolVersionUrl(id,version),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getToolVersionResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getToolVersionResponse\n}\n\n\n\nexport type promoteToolVersionResponse200 = {\n data: PromoteToolVersionEnvelope\n status: 200\n}\n\nexport type promoteToolVersionResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type promoteToolVersionResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type promoteToolVersionResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type promoteToolVersionResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type promoteToolVersionResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type promoteToolVersionResponseSuccess = (promoteToolVersionResponse200) & {\n headers: Headers;\n};\nexport type promoteToolVersionResponseError = (promoteToolVersionResponse400 | promoteToolVersionResponse401 | promoteToolVersionResponse404 | promoteToolVersionResponse409 | promoteToolVersionResponse500) & {\n headers: Headers;\n};\n\nexport type promoteToolVersionResponse = (promoteToolVersionResponseSuccess | promoteToolVersionResponseError)\n\nexport const getPromoteToolVersionUrl = (id: string,\n version: number,) => {\n\n\n\n\n return `/v1/tools/${id}/versions/${version}/promote`\n}\n\n/**\n * Select a tool config version for the live or test environment. Runs in that environment execute this version's code with this version's schema and attached secrets from then on.\n * @summary Promote tool version\n */\nexport const promoteToolVersion = async (id: string,\n version: number,\n promoteToolVersionBody?: PromoteToolVersionBody, options?: RequestInit): Promise<promoteToolVersionResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getPromoteToolVersionUrl(id,version),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(promoteToolVersionBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: promoteToolVersionResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as promoteToolVersionResponse\n}\n\n\n\nexport type getToolVersionChangeSummaryResponse200 = {\n data: GetToolVersionChangeSummaryEnvelope\n status: 200\n}\n\nexport type getToolVersionChangeSummaryResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getToolVersionChangeSummaryResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getToolVersionChangeSummaryResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getToolVersionChangeSummaryResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getToolVersionChangeSummaryResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getToolVersionChangeSummaryResponseSuccess = (getToolVersionChangeSummaryResponse200) & {\n headers: Headers;\n};\nexport type getToolVersionChangeSummaryResponseError = (getToolVersionChangeSummaryResponse400 | getToolVersionChangeSummaryResponse401 | getToolVersionChangeSummaryResponse404 | getToolVersionChangeSummaryResponse409 | getToolVersionChangeSummaryResponse500) & {\n headers: Headers;\n};\n\nexport type getToolVersionChangeSummaryResponse = (getToolVersionChangeSummaryResponseSuccess | getToolVersionChangeSummaryResponseError)\n\nexport const getGetToolVersionChangeSummaryUrl = (id: string,\n version: number,) => {\n\n\n\n\n return `/v1/tools/${id}/versions/${version}/change-summary`\n}\n\n/**\n * Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.\n * @summary Get tool version change summary\n */\nexport const getToolVersionChangeSummary = async (id: string,\n version: number, options?: RequestInit): Promise<getToolVersionChangeSummaryResponse> => {\n\n const res = await fetch(getGetToolVersionChangeSummaryUrl(id,version),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getToolVersionChangeSummaryResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getToolVersionChangeSummaryResponse\n}\n\n\n\nexport type workerListToolsResponse200 = {\n data: WorkerListToolsEnvelope\n status: 200\n}\n\nexport type workerListToolsResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type workerListToolsResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type workerListToolsResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type workerListToolsResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type workerListToolsResponseSuccess = (workerListToolsResponse200) & {\n headers: Headers;\n};\nexport type workerListToolsResponseError = (workerListToolsResponse400 | workerListToolsResponse401 | workerListToolsResponse409 | workerListToolsResponse500) & {\n headers: Headers;\n};\n\nexport type workerListToolsResponse = (workerListToolsResponseSuccess | workerListToolsResponseError)\n\nexport const getWorkerListToolsUrl = (params?: WorkerListToolsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/worker/v1/tools?${stringifiedParams}` : `/worker/v1/tools`\n}\n\n/**\n * List all code tools with sorting.\n * @deprecated\n * @summary List tools\n */\nexport const workerListTools = async (params?: WorkerListToolsParams, options?: RequestInit): Promise<workerListToolsResponse> => {\n\n const res = await fetch(getWorkerListToolsUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: workerListToolsResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as workerListToolsResponse\n}\n\n\n\nexport type workerGetToolResponse200 = {\n data: WorkerGetToolEnvelope\n status: 200\n}\n\nexport type workerGetToolResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type workerGetToolResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type workerGetToolResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type workerGetToolResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type workerGetToolResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type workerGetToolResponseSuccess = (workerGetToolResponse200) & {\n headers: Headers;\n};\nexport type workerGetToolResponseError = (workerGetToolResponse400 | workerGetToolResponse401 | workerGetToolResponse404 | workerGetToolResponse409 | workerGetToolResponse500) & {\n headers: Headers;\n};\n\nexport type workerGetToolResponse = (workerGetToolResponseSuccess | workerGetToolResponseError)\n\nexport const getWorkerGetToolUrl = (id: string,) => {\n\n\n\n\n return `/worker/v1/tools/${id}`\n}\n\n/**\n * Retrieve a single tool by ID at its newest config version, including its code, schema, description and attached secrets, plus the versions each environment runs.\n * @deprecated\n * @summary Get tool\n */\nexport const workerGetTool = async (id: string, options?: RequestInit): Promise<workerGetToolResponse> => {\n\n const res = await fetch(getWorkerGetToolUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: workerGetToolResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as workerGetToolResponse\n}\n\n\n\nexport type workerExecuteToolResponse200 = {\n data: WorkerExecuteToolEnvelope\n status: 200\n}\n\nexport type workerExecuteToolResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type workerExecuteToolResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type workerExecuteToolResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type workerExecuteToolResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type workerExecuteToolResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type workerExecuteToolResponseSuccess = (workerExecuteToolResponse200) & {\n headers: Headers;\n};\nexport type workerExecuteToolResponseError = (workerExecuteToolResponse400 | workerExecuteToolResponse401 | workerExecuteToolResponse404 | workerExecuteToolResponse409 | workerExecuteToolResponse500) & {\n headers: Headers;\n};\n\nexport type workerExecuteToolResponse = (workerExecuteToolResponseSuccess | workerExecuteToolResponseError)\n\nexport const getWorkerExecuteToolUrl = (id: string,) => {\n\n\n\n\n return `/worker/v1/tools/${id}/execute`\n}\n\n/**\n * Execute a code tool with the given parameters. Returns the result, any errors, and execution traces.\n * @deprecated\n * @summary Execute tool\n */\nexport const workerExecuteTool = async (id: string,\n workerExecuteToolBody?: WorkerExecuteToolBody, options?: RequestInit): Promise<workerExecuteToolResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getWorkerExecuteToolUrl(id),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(workerExecuteToolBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: workerExecuteToolResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as workerExecuteToolResponse\n}\n\n\n\nexport type notifyAdminResponse201 = {\n data: NotifyAdminEnvelope\n status: 201\n}\n\nexport type notifyAdminResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type notifyAdminResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type notifyAdminResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type notifyAdminResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type notifyAdminResponseSuccess = (notifyAdminResponse201) & {\n headers: Headers;\n};\nexport type notifyAdminResponseError = (notifyAdminResponse400 | notifyAdminResponse401 | notifyAdminResponse409 | notifyAdminResponse500) & {\n headers: Headers;\n};\n\nexport type notifyAdminResponse = (notifyAdminResponseSuccess | notifyAdminResponseError)\n\nexport const getNotifyAdminUrl = () => {\n\n\n\n\n return `/worker/v1/notifications`\n}\n\n/**\n * Report a problem to the people who run this organization.\n *\n * Use this for something a human has to resolve — a login that no longer works, a document you cannot read, a system that will not let you in, instructions that contradict what you found. The report goes to the organization's notifications; nobody sees it while the run is happening, so it does not unblock you now. Carry on with what you can still do, or stop, and say in your final report that you raised it.\n *\n * Do not use it for progress updates or for anything you can work around yourself.\n * @summary Notify an admin\n */\nexport const notifyAdmin = async (notifyAdminBody?: NotifyAdminBody, options?: RequestInit): Promise<notifyAdminResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getNotifyAdminUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(notifyAdminBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: notifyAdminResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as notifyAdminResponse\n}\n\n\n\nexport type uploadFileResponse202 = {\n data: UploadFileEnvelope\n status: 202\n}\n\nexport type uploadFileResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type uploadFileResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type uploadFileResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type uploadFileResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type uploadFileResponseSuccess = (uploadFileResponse202) & {\n headers: Headers;\n};\nexport type uploadFileResponseError = (uploadFileResponse400 | uploadFileResponse401 | uploadFileResponse409 | uploadFileResponse500) & {\n headers: Headers;\n};\n\nexport type uploadFileResponse = (uploadFileResponseSuccess | uploadFileResponseError)\n\nexport const getUploadFileUrl = () => {\n\n\n\n\n return `/v1/upload-file`\n}\n\n/**\n * Upload a file for processing by passing a URL to a file. Use this for uploading larger files.\n *\n * This endpoint returns an upload id that can be used to find the created artifacts using the list artifacts endpoint.\n * @summary Upload a file for processing\n */\nexport const uploadFile = async (uploadFileBody?: UploadFileBody, options?: RequestInit): Promise<uploadFileResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUploadFileUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(uploadFileBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: uploadFileResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as uploadFileResponse\n}\n\n\n\nexport type createAgentWebhookResponse200 = {\n data: CreateAgentWebhookEnvelope\n status: 200\n}\n\nexport type createAgentWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createAgentWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createAgentWebhookResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type createAgentWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createAgentWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createAgentWebhookResponseSuccess = (createAgentWebhookResponse200) & {\n headers: Headers;\n};\nexport type createAgentWebhookResponseError = (createAgentWebhookResponse400 | createAgentWebhookResponse401 | createAgentWebhookResponse404 | createAgentWebhookResponse409 | createAgentWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type createAgentWebhookResponse = (createAgentWebhookResponseSuccess | createAgentWebhookResponseError)\n\nexport const getCreateAgentWebhookUrl = (voiceAgentId: string,) => {\n\n\n\n\n return `/v1/voice-agents/${voiceAgentId}/webhooks`\n}\n\n/**\n * Create a webhook that fires when events occur for the specified voice agent.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/agents/{id}/webhooks`\n * @summary Create voice agent webhook\n */\nexport const createAgentWebhook = async (voiceAgentId: string,\n createAgentWebhookBody?: CreateAgentWebhookBody, options?: RequestInit): Promise<createAgentWebhookResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateAgentWebhookUrl(voiceAgentId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createAgentWebhookBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createAgentWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createAgentWebhookResponse\n}\n\n\n\nexport type listAgentWebhooksResponse200 = {\n data: ListAgentWebhooksEnvelope\n status: 200\n}\n\nexport type listAgentWebhooksResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listAgentWebhooksResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listAgentWebhooksResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listAgentWebhooksResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listAgentWebhooksResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listAgentWebhooksResponseSuccess = (listAgentWebhooksResponse200) & {\n headers: Headers;\n};\nexport type listAgentWebhooksResponseError = (listAgentWebhooksResponse400 | listAgentWebhooksResponse401 | listAgentWebhooksResponse404 | listAgentWebhooksResponse409 | listAgentWebhooksResponse500) & {\n headers: Headers;\n};\n\nexport type listAgentWebhooksResponse = (listAgentWebhooksResponseSuccess | listAgentWebhooksResponseError)\n\nexport const getListAgentWebhooksUrl = (voiceAgentId: string,\n params?: ListAgentWebhooksParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/voice-agents/${voiceAgentId}/webhooks?${stringifiedParams}` : `/v1/voice-agents/${voiceAgentId}/webhooks`\n}\n\n/**\n * List all webhooks configured for a specific voice agent.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents/{id}/webhooks`\n * @summary List voice agent webhooks\n */\nexport const listAgentWebhooks = async (voiceAgentId: string,\n params?: ListAgentWebhooksParams, options?: RequestInit): Promise<listAgentWebhooksResponse> => {\n\n const res = await fetch(getListAgentWebhooksUrl(voiceAgentId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listAgentWebhooksResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listAgentWebhooksResponse\n}\n\n\n\nexport type createInboxWebhookResponse200 = {\n data: CreateInboxWebhookEnvelope\n status: 200\n}\n\nexport type createInboxWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createInboxWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createInboxWebhookResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type createInboxWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createInboxWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createInboxWebhookResponseSuccess = (createInboxWebhookResponse200) & {\n headers: Headers;\n};\nexport type createInboxWebhookResponseError = (createInboxWebhookResponse400 | createInboxWebhookResponse401 | createInboxWebhookResponse404 | createInboxWebhookResponse409 | createInboxWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type createInboxWebhookResponse = (createInboxWebhookResponseSuccess | createInboxWebhookResponseError)\n\nexport const getCreateInboxWebhookUrl = (inboxId: string,) => {\n\n\n\n\n return `/v1/inboxes/${inboxId}/webhooks`\n}\n\n/**\n * Create a webhook that fires when events occur for the specified inbox.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/email-agents/{id}/webhooks`\n * @summary Create inbox webhook\n */\nexport const createInboxWebhook = async (inboxId: string,\n createInboxWebhookBody?: CreateInboxWebhookBody, options?: RequestInit): Promise<createInboxWebhookResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateInboxWebhookUrl(inboxId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createInboxWebhookBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createInboxWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createInboxWebhookResponse\n}\n\n\n\nexport type listInboxWebhooksResponse200 = {\n data: ListInboxWebhooksEnvelope\n status: 200\n}\n\nexport type listInboxWebhooksResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listInboxWebhooksResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listInboxWebhooksResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listInboxWebhooksResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listInboxWebhooksResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listInboxWebhooksResponseSuccess = (listInboxWebhooksResponse200) & {\n headers: Headers;\n};\nexport type listInboxWebhooksResponseError = (listInboxWebhooksResponse400 | listInboxWebhooksResponse401 | listInboxWebhooksResponse404 | listInboxWebhooksResponse409 | listInboxWebhooksResponse500) & {\n headers: Headers;\n};\n\nexport type listInboxWebhooksResponse = (listInboxWebhooksResponseSuccess | listInboxWebhooksResponseError)\n\nexport const getListInboxWebhooksUrl = (inboxId: string,\n params?: ListInboxWebhooksParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/inboxes/${inboxId}/webhooks?${stringifiedParams}` : `/v1/inboxes/${inboxId}/webhooks`\n}\n\n/**\n * List all webhooks configured for a specific inbox.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/email-agents/{id}/webhooks`\n * @summary List inbox webhooks\n */\nexport const listInboxWebhooks = async (inboxId: string,\n params?: ListInboxWebhooksParams, options?: RequestInit): Promise<listInboxWebhooksResponse> => {\n\n const res = await fetch(getListInboxWebhooksUrl(inboxId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listInboxWebhooksResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listInboxWebhooksResponse\n}\n\n\n\nexport type createExtractorWebhookResponse200 = {\n data: CreateExtractorWebhookEnvelope\n status: 200\n}\n\nexport type createExtractorWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createExtractorWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createExtractorWebhookResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type createExtractorWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createExtractorWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createExtractorWebhookResponseSuccess = (createExtractorWebhookResponse200) & {\n headers: Headers;\n};\nexport type createExtractorWebhookResponseError = (createExtractorWebhookResponse400 | createExtractorWebhookResponse401 | createExtractorWebhookResponse404 | createExtractorWebhookResponse409 | createExtractorWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type createExtractorWebhookResponse = (createExtractorWebhookResponseSuccess | createExtractorWebhookResponseError)\n\nexport const getCreateExtractorWebhookUrl = (id: string,) => {\n\n\n\n\n return `/v1/extractors/${id}/webhooks`\n}\n\n/**\n * Create a webhook that fires when extraction events occur for the specified extractor.\n * @summary Create extractor webhook\n */\nexport const createExtractorWebhook = async (id: string,\n createExtractorWebhookBody?: CreateExtractorWebhookBody, options?: RequestInit): Promise<createExtractorWebhookResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateExtractorWebhookUrl(id),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createExtractorWebhookBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createExtractorWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createExtractorWebhookResponse\n}\n\n\n\nexport type listWebhooksResponse200 = {\n data: ListWebhooksEnvelope\n status: 200\n}\n\nexport type listWebhooksResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listWebhooksResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listWebhooksResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listWebhooksResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listWebhooksResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listWebhooksResponseSuccess = (listWebhooksResponse200) & {\n headers: Headers;\n};\nexport type listWebhooksResponseError = (listWebhooksResponse400 | listWebhooksResponse401 | listWebhooksResponse404 | listWebhooksResponse409 | listWebhooksResponse500) & {\n headers: Headers;\n};\n\nexport type listWebhooksResponse = (listWebhooksResponseSuccess | listWebhooksResponseError)\n\nexport const getListWebhooksUrl = (id: string,\n params?: ListWebhooksParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/extractors/${id}/webhooks?${stringifiedParams}` : `/v1/extractors/${id}/webhooks`\n}\n\n/**\n * List all webhooks configured for a specific extractor.\n * @summary List extractor webhooks\n */\nexport const listWebhooks = async (id: string,\n params?: ListWebhooksParams, options?: RequestInit): Promise<listWebhooksResponse> => {\n\n const res = await fetch(getListWebhooksUrl(id,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listWebhooksResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listWebhooksResponse\n}\n\n\n\nexport type createNotificationWebhookResponse201 = {\n data: CreateNotificationWebhookEnvelope\n status: 201\n}\n\nexport type createNotificationWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type createNotificationWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type createNotificationWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type createNotificationWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type createNotificationWebhookResponseSuccess = (createNotificationWebhookResponse201) & {\n headers: Headers;\n};\nexport type createNotificationWebhookResponseError = (createNotificationWebhookResponse400 | createNotificationWebhookResponse401 | createNotificationWebhookResponse409 | createNotificationWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type createNotificationWebhookResponse = (createNotificationWebhookResponseSuccess | createNotificationWebhookResponseError)\n\nexport const getCreateNotificationWebhookUrl = () => {\n\n\n\n\n return `/v1/notifications/webhooks`\n}\n\n/**\n * Create a webhook that fires whenever a notification is raised for the organization.\n *\n * Notifications belong to the organization rather than to a resource, so this webhook is not attached to anything: its `scope` is `{ \"notifications\": true }` and it receives every notification the organization raises. Each delivery carries the notification's `title` and `body` — the same display text `GET /v1/notifications` returns — alongside the structured `data` it points at.\n *\n * Notifications are not environment-specific, so every delivery is `live`. A webhook that names only `test` receives nothing.\n * @summary Create notification webhook\n */\nexport const createNotificationWebhook = async (createNotificationWebhookBody?: CreateNotificationWebhookBody, options?: RequestInit): Promise<createNotificationWebhookResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getCreateNotificationWebhookUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(createNotificationWebhookBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: createNotificationWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as createNotificationWebhookResponse\n}\n\n\n\nexport type listNotificationWebhooksResponse200 = {\n data: ListNotificationWebhooksEnvelope\n status: 200\n}\n\nexport type listNotificationWebhooksResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listNotificationWebhooksResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listNotificationWebhooksResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listNotificationWebhooksResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listNotificationWebhooksResponseSuccess = (listNotificationWebhooksResponse200) & {\n headers: Headers;\n};\nexport type listNotificationWebhooksResponseError = (listNotificationWebhooksResponse400 | listNotificationWebhooksResponse401 | listNotificationWebhooksResponse409 | listNotificationWebhooksResponse500) & {\n headers: Headers;\n};\n\nexport type listNotificationWebhooksResponse = (listNotificationWebhooksResponseSuccess | listNotificationWebhooksResponseError)\n\nexport const getListNotificationWebhooksUrl = (params?: ListNotificationWebhooksParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/notifications/webhooks?${stringifiedParams}` : `/v1/notifications/webhooks`\n}\n\n/**\n * List the webhooks that receive the organization's notifications.\n * @summary List notification webhooks\n */\nexport const listNotificationWebhooks = async (params?: ListNotificationWebhooksParams, options?: RequestInit): Promise<listNotificationWebhooksResponse> => {\n\n const res = await fetch(getListNotificationWebhooksUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listNotificationWebhooksResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listNotificationWebhooksResponse\n}\n\n\n\nexport type deleteWebhookResponse200 = {\n data: DeleteWebhookEnvelope\n status: 200\n}\n\nexport type deleteWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type deleteWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type deleteWebhookResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type deleteWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type deleteWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type deleteWebhookResponseSuccess = (deleteWebhookResponse200) & {\n headers: Headers;\n};\nexport type deleteWebhookResponseError = (deleteWebhookResponse400 | deleteWebhookResponse401 | deleteWebhookResponse404 | deleteWebhookResponse409 | deleteWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type deleteWebhookResponse = (deleteWebhookResponseSuccess | deleteWebhookResponseError)\n\nexport const getDeleteWebhookUrl = (id: string,) => {\n\n\n\n\n return `/v1/webhooks/${id}`\n}\n\n/**\n * Permanently delete a webhook. This action is irreversible.\n * @summary Delete webhook\n */\nexport const deleteWebhook = async (id: string, options?: RequestInit): Promise<deleteWebhookResponse> => {\n\n const res = await fetch(getDeleteWebhookUrl(id),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: deleteWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as deleteWebhookResponse\n}\n\n\n\nexport type getWebhookResponse200 = {\n data: GetWebhookEnvelope\n status: 200\n}\n\nexport type getWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type getWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type getWebhookResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type getWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type getWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type getWebhookResponseSuccess = (getWebhookResponse200) & {\n headers: Headers;\n};\nexport type getWebhookResponseError = (getWebhookResponse400 | getWebhookResponse401 | getWebhookResponse404 | getWebhookResponse409 | getWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type getWebhookResponse = (getWebhookResponseSuccess | getWebhookResponseError)\n\nexport const getGetWebhookUrl = (id: string,) => {\n\n\n\n\n return `/v1/webhooks/${id}`\n}\n\n/**\n * Retrieve a single webhook by ID. The authentication header value is never exposed — only `has_auth` indicates whether authentication is configured.\n * @summary Get webhook\n */\nexport const getWebhook = async (id: string, options?: RequestInit): Promise<getWebhookResponse> => {\n\n const res = await fetch(getGetWebhookUrl(id),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: getWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as getWebhookResponse\n}\n\n\n\nexport type updateWebhookResponse200 = {\n data: UpdateWebhookEnvelope\n status: 200\n}\n\nexport type updateWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type updateWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type updateWebhookResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type updateWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type updateWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type updateWebhookResponseSuccess = (updateWebhookResponse200) & {\n headers: Headers;\n};\nexport type updateWebhookResponseError = (updateWebhookResponse400 | updateWebhookResponse401 | updateWebhookResponse404 | updateWebhookResponse409 | updateWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type updateWebhookResponse = (updateWebhookResponseSuccess | updateWebhookResponseError)\n\nexport const getUpdateWebhookUrl = (id: string,) => {\n\n\n\n\n return `/v1/webhooks/${id}`\n}\n\n/**\n * Update a webhook's name, destination, environments, enabled state, or authentication. Omitted fields are left unchanged, and at least one must be provided.\n * @summary Update webhook\n */\nexport const updateWebhook = async (id: string,\n updateWebhookBody?: UpdateWebhookBody, options?: RequestInit): Promise<updateWebhookResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getUpdateWebhookUrl(id),\n {\n ...options,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(updateWebhookBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: updateWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as updateWebhookResponse\n}\n\n\n\nexport type listWebhookDeliveriesResponse200 = {\n data: ListWebhookDeliveriesEnvelope\n status: 200\n}\n\nexport type listWebhookDeliveriesResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type listWebhookDeliveriesResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type listWebhookDeliveriesResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type listWebhookDeliveriesResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type listWebhookDeliveriesResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type listWebhookDeliveriesResponseSuccess = (listWebhookDeliveriesResponse200) & {\n headers: Headers;\n};\nexport type listWebhookDeliveriesResponseError = (listWebhookDeliveriesResponse400 | listWebhookDeliveriesResponse401 | listWebhookDeliveriesResponse404 | listWebhookDeliveriesResponse409 | listWebhookDeliveriesResponse500) & {\n headers: Headers;\n};\n\nexport type listWebhookDeliveriesResponse = (listWebhookDeliveriesResponseSuccess | listWebhookDeliveriesResponseError)\n\nexport const getListWebhookDeliveriesUrl = (id: string,\n params?: ListWebhookDeliveriesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/v1/webhooks/${id}/deliveries?${stringifiedParams}` : `/v1/webhooks/${id}/deliveries`\n}\n\n/**\n * List delivery attempts for a specific webhook, with pagination and sorting. Useful for debugging webhook issues.\n * @summary List webhook deliveries\n */\nexport const listWebhookDeliveries = async (id: string,\n params?: ListWebhookDeliveriesParams, options?: RequestInit): Promise<listWebhookDeliveriesResponse> => {\n\n const res = await fetch(getListWebhookDeliveriesUrl(id,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: listWebhookDeliveriesResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as listWebhookDeliveriesResponse\n}\n\n\n\nexport type testWebhookResponse200 = {\n data: TestWebhookEnvelope\n status: 200\n}\n\nexport type testWebhookResponse400 = {\n data: ErrorResponse\n status: 400\n}\n\nexport type testWebhookResponse401 = {\n data: ErrorResponse\n status: 401\n}\n\nexport type testWebhookResponse404 = {\n data: ErrorResponse\n status: 404\n}\n\nexport type testWebhookResponse409 = {\n data: ErrorResponse\n status: 409\n}\n\nexport type testWebhookResponse500 = {\n data: ErrorResponse\n status: 500\n}\n\nexport type testWebhookResponseSuccess = (testWebhookResponse200) & {\n headers: Headers;\n};\nexport type testWebhookResponseError = (testWebhookResponse400 | testWebhookResponse401 | testWebhookResponse404 | testWebhookResponse409 | testWebhookResponse500) & {\n headers: Headers;\n};\n\nexport type testWebhookResponse = (testWebhookResponseSuccess | testWebhookResponseError)\n\nexport const getTestWebhookUrl = (id: string,) => {\n\n\n\n\n return `/v1/webhooks/${id}/test`\n}\n\n/**\n * Send a test event to a webhook endpoint. Returns the HTTP status code, response time, and any errors. The request is rejected with a 400 if the webhook does not target the given environment, since a successful ping would say nothing about events it will never receive.\n * @summary Test webhook\n */\nexport const testWebhook = async (id: string,\n testWebhookBody?: TestWebhookBody, options?: RequestInit): Promise<testWebhookResponse> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Array.isArray(h)) return Object.fromEntries(h);\n return h;\n };\nconst res = await fetch(getTestWebhookUrl(id),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(testWebhookBody)\n }\n)\n\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text();\n\n const data: testWebhookResponse['data'] = body ? JSON.parse(body) : {}\n return { data, status: res.status, headers: res.headers } as testWebhookResponse\n}\n\n\n","/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Avallon API\n * OpenAPI spec version: 1.0.0\n */\nimport type {\n ListVoiceAgentsParams,\n CreateVoiceAgentBody,\n UpdateVoiceAgentBody,\n ListVoiceAgentVersionsParams,\n PromoteVoiceAgentVersionBody,\n GetVoiceAgentPromptParams,\n UpdateVoiceAgentPromptBody,\n UpdateVoiceAgentModelsBody,\n UpdateCallControlsBody,\n ScheduleJobBody,\n ListJobsParams,\n ListApiKeysParams,\n CreateApiKeyBody,\n UpdateApiKeyBody,\n CreateArtifactBody,\n ListArtifactsParams,\n GetArtifactMetadataKeysParams,\n GetArtifactStatusSummaryParams,\n GetArtifactUploadUrlBody,\n UpdateArtifactMetadataBody,\n SignUpBody,\n SignInBody,\n RequestPasswordResetBody,\n ResetPasswordBody,\n RefreshTokenBody,\n GetOAuthUrlParams,\n GetSessionTokenBody,\n PartnerLaunchParams,\n ListCallsParams,\n GetCallParams,\n GetCallAnalyticsParams,\n GetAnalyticsTimeSeriesParams,\n CreateFeedbackRequest,\n ListCallFeedbackParams,\n CheckInboxAvailabilityParams,\n CreateInboxBody,\n ListInboxesParams,\n UpdateInboxBody,\n ListEmailsParams,\n ListEmailThreadsParams,\n ReplyToEmailBody,\n SendEmailBody,\n ListExtractorJobsParams,\n CreateExtractorJobBody,\n ListWorkerRunsParams,\n CreateWorkerRunBody,\n ListWorkerRunMessagesParams,\n CreateWorkerEvalFromRunBody,\n RunEvalBody,\n CreateExtractorBody,\n ListExtractorsParams,\n UpdateExtractorBody,\n CreateWorkerBody,\n ListWorkersParams,\n UpdateWorkerBody,\n GetWorkerPromptParams,\n UpdateWorkerPromptBody,\n UpdateWorkerMcpsBody,\n ListWorkerVersionsParams,\n PromoteWorkerVersionBody,\n CreateWorkerWebhookBody,\n ListWorkerWebhooksParams,\n ListCasesParams,\n CreateCaseBody,\n SearchCasesParams,\n GetCaseParams,\n DeleteCaseParams,\n AddCaseLinksParams,\n AddCaseLinksBody,\n ListCaseLinksParams,\n RemoveCaseLinkParams,\n CreateChatAgentBody,\n ListChatAgentsParams,\n UpdateChatAgentRequest,\n UpdateChatAgentPromptBody,\n CreateChatBody,\n PostChatMessageBody,\n ListChatsParams,\n ListChatMessagesParams,\n ListExtractsParams,\n InviteTeamMemberBody,\n UpdateMemberRoleBody,\n CreateSecretBody,\n ListSecretsParams,\n UpdateSecretBody,\n CreateScheduleBody,\n ListSchedulesParams,\n UpdateScheduleBody,\n ListDispatchesParams,\n ListNotificationsParams,\n CreateInformationRequestBody,\n ListInformationRequestsParams,\n ResolveInformationRequestBody,\n CreateToolBody,\n ListToolsParams,\n UpdateToolBody,\n ExecuteCodeBody,\n ListToolVersionsParams,\n PromoteToolVersionBody,\n WorkerListToolsParams,\n WorkerExecuteToolBody,\n NotifyAdminBody,\n UploadFileBody,\n CreateAgentWebhookBody,\n ListAgentWebhooksParams,\n CreateInboxWebhookBody,\n ListInboxWebhooksParams,\n CreateExtractorWebhookBody,\n ListWebhooksParams,\n CreateNotificationWebhookBody,\n ListNotificationWebhooksParams,\n UpdateWebhookBody,\n ListWebhookDeliveriesParams,\n TestWebhookBody\n} from './http-schemas';\n\nimport {\n listVoiceAgents,\n createVoiceAgent,\n getVoiceAgent,\n updateVoiceAgent,\n deleteVoiceAgent,\n listVoiceAgentVersions,\n getVoiceAgentVersion,\n promoteVoiceAgentVersion,\n getVoiceAgentVersionChangeSummary,\n getVoiceAgentPlaceholders,\n getVoiceAgentPrompt,\n updateVoiceAgentPrompt,\n updateVoiceAgentModels,\n updateCallControls,\n scheduleJob,\n listJobs,\n cancelJob,\n listApiKeys,\n createApiKey,\n revokeApiKey,\n updateApiKey,\n createArtifact,\n listArtifacts,\n getArtifact,\n deleteArtifact,\n getArtifactMetadataKeys,\n getArtifactStatusSummary,\n getArtifactUploadUrl,\n updateArtifactMetadata,\n signUp,\n signIn,\n requestPasswordReset,\n resetPassword,\n refreshToken,\n getOAuthUrl,\n getSessionToken,\n getPartnerJwks,\n partnerLaunch,\n listCalls,\n getCall,\n getCallEvaluation,\n getCallAnalytics,\n getAnalyticsTimeSeries,\n createCallFeedback,\n listCallFeedback,\n deleteCallFeedback,\n checkInboxAvailability,\n createInbox,\n listInboxes,\n updateInbox,\n deleteInbox,\n getEmail,\n deleteEmail,\n listEmails,\n listEmailThreads,\n replyToEmail,\n sendEmail,\n listExtractorJobs,\n createExtractorJob,\n getExtractorJob,\n listWorkerRuns,\n createWorkerRun,\n getWorkerRun,\n listWorkerRunMessages,\n cancelWorkerRun,\n createWorkerEvalFromRun,\n runEval,\n getEvalRun,\n createExtractor,\n listExtractors,\n getExtractor,\n updateExtractor,\n deleteExtractor,\n createWorker,\n listWorkers,\n getWorker,\n deleteWorker,\n updateWorker,\n getWorkerPrompt,\n updateWorkerPrompt,\n listWorkerModels,\n updateWorkerMcps,\n listWorkerVersions,\n getWorkerVersion,\n promoteWorkerVersion,\n getWorkerVersionChangeSummary,\n createWorkerWebhook,\n listWorkerWebhooks,\n listCases,\n createCase,\n searchCases,\n getCase,\n deleteCase,\n addCaseLinks,\n listCaseLinks,\n removeCaseLink,\n createChatAgent,\n listChatAgents,\n getChatAgent,\n updateChatAgent,\n deleteChatAgent,\n getChatAgentPrompt,\n updateChatAgentPrompt,\n createChat,\n getChat,\n getPublicChatAgent,\n postChatMessage,\n listChats,\n listChatMessages,\n getExtract,\n getExtractCitations,\n listExtracts,\n getProfile,\n listTeamMembers,\n inviteTeamMember,\n listTeamInvitations,\n revokeTeamInvitation,\n resendTeamInvitation,\n updateMemberRole,\n removeMember,\n createSecret,\n listSecrets,\n getSecret,\n updateSecret,\n deleteSecret,\n createSchedule,\n listSchedules,\n getSchedule,\n updateSchedule,\n deleteSchedule,\n listDispatches,\n listNotifications,\n getNotification,\n createInformationRequest,\n listInformationRequests,\n getInformationRequest,\n resolveInformationRequest,\n createTool,\n listTools,\n deleteTool,\n getTool,\n updateTool,\n executeCode,\n listToolVersions,\n getToolVersion,\n promoteToolVersion,\n getToolVersionChangeSummary,\n workerListTools,\n workerGetTool,\n workerExecuteTool,\n notifyAdmin,\n uploadFile,\n createAgentWebhook,\n listAgentWebhooks,\n createInboxWebhook,\n listInboxWebhooks,\n createExtractorWebhook,\n listWebhooks,\n createNotificationWebhook,\n listNotificationWebhooks,\n deleteWebhook,\n getWebhook,\n updateWebhook,\n listWebhookDeliveries,\n testWebhook\n} from './http-client';\n\n/**\n * List all voice agents for your tenant.\n *\n * **Filtering:**\n *\n * Filter voice agents by name using the `agent_name` query parameter (exact match).\n *\n * **Response:**\n *\n * Returns an array of all voice agents with their configurations and a total count.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents`\n * @summary List voice agents\n */\n\nexport type listVoiceAgentsArgs = {\n queryParams: ListVoiceAgentsParams;\n}\n\nexport const listVoiceAgentsHandler = async (args: listVoiceAgentsArgs, options?: RequestInit) => {\n const res = await listVoiceAgents(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new voice agent with the specified configuration.\n *\n * **Required fields:**\n *\n * All fields in the request body are required except `phone_number_id` and `transfer_phone_number`.\n *\n * **Response:**\n *\n * Returns the created voice agent with its ID and configuration.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/agents`\n * @summary Create voice agent\n */\n\nexport type createVoiceAgentArgs = {\n bodyParams?: CreateVoiceAgentBody;\n}\n\nexport const createVoiceAgentHandler = async (args: createVoiceAgentArgs, options?: RequestInit) => {\n const res = await createVoiceAgent(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single voice agent by its ID.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents/{id}`\n * @summary Get voice agent\n */\n\nexport type getVoiceAgentArgs = {\n pathParams: {\n voiceAgentId: string\n };\n}\n\nexport const getVoiceAgentHandler = async (args: getVoiceAgentArgs, options?: RequestInit) => {\n const res = await getVoiceAgent(args.pathParams.voiceAgentId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update a voice agent's name, call processor, or call behaviour settings.\n *\n * To change the processor assignment, `call_processor_id` and `call_processor_type` must be provided together. Set `call_processor_id` to `null` to detach (`call_processor_type` is still required).\n *\n * Set `voice_mail_detection` to `true` to have the agent listen for a voicemail beep tone. Detection only runs on `OUTBOUND` agents; enabling it on an `INBOUND` agent is stored but has no effect.\n *\n * Set `noise_cancellation` to choose the noise cancellation mode applied to the caller audio.\n *\n * Set `tool_ids` to replace the agent's attached tool set. This is the supported way to manage tool attachments; the dedicated add and remove endpoints are deprecated.\n *\n * Config changes create a new voice agent config version. The live and test releases keep pointing at their current versions until the new version is promoted.\n * @summary Update voice agent\n */\n\nexport type updateVoiceAgentArgs = {\n pathParams: {\n voiceAgentId: string\n };\n bodyParams?: UpdateVoiceAgentBody;\n}\n\nexport const updateVoiceAgentHandler = async (args: updateVoiceAgentArgs, options?: RequestInit) => {\n const res = await updateVoiceAgent(args.pathParams.voiceAgentId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Delete a voice agent. The agent is hidden from all reads; its call and job history is preserved.\n * @summary Delete voice agent\n */\n\nexport type deleteVoiceAgentArgs = {\n pathParams: {\n voiceAgentId: string\n };\n}\n\nexport const deleteVoiceAgentHandler = async (args: deleteVoiceAgentArgs, options?: RequestInit) => {\n const res = await deleteVoiceAgent(args.pathParams.voiceAgentId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all config versions for a voice agent, ordered by version (newest first by default).\n * @summary List voice agent versions\n */\n\nexport type listVoiceAgentVersionsArgs = {\n pathParams: {\n voiceAgentId: string\n };\n queryParams: ListVoiceAgentVersionsParams;\n}\n\nexport const listVoiceAgentVersionsHandler = async (args: listVoiceAgentVersionsArgs, options?: RequestInit) => {\n const res = await listVoiceAgentVersions(args.pathParams.voiceAgentId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single voice agent config version, including the agent's identity, the config snapshot at that version, and version-specific metadata.\n * @summary Get voice agent version\n */\n\nexport type getVoiceAgentVersionArgs = {\n pathParams: {\n voiceAgentId: string,\n version: number\n };\n}\n\nexport const getVoiceAgentVersionHandler = async (args: getVoiceAgentVersionArgs, options?: RequestInit) => {\n const res = await getVoiceAgentVersion(args.pathParams.voiceAgentId, args.pathParams.version, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Select a voice agent configuration version for the live or test environment.\n * @summary Promote voice agent version\n */\n\nexport type promoteVoiceAgentVersionArgs = {\n pathParams: {\n voiceAgentId: string,\n version: number\n };\n bodyParams?: PromoteVoiceAgentVersionBody;\n}\n\nexport const promoteVoiceAgentVersionHandler = async (args: promoteVoiceAgentVersionArgs, options?: RequestInit) => {\n const res = await promoteVoiceAgentVersion(args.pathParams.voiceAgentId, args.pathParams.version, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.\n * @summary Get voice agent version change summary\n */\n\nexport type getVoiceAgentVersionChangeSummaryArgs = {\n pathParams: {\n voiceAgentId: string,\n version: number\n };\n}\n\nexport const getVoiceAgentVersionChangeSummaryHandler = async (args: getVoiceAgentVersionChangeSummaryArgs, options?: RequestInit) => {\n const res = await getVoiceAgentVersionChangeSummary(args.pathParams.voiceAgentId, args.pathParams.version, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve the available placeholder variables defined in a voice agent's prompt.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents/{id}/prompt`\n * @summary Get voice agent placeholders\n */\n\nexport type getVoiceAgentPlaceholdersArgs = {\n pathParams: {\n voiceAgentId: string\n };\n}\n\nexport const getVoiceAgentPlaceholdersHandler = async (args: getVoiceAgentPlaceholdersArgs, options?: RequestInit) => {\n const res = await getVoiceAgentPlaceholders(args.pathParams.voiceAgentId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve the prompt for a voice agent. Pass `version` to fetch the prompt snapshot at a specific config version; omit it to fetch the current prompt. Internal use only.\n * @summary Get voice agent prompt\n */\n\nexport type getVoiceAgentPromptArgs = {\n pathParams: {\n voiceAgentId: string\n };\n queryParams: GetVoiceAgentPromptParams;\n}\n\nexport const getVoiceAgentPromptHandler = async (args: getVoiceAgentPromptArgs, options?: RequestInit) => {\n const res = await getVoiceAgentPrompt(args.pathParams.voiceAgentId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update the prompt for a voice agent. Internal use only.\n * @summary Update voice agent prompt\n */\n\nexport type updateVoiceAgentPromptArgs = {\n pathParams: {\n voiceAgentId: string\n };\n bodyParams?: UpdateVoiceAgentPromptBody;\n}\n\nexport const updateVoiceAgentPromptHandler = async (args: updateVoiceAgentPromptArgs, options?: RequestInit) => {\n const res = await updateVoiceAgentPrompt(args.pathParams.voiceAgentId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update the LLM, TTS, and STT model configuration for a voice agent.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `PATCH /v1/agents/{id}/models`\n * @summary Update voice agent models\n */\n\nexport type updateVoiceAgentModelsArgs = {\n pathParams: {\n voiceAgentId: string\n };\n bodyParams?: UpdateVoiceAgentModelsBody;\n}\n\nexport const updateVoiceAgentModelsHandler = async (args: updateVoiceAgentModelsArgs, options?: RequestInit) => {\n const res = await updateVoiceAgentModels(args.pathParams.voiceAgentId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update call control settings for a voice agent.\n *\n * Configure whether the voice agent supports dial pad input, can end calls, and set a transfer phone number.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `PUT /v1/agents/{id}/call-controls`\n * @summary Update voice agent call controls\n */\n\nexport type updateCallControlsArgs = {\n pathParams: {\n voiceAgentId: string\n };\n bodyParams?: UpdateCallControlsBody;\n}\n\nexport const updateCallControlsHandler = async (args: updateCallControlsArgs, options?: RequestInit) => {\n const res = await updateCallControls(args.pathParams.voiceAgentId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Schedule a new outbound call job for a voice agent.\n *\n * The job can be scheduled for a future time or triggered immediately with `trigger_immediately: true`.\n *\n * **Scheduling:**\n *\n * When scheduling for a future time, provide `scheduled_at` (ISO 8601) and optionally `schedule_window_minutes` (minimum 10 minutes).\n *\n * **Environment:**\n *\n * `environment` selects which promoted agent configuration and phone binding the call dispatches against (`live` or `test`). Defaults to `live`. Scheduling fails when the selected environment has no active promotion.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/agents/{id}/jobs`\n * @summary Schedule an outbound job\n */\n\nexport type scheduleJobArgs = {\n pathParams: {\n voiceAgentId: string\n };\n bodyParams?: ScheduleJobBody;\n}\n\nexport const scheduleJobHandler = async (args: scheduleJobArgs, options?: RequestInit) => {\n const res = await scheduleJob(args.pathParams.voiceAgentId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all outbound jobs with pagination and filtering.\n *\n * **Filtering:**\n *\n * - Filter by agent ID, status, or scheduled time range.\n * - Multiple statuses can be comma-separated (e.g. `status=pending,queued`).\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents/jobs`\n * @summary List outbound jobs\n */\n\nexport type listJobsArgs = {\n queryParams: ListJobsParams;\n}\n\nexport const listJobsHandler = async (args: listJobsArgs, options?: RequestInit) => {\n const res = await listJobs(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Cancel a pending or queued outbound job. Jobs that are already in progress or completed cannot be canceled.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/agents/jobs/{id}/cancel`\n * @summary Cancel an outbound job\n */\n\nexport type cancelJobArgs = {\n pathParams: {\n jobId: string\n };\n}\n\nexport const cancelJobHandler = async (args: cancelJobArgs, options?: RequestInit) => {\n const res = await cancelJob(args.pathParams.jobId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all API keys for your tenant.\n *\n * By default, revoked keys are excluded. Set `include_revoked=true` to include them.\n *\n * **Note:** The full API key value is never returned — only the key prefix is shown.\n * @summary List API keys\n */\n\nexport type listApiKeysArgs = {\n queryParams: ListApiKeysParams;\n}\n\nexport const listApiKeysHandler = async (args: listApiKeysArgs, options?: RequestInit) => {\n const res = await listApiKeys(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new API key for authenticating with the Avallon API.\n *\n * **Important:** The full API key is only returned once in the response. Store it securely — it cannot be retrieved again.\n *\n * Keys are scoped to an environment (`test` or `live`) and optionally accept an expiration date.\n * @summary Create an API key\n */\n\nexport type createApiKeyArgs = {\n bodyParams?: CreateApiKeyBody;\n}\n\nexport const createApiKeyHandler = async (args: createApiKeyArgs, options?: RequestInit) => {\n const res = await createApiKey(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Revoke an existing API key. Once revoked, the key can no longer be used for authentication.\n *\n * This operation is irreversible — revoked keys cannot be re-enabled. Create a new key if needed.\n *\n * Returns 409 if the key is already revoked, 404 if the key does not exist.\n * @summary Revoke an API key\n */\n\nexport type revokeApiKeyArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const revokeApiKeyHandler = async (args: revokeApiKeyArgs, options?: RequestInit) => {\n const res = await revokeApiKey(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update mutable fields of an API key. Currently only `role` can be updated.\n *\n * The caller's role caps the maximum role they can grant — an `admin` cannot promote a key to `avallon_admin`.\n * @summary Update API key\n */\n\nexport type updateApiKeyArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: UpdateApiKeyBody;\n}\n\nexport const updateApiKeyHandler = async (args: updateApiKeyArgs, options?: RequestInit) => {\n const res = await updateApiKey(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Upload a document as a base64-encoded artifact for processing.\n *\n * **Limits:**\n *\n * Maximum file size is approximately 6.75MB (base64 encoded). The API Gateway has a 10MB request limit.\n *\n * **Processing options:**\n *\n * - `file_password`: Password for encrypted PDFs\n * - `file_splitting_enabled`: Split multi-page PDFs into separate artifacts\n * @summary Create artifact\n */\n\nexport type createArtifactArgs = {\n bodyParams?: CreateArtifactBody;\n}\n\nexport const createArtifactHandler = async (args: createArtifactArgs, options?: RequestInit) => {\n const res = await createArtifact(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all artifacts with pagination, filtering, and sorting.\n *\n * **Case Filtering:**\n *\n * Use `case_id` to return only artifacts linked to a case. This reads the case links\n * created via `POST /v1/cases/{caseId}/links`, and is independent of any\n * `metadata.case_id` an artifact may carry.\n *\n * **Metadata Filtering:**\n *\n * Use bracket notation to filter by metadata keys:\n * - `metadata[claim_id]=abc-123`\n * - `metadata[source]=email`\n *\n * Multiple metadata filters can be combined (AND logic).\n * @summary List artifacts\n */\n\nexport type listArtifactsArgs = {\n queryParams: ListArtifactsParams;\n}\n\nexport const listArtifactsHandler = async (args: listArtifactsArgs, options?: RequestInit) => {\n const res = await listArtifacts(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single artifact by ID, including its metadata, file URL, extracted content, and chunk-annotated content.\n *\n * The response always includes `content_with_chunkids_md`: the parsed content annotated with `[chunk_id=...]` markers when the artifact has parsed chunks. Chunk IDs are stable citation anchors — cite them to attribute extracted values to their source location.\n * @summary Get artifact\n */\n\nexport type getArtifactArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const getArtifactHandler = async (args: getArtifactArgs, options?: RequestInit) => {\n const res = await getArtifact(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Soft-delete an artifact. Soft-deleted artifacts and their chunks no longer appear in any read.\n * @summary Delete artifact\n */\n\nexport type deleteArtifactArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const deleteArtifactHandler = async (args: deleteArtifactArgs, options?: RequestInit) => {\n const res = await deleteArtifact(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve all unique metadata keys and their values across artifacts. Useful for building filter UIs.\n * @summary Get artifact metadata keys\n */\n\nexport type getArtifactMetadataKeysArgs = {\n queryParams: GetArtifactMetadataKeysParams;\n}\n\nexport const getArtifactMetadataKeysHandler = async (args: getArtifactMetadataKeysArgs, options?: RequestInit) => {\n const res = await getArtifactMetadataKeys(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Count the artifacts in a scope, broken down by processing status.\n *\n * Define the scope with bracket notation (e.g. `scope[email_id]=abc-123`). At least one key is required; multiple keys are combined with AND logic.\n * @summary Get artifact status summary\n */\n\nexport type getArtifactStatusSummaryArgs = {\n queryParams: GetArtifactStatusSummaryParams;\n}\n\nexport const getArtifactStatusSummaryHandler = async (args: getArtifactStatusSummaryArgs, options?: RequestInit) => {\n const res = await getArtifactStatusSummary(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Returns a pre-signed PUT URL. Upload the file directly to `upload_url`, then pass `file_url` as `source_url` to POST /v1/upload-file.\n * @summary Request a pre-signed URL for direct large file upload\n */\n\nexport type getArtifactUploadUrlArgs = {\n bodyParams?: GetArtifactUploadUrlBody;\n}\n\nexport const getArtifactUploadUrlHandler = async (args: getArtifactUploadUrlArgs, options?: RequestInit) => {\n const res = await getArtifactUploadUrl(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Merge-update metadata on an existing artifact. Provided keys are added or overwritten; other existing keys are preserved.\n * @summary Update artifact metadata\n */\n\nexport type updateArtifactMetadataArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: UpdateArtifactMetadataBody;\n}\n\nexport const updateArtifactMetadataHandler = async (args: updateArtifactMetadataArgs, options?: RequestInit) => {\n const res = await updateArtifactMetadata(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new user account with email and password. When the response includes a pending_authentication_token, the account requires email verification: complete it via sign-in (type: email_otp) with the emailed one-time password and this token.\n * @summary Sign up\n */\n\nexport type signUpArgs = {\n bodyParams?: SignUpBody;\n}\n\nexport const signUpHandler = async (args: signUpArgs, options?: RequestInit) => {\n const res = await signUp(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Authenticate using one of the supported methods:\n *\n * - **Password:** Email and password credentials. If the password is correct but the email is not verified yet, responds 403 with `data.pending_authentication_token` and a fresh verification code is emailed; complete verification via **Email OTP**. Each password attempt invalidates earlier codes and tokens, so always use the most recent pair — repeating the password sign-in is also how a new code is requested.\n * - **OAuth:** Authorization code from OAuth flow (social or enterprise SSO). Pass the `provider` the flow was started with so the code is exchanged against the system that issued it. `verifier` is only required when the flow was started with a `code_challenge` — see **Get OAuth sign-in URL**.\n * - **Email OTP:** One-time password sent to email. Include the `pending_authentication_token` from sign-up, or from the 403 returned by an unverified user's password sign-in, when completing email verification.\n * @summary Sign in\n */\n\nexport type signInArgs = {\n bodyParams?: SignInBody;\n}\n\nexport const signInHandler = async (args: signInArgs, options?: RequestInit) => {\n const res = await signIn(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Start password recovery for an email/password account. When the email belongs to an account, a reset link is emailed to it. The response is 200 regardless, and does not reveal whether an account exists.\n * @summary Request password reset\n */\n\nexport type requestPasswordResetArgs = {\n bodyParams?: RequestPasswordResetBody;\n}\n\nexport const requestPasswordResetHandler = async (args: requestPasswordResetArgs, options?: RequestInit) => {\n const res = await requestPasswordReset(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Complete password recovery with the token from the emailed reset link and set a new password. Completing the reset also verifies the account's email address. Afterwards, sign in with the new password.\n * @summary Reset password\n */\n\nexport type resetPasswordArgs = {\n bodyParams?: ResetPasswordBody;\n}\n\nexport const resetPasswordHandler = async (args: resetPasswordArgs, options?: RequestInit) => {\n const res = await resetPassword(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Exchange a valid access token and refresh token pair for new tokens.\n * @summary Refresh authentication token\n */\n\nexport type refreshTokenArgs = {\n bodyParams?: RefreshTokenBody;\n}\n\nexport const refreshTokenHandler = async (args: refreshTokenArgs, options?: RequestInit) => {\n const res = await refreshToken(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Generate an OAuth authorization URL for a given provider.\n *\n * PKCE is optional. To use it, generate a random verifier, derive `code_challenge` from it, and pass both `code_challenge` and the matching `code_challenge_method` — then send the verifier to **Sign in** when exchanging the code. Omit both to run the flow without PKCE and exchange the code on its own.\n *\n * For enterprise SSO, pass `provider=sso` together with the user's `email`; the email domain selects the SSO organization. Responds 404 when no SSO organization is configured for the domain.\n * @summary Get OAuth sign-in URL\n */\n\nexport type getOAuthUrlArgs = {\n queryParams: GetOAuthUrlParams;\n}\n\nexport const getOAuthUrlHandler = async (args: getOAuthUrlArgs, options?: RequestInit) => {\n const res = await getOAuthUrl(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Exchange an identity token for a tenant-scoped Core Plane access token.\n *\n * - If `tenant_id` is provided, validates the user is a member of that tenant and returns 404 if they are not.\n * - If `tenant_id` is omitted, selects the tenant of the identity token's organization, falling back to the user's default (oldest) tenant.\n * - Call this endpoint again with a different `tenant_id` to switch tenants.\n * @summary Create or switch tenant session\n */\n\nexport type getSessionTokenArgs = {\n bodyParams?: GetSessionTokenBody;\n}\n\nexport const getSessionTokenHandler = async (args: getSessionTokenArgs, options?: RequestInit) => {\n const res = await getSessionToken(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Returns the JSON Web Key Set (RFC 7517) of a partner's public signing keys, used to verify partner-issued launch tokens.\n * @summary Get partner JWKS\n */\n\nexport type getPartnerJwksArgs = {\n pathParams: {\n partner: string\n };\n}\n\nexport const getPartnerJwksHandler = async (args: getPartnerJwksArgs, options?: RequestInit) => {\n const res = await getPartnerJwks(args.pathParams.partner, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Verifies a partner-signed launch token, mints an Avallon session, and redirects (302) the user into the app's handoff route, carrying the session token in the URL fragment (no cookie).\n * @summary Partner launch (SSO)\n */\n\nexport type partnerLaunchArgs = {\n queryParams: PartnerLaunchParams;\n}\n\nexport const partnerLaunchHandler = async (args: partnerLaunchArgs, options?: RequestInit) => {\n const res = await partnerLaunch(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all calls, with pagination, filtering, and sorting.\n *\n * **Filtering:**\n *\n * Filter by agent, direction, status, time range, phone number, and more. Phone number filter supports both exact E.164 matches and partial search.\n *\n * **Case Filtering:**\n *\n * Use `case_id` to return only calls linked to a case. This reads the case links created\n * via `POST /v1/cases/{caseId}/links`, and is independent of any `metadata.case_id` a\n * call may carry.\n *\n * **Metadata Filtering:**\n *\n * Use bracket notation to filter by metadata keys:\n * - `metadata[claim_id]=abc-123`\n * - `metadata[source]=worker`\n *\n * Multiple metadata filters can be combined (AND logic).\n * @summary List calls\n */\n\nexport type listCallsArgs = {\n queryParams: ListCallsParams;\n}\n\nexport const listCallsHandler = async (args: listCallsArgs, options?: RequestInit) => {\n const res = await listCalls(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve detailed information about a specific call.\n *\n * Set `include_messages=true` to include the full message transcript.\n * @summary Get call\n */\n\nexport type getCallArgs = {\n pathParams: {\n id: string\n };\n queryParams: GetCallParams;\n}\n\nexport const getCallHandler = async (args: getCallArgs, options?: RequestInit) => {\n const res = await getCall(args.pathParams.id, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve the evaluation results for a specific call, including overall score, pass status, and per-metric breakdowns.\n * @summary Get call evaluation\n */\n\nexport type getCallEvaluationArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const getCallEvaluationHandler = async (args: getCallEvaluationArgs, options?: RequestInit) => {\n const res = await getCallEvaluation(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve aggregated call analytics for a time range.\n *\n * Includes summary statistics, call volume over time, evaluation scores, score and duration distributions, and per-metric performance.\n * @summary Get call analytics\n */\n\nexport type getCallAnalyticsArgs = {\n queryParams: GetCallAnalyticsParams;\n}\n\nexport const getCallAnalyticsHandler = async (args: getCallAnalyticsArgs, options?: RequestInit) => {\n const res = await getCallAnalytics(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a tenant-scoped time series for a single processing-volume metric.\n *\n * Pick a `metric` (worker runs, documents, or pages), a date range, a bucket `granularity` (day/week/month), and optionally a `group_by` dimension (e.g. worker runs grouped by worker). The series is sparse (only buckets with data) over the half-open window `[from, to)`.\n *\n * `data` is an array of per-metric results; today it always contains exactly one entry (the requested metric).\n * @summary Get analytics time series\n */\n\nexport type getAnalyticsTimeSeriesArgs = {\n queryParams: GetAnalyticsTimeSeriesParams;\n}\n\nexport const getAnalyticsTimeSeriesHandler = async (args: getAnalyticsTimeSeriesArgs, options?: RequestInit) => {\n const res = await getAnalyticsTimeSeries(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create feedback for a specific message in a call. Requires user (JWT) authentication; the author is derived from the authenticated user's profile and API-key callers are rejected.\n * @summary Create feedback on a call message\n */\n\nexport type createCallFeedbackArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: CreateFeedbackRequest;\n}\n\nexport const createCallFeedbackHandler = async (args: createCallFeedbackArgs, options?: RequestInit) => {\n const res = await createCallFeedback(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all feedback for a call. Paginated.\n * @summary List feedback for a call\n */\n\nexport type listCallFeedbackArgs = {\n pathParams: {\n id: string\n };\n queryParams: ListCallFeedbackParams;\n}\n\nexport const listCallFeedbackHandler = async (args: listCallFeedbackArgs, options?: RequestInit) => {\n const res = await listCallFeedback(args.pathParams.id, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Delete a single feedback entry.\n * @summary Delete feedback\n */\n\nexport type deleteCallFeedbackArgs = {\n pathParams: {\n id: string,\n feedbackId: string\n };\n}\n\nexport const deleteCallFeedbackHandler = async (args: deleteCallFeedbackArgs, options?: RequestInit) => {\n const res = await deleteCallFeedback(args.pathParams.id, args.pathParams.feedbackId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Check whether a given email username is available for creating a new inbox.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/email-agents/availability`\n * @summary Check email username availability\n */\n\nexport type checkInboxAvailabilityArgs = {\n queryParams: CheckInboxAvailabilityParams;\n}\n\nexport const checkInboxAvailabilityHandler = async (args: checkInboxAvailabilityArgs, options?: RequestInit) => {\n const res = await checkInboxAvailability(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new inbox linked to a processor (extractor or worker).\n *\n * The inbox will receive emails at the assigned address and automatically process attachments using the specified processor.\n *\n * Either `processor_id` or the deprecated `extractor_id` must be provided. When using `extractor_id`, the processor type defaults to `extractor`.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/email-agents`\n * @summary Create inbox\n */\n\nexport type createInboxArgs = {\n bodyParams?: CreateInboxBody;\n}\n\nexport const createInboxHandler = async (args: createInboxArgs, options?: RequestInit) => {\n const res = await createInbox(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all inboxes with pagination and sorting.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/email-agents`\n * @summary List inboxes\n */\n\nexport type listInboxesArgs = {\n queryParams: ListInboxesParams;\n}\n\nexport const listInboxesHandler = async (args: listInboxesArgs, options?: RequestInit) => {\n const res = await listInboxes(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update an inbox's configuration.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `PATCH /v1/email-agents/{id}`\n * @summary Update inbox\n */\n\nexport type updateInboxArgs = {\n pathParams: {\n inboxId: string\n };\n bodyParams?: UpdateInboxBody;\n}\n\nexport const updateInboxHandler = async (args: updateInboxArgs, options?: RequestInit) => {\n const res = await updateInbox(args.pathParams.inboxId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Delete an inbox. The inbox stops routing new mail; existing email history is preserved.\n * @summary Delete inbox\n */\n\nexport type deleteInboxArgs = {\n pathParams: {\n inboxId: string\n };\n}\n\nexport const deleteInboxHandler = async (args: deleteInboxArgs, options?: RequestInit) => {\n const res = await deleteInbox(args.pathParams.inboxId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve detailed information about a specific email, including full body content.\n * @summary Get email\n */\n\nexport type getEmailArgs = {\n pathParams: {\n emailId: string\n };\n}\n\nexport const getEmailHandler = async (args: getEmailArgs, options?: RequestInit) => {\n const res = await getEmail(args.pathParams.emailId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Soft-delete an email. The message is hidden from all reads (get, list, and thread aggregation) but its content is retained until a separate hard purge.\n * @summary Delete email\n */\n\nexport type deleteEmailArgs = {\n pathParams: {\n emailId: string\n };\n}\n\nexport const deleteEmailHandler = async (args: deleteEmailArgs, options?: RequestInit) => {\n const res = await deleteEmail(args.pathParams.emailId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all emails with pagination and filtering.\n *\n * **Filtering:**\n *\n * Filter by email agent, sender, recipient, content search, or case.\n * @summary List emails\n */\n\nexport type listEmailsArgs = {\n queryParams: ListEmailsParams;\n}\n\nexport const listEmailsHandler = async (args: listEmailsArgs, options?: RequestInit) => {\n const res = await listEmails(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List email threads with pagination. Each thread includes the subject of the first email, the sender of the first email, and the date of the last email.\n *\n * **Filtering:**\n *\n * Filter by inbox or environment. Without an `environment` filter, live and test threads are returned together.\n * @summary List email threads\n */\n\nexport type listEmailThreadsArgs = {\n queryParams: ListEmailThreadsParams;\n}\n\nexport const listEmailThreadsHandler = async (args: listEmailThreadsArgs, options?: RequestInit) => {\n const res = await listEmailThreads(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Reply to an existing email thread via Nylas. The reply is sent to the original sender by default.\n *\n * Optionally include additional recipients via `to` (merged with the original sender), `cc`, and `bcc` arrays.\n *\n * The `body` is HTML by default. Set `is_html` to `false` to provide plain text instead; it is converted to HTML before sending.\n * @summary Reply to email\n */\n\nexport type replyToEmailArgs = {\n pathParams: {\n emailId: string\n };\n bodyParams?: ReplyToEmailBody;\n}\n\nexport const replyToEmailHandler = async (args: replyToEmailArgs, options?: RequestInit) => {\n const res = await replyToEmail(args.pathParams.emailId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Send a new email through an inbox. The provider-assigned thread id is returned and persisted on the stored email row, so subsequent inbound replies on that thread are linked to this send.\n *\n * The `body` is HTML by default. Set `is_html` to `false` to provide plain text instead; it is converted to HTML before sending.\n * @summary Send email\n */\n\nexport type sendEmailArgs = {\n bodyParams?: SendEmailBody;\n}\n\nexport const sendEmailHandler = async (args: sendEmailArgs, options?: RequestInit) => {\n const res = await sendEmail(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all extraction jobs with pagination, filtering, and sorting.\n *\n * **Scope Filtering:**\n *\n * Use bracket notation to filter by scope keys:\n * - `scope[call_id]=abc-123`\n * - `scope[email_id]=xyz-456`\n * - `scope[case_id]=case-789`\n *\n * Multiple scope filters can be combined (AND logic).\n * @summary List extractor jobs\n */\n\nexport type listExtractorJobsArgs = {\n queryParams: ListExtractorJobsParams;\n}\n\nexport const listExtractorJobsHandler = async (args: listExtractorJobsArgs, options?: RequestInit) => {\n const res = await listExtractorJobs(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new extraction job for the specified extractor.\n *\n * Provide a non-empty `scope` object to define what the extractor should process (e.g. `{ \"claim_id\": \"abc-123\" }`).\n * @summary Create extractor job\n */\n\nexport type createExtractorJobArgs = {\n bodyParams?: CreateExtractorJobBody;\n}\n\nexport const createExtractorJobHandler = async (args: createExtractorJobArgs, options?: RequestInit) => {\n const res = await createExtractorJob(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve detailed information about a specific extractor job, including its status, timing, and result.\n * @summary Get extractor job\n */\n\nexport type getExtractorJobArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const getExtractorJobHandler = async (args: getExtractorJobArgs, options?: RequestInit) => {\n const res = await getExtractorJob(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all worker runs with pagination, filtering, and sorting.\n *\n * **Scope Filtering:**\n *\n * Use bracket notation to filter by scope keys:\n * - `scope[call_id]=abc-123`\n * - `scope[email_id]=xyz-456`\n *\n * Multiple scope filters can be combined (AND logic).\n * @summary List worker runs\n */\n\nexport type listWorkerRunsArgs = {\n queryParams: ListWorkerRunsParams;\n}\n\nexport const listWorkerRunsHandler = async (args: listWorkerRunsArgs, options?: RequestInit) => {\n const res = await listWorkerRuns(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new worker run for the specified worker.\n *\n * Provide a `scope` object with at least one key to define which artifacts the worker should process (e.g. `{ \"claim_id\": \"abc-123\" }`). The run stays `pending` until those artifacts are ready.\n *\n * Pass `null` to run the worker without any artifacts — the run is queued immediately. An empty object is rejected.\n * @summary Create worker run\n */\n\nexport type createWorkerRunArgs = {\n bodyParams?: CreateWorkerRunBody;\n}\n\nexport const createWorkerRunHandler = async (args: createWorkerRunArgs, options?: RequestInit) => {\n const res = await createWorkerRun(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve detailed information about a specific worker run, including its status, timing, and errors.\n * @summary Get worker run\n */\n\nexport type getWorkerRunArgs = {\n pathParams: {\n workerRunId: string\n };\n}\n\nexport const getWorkerRunHandler = async (args: getWorkerRunArgs, options?: RequestInit) => {\n const res = await getWorkerRun(args.pathParams.workerRunId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve messages emitted during a worker run, ordered by emission time. Supports cursor-style pagination via `after` and `count`.\n * @summary List worker run messages\n */\n\nexport type listWorkerRunMessagesArgs = {\n pathParams: {\n workerRunId: string\n };\n queryParams: ListWorkerRunMessagesParams;\n}\n\nexport const listWorkerRunMessagesHandler = async (args: listWorkerRunMessagesArgs, options?: RequestInit) => {\n const res = await listWorkerRunMessages(args.pathParams.workerRunId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Cancel a worker run. For in_progress runs, the underlying E2B sandbox is terminated when possible. Pending and queued runs are simply marked canceled. Runs that are starting are still being handed their context and cannot be interrupted, so they cannot be canceled until they reach in_progress. Runs in terminal states (completed, failed) cannot be canceled. Already-canceled runs are returned without side effects.\n * @summary Cancel a worker run\n */\n\nexport type cancelWorkerRunArgs = {\n pathParams: {\n workerRunId: string\n };\n}\n\nexport const cancelWorkerRunHandler = async (args: cancelWorkerRunArgs, options?: RequestInit) => {\n const res = await cancelWorkerRun(args.pathParams.workerRunId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Snapshot a worker run's trigger and resolved artifacts, and record its MCP tool responses from telemetry for replay.\n * @summary Create a worker eval from a run\n */\n\nexport type createWorkerEvalFromRunArgs = {\n pathParams: {\n workerRunId: string\n };\n bodyParams?: CreateWorkerEvalFromRunBody;\n}\n\nexport const createWorkerEvalFromRunHandler = async (args: createWorkerEvalFromRunArgs, options?: RequestInit) => {\n const res = await createWorkerEvalFromRun(args.pathParams.workerRunId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Queue an explicit worker version against the eval's immutable artifact snapshot and mocked tools.\n * @summary Run an eval\n */\n\nexport type runEvalArgs = {\n pathParams: {\n evalId: string\n };\n bodyParams?: RunEvalBody;\n}\n\nexport const runEvalHandler = async (args: runEvalArgs, options?: RequestInit) => {\n const res = await runEval(args.pathParams.evalId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Get the status and prompt-grader result for an eval run.\n * @summary Get an eval run\n */\n\nexport type getEvalRunArgs = {\n pathParams: {\n evalRunId: string\n };\n}\n\nexport const getEvalRunHandler = async (args: getEvalRunArgs, options?: RequestInit) => {\n const res = await getEvalRun(args.pathParams.evalRunId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new extractor with a name and JSON schema defining the extraction output format.\n * @summary Create extractor\n */\n\nexport type createExtractorArgs = {\n bodyParams?: CreateExtractorBody;\n}\n\nexport const createExtractorHandler = async (args: createExtractorArgs, options?: RequestInit) => {\n const res = await createExtractor(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all extractors with pagination, filtering, and sorting.\n *\n * Filter by name using the `name` query parameter.\n * @summary List extractors\n */\n\nexport type listExtractorsArgs = {\n queryParams: ListExtractorsParams;\n}\n\nexport const listExtractorsHandler = async (args: listExtractorsArgs, options?: RequestInit) => {\n const res = await listExtractors(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single extractor by ID, including its schema and version.\n * @summary Get extractor\n */\n\nexport type getExtractorArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const getExtractorHandler = async (args: getExtractorArgs, options?: RequestInit) => {\n const res = await getExtractor(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update an extractor's schema. This creates a new version of the extractor.\n * @summary Update extractor\n */\n\nexport type updateExtractorArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: UpdateExtractorBody;\n}\n\nexport const updateExtractorHandler = async (args: updateExtractorArgs, options?: RequestInit) => {\n const res = await updateExtractor(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Soft-delete an extractor and all of its versions. Soft-deleted extractors no longer appear in any read.\n * @summary Delete extractor\n */\n\nexport type deleteExtractorArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const deleteExtractorHandler = async (args: deleteExtractorArgs, options?: RequestInit) => {\n const res = await deleteExtractor(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new worker with a name and prompt.\n * @summary Create worker\n */\n\nexport type createWorkerArgs = {\n bodyParams?: CreateWorkerBody;\n}\n\nexport const createWorkerHandler = async (args: createWorkerArgs, options?: RequestInit) => {\n const res = await createWorker(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all workers with pagination, filtering, and sorting.\n *\n * Filter by name using the `name` query parameter.\n * @summary List workers\n */\n\nexport type listWorkersArgs = {\n queryParams: ListWorkersParams;\n}\n\nexport const listWorkersHandler = async (args: listWorkersArgs, options?: RequestInit) => {\n const res = await listWorkers(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single worker by ID.\n * @summary Get worker\n */\n\nexport type getWorkerArgs = {\n pathParams: {\n workerId: string\n };\n}\n\nexport const getWorkerHandler = async (args: getWorkerArgs, options?: RequestInit) => {\n const res = await getWorker(args.pathParams.workerId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Delete a worker. The worker is hidden from all reads; its run history is preserved.\n * @summary Delete worker\n */\n\nexport type deleteWorkerArgs = {\n pathParams: {\n workerId: string\n };\n}\n\nexport const deleteWorkerHandler = async (args: deleteWorkerArgs, options?: RequestInit) => {\n const res = await deleteWorker(args.pathParams.workerId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update the configuration of a worker, including the attached tool set.\n * @summary Update worker\n */\n\nexport type updateWorkerArgs = {\n pathParams: {\n workerId: string\n };\n bodyParams?: UpdateWorkerBody;\n}\n\nexport const updateWorkerHandler = async (args: updateWorkerArgs, options?: RequestInit) => {\n const res = await updateWorker(args.pathParams.workerId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve the prompt for a worker. Pass `version` to fetch the prompt snapshot at a specific config version; omit it to fetch the current prompt. Internal use only.\n * @summary Get worker prompt\n */\n\nexport type getWorkerPromptArgs = {\n pathParams: {\n workerId: string\n };\n queryParams: GetWorkerPromptParams;\n}\n\nexport const getWorkerPromptHandler = async (args: getWorkerPromptArgs, options?: RequestInit) => {\n const res = await getWorkerPrompt(args.pathParams.workerId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update the prompt for a worker. Internal use only.\n * @summary Update worker prompt\n */\n\nexport type updateWorkerPromptArgs = {\n pathParams: {\n workerId: string\n };\n bodyParams?: UpdateWorkerPromptBody;\n}\n\nexport const updateWorkerPromptHandler = async (args: updateWorkerPromptArgs, options?: RequestInit) => {\n const res = await updateWorkerPrompt(args.pathParams.workerId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the LLM models that can be assigned to a worker via the `model` field on update.\n * @summary List available worker models\n */\n\nexport const listWorkerModelsHandler = async (options?: RequestInit) => {\n const res = await listWorkerModels(options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Replace the set of MCP servers a worker connects to. Pass an empty array to disconnect.\n * @summary Update worker MCP servers\n */\n\nexport type updateWorkerMcpsArgs = {\n pathParams: {\n workerId: string\n };\n bodyParams?: UpdateWorkerMcpsBody;\n}\n\nexport const updateWorkerMcpsHandler = async (args: updateWorkerMcpsArgs, options?: RequestInit) => {\n const res = await updateWorkerMcps(args.pathParams.workerId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all config versions for a worker, ordered by version (newest first by default).\n * @summary List worker versions\n */\n\nexport type listWorkerVersionsArgs = {\n pathParams: {\n workerId: string\n };\n queryParams: ListWorkerVersionsParams;\n}\n\nexport const listWorkerVersionsHandler = async (args: listWorkerVersionsArgs, options?: RequestInit) => {\n const res = await listWorkerVersions(args.pathParams.workerId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single worker config version, including the worker's identity, the config snapshot at that version, and version-specific metadata. The prompt is served separately by the worker prompt endpoint.\n * @summary Get worker version\n */\n\nexport type getWorkerVersionArgs = {\n pathParams: {\n workerId: string,\n version: number\n };\n}\n\nexport const getWorkerVersionHandler = async (args: getWorkerVersionArgs, options?: RequestInit) => {\n const res = await getWorkerVersion(args.pathParams.workerId, args.pathParams.version, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Select a worker configuration version for the live or test environment. This freezes the config snapshot only — the E2B template, attached tools and attached secrets are not versioned and always resolve to their current values.\n * @summary Promote worker version\n */\n\nexport type promoteWorkerVersionArgs = {\n pathParams: {\n workerId: string,\n version: number\n };\n bodyParams?: PromoteWorkerVersionBody;\n}\n\nexport const promoteWorkerVersionHandler = async (args: promoteWorkerVersionArgs, options?: RequestInit) => {\n const res = await promoteWorkerVersion(args.pathParams.workerId, args.pathParams.version, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.\n * @summary Get worker version change summary\n */\n\nexport type getWorkerVersionChangeSummaryArgs = {\n pathParams: {\n workerId: string,\n version: number\n };\n}\n\nexport const getWorkerVersionChangeSummaryHandler = async (args: getWorkerVersionChangeSummaryArgs, options?: RequestInit) => {\n const res = await getWorkerVersionChangeSummary(args.pathParams.workerId, args.pathParams.version, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a webhook that fires when events occur for the specified worker.\n * @summary Create worker webhook\n */\n\nexport type createWorkerWebhookArgs = {\n pathParams: {\n workerId: string\n };\n bodyParams?: CreateWorkerWebhookBody;\n}\n\nexport const createWorkerWebhookHandler = async (args: createWorkerWebhookArgs, options?: RequestInit) => {\n const res = await createWorkerWebhook(args.pathParams.workerId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all webhooks configured for a specific worker.\n * @summary List worker webhooks\n */\n\nexport type listWorkerWebhooksArgs = {\n pathParams: {\n workerId: string\n };\n queryParams: ListWorkerWebhooksParams;\n}\n\nexport const listWorkerWebhooksHandler = async (args: listWorkerWebhooksArgs, options?: RequestInit) => {\n const res = await listWorkerWebhooks(args.pathParams.workerId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all cases for the current tenant, paginated, filterable, and sortable.\n * @summary List cases\n */\n\nexport type listCasesArgs = {\n queryParams: ListCasesParams;\n}\n\nexport const listCasesHandler = async (args: listCasesArgs, options?: RequestInit) => {\n const res = await listCases(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a case with a client-supplied id.\n *\n * Case ids are tenant-scoped opaque keys (e.g. \"clm-1\", \"STD-001\") and are normalized server-side (trimmed and lowercased). Creating an id that already exists **in the same environment** returns 409 — the same id can exist once in `live` and once in `test`.\n * @summary Create case\n */\n\nexport type createCaseArgs = {\n bodyParams?: CreateCaseBody;\n}\n\nexport const createCaseHandler = async (args: createCaseArgs, options?: RequestInit) => {\n const res = await createCase(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Probe for candidate cases. Matches the query as a normalized substring of the case id, and fuzzily (trigram) against subject and reporter. Results are relevance-ranked — id matches first, then best fuzzy match, then most recently updated — so ordering is fixed and not configurable.\n * @summary Search cases\n */\n\nexport type searchCasesArgs = {\n queryParams: SearchCasesParams;\n}\n\nexport const searchCasesHandler = async (args: searchCasesArgs, options?: RequestInit) => {\n const res = await searchCases(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a case by id.\n *\n * Related entities are not embedded — fetch them via the filtered list endpoints,\n * e.g. `GET /v1/worker-runs?case_id=…` and `GET /v1/artifacts?metadata[case_id]=…`.\n * @summary Get case\n */\n\nexport type getCaseArgs = {\n pathParams: {\n id: string\n };\n queryParams: GetCaseParams;\n}\n\nexport const getCaseHandler = async (args: getCaseArgs, options?: RequestInit) => {\n const res = await getCase(args.pathParams.id, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Delete a case.\n *\n * The case and its links stop being visible; the linked entities themselves are untouched. The id becomes available again — a case created with the same id afterwards is a new, empty case, not the deleted one.\n *\n * Unlike removing a case link, this is **not** idempotent: deleting a case that does not exist, or has already been deleted, returns 404.\n * @summary Delete case\n */\n\nexport type deleteCaseArgs = {\n pathParams: {\n id: string\n };\n queryParams: DeleteCaseParams;\n}\n\nexport const deleteCaseHandler = async (args: deleteCaseArgs, options?: RequestInit) => {\n const res = await deleteCase(args.pathParams.id, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Link up to 100 entities (artifacts, calls, chats, emails, extracts, information requests, schedules, worker runs) to a case.\n *\n * The case and every entity must already exist in the tenant — unknown ids return 404 and nothing is created. Calls, emails, information requests and worker runs must belong to the case's environment, and a schedule must run in it; artifacts, chats and extracts are not environment-scoped and can be linked to a case in either. A mismatch rejects the whole request. Adding is idempotent: re-linking an already linked entity returns the existing link with its original `created_at`.\n * @summary Add case links\n */\n\nexport type addCaseLinksArgs = {\n pathParams: {\n id: string\n };\n queryParams: AddCaseLinksParams;\n bodyParams?: AddCaseLinksBody;\n}\n\nexport const addCaseLinksHandler = async (args: addCaseLinksArgs, options?: RequestInit) => {\n const res = await addCaseLinks(args.pathParams.id, args.bodyParams, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the entities linked to a case, paginated and filterable by entity type.\n * @summary List case links\n */\n\nexport type listCaseLinksArgs = {\n pathParams: {\n id: string\n };\n queryParams: ListCaseLinksParams;\n}\n\nexport const listCaseLinksHandler = async (args: listCaseLinksArgs, options?: RequestInit) => {\n const res = await listCaseLinks(args.pathParams.id, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Remove the link between a case and an entity. Removal is idempotent: removing a link that does not exist succeeds without effect.\n * @summary Remove case link\n */\n\nexport type removeCaseLinkArgs = {\n pathParams: {\n id: string,\n entityType: 'artifact' | 'call' | 'chat' | 'email' | 'extract' | 'information_request' | 'schedule' | 'worker_run',\n entityId: string\n };\n queryParams: RemoveCaseLinkParams;\n}\n\nexport const removeCaseLinkHandler = async (args: removeCaseLinkArgs, options?: RequestInit) => {\n const res = await removeCaseLink(args.pathParams.id, args.pathParams.entityType, args.pathParams.entityId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new chat agent with a name and prompt.\n * @summary Create chat agent\n */\n\nexport type createChatAgentArgs = {\n bodyParams?: CreateChatAgentBody;\n}\n\nexport const createChatAgentHandler = async (args: createChatAgentArgs, options?: RequestInit) => {\n const res = await createChatAgent(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the tenant's chat agents with pagination and sorting. Prompts are not returned.\n * @summary List chat agents\n */\n\nexport type listChatAgentsArgs = {\n queryParams: ListChatAgentsParams;\n}\n\nexport const listChatAgentsHandler = async (args: listChatAgentsArgs, options?: RequestInit) => {\n const res = await listChatAgents(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single chat agent by ID, including the IDs of its attached code tools. The prompt is not returned.\n * @summary Get chat agent\n */\n\nexport type getChatAgentArgs = {\n pathParams: {\n chatAgentId: string\n };\n}\n\nexport const getChatAgentHandler = async (args: getChatAgentArgs, options?: RequestInit) => {\n const res = await getChatAgent(args.pathParams.chatAgentId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Patch a chat agent's settings. Today only the attached code tool set can be edited; future fields will be added under the same endpoint. The response returns the chat agent's metadata only and does not include the resulting tool list; the agent's `updated_at` is not bumped when only the tool set changes.\n * @summary Update chat agent\n */\n\nexport type updateChatAgentArgs = {\n pathParams: {\n chatAgentId: string\n };\n bodyParams?: UpdateChatAgentRequest;\n}\n\nexport const updateChatAgentHandler = async (args: updateChatAgentArgs, options?: RequestInit) => {\n const res = await updateChatAgent(args.pathParams.chatAgentId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Soft-delete a chat agent. The agent no longer appears in any read and stops accepting new chats; existing chats and messages are preserved.\n * @summary Delete chat agent\n */\n\nexport type deleteChatAgentArgs = {\n pathParams: {\n chatAgentId: string\n };\n}\n\nexport const deleteChatAgentHandler = async (args: deleteChatAgentArgs, options?: RequestInit) => {\n const res = await deleteChatAgent(args.pathParams.chatAgentId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve the prompt and greeting for a chat agent. Internal use only.\n * @summary Get chat agent prompt\n */\n\nexport type getChatAgentPromptArgs = {\n pathParams: {\n chatAgentId: string\n };\n}\n\nexport const getChatAgentPromptHandler = async (args: getChatAgentPromptArgs, options?: RequestInit) => {\n const res = await getChatAgentPrompt(args.pathParams.chatAgentId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update the prompt and/or greeting for a chat agent. Internal use only.\n * @summary Update chat agent prompt\n */\n\nexport type updateChatAgentPromptArgs = {\n pathParams: {\n chatAgentId: string\n };\n bodyParams?: UpdateChatAgentPromptBody;\n}\n\nexport const updateChatAgentPromptHandler = async (args: updateChatAgentPromptArgs, options?: RequestInit) => {\n const res = await updateChatAgentPrompt(args.pathParams.chatAgentId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new chat against an existing chat agent. The chat agent's tenant becomes the owner of the chat.\n * @summary Create a chat\n */\n\nexport type createChatArgs = {\n bodyParams?: CreateChatBody;\n}\n\nexport const createChatHandler = async (args: createChatArgs, options?: RequestInit) => {\n const res = await createChat(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Return a chat and its messages in chronological order. Used to re-render a transcript after a reload. Only `user` and `assistant` messages are included; tool calls and tool results are omitted. Each message's `content` is the concatenation of its text blocks separated by newlines.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /public/v1/chat`\n * @summary Get a chat\n */\n\nexport type getChatArgs = {\n pathParams: {\n chatId: string\n };\n}\n\nexport const getChatHandler = async (args: getChatArgs, options?: RequestInit) => {\n const res = await getChat(args.pathParams.chatId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Return the public-facing fields of a chat agent for use in the chat UI. Sensitive fields such as the agent's prompt and tenant ID are not exposed.\n * @summary Get a chat agent (public)\n */\n\nexport type getPublicChatAgentArgs = {\n pathParams: {\n chatAgentId: string\n };\n}\n\nexport const getPublicChatAgentHandler = async (args: getPublicChatAgentArgs, options?: RequestInit) => {\n const res = await getPublicChatAgent(args.pathParams.chatAgentId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Post a user message to an existing chat and return the assistant reply. Both messages are persisted.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /public/v1/chat/messages`\n * @summary Post a message to a chat\n */\n\nexport type postChatMessageArgs = {\n pathParams: {\n chatId: string\n };\n bodyParams?: PostChatMessageBody;\n}\n\nexport const postChatMessageHandler = async (args: postChatMessageArgs, options?: RequestInit) => {\n const res = await postChatMessage(args.pathParams.chatId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the tenant's chats with pagination, sorting, and optional filtering by case. Returns chat metadata and message counts; messages are not included.\n * @summary List chats\n */\n\nexport type listChatsArgs = {\n queryParams: ListChatsParams;\n}\n\nexport const listChatsHandler = async (args: listChatsArgs, options?: RequestInit) => {\n const res = await listChats(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List messages for a chat owned by the tenant, in chronological order by default.\n * @summary List chat messages\n */\n\nexport type listChatMessagesArgs = {\n pathParams: {\n chatId: string\n };\n queryParams: ListChatMessagesParams;\n}\n\nexport const listChatMessagesHandler = async (args: listChatMessagesArgs, options?: RequestInit) => {\n const res = await listChatMessages(args.pathParams.chatId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single extract by ID, including the extraction result data.\n * @summary Get extract\n */\n\nexport type getExtractArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const getExtractHandler = async (args: getExtractArgs, options?: RequestInit) => {\n const res = await getExtract(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve the citation tree with resolved chunk data for a given extract. Returns 404 if the extract does not exist or has no citations (the citations sub-resource is not available).\n * @summary Get extract citations\n */\n\nexport type getExtractCitationsArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const getExtractCitationsHandler = async (args: getExtractCitationsArgs, options?: RequestInit) => {\n const res = await getExtractCitations(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all extracts with pagination, filtering, and sorting.\n *\n * **Scope Filtering:**\n *\n * Use bracket notation to filter by scope keys:\n * - `scope[claim_id]=abc-123`\n *\n * Multiple scope filters can be combined (AND logic).\n * @summary List extracts\n */\n\nexport type listExtractsArgs = {\n queryParams: ListExtractsParams;\n}\n\nexport const listExtractsHandler = async (args: listExtractsArgs, options?: RequestInit) => {\n const res = await listExtracts(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve the current user's profile information. This endpoint requires a user session and cannot be used with API Keys.\n * @summary Get profile\n */\n\nexport const getProfileHandler = async (options?: RequestInit) => {\n const res = await getProfile(options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all members in the current tenant.\n * @summary List team members\n */\n\nexport const listTeamMembersHandler = async (options?: RequestInit) => {\n const res = await listTeamMembers(options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Invite an email address to join the current tenant. The invitee receives an email and joins at the `member` role once they accept; promote them afterwards with `PATCH /v1/team/members/{id}`.\n *\n * Requires the `teams:write` permission.\n *\n * Returns `409` if the address already has a pending invitation or is already a member.\n * @summary Invite a team member\n */\n\nexport type inviteTeamMemberArgs = {\n bodyParams?: InviteTeamMemberBody;\n}\n\nexport const inviteTeamMemberHandler = async (args: inviteTeamMemberArgs, options?: RequestInit) => {\n const res = await inviteTeamMember(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the invitations for the current tenant that are still awaiting acceptance. Accepted, revoked and expired invitations are not returned.\n *\n * Invitees are not team members yet, so they do not appear in `GET /v1/team/members`. A member-management screen shows both by merging the two lists.\n *\n * Requires the `teams:write` permission.\n * @summary List pending team invitations\n */\n\nexport const listTeamInvitationsHandler = async (options?: RequestInit) => {\n const res = await listTeamInvitations(options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Cancel a pending invitation. The link that was emailed to the invitee stops working, and the address becomes free to invite again.\n *\n * Idempotent: an invitation that was already accepted, revoked or expired also returns `204`.\n *\n * Requires the `teams:write` permission.\n *\n * Returns `404` for an unknown invitation or one that belongs to another tenant.\n * @summary Revoke a team invitation\n */\n\nexport type revokeTeamInvitationArgs = {\n pathParams: {\n invitationId: string\n };\n}\n\nexport const revokeTeamInvitationHandler = async (args: revokeTeamInvitationArgs, options?: RequestInit) => {\n const res = await revokeTeamInvitation(args.pathParams.invitationId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Email the invitation to its recipient again, for an invite that never arrived. The invitation keeps its `id` and its original expiry — this re-sends the existing link rather than issuing a new one.\n *\n * To give someone a genuinely fresh 5 days, revoke the invitation and send a new one instead.\n *\n * Requires the `teams:write` permission.\n *\n * Returns `409` if the invitation is no longer pending — it was accepted, revoked or expired underneath the caller — and `404` for an unknown invitation or one that belongs to another tenant.\n * @summary Resend a team invitation\n */\n\nexport type resendTeamInvitationArgs = {\n pathParams: {\n invitationId: string\n };\n}\n\nexport const resendTeamInvitationHandler = async (args: resendTeamInvitationArgs, options?: RequestInit) => {\n const res = await resendTeamInvitation(args.pathParams.invitationId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Change the role of a team member.\n * @summary Update member role\n */\n\nexport type updateMemberRoleArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: UpdateMemberRoleBody;\n}\n\nexport const updateMemberRoleHandler = async (args: updateMemberRoleArgs, options?: RequestInit) => {\n const res = await updateMemberRole(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Soft-delete a team member, revoking access on the next token refresh.\n * @summary Remove team member\n */\n\nexport type removeMemberArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const removeMemberHandler = async (args: removeMemberArgs, options?: RequestInit) => {\n const res = await removeMember(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create an organization-level secret. The value is encrypted at rest and **write-only** — no endpoint ever returns it.\n *\n * Requires the `secrets:write` permission. Env keys used by the worker runtime itself (e.g. `OPENAI_API_KEY`, `AVALLON_*`, `AWS_*`) are reserved and rejected.\n * @summary Create a secret\n */\n\nexport type createSecretArgs = {\n bodyParams?: CreateSecretBody;\n}\n\nexport const createSecretHandler = async (args: createSecretArgs, options?: RequestInit) => {\n const res = await createSecret(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the organization's secrets with pagination and sorting. Values are never included. Requires the `secrets:read` permission.\n * @summary List secrets\n */\n\nexport type listSecretsArgs = {\n queryParams: ListSecretsParams;\n}\n\nexport const listSecretsHandler = async (args: listSecretsArgs, options?: RequestInit) => {\n const res = await listSecrets(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Get a secret's metadata. The value is never included. Requires the `secrets:read` permission.\n * @summary Get secret\n */\n\nexport type getSecretArgs = {\n pathParams: {\n secretId: string\n };\n}\n\nexport const getSecretHandler = async (args: getSecretArgs, options?: RequestInit) => {\n const res = await getSecret(args.pathParams.secretId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update a secret's display name or description, or rotate its live or test value. Rotation overwrites the stored value — previous values are not retrievable.\n *\n * The `env_key` is immutable: consumers of the secret receive the value under that key, so changing it would silently break them. Create a new secret instead.\n *\n * Requires the `secrets:write` permission.\n * @summary Update secret\n */\n\nexport type updateSecretArgs = {\n pathParams: {\n secretId: string\n };\n bodyParams?: UpdateSecretBody;\n}\n\nexport const updateSecretHandler = async (args: updateSecretArgs, options?: RequestInit) => {\n const res = await updateSecret(args.pathParams.secretId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Delete a secret and detach it from all entities. Requires the `secrets:write` permission.\n * @summary Delete secret\n */\n\nexport type deleteSecretArgs = {\n pathParams: {\n secretId: string\n };\n}\n\nexport const deleteSecretHandler = async (args: deleteSecretArgs, options?: RequestInit) => {\n const res = await deleteSecret(args.pathParams.secretId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a schedule that performs an action, either repeatedly or once.\n *\n * `action` describes **what** happens — today only `trigger_worker`, which starts a worker run with the given scope. `rule` describes **when**: `recurring` carries one or more `patterns`, and fires whenever any of them comes round. A pattern fires every hour at `minute`, narrowed by `hours` and `weekdays` — so `hours: [9]` is daily at 09:00, `hours: [12], weekdays: [1]` is Mondays at noon, and `hours: [9, 13, 17], weekdays: [1, 2, 3, 4, 5]` is three times a day on weekdays. Give a second pattern to mix cadences: hourly on weekdays plus 09:00, 11:00 and 18:00 at weekends is two patterns on one schedule. Patterns overlap harmlessly — two that land on the same minute fire once. Every set is read in the schedule's own time zone — an IANA identifier such as `America/Chicago`, resolved across DST transitions. `once` fires a single time at a UTC instant.\n *\n * `environments` says **which worker version** each occurrence runs: `live` resolves the worker at its live version, `test` at its test version. Give both to soak a candidate version on the same cadence and scope as production — every occurrence then fires twice, producing one run per environment. Omit it to fire in `live` only.\n *\n * The response's `next_run_at` is the first occurrence strictly after the moment of creation; a rule that resolves to no such occurrence is rejected. Create with `enabled: false` to stage a recurring schedule without letting it fire. A one-off is always enabled: delete it to cancel it, and its `next_run_at` becomes null once it has fired.\n *\n * Requires the `schedules:write` permission.\n * @summary Create a schedule\n */\n\nexport type createScheduleArgs = {\n bodyParams?: CreateScheduleBody;\n}\n\nexport const createScheduleHandler = async (args: createScheduleArgs, options?: RequestInit) => {\n const res = await createSchedule(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the organization's schedules. Requires the `schedules:read` permission.\n * @summary List schedules\n */\n\nexport type listSchedulesArgs = {\n queryParams: ListSchedulesParams;\n}\n\nexport const listSchedulesHandler = async (args: listSchedulesArgs, options?: RequestInit) => {\n const res = await listSchedules(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single schedule. Requires the `schedules:read` permission.\n * @summary Get a schedule\n */\n\nexport type getScheduleArgs = {\n pathParams: {\n scheduleId: string\n };\n}\n\nexport const getScheduleHandler = async (args: getScheduleArgs, options?: RequestInit) => {\n const res = await getSchedule(args.pathParams.scheduleId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update a schedule's rule, environments, name, or enabled state.\n *\n * Changing the rule moves `next_run_at` to the first occurrence after the update; a rule that resolves to no such occurrence is rejected. One-off schedules are always enabled — delete one to cancel it before it fires.\n *\n * `environments` replaces the whole list rather than adding to it. It takes effect from the next occurrence: one already due keeps the environments it was created with.\n * @summary Update a schedule\n */\n\nexport type updateScheduleArgs = {\n pathParams: {\n scheduleId: string\n };\n bodyParams?: UpdateScheduleBody;\n}\n\nexport const updateScheduleHandler = async (args: updateScheduleArgs, options?: RequestInit) => {\n const res = await updateSchedule(args.pathParams.scheduleId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Delete a schedule so it stops firing.\n * @summary Delete a schedule\n */\n\nexport type deleteScheduleArgs = {\n pathParams: {\n scheduleId: string\n };\n}\n\nexport const deleteScheduleHandler = async (args: deleteScheduleArgs, options?: RequestInit) => {\n const res = await deleteSchedule(args.pathParams.scheduleId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the organization's dispatches, newest occurrence first.\n *\n * A dispatch is one occurrence of a trigger in one environment, carried out on its own: a schedule produces one per environment it runs in every time it fires, an inbound email produces one for the environment its inbox received it in, and a resolved information request produces one that restarts the worker that asked. Listing them shows what a trigger has actually done, including occurrences that never produced anything.\n *\n * - `pending` — not carried out yet: waiting to be picked up, in flight, or waiting on a retry after an earlier pickup did not complete.\n * - `dispatched` — carried out.\n * - `abandoned` — gave up, because the occurrence passed its `expires_at` deadline before it could be carried out.\n *\n * `attempts` counts how many times the occurrence has been picked up, not how many times it failed: a dispatch carried out on the first pickup ends at `attempts: 1`, and a higher count means earlier pickups did not complete.\n *\n * `target` is what the occurrence produced — a worker run, or an extractor job for an email whose inbox extracts. It is null until the dispatch is carried out, and stays null on one that was abandoned.\n *\n * Narrow to one trigger with `trigger_type` and `trigger_id` — the schedule's ID for a schedule, the email's ID for an email, the request's ID for an information request. `trigger_id` requires `trigger_type`.\n * @summary List dispatches\n */\n\nexport type listDispatchesArgs = {\n queryParams: ListDispatchesParams;\n}\n\nexport const listDispatchesHandler = async (args: listDispatchesArgs, options?: RequestInit) => {\n const res = await listDispatches(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the organization's notifications, newest first.\n *\n * A notification is a durable record that something happened and that somebody should know about it. Notifications are not yet addressed to individual people, so everyone in the organization sees the same feed.\n *\n * `title` and `body` are the display text — render them as-is rather than deriving your own wording from `type`, so every surface says the same thing. `data` carries the identifiers the notification points at, so a client can link to the thing it is about; which keys are present depends on `type`.\n *\n * `worker_issue_reported` means a worker hit a problem during a run and reported it; its `body` is the worker's own message and its `data` is the reporting `worker_id` and `run_id`. `information_request_created` means a worker paused to ask a person a question; its `data` is the `request_id` to answer through `POST /v1/information-requests/{informationRequestId}/resolve`.\n * @summary List notifications\n */\n\nexport type listNotificationsArgs = {\n queryParams: ListNotificationsParams;\n}\n\nexport const listNotificationsHandler = async (args: listNotificationsArgs, options?: RequestInit) => {\n const res = await listNotifications(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single notification by its ID, the id a `notification.created` webhook delivery carries.\n *\n * `title` and `body` are the display text — render them as-is rather than deriving your own wording from `type`, so every surface says the same thing. `data` carries the identifiers the notification points at, so a client can link to the thing it is about; which keys are present depends on `type`.\n *\n * `worker_issue_reported` means a worker hit a problem during a run and reported it; its `body` is the worker's own message and its `data` is the reporting `worker_id` and `run_id`. `information_request_created` means a worker paused to ask a person a question; its `data` is the `request_id` to answer through `POST /v1/information-requests/{informationRequestId}/resolve`.\n * @summary Get notification\n */\n\nexport type getNotificationArgs = {\n pathParams: {\n notificationId: string\n };\n}\n\nexport const getNotificationHandler = async (args: getNotificationArgs, options?: RequestInit) => {\n const res = await getNotification(args.pathParams.notificationId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Ask a person for a specific fact you cannot establish yourself.\n *\n * Use this when one missing piece of information is blocking you and only a human can supply it — which claim a document belongs to, which of two policies applies, what an ambiguous reference means. Ask one answerable question per request, and write it so it stands on its own: whoever resolves it sees your title and your question and nothing else.\n *\n * Immediately link the request to its case with `addCaseLinks` and `entity_type: \"information_request\"`. That is how it reaches the person working that case; unlinked, it sits in a queue nobody is looking at. Leave it unlinked only when you genuinely cannot tell which case it belongs to.\n *\n * **This does not block or suspend you.** Nobody resolves it while this run is happening. Carry on with what you can still do, or stop, and say in your final report that you asked.\n *\n * Do not use it for progress updates, or for anything you can work out yourself.\n * @summary Ask for information\n */\n\nexport type createInformationRequestArgs = {\n bodyParams?: CreateInformationRequestBody;\n}\n\nexport const createInformationRequestHandler = async (args: createInformationRequestArgs, options?: RequestInit) => {\n const res = await createInformationRequest(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the organization's information requests, newest first.\n *\n * An information request is a specific question a worker could not settle on its own and needs a person to resolve. It stays open until somebody resolves it; there is no separate status field.\n * @summary List information requests\n */\n\nexport type listInformationRequestsArgs = {\n queryParams: ListInformationRequestsParams;\n}\n\nexport const listInformationRequestsHandler = async (args: listInformationRequestsArgs, options?: RequestInit) => {\n const res = await listInformationRequests(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single information request by its ID.\n * @summary Get information request\n */\n\nexport type getInformationRequestArgs = {\n pathParams: {\n informationRequestId: string\n };\n}\n\nexport const getInformationRequestHandler = async (args: getInformationRequestArgs, options?: RequestInit) => {\n const res = await getInformationRequest(args.pathParams.informationRequestId, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Resolve an open information request by providing an answer/resolution.\n * @summary Resolve information request\n */\n\nexport type resolveInformationRequestArgs = {\n pathParams: {\n informationRequestId: string\n };\n bodyParams?: ResolveInformationRequestBody;\n}\n\nexport const resolveInformationRequestHandler = async (args: resolveInformationRequestArgs, options?: RequestInit) => {\n const res = await resolveInformationRequest(args.pathParams.informationRequestId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a new code tool that can be attached to agents. Provide the tool's name, code, and description.\n * @summary Create tool\n */\n\nexport type createToolArgs = {\n bodyParams?: CreateToolBody;\n}\n\nexport const createToolHandler = async (args: createToolArgs, options?: RequestInit) => {\n const res = await createTool(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all code tools with sorting.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /worker/v1/tools`\n * @summary List tools\n */\n\nexport type listToolsArgs = {\n queryParams: ListToolsParams;\n}\n\nexport const listToolsHandler = async (args: listToolsArgs, options?: RequestInit) => {\n const res = await listTools(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Delete a tool. Fails with a conflict when the tool is still attached to a voice agent, worker, or chat agent; detach it first.\n * @summary Delete tool\n */\n\nexport type deleteToolArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const deleteToolHandler = async (args: deleteToolArgs, options?: RequestInit) => {\n const res = await deleteTool(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single tool by ID at its newest config version, including its code, schema, description and attached secrets, plus the versions each environment runs.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /worker/v1/tools/{id}`\n * @summary Get tool\n */\n\nexport type getToolArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const getToolHandler = async (args: getToolArgs, options?: RequestInit) => {\n const res = await getTool(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update a code tool's name, description, code, or attached secrets. All fields are optional — only provided fields are updated.\n *\n * Changing the code, description or attached secrets creates a new config version; runs keep executing the versions promoted to live and test until that version is promoted. Renaming does not create a version.\n * @summary Update tool\n */\n\nexport type updateToolArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: UpdateToolBody;\n}\n\nexport const updateToolHandler = async (args: updateToolArgs, options?: RequestInit) => {\n const res = await updateTool(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Execute a code tool with the given parameters. Returns the result, any errors, and execution traces.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /worker/v1/tools/{id}/execute`\n * @summary Execute tool\n */\n\nexport type executeCodeArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: ExecuteCodeBody;\n}\n\nexport const executeCodeHandler = async (args: executeCodeArgs, options?: RequestInit) => {\n const res = await executeCode(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all config versions for a tool, ordered by version (newest first by default).\n * @summary List tool versions\n */\n\nexport type listToolVersionsArgs = {\n pathParams: {\n id: string\n };\n queryParams: ListToolVersionsParams;\n}\n\nexport const listToolVersionsHandler = async (args: listToolVersionsArgs, options?: RequestInit) => {\n const res = await listToolVersions(args.pathParams.id, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single tool config version: the tool's identity, the code, schema, description and attached secrets at that version, and version metadata.\n * @summary Get tool version\n */\n\nexport type getToolVersionArgs = {\n pathParams: {\n id: string,\n version: number\n };\n}\n\nexport const getToolVersionHandler = async (args: getToolVersionArgs, options?: RequestInit) => {\n const res = await getToolVersion(args.pathParams.id, args.pathParams.version, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Select a tool config version for the live or test environment. Runs in that environment execute this version's code with this version's schema and attached secrets from then on.\n * @summary Promote tool version\n */\n\nexport type promoteToolVersionArgs = {\n pathParams: {\n id: string,\n version: number\n };\n bodyParams?: PromoteToolVersionBody;\n}\n\nexport const promoteToolVersionHandler = async (args: promoteToolVersionArgs, options?: RequestInit) => {\n const res = await promoteToolVersion(args.pathParams.id, args.pathParams.version, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Returns an AI-generated summary of what changed between this version and the previous one. Initial version returns an empty string since there is no predecessor.\n * @summary Get tool version change summary\n */\n\nexport type getToolVersionChangeSummaryArgs = {\n pathParams: {\n id: string,\n version: number\n };\n}\n\nexport const getToolVersionChangeSummaryHandler = async (args: getToolVersionChangeSummaryArgs, options?: RequestInit) => {\n const res = await getToolVersionChangeSummary(args.pathParams.id, args.pathParams.version, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all code tools with sorting.\n * @deprecated\n * @summary List tools\n */\n\nexport type workerListToolsArgs = {\n queryParams: WorkerListToolsParams;\n}\n\nexport const workerListToolsHandler = async (args: workerListToolsArgs, options?: RequestInit) => {\n const res = await workerListTools(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single tool by ID at its newest config version, including its code, schema, description and attached secrets, plus the versions each environment runs.\n * @deprecated\n * @summary Get tool\n */\n\nexport type workerGetToolArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const workerGetToolHandler = async (args: workerGetToolArgs, options?: RequestInit) => {\n const res = await workerGetTool(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Execute a code tool with the given parameters. Returns the result, any errors, and execution traces.\n * @deprecated\n * @summary Execute tool\n */\n\nexport type workerExecuteToolArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: WorkerExecuteToolBody;\n}\n\nexport const workerExecuteToolHandler = async (args: workerExecuteToolArgs, options?: RequestInit) => {\n const res = await workerExecuteTool(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Report a problem to the people who run this organization.\n *\n * Use this for something a human has to resolve — a login that no longer works, a document you cannot read, a system that will not let you in, instructions that contradict what you found. The report goes to the organization's notifications; nobody sees it while the run is happening, so it does not unblock you now. Carry on with what you can still do, or stop, and say in your final report that you raised it.\n *\n * Do not use it for progress updates or for anything you can work around yourself.\n * @summary Notify an admin\n */\n\nexport type notifyAdminArgs = {\n bodyParams?: NotifyAdminBody;\n}\n\nexport const notifyAdminHandler = async (args: notifyAdminArgs, options?: RequestInit) => {\n const res = await notifyAdmin(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Upload a file for processing by passing a URL to a file. Use this for uploading larger files.\n *\n * This endpoint returns an upload id that can be used to find the created artifacts using the list artifacts endpoint.\n * @summary Upload a file for processing\n */\n\nexport type uploadFileArgs = {\n bodyParams?: UploadFileBody;\n}\n\nexport const uploadFileHandler = async (args: uploadFileArgs, options?: RequestInit) => {\n const res = await uploadFile(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a webhook that fires when events occur for the specified voice agent.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/agents/{id}/webhooks`\n * @summary Create voice agent webhook\n */\n\nexport type createAgentWebhookArgs = {\n pathParams: {\n voiceAgentId: string\n };\n bodyParams?: CreateAgentWebhookBody;\n}\n\nexport const createAgentWebhookHandler = async (args: createAgentWebhookArgs, options?: RequestInit) => {\n const res = await createAgentWebhook(args.pathParams.voiceAgentId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all webhooks configured for a specific voice agent.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/agents/{id}/webhooks`\n * @summary List voice agent webhooks\n */\n\nexport type listAgentWebhooksArgs = {\n pathParams: {\n voiceAgentId: string\n };\n queryParams: ListAgentWebhooksParams;\n}\n\nexport const listAgentWebhooksHandler = async (args: listAgentWebhooksArgs, options?: RequestInit) => {\n const res = await listAgentWebhooks(args.pathParams.voiceAgentId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a webhook that fires when events occur for the specified inbox.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `POST /v1/email-agents/{id}/webhooks`\n * @summary Create inbox webhook\n */\n\nexport type createInboxWebhookArgs = {\n pathParams: {\n inboxId: string\n };\n bodyParams?: CreateInboxWebhookBody;\n}\n\nexport const createInboxWebhookHandler = async (args: createInboxWebhookArgs, options?: RequestInit) => {\n const res = await createInboxWebhook(args.pathParams.inboxId, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all webhooks configured for a specific inbox.\n *\n * For compatibility this endpoint is also available using the following (deprecated) paths:\n * `GET /v1/email-agents/{id}/webhooks`\n * @summary List inbox webhooks\n */\n\nexport type listInboxWebhooksArgs = {\n pathParams: {\n inboxId: string\n };\n queryParams: ListInboxWebhooksParams;\n}\n\nexport const listInboxWebhooksHandler = async (args: listInboxWebhooksArgs, options?: RequestInit) => {\n const res = await listInboxWebhooks(args.pathParams.inboxId, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a webhook that fires when extraction events occur for the specified extractor.\n * @summary Create extractor webhook\n */\n\nexport type createExtractorWebhookArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: CreateExtractorWebhookBody;\n}\n\nexport const createExtractorWebhookHandler = async (args: createExtractorWebhookArgs, options?: RequestInit) => {\n const res = await createExtractorWebhook(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List all webhooks configured for a specific extractor.\n * @summary List extractor webhooks\n */\n\nexport type listWebhooksArgs = {\n pathParams: {\n id: string\n };\n queryParams: ListWebhooksParams;\n}\n\nexport const listWebhooksHandler = async (args: listWebhooksArgs, options?: RequestInit) => {\n const res = await listWebhooks(args.pathParams.id, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Create a webhook that fires whenever a notification is raised for the organization.\n *\n * Notifications belong to the organization rather than to a resource, so this webhook is not attached to anything: its `scope` is `{ \"notifications\": true }` and it receives every notification the organization raises. Each delivery carries the notification's `title` and `body` — the same display text `GET /v1/notifications` returns — alongside the structured `data` it points at.\n *\n * Notifications are not environment-specific, so every delivery is `live`. A webhook that names only `test` receives nothing.\n * @summary Create notification webhook\n */\n\nexport type createNotificationWebhookArgs = {\n bodyParams?: CreateNotificationWebhookBody;\n}\n\nexport const createNotificationWebhookHandler = async (args: createNotificationWebhookArgs, options?: RequestInit) => {\n const res = await createNotificationWebhook(args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List the webhooks that receive the organization's notifications.\n * @summary List notification webhooks\n */\n\nexport type listNotificationWebhooksArgs = {\n queryParams: ListNotificationWebhooksParams;\n}\n\nexport const listNotificationWebhooksHandler = async (args: listNotificationWebhooksArgs, options?: RequestInit) => {\n const res = await listNotificationWebhooks(args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Permanently delete a webhook. This action is irreversible.\n * @summary Delete webhook\n */\n\nexport type deleteWebhookArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const deleteWebhookHandler = async (args: deleteWebhookArgs, options?: RequestInit) => {\n const res = await deleteWebhook(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Retrieve a single webhook by ID. The authentication header value is never exposed — only `has_auth` indicates whether authentication is configured.\n * @summary Get webhook\n */\n\nexport type getWebhookArgs = {\n pathParams: {\n id: string\n };\n}\n\nexport const getWebhookHandler = async (args: getWebhookArgs, options?: RequestInit) => {\n const res = await getWebhook(args.pathParams.id, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Update a webhook's name, destination, environments, enabled state, or authentication. Omitted fields are left unchanged, and at least one must be provided.\n * @summary Update webhook\n */\n\nexport type updateWebhookArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: UpdateWebhookBody;\n}\n\nexport const updateWebhookHandler = async (args: updateWebhookArgs, options?: RequestInit) => {\n const res = await updateWebhook(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * List delivery attempts for a specific webhook, with pagination and sorting. Useful for debugging webhook issues.\n * @summary List webhook deliveries\n */\n\nexport type listWebhookDeliveriesArgs = {\n pathParams: {\n id: string\n };\n queryParams: ListWebhookDeliveriesParams;\n}\n\nexport const listWebhookDeliveriesHandler = async (args: listWebhookDeliveriesArgs, options?: RequestInit) => {\n const res = await listWebhookDeliveries(args.pathParams.id, args.queryParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n\n/**\n * Send a test event to a webhook endpoint. Returns the HTTP status code, response time, and any errors. The request is rejected with a 400 if the webhook does not target the given environment, since a successful ping would say nothing about events it will never receive.\n * @summary Test webhook\n */\n\nexport type testWebhookArgs = {\n pathParams: {\n id: string\n };\n bodyParams?: TestWebhookBody;\n}\n\nexport const testWebhookHandler = async (args: testWebhookArgs, options?: RequestInit) => {\n const res = await testWebhook(args.pathParams.id, args.bodyParams, options);\n\n if (res.status >= 400) {\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(res.data ?? null),\n },\n ],\n structuredContent: res.data,\n };\n};\n","/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Avallon API\n * OpenAPI spec version: 1.0.0\n */\nimport * as zod from 'zod';\n\nexport const ListVoiceAgentsQueryParams = zod.object({\n \"agent_name\": zod.string().optional().describe('Filter by exact agent name')\n})\n\nexport const listVoiceAgentsResponseDataAgentsItemInactivityTimeoutSecondsOneMin = -9007199254740991;\nexport const listVoiceAgentsResponseDataAgentsItemInactivityTimeoutSecondsOneMax = 9007199254740991;\n\nexport const listVoiceAgentsResponseDataTotalMin = -9007199254740991;\nexport const listVoiceAgentsResponseDataTotalMax = 9007199254740991;\n\n\n\nexport const ListVoiceAgentsResponse = zod.object({\n \"data\": zod.object({\n \"agents\": zod.array(zod.object({\n \"id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"agent_name\": zod.string(),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"phone_number\": zod.union([zod.string(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),\n \"language\": zod.enum(['en-US', 'de-DE']),\n \"tts_voice_id\": zod.string().describe('Voice ID from the TTS provider'),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),\n \"background_sounds\": zod.enum(['enabled', 'disabled']),\n \"noise_cancellation\": zod.enum(['NONE', 'NC', 'BVC', 'BVC_TELEPHONY']),\n \"voice_mail_detection\": zod.boolean(),\n \"dial_pad\": zod.boolean(),\n \"end_call\": zod.boolean(),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]),\n \"call_processor_id\": zod.union([zod.string(),zod.null()]),\n \"call_processor_type\": zod.union([zod.enum(['extractor', 'worker']),zod.null()]),\n \"evaluator_slug\": zod.union([zod.string(),zod.null()]),\n \"lk_cloud_routing_pct\": zod.number(),\n \"fallback_llm_model\": zod.union([zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),zod.null()]),\n \"fallback_tts_provider\": zod.union([zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),zod.null()]),\n \"fallback_tts_model\": zod.union([zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),zod.null()]),\n \"fallback_tts_voice_id\": zod.union([zod.string(),zod.null()]),\n \"fallback_stt_model\": zod.union([zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),zod.null()]),\n \"greeting\": zod.union([zod.string(),zod.null()]),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(listVoiceAgentsResponseDataAgentsItemInactivityTimeoutSecondsOneMin).max(listVoiceAgentsResponseDataAgentsItemInactivityTimeoutSecondsOneMax),zod.null()]).describe('Inactivity timeout in seconds. null disables the feature.'),\n \"tool_ids\": zod.array(zod.string()).describe('Tools the agent can call. Part of the versioned config: each version captures its own set, and a rollback restores it.')\n})),\n \"total\": zod.number().int().min(listVoiceAgentsResponseDataTotalMin).max(listVoiceAgentsResponseDataTotalMax).describe('Total number of agents')\n}),\n \"message\": zod.string()\n})\n\n\n\nexport const createVoiceAgentBodyInactivityTimeoutSecondsOneMin = 5;\nexport const createVoiceAgentBodyInactivityTimeoutSecondsOneMax = 9007199254740991;\n\n\n\nexport const CreateVoiceAgentBody = zod.object({\n \"agent_name\": zod.string().min(1).describe('Name for the agent'),\n \"direction\": zod.enum(['OUTBOUND', 'INBOUND']).describe('Call direction the agent handles'),\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']).describe('LLM model for conversation'),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']).describe('Text-to-speech provider'),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']).describe('Text-to-speech model'),\n \"tts_voice_id\": zod.union([zod.union([zod.union([zod.enum(['Achernar', 'Achird']),zod.enum(['v3V1d2rk6528UrLKRuy8', 'cauGUrZQIRUvQs3glrUi', 'OYTbf65OHHFELVut7v2H'])]),zod.enum(['5c42302c-194b-4d0c-ba1a-8cb485c84ab9', 'e8e5fffb-252c-436d-b842-8879b84445b6', 'f786b574-daa5-4673-aa0c-cbe3e8534c02', 'db6b0ed5-d5d3-463d-ae85-518a07d3c2b4', 'a5136bf9-224c-4d76-b823-52bd5efcffcc', '62ae83ad-4f6a-430b-af41-a9bede9286ca', 'ef191366-f52f-447a-a398-ed8c0f2943a1', '8d8ce8c9-44a4-46c4-b10f-9a927b99a853', '5ee9feff-1265-424a-9d7f-8e4d431a12c7', 'b9de4a89-2257-424b-94c2-db18ba68c81a', 'b0a1cdc7-e0d3-4d48-900d-7a936762c77b'])]),zod.enum(['Joanna', 'Kendra', 'Salli', 'Joey', 'Vicki', 'Daniel'])]).describe('Voice ID from the TTS provider'),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']).describe('Speech-to-text model'),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]).describe('Phone number to transfer calls to'),\n \"phone_number_id\": zod.string().optional().describe('ID of phone number to assign to agent'),\n \"language\": zod.enum(['en-US', 'de-DE']).describe('Language for the agent'),\n \"dial_pad\": zod.boolean().optional().describe('Whether the agent supports DTMF dial pad input'),\n \"end_call\": zod.boolean().optional().describe('Whether the agent can end the call'),\n \"call_processor_id\": zod.union([zod.string(),zod.null()]).optional().describe('ID of extractor or worker to run after call'),\n \"call_processor_type\": zod.enum(['extractor', 'worker']).optional().describe('Type of processor: extractor or worker'),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(createVoiceAgentBodyInactivityTimeoutSecondsOneMin).max(createVoiceAgentBodyInactivityTimeoutSecondsOneMax),zod.null()]).optional().describe('Inactivity timeout in seconds. null disables the feature. Minimum 5. Defaults to 7 if omitted.')\n})\n\nexport const createVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMin = -9007199254740991;\nexport const createVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMax = 9007199254740991;\n\n\n\nexport const CreateVoiceAgentResponse = zod.object({\n \"data\": zod.object({\n \"agent\": zod.object({\n \"id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"agent_name\": zod.string(),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"phone_number\": zod.union([zod.string(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),\n \"language\": zod.enum(['en-US', 'de-DE']),\n \"tts_voice_id\": zod.string().describe('Voice ID from the TTS provider'),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),\n \"background_sounds\": zod.enum(['enabled', 'disabled']),\n \"noise_cancellation\": zod.enum(['NONE', 'NC', 'BVC', 'BVC_TELEPHONY']),\n \"voice_mail_detection\": zod.boolean(),\n \"dial_pad\": zod.boolean(),\n \"end_call\": zod.boolean(),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]),\n \"call_processor_id\": zod.union([zod.string(),zod.null()]),\n \"call_processor_type\": zod.union([zod.enum(['extractor', 'worker']),zod.null()]),\n \"evaluator_slug\": zod.union([zod.string(),zod.null()]),\n \"lk_cloud_routing_pct\": zod.number(),\n \"fallback_llm_model\": zod.union([zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),zod.null()]),\n \"fallback_tts_provider\": zod.union([zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),zod.null()]),\n \"fallback_tts_model\": zod.union([zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),zod.null()]),\n \"fallback_tts_voice_id\": zod.union([zod.string(),zod.null()]),\n \"fallback_stt_model\": zod.union([zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),zod.null()]),\n \"greeting\": zod.union([zod.string(),zod.null()]),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(createVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMin).max(createVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMax),zod.null()]).describe('Inactivity timeout in seconds. null disables the feature.'),\n \"tool_ids\": zod.array(zod.string()).describe('Tools the agent can call. Part of the versioned config: each version captures its own set, and a rollback restores it.')\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetVoiceAgentParams = zod.object({\n \"voiceAgentId\": zod.string().uuid().describe('Voice Agent ID')\n})\n\nexport const getVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMin = -9007199254740991;\nexport const getVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMax = 9007199254740991;\n\n\n\nexport const GetVoiceAgentResponse = zod.object({\n \"data\": zod.object({\n \"agent\": zod.object({\n \"id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"agent_name\": zod.string(),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"phone_number\": zod.union([zod.string(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),\n \"language\": zod.enum(['en-US', 'de-DE']),\n \"tts_voice_id\": zod.string().describe('Voice ID from the TTS provider'),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),\n \"background_sounds\": zod.enum(['enabled', 'disabled']),\n \"noise_cancellation\": zod.enum(['NONE', 'NC', 'BVC', 'BVC_TELEPHONY']),\n \"voice_mail_detection\": zod.boolean(),\n \"dial_pad\": zod.boolean(),\n \"end_call\": zod.boolean(),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]),\n \"call_processor_id\": zod.union([zod.string(),zod.null()]),\n \"call_processor_type\": zod.union([zod.enum(['extractor', 'worker']),zod.null()]),\n \"evaluator_slug\": zod.union([zod.string(),zod.null()]),\n \"lk_cloud_routing_pct\": zod.number(),\n \"fallback_llm_model\": zod.union([zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),zod.null()]),\n \"fallback_tts_provider\": zod.union([zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),zod.null()]),\n \"fallback_tts_model\": zod.union([zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),zod.null()]),\n \"fallback_tts_voice_id\": zod.union([zod.string(),zod.null()]),\n \"fallback_stt_model\": zod.union([zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),zod.null()]),\n \"greeting\": zod.union([zod.string(),zod.null()]),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(getVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMin).max(getVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMax),zod.null()]).describe('Inactivity timeout in seconds. null disables the feature.'),\n \"tool_ids\": zod.array(zod.string()).describe('Tools the agent can call. Part of the versioned config: each version captures its own set, and a rollback restores it.'),\n \"test_phone_number\": zod.union([zod.string(),zod.null()])\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateVoiceAgentParams = zod.object({\n \"voiceAgentId\": zod.string().uuid()\n})\n\n\nexport const updateVoiceAgentBodyInactivityTimeoutSecondsOneMin = 5;\nexport const updateVoiceAgentBodyInactivityTimeoutSecondsOneMax = 9007199254740991;\n\n\n\nexport const UpdateVoiceAgentBody = zod.object({\n \"name\": zod.string().min(1).optional(),\n \"call_processor_id\": zod.union([zod.string().uuid(),zod.null()]).optional(),\n \"call_processor_type\": zod.enum(['extractor', 'worker']).optional(),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(updateVoiceAgentBodyInactivityTimeoutSecondsOneMin).max(updateVoiceAgentBodyInactivityTimeoutSecondsOneMax),zod.null()]).optional().describe('Inactivity timeout in seconds. null disables the feature. Minimum 5. Omit to leave unchanged.'),\n \"voice_mail_detection\": zod.boolean().optional().describe('Enable voicemail beep detection on outbound calls. Omit to leave unchanged.'),\n \"noise_cancellation\": zod.enum(['NONE', 'NC', 'BVC', 'BVC_TELEPHONY']).optional().describe('Noise cancellation mode applied to the caller audio. Omit to leave unchanged.'),\n \"tool_ids\": zod.array(zod.string().uuid()).optional().describe('Replace the agent\\'s attached tool set. Omit to leave unchanged; pass [] to detach all.')\n})\n\nexport const updateVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMin = -9007199254740991;\nexport const updateVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMax = 9007199254740991;\n\n\n\nexport const UpdateVoiceAgentResponse = zod.object({\n \"data\": zod.object({\n \"agent\": zod.object({\n \"id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"agent_name\": zod.string(),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"phone_number\": zod.union([zod.string(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),\n \"language\": zod.enum(['en-US', 'de-DE']),\n \"tts_voice_id\": zod.string().describe('Voice ID from the TTS provider'),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),\n \"background_sounds\": zod.enum(['enabled', 'disabled']),\n \"noise_cancellation\": zod.enum(['NONE', 'NC', 'BVC', 'BVC_TELEPHONY']),\n \"voice_mail_detection\": zod.boolean(),\n \"dial_pad\": zod.boolean(),\n \"end_call\": zod.boolean(),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]),\n \"call_processor_id\": zod.union([zod.string(),zod.null()]),\n \"call_processor_type\": zod.union([zod.enum(['extractor', 'worker']),zod.null()]),\n \"evaluator_slug\": zod.union([zod.string(),zod.null()]),\n \"lk_cloud_routing_pct\": zod.number(),\n \"fallback_llm_model\": zod.union([zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),zod.null()]),\n \"fallback_tts_provider\": zod.union([zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),zod.null()]),\n \"fallback_tts_model\": zod.union([zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),zod.null()]),\n \"fallback_tts_voice_id\": zod.union([zod.string(),zod.null()]),\n \"fallback_stt_model\": zod.union([zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),zod.null()]),\n \"greeting\": zod.union([zod.string(),zod.null()]),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(updateVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMin).max(updateVoiceAgentResponseDataAgentInactivityTimeoutSecondsOneMax),zod.null()]).describe('Inactivity timeout in seconds. null disables the feature.'),\n \"tool_ids\": zod.array(zod.string()).describe('Tools the agent can call. Part of the versioned config: each version captures its own set, and a rollback restores it.')\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteVoiceAgentParams = zod.object({\n \"voiceAgentId\": zod.string().uuid().describe('Voice Agent ID')\n})\n\nexport const DeleteVoiceAgentResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListVoiceAgentVersionsParams = zod.object({\n \"voiceAgentId\": zod.string().uuid()\n})\n\nexport const listVoiceAgentVersionsQueryCountDefault = 50;\nexport const listVoiceAgentVersionsQueryCountMax = 100;\n\nexport const listVoiceAgentVersionsQueryOffsetDefault = 0;\nexport const listVoiceAgentVersionsQueryOffsetMin = 0;\n\nexport const listVoiceAgentVersionsQuerySortByDefault = `version`;\nexport const listVoiceAgentVersionsQuerySortOrderDefault = `desc`;\n\nexport const ListVoiceAgentVersionsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listVoiceAgentVersionsQueryCountMax).default(listVoiceAgentVersionsQueryCountDefault),\n \"offset\": zod.number().min(listVoiceAgentVersionsQueryOffsetMin).default(listVoiceAgentVersionsQueryOffsetDefault),\n \"sort_by\": zod.enum(['version', 'created_at']).default(listVoiceAgentVersionsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listVoiceAgentVersionsQuerySortOrderDefault)\n})\n\nexport const listVoiceAgentVersionsResponseDataItemVersionMin = -9007199254740991;\nexport const listVoiceAgentVersionsResponseDataItemVersionMax = 9007199254740991;\n\nexport const listVoiceAgentVersionsResponseMetaTotalMin = -9007199254740991;\nexport const listVoiceAgentVersionsResponseMetaTotalMax = 9007199254740991;\n\n\n\nexport const ListVoiceAgentVersionsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"voice_agent_id\": zod.string(),\n \"version\": zod.number().int().min(listVoiceAgentVersionsResponseDataItemVersionMin).max(listVoiceAgentVersionsResponseDataItemVersionMax),\n \"active_environments\": zod.array(zod.enum(['live', 'test'])).describe('Release channels whose parent-agent pointers currently select this version. A version may be both `live` and `test`.'),\n \"actor\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"changed_fields\": zod.array(zod.string()).describe('Voice agent config field names (matching the keys on the voice agent response) whose values differ from the previous version. Empty for version 1.')\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number().int().min(listVoiceAgentVersionsResponseMetaTotalMin).max(listVoiceAgentVersionsResponseMetaTotalMax).describe('Total number of versions')\n})\n})\n\n\nexport const GetVoiceAgentVersionParams = zod.object({\n \"voiceAgentId\": zod.string().uuid(),\n \"version\": zod.number()\n})\n\nexport const getVoiceAgentVersionResponseDataInactivityTimeoutSecondsOneMin = -9007199254740991;\nexport const getVoiceAgentVersionResponseDataInactivityTimeoutSecondsOneMax = 9007199254740991;\n\nexport const getVoiceAgentVersionResponseDataVersionMin = -9007199254740991;\nexport const getVoiceAgentVersionResponseDataVersionMax = 9007199254740991;\n\n\n\nexport const GetVoiceAgentVersionResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"agent_name\": zod.string(),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"phone_number\": zod.union([zod.string(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),\n \"language\": zod.enum(['en-US', 'de-DE']),\n \"tts_voice_id\": zod.string().describe('Voice ID from the TTS provider'),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),\n \"background_sounds\": zod.enum(['enabled', 'disabled']),\n \"noise_cancellation\": zod.enum(['NONE', 'NC', 'BVC', 'BVC_TELEPHONY']),\n \"voice_mail_detection\": zod.boolean(),\n \"dial_pad\": zod.boolean(),\n \"end_call\": zod.boolean(),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]),\n \"call_processor_id\": zod.union([zod.string(),zod.null()]),\n \"call_processor_type\": zod.union([zod.enum(['extractor', 'worker']),zod.null()]),\n \"evaluator_slug\": zod.union([zod.string(),zod.null()]),\n \"lk_cloud_routing_pct\": zod.number(),\n \"fallback_llm_model\": zod.union([zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),zod.null()]),\n \"fallback_tts_provider\": zod.union([zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),zod.null()]),\n \"fallback_tts_model\": zod.union([zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),zod.null()]),\n \"fallback_tts_voice_id\": zod.union([zod.string(),zod.null()]),\n \"fallback_stt_model\": zod.union([zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),zod.null()]),\n \"greeting\": zod.union([zod.string(),zod.null()]),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(getVoiceAgentVersionResponseDataInactivityTimeoutSecondsOneMin).max(getVoiceAgentVersionResponseDataInactivityTimeoutSecondsOneMax),zod.null()]).describe('Inactivity timeout in seconds. null disables the feature.'),\n \"tool_ids\": zod.array(zod.string()).describe('Tools the agent can call. Part of the versioned config: each version captures its own set, and a rollback restores it.'),\n \"version\": zod.number().int().min(getVoiceAgentVersionResponseDataVersionMin).max(getVoiceAgentVersionResponseDataVersionMax),\n \"active_environments\": zod.array(zod.enum(['live', 'test'])).describe('Release channels whose parent-agent pointers currently select this version. A version may be both `live` and `test`.'),\n \"version_created_at\": zod.string().datetime({\"offset\":true}),\n \"actor\": zod.string(),\n \"changed_fields\": zod.array(zod.string()).describe('Voice agent config field names (matching the keys on the voice agent response) whose values differ from the previous version. Empty for version 1.')\n}),\n \"message\": zod.string()\n})\n\n\nexport const PromoteVoiceAgentVersionParams = zod.object({\n \"voiceAgentId\": zod.string().uuid(),\n \"version\": zod.number()\n})\n\nexport const PromoteVoiceAgentVersionBody = zod.object({\n \"environment\": zod.enum(['live', 'test'])\n})\n\nexport const PromoteVoiceAgentVersionResponse = zod.object({\n \"data\": zod.object({\n \"version\": zod.number(),\n \"environment\": zod.enum(['live', 'test'])\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetVoiceAgentVersionChangeSummaryParams = zod.object({\n \"voiceAgentId\": zod.string().uuid(),\n \"version\": zod.number()\n})\n\nexport const GetVoiceAgentVersionChangeSummaryResponse = zod.object({\n \"data\": zod.object({\n \"summary\": zod.string().describe('AI-generated summary of what changed between this version and the previous one. Empty string when there is no previous version (version 1).')\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetVoiceAgentPlaceholdersParams = zod.object({\n \"voiceAgentId\": zod.string().uuid()\n})\n\nexport const GetVoiceAgentPlaceholdersResponse = zod.object({\n \"data\": zod.object({\n \"placeholders\": zod.array(zod.string()).describe('Available placeholder variables')\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetVoiceAgentPromptParams = zod.object({\n \"voiceAgentId\": zod.string().uuid()\n})\n\nexport const GetVoiceAgentPromptQueryParams = zod.object({\n \"version\": zod.number().optional()\n})\n\nexport const GetVoiceAgentPromptResponse = zod.object({\n \"data\": zod.object({\n \"prompt\": zod.string().optional(),\n \"greeting\": zod.union([zod.string(),zod.null()]).optional()\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateVoiceAgentPromptParams = zod.object({\n \"voiceAgentId\": zod.string().uuid()\n})\n\n\n\n\n\nexport const UpdateVoiceAgentPromptBody = zod.object({\n \"prompt\": zod.string().min(1).optional(),\n \"greeting\": zod.union([zod.string().min(1),zod.null()]).optional()\n})\n\nexport const UpdateVoiceAgentPromptResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateVoiceAgentModelsParams = zod.object({\n \"voiceAgentId\": zod.string().uuid()\n})\n\nexport const UpdateVoiceAgentModelsBody = zod.object({\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),\n \"tts_voice_id\": zod.union([zod.union([zod.union([zod.enum(['Achernar', 'Achird']),zod.enum(['v3V1d2rk6528UrLKRuy8', 'cauGUrZQIRUvQs3glrUi', 'OYTbf65OHHFELVut7v2H'])]),zod.enum(['5c42302c-194b-4d0c-ba1a-8cb485c84ab9', 'e8e5fffb-252c-436d-b842-8879b84445b6', 'f786b574-daa5-4673-aa0c-cbe3e8534c02', 'db6b0ed5-d5d3-463d-ae85-518a07d3c2b4', 'a5136bf9-224c-4d76-b823-52bd5efcffcc', '62ae83ad-4f6a-430b-af41-a9bede9286ca', 'ef191366-f52f-447a-a398-ed8c0f2943a1', '8d8ce8c9-44a4-46c4-b10f-9a927b99a853', '5ee9feff-1265-424a-9d7f-8e4d431a12c7', 'b9de4a89-2257-424b-94c2-db18ba68c81a', 'b0a1cdc7-e0d3-4d48-900d-7a936762c77b'])]),zod.enum(['Joanna', 'Kendra', 'Salli', 'Joey', 'Vicki', 'Daniel'])]),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),\n \"language\": zod.enum(['en-US', 'de-DE']),\n \"fallback_llm_model\": zod.union([zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),zod.null()]).optional(),\n \"fallback_tts_provider\": zod.union([zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),zod.null()]).optional(),\n \"fallback_tts_model\": zod.union([zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),zod.null()]).optional(),\n \"fallback_tts_voice_id\": zod.union([zod.union([zod.union([zod.union([zod.enum(['Achernar', 'Achird']),zod.enum(['v3V1d2rk6528UrLKRuy8', 'cauGUrZQIRUvQs3glrUi', 'OYTbf65OHHFELVut7v2H'])]),zod.enum(['5c42302c-194b-4d0c-ba1a-8cb485c84ab9', 'e8e5fffb-252c-436d-b842-8879b84445b6', 'f786b574-daa5-4673-aa0c-cbe3e8534c02', 'db6b0ed5-d5d3-463d-ae85-518a07d3c2b4', 'a5136bf9-224c-4d76-b823-52bd5efcffcc', '62ae83ad-4f6a-430b-af41-a9bede9286ca', 'ef191366-f52f-447a-a398-ed8c0f2943a1', '8d8ce8c9-44a4-46c4-b10f-9a927b99a853', '5ee9feff-1265-424a-9d7f-8e4d431a12c7', 'b9de4a89-2257-424b-94c2-db18ba68c81a', 'b0a1cdc7-e0d3-4d48-900d-7a936762c77b'])]),zod.enum(['Joanna', 'Kendra', 'Salli', 'Joey', 'Vicki', 'Daniel'])]),zod.null()]).optional(),\n \"fallback_stt_model\": zod.union([zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),zod.null()]).optional()\n})\n\nexport const updateVoiceAgentModelsResponseDataAgentInactivityTimeoutSecondsOneMin = -9007199254740991;\nexport const updateVoiceAgentModelsResponseDataAgentInactivityTimeoutSecondsOneMax = 9007199254740991;\n\n\n\nexport const UpdateVoiceAgentModelsResponse = zod.object({\n \"data\": zod.object({\n \"agent\": zod.object({\n \"id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"agent_name\": zod.string(),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"phone_number\": zod.union([zod.string(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),\n \"language\": zod.enum(['en-US', 'de-DE']),\n \"tts_voice_id\": zod.string().describe('Voice ID from the TTS provider'),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),\n \"background_sounds\": zod.enum(['enabled', 'disabled']),\n \"noise_cancellation\": zod.enum(['NONE', 'NC', 'BVC', 'BVC_TELEPHONY']),\n \"voice_mail_detection\": zod.boolean(),\n \"dial_pad\": zod.boolean(),\n \"end_call\": zod.boolean(),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]),\n \"call_processor_id\": zod.union([zod.string(),zod.null()]),\n \"call_processor_type\": zod.union([zod.enum(['extractor', 'worker']),zod.null()]),\n \"evaluator_slug\": zod.union([zod.string(),zod.null()]),\n \"lk_cloud_routing_pct\": zod.number(),\n \"fallback_llm_model\": zod.union([zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),zod.null()]),\n \"fallback_tts_provider\": zod.union([zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),zod.null()]),\n \"fallback_tts_model\": zod.union([zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),zod.null()]),\n \"fallback_tts_voice_id\": zod.union([zod.string(),zod.null()]),\n \"fallback_stt_model\": zod.union([zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),zod.null()]),\n \"greeting\": zod.union([zod.string(),zod.null()]),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(updateVoiceAgentModelsResponseDataAgentInactivityTimeoutSecondsOneMin).max(updateVoiceAgentModelsResponseDataAgentInactivityTimeoutSecondsOneMax),zod.null()]).describe('Inactivity timeout in seconds. null disables the feature.'),\n \"tool_ids\": zod.array(zod.string()).describe('Tools the agent can call. Part of the versioned config: each version captures its own set, and a rollback restores it.')\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateCallControlsParams = zod.object({\n \"voiceAgentId\": zod.string().uuid()\n})\n\nexport const UpdateCallControlsBody = zod.object({\n \"dial_pad\": zod.boolean().optional(),\n \"end_call\": zod.boolean().optional(),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]).optional()\n})\n\nexport const updateCallControlsResponseDataAgentInactivityTimeoutSecondsOneMin = -9007199254740991;\nexport const updateCallControlsResponseDataAgentInactivityTimeoutSecondsOneMax = 9007199254740991;\n\n\n\nexport const UpdateCallControlsResponse = zod.object({\n \"data\": zod.object({\n \"agent\": zod.object({\n \"id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"agent_name\": zod.string(),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"phone_number\": zod.union([zod.string(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"llm_model\": zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),\n \"tts_provider\": zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),\n \"tts_model\": zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),\n \"language\": zod.enum(['en-US', 'de-DE']),\n \"tts_voice_id\": zod.string().describe('Voice ID from the TTS provider'),\n \"stt_model\": zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),\n \"background_sounds\": zod.enum(['enabled', 'disabled']),\n \"noise_cancellation\": zod.enum(['NONE', 'NC', 'BVC', 'BVC_TELEPHONY']),\n \"voice_mail_detection\": zod.boolean(),\n \"dial_pad\": zod.boolean(),\n \"end_call\": zod.boolean(),\n \"transfer_phone_number\": zod.union([zod.string(),zod.null()]),\n \"call_processor_id\": zod.union([zod.string(),zod.null()]),\n \"call_processor_type\": zod.union([zod.enum(['extractor', 'worker']),zod.null()]),\n \"evaluator_slug\": zod.union([zod.string(),zod.null()]),\n \"lk_cloud_routing_pct\": zod.number(),\n \"fallback_llm_model\": zod.union([zod.enum(['GPT4.1', 'AZURE-GPT4o', 'AZURE-GPT4.1', 'GPT-5', 'GPT-5-low', 'GPT-5-high', 'GPT-5.1-chat-latest', 'GPT-5.1-no-reasoning', 'GEMINI-1.5-flash', 'GEMINI-2.5-flash', 'GEMINI-2.5-flash-lite', 'GEMINI-3-flash', 'CLAUDE-sonnet-4.6', 'CLAUDE-haiku-4.5', 'GPT-5.4-mini']),zod.null()]),\n \"fallback_tts_provider\": zod.union([zod.enum(['elevenlabs', 'cartesia', 'google', 'aws-polly']),zod.null()]),\n \"fallback_tts_model\": zod.union([zod.enum(['eleven_flash_v2_5', 'eleven_turbo_v2_5', 'sonic-3', 'sonic-3.5', 'sonic-3.6', 'chirp_3', 'polly-neural']),zod.null()]),\n \"fallback_tts_voice_id\": zod.union([zod.string(),zod.null()]),\n \"fallback_stt_model\": zod.union([zod.enum(['DEEPGRAM-NOVA-2-GENERAL', 'DEEPGRAM-NOVA-3-GENERAL', 'AWS-TRANSCRIBE', 'ELEVENLABS-SCRIBE-V2-REALTIME', 'CARTESIA-INK-2']),zod.null()]),\n \"greeting\": zod.union([zod.string(),zod.null()]),\n \"inactivity_timeout_seconds\": zod.union([zod.number().int().min(updateCallControlsResponseDataAgentInactivityTimeoutSecondsOneMin).max(updateCallControlsResponseDataAgentInactivityTimeoutSecondsOneMax),zod.null()]).describe('Inactivity timeout in seconds. null disables the feature.'),\n \"tool_ids\": zod.array(zod.string()).describe('Tools the agent can call. Part of the versioned config: each version captures its own set, and a rollback restores it.')\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const ScheduleJobParams = zod.object({\n \"voiceAgentId\": zod.string().uuid()\n})\n\nexport const scheduleJobBodyScheduleWindowMinutesDefault = 60;\nexport const scheduleJobBodyScheduleWindowMinutesMin = 10;\nexport const scheduleJobBodyScheduleWindowMinutesMax = 9007199254740991;\n\nexport const scheduleJobBodyPayloadDefault = {};\nexport const scheduleJobBodyTriggerImmediatelyDefault = false;\n\nexport const ScheduleJobBody = zod.object({\n \"scheduled_at\": zod.string(),\n \"schedule_window_minutes\": zod.number().int().min(scheduleJobBodyScheduleWindowMinutesMin).max(scheduleJobBodyScheduleWindowMinutesMax).default(scheduleJobBodyScheduleWindowMinutesDefault),\n \"destination_phone_number\": zod.string(),\n \"payload\": zod.record(zod.string(), zod.unknown()).default(scheduleJobBodyPayloadDefault),\n \"metadata\": zod.record(zod.string(), zod.unknown()).optional(),\n \"environment\": zod.enum(['live', 'test']).optional().describe('Promoted environment the job dispatches against (agent configuration and phone binding). Defaults to `live`. TEST requires an active TEST promotion.'),\n \"trigger_immediately\": zod.boolean().default(scheduleJobBodyTriggerImmediatelyDefault)\n})\n\nexport const ScheduleJobResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"agent_id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"scheduled_at\": zod.string().datetime({\"offset\":true}),\n \"schedule_window_minutes\": zod.number(),\n \"destination_phone_number\": zod.string(),\n \"payload\": zod.record(zod.string(), zod.unknown()),\n \"metadata\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"environment\": zod.enum(['live', 'test']).describe('Promoted environment the job dispatches against (agent configuration and phone binding). TEST requires an active TEST promotion.'),\n \"status\": zod.enum(['pending', 'queued', 'in_progress', 'completed', 'canceled']),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const listJobsQueryCountDefault = 50;\nexport const listJobsQueryCountMax = 100;\n\nexport const listJobsQueryOffsetDefault = 0;\nexport const listJobsQueryOffsetMin = 0;\nexport const listJobsQueryOffsetMax = 9007199254740991;\n\n\n\nexport const ListJobsQueryParams = zod.object({\n \"agent\": zod.string().uuid().optional(),\n \"count\": zod.number().int().min(1).max(listJobsQueryCountMax).default(listJobsQueryCountDefault),\n \"offset\": zod.number().int().min(listJobsQueryOffsetMin).max(listJobsQueryOffsetMax).default(listJobsQueryOffsetDefault),\n \"status\": zod.array(zod.enum(['pending', 'queued', 'in_progress', 'completed', 'canceled'])),\n \"scheduled_after\": zod.string().datetime({\"offset\":true}).optional(),\n \"scheduled_before\": zod.string().datetime({\"offset\":true}).optional()\n})\n\nexport const ListJobsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"agent_id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"scheduled_at\": zod.string().datetime({\"offset\":true}),\n \"schedule_window_minutes\": zod.number(),\n \"destination_phone_number\": zod.string(),\n \"payload\": zod.record(zod.string(), zod.unknown()),\n \"metadata\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"environment\": zod.enum(['live', 'test']).describe('Promoted environment the job dispatches against (agent configuration and phone binding). TEST requires an active TEST promotion.'),\n \"status\": zod.enum(['pending', 'queued', 'in_progress', 'completed', 'canceled']),\n \"created_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const CancelJobParams = zod.object({\n \"jobId\": zod.string().uuid()\n})\n\nexport const CancelJobResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"agent_id\": zod.string(),\n \"tenant_id\": zod.string(),\n \"scheduled_at\": zod.string().datetime({\"offset\":true}),\n \"schedule_window_minutes\": zod.number(),\n \"destination_phone_number\": zod.string(),\n \"payload\": zod.record(zod.string(), zod.unknown()),\n \"metadata\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"environment\": zod.enum(['live', 'test']).describe('Promoted environment the job dispatches against (agent configuration and phone binding). TEST requires an active TEST promotion.'),\n \"status\": zod.enum(['pending', 'queued', 'in_progress', 'completed', 'canceled']),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListApiKeysQueryParams = zod.object({\n \"include_revoked\": zod.enum(['true', 'false']).optional().describe('Include revoked keys in the response'),\n \"owner_profile_id\": zod.string().uuid().optional().describe('Only return keys owned by this team member. Ids come from the team endpoint.')\n})\n\nexport const ListApiKeysResponse = zod.object({\n \"data\": zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().describe('Unique identifier for the API key'),\n \"name\": zod.string().describe('Human-readable name for the API key'),\n \"owner_profile_id\": zod.string().describe('Id of the team member the key acts as, as returned by the team endpoint. The owner\\'s role caps the key\\'s effective role, and the key stops working once the owner is removed from the tenant.'),\n \"key_prefix\": zod.string().describe('First 12 characters of the key (e.g. ak_live_abc1)'),\n \"role\": zod.enum(['admin', 'avallon_admin', 'member']).describe('Role granted to this API key'),\n \"last_used_at\": zod.string().datetime({\"offset\":true}).optional().describe('Last usage timestamp, if ever used'),\n \"expires_at\": zod.string().datetime({\"offset\":true}).optional().describe('Expiration date, if set'),\n \"revoked_at\": zod.string().datetime({\"offset\":true}).optional().describe('Revocation timestamp, if revoked'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp')\n})),\n \"count\": zod.number().describe('Total number of keys returned')\n}),\n \"message\": zod.string()\n})\n\n\nexport const createApiKeyBodyNameMax = 100;\n\nexport const createApiKeyBodyEnvironmentDefault = `live`;\n\nexport const CreateApiKeyBody = zod.object({\n \"name\": zod.string().min(1).max(createApiKeyBodyNameMax).describe('Human-readable name for the API key'),\n \"expires_at\": zod.string().datetime({\"offset\":true}).optional().describe('Optional expiration date (ISO 8601)'),\n \"environment\": zod.enum(['test', 'live']).default(createApiKeyBodyEnvironmentDefault).describe('Target environment for the key'),\n \"role\": zod.enum(['admin', 'avallon_admin', 'member']).optional().describe('Role granted to this API key (defaults to admin). Caller\\'s role caps the maximum grantable role.')\n})\n\nexport const CreateApiKeyResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the API key'),\n \"name\": zod.string().describe('Human-readable name for the API key'),\n \"owner_profile_id\": zod.string().describe('Id of the team member the key acts as, as returned by the team endpoint. The owner\\'s role caps the key\\'s effective role, and the key stops working once the owner is removed from the tenant.'),\n \"key_prefix\": zod.string().describe('First 12 characters of the key (e.g. ak_live_abc1)'),\n \"role\": zod.enum(['admin', 'avallon_admin', 'member']).describe('Role granted to this API key'),\n \"last_used_at\": zod.string().datetime({\"offset\":true}).optional().describe('Last usage timestamp, if ever used'),\n \"expires_at\": zod.string().datetime({\"offset\":true}).optional().describe('Expiration date, if set'),\n \"revoked_at\": zod.string().datetime({\"offset\":true}).optional().describe('Revocation timestamp, if revoked'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp'),\n \"api_key\": zod.string().describe('The full API key — only returned once at creation')\n}),\n \"message\": zod.string()\n})\n\n\nexport const RevokeApiKeyParams = zod.object({\n \"id\": zod.string().uuid().describe('The API key ID to revoke')\n})\n\nexport const RevokeApiKeyResponse = zod.object({\n \"data\": zod.object({\n \"message\": zod.string().describe('Confirmation message')\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateApiKeyParams = zod.object({\n \"id\": zod.string().uuid().describe('The API key ID to update')\n})\n\nexport const UpdateApiKeyBody = zod.object({\n \"role\": zod.enum(['admin', 'avallon_admin', 'member']).describe('New role to grant this API key. Caller\\'s role caps the maximum grantable role.')\n})\n\nexport const UpdateApiKeyResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the API key'),\n \"name\": zod.string().describe('Human-readable name for the API key'),\n \"owner_profile_id\": zod.string().describe('Id of the team member the key acts as, as returned by the team endpoint. The owner\\'s role caps the key\\'s effective role, and the key stops working once the owner is removed from the tenant.'),\n \"key_prefix\": zod.string().describe('First 12 characters of the key (e.g. ak_live_abc1)'),\n \"role\": zod.enum(['admin', 'avallon_admin', 'member']).describe('Role granted to this API key'),\n \"last_used_at\": zod.string().datetime({\"offset\":true}).optional().describe('Last usage timestamp, if ever used'),\n \"expires_at\": zod.string().datetime({\"offset\":true}).optional().describe('Expiration date, if set'),\n \"revoked_at\": zod.string().datetime({\"offset\":true}).optional().describe('Revocation timestamp, if revoked'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp')\n}),\n \"message\": zod.string()\n})\n\n\n\nexport const createArtifactBodyFileBase64Max = 9000000;\n\n\n\nexport const CreateArtifactBody = zod.object({\n \"document_name\": zod.string().min(1),\n \"file_base64\": zod.string().min(1).max(createArtifactBodyFileBase64Max),\n \"processing_options\": zod.object({\n \"file_password\": zod.string().optional(),\n \"file_splitting_enabled\": zod.boolean().optional()\n}).optional(),\n \"created_at_document\": zod.string().datetime({\"offset\":true}).optional(),\n \"metadata\": zod.record(zod.string(), zod.unknown()).optional()\n})\n\nexport const CreateArtifactResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"artifact_id\": zod.string(),\n \"message_id\": zod.string(),\n \"status\": zod.string()\n})),\n \"message\": zod.string()\n})\n\n\nexport const listArtifactsQueryCountDefault = 50;\nexport const listArtifactsQueryCountMax = 100;\n\nexport const listArtifactsQueryOffsetDefault = 0;\nexport const listArtifactsQueryOffsetMin = 0;\nexport const listArtifactsQueryOffsetMax = 100000;\n\nexport const listArtifactsQuerySortByDefault = `created_at`;\nexport const listArtifactsQuerySortOrderDefault = `desc`;\n\n\nexport const ListArtifactsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listArtifactsQueryCountMax).default(listArtifactsQueryCountDefault),\n \"offset\": zod.number().min(listArtifactsQueryOffsetMin).max(listArtifactsQueryOffsetMax).default(listArtifactsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at', 'updated_at', 'document_name']).default(listArtifactsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listArtifactsQuerySortOrderDefault),\n \"status\": zod.enum(['processing', 'parsed', 'raw', 'missing']).optional(),\n \"document_name_query\": zod.string().optional(),\n \"case_id\": zod.string().min(1).optional().describe('Only artifacts linked to this case. Values are normalized server-side (trimmed and lowercased).'),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"created_after\": zod.string().datetime({\"offset\":true}).optional(),\n \"created_before\": zod.string().datetime({\"offset\":true}).optional(),\n \"metadata\": zod.record(zod.string(), zod.string()).optional().describe('Filter by metadata keys using bracket notation (e.g. metadata[claim_id]=abc-123, metadata[source]=email). Multiple filters are combined with AND logic.')\n})\n\nexport const ListArtifactsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"document_name\": zod.string(),\n \"metadata\": zod.record(zod.string(), zod.unknown()),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"created_at_document\": zod.union([zod.string(),zod.null()]),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"has_content\": zod.boolean(),\n \"status\": zod.enum(['processing', 'parsed', 'raw', 'missing'])\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetArtifactParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const GetArtifactResponse = zod.object({\n \"data\": zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"document_name\": zod.string(),\n \"file_url\": zod.union([zod.string(),zod.null()]),\n \"metadata\": zod.record(zod.string(), zod.unknown()),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"created_at_document\": zod.union([zod.string(),zod.null()]),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"status\": zod.enum(['processing', 'parsed', 'raw', 'missing']),\n \"content_md\": zod.union([zod.string(),zod.null()]),\n \"content_with_chunkids_md\": zod.union([zod.string(),zod.null()]).describe('Parsed content annotated with [chunk_id=...] markers, always included when the artifact has parsed chunks. Chunk IDs are stable citation anchors usable to attribute extracted values to their source location. Null when the artifact has no parsed chunks.')\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteArtifactParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const DeleteArtifactResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const getArtifactMetadataKeysQueryLimitDefault = 100;\nexport const getArtifactMetadataKeysQueryLimitMax = 500;\n\n\n\nexport const GetArtifactMetadataKeysQueryParams = zod.object({\n \"limit\": zod.number().min(1).max(getArtifactMetadataKeysQueryLimitMax).default(getArtifactMetadataKeysQueryLimitDefault)\n})\n\nexport const GetArtifactMetadataKeysResponse = zod.object({\n \"data\": zod.object({\n \"data\": zod.object({\n \"keys\": zod.array(zod.string()),\n \"values\": zod.record(zod.string(), zod.array(zod.unknown()))\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetArtifactStatusSummaryQueryParams = zod.object({\n \"scope\": zod.record(zod.string(), zod.string()).describe('Scope to summarize, using bracket notation (e.g. scope[email_id]=abc-123). At least one key is required. Multiple keys are combined with AND logic.')\n})\n\nexport const getArtifactStatusSummaryResponseDataTotalMin = -9007199254740991;\nexport const getArtifactStatusSummaryResponseDataTotalMax = 9007199254740991;\n\nexport const getArtifactStatusSummaryResponseDataByStatusMinOne = -9007199254740991;\nexport const getArtifactStatusSummaryResponseDataByStatusMaxOne = 9007199254740991;\n\n\n\nexport const GetArtifactStatusSummaryResponse = zod.object({\n \"data\": zod.object({\n \"total\": zod.number().int().min(getArtifactStatusSummaryResponseDataTotalMin).max(getArtifactStatusSummaryResponseDataTotalMax),\n \"by_status\": zod.record(zod.string(), zod.number().int().min(getArtifactStatusSummaryResponseDataByStatusMinOne).max(getArtifactStatusSummaryResponseDataByStatusMaxOne))\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const GetArtifactUploadUrlBody = zod.object({\n \"filename\": zod.string().min(1)\n})\n\nexport const GetArtifactUploadUrlResponse = zod.object({\n \"data\": zod.object({\n \"upload_url\": zod.string(),\n \"file_url\": zod.string(),\n \"expires_at\": zod.string()\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateArtifactMetadataParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const UpdateArtifactMetadataBody = zod.object({\n \"metadata\": zod.record(zod.string(), zod.unknown())\n})\n\nexport const UpdateArtifactMetadataResponse = zod.object({\n \"data\": zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"document_name\": zod.string(),\n \"file_url\": zod.union([zod.string(),zod.null()]),\n \"metadata\": zod.record(zod.string(), zod.unknown()),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"created_at_document\": zod.union([zod.string(),zod.null()]),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"status\": zod.enum(['processing', 'parsed', 'raw', 'missing']),\n \"content_md\": zod.union([zod.string(),zod.null()]),\n \"content_with_chunkids_md\": zod.union([zod.string(),zod.null()]).describe('Parsed content annotated with [chunk_id=...] markers, always included when the artifact has parsed chunks. Chunk IDs are stable citation anchors usable to attribute extracted values to their source location. Null when the artifact has no parsed chunks.')\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const SignUpBody = zod.object({\n \"email\": zod.string().email(),\n \"password\": zod.string()\n})\n\nexport const SignUpResponse = zod.object({\n \"data\": zod.object({\n \"pending_authentication_token\": zod.string().optional()\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\n\n\n\n\nexport const SignInBody = zod.union([zod.object({\n \"type\": zod.literal(\"password\"),\n \"email\": zod.string().email(),\n \"password\": zod.string().min(1)\n}),zod.object({\n \"type\": zod.literal(\"oauth\"),\n \"code\": zod.string().min(1),\n \"verifier\": zod.string().min(1).optional().describe('PKCE verifier. Required only when the flow was started with a code_challenge.'),\n \"provider\": zod.enum(['google', 'sso']).optional()\n}),zod.object({\n \"type\": zod.literal(\"email_otp\"),\n \"email\": zod.string().email(),\n \"token\": zod.string().min(1),\n \"pending_authentication_token\": zod.string().min(1).optional()\n})])\n\nexport const SignInResponse = zod.object({\n \"data\": zod.object({\n \"access_token\": zod.string(),\n \"refresh_token\": zod.string(),\n \"expires_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const requestPasswordResetBodyEmailMax = 254;\n\n\n\nexport const RequestPasswordResetBody = zod.object({\n \"email\": zod.string().email().max(requestPasswordResetBodyEmailMax)\n})\n\nexport const RequestPasswordResetResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const resetPasswordBodyTokenMax = 512;\n\nexport const resetPasswordBodyNewPasswordMax = 256;\n\n\n\nexport const ResetPasswordBody = zod.object({\n \"token\": zod.string().min(1).max(resetPasswordBodyTokenMax),\n \"new_password\": zod.string().max(resetPasswordBodyNewPasswordMax)\n})\n\nexport const ResetPasswordResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const RefreshTokenBody = zod.object({\n \"access_token\": zod.string(),\n \"refresh_token\": zod.string()\n})\n\nexport const RefreshTokenResponse = zod.object({\n \"data\": zod.object({\n \"access_token\": zod.string(),\n \"refresh_token\": zod.string(),\n \"expires_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const GetOAuthUrlQueryParams = zod.object({\n \"provider\": zod.enum(['google', 'sso']),\n \"redirect_uri\": zod.string().url(),\n \"code_challenge_method\": zod.enum(['plain', 's256']).optional().describe('How code_challenge was derived. Required whenever code_challenge is sent.'),\n \"code_challenge\": zod.string().min(1).optional().describe('PKCE challenge derived from a verifier you keep until sign-in. Omit, together with code_challenge_method, to run the flow without PKCE.'),\n \"email\": zod.string().email().optional()\n})\n\nexport const GetOAuthUrlResponse = zod.object({\n \"data\": zod.object({\n \"url\": zod.string().url()\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetSessionTokenBody = zod.object({\n \"tenant_id\": zod.string().uuid().optional()\n})\n\nexport const GetSessionTokenResponse = zod.object({\n \"data\": zod.object({\n \"access_token\": zod.string(),\n \"tenant_id\": zod.string(),\n \"expires_in\": zod.number()\n}),\n \"message\": zod.string()\n})\n\n\nexport const getPartnerJwksPathPartnerRegExp = new RegExp('^[a-z0-9]+(-[a-z0-9]+)*$');\n\n\nexport const GetPartnerJwksParams = zod.object({\n \"partner\": zod.string().regex(getPartnerJwksPathPartnerRegExp)\n})\n\nexport const GetPartnerJwksResponse = zod.object({\n \"keys\": zod.array(zod.object({\n \"kty\": zod.string(),\n \"kid\": zod.string(),\n \"alg\": zod.string(),\n \"use\": zod.string(),\n \"n\": zod.string(),\n \"e\": zod.string()\n}))\n})\n\n\nexport const PartnerLaunchQueryParams = zod.object({\n \"case_id\": zod.string().optional(),\n \"view\": zod.string().optional()\n})\n\nexport const PartnerLaunchResponse = zod.void()\n\n\nexport const listCallsQueryCountDefault = 50;\nexport const listCallsQueryCountMax = 100;\n\nexport const listCallsQueryOffsetDefault = 0;\nexport const listCallsQueryOffsetMin = 0;\n\nexport const listCallsQuerySortByDefault = `started_at`;\nexport const listCallsQuerySortOrderDefault = `desc`;\n\n\n\n\nexport const ListCallsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listCallsQueryCountMax).default(listCallsQueryCountDefault),\n \"offset\": zod.number().min(listCallsQueryOffsetMin).default(listCallsQueryOffsetDefault),\n \"sort_by\": zod.enum(['started_at', 'ended_at', 'created_at']).default(listCallsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listCallsQuerySortOrderDefault),\n \"call_id\": zod.string().uuid().optional(),\n \"agent_id\": zod.string().uuid().optional(),\n \"agent_name\": zod.string().min(1).optional(),\n \"job_id\": zod.string().uuid().optional(),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']).optional(),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"status\": zod.enum(['COMPLETED', 'TRANSFERRED', 'DISCONNECTED', 'UNEXPECTED_SHUTDOWN']).optional(),\n \"started_after\": zod.string().datetime({\"offset\":true}).optional(),\n \"started_before\": zod.string().datetime({\"offset\":true}).optional(),\n \"phone_number\": zod.string().min(1).optional(),\n \"case_id\": zod.string().min(1).optional().describe('Only calls linked to this case. Values are normalized server-side (trimmed and lowercased).'),\n \"metadata\": zod.record(zod.string(), zod.string()).optional().describe('Filter by metadata keys using bracket notation (e.g. metadata[claim_id]=abc-123, metadata[source]=worker). Multiple filters are combined with AND logic.')\n})\n\nexport const ListCallsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"external_call_id\": zod.union([zod.string(),zod.null()]),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"agent_id\": zod.string(),\n \"environment\": zod.enum(['live', 'test']).describe('Release channel that handled the call. Test calls hand over to the worker\\'s test version.'),\n \"job_id\": zod.union([zod.string(),zod.null()]),\n \"from_phone_number\": zod.union([zod.string(),zod.null()]),\n \"to_phone_number\": zod.union([zod.string(),zod.null()]),\n \"started_at\": zod.string().datetime({\"offset\":true}),\n \"ended_at\": zod.string().datetime({\"offset\":true}),\n \"duration_seconds\": zod.union([zod.number(),zod.null()]),\n \"completion_status\": zod.union([zod.string().describe('Call completion status'),zod.null()]),\n \"termination_initiator\": zod.union([zod.string(),zod.null()]),\n \"disconnect_reason\": zod.union([zod.string(),zod.null()]),\n \"ended_reason\": zod.string(),\n \"metadata\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"evaluation\": zod.union([zod.object({\n \"status\": zod.string(),\n \"score\": zod.union([zod.number(),zod.null()]),\n \"passed\": zod.union([zod.boolean(),zod.null()])\n}),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetCallParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const GetCallQueryParams = zod.object({\n \"include_messages\": zod.string().optional()\n})\n\nexport const GetCallResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"external_call_id\": zod.union([zod.string(),zod.null()]),\n \"direction\": zod.enum(['INBOUND', 'OUTBOUND']),\n \"agent_id\": zod.string(),\n \"environment\": zod.enum(['live', 'test']).describe('Release channel that handled the call. Test calls hand over to the worker\\'s test version.'),\n \"job_id\": zod.union([zod.string(),zod.null()]),\n \"from_phone_number\": zod.union([zod.string(),zod.null()]),\n \"to_phone_number\": zod.union([zod.string(),zod.null()]),\n \"started_at\": zod.string().datetime({\"offset\":true}),\n \"ended_at\": zod.string().datetime({\"offset\":true}),\n \"duration_seconds\": zod.union([zod.number(),zod.null()]),\n \"completion_status\": zod.union([zod.string().describe('Call completion status'),zod.null()]),\n \"termination_initiator\": zod.union([zod.string(),zod.null()]),\n \"disconnect_reason\": zod.union([zod.string(),zod.null()]),\n \"ended_reason\": zod.string(),\n \"file_url\": zod.union([zod.string(),zod.null()]),\n \"metadata\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"evaluation\": zod.union([zod.object({\n \"status\": zod.string(),\n \"score\": zod.union([zod.number(),zod.null()]),\n \"passed\": zod.union([zod.boolean(),zod.null()])\n}),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"messages\": zod.union([zod.array(zod.object({\n \"id\": zod.string(),\n \"message_type\": zod.string(),\n \"sequence_number\": zod.number(),\n \"timestamp_seconds\": zod.number(),\n \"occurred_at\": zod.string(),\n \"role\": zod.union([zod.string(),zod.null()]),\n \"message_text\": zod.union([zod.string(),zod.null()]),\n \"tool_call_id\": zod.union([zod.string(),zod.null()]),\n \"tool_name\": zod.union([zod.string(),zod.null()]),\n \"tool_arguments\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"tool_result\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"metadata\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()])\n})),zod.null()])\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetCallEvaluationParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const GetCallEvaluationResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"evaluation_status\": zod.union([zod.string().describe('Evaluation status'),zod.null()]),\n \"score\": zod.union([zod.number(),zod.null()]),\n \"passed\": zod.union([zod.boolean(),zod.null()]),\n \"metrics\": zod.array(zod.object({\n \"slug\": zod.string(),\n \"name\": zod.string(),\n \"question\": zod.string(),\n \"pass\": zod.union([zod.boolean(),zod.null()]),\n \"score\": zod.union([zod.number(),zod.null()]),\n \"explanation\": zod.union([zod.string(),zod.null()])\n}))\n}),\n \"message\": zod.string()\n})\n\n\nexport const getCallAnalyticsQueryTimezoneDefault = `UTC`;\n\nexport const GetCallAnalyticsQueryParams = zod.object({\n \"from\": zod.string(),\n \"to\": zod.string(),\n \"timezone\": zod.string().default(getCallAnalyticsQueryTimezoneDefault),\n \"agent_ids\": zod.string().optional()\n})\n\nexport const GetCallAnalyticsResponse = zod.object({\n \"data\": zod.object({\n \"summary\": zod.object({\n \"total_calls\": zod.number(),\n \"avg_evaluation_score\": zod.number(),\n \"pass_rate\": zod.number(),\n \"avg_call_duration\": zod.number()\n}),\n \"calls_over_time\": zod.array(zod.object({\n \"date\": zod.string(),\n \"calls\": zod.number()\n})),\n \"evaluation_over_time\": zod.array(zod.object({\n \"date\": zod.string(),\n \"avg_score\": zod.number()\n})),\n \"score_distribution\": zod.array(zod.object({\n \"label\": zod.string(),\n \"count\": zod.number()\n})),\n \"duration_distribution\": zod.array(zod.object({\n \"label\": zod.string(),\n \"count\": zod.number()\n})),\n \"metric_performance\": zod.array(zod.object({\n \"slug\": zod.string(),\n \"title\": zod.string(),\n \"avg_score\": zod.number(),\n \"pass_rate\": zod.number(),\n \"evaluated\": zod.number()\n}))\n}),\n \"message\": zod.string()\n})\n\n\nexport const getAnalyticsTimeSeriesQueryGranularityDefault = `day`;\nexport const getAnalyticsTimeSeriesQueryTimezoneDefault = `UTC`;\n\nexport const GetAnalyticsTimeSeriesQueryParams = zod.object({\n \"metric\": zod.enum(['worker_runs', 'documents', 'pages']),\n \"from\": zod.string(),\n \"to\": zod.string(),\n \"granularity\": zod.enum(['day', 'week', 'month']).default(getAnalyticsTimeSeriesQueryGranularityDefault),\n \"group_by\": zod.enum(['worker_id']).optional(),\n \"timezone\": zod.string().default(getAnalyticsTimeSeriesQueryTimezoneDefault)\n})\n\nexport const GetAnalyticsTimeSeriesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"metric\": zod.enum(['worker_runs', 'documents', 'pages']),\n \"granularity\": zod.enum(['day', 'week', 'month']),\n \"group_by\": zod.union([zod.enum(['worker_id']),zod.null()]),\n \"total\": zod.number(),\n \"points\": zod.array(zod.object({\n \"date\": zod.string(),\n \"group_key\": zod.union([zod.string(),zod.null()]),\n \"group_label\": zod.union([zod.string(),zod.null()]),\n \"value\": zod.number()\n}))\n})),\n \"message\": zod.string()\n})\n\n\nexport const CreateCallFeedbackParams = zod.object({\n \"id\": zod.string().uuid().describe('The call ID')\n})\n\nexport const createCallFeedbackBodyTextMax = 10000;\n\n\n\nexport const CreateCallFeedbackBody = zod.object({\n \"message_id\": zod.string().uuid().describe('The message ID to attach feedback to'),\n \"text\": zod.string().min(1).max(createCallFeedbackBodyTextMax).describe('Feedback content')\n})\n\nexport const CreateCallFeedbackResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().uuid(),\n \"call_id\": zod.string().uuid(),\n \"message_id\": zod.string().uuid(),\n \"author_email\": zod.string(),\n \"text\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListCallFeedbackParams = zod.object({\n \"id\": zod.string().uuid().describe('The call ID')\n})\n\nexport const listCallFeedbackQueryCountDefault = 50;\nexport const listCallFeedbackQueryCountMax = 100;\n\nexport const listCallFeedbackQueryOffsetDefault = 0;\nexport const listCallFeedbackQueryOffsetMin = 0;\n\nexport const listCallFeedbackQuerySortByDefault = `created_at`;\nexport const listCallFeedbackQuerySortOrderDefault = `asc`;\n\nexport const ListCallFeedbackQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listCallFeedbackQueryCountMax).default(listCallFeedbackQueryCountDefault),\n \"offset\": zod.number().min(listCallFeedbackQueryOffsetMin).default(listCallFeedbackQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at']).default(listCallFeedbackQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listCallFeedbackQuerySortOrderDefault)\n})\n\nexport const ListCallFeedbackResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().uuid(),\n \"call_id\": zod.string().uuid(),\n \"message_id\": zod.string().uuid(),\n \"author_email\": zod.string(),\n \"text\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const DeleteCallFeedbackParams = zod.object({\n \"id\": zod.string().uuid().describe('The call ID'),\n \"feedbackId\": zod.string().uuid().describe('The feedback ID to delete')\n})\n\nexport const DeleteCallFeedbackResponse = zod.object({\n \"data\": zod.null(),\n \"message\": zod.string()\n})\n\n\nexport const CheckInboxAvailabilityQueryParams = zod.object({\n \"username\": zod.string().describe('Email username')\n})\n\nexport const CheckInboxAvailabilityResponse = zod.object({\n \"data\": zod.object({\n \"available\": zod.boolean().describe('Whether the username is available')\n}),\n \"message\": zod.string()\n})\n\n\nexport const createInboxBodyNameMax = 256;\n\nexport const createInboxBodyAttachmentPasswordOneMax = 2048;\n\n\n\n\nexport const CreateInboxBody = zod.object({\n \"name\": zod.string().min(1).max(createInboxBodyNameMax),\n \"extractor_id\": zod.string().uuid().optional().describe('Deprecated. Use processor_id instead.'),\n \"processor_id\": zod.string().uuid().optional().describe('ID of the processor (extractor or worker) to use.'),\n \"processor_type\": zod.enum(['extractor', 'worker']).optional().describe('Type of processor. Defaults to \\'extractor\\' when extractor_id is used.'),\n \"attachment_password\": zod.union([zod.string().max(createInboxBodyAttachmentPasswordOneMax),zod.null()]).optional(),\n \"pdf_splitting_enabled\": zod.boolean().optional(),\n \"username\": zod.string().optional().describe('Username for the live address. Generated when omitted.'),\n \"test_username\": zod.string().optional().describe('Username for the test address. Generated when omitted.'),\n \"allowed_sender_domains\": zod.union([zod.array(zod.string()).min(1),zod.null()]).describe('List of allowed sender domain patterns. When null, all senders are accepted. When set to an array, only emails from matching domains are processed. Supports wildcard patterns: \\'*.example.com\\' matches \\'example.com\\' and all its subdomains.')\n})\n\nexport const CreateInboxResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"addresses\": zod.object({\n \"live\": zod.string(),\n \"test\": zod.union([zod.string(),zod.null()]).describe('Null on inboxes created before test addresses existed.')\n}).describe('Mail sent to the test address runs the worker\\'s test version instead of its live one.'),\n \"email_address\": zod.string().describe('Deprecated. Use addresses.live instead.'),\n \"extractor_id\": zod.string().describe('Deprecated. Use processor_id instead.'),\n \"processor_id\": zod.string(),\n \"processor_type\": zod.enum(['extractor', 'worker']),\n \"has_password\": zod.boolean(),\n \"pdf_splitting_enabled\": zod.boolean(),\n \"allowed_sender_domains\": zod.union([zod.array(zod.string()),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const listInboxesQueryCountDefault = 50;\nexport const listInboxesQueryCountMax = 100;\n\nexport const listInboxesQueryOffsetDefault = 0;\nexport const listInboxesQueryOffsetMin = 0;\n\nexport const listInboxesQuerySortByDefault = `created_at`;\nexport const listInboxesQuerySortOrderDefault = `desc`;\n\nexport const ListInboxesQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listInboxesQueryCountMax).default(listInboxesQueryCountDefault),\n \"offset\": zod.number().min(listInboxesQueryOffsetMin).default(listInboxesQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at']).default(listInboxesQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listInboxesQuerySortOrderDefault)\n})\n\nexport const ListInboxesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"addresses\": zod.object({\n \"live\": zod.string(),\n \"test\": zod.union([zod.string(),zod.null()]).describe('Null on inboxes created before test addresses existed.')\n}).describe('Mail sent to the test address runs the worker\\'s test version instead of its live one.'),\n \"email_address\": zod.string().describe('Deprecated. Use addresses.live instead.'),\n \"extractor_id\": zod.string().describe('Deprecated. Use processor_id instead.'),\n \"processor_id\": zod.string(),\n \"processor_type\": zod.enum(['extractor', 'worker']),\n \"has_password\": zod.boolean(),\n \"pdf_splitting_enabled\": zod.boolean(),\n \"allowed_sender_domains\": zod.union([zod.array(zod.string()),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const UpdateInboxParams = zod.object({\n \"inboxId\": zod.string().uuid()\n})\n\n\n\n\nexport const UpdateInboxBody = zod.object({\n \"pdf_splitting_enabled\": zod.boolean().optional(),\n \"allowed_sender_domains\": zod.union([zod.array(zod.string()).min(1),zod.null()]).optional().describe('List of allowed sender domain patterns. Set to null to accept all senders. Set to an array to only process emails from matching domains. Supports wildcard patterns: \\'*.example.com\\' matches \\'example.com\\' and all its subdomains.'),\n \"processor\": zod.object({\n \"id\": zod.string().uuid().describe('ID of the processor (extractor or worker) to use.'),\n \"type\": zod.enum(['extractor', 'worker']).describe('Type of processor.')\n}).optional().describe('Processor configuration. Pass an object with id and type to change the processor.')\n})\n\nexport const UpdateInboxResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"addresses\": zod.object({\n \"live\": zod.string(),\n \"test\": zod.union([zod.string(),zod.null()]).describe('Null on inboxes created before test addresses existed.')\n}).describe('Mail sent to the test address runs the worker\\'s test version instead of its live one.'),\n \"email_address\": zod.string().describe('Deprecated. Use addresses.live instead.'),\n \"extractor_id\": zod.string().describe('Deprecated. Use processor_id instead.'),\n \"processor_id\": zod.string(),\n \"processor_type\": zod.enum(['extractor', 'worker']),\n \"has_password\": zod.boolean(),\n \"pdf_splitting_enabled\": zod.boolean(),\n \"allowed_sender_domains\": zod.union([zod.array(zod.string()),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteInboxParams = zod.object({\n \"inboxId\": zod.string().uuid()\n})\n\nexport const DeleteInboxResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetEmailParams = zod.object({\n \"emailId\": zod.string().uuid()\n})\n\nexport const GetEmailResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"thread_id\": zod.string(),\n \"inbox_id\": zod.union([zod.string(),zod.null()]),\n \"email_agent_id\": zod.union([zod.string(),zod.null()]),\n \"direction\": zod.enum(['inbound', 'outbound']),\n \"environment\": zod.enum(['live', 'test']),\n \"from\": zod.string(),\n \"to\": zod.array(zod.string()),\n \"cc\": zod.array(zod.string()),\n \"bcc\": zod.array(zod.string()),\n \"subject\": zod.union([zod.string(),zod.null()]),\n \"body_text\": zod.union([zod.string(),zod.null()]),\n \"body_html\": zod.union([zod.string(),zod.null()]),\n \"ignored_reason\": zod.union([zod.enum(['sender_domain_not_allowed', 'received_via_cc_or_bcc', 'sent_from_own_inbox']),zod.null()]).describe('Why the email was stored without processing. Null for emails that were processed normally.'),\n \"sent_at\": zod.string(),\n \"received_at\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteEmailParams = zod.object({\n \"emailId\": zod.string().uuid()\n})\n\nexport const DeleteEmailResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\n\nexport const listEmailsQueryContentMax = 500;\n\n\nexport const listEmailsQueryCountDefault = 50;\nexport const listEmailsQueryCountMax = 100;\n\nexport const listEmailsQueryOffsetDefault = 0;\nexport const listEmailsQueryOffsetMin = 0;\n\nexport const listEmailsQuerySortByDefault = `created_at`;\nexport const listEmailsQuerySortOrderDefault = `desc`;\n\nexport const ListEmailsQueryParams = zod.object({\n \"inbox_id\": zod.string().uuid().optional(),\n \"thread_id\": zod.string().min(1).optional(),\n \"agent_id\": zod.string().uuid().optional(),\n \"sender\": zod.string().email().optional(),\n \"recipient\": zod.string().email().optional(),\n \"content\": zod.string().min(1).max(listEmailsQueryContentMax).optional(),\n \"case_id\": zod.string().min(1).optional(),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"count\": zod.number().min(1).max(listEmailsQueryCountMax).default(listEmailsQueryCountDefault),\n \"offset\": zod.number().min(listEmailsQueryOffsetMin).default(listEmailsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at', 'sent_at']).default(listEmailsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listEmailsQuerySortOrderDefault)\n})\n\nexport const ListEmailsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"thread_id\": zod.string(),\n \"inbox_id\": zod.union([zod.string(),zod.null()]),\n \"email_agent_id\": zod.union([zod.string(),zod.null()]),\n \"direction\": zod.enum(['inbound', 'outbound']),\n \"environment\": zod.enum(['live', 'test']),\n \"from\": zod.string(),\n \"to\": zod.array(zod.string()),\n \"subject\": zod.union([zod.string(),zod.null()]),\n \"preview\": zod.union([zod.string(),zod.null()]),\n \"ignored_reason\": zod.union([zod.enum(['sender_domain_not_allowed', 'received_via_cc_or_bcc', 'sent_from_own_inbox']),zod.null()]).describe('Why the email was stored without processing. Null for emails that were processed normally.'),\n \"sent_at\": zod.string(),\n \"received_at\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const listEmailThreadsQueryCountDefault = 50;\nexport const listEmailThreadsQueryCountMax = 100;\n\nexport const listEmailThreadsQueryOffsetDefault = 0;\nexport const listEmailThreadsQueryOffsetMin = 0;\n\nexport const listEmailThreadsQuerySortByDefault = `last_email_at`;\nexport const listEmailThreadsQuerySortOrderDefault = `desc`;\n\nexport const ListEmailThreadsQueryParams = zod.object({\n \"inbox_id\": zod.string().uuid().optional(),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"count\": zod.number().min(1).max(listEmailThreadsQueryCountMax).default(listEmailThreadsQueryCountDefault),\n \"offset\": zod.number().min(listEmailThreadsQueryOffsetMin).default(listEmailThreadsQueryOffsetDefault),\n \"sort_by\": zod.enum(['last_email_at']).default(listEmailThreadsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listEmailThreadsQuerySortOrderDefault)\n})\n\nexport const ListEmailThreadsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"thread_id\": zod.string(),\n \"subject\": zod.union([zod.string(),zod.null()]),\n \"environment\": zod.enum(['live', 'test']).describe('Release channel the thread belongs to, taken from its first email.'),\n \"last_email_at\": zod.string().datetime({\"offset\":true}),\n \"first_sender\": zod.string(),\n \"first_recipient\": zod.union([zod.string(),zod.null()]),\n \"message_count\": zod.number()\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const ReplyToEmailParams = zod.object({\n \"emailId\": zod.string().uuid()\n})\n\n\nexport const replyToEmailBodyIsHtmlDefault = true;\nexport const replyToEmailBodyAttachmentsItemOneFilenameMax = 255;\n\nexport const replyToEmailBodyAttachmentsItemOneContentTypeMax = 255;\n\n\nexport const replyToEmailBodyAttachmentsMax = 10;\n\n\n\nexport const ReplyToEmailBody = zod.object({\n \"body\": zod.string().min(1),\n \"is_html\": zod.boolean().default(replyToEmailBodyIsHtmlDefault),\n \"to\": zod.array(zod.string().email()).optional(),\n \"cc\": zod.array(zod.string().email()).optional(),\n \"bcc\": zod.array(zod.string().email()).optional(),\n \"attachments\": zod.array(zod.union([zod.object({\n \"type\": zod.literal(\"base64\"),\n \"filename\": zod.string().min(1).max(replyToEmailBodyAttachmentsItemOneFilenameMax),\n \"content_type\": zod.string().min(1).max(replyToEmailBodyAttachmentsItemOneContentTypeMax),\n \"content_base64\": zod.string().min(1)\n}),zod.object({\n \"type\": zod.literal(\"artifact\"),\n \"artifact_id\": zod.string().uuid()\n})])).max(replyToEmailBodyAttachmentsMax).optional()\n})\n\nexport const ReplyToEmailResponse = zod.object({\n \"data\": zod.object({\n \"sent\": zod.literal(true)\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\n\nexport const sendEmailBodyIsHtmlDefault = true;\nexport const sendEmailBodyAttachmentsItemOneFilenameMax = 255;\n\nexport const sendEmailBodyAttachmentsItemOneContentTypeMax = 255;\n\n\nexport const sendEmailBodyAttachmentsMax = 10;\n\n\n\nexport const SendEmailBody = zod.object({\n \"inbox_id\": zod.string().min(1),\n \"environment\": zod.enum(['live', 'test']).optional().describe('Inbox address to send from. `test` sends from the inbox\\'s test address, `live` from its live one. Defaults to `live`.'),\n \"to\": zod.array(zod.string().email()).min(1),\n \"cc\": zod.array(zod.string().email()).optional(),\n \"bcc\": zod.array(zod.string().email()).optional(),\n \"subject\": zod.string().min(1),\n \"body\": zod.string().min(1),\n \"is_html\": zod.boolean().default(sendEmailBodyIsHtmlDefault),\n \"attachments\": zod.array(zod.union([zod.object({\n \"type\": zod.literal(\"base64\"),\n \"filename\": zod.string().min(1).max(sendEmailBodyAttachmentsItemOneFilenameMax),\n \"content_type\": zod.string().min(1).max(sendEmailBodyAttachmentsItemOneContentTypeMax),\n \"content_base64\": zod.string().min(1)\n}),zod.object({\n \"type\": zod.literal(\"artifact\"),\n \"artifact_id\": zod.string().uuid()\n})])).max(sendEmailBodyAttachmentsMax).optional()\n})\n\nexport const SendEmailResponse = zod.object({\n \"data\": zod.object({\n \"email_id\": zod.string(),\n \"thread_id\": zod.string(),\n \"sent\": zod.literal(true)\n}),\n \"message\": zod.string()\n})\n\n\nexport const listExtractorJobsQueryCountDefault = 50;\nexport const listExtractorJobsQueryCountMax = 100;\n\nexport const listExtractorJobsQueryOffsetDefault = 0;\nexport const listExtractorJobsQueryOffsetMin = 0;\n\nexport const listExtractorJobsQuerySortByDefault = `created_at`;\nexport const listExtractorJobsQuerySortOrderDefault = `desc`;\n\nexport const ListExtractorJobsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listExtractorJobsQueryCountMax).default(listExtractorJobsQueryCountDefault).describe('Number of results to return'),\n \"offset\": zod.number().min(listExtractorJobsQueryOffsetMin).default(listExtractorJobsQueryOffsetDefault).describe('Number of results to skip for pagination'),\n \"sort_by\": zod.enum(['created_at', 'started_at', 'completed_at']).default(listExtractorJobsQuerySortByDefault).describe('Field to sort by'),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listExtractorJobsQuerySortOrderDefault).describe('Sort direction'),\n \"status\": zod.enum(['queued', 'in_progress', 'completed', 'failed', 'canceled']).optional().describe('Filter by job status'),\n \"extractor_id\": zod.string().uuid().optional().describe('Filter by extractor ID'),\n \"created_after\": zod.string().datetime({\"offset\":true}).optional().describe('Filter jobs created after this date (ISO 8601)'),\n \"created_before\": zod.string().datetime({\"offset\":true}).optional().describe('Filter jobs created before this date (ISO 8601)'),\n \"scope\": zod.record(zod.string(), zod.string()).optional().describe('Filter by scope keys using bracket notation (e.g. scope[call_id]=abc-123, scope[email_id]=xyz-456, scope[case_id]=case-789). Multiple filters are combined with AND logic.')\n})\n\nexport const listExtractorJobsResponseDataItemExtractorVersionMin = -9007199254740991;\nexport const listExtractorJobsResponseDataItemExtractorVersionMax = 9007199254740991;\n\nexport const listExtractorJobsResponseMetaTotalMin = -9007199254740991;\nexport const listExtractorJobsResponseMetaTotalMax = 9007199254740991;\n\n\n\nexport const ListExtractorJobsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().describe('Unique job identifier'),\n \"extractor_id\": zod.string().describe('ID of the extractor that created this job'),\n \"extractor_version\": zod.number().int().min(listExtractorJobsResponseDataItemExtractorVersionMin).max(listExtractorJobsResponseDataItemExtractorVersionMax).describe('Version of the extractor at job creation time'),\n \"extractor_name\": zod.string().describe('Name of the extractor'),\n \"status\": zod.string().describe('Current job status'),\n \"scope\": zod.record(zod.string(), zod.unknown()).describe('Job scope metadata (e.g. claim_id, email_id)'),\n \"created_at\": zod.string().describe('ISO 8601 timestamp when the job was created'),\n \"started_at\": zod.union([zod.string(),zod.null()]).describe('ISO 8601 timestamp when processing started'),\n \"completed_at\": zod.union([zod.string(),zod.null()]).describe('ISO 8601 timestamp when processing finished'),\n \"processing_duration_ms\": zod.union([zod.number(),zod.null()]).describe('Processing duration in milliseconds'),\n \"extract_id\": zod.union([zod.string(),zod.null()]).describe('ID of the resulting extract, if completed'),\n \"error\": zod.union([zod.string(),zod.null()])\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number().int().min(listExtractorJobsResponseMetaTotalMin).max(listExtractorJobsResponseMetaTotalMax).describe('Total number of matching jobs')\n})\n})\n\n\nexport const CreateExtractorJobBody = zod.object({\n \"extractor_id\": zod.string().uuid(),\n \"scope\": zod.record(zod.string(), zod.union([zod.string(),zod.number(),zod.boolean(),zod.null()]))\n})\n\nexport const CreateExtractorJobResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"extractor_id\": zod.string(),\n \"extractor_version\": zod.number(),\n \"scope\": zod.record(zod.string(), zod.unknown()),\n \"status\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetExtractorJobParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const GetExtractorJobResponse = zod.object({\n \"data\": zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"extractor_id\": zod.string(),\n \"extractor_version\": zod.number(),\n \"extractor_name\": zod.string(),\n \"status\": zod.string(),\n \"scope\": zod.record(zod.string(), zod.unknown()),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"started_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]),\n \"completed_at\": zod.union([zod.string(),zod.null()]),\n \"processing_duration_ms\": zod.union([zod.number(),zod.null()]),\n \"extract_id\": zod.union([zod.string(),zod.null()]),\n \"error\": zod.union([zod.string(),zod.null()])\n})\n}),\n \"message\": zod.string()\n})\n\n\n\n\nexport const listWorkerRunsQueryCountDefault = 50;\nexport const listWorkerRunsQueryCountMax = 100;\n\nexport const listWorkerRunsQueryOffsetDefault = 0;\nexport const listWorkerRunsQueryOffsetMin = 0;\n\nexport const listWorkerRunsQuerySortByDefault = `created_at`;\nexport const listWorkerRunsQuerySortOrderDefault = `desc`;\n\nexport const ListWorkerRunsQueryParams = zod.object({\n \"status\": zod.enum(['pending', 'queued', 'starting', 'in_progress', 'completed', 'failed', 'canceled']).optional(),\n \"worker_id\": zod.string().uuid().optional(),\n \"case_id\": zod.string().min(1).optional(),\n \"outcome\": zod.string().min(1).optional(),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"created_after\": zod.string().datetime({\"offset\":true}).optional(),\n \"created_before\": zod.string().datetime({\"offset\":true}).optional(),\n \"count\": zod.number().min(1).max(listWorkerRunsQueryCountMax).default(listWorkerRunsQueryCountDefault),\n \"offset\": zod.number().min(listWorkerRunsQueryOffsetMin).default(listWorkerRunsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at', 'started_at', 'completed_at']).default(listWorkerRunsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listWorkerRunsQuerySortOrderDefault),\n \"scope\": zod.record(zod.string(), zod.string()).optional().describe('Filter by scope keys using bracket notation (e.g. scope[call_id]=abc-123). Multiple filters are combined with AND logic.')\n})\n\nexport const listWorkerRunsResponseDataItemWorkerVersionMin = -9007199254740991;\nexport const listWorkerRunsResponseDataItemWorkerVersionMax = 9007199254740991;\n\nexport const listWorkerRunsResponseMetaTotalMin = -9007199254740991;\nexport const listWorkerRunsResponseMetaTotalMax = 9007199254740991;\n\n\n\nexport const ListWorkerRunsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().describe('Unique run identifier'),\n \"worker_id\": zod.string().describe('ID of the worker'),\n \"worker_version\": zod.number().int().min(listWorkerRunsResponseDataItemWorkerVersionMin).max(listWorkerRunsResponseDataItemWorkerVersionMax).describe('The worker config version this run executes: the version live at run creation. Editing the worker afterwards does not change it.'),\n \"worker_name\": zod.string().describe('Name of the worker'),\n \"environment\": zod.enum(['live', 'test']).describe('Release channel the run was started for. Test calls run the worker\\'s test version; every other trigger runs live.'),\n \"status\": zod.enum(['pending', 'queued', 'starting', 'in_progress', 'completed', 'failed', 'canceled']).describe('Current run status'),\n \"scope\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]).describe('Run scope metadata (e.g. claim_id, email_id). Null when the run has no artifacts.'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('ISO 8601 timestamp when the run was created'),\n \"started_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('ISO 8601 timestamp when processing started'),\n \"completed_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('ISO 8601 timestamp when processing finished'),\n \"processing_duration_ms\": zod.union([zod.number(),zod.null()]).describe('Processing duration in milliseconds'),\n \"extract_id\": zod.union([zod.string().uuid(),zod.null()]).describe('Optional extract ID, set only if the worker run created an extract.'),\n \"error\": zod.union([zod.string(),zod.null()]),\n \"outcome\": zod.union([zod.string(),zod.null()]).describe('Use-case-specific business outcome reported by the worker. Null when the run predates outcome tracking or never executed to completion.'),\n \"outcome_reason\": zod.union([zod.string(),zod.null()]).describe('Worker-authored explanation of the outcome. May contain case content.')\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number().int().min(listWorkerRunsResponseMetaTotalMin).max(listWorkerRunsResponseMetaTotalMax).describe('Total number of matching runs')\n})\n})\n\n\nexport const CreateWorkerRunBody = zod.object({\n \"worker_id\": zod.string().uuid(),\n \"scope\": zod.union([zod.record(zod.string(), zod.union([zod.string(),zod.number(),zod.boolean(),zod.null()])),zod.null()]),\n \"environment\": zod.enum(['live', 'test']).optional().describe('Release channel to run. `test` runs the worker\\'s test version, `live` the live one. Defaults to `live`.')\n})\n\nexport const CreateWorkerRunResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"worker_id\": zod.string(),\n \"worker_version\": zod.number(),\n \"environment\": zod.enum(['live', 'test']),\n \"scope\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"status\": zod.enum(['pending', 'queued', 'starting', 'in_progress', 'completed', 'failed', 'canceled']),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetWorkerRunParams = zod.object({\n \"workerRunId\": zod.string().uuid()\n})\n\nexport const getWorkerRunResponseDataWorkerVersionMin = -9007199254740991;\nexport const getWorkerRunResponseDataWorkerVersionMax = 9007199254740991;\n\n\n\nexport const GetWorkerRunResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique run identifier'),\n \"worker_id\": zod.string().describe('ID of the worker'),\n \"worker_version\": zod.number().int().min(getWorkerRunResponseDataWorkerVersionMin).max(getWorkerRunResponseDataWorkerVersionMax).describe('The worker config version this run executes: the version live at run creation. Editing the worker afterwards does not change it.'),\n \"worker_name\": zod.string().describe('Name of the worker'),\n \"environment\": zod.enum(['live', 'test']).describe('Release channel the run was started for. Test calls run the worker\\'s test version; every other trigger runs live.'),\n \"status\": zod.enum(['pending', 'queued', 'starting', 'in_progress', 'completed', 'failed', 'canceled']).describe('Current run status'),\n \"scope\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]).describe('Run scope metadata (e.g. claim_id, email_id). Null when the run has no artifacts.'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('ISO 8601 timestamp when the run was created'),\n \"started_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('ISO 8601 timestamp when processing started'),\n \"completed_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('ISO 8601 timestamp when processing finished'),\n \"processing_duration_ms\": zod.union([zod.number(),zod.null()]).describe('Processing duration in milliseconds'),\n \"extract_id\": zod.union([zod.string().uuid(),zod.null()]).describe('Optional extract ID, set only if the worker run created an extract.'),\n \"error\": zod.union([zod.string(),zod.null()]),\n \"outcome\": zod.union([zod.string(),zod.null()]).describe('Use-case-specific business outcome reported by the worker. Null when the run predates outcome tracking or never executed to completion.'),\n \"outcome_reason\": zod.union([zod.string(),zod.null()]).describe('Worker-authored explanation of the outcome. May contain case content.')\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListWorkerRunMessagesParams = zod.object({\n \"workerRunId\": zod.string().uuid()\n})\n\nexport const listWorkerRunMessagesQueryCountDefault = 100;\nexport const listWorkerRunMessagesQueryCountMax = 500;\n\n\n\nexport const ListWorkerRunMessagesQueryParams = zod.object({\n \"after\": zod.string().datetime({\"offset\":true}).optional(),\n \"count\": zod.number().int().min(1).max(listWorkerRunMessagesQueryCountMax).default(listWorkerRunMessagesQueryCountDefault)\n})\n\nexport const ListWorkerRunMessagesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"worker_run_id\": zod.string(),\n \"message\": zod.record(zod.string(), zod.unknown()),\n \"emitted_at\": zod.string().datetime({\"offset\":true}),\n \"created_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string()\n})\n\n\nexport const CancelWorkerRunParams = zod.object({\n \"workerRunId\": zod.string().uuid()\n})\n\nexport const cancelWorkerRunResponseDataWorkerVersionMin = -9007199254740991;\nexport const cancelWorkerRunResponseDataWorkerVersionMax = 9007199254740991;\n\n\n\nexport const CancelWorkerRunResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique run identifier'),\n \"worker_id\": zod.string().describe('ID of the worker'),\n \"worker_version\": zod.number().int().min(cancelWorkerRunResponseDataWorkerVersionMin).max(cancelWorkerRunResponseDataWorkerVersionMax).describe('The worker config version this run executes: the version live at run creation. Editing the worker afterwards does not change it.'),\n \"worker_name\": zod.string().describe('Name of the worker'),\n \"environment\": zod.enum(['live', 'test']).describe('Release channel the run was started for. Test calls run the worker\\'s test version; every other trigger runs live.'),\n \"status\": zod.enum(['pending', 'queued', 'starting', 'in_progress', 'completed', 'failed', 'canceled']).describe('Current run status'),\n \"scope\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]).describe('Run scope metadata (e.g. claim_id, email_id). Null when the run has no artifacts.'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('ISO 8601 timestamp when the run was created'),\n \"started_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('ISO 8601 timestamp when processing started'),\n \"completed_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('ISO 8601 timestamp when processing finished'),\n \"processing_duration_ms\": zod.union([zod.number(),zod.null()]).describe('Processing duration in milliseconds'),\n \"extract_id\": zod.union([zod.string().uuid(),zod.null()]).describe('Optional extract ID, set only if the worker run created an extract.'),\n \"error\": zod.union([zod.string(),zod.null()]),\n \"outcome\": zod.union([zod.string(),zod.null()]).describe('Use-case-specific business outcome reported by the worker. Null when the run predates outcome tracking or never executed to completion.'),\n \"outcome_reason\": zod.union([zod.string(),zod.null()]).describe('Worker-authored explanation of the outcome. May contain case content.')\n}),\n \"message\": zod.string()\n})\n\n\nexport const CreateWorkerEvalFromRunParams = zod.object({\n \"workerRunId\": zod.string().uuid()\n})\n\nexport const createWorkerEvalFromRunBodyNameMax = 200;\n\nexport const createWorkerEvalFromRunBodyGraderCriterionMax = 10000;\n\n\n\nexport const CreateWorkerEvalFromRunBody = zod.object({\n \"name\": zod.string().min(1).max(createWorkerEvalFromRunBodyNameMax),\n \"grader\": zod.object({\n \"type\": zod.literal(\"prompt\"),\n \"criterion\": zod.string().min(1).max(createWorkerEvalFromRunBodyGraderCriterionMax)\n})\n})\n\nexport const CreateWorkerEvalFromRunResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().uuid(),\n \"name\": zod.string(),\n \"target\": zod.object({\n \"type\": zod.enum(['worker', 'chat_agent', 'voice_agent']),\n \"id\": zod.string().uuid()\n}),\n \"source\": zod.object({\n \"type\": zod.enum(['worker_run', 'chat', 'call']),\n \"id\": zod.string().uuid()\n}),\n \"fixture\": zod.object({\n \"version\": zod.literal(1),\n \"type\": zod.literal(\"worker_run_replay\"),\n \"scope\": zod.union([zod.record(zod.string(), zod.unknown()),zod.null()]),\n \"resolved_artifact_ids\": zod.array(zod.string().uuid()),\n \"trigger_context\": zod.union([zod.string(),zod.null()])\n}),\n \"tool_mocks\": zod.array(zod.object({\n \"mcp_type\": zod.string(),\n \"tool_name\": zod.string(),\n \"description\": zod.string(),\n \"input_schema\": zod.record(zod.string(), zod.unknown()),\n \"match\": zod.record(zod.string(), zod.unknown()).optional(),\n \"logical_tool_name\": zod.union([zod.string(),zod.null()]),\n \"responses\": zod.array(zod.unknown()),\n \"inputs\": zod.array(zod.unknown()).optional(),\n \"default\": zod.unknown().optional()\n})),\n \"grader\": zod.object({\n \"type\": zod.literal(\"prompt\"),\n \"criterion\": zod.string()\n}),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const RunEvalParams = zod.object({\n \"evalId\": zod.string().uuid()\n})\n\nexport const runEvalBodyWorkerVersionMax = 9007199254740991;\n\n\n\nexport const RunEvalBody = zod.object({\n \"worker_version\": zod.number().int().min(1).max(runEvalBodyWorkerVersionMax)\n})\n\nexport const runEvalResponseDataTargetVersionMin = -9007199254740991;\nexport const runEvalResponseDataTargetVersionMax = 9007199254740991;\n\n\n\nexport const RunEvalResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().uuid(),\n \"eval_id\": zod.string().uuid(),\n \"target_version\": zod.number().int().min(runEvalResponseDataTargetVersionMin).max(runEvalResponseDataTargetVersionMax),\n \"status\": zod.enum(['queued', 'running', 'passed', 'failed', 'error']),\n \"passed\": zod.union([zod.boolean(),zod.null()]),\n \"reason\": zod.union([zod.string(),zod.null()]),\n \"error\": zod.union([zod.string(),zod.null()]),\n \"judge_model\": zod.union([zod.string(),zod.null()]),\n \"judge_prompt_version\": zod.union([zod.string(),zod.null()]),\n \"tool_trace\": zod.union([zod.unknown(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"started_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]),\n \"completed_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()])\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetEvalRunParams = zod.object({\n \"evalRunId\": zod.string().uuid()\n})\n\nexport const getEvalRunResponseDataTargetVersionMin = -9007199254740991;\nexport const getEvalRunResponseDataTargetVersionMax = 9007199254740991;\n\n\n\nexport const GetEvalRunResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().uuid(),\n \"eval_id\": zod.string().uuid(),\n \"target_version\": zod.number().int().min(getEvalRunResponseDataTargetVersionMin).max(getEvalRunResponseDataTargetVersionMax),\n \"status\": zod.enum(['queued', 'running', 'passed', 'failed', 'error']),\n \"passed\": zod.union([zod.boolean(),zod.null()]),\n \"reason\": zod.union([zod.string(),zod.null()]),\n \"error\": zod.union([zod.string(),zod.null()]),\n \"judge_model\": zod.union([zod.string(),zod.null()]),\n \"judge_prompt_version\": zod.union([zod.string(),zod.null()]),\n \"tool_trace\": zod.union([zod.unknown(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"started_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]),\n \"completed_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()])\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const CreateExtractorBody = zod.object({\n \"name\": zod.string().min(1),\n \"schema\": zod.record(zod.string(), zod.unknown())\n})\n\nexport const CreateExtractorResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"version\": zod.number(),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const listExtractorsQueryCountDefault = 50;\nexport const listExtractorsQueryCountMax = 100;\n\nexport const listExtractorsQueryOffsetDefault = 0;\nexport const listExtractorsQueryOffsetMin = 0;\n\nexport const listExtractorsQuerySortByDefault = `created_at`;\nexport const listExtractorsQuerySortOrderDefault = `desc`;\n\nexport const ListExtractorsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listExtractorsQueryCountMax).default(listExtractorsQueryCountDefault),\n \"offset\": zod.number().min(listExtractorsQueryOffsetMin).default(listExtractorsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at', 'name', 'version']).default(listExtractorsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listExtractorsQuerySortOrderDefault),\n \"name\": zod.string().optional()\n})\n\nexport const ListExtractorsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"version\": zod.number(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetExtractorParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const GetExtractorResponse = zod.object({\n \"data\": zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"version\": zod.number(),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const UpdateExtractorParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const UpdateExtractorBody = zod.object({\n \"schema\": zod.record(zod.string(), zod.unknown())\n})\n\nexport const UpdateExtractorResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"version\": zod.number(),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteExtractorParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const DeleteExtractorResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\n\n\nexport const CreateWorkerBody = zod.object({\n \"name\": zod.string().min(1),\n \"prompt\": zod.string().min(1).optional(),\n \"instruction_template\": zod.string().min(1).optional().describe('Deprecated. Use `prompt` instead.'),\n \"mcp_type\": zod.union([zod.enum(['ventiv', 'klear', 'klear-browser', 'demo-browser', 'demo-claims', 'filehandler-browser']),zod.null()]).optional()\n})\n\nexport const createWorkerResponseDataVersionMin = 0;\n\nexport const createWorkerResponseDataVersionsLatestMin = -9007199254740991;\nexport const createWorkerResponseDataVersionsLatestMax = 9007199254740991;\n\nexport const createWorkerResponseDataVersionsLiveMin = -9007199254740991;\nexport const createWorkerResponseDataVersionsLiveMax = 9007199254740991;\n\nexport const createWorkerResponseDataVersionsTestMin = -9007199254740991;\nexport const createWorkerResponseDataVersionsTestMax = 9007199254740991;\n\n\n\nexport const CreateWorkerResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"mcps\": zod.array(zod.object({\n \"name\": zod.enum(['ventiv', 'klear', 'klear-browser', 'demo-browser', 'demo-claims', 'filehandler-browser']).describe('MCP server identifier.')\n})).describe('MCP servers the worker connects to.'),\n \"mcp_type\": zod.union([zod.string(),zod.null()]).describe('Deprecated. Comma-separated MCP server identifiers; use `mcps` instead.'),\n \"version\": zod.number().min(createWorkerResponseDataVersionMin).describe('Deprecated. Newest config version; use `versions.latest` instead.'),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(createWorkerResponseDataVersionsLatestMin).max(createWorkerResponseDataVersionsLatestMax).describe('Newest config version. The config fields in this response are its snapshot.'),\n \"live\": zod.number().int().min(createWorkerResponseDataVersionsLiveMin).max(createWorkerResponseDataVersionsLiveMax).describe('Config version the `live` environment resolves to.'),\n \"test\": zod.number().int().min(createWorkerResponseDataVersionsTestMin).max(createWorkerResponseDataVersionsTestMax).describe('Config version the `test` environment resolves to.')\n}),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"case_determination_context\": zod.union([zod.string(),zod.null()]),\n \"tool_ids\": zod.array(zod.string()),\n \"secret_ids\": zod.array(zod.string()).describe('Secrets attached to the worker. A worker with attached secrets sources its environment exclusively from the secret store.'),\n \"permissions\": zod.array(zod.enum(['workers:run', 'inboxes:send', 'artifacts:write', 'outbound-jobs:schedule', 'cases:write', 'schedules:write', 'information-requests:write'])).describe('Core Plane operations the worker\\'s runs are authorized to perform. Executing a tool attached to the worker is governed by the attachment, not by this list.'),\n \"model\": zod.string(),\n \"fast_mode\": zod.boolean()\n}),\n \"message\": zod.string()\n})\n\n\nexport const listWorkersQueryCountDefault = 50;\nexport const listWorkersQueryCountMax = 100;\n\nexport const listWorkersQueryOffsetDefault = 0;\nexport const listWorkersQueryOffsetMin = 0;\n\nexport const listWorkersQuerySortByDefault = `created_at`;\nexport const listWorkersQuerySortOrderDefault = `desc`;\n\nexport const ListWorkersQueryParams = zod.object({\n \"name\": zod.string().optional(),\n \"count\": zod.number().min(1).max(listWorkersQueryCountMax).default(listWorkersQueryCountDefault),\n \"offset\": zod.number().min(listWorkersQueryOffsetMin).default(listWorkersQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at', 'name']).default(listWorkersQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listWorkersQuerySortOrderDefault)\n})\n\nexport const listWorkersResponseDataItemVersionMin = 0;\n\nexport const listWorkersResponseDataItemVersionsLatestMin = -9007199254740991;\nexport const listWorkersResponseDataItemVersionsLatestMax = 9007199254740991;\n\nexport const listWorkersResponseDataItemVersionsLiveMin = -9007199254740991;\nexport const listWorkersResponseDataItemVersionsLiveMax = 9007199254740991;\n\nexport const listWorkersResponseDataItemVersionsTestMin = -9007199254740991;\nexport const listWorkersResponseDataItemVersionsTestMax = 9007199254740991;\n\n\n\nexport const ListWorkersResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"mcps\": zod.array(zod.object({\n \"name\": zod.enum(['ventiv', 'klear', 'klear-browser', 'demo-browser', 'demo-claims', 'filehandler-browser']).describe('MCP server identifier.')\n})).describe('MCP servers the worker connects to.'),\n \"mcp_type\": zod.union([zod.string(),zod.null()]).describe('Deprecated. Comma-separated MCP server identifiers; use `mcps` instead.'),\n \"version\": zod.number().min(listWorkersResponseDataItemVersionMin).describe('Deprecated. Newest config version; use `versions.latest` instead.'),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(listWorkersResponseDataItemVersionsLatestMin).max(listWorkersResponseDataItemVersionsLatestMax).describe('Newest config version. The config fields in this response are its snapshot.'),\n \"live\": zod.number().int().min(listWorkersResponseDataItemVersionsLiveMin).max(listWorkersResponseDataItemVersionsLiveMax).describe('Config version the `live` environment resolves to.'),\n \"test\": zod.number().int().min(listWorkersResponseDataItemVersionsTestMin).max(listWorkersResponseDataItemVersionsTestMax).describe('Config version the `test` environment resolves to.')\n}),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetWorkerParams = zod.object({\n \"workerId\": zod.string().uuid()\n})\n\nexport const getWorkerResponseDataVersionMin = 0;\n\nexport const getWorkerResponseDataVersionsLatestMin = -9007199254740991;\nexport const getWorkerResponseDataVersionsLatestMax = 9007199254740991;\n\nexport const getWorkerResponseDataVersionsLiveMin = -9007199254740991;\nexport const getWorkerResponseDataVersionsLiveMax = 9007199254740991;\n\nexport const getWorkerResponseDataVersionsTestMin = -9007199254740991;\nexport const getWorkerResponseDataVersionsTestMax = 9007199254740991;\n\n\n\nexport const GetWorkerResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"mcps\": zod.array(zod.object({\n \"name\": zod.enum(['ventiv', 'klear', 'klear-browser', 'demo-browser', 'demo-claims', 'filehandler-browser']).describe('MCP server identifier.')\n})).describe('MCP servers the worker connects to.'),\n \"mcp_type\": zod.union([zod.string(),zod.null()]).describe('Deprecated. Comma-separated MCP server identifiers; use `mcps` instead.'),\n \"version\": zod.number().min(getWorkerResponseDataVersionMin).describe('Deprecated. Newest config version; use `versions.latest` instead.'),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(getWorkerResponseDataVersionsLatestMin).max(getWorkerResponseDataVersionsLatestMax).describe('Newest config version. The config fields in this response are its snapshot.'),\n \"live\": zod.number().int().min(getWorkerResponseDataVersionsLiveMin).max(getWorkerResponseDataVersionsLiveMax).describe('Config version the `live` environment resolves to.'),\n \"test\": zod.number().int().min(getWorkerResponseDataVersionsTestMin).max(getWorkerResponseDataVersionsTestMax).describe('Config version the `test` environment resolves to.')\n}),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"case_determination_context\": zod.union([zod.string(),zod.null()]),\n \"tool_ids\": zod.array(zod.string()),\n \"secret_ids\": zod.array(zod.string()).describe('Secrets attached to the worker. A worker with attached secrets sources its environment exclusively from the secret store.'),\n \"permissions\": zod.array(zod.enum(['workers:run', 'inboxes:send', 'artifacts:write', 'outbound-jobs:schedule', 'cases:write', 'schedules:write', 'information-requests:write'])).describe('Core Plane operations the worker\\'s runs are authorized to perform. Executing a tool attached to the worker is governed by the attachment, not by this list.'),\n \"model\": zod.string(),\n \"fast_mode\": zod.boolean()\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteWorkerParams = zod.object({\n \"workerId\": zod.string().uuid()\n})\n\nexport const DeleteWorkerResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateWorkerParams = zod.object({\n \"workerId\": zod.string().uuid()\n})\n\n\n\n\n\n\nexport const UpdateWorkerBody = zod.object({\n \"name\": zod.string().min(1).optional(),\n \"model\": zod.string().min(1).optional().describe('LLM model identifier the worker runs on. Omit to leave unchanged.'),\n \"fast_mode\": zod.boolean().optional().describe('Toggle fast mode for the worker. Omit to leave unchanged.'),\n \"schema\": zod.record(zod.string(), zod.unknown()).optional(),\n \"tools\": zod.array(zod.string().uuid()).optional().describe('Replace the worker\\'s attached tool set. Omit to leave unchanged; pass [] to clear.'),\n \"secrets\": zod.array(zod.string().uuid()).optional().describe('Replace the worker\\'s attached secret set. Omit to leave unchanged; pass [] to detach all.'),\n \"case_determination_context\": zod.union([zod.string().min(1),zod.null()]).optional().describe('Customer-specific context appended to the case-ID determination prompt. Omit to leave unchanged; pass null to clear.'),\n \"permissions\": zod.array(zod.enum(['workers:run', 'inboxes:send', 'artifacts:write', 'outbound-jobs:schedule', 'cases:write', 'schedules:write', 'information-requests:write'])).optional().describe('Permissions granted to the worker on each run')\n})\n\nexport const updateWorkerResponseDataVersionMin = 0;\n\nexport const updateWorkerResponseDataVersionsLatestMin = -9007199254740991;\nexport const updateWorkerResponseDataVersionsLatestMax = 9007199254740991;\n\nexport const updateWorkerResponseDataVersionsLiveMin = -9007199254740991;\nexport const updateWorkerResponseDataVersionsLiveMax = 9007199254740991;\n\nexport const updateWorkerResponseDataVersionsTestMin = -9007199254740991;\nexport const updateWorkerResponseDataVersionsTestMax = 9007199254740991;\n\n\n\nexport const UpdateWorkerResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"mcps\": zod.array(zod.object({\n \"name\": zod.enum(['ventiv', 'klear', 'klear-browser', 'demo-browser', 'demo-claims', 'filehandler-browser']).describe('MCP server identifier.')\n})).describe('MCP servers the worker connects to.'),\n \"mcp_type\": zod.union([zod.string(),zod.null()]).describe('Deprecated. Comma-separated MCP server identifiers; use `mcps` instead.'),\n \"version\": zod.number().min(updateWorkerResponseDataVersionMin).describe('Deprecated. Newest config version; use `versions.latest` instead.'),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(updateWorkerResponseDataVersionsLatestMin).max(updateWorkerResponseDataVersionsLatestMax).describe('Newest config version. The config fields in this response are its snapshot.'),\n \"live\": zod.number().int().min(updateWorkerResponseDataVersionsLiveMin).max(updateWorkerResponseDataVersionsLiveMax).describe('Config version the `live` environment resolves to.'),\n \"test\": zod.number().int().min(updateWorkerResponseDataVersionsTestMin).max(updateWorkerResponseDataVersionsTestMax).describe('Config version the `test` environment resolves to.')\n}),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"case_determination_context\": zod.union([zod.string(),zod.null()]),\n \"tool_ids\": zod.array(zod.string()),\n \"secret_ids\": zod.array(zod.string()).describe('Secrets attached to the worker. A worker with attached secrets sources its environment exclusively from the secret store.'),\n \"permissions\": zod.array(zod.enum(['workers:run', 'inboxes:send', 'artifacts:write', 'outbound-jobs:schedule', 'cases:write', 'schedules:write', 'information-requests:write'])).describe('Core Plane operations the worker\\'s runs are authorized to perform. Executing a tool attached to the worker is governed by the attachment, not by this list.'),\n \"model\": zod.string(),\n \"fast_mode\": zod.boolean()\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetWorkerPromptParams = zod.object({\n \"workerId\": zod.string().uuid()\n})\n\nexport const getWorkerPromptQueryVersionMax = 9007199254740991;\n\n\n\nexport const GetWorkerPromptQueryParams = zod.object({\n \"version\": zod.number().int().min(1).max(getWorkerPromptQueryVersionMax).optional()\n})\n\nexport const GetWorkerPromptResponse = zod.object({\n \"data\": zod.object({\n \"prompt\": zod.string()\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateWorkerPromptParams = zod.object({\n \"workerId\": zod.string().uuid()\n})\n\n\n\n\nexport const UpdateWorkerPromptBody = zod.object({\n \"prompt\": zod.string().min(1)\n})\n\nexport const UpdateWorkerPromptResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListWorkerModelsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"slug\": zod.string(),\n \"name\": zod.string()\n})),\n \"message\": zod.string()\n})\n\n\nexport const UpdateWorkerMcpsParams = zod.object({\n \"workerId\": zod.string().uuid()\n})\n\nexport const UpdateWorkerMcpsBody = zod.object({\n \"mcps\": zod.array(zod.object({\n \"name\": zod.enum(['ventiv', 'klear', 'klear-browser', 'demo-browser', 'demo-claims', 'filehandler-browser']).describe('MCP server identifier.')\n})).describe('MCP servers the worker connects to, replacing the current set. Pass an empty array to disconnect the worker from all MCP servers.')\n})\n\nexport const updateWorkerMcpsResponseDataVersionMin = 0;\n\nexport const updateWorkerMcpsResponseDataVersionsLatestMin = -9007199254740991;\nexport const updateWorkerMcpsResponseDataVersionsLatestMax = 9007199254740991;\n\nexport const updateWorkerMcpsResponseDataVersionsLiveMin = -9007199254740991;\nexport const updateWorkerMcpsResponseDataVersionsLiveMax = 9007199254740991;\n\nexport const updateWorkerMcpsResponseDataVersionsTestMin = -9007199254740991;\nexport const updateWorkerMcpsResponseDataVersionsTestMax = 9007199254740991;\n\n\n\nexport const UpdateWorkerMcpsResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"mcps\": zod.array(zod.object({\n \"name\": zod.enum(['ventiv', 'klear', 'klear-browser', 'demo-browser', 'demo-claims', 'filehandler-browser']).describe('MCP server identifier.')\n})).describe('MCP servers the worker connects to.'),\n \"mcp_type\": zod.union([zod.string(),zod.null()]).describe('Deprecated. Comma-separated MCP server identifiers; use `mcps` instead.'),\n \"version\": zod.number().min(updateWorkerMcpsResponseDataVersionMin).describe('Deprecated. Newest config version; use `versions.latest` instead.'),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(updateWorkerMcpsResponseDataVersionsLatestMin).max(updateWorkerMcpsResponseDataVersionsLatestMax).describe('Newest config version. The config fields in this response are its snapshot.'),\n \"live\": zod.number().int().min(updateWorkerMcpsResponseDataVersionsLiveMin).max(updateWorkerMcpsResponseDataVersionsLiveMax).describe('Config version the `live` environment resolves to.'),\n \"test\": zod.number().int().min(updateWorkerMcpsResponseDataVersionsTestMin).max(updateWorkerMcpsResponseDataVersionsTestMax).describe('Config version the `test` environment resolves to.')\n}),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"case_determination_context\": zod.union([zod.string(),zod.null()]),\n \"tool_ids\": zod.array(zod.string()),\n \"secret_ids\": zod.array(zod.string()).describe('Secrets attached to the worker. A worker with attached secrets sources its environment exclusively from the secret store.'),\n \"permissions\": zod.array(zod.enum(['workers:run', 'inboxes:send', 'artifacts:write', 'outbound-jobs:schedule', 'cases:write', 'schedules:write', 'information-requests:write'])).describe('Core Plane operations the worker\\'s runs are authorized to perform. Executing a tool attached to the worker is governed by the attachment, not by this list.'),\n \"model\": zod.string(),\n \"fast_mode\": zod.boolean()\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListWorkerVersionsParams = zod.object({\n \"workerId\": zod.string().uuid()\n})\n\nexport const listWorkerVersionsQueryCountDefault = 50;\nexport const listWorkerVersionsQueryCountMax = 100;\n\nexport const listWorkerVersionsQueryOffsetDefault = 0;\nexport const listWorkerVersionsQueryOffsetMin = 0;\n\nexport const listWorkerVersionsQuerySortByDefault = `version`;\nexport const listWorkerVersionsQuerySortOrderDefault = `desc`;\n\nexport const ListWorkerVersionsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listWorkerVersionsQueryCountMax).default(listWorkerVersionsQueryCountDefault),\n \"offset\": zod.number().min(listWorkerVersionsQueryOffsetMin).default(listWorkerVersionsQueryOffsetDefault),\n \"sort_by\": zod.enum(['version', 'created_at']).default(listWorkerVersionsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listWorkerVersionsQuerySortOrderDefault)\n})\n\nexport const listWorkerVersionsResponseDataItemVersionMin = -9007199254740991;\nexport const listWorkerVersionsResponseDataItemVersionMax = 9007199254740991;\n\nexport const listWorkerVersionsResponseMetaTotalMin = -9007199254740991;\nexport const listWorkerVersionsResponseMetaTotalMax = 9007199254740991;\n\n\n\nexport const ListWorkerVersionsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"worker_id\": zod.string(),\n \"version\": zod.number().int().min(listWorkerVersionsResponseDataItemVersionMin).max(listWorkerVersionsResponseDataItemVersionMax),\n \"actor\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"changed_fields\": zod.array(zod.string())\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number().int().min(listWorkerVersionsResponseMetaTotalMin).max(listWorkerVersionsResponseMetaTotalMax)\n})\n})\n\n\nexport const getWorkerVersionPathVersionMax = 9007199254740991;\n\n\n\nexport const GetWorkerVersionParams = zod.object({\n \"workerId\": zod.string().uuid(),\n \"version\": zod.number().int().min(1).max(getWorkerVersionPathVersionMax)\n})\n\nexport const getWorkerVersionResponseDataVersionMin = -9007199254740991;\nexport const getWorkerVersionResponseDataVersionMax = 9007199254740991;\n\n\n\nexport const GetWorkerVersionResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"mcps\": zod.array(zod.object({\n \"name\": zod.enum(['ventiv', 'klear', 'klear-browser', 'demo-browser', 'demo-claims', 'filehandler-browser']).describe('MCP server identifier.')\n})),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"case_determination_context\": zod.union([zod.string(),zod.null()]),\n \"permissions\": zod.array(zod.enum(['workers:run', 'inboxes:send', 'artifacts:write', 'outbound-jobs:schedule', 'cases:write', 'schedules:write', 'information-requests:write'])),\n \"model\": zod.string(),\n \"fast_mode\": zod.boolean(),\n \"tool_ids\": zod.array(zod.string()),\n \"secret_ids\": zod.array(zod.string()),\n \"version\": zod.number().int().min(getWorkerVersionResponseDataVersionMin).max(getWorkerVersionResponseDataVersionMax),\n \"version_created_at\": zod.string().datetime({\"offset\":true}),\n \"actor\": zod.string(),\n \"changed_fields\": zod.array(zod.string())\n}),\n \"message\": zod.string()\n})\n\n\nexport const promoteWorkerVersionPathVersionMax = 9007199254740991;\n\n\n\nexport const PromoteWorkerVersionParams = zod.object({\n \"workerId\": zod.string().uuid(),\n \"version\": zod.number().int().min(1).max(promoteWorkerVersionPathVersionMax)\n})\n\nexport const PromoteWorkerVersionBody = zod.object({\n \"environment\": zod.enum(['live', 'test'])\n})\n\nexport const promoteWorkerVersionResponseDataVersionMin = -9007199254740991;\nexport const promoteWorkerVersionResponseDataVersionMax = 9007199254740991;\n\n\n\nexport const PromoteWorkerVersionResponse = zod.object({\n \"data\": zod.object({\n \"version\": zod.number().int().min(promoteWorkerVersionResponseDataVersionMin).max(promoteWorkerVersionResponseDataVersionMax),\n \"environment\": zod.enum(['live', 'test'])\n}),\n \"message\": zod.string()\n})\n\n\nexport const getWorkerVersionChangeSummaryPathVersionMax = 9007199254740991;\n\n\n\nexport const GetWorkerVersionChangeSummaryParams = zod.object({\n \"workerId\": zod.string().uuid(),\n \"version\": zod.number().int().min(1).max(getWorkerVersionChangeSummaryPathVersionMax)\n})\n\nexport const GetWorkerVersionChangeSummaryResponse = zod.object({\n \"data\": zod.object({\n \"summary\": zod.string()\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const CreateWorkerWebhookParams = zod.object({\n \"workerId\": zod.string().min(1)\n})\n\nexport const createWorkerWebhookBodyNameMax = 256;\n\nexport const createWorkerWebhookBodyUrlMax = 2048;\n\n\nexport const createWorkerWebhookBodyAuthHeaderNameOneMax = 256;\n\nexport const createWorkerWebhookBodyAuthHeaderValueOneMax = 2048;\n\n\n\nexport const CreateWorkerWebhookBody = zod.object({\n \"name\": zod.string().min(1).max(createWorkerWebhookBodyNameMax),\n \"url\": zod.string().url().max(createWorkerWebhookBodyUrlMax),\n \"environments\": zod.array(zod.enum(['live', 'test'])).min(1).default([`live`]),\n \"auth_header_name\": zod.union([zod.string().max(createWorkerWebhookBodyAuthHeaderNameOneMax),zod.null()]).optional(),\n \"auth_header_value\": zod.union([zod.string().max(createWorkerWebhookBodyAuthHeaderValueOneMax),zod.null()]).optional(),\n \"enabled\": zod.boolean().optional()\n})\n\nexport const CreateWorkerWebhookResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const ListWorkerWebhooksParams = zod.object({\n \"workerId\": zod.string().min(1)\n})\n\nexport const ListWorkerWebhooksQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Only return webhooks that receive events from this environment. Webhooks configured for both environments match either value.')\n})\n\nexport const ListWorkerWebhooksResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const listCasesQueryCountDefault = 50;\nexport const listCasesQueryCountMax = 100;\n\nexport const listCasesQueryOffsetDefault = 0;\nexport const listCasesQueryOffsetMin = 0;\n\nexport const listCasesQuerySortByDefault = `created_at`;\nexport const listCasesQuerySortOrderDefault = `desc`;\n\nexport const ListCasesQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Filter by environment. Omit to list cases in both.'),\n \"id\": zod.string().min(1).optional().describe('Filter by exact case id. Values are normalized server-side (trimmed and lowercased) to match how case ids are stored.'),\n \"subject\": zod.string().min(1).optional().describe('Filter by case subject. Case-insensitive substring match against the case subject.'),\n \"reporter\": zod.string().min(1).optional().describe('Filter by reporter. Case-insensitive substring match against the case reporter.'),\n \"created_by\": zod.string().optional().describe('Filter by the actor that created the case: \"worker:<workerId>\" or \"user:<profileId>\".'),\n \"count\": zod.number().min(1).max(listCasesQueryCountMax).default(listCasesQueryCountDefault),\n \"offset\": zod.number().min(listCasesQueryOffsetMin).default(listCasesQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at', 'updated_at']).default(listCasesQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listCasesQuerySortOrderDefault)\n})\n\nexport const ListCasesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"environment\": zod.enum(['live', 'test']),\n \"subject\": zod.union([zod.string(),zod.null()]),\n \"reporter\": zod.union([zod.string(),zod.null()]),\n \"created_by\": zod.string().describe('Actor that created the case, e.g. \"worker:<workerId>\" or \"user:<profileId>\".'),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\n\n\n\n\n\nexport const CreateCaseBody = zod.object({\n \"id\": zod.string().min(1).describe('Case id, e.g. a claim number. Normalized server-side (trimmed and lowercased) to match how case ids are stored.'),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"subject\": zod.union([zod.string().min(1),zod.null()]).optional().describe('Short description of what the case is about.'),\n \"reporter\": zod.union([zod.string().min(1),zod.null()]).optional().describe('Name of the person or organization that reported the case.')\n})\n\nexport const CreateCaseResponse = zod.object({\n \"data\": zod.object({\n \"case\": zod.object({\n \"id\": zod.string(),\n \"environment\": zod.enum(['live', 'test']),\n \"subject\": zod.union([zod.string(),zod.null()]),\n \"reporter\": zod.union([zod.string(),zod.null()]),\n \"created_by\": zod.string().describe('Actor that created the case, e.g. \"worker:<workerId>\" or \"user:<profileId>\".'),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})\n}),\n \"message\": zod.string()\n})\n\n\n\nexport const searchCasesQueryCountDefault = 20;\nexport const searchCasesQueryCountMax = 50;\n\nexport const searchCasesQueryOffsetDefault = 0;\nexport const searchCasesQueryOffsetMin = 0;\n\n\n\nexport const SearchCasesQueryParams = zod.object({\n \"q\": zod.string().min(1).describe('Free-text probe. Matched as a normalized substring against the case id, and fuzzily (trigram) against subject and reporter. Id matches rank first.'),\n \"count\": zod.number().min(1).max(searchCasesQueryCountMax).default(searchCasesQueryCountDefault),\n \"offset\": zod.number().min(searchCasesQueryOffsetMin).default(searchCasesQueryOffsetDefault)\n})\n\nexport const SearchCasesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"environment\": zod.enum(['live', 'test']),\n \"subject\": zod.union([zod.string(),zod.null()]),\n \"reporter\": zod.union([zod.string(),zod.null()]),\n \"created_by\": zod.string().describe('Actor that created the case, e.g. \"worker:<workerId>\" or \"user:<profileId>\".'),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\n\n\n\nexport const GetCaseParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const GetCaseQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Environment the case belongs to. A case reference is unique per environment, so the same reference can name a different case in each. Defaults to `live`. A worker run may omit this or pass its own run\\'s environment; any other value is rejected.')\n})\n\nexport const GetCaseResponse = zod.object({\n \"data\": zod.object({\n \"case\": zod.object({\n \"id\": zod.string(),\n \"environment\": zod.enum(['live', 'test']),\n \"subject\": zod.union([zod.string(),zod.null()]),\n \"reporter\": zod.union([zod.string(),zod.null()]),\n \"created_by\": zod.string().describe('Actor that created the case, e.g. \"worker:<workerId>\" or \"user:<profileId>\".'),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const DeleteCaseParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const DeleteCaseQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Environment the case belongs to. A case reference is unique per environment, so the same reference can name a different case in each. Defaults to `live`. A worker run may omit this or pass its own run\\'s environment; any other value is rejected.')\n})\n\nexport const DeleteCaseResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const AddCaseLinksParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const AddCaseLinksQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Environment the case belongs to. A case reference is unique per environment, so the same reference can name a different case in each. Defaults to `live`. A worker run may omit this or pass its own run\\'s environment; any other value is rejected.')\n})\n\nexport const addCaseLinksBodyEntitiesMax = 100;\n\n\n\nexport const AddCaseLinksBody = zod.object({\n \"entities\": zod.array(zod.object({\n \"entity_type\": zod.enum(['artifact', 'call', 'chat', 'email', 'extract', 'information_request', 'schedule', 'worker_run']),\n \"entity_id\": zod.string().uuid()\n})).min(1).max(addCaseLinksBodyEntitiesMax)\n})\n\nexport const AddCaseLinksResponse = zod.object({\n \"data\": zod.object({\n \"links\": zod.array(zod.object({\n \"case_id\": zod.string(),\n \"entity_type\": zod.enum(['artifact', 'call', 'chat', 'email', 'extract', 'information_request', 'schedule', 'worker_run']),\n \"entity_id\": zod.string().uuid(),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}))\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const ListCaseLinksParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const listCaseLinksQueryCountDefault = 50;\nexport const listCaseLinksQueryCountMax = 100;\n\nexport const listCaseLinksQueryOffsetDefault = 0;\nexport const listCaseLinksQueryOffsetMin = 0;\n\nexport const listCaseLinksQuerySortByDefault = `created_at`;\nexport const listCaseLinksQuerySortOrderDefault = `desc`;\n\nexport const ListCaseLinksQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Environment the case belongs to. A case reference is unique per environment, so the same reference can name a different case in each. Defaults to `live`. A worker run may omit this or pass its own run\\'s environment; any other value is rejected.'),\n \"entity_type\": zod.enum(['artifact', 'call', 'chat', 'email', 'extract', 'information_request', 'schedule', 'worker_run']).optional().describe('Filter links by entity type.'),\n \"count\": zod.number().min(1).max(listCaseLinksQueryCountMax).default(listCaseLinksQueryCountDefault),\n \"offset\": zod.number().min(listCaseLinksQueryOffsetMin).default(listCaseLinksQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at']).default(listCaseLinksQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listCaseLinksQuerySortOrderDefault)\n})\n\nexport const ListCaseLinksResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"case_id\": zod.string(),\n \"entity_type\": zod.enum(['artifact', 'call', 'chat', 'email', 'extract', 'information_request', 'schedule', 'worker_run']),\n \"entity_id\": zod.string().uuid(),\n \"created_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\n\n\n\nexport const RemoveCaseLinkParams = zod.object({\n \"id\": zod.string().min(1),\n \"entityType\": zod.enum(['artifact', 'call', 'chat', 'email', 'extract', 'information_request', 'schedule', 'worker_run']),\n \"entityId\": zod.string().uuid()\n})\n\nexport const RemoveCaseLinkQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Environment the case belongs to. A case reference is unique per environment, so the same reference can name a different case in each. Defaults to `live`. A worker run may omit this or pass its own run\\'s environment; any other value is rejected.')\n})\n\nexport const RemoveCaseLinkResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\n\n\nexport const CreateChatAgentBody = zod.object({\n \"name\": zod.string().min(1),\n \"prompt\": zod.string().min(1),\n \"greeting\": zod.string().min(1).optional()\n})\n\nexport const CreateChatAgentResponse = zod.object({\n \"data\": zod.object({\n \"chat_agent_id\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const listChatAgentsQueryCountDefault = 50;\nexport const listChatAgentsQueryCountMax = 100;\n\nexport const listChatAgentsQueryOffsetDefault = 0;\nexport const listChatAgentsQueryOffsetMin = 0;\n\nexport const listChatAgentsQuerySortByDefault = `created_at`;\nexport const listChatAgentsQuerySortOrderDefault = `desc`;\n\nexport const ListChatAgentsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listChatAgentsQueryCountMax).default(listChatAgentsQueryCountDefault),\n \"offset\": zod.number().min(listChatAgentsQueryOffsetMin).default(listChatAgentsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at', 'name']).default(listChatAgentsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listChatAgentsQuerySortOrderDefault)\n})\n\nexport const ListChatAgentsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetChatAgentParams = zod.object({\n \"chatAgentId\": zod.string().uuid()\n})\n\nexport const GetChatAgentResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"tool_ids\": zod.array(zod.string())\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateChatAgentParams = zod.object({\n \"chatAgentId\": zod.string().uuid()\n})\n\nexport const UpdateChatAgentBody = zod.object({\n \"tools\": zod.array(zod.string().uuid()).optional().describe('Replace the agent\\'s attached code tool set. Omit to leave unchanged; pass [] to clear.')\n})\n\nexport const UpdateChatAgentResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteChatAgentParams = zod.object({\n \"chatAgentId\": zod.string().uuid()\n})\n\nexport const DeleteChatAgentResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetChatAgentPromptParams = zod.object({\n \"chatAgentId\": zod.string().uuid()\n})\n\nexport const GetChatAgentPromptResponse = zod.object({\n \"data\": zod.object({\n \"prompt\": zod.string(),\n \"greeting\": zod.string()\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateChatAgentPromptParams = zod.object({\n \"chatAgentId\": zod.string().uuid()\n})\n\n\n\n\n\nexport const UpdateChatAgentPromptBody = zod.object({\n \"prompt\": zod.string().min(1).optional(),\n \"greeting\": zod.string().min(1).optional()\n})\n\nexport const UpdateChatAgentPromptResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const CreateChatBody = zod.object({\n \"chat_agent_id\": zod.string().uuid()\n})\n\nexport const CreateChatResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().uuid(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"chat_token\": zod.string(),\n \"chat_token_expires_in\": zod.number()\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetChatParams = zod.object({\n \"chatId\": zod.string().uuid()\n})\n\nexport const GetChatResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().uuid(),\n \"chat_agent_id\": zod.string().uuid(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"messages\": zod.array(zod.object({\n \"id\": zod.string().uuid(),\n \"role\": zod.enum(['user', 'assistant']),\n \"content\": zod.string(),\n \"generated_at\": zod.string().datetime({\"offset\":true})\n}))\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetPublicChatAgentParams = zod.object({\n \"chatAgentId\": zod.string().uuid()\n})\n\nexport const GetPublicChatAgentResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().uuid(),\n \"name\": zod.string(),\n \"greeting\": zod.string()\n}),\n \"message\": zod.string()\n})\n\n\nexport const PostChatMessageParams = zod.object({\n \"chatId\": zod.string().uuid()\n})\n\nexport const postChatMessageBodyContentMax = 32000;\n\n\n\nexport const PostChatMessageBody = zod.object({\n \"content\": zod.string().min(1).max(postChatMessageBodyContentMax)\n})\n\nexport const PostChatMessageResponse = zod.object({\n \"data\": zod.object({\n \"message\": zod.object({\n \"id\": zod.string().uuid(),\n \"role\": zod.literal(\"assistant\"),\n \"content\": zod.array(zod.object({\n \"type\": zod.string()\n})),\n \"generated_at\": zod.string().datetime({\"offset\":true})\n})\n}),\n \"message\": zod.string()\n})\n\n\n\nexport const listChatsQueryCountDefault = 50;\nexport const listChatsQueryCountMax = 100;\n\nexport const listChatsQueryOffsetDefault = 0;\nexport const listChatsQueryOffsetMin = 0;\n\nexport const listChatsQuerySortByDefault = `created_at`;\nexport const listChatsQuerySortOrderDefault = `desc`;\n\nexport const ListChatsQueryParams = zod.object({\n \"case_id\": zod.string().min(1).optional().describe('Only chats linked to this case. Values are normalized server-side (trimmed and lowercased).'),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"count\": zod.number().min(1).max(listChatsQueryCountMax).default(listChatsQueryCountDefault),\n \"offset\": zod.number().min(listChatsQueryOffsetMin).default(listChatsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at']).default(listChatsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listChatsQuerySortOrderDefault)\n})\n\nexport const listChatsResponseDataItemMessageCountMin = 0;\nexport const listChatsResponseDataItemMessageCountMax = 9007199254740991;\n\n\n\nexport const ListChatsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().uuid(),\n \"chat_agent_id\": zod.string().uuid(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"message_count\": zod.number().int().min(listChatsResponseDataItemMessageCountMin).max(listChatsResponseDataItemMessageCountMax)\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const ListChatMessagesParams = zod.object({\n \"chatId\": zod.string().uuid()\n})\n\nexport const listChatMessagesQueryCountDefault = 50;\nexport const listChatMessagesQueryCountMax = 100;\n\nexport const listChatMessagesQueryOffsetDefault = 0;\nexport const listChatMessagesQueryOffsetMin = 0;\n\nexport const listChatMessagesQuerySortByDefault = `generated_at`;\nexport const listChatMessagesQuerySortOrderDefault = `asc`;\n\nexport const ListChatMessagesQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listChatMessagesQueryCountMax).default(listChatMessagesQueryCountDefault),\n \"offset\": zod.number().min(listChatMessagesQueryOffsetMin).default(listChatMessagesQueryOffsetDefault),\n \"sort_by\": zod.enum(['generated_at']).default(listChatMessagesQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listChatMessagesQuerySortOrderDefault)\n})\n\nexport const ListChatMessagesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().uuid(),\n \"role\": zod.enum(['user', 'assistant', 'tool', 'system']),\n \"content\": zod.array(zod.object({\n \"type\": zod.string()\n})).describe('Message parts (text, tool-call, tool-result, etc.). Each part has a `type` discriminator.'),\n \"generated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetExtractParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const GetExtractResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"processor_type\": zod.string(),\n \"processor_id\": zod.string(),\n \"processor_version\": zod.number(),\n \"processor_name\": zod.string(),\n \"processor_scope\": zod.record(zod.string(), zod.unknown()),\n \"extractor_job_id\": zod.union([zod.string(),zod.null()]),\n \"worker_run_id\": zod.union([zod.string(),zod.null()]),\n \"result\": zod.unknown(),\n \"citations\": zod.union([zod.unknown(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetExtractCitationsParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const GetExtractCitationsResponse = zod.object({\n \"data\": zod.object({\n \"citations\": zod.unknown(),\n \"chunks\": zod.record(zod.string(), zod.object({\n \"artifact_id\": zod.string(),\n \"artifact_name\": zod.string(),\n \"page\": zod.union([zod.number(),zod.null()]),\n \"bounding_box\": zod.union([zod.object({\n \"left\": zod.number(),\n \"top\": zod.number(),\n \"width\": zod.number(),\n \"height\": zod.number()\n}),zod.null()]),\n \"content\": zod.string()\n}))\n}),\n \"message\": zod.string()\n})\n\n\nexport const listExtractsQueryCountDefault = 50;\nexport const listExtractsQueryCountMax = 100;\n\nexport const listExtractsQueryOffsetDefault = 0;\nexport const listExtractsQueryOffsetMin = 0;\n\nexport const listExtractsQuerySortByDefault = `created_at`;\nexport const listExtractsQuerySortOrderDefault = `desc`;\n\n\nexport const ListExtractsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listExtractsQueryCountMax).default(listExtractsQueryCountDefault),\n \"offset\": zod.number().min(listExtractsQueryOffsetMin).default(listExtractsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at']).default(listExtractsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listExtractsQuerySortOrderDefault),\n \"extractor_job_id\": zod.string().uuid().optional(),\n \"extractor_id\": zod.string().uuid().optional(),\n \"worker_run_id\": zod.string().uuid().optional(),\n \"worker_id\": zod.string().uuid().optional(),\n \"case_id\": zod.string().min(1).optional().describe('Filter extracts linked to a specific case. Values are normalized server-side (trimmed and lowercased).'),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"created_after\": zod.string().optional(),\n \"created_before\": zod.string().optional(),\n \"scope\": zod.record(zod.string(), zod.string()).optional().describe('Filter by scope keys using bracket notation (e.g. scope[claim_id]=abc-123). Multiple filters are combined with AND logic.')\n})\n\nexport const ListExtractsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"extractor_job_id\": zod.union([zod.string(),zod.null()]),\n \"worker_run_id\": zod.union([zod.string(),zod.null()]),\n \"processor_type\": zod.string(),\n \"processor_id\": zod.string(),\n \"processor_version\": zod.number(),\n \"processor_name\": zod.string(),\n \"processor_scope\": zod.record(zod.string(), zod.unknown()),\n \"result\": zod.unknown(),\n \"citations\": zod.union([zod.unknown(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetProfileResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"first_name\": zod.union([zod.string(),zod.null()]),\n \"last_name\": zod.union([zod.string(),zod.null()]),\n \"email\": zod.string(),\n \"role\": zod.enum(['admin', 'avallon_admin', 'member']),\n \"permissions\": zod.array(zod.enum(['voice-agents:write', 'voice-agents:promote', 'tools:write', 'tools:execute', 'tools:promote', 'extractors:write', 'inboxes:write', 'inboxes:send', 'artifacts:write', 'api-keys:write', 'teams:write', 'cases:write', 'cases:delete', 'information-requests:write', 'information-requests:resolve', 'feedback:write', 'outbound-jobs:write', 'outbound-jobs:schedule', 'workers:write', 'workers:execute', 'workers:write-mcp', 'workers:run', 'workers:promote', 'chat-agents:write', 'notifications:write', 'prompts:read', 'prompts:write', 'secrets:read', 'secrets:write', 'schedules:read', 'schedules:write'])),\n \"tenants\": zod.object({\n \"active\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string()\n}),\n \"available\": zod.array(zod.object({\n \"id\": zod.string(),\n \"name\": zod.string()\n}))\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListTeamMembersResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"first_name\": zod.union([zod.string(),zod.null()]),\n \"last_name\": zod.union([zod.string(),zod.null()]),\n \"email\": zod.string(),\n \"role\": zod.enum(['admin', 'avallon_admin', 'member']),\n \"created_at\": zod.string(),\n \"updated_at\": zod.string()\n})),\n \"message\": zod.string()\n})\n\n\nexport const InviteTeamMemberBody = zod.object({\n \"email\": zod.string().email()\n})\n\nexport const InviteTeamMemberResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the invitation'),\n \"email\": zod.string(),\n \"state\": zod.enum(['pending', 'accepted', 'expired', 'revoked']),\n \"expires_at\": zod.string().datetime({\"offset\":true}).describe('When the invitation stops being redeemable'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp')\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListTeamInvitationsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().describe('Unique identifier for the invitation'),\n \"email\": zod.string(),\n \"state\": zod.enum(['pending', 'accepted', 'expired', 'revoked']),\n \"expires_at\": zod.string().datetime({\"offset\":true}).describe('When the invitation stops being redeemable'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp')\n})),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const RevokeTeamInvitationParams = zod.object({\n \"invitationId\": zod.string().min(1)\n})\n\nexport const RevokeTeamInvitationResponse = zod.void()\n\n\n\n\n\nexport const ResendTeamInvitationParams = zod.object({\n \"invitationId\": zod.string().min(1)\n})\n\nexport const ResendTeamInvitationResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the invitation'),\n \"email\": zod.string(),\n \"state\": zod.enum(['pending', 'accepted', 'expired', 'revoked']),\n \"expires_at\": zod.string().datetime({\"offset\":true}).describe('When the invitation stops being redeemable'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp')\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateMemberRoleParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const UpdateMemberRoleBody = zod.object({\n \"role\": zod.enum(['admin', 'member'])\n})\n\nexport const UpdateMemberRoleResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"first_name\": zod.union([zod.string(),zod.null()]),\n \"last_name\": zod.union([zod.string(),zod.null()]),\n \"email\": zod.string(),\n \"role\": zod.enum(['admin', 'avallon_admin', 'member']),\n \"created_at\": zod.string(),\n \"updated_at\": zod.string()\n}),\n \"message\": zod.string()\n})\n\n\nexport const RemoveMemberParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const RemoveMemberResponse = zod.void()\n\n\nexport const createSecretBodyNameMax = 100;\n\nexport const createSecretBodyEnvKeyMax = 128;\n\n\nexport const createSecretBodyEnvKeyRegExp = new RegExp('^[A-Z][A-Z0-9_]*$');\nexport const createSecretBodyValueMax = 4096;\n\nexport const createSecretBodyTestValueMax = 4096;\n\nexport const createSecretBodyDescriptionMax = 500;\n\n\n\nexport const CreateSecretBody = zod.object({\n \"name\": zod.string().min(1).max(createSecretBodyNameMax).describe('Human-readable display name, unique per organization (e.g. \"Klear prod login\")'),\n \"env_key\": zod.string().max(createSecretBodyEnvKeyMax).regex(createSecretBodyEnvKeyRegExp).describe('Environment variable key consumers of the secret will receive the value under (e.g. KLEAR_PASSWORD). Immutable after creation; multiple secrets may share an env key.'),\n \"value\": zod.string().min(1).max(createSecretBodyValueMax).describe('The secret value. Write-only: it is never returned again.'),\n \"test_value\": zod.string().min(1).max(createSecretBodyTestValueMax).optional().describe('The value test runs receive under the same env key. Write-only. Omit and test runs receive nothing for this secret.'),\n \"description\": zod.string().max(createSecretBodyDescriptionMax).optional()\n})\n\nexport const CreateSecretResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the secret'),\n \"name\": zod.string().describe('Human-readable display name, unique per organization'),\n \"env_key\": zod.string().describe('Environment variable key under which consumers of the secret receive the value. Immutable.'),\n \"description\": zod.union([zod.string(),zod.null()]).describe('Optional description'),\n \"has_test_value\": zod.boolean().describe('Whether a test value is set. Test runs receive nothing for this secret until it is.'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp (metadata or rotation)')\n}),\n \"message\": zod.string()\n})\n\n\nexport const listSecretsQueryCountDefault = 50;\nexport const listSecretsQueryCountMax = 100;\n\nexport const listSecretsQueryOffsetDefault = 0;\nexport const listSecretsQueryOffsetMin = 0;\n\nexport const listSecretsQuerySortByDefault = `name`;\nexport const listSecretsQuerySortOrderDefault = `asc`;\n\nexport const ListSecretsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listSecretsQueryCountMax).default(listSecretsQueryCountDefault),\n \"offset\": zod.number().min(listSecretsQueryOffsetMin).default(listSecretsQueryOffsetDefault),\n \"sort_by\": zod.enum(['name', 'created_at']).default(listSecretsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listSecretsQuerySortOrderDefault)\n})\n\nexport const ListSecretsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().describe('Unique identifier for the secret'),\n \"name\": zod.string().describe('Human-readable display name, unique per organization'),\n \"env_key\": zod.string().describe('Environment variable key under which consumers of the secret receive the value. Immutable.'),\n \"description\": zod.union([zod.string(),zod.null()]).describe('Optional description'),\n \"has_test_value\": zod.boolean().describe('Whether a test value is set. Test runs receive nothing for this secret until it is.'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp (metadata or rotation)')\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetSecretParams = zod.object({\n \"secretId\": zod.string().uuid()\n})\n\nexport const GetSecretResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the secret'),\n \"name\": zod.string().describe('Human-readable display name, unique per organization'),\n \"env_key\": zod.string().describe('Environment variable key under which consumers of the secret receive the value. Immutable.'),\n \"description\": zod.union([zod.string(),zod.null()]).describe('Optional description'),\n \"has_test_value\": zod.boolean().describe('Whether a test value is set. Test runs receive nothing for this secret until it is.'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp (metadata or rotation)')\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateSecretParams = zod.object({\n \"secretId\": zod.string().uuid()\n})\n\nexport const updateSecretBodyNameMax = 100;\n\nexport const updateSecretBodyValueMax = 4096;\n\nexport const updateSecretBodyTestValueOneMax = 4096;\n\nexport const updateSecretBodyDescriptionOneMax = 500;\n\n\n\nexport const UpdateSecretBody = zod.object({\n \"name\": zod.string().min(1).max(updateSecretBodyNameMax).optional().describe('New display name. Omit to leave unchanged.'),\n \"value\": zod.string().min(1).max(updateSecretBodyValueMax).optional().describe('New secret value (rotation). The previous value is overwritten and not retrievable. Omit to leave unchanged.'),\n \"test_value\": zod.union([zod.string().min(1).max(updateSecretBodyTestValueOneMax),zod.null()]).optional().describe('New value for test runs (rotation). Omit to leave unchanged; pass null to remove it so test runs receive nothing for this secret.'),\n \"description\": zod.union([zod.string().max(updateSecretBodyDescriptionOneMax),zod.null()]).optional().describe('New description. Omit to leave unchanged; pass null to clear.')\n})\n\nexport const UpdateSecretResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the secret'),\n \"name\": zod.string().describe('Human-readable display name, unique per organization'),\n \"env_key\": zod.string().describe('Environment variable key under which consumers of the secret receive the value. Immutable.'),\n \"description\": zod.union([zod.string(),zod.null()]).describe('Optional description'),\n \"has_test_value\": zod.boolean().describe('Whether a test value is set. Test runs receive nothing for this secret until it is.'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp (metadata or rotation)')\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteSecretParams = zod.object({\n \"secretId\": zod.string().uuid()\n})\n\nexport const DeleteSecretResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const createScheduleBodyRuleTwoPatternsItemMinuteMin = 0;\nexport const createScheduleBodyRuleTwoPatternsItemMinuteMax = 59;\n\nexport const createScheduleBodyRuleTwoPatternsItemHoursOneItemMin = 0;\nexport const createScheduleBodyRuleTwoPatternsItemHoursOneItemMax = 23;\n\nexport const createScheduleBodyRuleTwoPatternsItemHoursOneMax = 24;\n\nexport const createScheduleBodyRuleTwoPatternsItemHoursDefault = null;\nexport const createScheduleBodyRuleTwoPatternsItemWeekdaysOneItemMax = 7;\n\nexport const createScheduleBodyRuleTwoPatternsItemWeekdaysOneMax = 7;\n\nexport const createScheduleBodyRuleTwoPatternsItemWeekdaysDefault = null;\nexport const createScheduleBodyRuleTwoPatternsMax = 10;\n\nexport const createScheduleBodyNameMax = 200;\n\n\n\nexport const CreateScheduleBody = zod.object({\n \"action\": zod.object({\n \"type\": zod.literal(\"trigger_worker\"),\n \"worker_id\": zod.string().uuid(),\n \"scope\": zod.union([zod.record(zod.string(), zod.union([zod.string(),zod.number(),zod.boolean(),zod.null()])),zod.null()]).optional().describe('Scope of the runs this schedule creates. Omit or send null to run without artifacts.')\n}).describe('What the schedule does every time it fires'),\n \"rule\": zod.union([zod.object({\n \"type\": zod.literal(\"once\"),\n \"at\": zod.string().datetime({\"offset\":true}).describe('The moment it fires, in UTC, e.g. \"2026-09-01T14:00:00Z\"')\n}),zod.object({\n \"type\": zod.literal(\"recurring\"),\n \"timezone\": zod.string().describe('IANA time zone identifier, e.g. \"America/Chicago\"'),\n \"patterns\": zod.array(zod.object({\n \"minute\": zod.number().int().min(createScheduleBodyRuleTwoPatternsItemMinuteMin).max(createScheduleBodyRuleTwoPatternsItemMinuteMax).describe('Minute, 0-59'),\n \"hours\": zod.union([zod.array(zod.number().int().min(createScheduleBodyRuleTwoPatternsItemHoursOneItemMin).max(createScheduleBodyRuleTwoPatternsItemHoursOneItemMax).describe('Hour, 0-23')).min(1).max(createScheduleBodyRuleTwoPatternsItemHoursOneMax),zod.null()]).default(createScheduleBodyRuleTwoPatternsItemHoursDefault).describe('Local hours the pattern may fire in. Omit or send null to fire every hour.'),\n \"weekdays\": zod.union([zod.array(zod.number().int().min(1).max(createScheduleBodyRuleTwoPatternsItemWeekdaysOneItemMax).describe('ISO-8601 weekday, 1 = Monday through 7 = Sunday')).min(1).max(createScheduleBodyRuleTwoPatternsItemWeekdaysOneMax),zod.null()]).default(createScheduleBodyRuleTwoPatternsItemWeekdaysDefault).describe('Local ISO-8601 weekdays the pattern may fire on. Omit or send null to fire every day.')\n}).describe('One set of local times a schedule fires at')).min(1).max(createScheduleBodyRuleTwoPatternsMax).describe('The schedule fires whenever any of these patterns comes round, all read in the rule\\'s time zone.')\n})]).describe('When the schedule fires'),\n \"environments\": zod.array(zod.enum(['live', 'test'])).optional().describe('Environments the schedule fires in. `live` resolves the worker at its live version, `test` at its test version. Listing both fires every occurrence twice, once per version.'),\n \"name\": zod.string().min(1).max(createScheduleBodyNameMax).optional().describe('Human-readable name, e.g. \"Nightly claim sweep\"'),\n \"enabled\": zod.boolean().optional().describe('Whether the schedule starts firing right away. Defaults to true. Must be omitted or true for `once` rules.')\n})\n\nexport const createScheduleResponseDataRuleTwoPatternsItemMinuteMin = 0;\nexport const createScheduleResponseDataRuleTwoPatternsItemMinuteMax = 59;\n\nexport const createScheduleResponseDataRuleTwoPatternsItemHoursOneItemMin = 0;\nexport const createScheduleResponseDataRuleTwoPatternsItemHoursOneItemMax = 23;\n\nexport const createScheduleResponseDataRuleTwoPatternsItemHoursOneMax = 24;\n\nexport const createScheduleResponseDataRuleTwoPatternsItemHoursDefault = null;\nexport const createScheduleResponseDataRuleTwoPatternsItemWeekdaysOneItemMax = 7;\n\nexport const createScheduleResponseDataRuleTwoPatternsItemWeekdaysOneMax = 7;\n\nexport const createScheduleResponseDataRuleTwoPatternsItemWeekdaysDefault = null;\nexport const createScheduleResponseDataRuleTwoPatternsMax = 10;\n\n\n\nexport const CreateScheduleResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the schedule'),\n \"name\": zod.union([zod.string(),zod.null()]).describe('Optional human-readable name'),\n \"action\": zod.object({\n \"type\": zod.literal(\"trigger_worker\"),\n \"worker_id\": zod.string().uuid(),\n \"scope\": zod.union([zod.record(zod.string(), zod.union([zod.string(),zod.number(),zod.boolean(),zod.null()])),zod.null()]).optional().describe('Scope of the runs this schedule creates. Omit or send null to run without artifacts.')\n}).describe('What the schedule does every time it fires'),\n \"rule\": zod.union([zod.object({\n \"type\": zod.literal(\"once\"),\n \"at\": zod.string().datetime({\"offset\":true}).describe('The moment it fires, in UTC, e.g. \"2026-09-01T14:00:00Z\"')\n}),zod.object({\n \"type\": zod.literal(\"recurring\"),\n \"timezone\": zod.string().describe('IANA time zone identifier, e.g. \"America/Chicago\"'),\n \"patterns\": zod.array(zod.object({\n \"minute\": zod.number().int().min(createScheduleResponseDataRuleTwoPatternsItemMinuteMin).max(createScheduleResponseDataRuleTwoPatternsItemMinuteMax).describe('Minute, 0-59'),\n \"hours\": zod.union([zod.array(zod.number().int().min(createScheduleResponseDataRuleTwoPatternsItemHoursOneItemMin).max(createScheduleResponseDataRuleTwoPatternsItemHoursOneItemMax).describe('Hour, 0-23')).min(1).max(createScheduleResponseDataRuleTwoPatternsItemHoursOneMax),zod.null()]).default(createScheduleResponseDataRuleTwoPatternsItemHoursDefault).describe('Local hours the pattern may fire in. Omit or send null to fire every hour.'),\n \"weekdays\": zod.union([zod.array(zod.number().int().min(1).max(createScheduleResponseDataRuleTwoPatternsItemWeekdaysOneItemMax).describe('ISO-8601 weekday, 1 = Monday through 7 = Sunday')).min(1).max(createScheduleResponseDataRuleTwoPatternsItemWeekdaysOneMax),zod.null()]).default(createScheduleResponseDataRuleTwoPatternsItemWeekdaysDefault).describe('Local ISO-8601 weekdays the pattern may fire on. Omit or send null to fire every day.')\n}).describe('One set of local times a schedule fires at')).min(1).max(createScheduleResponseDataRuleTwoPatternsMax).describe('The schedule fires whenever any of these patterns comes round, all read in the rule\\'s time zone.')\n})]).describe('When the schedule fires'),\n \"environments\": zod.array(zod.enum(['live', 'test'])).describe('Environments the schedule fires in'),\n \"enabled\": zod.boolean().describe('Whether the schedule currently fires. Disabled never fires.'),\n \"next_run_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('When the schedule fires next, in UTC. Null while disabled, or once a one-off has fired.'),\n \"created_by\": zod.string().describe('Actor that created the schedule'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp')\n}),\n \"message\": zod.string()\n})\n\n\n\nexport const listSchedulesQueryCountDefault = 50;\nexport const listSchedulesQueryCountMax = 100;\n\nexport const listSchedulesQueryOffsetDefault = 0;\nexport const listSchedulesQueryOffsetMin = 0;\n\nexport const listSchedulesQuerySortByDefault = `created_at`;\nexport const listSchedulesQuerySortOrderDefault = `asc`;\n\nexport const ListSchedulesQueryParams = zod.object({\n \"worker_id\": zod.string().uuid().optional().describe('Only schedules that trigger this worker'),\n \"rule_type\": zod.enum(['once', 'recurring']).optional().describe('Only schedules whose rule is of this type'),\n \"environment\": zod.enum(['live', 'test']).optional().describe('Only schedules that run in this environment. A schedule that runs in both matches either value.'),\n \"case_id\": zod.string().min(1).optional().describe('Only schedules linked to this case. Values are normalized server-side (trimmed and lowercased).'),\n \"count\": zod.number().min(1).max(listSchedulesQueryCountMax).default(listSchedulesQueryCountDefault),\n \"offset\": zod.number().min(listSchedulesQueryOffsetMin).default(listSchedulesQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at', 'next_run_at']).default(listSchedulesQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listSchedulesQuerySortOrderDefault)\n})\n\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemMinuteMin = 0;\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemMinuteMax = 59;\n\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemHoursOneItemMin = 0;\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemHoursOneItemMax = 23;\n\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemHoursOneMax = 24;\n\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemHoursDefault = null;\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemWeekdaysOneItemMax = 7;\n\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemWeekdaysOneMax = 7;\n\nexport const listSchedulesResponseDataItemRuleTwoPatternsItemWeekdaysDefault = null;\nexport const listSchedulesResponseDataItemRuleTwoPatternsMax = 10;\n\n\n\nexport const ListSchedulesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string().describe('Unique identifier for the schedule'),\n \"name\": zod.union([zod.string(),zod.null()]).describe('Optional human-readable name'),\n \"action\": zod.object({\n \"type\": zod.literal(\"trigger_worker\"),\n \"worker_id\": zod.string().uuid(),\n \"scope\": zod.union([zod.record(zod.string(), zod.union([zod.string(),zod.number(),zod.boolean(),zod.null()])),zod.null()]).optional().describe('Scope of the runs this schedule creates. Omit or send null to run without artifacts.')\n}).describe('What the schedule does every time it fires'),\n \"rule\": zod.union([zod.object({\n \"type\": zod.literal(\"once\"),\n \"at\": zod.string().datetime({\"offset\":true}).describe('The moment it fires, in UTC, e.g. \"2026-09-01T14:00:00Z\"')\n}),zod.object({\n \"type\": zod.literal(\"recurring\"),\n \"timezone\": zod.string().describe('IANA time zone identifier, e.g. \"America/Chicago\"'),\n \"patterns\": zod.array(zod.object({\n \"minute\": zod.number().int().min(listSchedulesResponseDataItemRuleTwoPatternsItemMinuteMin).max(listSchedulesResponseDataItemRuleTwoPatternsItemMinuteMax).describe('Minute, 0-59'),\n \"hours\": zod.union([zod.array(zod.number().int().min(listSchedulesResponseDataItemRuleTwoPatternsItemHoursOneItemMin).max(listSchedulesResponseDataItemRuleTwoPatternsItemHoursOneItemMax).describe('Hour, 0-23')).min(1).max(listSchedulesResponseDataItemRuleTwoPatternsItemHoursOneMax),zod.null()]).default(listSchedulesResponseDataItemRuleTwoPatternsItemHoursDefault).describe('Local hours the pattern may fire in. Omit or send null to fire every hour.'),\n \"weekdays\": zod.union([zod.array(zod.number().int().min(1).max(listSchedulesResponseDataItemRuleTwoPatternsItemWeekdaysOneItemMax).describe('ISO-8601 weekday, 1 = Monday through 7 = Sunday')).min(1).max(listSchedulesResponseDataItemRuleTwoPatternsItemWeekdaysOneMax),zod.null()]).default(listSchedulesResponseDataItemRuleTwoPatternsItemWeekdaysDefault).describe('Local ISO-8601 weekdays the pattern may fire on. Omit or send null to fire every day.')\n}).describe('One set of local times a schedule fires at')).min(1).max(listSchedulesResponseDataItemRuleTwoPatternsMax).describe('The schedule fires whenever any of these patterns comes round, all read in the rule\\'s time zone.')\n})]).describe('When the schedule fires'),\n \"environments\": zod.array(zod.enum(['live', 'test'])).describe('Environments the schedule fires in'),\n \"enabled\": zod.boolean().describe('Whether the schedule currently fires. Disabled never fires.'),\n \"next_run_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('When the schedule fires next, in UTC. Null while disabled, or once a one-off has fired.'),\n \"created_by\": zod.string().describe('Actor that created the schedule'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp')\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetScheduleParams = zod.object({\n \"scheduleId\": zod.string().uuid()\n})\n\nexport const getScheduleResponseDataRuleTwoPatternsItemMinuteMin = 0;\nexport const getScheduleResponseDataRuleTwoPatternsItemMinuteMax = 59;\n\nexport const getScheduleResponseDataRuleTwoPatternsItemHoursOneItemMin = 0;\nexport const getScheduleResponseDataRuleTwoPatternsItemHoursOneItemMax = 23;\n\nexport const getScheduleResponseDataRuleTwoPatternsItemHoursOneMax = 24;\n\nexport const getScheduleResponseDataRuleTwoPatternsItemHoursDefault = null;\nexport const getScheduleResponseDataRuleTwoPatternsItemWeekdaysOneItemMax = 7;\n\nexport const getScheduleResponseDataRuleTwoPatternsItemWeekdaysOneMax = 7;\n\nexport const getScheduleResponseDataRuleTwoPatternsItemWeekdaysDefault = null;\nexport const getScheduleResponseDataRuleTwoPatternsMax = 10;\n\n\n\nexport const GetScheduleResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the schedule'),\n \"name\": zod.union([zod.string(),zod.null()]).describe('Optional human-readable name'),\n \"action\": zod.object({\n \"type\": zod.literal(\"trigger_worker\"),\n \"worker_id\": zod.string().uuid(),\n \"scope\": zod.union([zod.record(zod.string(), zod.union([zod.string(),zod.number(),zod.boolean(),zod.null()])),zod.null()]).optional().describe('Scope of the runs this schedule creates. Omit or send null to run without artifacts.')\n}).describe('What the schedule does every time it fires'),\n \"rule\": zod.union([zod.object({\n \"type\": zod.literal(\"once\"),\n \"at\": zod.string().datetime({\"offset\":true}).describe('The moment it fires, in UTC, e.g. \"2026-09-01T14:00:00Z\"')\n}),zod.object({\n \"type\": zod.literal(\"recurring\"),\n \"timezone\": zod.string().describe('IANA time zone identifier, e.g. \"America/Chicago\"'),\n \"patterns\": zod.array(zod.object({\n \"minute\": zod.number().int().min(getScheduleResponseDataRuleTwoPatternsItemMinuteMin).max(getScheduleResponseDataRuleTwoPatternsItemMinuteMax).describe('Minute, 0-59'),\n \"hours\": zod.union([zod.array(zod.number().int().min(getScheduleResponseDataRuleTwoPatternsItemHoursOneItemMin).max(getScheduleResponseDataRuleTwoPatternsItemHoursOneItemMax).describe('Hour, 0-23')).min(1).max(getScheduleResponseDataRuleTwoPatternsItemHoursOneMax),zod.null()]).default(getScheduleResponseDataRuleTwoPatternsItemHoursDefault).describe('Local hours the pattern may fire in. Omit or send null to fire every hour.'),\n \"weekdays\": zod.union([zod.array(zod.number().int().min(1).max(getScheduleResponseDataRuleTwoPatternsItemWeekdaysOneItemMax).describe('ISO-8601 weekday, 1 = Monday through 7 = Sunday')).min(1).max(getScheduleResponseDataRuleTwoPatternsItemWeekdaysOneMax),zod.null()]).default(getScheduleResponseDataRuleTwoPatternsItemWeekdaysDefault).describe('Local ISO-8601 weekdays the pattern may fire on. Omit or send null to fire every day.')\n}).describe('One set of local times a schedule fires at')).min(1).max(getScheduleResponseDataRuleTwoPatternsMax).describe('The schedule fires whenever any of these patterns comes round, all read in the rule\\'s time zone.')\n})]).describe('When the schedule fires'),\n \"environments\": zod.array(zod.enum(['live', 'test'])).describe('Environments the schedule fires in'),\n \"enabled\": zod.boolean().describe('Whether the schedule currently fires. Disabled never fires.'),\n \"next_run_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('When the schedule fires next, in UTC. Null while disabled, or once a one-off has fired.'),\n \"created_by\": zod.string().describe('Actor that created the schedule'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp')\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateScheduleParams = zod.object({\n \"scheduleId\": zod.string().uuid()\n})\n\nexport const updateScheduleBodyRuleTwoPatternsItemMinuteMin = 0;\nexport const updateScheduleBodyRuleTwoPatternsItemMinuteMax = 59;\n\nexport const updateScheduleBodyRuleTwoPatternsItemHoursOneItemMin = 0;\nexport const updateScheduleBodyRuleTwoPatternsItemHoursOneItemMax = 23;\n\nexport const updateScheduleBodyRuleTwoPatternsItemHoursOneMax = 24;\n\nexport const updateScheduleBodyRuleTwoPatternsItemHoursDefault = null;\nexport const updateScheduleBodyRuleTwoPatternsItemWeekdaysOneItemMax = 7;\n\nexport const updateScheduleBodyRuleTwoPatternsItemWeekdaysOneMax = 7;\n\nexport const updateScheduleBodyRuleTwoPatternsItemWeekdaysDefault = null;\nexport const updateScheduleBodyRuleTwoPatternsMax = 10;\n\nexport const updateScheduleBodyNameOneMax = 200;\n\n\n\nexport const UpdateScheduleBody = zod.object({\n \"rule\": zod.union([zod.object({\n \"type\": zod.literal(\"once\"),\n \"at\": zod.string().datetime({\"offset\":true}).describe('The moment it fires, in UTC, e.g. \"2026-09-01T14:00:00Z\"')\n}),zod.object({\n \"type\": zod.literal(\"recurring\"),\n \"timezone\": zod.string().describe('IANA time zone identifier, e.g. \"America/Chicago\"'),\n \"patterns\": zod.array(zod.object({\n \"minute\": zod.number().int().min(updateScheduleBodyRuleTwoPatternsItemMinuteMin).max(updateScheduleBodyRuleTwoPatternsItemMinuteMax).describe('Minute, 0-59'),\n \"hours\": zod.union([zod.array(zod.number().int().min(updateScheduleBodyRuleTwoPatternsItemHoursOneItemMin).max(updateScheduleBodyRuleTwoPatternsItemHoursOneItemMax).describe('Hour, 0-23')).min(1).max(updateScheduleBodyRuleTwoPatternsItemHoursOneMax),zod.null()]).default(updateScheduleBodyRuleTwoPatternsItemHoursDefault).describe('Local hours the pattern may fire in. Omit or send null to fire every hour.'),\n \"weekdays\": zod.union([zod.array(zod.number().int().min(1).max(updateScheduleBodyRuleTwoPatternsItemWeekdaysOneItemMax).describe('ISO-8601 weekday, 1 = Monday through 7 = Sunday')).min(1).max(updateScheduleBodyRuleTwoPatternsItemWeekdaysOneMax),zod.null()]).default(updateScheduleBodyRuleTwoPatternsItemWeekdaysDefault).describe('Local ISO-8601 weekdays the pattern may fire on. Omit or send null to fire every day.')\n}).describe('One set of local times a schedule fires at')).min(1).max(updateScheduleBodyRuleTwoPatternsMax).describe('The schedule fires whenever any of these patterns comes round, all read in the rule\\'s time zone.')\n})]).optional().describe('When the schedule fires'),\n \"environments\": zod.array(zod.enum(['live', 'test'])).optional().describe('Environments the schedule fires in. `live` resolves the worker at its live version, `test` at its test version. Listing both fires every occurrence twice, once per version.'),\n \"name\": zod.union([zod.string().min(1).max(updateScheduleBodyNameOneMax),zod.null()]).optional().describe('Human-readable name. Send null to clear it.'),\n \"enabled\": zod.boolean().optional().describe('Whether the schedule fires. Disabled never fires. Must be omitted or true for `once` rules.')\n})\n\nexport const updateScheduleResponseDataRuleTwoPatternsItemMinuteMin = 0;\nexport const updateScheduleResponseDataRuleTwoPatternsItemMinuteMax = 59;\n\nexport const updateScheduleResponseDataRuleTwoPatternsItemHoursOneItemMin = 0;\nexport const updateScheduleResponseDataRuleTwoPatternsItemHoursOneItemMax = 23;\n\nexport const updateScheduleResponseDataRuleTwoPatternsItemHoursOneMax = 24;\n\nexport const updateScheduleResponseDataRuleTwoPatternsItemHoursDefault = null;\nexport const updateScheduleResponseDataRuleTwoPatternsItemWeekdaysOneItemMax = 7;\n\nexport const updateScheduleResponseDataRuleTwoPatternsItemWeekdaysOneMax = 7;\n\nexport const updateScheduleResponseDataRuleTwoPatternsItemWeekdaysDefault = null;\nexport const updateScheduleResponseDataRuleTwoPatternsMax = 10;\n\n\n\nexport const UpdateScheduleResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Unique identifier for the schedule'),\n \"name\": zod.union([zod.string(),zod.null()]).describe('Optional human-readable name'),\n \"action\": zod.object({\n \"type\": zod.literal(\"trigger_worker\"),\n \"worker_id\": zod.string().uuid(),\n \"scope\": zod.union([zod.record(zod.string(), zod.union([zod.string(),zod.number(),zod.boolean(),zod.null()])),zod.null()]).optional().describe('Scope of the runs this schedule creates. Omit or send null to run without artifacts.')\n}).describe('What the schedule does every time it fires'),\n \"rule\": zod.union([zod.object({\n \"type\": zod.literal(\"once\"),\n \"at\": zod.string().datetime({\"offset\":true}).describe('The moment it fires, in UTC, e.g. \"2026-09-01T14:00:00Z\"')\n}),zod.object({\n \"type\": zod.literal(\"recurring\"),\n \"timezone\": zod.string().describe('IANA time zone identifier, e.g. \"America/Chicago\"'),\n \"patterns\": zod.array(zod.object({\n \"minute\": zod.number().int().min(updateScheduleResponseDataRuleTwoPatternsItemMinuteMin).max(updateScheduleResponseDataRuleTwoPatternsItemMinuteMax).describe('Minute, 0-59'),\n \"hours\": zod.union([zod.array(zod.number().int().min(updateScheduleResponseDataRuleTwoPatternsItemHoursOneItemMin).max(updateScheduleResponseDataRuleTwoPatternsItemHoursOneItemMax).describe('Hour, 0-23')).min(1).max(updateScheduleResponseDataRuleTwoPatternsItemHoursOneMax),zod.null()]).default(updateScheduleResponseDataRuleTwoPatternsItemHoursDefault).describe('Local hours the pattern may fire in. Omit or send null to fire every hour.'),\n \"weekdays\": zod.union([zod.array(zod.number().int().min(1).max(updateScheduleResponseDataRuleTwoPatternsItemWeekdaysOneItemMax).describe('ISO-8601 weekday, 1 = Monday through 7 = Sunday')).min(1).max(updateScheduleResponseDataRuleTwoPatternsItemWeekdaysOneMax),zod.null()]).default(updateScheduleResponseDataRuleTwoPatternsItemWeekdaysDefault).describe('Local ISO-8601 weekdays the pattern may fire on. Omit or send null to fire every day.')\n}).describe('One set of local times a schedule fires at')).min(1).max(updateScheduleResponseDataRuleTwoPatternsMax).describe('The schedule fires whenever any of these patterns comes round, all read in the rule\\'s time zone.')\n})]).describe('When the schedule fires'),\n \"environments\": zod.array(zod.enum(['live', 'test'])).describe('Environments the schedule fires in'),\n \"enabled\": zod.boolean().describe('Whether the schedule currently fires. Disabled never fires.'),\n \"next_run_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]).describe('When the schedule fires next, in UTC. Null while disabled, or once a one-off has fired.'),\n \"created_by\": zod.string().describe('Actor that created the schedule'),\n \"created_at\": zod.string().datetime({\"offset\":true}).describe('Creation timestamp'),\n \"updated_at\": zod.string().datetime({\"offset\":true}).describe('Last update timestamp')\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteScheduleParams = zod.object({\n \"scheduleId\": zod.string().uuid()\n})\n\nexport const DeleteScheduleResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const listDispatchesQueryCountDefault = 50;\nexport const listDispatchesQueryCountMax = 100;\n\nexport const listDispatchesQueryOffsetDefault = 0;\nexport const listDispatchesQueryOffsetMin = 0;\n\nexport const listDispatchesQuerySortByDefault = `due_at`;\nexport const listDispatchesQuerySortOrderDefault = `desc`;\n\nexport const ListDispatchesQueryParams = zod.object({\n \"trigger_type\": zod.enum(['schedule', 'email', 'information_request']).optional().describe('Only dispatches produced by this kind of trigger'),\n \"trigger_id\": zod.string().uuid().optional().describe('Only dispatches produced by this trigger. Requires `trigger_type`.'),\n \"count\": zod.number().min(1).max(listDispatchesQueryCountMax).default(listDispatchesQueryCountDefault),\n \"offset\": zod.number().min(listDispatchesQueryOffsetMin).default(listDispatchesQueryOffsetDefault),\n \"sort_by\": zod.enum(['due_at']).default(listDispatchesQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listDispatchesQuerySortOrderDefault)\n})\n\nexport const listDispatchesResponseDataItemAttemptsMin = -9007199254740991;\nexport const listDispatchesResponseDataItemAttemptsMax = 9007199254740991;\n\n\n\nexport const ListDispatchesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"trigger\": zod.object({\n \"type\": zod.enum(['schedule', 'email', 'information_request']),\n \"id\": zod.string()\n}),\n \"target\": zod.union([zod.object({\n \"type\": zod.enum(['worker_run', 'extractor_job']),\n \"id\": zod.string()\n}),zod.null()]),\n \"due_at\": zod.string().datetime({\"offset\":true}),\n \"expires_at\": zod.string().datetime({\"offset\":true}),\n \"environment\": zod.enum(['live', 'test']),\n \"status\": zod.enum(['pending', 'dispatched', 'abandoned']),\n \"attempts\": zod.number().int().min(listDispatchesResponseDataItemAttemptsMin).max(listDispatchesResponseDataItemAttemptsMax)\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const listNotificationsQueryCountDefault = 50;\nexport const listNotificationsQueryCountMax = 100;\n\nexport const listNotificationsQueryOffsetDefault = 0;\nexport const listNotificationsQueryOffsetMin = 0;\n\nexport const listNotificationsQuerySortByDefault = `created_at`;\nexport const listNotificationsQuerySortOrderDefault = `desc`;\n\nexport const ListNotificationsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listNotificationsQueryCountMax).default(listNotificationsQueryCountDefault),\n \"offset\": zod.number().min(listNotificationsQueryOffsetMin).default(listNotificationsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at']).default(listNotificationsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listNotificationsQuerySortOrderDefault)\n})\n\nexport const ListNotificationsResponse = zod.object({\n \"data\": zod.array(zod.union([zod.object({\n \"id\": zod.string(),\n \"title\": zod.string().describe('Headline to display'),\n \"body\": zod.string().describe('Body text to display'),\n \"created_by\": zod.string().describe('Actor that raised the notification'),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"type\": zod.literal(\"worker_issue_reported\"),\n \"data\": zod.object({\n \"worker_id\": zod.string(),\n \"run_id\": zod.string()\n}).describe('The worker and run that reported the issue')\n}),zod.object({\n \"id\": zod.string(),\n \"title\": zod.string().describe('Headline to display'),\n \"body\": zod.string().describe('Body text to display'),\n \"created_by\": zod.string().describe('Actor that raised the notification'),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"type\": zod.literal(\"information_request_created\"),\n \"data\": zod.object({\n \"request_id\": zod.string()\n}).describe('The information request waiting to be answered')\n})])),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetNotificationParams = zod.object({\n \"notificationId\": zod.string().uuid()\n})\n\nexport const GetNotificationResponse = zod.object({\n \"data\": zod.union([zod.object({\n \"id\": zod.string(),\n \"title\": zod.string().describe('Headline to display'),\n \"body\": zod.string().describe('Body text to display'),\n \"created_by\": zod.string().describe('Actor that raised the notification'),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"type\": zod.literal(\"worker_issue_reported\"),\n \"data\": zod.object({\n \"worker_id\": zod.string(),\n \"run_id\": zod.string()\n}).describe('The worker and run that reported the issue')\n}),zod.object({\n \"id\": zod.string(),\n \"title\": zod.string().describe('Headline to display'),\n \"body\": zod.string().describe('Body text to display'),\n \"created_by\": zod.string().describe('Actor that raised the notification'),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"type\": zod.literal(\"information_request_created\"),\n \"data\": zod.object({\n \"request_id\": zod.string()\n}).describe('The information request waiting to be answered')\n})]),\n \"message\": zod.string()\n})\n\n\nexport const createInformationRequestBodyTitleMax = 120;\n\nexport const createInformationRequestBodyQuestionMax = 2000;\n\n\n\nexport const CreateInformationRequestBody = zod.object({\n \"title\": zod.string().min(1).max(createInformationRequestBodyTitleMax).describe('A short label for the question, so somebody scanning a queue of open requests can tell yours apart. Name what it is about, not what you need — no trailing punctuation.'),\n \"question\": zod.string().min(1).max(createInformationRequestBodyQuestionMax).describe('The single fact you need, as one question. Write it for a person who is not watching this run: say what you were doing, what you could not determine, and what would let you continue.'),\n \"metadata\": zod.record(zod.string(), zod.unknown()).optional().describe('Context to store alongside the question, for whoever picks it up.')\n})\n\nexport const CreateInformationRequestResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"title\": zod.string().describe('Short label the asker gave the question'),\n \"question\": zod.string().describe('What the asker needs to know'),\n \"resolution\": zod.union([zod.string(),zod.null()]).describe('Null while the request is open'),\n \"resolved_by\": zod.union([zod.string().describe('Actor string, e.g. \"worker:<workerId>\" or \"user:<profileId>\".'),zod.null()]),\n \"resolved_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]),\n \"metadata\": zod.record(zod.string(), zod.unknown()),\n \"environment\": zod.enum(['live', 'test']),\n \"created_by\": zod.string().describe('Actor that raised the request'),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\nexport const listInformationRequestsQueryCountDefault = 50;\nexport const listInformationRequestsQueryCountMax = 100;\n\nexport const listInformationRequestsQueryOffsetDefault = 0;\nexport const listInformationRequestsQueryOffsetMin = 0;\n\nexport const listInformationRequestsQuerySortByDefault = `created_at`;\nexport const listInformationRequestsQuerySortOrderDefault = `desc`;\n\nexport const ListInformationRequestsQueryParams = zod.object({\n \"resolved\": zod.enum(['true', 'false']).optional().describe('Only resolved (`true`) or only open (`false`) requests. Omit for both.'),\n \"case_id\": zod.string().min(1).optional().describe('Only requests linked to this case. Values are normalized server-side (trimmed and lowercased).'),\n \"environment\": zod.enum(['live', 'test']).optional(),\n \"count\": zod.number().min(1).max(listInformationRequestsQueryCountMax).default(listInformationRequestsQueryCountDefault),\n \"offset\": zod.number().min(listInformationRequestsQueryOffsetMin).default(listInformationRequestsQueryOffsetDefault),\n \"sort_by\": zod.enum(['created_at']).default(listInformationRequestsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listInformationRequestsQuerySortOrderDefault)\n})\n\nexport const ListInformationRequestsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"title\": zod.string().describe('Short label the asker gave the question'),\n \"question\": zod.string().describe('What the asker needs to know'),\n \"resolution\": zod.union([zod.string(),zod.null()]).describe('Null while the request is open'),\n \"resolved_by\": zod.union([zod.string().describe('Actor string, e.g. \"worker:<workerId>\" or \"user:<profileId>\".'),zod.null()]),\n \"resolved_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]),\n \"metadata\": zod.record(zod.string(), zod.unknown()),\n \"environment\": zod.enum(['live', 'test']),\n \"created_by\": zod.string().describe('Actor that raised the request'),\n \"created_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\nexport const GetInformationRequestParams = zod.object({\n \"informationRequestId\": zod.string().uuid()\n})\n\nexport const GetInformationRequestResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"title\": zod.string().describe('Short label the asker gave the question'),\n \"question\": zod.string().describe('What the asker needs to know'),\n \"resolution\": zod.union([zod.string(),zod.null()]).describe('Null while the request is open'),\n \"resolved_by\": zod.union([zod.string().describe('Actor string, e.g. \"worker:<workerId>\" or \"user:<profileId>\".'),zod.null()]),\n \"resolved_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]),\n \"metadata\": zod.record(zod.string(), zod.unknown()),\n \"environment\": zod.enum(['live', 'test']),\n \"created_by\": zod.string().describe('Actor that raised the request'),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const ResolveInformationRequestParams = zod.object({\n \"informationRequestId\": zod.string().uuid()\n})\n\nexport const resolveInformationRequestBodyResolutionMax = 10000;\n\n\n\nexport const ResolveInformationRequestBody = zod.object({\n \"resolution\": zod.string().min(1).max(resolveInformationRequestBodyResolutionMax).describe('The information the asker was missing, in plain language')\n})\n\nexport const ResolveInformationRequestResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"title\": zod.string().describe('Short label the asker gave the question'),\n \"question\": zod.string().describe('What the asker needs to know'),\n \"resolution\": zod.union([zod.string(),zod.null()]).describe('Null while the request is open'),\n \"resolved_by\": zod.union([zod.string().describe('Actor string, e.g. \"worker:<workerId>\" or \"user:<profileId>\".'),zod.null()]),\n \"resolved_at\": zod.union([zod.string().datetime({\"offset\":true}),zod.null()]),\n \"metadata\": zod.record(zod.string(), zod.unknown()),\n \"environment\": zod.enum(['live', 'test']),\n \"created_by\": zod.string().describe('Actor that raised the request'),\n \"created_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\n\n\nexport const CreateToolBody = zod.object({\n \"name\": zod.string().min(1),\n \"code\": zod.string().min(1),\n \"description\": zod.string().min(1)\n})\n\nexport const createToolResponseDataToolVersionsLatestMin = -9007199254740991;\nexport const createToolResponseDataToolVersionsLatestMax = 9007199254740991;\n\nexport const createToolResponseDataToolVersionsLiveMin = -9007199254740991;\nexport const createToolResponseDataToolVersionsLiveMax = 9007199254740991;\n\nexport const createToolResponseDataToolVersionsTestMin = -9007199254740991;\nexport const createToolResponseDataToolVersionsTestMax = 9007199254740991;\n\n\n\nexport const CreateToolResponse = zod.object({\n \"data\": zod.object({\n \"tool\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"schema\": zod.record(zod.string(), zod.unknown()).optional(),\n \"description\": zod.string().optional(),\n \"code\": zod.string().optional(),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(createToolResponseDataToolVersionsLatestMin).max(createToolResponseDataToolVersionsLatestMax).describe('Newest config version. The code, schema and secrets in this response are its snapshot.'),\n \"live\": zod.number().int().min(createToolResponseDataToolVersionsLiveMin).max(createToolResponseDataToolVersionsLiveMax).describe('Config version runs in the `live` environment execute.'),\n \"test\": zod.number().int().min(createToolResponseDataToolVersionsTestMin).max(createToolResponseDataToolVersionsTestMax).describe('Config version runs in the `test` environment execute.')\n})\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const listToolsQuerySortByDefault = `created_at`;\nexport const listToolsQuerySortOrderDefault = `desc`;\n\nexport const ListToolsQueryParams = zod.object({\n \"sort_by\": zod.enum(['created_at', 'updated_at', 'name']).default(listToolsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listToolsQuerySortOrderDefault)\n})\n\nexport const listToolsResponseDataToolsItemVersionsLatestMin = -9007199254740991;\nexport const listToolsResponseDataToolsItemVersionsLatestMax = 9007199254740991;\n\nexport const listToolsResponseDataToolsItemVersionsLiveMin = -9007199254740991;\nexport const listToolsResponseDataToolsItemVersionsLiveMax = 9007199254740991;\n\nexport const listToolsResponseDataToolsItemVersionsTestMin = -9007199254740991;\nexport const listToolsResponseDataToolsItemVersionsTestMax = 9007199254740991;\n\n\n\nexport const ListToolsResponse = zod.object({\n \"data\": zod.object({\n \"tools\": zod.array(zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"description\": zod.string().optional(),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(listToolsResponseDataToolsItemVersionsLatestMin).max(listToolsResponseDataToolsItemVersionsLatestMax).describe('Newest config version. The code, schema and secrets in this response are its snapshot.'),\n \"live\": zod.number().int().min(listToolsResponseDataToolsItemVersionsLiveMin).max(listToolsResponseDataToolsItemVersionsLiveMax).describe('Config version runs in the `live` environment execute.'),\n \"test\": zod.number().int().min(listToolsResponseDataToolsItemVersionsTestMin).max(listToolsResponseDataToolsItemVersionsTestMax).describe('Config version runs in the `test` environment execute.')\n})\n}))\n}),\n \"message\": zod.string()\n})\n\n\nexport const DeleteToolParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const DeleteToolResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\nexport const GetToolParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const getToolResponseDataToolVersionsLatestMin = -9007199254740991;\nexport const getToolResponseDataToolVersionsLatestMax = 9007199254740991;\n\nexport const getToolResponseDataToolVersionsLiveMin = -9007199254740991;\nexport const getToolResponseDataToolVersionsLiveMax = 9007199254740991;\n\nexport const getToolResponseDataToolVersionsTestMin = -9007199254740991;\nexport const getToolResponseDataToolVersionsTestMax = 9007199254740991;\n\n\n\nexport const GetToolResponse = zod.object({\n \"data\": zod.object({\n \"tool\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"description\": zod.string().optional(),\n \"code\": zod.string(),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"secret_ids\": zod.array(zod.string()).describe('Secrets attached to the tool. A tool with attached secrets takes its execution environment exclusively from the secret store, each secret arriving under its own env key.'),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(getToolResponseDataToolVersionsLatestMin).max(getToolResponseDataToolVersionsLatestMax).describe('Newest config version. The code, schema and secrets in this response are its snapshot.'),\n \"live\": zod.number().int().min(getToolResponseDataToolVersionsLiveMin).max(getToolResponseDataToolVersionsLiveMax).describe('Config version runs in the `live` environment execute.'),\n \"test\": zod.number().int().min(getToolResponseDataToolVersionsTestMin).max(getToolResponseDataToolVersionsTestMax).describe('Config version runs in the `test` environment execute.')\n})\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const UpdateToolParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\n\n\n\n\n\nexport const UpdateToolBody = zod.object({\n \"name\": zod.string().min(1).optional(),\n \"code\": zod.string().min(1).optional(),\n \"description\": zod.string().min(1).optional(),\n \"secret_ids\": zod.array(zod.string().uuid()).optional().describe('Replace the tool\\'s attached secret set. Omit to leave unchanged; pass [] to detach all.')\n})\n\nexport const updateToolResponseDataToolVersionsLatestMin = -9007199254740991;\nexport const updateToolResponseDataToolVersionsLatestMax = 9007199254740991;\n\nexport const updateToolResponseDataToolVersionsLiveMin = -9007199254740991;\nexport const updateToolResponseDataToolVersionsLiveMax = 9007199254740991;\n\nexport const updateToolResponseDataToolVersionsTestMin = -9007199254740991;\nexport const updateToolResponseDataToolVersionsTestMax = 9007199254740991;\n\n\n\nexport const UpdateToolResponse = zod.object({\n \"data\": zod.object({\n \"tool\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"description\": zod.string().optional(),\n \"code\": zod.string(),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"secret_ids\": zod.array(zod.string()).describe('Secrets attached to the tool. A tool with attached secrets takes its execution environment exclusively from the secret store, each secret arriving under its own env key.'),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(updateToolResponseDataToolVersionsLatestMin).max(updateToolResponseDataToolVersionsLatestMax).describe('Newest config version. The code, schema and secrets in this response are its snapshot.'),\n \"live\": zod.number().int().min(updateToolResponseDataToolVersionsLiveMin).max(updateToolResponseDataToolVersionsLiveMax).describe('Config version runs in the `live` environment execute.'),\n \"test\": zod.number().int().min(updateToolResponseDataToolVersionsTestMin).max(updateToolResponseDataToolVersionsTestMax).describe('Config version runs in the `test` environment execute.')\n})\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const ExecuteCodeParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const executeCodeBodyParamsDefault = {};\n\nexport const ExecuteCodeBody = zod.object({\n \"params\": zod.record(zod.string(), zod.unknown()).default(executeCodeBodyParamsDefault),\n \"environment\": zod.enum(['live', 'test']).optional().describe('Environment to run the tool in, which selects the secret values it receives. A worker run is pinned to its own environment; other callers default to live.')\n})\n\nexport const ExecuteCodeResponse = zod.object({\n \"data\": zod.object({\n \"result\": zod.string().optional(),\n \"error\": zod.object({\n \"name\": zod.string(),\n \"message\": zod.string()\n}).optional(),\n \"traces\": zod.array(zod.object({\n \"text\": zod.string(),\n \"timestamp\": zod.string()\n}))\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListToolVersionsParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const listToolVersionsQueryCountDefault = 50;\nexport const listToolVersionsQueryCountMax = 100;\n\nexport const listToolVersionsQueryOffsetDefault = 0;\nexport const listToolVersionsQueryOffsetMin = 0;\n\nexport const listToolVersionsQuerySortByDefault = `version`;\nexport const listToolVersionsQuerySortOrderDefault = `desc`;\n\nexport const ListToolVersionsQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listToolVersionsQueryCountMax).default(listToolVersionsQueryCountDefault),\n \"offset\": zod.number().min(listToolVersionsQueryOffsetMin).default(listToolVersionsQueryOffsetDefault),\n \"sort_by\": zod.enum(['version', 'created_at']).default(listToolVersionsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listToolVersionsQuerySortOrderDefault)\n})\n\nexport const listToolVersionsResponseDataItemVersionMin = -9007199254740991;\nexport const listToolVersionsResponseDataItemVersionMax = 9007199254740991;\n\nexport const listToolVersionsResponseMetaTotalMin = -9007199254740991;\nexport const listToolVersionsResponseMetaTotalMax = 9007199254740991;\n\n\n\nexport const ListToolVersionsResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"tool_id\": zod.string(),\n \"version\": zod.number().int().min(listToolVersionsResponseDataItemVersionMin).max(listToolVersionsResponseDataItemVersionMax),\n \"actor\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"changed_fields\": zod.array(zod.string())\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number().int().min(listToolVersionsResponseMetaTotalMin).max(listToolVersionsResponseMetaTotalMax)\n})\n})\n\n\nexport const getToolVersionPathVersionMax = 9007199254740991;\n\n\n\nexport const GetToolVersionParams = zod.object({\n \"id\": zod.string().uuid(),\n \"version\": zod.number().int().min(1).max(getToolVersionPathVersionMax)\n})\n\nexport const getToolVersionResponseDataVersionMin = -9007199254740991;\nexport const getToolVersionResponseDataVersionMax = 9007199254740991;\n\n\n\nexport const GetToolVersionResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true}),\n \"code\": zod.string(),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"description\": zod.string().optional(),\n \"secret_ids\": zod.array(zod.string()),\n \"version\": zod.number().int().min(getToolVersionResponseDataVersionMin).max(getToolVersionResponseDataVersionMax),\n \"version_created_at\": zod.string().datetime({\"offset\":true}),\n \"actor\": zod.string(),\n \"changed_fields\": zod.array(zod.string())\n}),\n \"message\": zod.string()\n})\n\n\nexport const promoteToolVersionPathVersionMax = 9007199254740991;\n\n\n\nexport const PromoteToolVersionParams = zod.object({\n \"id\": zod.string().uuid(),\n \"version\": zod.number().int().min(1).max(promoteToolVersionPathVersionMax)\n})\n\nexport const PromoteToolVersionBody = zod.object({\n \"environment\": zod.enum(['live', 'test'])\n})\n\nexport const promoteToolVersionResponseDataVersionMin = -9007199254740991;\nexport const promoteToolVersionResponseDataVersionMax = 9007199254740991;\n\n\n\nexport const PromoteToolVersionResponse = zod.object({\n \"data\": zod.object({\n \"version\": zod.number().int().min(promoteToolVersionResponseDataVersionMin).max(promoteToolVersionResponseDataVersionMax),\n \"environment\": zod.enum(['live', 'test'])\n}),\n \"message\": zod.string()\n})\n\n\nexport const getToolVersionChangeSummaryPathVersionMax = 9007199254740991;\n\n\n\nexport const GetToolVersionChangeSummaryParams = zod.object({\n \"id\": zod.string().uuid(),\n \"version\": zod.number().int().min(1).max(getToolVersionChangeSummaryPathVersionMax)\n})\n\nexport const GetToolVersionChangeSummaryResponse = zod.object({\n \"data\": zod.object({\n \"summary\": zod.string()\n}),\n \"message\": zod.string()\n})\n\n\nexport const workerListToolsQuerySortByDefault = `created_at`;\nexport const workerListToolsQuerySortOrderDefault = `desc`;\n\nexport const WorkerListToolsQueryParams = zod.object({\n \"sort_by\": zod.enum(['created_at', 'updated_at', 'name']).default(workerListToolsQuerySortByDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(workerListToolsQuerySortOrderDefault)\n})\n\nexport const workerListToolsResponseDataToolsItemVersionsLatestMin = -9007199254740991;\nexport const workerListToolsResponseDataToolsItemVersionsLatestMax = 9007199254740991;\n\nexport const workerListToolsResponseDataToolsItemVersionsLiveMin = -9007199254740991;\nexport const workerListToolsResponseDataToolsItemVersionsLiveMax = 9007199254740991;\n\nexport const workerListToolsResponseDataToolsItemVersionsTestMin = -9007199254740991;\nexport const workerListToolsResponseDataToolsItemVersionsTestMax = 9007199254740991;\n\n\n\nexport const WorkerListToolsResponse = zod.object({\n \"data\": zod.object({\n \"tools\": zod.array(zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"description\": zod.string().optional(),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(workerListToolsResponseDataToolsItemVersionsLatestMin).max(workerListToolsResponseDataToolsItemVersionsLatestMax).describe('Newest config version. The code, schema and secrets in this response are its snapshot.'),\n \"live\": zod.number().int().min(workerListToolsResponseDataToolsItemVersionsLiveMin).max(workerListToolsResponseDataToolsItemVersionsLiveMax).describe('Config version runs in the `live` environment execute.'),\n \"test\": zod.number().int().min(workerListToolsResponseDataToolsItemVersionsTestMin).max(workerListToolsResponseDataToolsItemVersionsTestMax).describe('Config version runs in the `test` environment execute.')\n})\n}))\n}),\n \"message\": zod.string()\n})\n\n\nexport const WorkerGetToolParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const workerGetToolResponseDataToolVersionsLatestMin = -9007199254740991;\nexport const workerGetToolResponseDataToolVersionsLatestMax = 9007199254740991;\n\nexport const workerGetToolResponseDataToolVersionsLiveMin = -9007199254740991;\nexport const workerGetToolResponseDataToolVersionsLiveMax = 9007199254740991;\n\nexport const workerGetToolResponseDataToolVersionsTestMin = -9007199254740991;\nexport const workerGetToolResponseDataToolVersionsTestMax = 9007199254740991;\n\n\n\nexport const WorkerGetToolResponse = zod.object({\n \"data\": zod.object({\n \"tool\": zod.object({\n \"id\": zod.string(),\n \"name\": zod.string(),\n \"description\": zod.string().optional(),\n \"code\": zod.string(),\n \"schema\": zod.record(zod.string(), zod.unknown()),\n \"secret_ids\": zod.array(zod.string()).describe('Secrets attached to the tool. A tool with attached secrets takes its execution environment exclusively from the secret store, each secret arriving under its own env key.'),\n \"versions\": zod.object({\n \"latest\": zod.number().int().min(workerGetToolResponseDataToolVersionsLatestMin).max(workerGetToolResponseDataToolVersionsLatestMax).describe('Newest config version. The code, schema and secrets in this response are its snapshot.'),\n \"live\": zod.number().int().min(workerGetToolResponseDataToolVersionsLiveMin).max(workerGetToolResponseDataToolVersionsLiveMax).describe('Config version runs in the `live` environment execute.'),\n \"test\": zod.number().int().min(workerGetToolResponseDataToolVersionsTestMin).max(workerGetToolResponseDataToolVersionsTestMax).describe('Config version runs in the `test` environment execute.')\n})\n})\n}),\n \"message\": zod.string()\n})\n\n\nexport const WorkerExecuteToolParams = zod.object({\n \"id\": zod.string().uuid()\n})\n\nexport const workerExecuteToolBodyParamsDefault = {};\n\nexport const WorkerExecuteToolBody = zod.object({\n \"params\": zod.record(zod.string(), zod.unknown()).default(workerExecuteToolBodyParamsDefault),\n \"environment\": zod.enum(['live', 'test']).optional().describe('Environment to run the tool in, which selects the secret values it receives. A worker run is pinned to its own environment; other callers default to live.')\n})\n\nexport const WorkerExecuteToolResponse = zod.object({\n \"data\": zod.object({\n \"result\": zod.string().optional(),\n \"error\": zod.object({\n \"name\": zod.string(),\n \"message\": zod.string()\n}).optional(),\n \"traces\": zod.array(zod.object({\n \"text\": zod.string(),\n \"timestamp\": zod.string()\n}))\n}),\n \"message\": zod.string()\n})\n\n\nexport const notifyAdminBodyMessageMax = 2000;\n\n\n\nexport const NotifyAdminBody = zod.object({\n \"message\": zod.string().min(1).max(notifyAdminBodyMessageMax).describe('What went wrong and what you need, in plain language. Write it for a person who is not watching this run: say what you were trying to do, what blocked you, and what you would need to continue.')\n})\n\nexport const NotifyAdminResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string().describe('Identifier of the report that was recorded')\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const UploadFileBody = zod.object({\n \"source_url\": zod.string().describe('URL of the file to upload. Accepts either a public HTTPS URL or an `avallon://artifact-upload/` URL returned by the Request a pre-signed URL for direct large file upload (POST /v1/artifacts/get-upload-url) endpoint.'),\n \"document_name\": zod.string().min(1),\n \"processing_options\": zod.object({\n \"file_password\": zod.string().optional(),\n \"file_splitting_enabled\": zod.boolean().optional()\n}).optional(),\n \"created_at_document\": zod.string().datetime({\"offset\":true}).optional(),\n \"metadata\": zod.record(zod.string(), zod.unknown()).optional()\n})\n\nexport const UploadFileResponse = zod.object({\n \"data\": zod.object({\n \"upload_id\": zod.string()\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const CreateAgentWebhookParams = zod.object({\n \"voiceAgentId\": zod.string().min(1)\n})\n\nexport const createAgentWebhookBodyNameMax = 256;\n\nexport const createAgentWebhookBodyUrlMax = 2048;\n\n\nexport const createAgentWebhookBodyAuthHeaderNameOneMax = 256;\n\nexport const createAgentWebhookBodyAuthHeaderValueOneMax = 2048;\n\n\n\nexport const CreateAgentWebhookBody = zod.object({\n \"name\": zod.string().min(1).max(createAgentWebhookBodyNameMax),\n \"url\": zod.string().url().max(createAgentWebhookBodyUrlMax),\n \"environments\": zod.array(zod.enum(['live', 'test'])).min(1).default([`live`]),\n \"auth_header_name\": zod.union([zod.string().max(createAgentWebhookBodyAuthHeaderNameOneMax),zod.null()]).optional(),\n \"auth_header_value\": zod.union([zod.string().max(createAgentWebhookBodyAuthHeaderValueOneMax),zod.null()]).optional(),\n \"enabled\": zod.boolean().optional()\n})\n\nexport const CreateAgentWebhookResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const ListAgentWebhooksParams = zod.object({\n \"voiceAgentId\": zod.string().min(1)\n})\n\nexport const ListAgentWebhooksQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Only return webhooks that receive events from this environment. Webhooks configured for both environments match either value.')\n})\n\nexport const ListAgentWebhooksResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const CreateInboxWebhookParams = zod.object({\n \"inboxId\": zod.string().min(1)\n})\n\nexport const createInboxWebhookBodyNameMax = 256;\n\nexport const createInboxWebhookBodyUrlMax = 2048;\n\n\nexport const createInboxWebhookBodyAuthHeaderNameOneMax = 256;\n\nexport const createInboxWebhookBodyAuthHeaderValueOneMax = 2048;\n\n\n\nexport const CreateInboxWebhookBody = zod.object({\n \"name\": zod.string().min(1).max(createInboxWebhookBodyNameMax),\n \"url\": zod.string().url().max(createInboxWebhookBodyUrlMax),\n \"environments\": zod.array(zod.enum(['live', 'test'])).min(1).default([`live`]),\n \"auth_header_name\": zod.union([zod.string().max(createInboxWebhookBodyAuthHeaderNameOneMax),zod.null()]).optional(),\n \"auth_header_value\": zod.union([zod.string().max(createInboxWebhookBodyAuthHeaderValueOneMax),zod.null()]).optional(),\n \"enabled\": zod.boolean().optional()\n})\n\nexport const CreateInboxWebhookResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const ListInboxWebhooksParams = zod.object({\n \"inboxId\": zod.string().min(1)\n})\n\nexport const ListInboxWebhooksQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Only return webhooks that receive events from this environment. Webhooks configured for both environments match either value.')\n})\n\nexport const ListInboxWebhooksResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const CreateExtractorWebhookParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const createExtractorWebhookBodyNameMax = 256;\n\nexport const createExtractorWebhookBodyUrlMax = 2048;\n\n\nexport const createExtractorWebhookBodyAuthHeaderNameOneMax = 256;\n\nexport const createExtractorWebhookBodyAuthHeaderValueOneMax = 2048;\n\n\n\nexport const CreateExtractorWebhookBody = zod.object({\n \"name\": zod.string().min(1).max(createExtractorWebhookBodyNameMax),\n \"url\": zod.string().url().max(createExtractorWebhookBodyUrlMax),\n \"environments\": zod.array(zod.enum(['live', 'test'])).min(1).default([`live`]),\n \"auth_header_name\": zod.union([zod.string().max(createExtractorWebhookBodyAuthHeaderNameOneMax),zod.null()]).optional(),\n \"auth_header_value\": zod.union([zod.string().max(createExtractorWebhookBodyAuthHeaderValueOneMax),zod.null()]).optional(),\n \"enabled\": zod.boolean().optional()\n})\n\nexport const CreateExtractorWebhookResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const ListWebhooksParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const ListWebhooksQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Only return webhooks that receive events from this environment. Webhooks configured for both environments match either value.')\n})\n\nexport const ListWebhooksResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string()\n})\n\n\nexport const createNotificationWebhookBodyNameMax = 256;\n\nexport const createNotificationWebhookBodyUrlMax = 2048;\n\n\nexport const createNotificationWebhookBodyAuthHeaderNameOneMax = 256;\n\nexport const createNotificationWebhookBodyAuthHeaderValueOneMax = 2048;\n\n\n\nexport const CreateNotificationWebhookBody = zod.object({\n \"name\": zod.string().min(1).max(createNotificationWebhookBodyNameMax),\n \"url\": zod.string().url().max(createNotificationWebhookBodyUrlMax),\n \"environments\": zod.array(zod.enum(['live', 'test'])).min(1).default([`live`]),\n \"auth_header_name\": zod.union([zod.string().max(createNotificationWebhookBodyAuthHeaderNameOneMax),zod.null()]).optional(),\n \"auth_header_value\": zod.union([zod.string().max(createNotificationWebhookBodyAuthHeaderValueOneMax),zod.null()]).optional(),\n \"enabled\": zod.boolean().optional()\n})\n\nexport const CreateNotificationWebhookResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\nexport const ListNotificationWebhooksQueryParams = zod.object({\n \"environment\": zod.enum(['live', 'test']).optional().describe('Only return webhooks that receive events from this environment. Webhooks configured for both environments match either value.')\n})\n\nexport const ListNotificationWebhooksResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const DeleteWebhookParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const DeleteWebhookResponse = zod.object({\n \"data\": zod.object({\n\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const GetWebhookParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const GetWebhookResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const UpdateWebhookParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const updateWebhookBodyNameMax = 256;\n\nexport const updateWebhookBodyUrlMax = 2048;\n\n\nexport const updateWebhookBodyAuthOneHeaderNameMax = 256;\n\nexport const updateWebhookBodyAuthOneHeaderValueMax = 2048;\n\n\n\nexport const UpdateWebhookBody = zod.object({\n \"name\": zod.string().min(1).max(updateWebhookBodyNameMax).optional(),\n \"url\": zod.string().url().max(updateWebhookBodyUrlMax).optional(),\n \"environments\": zod.array(zod.enum(['live', 'test'])).min(1).optional(),\n \"enabled\": zod.boolean().optional(),\n \"auth\": zod.union([zod.object({\n \"header_name\": zod.string().min(1).max(updateWebhookBodyAuthOneHeaderNameMax),\n \"header_value\": zod.string().min(1).max(updateWebhookBodyAuthOneHeaderValueMax)\n}),zod.null()]).optional()\n})\n\nexport const UpdateWebhookResponse = zod.object({\n \"data\": zod.object({\n \"id\": zod.string(),\n \"scope\": zod.union([zod.object({\n \"extractor_id\": zod.string()\n}),zod.object({\n \"call_agent_id\": zod.string()\n}),zod.object({\n \"inbox_id\": zod.string()\n}),zod.object({\n \"worker_id\": zod.string()\n}),zod.object({\n \"notifications\": zod.literal(true)\n}).describe('The organization\\'s notification feed, not a resource')]),\n \"name\": zod.string(),\n \"url\": zod.string(),\n \"auth_header_name\": zod.union([zod.string(),zod.null()]),\n \"has_auth\": zod.boolean(),\n \"enabled\": zod.boolean(),\n \"environments\": zod.array(zod.enum(['live', 'test'])),\n \"created_at\": zod.string().datetime({\"offset\":true}),\n \"updated_at\": zod.string().datetime({\"offset\":true})\n}),\n \"message\": zod.string()\n})\n\n\n\n\n\nexport const ListWebhookDeliveriesParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const listWebhookDeliveriesQueryCountDefault = 50;\nexport const listWebhookDeliveriesQueryCountMax = 100;\n\nexport const listWebhookDeliveriesQueryOffsetDefault = 0;\nexport const listWebhookDeliveriesQueryOffsetMin = 0;\n\nexport const listWebhookDeliveriesQuerySortOrderDefault = `desc`;\n\nexport const ListWebhookDeliveriesQueryParams = zod.object({\n \"count\": zod.number().min(1).max(listWebhookDeliveriesQueryCountMax).default(listWebhookDeliveriesQueryCountDefault),\n \"offset\": zod.number().min(listWebhookDeliveriesQueryOffsetMin).default(listWebhookDeliveriesQueryOffsetDefault),\n \"sort_order\": zod.enum(['asc', 'desc']).default(listWebhookDeliveriesQuerySortOrderDefault)\n})\n\nexport const ListWebhookDeliveriesResponse = zod.object({\n \"data\": zod.array(zod.object({\n \"id\": zod.string(),\n \"webhook_id\": zod.string(),\n \"event_type\": zod.string(),\n \"event_id\": zod.union([zod.string(),zod.null()]),\n \"status_code\": zod.union([zod.number(),zod.null()]),\n \"duration_ms\": zod.union([zod.number(),zod.null()]),\n \"error_message\": zod.union([zod.string(),zod.null()]),\n \"created_at\": zod.string().datetime({\"offset\":true})\n})),\n \"message\": zod.string(),\n \"meta\": zod.object({\n \"total\": zod.number()\n})\n})\n\n\n\n\n\nexport const TestWebhookParams = zod.object({\n \"id\": zod.string().min(1)\n})\n\nexport const testWebhookBodyEnvironmentDefault = `live`;\n\nexport const TestWebhookBody = zod.object({\n \"environment\": zod.enum(['live', 'test']).default(testWebhookBodyEnvironmentDefault).describe('The environment to stamp on the test payload.')\n})\n\nexport const TestWebhookResponse = zod.object({\n \"data\": zod.object({\n \"success\": zod.boolean(),\n \"status_code\": zod.union([zod.number(),zod.null()]),\n \"duration_ms\": zod.number(),\n \"error\": zod.union([zod.string(),zod.null()])\n}),\n \"message\": zod.string()\n})\n\n"],"mappings":";;;AAOA;AAAA,EACE;AAAA,OAEK;AAEP;AAAA,EACE;AAAA,OACK;;;ACkTA,IAAM,wBAAwB,CAAC,WAAoC;AACxE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,oBAAoB,iBAAiB,KAAK;AAClF;AAiBO,IAAM,kBAAkB,OAAO,QAAgC,YAA4D;AAEhI,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,MAAM;AAAA,IACpD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,yBAAyB,MAAM;AAK1C,SAAO;AACT;AAiBO,IAAM,mBAAmB,OAAO,sBAA6C,YAA6D;AAE7I,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB;AAAA,IAC7C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,oBAAoB;AAAA,IAC3C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,sBAAsB,CAAC,iBAA0B;AAK5D,SAAO,oBAAoB,YAAY;AACzC;AASO,IAAM,gBAAgB,OAAO,cAAsB,YAA0D;AAElH,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB,YAAY;AAAA,IACxD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,yBAAyB,CAAC,iBAA0B;AAK/D,SAAO,oBAAoB,YAAY;AACzC;AAgBO,IAAM,mBAAmB,OAAO,cACnC,sBAA6C,YAA6D;AAE1G,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,YAAY;AAAA,IACzD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,oBAAoB;AAAA,IAC3C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,yBAAyB,CAAC,iBAA0B;AAK/D,SAAO,oBAAoB,YAAY;AACzC;AAMO,IAAM,mBAAmB,OAAO,cAAsB,YAA6D;AAExH,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,YAAY;AAAA,IAC3D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,+BAA+B,CAAC,cACzC,WAA2C;AAC7C,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,oBAAoB,YAAY,aAAa,iBAAiB,KAAK,oBAAoB,YAAY;AAC3I;AAMO,IAAM,yBAAyB,OAAO,cACzC,QAAuC,YAAmE;AAE5G,QAAM,MAAM,MAAM;AAAA,IAAM,6BAA6B,cAAa,MAAM;AAAA,IACxE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,6BAA6B,CAAC,cACvC,YAAqB;AAKvB,SAAO,oBAAoB,YAAY,aAAa,OAAO;AAC7D;AAMO,IAAM,uBAAuB,OAAO,cACvC,SAAiB,YAAiE;AAEpF,QAAM,MAAM,MAAM;AAAA,IAAM,2BAA2B,cAAa,OAAO;AAAA,IACvE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA6C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC9E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,iCAAiC,CAAC,cAC3C,YAAqB;AAKvB,SAAO,oBAAoB,YAAY,aAAa,OAAO;AAC7D;AAMO,IAAM,2BAA2B,OAAO,cAC3C,SACA,8BAA6D,YAAqE;AAElI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,+BAA+B,cAAa,OAAO;AAAA,IACzE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,4BAA4B;AAAA,IACnD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAiD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAClF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,0CAA0C,CAAC,cACpD,YAAqB;AAKvB,SAAO,oBAAoB,YAAY,aAAa,OAAO;AAC7D;AAMO,IAAM,oCAAoC,OAAO,cACpD,SAAiB,YAA8E;AAEjG,QAAM,MAAM,MAAM;AAAA,IAAM,wCAAwC,cAAa,OAAO;AAAA,IACpF;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA0D,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC3F,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,kCAAkC,CAAC,iBAA0B;AAKxE,SAAO,oBAAoB,YAAY;AACzC;AASO,IAAM,4BAA4B,OAAO,cAAsB,YAAsE;AAE1I,QAAM,MAAM,MAAM;AAAA,IAAM,gCAAgC,YAAY;AAAA,IACpE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,4BAA4B,CAAC,cACtC,WAAwC;AAC1C,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,oBAAoB,YAAY,WAAW,iBAAiB,KAAK,oBAAoB,YAAY;AACzI;AAMO,IAAM,sBAAsB,OAAO,cACtC,QAAoC,YAAgE;AAEtG,QAAM,MAAM,MAAM;AAAA,IAAM,0BAA0B,cAAa,MAAM;AAAA,IACrE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA4C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC7E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,+BAA+B,CAAC,iBAA0B;AAKrE,SAAO,oBAAoB,YAAY;AACzC;AAMO,IAAM,yBAAyB,OAAO,cACzC,4BAAyD,YAAmE;AAE5H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,6BAA6B,YAAY;AAAA,IAC/D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,0BAA0B;AAAA,IACjD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,+BAA+B,CAAC,iBAA0B;AAKrE,SAAO,oBAAoB,YAAY;AACzC;AASO,IAAM,yBAAyB,OAAO,cACzC,4BAAyD,YAAmE;AAE5H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,6BAA6B,YAAY;AAAA,IAC/D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,0BAA0B;AAAA,IACjD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,iBAA0B;AAKjE,SAAO,oBAAoB,YAAY;AACzC;AAWO,IAAM,qBAAqB,OAAO,cACrC,wBAAiD,YAA+D;AAEhH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,YAAY;AAAA,IAC3D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,sBAAsB;AAAA,IAC7C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oBAAoB,CAAC,iBAA0B;AAK1D,SAAO,oBAAoB,YAAY;AACzC;AAmBO,IAAM,cAAc,OAAO,cAC9B,iBAAmC,YAAwD;AAE3F,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,YAAY;AAAA,IACpD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,eAAe;AAAA,IACtC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,iBAAiB,CAAC,WAA4B;AACzD,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAM,oBAAoB,CAAC,QAAQ;AAEnC,QAAI,MAAM,QAAQ,KAAK,KAAK,kBAAkB,SAAS,GAAG,GAAG;AAC3D,YAAM,QAAQ,CAAC,MAAM;AACnB,yBAAiB,OAAO,KAAK,MAAM,OAAO,SAAS,OAAO,CAAC,CAAC;AAAA,MAC9D,CAAC;AACD;AAAA,IACF;AAEA,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,yBAAyB,iBAAiB,KAAK;AACvF;AAcO,IAAM,WAAW,OAAO,QAAwB,YAAqD;AAE1G,QAAM,MAAM,MAAM;AAAA,IAAM,eAAe,MAAM;AAAA,IAC7C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAiC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAClE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,kBAAkB,CAAC,UAAmB;AAKjD,SAAO,yBAAyB,KAAK;AACvC;AASO,IAAM,YAAY,OAAO,OAAe,YAAsD;AAEnG,QAAM,MAAM,MAAM;AAAA,IAAM,gBAAgB,KAAK;AAAA,IAC7C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,oBAAoB,CAAC,WAAgC;AAChE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,sBAAsB,iBAAiB,KAAK;AACpF;AAUO,IAAM,cAAc,OAAO,QAA4B,YAAwD;AAEpH,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,MAAM;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,qBAAqB,MAAM;AAKtC,SAAO;AACT;AAUO,IAAM,eAAe,OAAO,kBAAqC,YAAyD;AAE7H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB;AAAA,IACzC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,OAAgB;AAKjD,SAAO,sBAAsB,EAAE;AACjC;AAUO,IAAM,eAAe,OAAO,IAAY,YAAyD;AAEtG,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,EAAE;AAAA,IAC7C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,OAAgB;AAKjD,SAAO,sBAAsB,EAAE;AACjC;AAQO,IAAM,eAAe,OAAO,IAC/B,kBAAqC,YAAyD;AAE9F,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,EAAE;AAAA,IAC3C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,uBAAuB,MAAM;AAKxC,SAAO;AACT;AAeO,IAAM,iBAAiB,OAAO,oBAAyC,YAA2D;AAErI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB;AAAA,IAC3C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,kBAAkB;AAAA,IACzC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,sBAAsB,CAAC,WAAkC;AACpE,QAAM,mBAAmB,IAAI,gBAAgB;AAC7C,QAAM,oBAA8B,CAAC;AAErC,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAM,uBAAuB,CAAC,UAAU;AAExC,QAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,qBAAqB,SAAS,GAAG,GAAG;AAC9G,aAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,QAAQ,MAAM;AACpD,YAAI,aAAa,QAAW;AAC1B,4BAAkB,KAAK,mBAAmB,GAAG,IAAI,MAAM,mBAAmB,MAAM,IAAI,QAAQ,aAAa,OAAO,SAAS,mBAAmB,OAAO,QAAQ,CAAC,EAAE;AAAA,QAChK;AAAA,MACF,CAAC;AACD;AAAA,IACF;AAEA,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,CAAC,iBAAiB,SAAS,GAAG,kBAAkB,KAAK,GAAG,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAE7G,SAAO,kBAAkB,SAAS,IAAI,iBAAiB,iBAAiB,KAAK;AAC/E;AAoBO,IAAM,gBAAgB,OAAO,QAA8B,YAA0D;AAE1H,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB,MAAM;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oBAAoB,CAAC,OAAgB;AAKhD,SAAO,iBAAiB,EAAE;AAC5B;AAQO,IAAM,cAAc,OAAO,IAAY,YAAwD;AAEpG,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,EAAE;AAAA,IAC5C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,uBAAuB,CAAC,OAAgB;AAKnD,SAAO,iBAAiB,EAAE;AAC5B;AAMO,IAAM,iBAAiB,OAAO,IAAY,YAA2D;AAE1G,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,EAAE;AAAA,IAC/C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,gCAAgC,CAAC,WAA4C;AACxF,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,+BAA+B,iBAAiB,KAAK;AAC7F;AAMO,IAAM,0BAA0B,OAAO,QAAwC,YAAoE;AAExJ,QAAM,MAAM,MAAM;AAAA,IAAM,8BAA8B,MAAM;AAAA,IAC5D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAgD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACjF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,iCAAiC,CAAC,WAA4C;AACzF,QAAM,mBAAmB,IAAI,gBAAgB;AAC7C,QAAM,oBAA8B,CAAC;AAErC,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAM,uBAAuB,CAAC,OAAO;AAErC,QAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,qBAAqB,SAAS,GAAG,GAAG;AAC9G,aAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,QAAQ,MAAM;AACpD,YAAI,aAAa,QAAW;AAC1B,4BAAkB,KAAK,mBAAmB,GAAG,IAAI,MAAM,mBAAmB,MAAM,IAAI,QAAQ,aAAa,OAAO,SAAS,mBAAmB,OAAO,QAAQ,CAAC,EAAE;AAAA,QAChK;AAAA,MACF,CAAC;AACD;AAAA,IACF;AAAA,EAGF,CAAC;AAED,QAAM,oBAAoB,CAAC,iBAAiB,SAAS,GAAG,kBAAkB,KAAK,GAAG,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAE7G,SAAO,kBAAkB,SAAS,IAAI,gCAAgC,iBAAiB,KAAK;AAC9F;AAQO,IAAM,2BAA2B,OAAO,QAAwC,YAAqE;AAE1J,QAAM,MAAM,MAAM;AAAA,IAAM,+BAA+B,MAAM;AAAA,IAC7D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAiD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAClF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,6BAA6B,MAAM;AAK9C,SAAO;AACT;AAMO,IAAM,uBAAuB,OAAO,0BAAqD,YAAiE;AAE7J,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,2BAA2B;AAAA,IACjD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,wBAAwB;AAAA,IAC/C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA6C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC9E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,+BAA+B,CAAC,OAAgB;AAK3D,SAAO,iBAAiB,EAAE;AAC5B;AAMO,IAAM,yBAAyB,OAAO,IACzC,4BAAyD,YAAmE;AAE5H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,6BAA6B,EAAE;AAAA,IACrD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,0BAA0B;AAAA,IACjD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,eAAe,MAAM;AAKhC,SAAO;AACT;AAMO,IAAM,SAAS,OAAO,YAAyB,YAAmD;AAErG,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,aAAa;AAAA,IACnC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,UAAU;AAAA,IACjC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+B,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,eAAe,MAAM;AAKhC,SAAO;AACT;AAUO,IAAM,SAAS,OAAO,YAAyB,YAAmD;AAErG,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,aAAa;AAAA,IACnC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,UAAU;AAAA,IACjC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+B,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,6BAA6B,MAAM;AAK9C,SAAO;AACT;AAMO,IAAM,uBAAuB,OAAO,0BAAqD,YAAiE;AAE7J,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,2BAA2B;AAAA,IACjD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,wBAAwB;AAAA,IAC/C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA6C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC9E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,sBAAsB,MAAM;AAKvC,SAAO;AACT;AAMO,IAAM,gBAAgB,OAAO,mBAAuC,YAA0D;AAEjI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB;AAAA,IAC1C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,iBAAiB;AAAA,IACxC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,qBAAqB,MAAM;AAKtC,SAAO;AACT;AAMO,IAAM,eAAe,OAAO,kBAAqC,YAAyD;AAE7H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB;AAAA,IACzC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,oBAAoB,CAAC,WAA+B;AAC/D,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,sBAAsB,iBAAiB,KAAK;AACpF;AAUO,IAAM,cAAc,OAAO,QAA2B,YAAwD;AAEnH,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,MAAM;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,wBAAwB,MAAM;AAKzC,SAAO;AACT;AAUO,IAAM,kBAAkB,OAAO,qBAA2C,YAA4D;AAEzI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB;AAAA,IAC5C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,mBAAmB;AAAA,IAC1C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,uBAAuB,CAAC,YAAqB;AAKxD,SAAO,yBAAyB,OAAO;AACzC;AAMO,IAAM,iBAAiB,OAAO,SAAiB,YAA2D;AAE/G,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,OAAO;AAAA,IACpD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAoCO,IAAM,sBAAsB,CAAC,WAAkC;AACpE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,2BAA2B,iBAAiB,KAAK;AACzF;AAMO,IAAM,gBAAgB,OAAO,QAA8B,YAA0D;AAE1H,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB,MAAM;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,kBAAkB,CAAC,WAA8B;AAC5D,QAAM,mBAAmB,IAAI,gBAAgB;AAC7C,QAAM,oBAA8B,CAAC;AAErC,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAM,uBAAuB,CAAC,UAAU;AAExC,QAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,qBAAqB,SAAS,GAAG,GAAG;AAC9G,aAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,QAAQ,MAAM;AACpD,YAAI,aAAa,QAAW;AAC1B,4BAAkB,KAAK,mBAAmB,GAAG,IAAI,MAAM,mBAAmB,MAAM,IAAI,QAAQ,aAAa,OAAO,SAAS,mBAAmB,OAAO,QAAQ,CAAC,EAAE;AAAA,QAChK;AAAA,MACF,CAAC;AACD;AAAA,IACF;AAEA,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,CAAC,iBAAiB,SAAS,GAAG,kBAAkB,KAAK,GAAG,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAE7G,SAAO,kBAAkB,SAAS,IAAI,aAAa,iBAAiB,KAAK;AAC3E;AAwBO,IAAM,YAAY,OAAO,QAA0B,YAAsD;AAE9G,QAAM,MAAM,MAAM;AAAA,IAAM,gBAAgB,MAAM;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,gBAAgB,CAAC,IAC1B,WAA4B;AAC9B,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,EAAE,IAAI,iBAAiB,KAAK,aAAa,EAAE;AAChG;AAQO,IAAM,UAAU,OAAO,IAC1B,QAAwB,YAAoD;AAE9E,QAAM,MAAM,MAAM;AAAA,IAAM,cAAc,IAAG,MAAM;AAAA,IAC/C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAgC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACjE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,0BAA0B,CAAC,OAAgB;AAKtD,SAAO,aAAa,EAAE;AACxB;AAMO,IAAM,oBAAoB,OAAO,IAAY,YAA8D;AAEhH,QAAM,MAAM,MAAM;AAAA,IAAM,wBAAwB,EAAE;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA0C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC3E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,yBAAyB,CAAC,WAAoC;AACzE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,uBAAuB,iBAAiB,KAAK;AACrF;AAQO,IAAM,mBAAmB,OAAO,QAAgC,YAA6D;AAElI,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,MAAM;AAAA,IACrD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,+BAA+B,CAAC,WAA0C;AACrF,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,4BAA4B,iBAAiB,KAAK;AAC1F;AAUO,IAAM,yBAAyB,OAAO,QAAsC,YAAmE;AAEpJ,QAAM,MAAM,MAAM;AAAA,IAAM,6BAA6B,MAAM;AAAA,IAC3D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,OAAgB;AAKvD,SAAO,aAAa,EAAE;AACxB;AAMO,IAAM,qBAAqB,OAAO,IACrC,uBAA+C,YAA+D;AAE9G,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,EAAE;AAAA,IACjD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,qBAAqB;AAAA,IAC5C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,yBAAyB,CAAC,IACnC,WAAqC;AACvC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,EAAE,aAAa,iBAAiB,KAAK,aAAa,EAAE;AACzG;AAMO,IAAM,mBAAmB,OAAO,IACnC,QAAiC,YAA6D;AAEhG,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,IAAG,MAAM;AAAA,IACxD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,IACrC,eAAwB;AAK1B,SAAO,aAAa,EAAE,aAAa,UAAU;AAC/C;AAMO,IAAM,qBAAqB,OAAO,IACrC,YAAoB,YAA+D;AAErF,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,IAAG,UAAU;AAAA,IAC9D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,+BAA+B,CAAC,WAA0C;AACrF,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,4BAA4B,iBAAiB,KAAK;AAC1F;AASO,IAAM,yBAAyB,OAAO,QAAsC,YAAmE;AAEpJ,QAAM,MAAM,MAAM;AAAA,IAAM,6BAA6B,MAAM;AAAA,IAC3D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,oBAAoB,MAAM;AAKrC,SAAO;AACT;AAaO,IAAM,cAAc,OAAO,iBAAmC,YAAwD;AAEzH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB;AAAA,IACxC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,eAAe;AAAA,IACtC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,oBAAoB,CAAC,WAAgC;AAChE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,eAAe,iBAAiB,KAAK;AAC7E;AASO,IAAM,cAAc,OAAO,QAA4B,YAAwD;AAEpH,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,MAAM;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oBAAoB,CAAC,YAAqB;AAKrD,SAAO,eAAe,OAAO;AAC/B;AASO,IAAM,cAAc,OAAO,SAC9B,iBAAmC,YAAwD;AAE3F,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,OAAO;AAAA,IAC/C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,eAAe;AAAA,IACtC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oBAAoB,CAAC,YAAqB;AAKrD,SAAO,eAAe,OAAO;AAC/B;AAMO,IAAM,cAAc,OAAO,SAAiB,YAAwD;AAEzG,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,OAAO;AAAA,IACjD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,iBAAiB,CAAC,YAAqB;AAKlD,SAAO,cAAc,OAAO;AAC9B;AAMO,IAAM,WAAW,OAAO,SAAiB,YAAqD;AAEnG,QAAM,MAAM,MAAM;AAAA,IAAM,eAAe,OAAO;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAiC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAClE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oBAAoB,CAAC,YAAqB;AAKrD,SAAO,cAAc,OAAO;AAC9B;AAMO,IAAM,cAAc,OAAO,SAAiB,YAAwD;AAEzG,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,OAAO;AAAA,IACjD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,mBAAmB,CAAC,WAA+B;AAC9D,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,cAAc,iBAAiB,KAAK;AAC5E;AAUO,IAAM,aAAa,OAAO,QAA2B,YAAuD;AAEjH,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB,MAAM;AAAA,IAC/C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,yBAAyB,CAAC,WAAqC;AAC1E,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,sBAAsB,iBAAiB,KAAK;AACpF;AAUO,IAAM,mBAAmB,OAAO,QAAiC,YAA6D;AAEnI,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,MAAM;AAAA,IACrD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,YAAqB;AAKtD,SAAO,cAAc,OAAO;AAC9B;AAUO,IAAM,eAAe,OAAO,SAC/B,kBAAqC,YAAyD;AAE9F,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,OAAO;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,kBAAkB,MAAM;AAKnC,SAAO;AACT;AAQO,IAAM,YAAY,OAAO,eAA+B,YAAsD;AAEjH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,gBAAgB;AAAA,IACtC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,aAAa;AAAA,IACpC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,0BAA0B,CAAC,WAAsC;AAC5E,QAAM,mBAAmB,IAAI,gBAAgB;AAC7C,QAAM,oBAA8B,CAAC;AAErC,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAM,uBAAuB,CAAC,OAAO;AAErC,QAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,qBAAqB,SAAS,GAAG,GAAG;AAC9G,aAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,QAAQ,MAAM;AACpD,YAAI,aAAa,QAAW;AAC1B,4BAAkB,KAAK,mBAAmB,GAAG,IAAI,MAAM,mBAAmB,MAAM,IAAI,QAAQ,aAAa,OAAO,SAAS,mBAAmB,OAAO,QAAQ,CAAC,EAAE;AAAA,QAChK;AAAA,MACF,CAAC;AACD;AAAA,IACF;AAEA,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,CAAC,iBAAiB,SAAS,GAAG,kBAAkB,KAAK,GAAG,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAE7G,SAAO,kBAAkB,SAAS,IAAI,sBAAsB,iBAAiB,KAAK;AACpF;AAeO,IAAM,oBAAoB,OAAO,QAAkC,YAA8D;AAEtI,QAAM,MAAM,MAAM;AAAA,IAAM,wBAAwB,MAAM;AAAA,IACtD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA0C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC3E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,2BAA2B,MAAM;AAK5C,SAAO;AACT;AAQO,IAAM,qBAAqB,OAAO,wBAAiD,YAA+D;AAErJ,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB;AAAA,IAC/C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,sBAAsB;AAAA,IAC7C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,OAAgB;AAKpD,SAAO,sBAAsB,EAAE;AACjC;AAMO,IAAM,kBAAkB,OAAO,IAAY,YAA4D;AAE5G,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,EAAE;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,uBAAuB,CAAC,WAAmC;AACtE,QAAM,mBAAmB,IAAI,gBAAgB;AAC7C,QAAM,oBAA8B,CAAC;AAErC,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAM,uBAAuB,CAAC,OAAO;AAErC,QAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,qBAAqB,SAAS,GAAG,GAAG;AAC9G,aAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,QAAQ,MAAM;AACpD,YAAI,aAAa,QAAW;AAC1B,4BAAkB,KAAK,mBAAmB,GAAG,IAAI,MAAM,mBAAmB,MAAM,IAAI,QAAQ,aAAa,OAAO,SAAS,mBAAmB,OAAO,QAAQ,CAAC,EAAE;AAAA,QAChK;AAAA,MACF,CAAC;AACD;AAAA,IACF;AAEA,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,CAAC,iBAAiB,SAAS,GAAG,kBAAkB,KAAK,GAAG,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAE7G,SAAO,kBAAkB,SAAS,IAAI,mBAAmB,iBAAiB,KAAK;AACjF;AAcO,IAAM,iBAAiB,OAAO,QAA+B,YAA2D;AAE7H,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,MAAM;AAAA,IACnD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,wBAAwB,MAAM;AAKzC,SAAO;AACT;AAUO,IAAM,kBAAkB,OAAO,qBAA2C,YAA4D;AAEzI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB;AAAA,IAC5C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,mBAAmB;AAAA,IAC1C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,gBAAyB;AAK1D,SAAO,mBAAmB,WAAW;AACvC;AAMO,IAAM,eAAe,OAAO,aAAqB,YAAyD;AAE/G,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,WAAW;AAAA,IACtD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,8BAA8B,CAAC,aACxC,WAA0C;AAC5C,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,mBAAmB,WAAW,aAAa,iBAAiB,KAAK,mBAAmB,WAAW;AACvI;AAMO,IAAM,wBAAwB,OAAO,aACxC,QAAsC,YAAkE;AAE1G,QAAM,MAAM,MAAM;AAAA,IAAM,4BAA4B,aAAY,MAAM;AAAA,IACtE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA8C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC/E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,gBAAyB;AAK7D,SAAO,mBAAmB,WAAW;AACvC;AAMO,IAAM,kBAAkB,OAAO,aAAqB,YAA4D;AAErH,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,WAAW;AAAA,IACzD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,gCAAgC,CAAC,gBAAyB;AAKrE,SAAO,mBAAmB,WAAW;AACvC;AAMO,IAAM,0BAA0B,OAAO,aAC1C,6BAA2D,YAAoE;AAE/H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,8BAA8B,WAAW;AAAA,IAC/D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,2BAA2B;AAAA,IAClD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAgD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACjF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,gBAAgB,CAAC,WAAoB;AAKhD,SAAO,aAAa,MAAM;AAC5B;AAMO,IAAM,UAAU,OAAO,QAC1B,aAA2B,YAAoD;AAE/E,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,cAAc,MAAM;AAAA,IAC1C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,WAAW;AAAA,IAClC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAgC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACjE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,mBAAmB,CAAC,cAAuB;AAKtD,SAAO,iBAAiB,SAAS;AACnC;AAMO,IAAM,aAAa,OAAO,WAAmB,YAAuD;AAEzG,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB,SAAS;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,wBAAwB,MAAM;AAKzC,SAAO;AACT;AAMO,IAAM,kBAAkB,OAAO,qBAA2C,YAA4D;AAEzI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB;AAAA,IAC5C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,mBAAmB;AAAA,IAC1C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,uBAAuB,CAAC,WAAmC;AACtE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,kBAAkB,iBAAiB,KAAK;AAChF;AAQO,IAAM,iBAAiB,OAAO,QAA+B,YAA2D;AAE7H,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,MAAM;AAAA,IACnD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,OAAgB;AAKjD,SAAO,kBAAkB,EAAE;AAC7B;AAMO,IAAM,eAAe,OAAO,IAAY,YAAyD;AAEtG,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,EAAE;AAAA,IAC7C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,OAAgB;AAKpD,SAAO,kBAAkB,EAAE;AAC7B;AAMO,IAAM,kBAAkB,OAAO,IAClC,qBAA2C,YAA4D;AAEvG,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,EAAE;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,mBAAmB;AAAA,IAC1C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,OAAgB;AAKpD,SAAO,kBAAkB,EAAE;AAC7B;AAMO,IAAM,kBAAkB,OAAO,IAAY,YAA4D;AAE5G,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,EAAE;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,qBAAqB,MAAM;AAKtC,SAAO;AACT;AAMO,IAAM,eAAe,OAAO,kBAAqC,YAAyD;AAE7H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB;AAAA,IACzC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,oBAAoB,CAAC,WAAgC;AAChE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,eAAe,iBAAiB,KAAK;AAC7E;AAQO,IAAM,cAAc,OAAO,QAA4B,YAAwD;AAEpH,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,MAAM;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,kBAAkB,CAAC,aAAsB;AAKpD,SAAO,eAAe,QAAQ;AAChC;AAMO,IAAM,YAAY,OAAO,UAAkB,YAAsD;AAEtG,QAAM,MAAM,MAAM;AAAA,IAAM,gBAAgB,QAAQ;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,aAAsB;AAKvD,SAAO,eAAe,QAAQ;AAChC;AAMO,IAAM,eAAe,OAAO,UAAkB,YAAyD;AAE5G,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,QAAQ;AAAA,IACnD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,aAAsB;AAKvD,SAAO,eAAe,QAAQ;AAChC;AAMO,IAAM,eAAe,OAAO,UAC/B,kBAAqC,YAAyD;AAE9F,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,QAAQ;AAAA,IACjD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,UAClC,WAAoC;AACtC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,eAAe,QAAQ,WAAW,iBAAiB,KAAK,eAAe,QAAQ;AACvH;AAMO,IAAM,kBAAkB,OAAO,UAClC,QAAgC,YAA4D;AAE9F,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,UAAS,MAAM;AAAA,IAC7D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,aAAsB;AAK7D,SAAO,eAAe,QAAQ;AAChC;AAMO,IAAM,qBAAqB,OAAO,UACrC,wBAAiD,YAA+D;AAEhH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,QAAQ;AAAA,IACvD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,sBAAsB;AAAA,IAC7C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,yBAAyB,MAAM;AAK1C,SAAO;AACT;AAMO,IAAM,mBAAmB,OAAQ,YAA6D;AAEnG,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB;AAAA,IAC/C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,yBAAyB,CAAC,aAAsB;AAK3D,SAAO,eAAe,QAAQ;AAChC;AAMO,IAAM,mBAAmB,OAAO,UACnC,sBAA6C,YAA6D;AAE1G,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,QAAQ;AAAA,IACrD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,oBAAoB;AAAA,IAC3C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,UACrC,WAAuC;AACzC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,eAAe,QAAQ,aAAa,iBAAiB,KAAK,eAAe,QAAQ;AACzH;AAMO,IAAM,qBAAqB,OAAO,UACrC,QAAmC,YAA+D;AAEpG,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,UAAS,MAAM;AAAA,IAChE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,yBAAyB,CAAC,UACnC,YAAqB;AAKvB,SAAO,eAAe,QAAQ,aAAa,OAAO;AACpD;AAMO,IAAM,mBAAmB,OAAO,UACnC,SAAiB,YAA6D;AAEhF,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,UAAS,OAAO;AAAA,IAC/D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,6BAA6B,CAAC,UACvC,YAAqB;AAKvB,SAAO,eAAe,QAAQ,aAAa,OAAO;AACpD;AAMO,IAAM,uBAAuB,OAAO,UACvC,SACA,0BAAqD,YAAiE;AAEtH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,2BAA2B,UAAS,OAAO;AAAA,IACjE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,wBAAwB;AAAA,IAC/C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA6C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC9E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,sCAAsC,CAAC,UAChD,YAAqB;AAKvB,SAAO,eAAe,QAAQ,aAAa,OAAO;AACpD;AAMO,IAAM,gCAAgC,OAAO,UAChD,SAAiB,YAA0E;AAE7F,QAAM,MAAM,MAAM;AAAA,IAAM,oCAAoC,UAAS,OAAO;AAAA,IAC5E;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,4BAA4B,CAAC,aAAsB;AAK9D,SAAO,eAAe,QAAQ;AAChC;AAMO,IAAM,sBAAsB,OAAO,UACtC,yBAAmD,YAAgE;AAEnH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,0BAA0B,QAAQ;AAAA,IACxD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,uBAAuB;AAAA,IAC9C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA4C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC7E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,UACrC,WAAuC;AACzC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,eAAe,QAAQ,aAAa,iBAAiB,KAAK,eAAe,QAAQ;AACzH;AAMO,IAAM,qBAAqB,OAAO,UACrC,QAAmC,YAA+D;AAEpG,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,UAAS,MAAM;AAAA,IAChE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,kBAAkB,CAAC,WAA8B;AAC5D,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,iBAAiB,KAAK;AAC3E;AAMO,IAAM,YAAY,OAAO,QAA0B,YAAsD;AAE9G,QAAM,MAAM,MAAM;AAAA,IAAM,gBAAgB,MAAM;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,mBAAmB,MAAM;AAKpC,SAAO;AACT;AAQO,IAAM,aAAa,OAAO,gBAAiC,YAAuD;AAErH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB;AAAA,IACvC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,cAAc;AAAA,IACrC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,oBAAoB,CAAC,WAA+B;AAC/D,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,oBAAoB,iBAAiB,KAAK;AAClF;AAMO,IAAM,cAAc,OAAO,QAA2B,YAAwD;AAEnH,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,MAAM;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,gBAAgB,CAAC,IAC1B,WAA4B;AAC9B,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,EAAE,IAAI,iBAAiB,KAAK,aAAa,EAAE;AAChG;AASO,IAAM,UAAU,OAAO,IAC1B,QAAwB,YAAoD;AAE9E,QAAM,MAAM,MAAM;AAAA,IAAM,cAAc,IAAG,MAAM;AAAA,IAC/C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAgC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACjE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,mBAAmB,CAAC,IAC7B,WAA+B;AACjC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,EAAE,IAAI,iBAAiB,KAAK,aAAa,EAAE;AAChG;AAUO,IAAM,aAAa,OAAO,IAC7B,QAA2B,YAAuD;AAEpF,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB,IAAG,MAAM;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,IAC/B,WAAiC;AACnC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,EAAE,UAAU,iBAAiB,KAAK,aAAa,EAAE;AACtG;AAQO,IAAM,eAAe,OAAO,IAC/B,kBACA,QAA6B,YAAyD;AAEtF,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,IAAG,MAAM;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,sBAAsB,CAAC,IAChC,WAAkC;AACpC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,EAAE,UAAU,iBAAiB,KAAK,aAAa,EAAE;AACtG;AAMO,IAAM,gBAAgB,OAAO,IAChC,QAA8B,YAA0D;AAE1F,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB,IAAG,MAAM;AAAA,IACrD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,uBAAuB,CAAC,IACjC,YACA,UACA,WAAmC;AACrC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,EAAE,UAAU,UAAU,IAAI,QAAQ,IAAI,iBAAiB,KAAK,aAAa,EAAE,UAAU,UAAU,IAAI,QAAQ;AAChK;AAMO,IAAM,iBAAiB,OAAO,IACjC,YACA,UACA,QAA+B,YAA2D;AAE5F,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,IAAG,YAAW,UAAS,MAAM;AAAA,IAC1E;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,wBAAwB,MAAM;AAKzC,SAAO;AACT;AAMO,IAAM,kBAAkB,OAAO,qBAA2C,YAA4D;AAEzI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB;AAAA,IAC5C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,mBAAmB;AAAA,IAC1C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,uBAAuB,CAAC,WAAmC;AACtE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,mBAAmB,iBAAiB,KAAK;AACjF;AAMO,IAAM,iBAAiB,OAAO,QAA+B,YAA2D;AAE7H,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,MAAM;AAAA,IACnD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,gBAAyB;AAK1D,SAAO,mBAAmB,WAAW;AACvC;AAMO,IAAM,eAAe,OAAO,aAAqB,YAAyD;AAE/G,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,WAAW;AAAA,IACtD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,gBAAyB;AAK7D,SAAO,mBAAmB,WAAW;AACvC;AAMO,IAAM,kBAAkB,OAAO,aAClC,wBAAiD,YAA4D;AAE7G,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,WAAW;AAAA,IACvD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,sBAAsB;AAAA,IAC7C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,gBAAyB;AAK7D,SAAO,mBAAmB,WAAW;AACvC;AAMO,IAAM,kBAAkB,OAAO,aAAqB,YAA4D;AAErH,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,WAAW;AAAA,IACzD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,gBAAyB;AAKhE,SAAO,mBAAmB,WAAW;AACvC;AAMO,IAAM,qBAAqB,OAAO,aAAqB,YAA+D;AAE3H,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,WAAW;AAAA,IAC5D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,8BAA8B,CAAC,gBAAyB;AAKnE,SAAO,mBAAmB,WAAW;AACvC;AAMO,IAAM,wBAAwB,OAAO,aACxC,2BAAuD,YAAkE;AAEzH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,4BAA4B,WAAW;AAAA,IAC7D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,yBAAyB;AAAA,IAChD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA8C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC/E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,mBAAmB,MAAM;AAKpC,SAAO;AACT;AAMO,IAAM,aAAa,OAAO,gBAAiC,YAAuD;AAErH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB;AAAA,IACvC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,cAAc;AAAA,IACrC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,gBAAgB,CAAC,WAAoB;AAKhD,SAAO,oBAAoB,MAAM;AACnC;AASO,IAAM,UAAU,OAAO,QAAgB,YAAoD;AAEhG,QAAM,MAAM,MAAM;AAAA,IAAM,cAAc,MAAM;AAAA,IAC5C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAgC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACjE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,gBAAyB;AAKhE,SAAO,0BAA0B,WAAW;AAC9C;AAMO,IAAM,qBAAqB,OAAO,aAAqB,YAA+D;AAE3H,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,WAAW;AAAA,IAC5D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,WAAoB;AAKxD,SAAO,oBAAoB,MAAM;AACnC;AASO,IAAM,kBAAkB,OAAO,QAClC,qBAA2C,YAA4D;AAEvG,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,MAAM;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,mBAAmB;AAAA,IAC1C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,kBAAkB,CAAC,WAA8B;AAC5D,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,iBAAiB,KAAK;AAC3E;AAMO,IAAM,YAAY,OAAO,QAA0B,YAAsD;AAE9G,QAAM,MAAM,MAAM;AAAA,IAAM,gBAAgB,MAAM;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,yBAAyB,CAAC,QACnC,WAAqC;AACvC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,MAAM,aAAa,iBAAiB,KAAK,aAAa,MAAM;AACjH;AAMO,IAAM,mBAAmB,OAAO,QACnC,QAAiC,YAA6D;AAEhG,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,QAAO,MAAM;AAAA,IAC5D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,mBAAmB,CAAC,OAAgB;AAK/C,SAAO,gBAAgB,EAAE;AAC3B;AAMO,IAAM,aAAa,OAAO,IAAY,YAAuD;AAElG,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB,EAAE;AAAA,IAC3C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,4BAA4B,CAAC,OAAgB;AAKxD,SAAO,gBAAgB,EAAE;AAC3B;AAMO,IAAM,sBAAsB,OAAO,IAAY,YAAgE;AAEpH,QAAM,MAAM,MAAM;AAAA,IAAM,0BAA0B,EAAE;AAAA,IACpD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA4C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC7E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,qBAAqB,CAAC,WAAiC;AAClE,QAAM,mBAAmB,IAAI,gBAAgB;AAC7C,QAAM,oBAA8B,CAAC;AAErC,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAM,uBAAuB,CAAC,OAAO;AAErC,QAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,qBAAqB,SAAS,GAAG,GAAG;AAC9G,aAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,QAAQ,MAAM;AACpD,YAAI,aAAa,QAAW;AAC1B,4BAAkB,KAAK,mBAAmB,GAAG,IAAI,MAAM,mBAAmB,MAAM,IAAI,QAAQ,aAAa,OAAO,SAAS,mBAAmB,OAAO,QAAQ,CAAC,EAAE;AAAA,QAChK;AAAA,MACF,CAAC;AACD;AAAA,IACF;AAEA,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,CAAC,iBAAiB,SAAS,GAAG,kBAAkB,KAAK,GAAG,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAE7G,SAAO,kBAAkB,SAAS,IAAI,gBAAgB,iBAAiB,KAAK;AAC9E;AAaO,IAAM,eAAe,OAAO,QAA6B,YAAyD;AAEvH,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,MAAM;AAAA,IACjD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,mBAAmB,MAAM;AAKpC,SAAO;AACT;AAMO,IAAM,aAAa,OAAQ,YAAuD;AAEvF,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB;AAAA,IACzC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,wBAAwB,MAAM;AAKzC,SAAO;AACT;AAMO,IAAM,kBAAkB,OAAQ,YAA4D;AAEjG,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,yBAAyB,MAAM;AAK1C,SAAO;AACT;AAUO,IAAM,mBAAmB,OAAO,sBAA6C,YAA6D;AAE7I,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB;AAAA,IAC7C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,oBAAoB;AAAA,IAC3C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,4BAA4B,MAAM;AAK7C,SAAO;AACT;AAUO,IAAM,sBAAsB,OAAQ,YAAgE;AAEzG,QAAM,MAAM,MAAM;AAAA,IAAM,0BAA0B;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA4C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC7E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,6BAA6B,CAAC,iBAA0B;AAKnE,SAAO,wBAAwB,YAAY;AAC7C;AAYO,IAAM,uBAAuB,OAAO,cAAsB,YAAiE;AAEhI,QAAM,MAAM,MAAM;AAAA,IAAM,2BAA2B,YAAY;AAAA,IAC/D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA6C,OAAO,KAAK,MAAM,IAAI,IAAI;AAC7E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,6BAA6B,CAAC,iBAA0B;AAKnE,SAAO,wBAAwB,YAAY;AAC7C;AAYO,IAAM,uBAAuB,OAAO,cAAsB,YAAiE;AAEhI,QAAM,MAAM,MAAM;AAAA,IAAM,2BAA2B,YAAY;AAAA,IAC/D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA6C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC9E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,yBAAyB,CAAC,OAAgB;AAKrD,SAAO,oBAAoB,EAAE;AAC/B;AAMO,IAAM,mBAAmB,OAAO,IACnC,sBAA6C,YAA6D;AAE1G,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,EAAE;AAAA,IAC/C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,oBAAoB;AAAA,IAC3C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,OAAgB;AAKjD,SAAO,oBAAoB,EAAE;AAC/B;AAMO,IAAM,eAAe,OAAO,IAAY,YAAyD;AAEtG,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,EAAE;AAAA,IAC7C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,qBAAqB,MAAM;AAKtC,SAAO;AACT;AAQO,IAAM,eAAe,OAAO,kBAAqC,YAAyD;AAE7H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB;AAAA,IACzC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,oBAAoB,CAAC,WAAgC;AAChE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,eAAe,iBAAiB,KAAK;AAC7E;AAMO,IAAM,cAAc,OAAO,QAA4B,YAAwD;AAEpH,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,MAAM;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,kBAAkB,CAAC,aAAsB;AAKpD,SAAO,eAAe,QAAQ;AAChC;AAMO,IAAM,YAAY,OAAO,UAAkB,YAAsD;AAEtG,QAAM,MAAM,MAAM;AAAA,IAAM,gBAAgB,QAAQ;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,aAAsB;AAKvD,SAAO,eAAe,QAAQ;AAChC;AAUO,IAAM,eAAe,OAAO,UAC/B,kBAAqC,YAAyD;AAE9F,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,QAAQ;AAAA,IACjD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,gBAAgB;AAAA,IACvC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,aAAsB;AAKvD,SAAO,eAAe,QAAQ;AAChC;AAMO,IAAM,eAAe,OAAO,UAAkB,YAAyD;AAE5G,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,QAAQ;AAAA,IACnD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,uBAAuB,MAAM;AAKxC,SAAO;AACT;AAcO,IAAM,iBAAiB,OAAO,oBAAyC,YAA2D;AAErI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB;AAAA,IAC3C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,kBAAkB;AAAA,IACzC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,sBAAsB,CAAC,WAAkC;AACpE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,iBAAiB,iBAAiB,KAAK;AAC/E;AAMO,IAAM,gBAAgB,OAAO,QAA8B,YAA0D;AAE1H,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB,MAAM;AAAA,IAClD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oBAAoB,CAAC,eAAwB;AAKxD,SAAO,iBAAiB,UAAU;AACpC;AAMO,IAAM,cAAc,OAAO,YAAoB,YAAwD;AAE5G,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,UAAU;AAAA,IACpD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,uBAAuB,CAAC,eAAwB;AAK3D,SAAO,iBAAiB,UAAU;AACpC;AAUO,IAAM,iBAAiB,OAAO,YACjC,oBAAyC,YAA2D;AAEpG,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,UAAU;AAAA,IACrD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,kBAAkB;AAAA,IACzC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,uBAAuB,CAAC,eAAwB;AAK3D,SAAO,iBAAiB,UAAU;AACpC;AAMO,IAAM,iBAAiB,OAAO,YAAoB,YAA2D;AAElH,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,UAAU;AAAA,IACvD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,uBAAuB,CAAC,WAAmC;AACtE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,kBAAkB,iBAAiB,KAAK;AAChF;AAkBO,IAAM,iBAAiB,OAAO,QAA+B,YAA2D;AAE7H,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,MAAM;AAAA,IACnD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,0BAA0B,CAAC,WAAsC;AAC5E,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,qBAAqB,iBAAiB,KAAK;AACnF;AAYO,IAAM,oBAAoB,OAAO,QAAkC,YAA8D;AAEtI,QAAM,MAAM,MAAM;AAAA,IAAM,wBAAwB,MAAM;AAAA,IACtD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA0C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC3E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,wBAAwB,CAAC,mBAA4B;AAKhE,SAAO,qBAAqB,cAAc;AAC5C;AAUO,IAAM,kBAAkB,OAAO,gBAAwB,YAA4D;AAExH,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,cAAc;AAAA,IAC5D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,iCAAiC,MAAM;AAKlD,SAAO;AACT;AAcO,IAAM,2BAA2B,OAAO,8BAA6D,YAAqE;AAE7K,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,+BAA+B;AAAA,IACrD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,4BAA4B;AAAA,IACnD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAiD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAClF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,gCAAgC,CAAC,WAA4C;AACxF,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,4BAA4B,iBAAiB,KAAK;AAC1F;AAQO,IAAM,0BAA0B,OAAO,QAAwC,YAAoE;AAExJ,QAAM,MAAM,MAAM;AAAA,IAAM,8BAA8B,MAAM;AAAA,IAC5D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAgD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACjF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,8BAA8B,CAAC,yBAAkC;AAK5E,SAAO,4BAA4B,oBAAoB;AACzD;AAMO,IAAM,wBAAwB,OAAO,sBAA8B,YAAkE;AAE1I,QAAM,MAAM,MAAM;AAAA,IAAM,4BAA4B,oBAAoB;AAAA,IACxE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA8C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC/E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,kCAAkC,CAAC,yBAAkC;AAKhF,SAAO,4BAA4B,oBAAoB;AACzD;AAMO,IAAM,4BAA4B,OAAO,sBAC5C,+BAA+D,YAAsE;AAErI,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,gCAAgC,oBAAoB;AAAA,IAC1E;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,6BAA6B;AAAA,IACpD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,mBAAmB,MAAM;AAKpC,SAAO;AACT;AAMO,IAAM,aAAa,OAAO,gBAAiC,YAAuD;AAErH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB;AAAA,IACvC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,cAAc;AAAA,IACrC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,kBAAkB,CAAC,WAA8B;AAC5D,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,iBAAiB,KAAK;AAC3E;AASO,IAAM,YAAY,OAAO,QAA0B,YAAsD;AAE9G,QAAM,MAAM,MAAM;AAAA,IAAM,gBAAgB,MAAM;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,mBAAmB,CAAC,OAAgB;AAK/C,SAAO,aAAa,EAAE;AACxB;AAMO,IAAM,aAAa,OAAO,IAAY,YAAuD;AAElG,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB,EAAE;AAAA,IAC3C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,gBAAgB,CAAC,OAAgB;AAK5C,SAAO,aAAa,EAAE;AACxB;AASO,IAAM,UAAU,OAAO,IAAY,YAAoD;AAE5F,QAAM,MAAM,MAAM;AAAA,IAAM,cAAc,EAAE;AAAA,IACxC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAgC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACjE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,mBAAmB,CAAC,OAAgB;AAK/C,SAAO,aAAa,EAAE;AACxB;AAQO,IAAM,aAAa,OAAO,IAC7B,gBAAiC,YAAuD;AAExF,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB,EAAE;AAAA,IACzC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,cAAc;AAAA,IACrC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oBAAoB,CAAC,OAAgB;AAKhD,SAAO,aAAa,EAAE;AACxB;AASO,IAAM,cAAc,OAAO,IAC9B,iBAAmC,YAAwD;AAE3F,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,EAAE;AAAA,IAC1C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,eAAe;AAAA,IACtC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,yBAAyB,CAAC,IACnC,WAAqC;AACvC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,aAAa,EAAE,aAAa,iBAAiB,KAAK,aAAa,EAAE;AACzG;AAMO,IAAM,mBAAmB,OAAO,IACnC,QAAiC,YAA6D;AAEhG,QAAM,MAAM,MAAM;AAAA,IAAM,uBAAuB,IAAG,MAAM;AAAA,IACxD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAyC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC1E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,uBAAuB,CAAC,IACjC,YAAqB;AAKvB,SAAO,aAAa,EAAE,aAAa,OAAO;AAC5C;AAMO,IAAM,iBAAiB,OAAO,IACjC,SAAiB,YAA2D;AAE9E,QAAM,MAAM,MAAM;AAAA,IAAM,qBAAqB,IAAG,OAAO;AAAA,IACvD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAuC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACxE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,IACrC,YAAqB;AAKvB,SAAO,aAAa,EAAE,aAAa,OAAO;AAC5C;AAMO,IAAM,qBAAqB,OAAO,IACrC,SACA,wBAAiD,YAA+D;AAEhH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,IAAG,OAAO;AAAA,IACzD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,sBAAsB;AAAA,IAC7C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oCAAoC,CAAC,IAC9C,YAAqB;AAKvB,SAAO,aAAa,EAAE,aAAa,OAAO;AAC5C;AAMO,IAAM,8BAA8B,OAAO,IAC9C,SAAiB,YAAwE;AAE3F,QAAM,MAAM,MAAM;AAAA,IAAM,kCAAkC,IAAG,OAAO;AAAA,IACpE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,wBAAwB,CAAC,WAAoC;AACxE,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,oBAAoB,iBAAiB,KAAK;AAClF;AAOO,IAAM,kBAAkB,OAAO,QAAgC,YAA4D;AAEhI,QAAM,MAAM,MAAM;AAAA,IAAM,sBAAsB,MAAM;AAAA,IACpD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAwC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACzE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,sBAAsB,CAAC,OAAgB;AAKlD,SAAO,oBAAoB,EAAE;AAC/B;AAOO,IAAM,gBAAgB,OAAO,IAAY,YAA0D;AAExG,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB,EAAE;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,0BAA0B,CAAC,OAAgB;AAKtD,SAAO,oBAAoB,EAAE;AAC/B;AAOO,IAAM,oBAAoB,OAAO,IACpC,uBAA+C,YAA8D;AAE7G,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,wBAAwB,EAAE;AAAA,IAChD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,qBAAqB;AAAA,IAC5C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA0C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC3E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,oBAAoB,MAAM;AAKrC,SAAO;AACT;AAUO,IAAM,cAAc,OAAO,iBAAmC,YAAwD;AAEzH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB;AAAA,IACxC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,eAAe;AAAA,IACtC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,mBAAmB,MAAM;AAKpC,SAAO;AACT;AAQO,IAAM,aAAa,OAAO,gBAAiC,YAAuD;AAErH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB;AAAA,IACvC;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,cAAc;AAAA,IACrC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,iBAA0B;AAKjE,SAAO,oBAAoB,YAAY;AACzC;AASO,IAAM,qBAAqB,OAAO,cACrC,wBAAiD,YAA+D;AAEhH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,YAAY;AAAA,IAC3D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,sBAAsB;AAAA,IAC7C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,0BAA0B,CAAC,cACpC,WAAsC;AACxC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,oBAAoB,YAAY,aAAa,iBAAiB,KAAK,oBAAoB,YAAY;AAC3I;AASO,IAAM,oBAAoB,OAAO,cACpC,QAAkC,YAA8D;AAElG,QAAM,MAAM,MAAM;AAAA,IAAM,wBAAwB,cAAa,MAAM;AAAA,IACnE;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA0C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC3E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,2BAA2B,CAAC,YAAqB;AAK5D,SAAO,eAAe,OAAO;AAC/B;AASO,IAAM,qBAAqB,OAAO,SACrC,wBAAiD,YAA+D;AAEhH,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,yBAAyB,OAAO;AAAA,IACtD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,sBAAsB;AAAA,IAC7C;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA2C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC5E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,0BAA0B,CAAC,SACpC,WAAsC;AACxC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,eAAe,OAAO,aAAa,iBAAiB,KAAK,eAAe,OAAO;AACvH;AASO,IAAM,oBAAoB,OAAO,SACpC,QAAkC,YAA8D;AAElG,QAAM,MAAM,MAAM;AAAA,IAAM,wBAAwB,SAAQ,MAAM;AAAA,IAC9D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA0C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC3E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,+BAA+B,CAAC,OAAgB;AAK3D,SAAO,kBAAkB,EAAE;AAC7B;AAMO,IAAM,yBAAyB,OAAO,IACzC,4BAAyD,YAAmE;AAE5H,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,6BAA6B,EAAE;AAAA,IACrD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,0BAA0B;AAAA,IACjD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA+C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAChF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,qBAAqB,CAAC,IAC/B,WAAiC;AACnC,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,kBAAkB,EAAE,aAAa,iBAAiB,KAAK,kBAAkB,EAAE;AACnH;AAMO,IAAM,eAAe,OAAO,IAC/B,QAA6B,YAAyD;AAExF,QAAM,MAAM,MAAM;AAAA,IAAM,mBAAmB,IAAG,MAAM;AAAA,IACpD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAqC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACtE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,kCAAkC,MAAM;AAKnD,SAAO;AACT;AAUO,IAAM,4BAA4B,OAAO,+BAA+D,YAAsE;AAEjL,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,gCAAgC;AAAA,IACtD;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,6BAA6B;AAAA,IACpD;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAkD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACnF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AAsCO,IAAM,iCAAiC,CAAC,WAA6C;AAC1F,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,8BAA8B,iBAAiB,KAAK;AAC5F;AAMO,IAAM,2BAA2B,OAAO,QAAyC,YAAqE;AAE3J,QAAM,MAAM,MAAM;AAAA,IAAM,+BAA+B,MAAM;AAAA,IAC7D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAiD,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAClF,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,sBAAsB,CAAC,OAAgB;AAKlD,SAAO,gBAAgB,EAAE;AAC3B;AAMO,IAAM,gBAAgB,OAAO,IAAY,YAA0D;AAExG,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB,EAAE;AAAA,IAC9C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,mBAAmB,CAAC,OAAgB;AAK/C,SAAO,gBAAgB,EAAE;AAC3B;AAMO,IAAM,aAAa,OAAO,IAAY,YAAuD;AAElG,QAAM,MAAM,MAAM;AAAA,IAAM,iBAAiB,EAAE;AAAA,IAC3C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAmC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACpE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,sBAAsB,CAAC,OAAgB;AAKlD,SAAO,gBAAgB,EAAE;AAC3B;AAMO,IAAM,gBAAgB,OAAO,IAChC,mBAAuC,YAA0D;AAEjG,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,oBAAoB,EAAE;AAAA,IAC5C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,iBAAiB;AAAA,IACxC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAsC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACvE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,8BAA8B,CAAC,IACxC,WAA0C;AAC5C,QAAM,mBAAmB,IAAI,gBAAgB;AAE7C,SAAO,QAAQ,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAErD,QAAI,UAAU,QAAW;AACvB,uBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,OAAO,KAAK,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,QAAM,oBAAoB,iBAAiB,SAAS;AAEpD,SAAO,kBAAkB,SAAS,IAAI,gBAAgB,EAAE,eAAe,iBAAiB,KAAK,gBAAgB,EAAE;AACjH;AAMO,IAAM,wBAAwB,OAAO,IACxC,QAAsC,YAAkE;AAE1G,QAAM,MAAM,MAAM;AAAA,IAAM,4BAA4B,IAAG,MAAM;AAAA,IAC7D;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,IAGV;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAA8C,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAC/E,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;AA2CO,IAAM,oBAAoB,CAAC,OAAgB;AAKhD,SAAO,gBAAgB,EAAE;AAC3B;AAMO,IAAM,cAAc,OAAO,IAC9B,iBAAmC,YAAwD;AAE3F,QAAM,aAAa,CAAC,MAAwF;AAC5G,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,QAAI,aAAa,QAAS,QAAO,OAAO,YAAY,EAAE,QAAQ,CAAC;AAC/D,QAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,OAAO,YAAY,CAAC;AACjD,WAAO;AAAA,EACT;AACF,QAAM,MAAM,MAAM;AAAA,IAAM,kBAAkB,EAAE;AAAA,IAC1C;AAAA,MACE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oBAAoB,GAAG,WAAW,SAAS,OAAO,EAAE;AAAA,MAC/E,MAAM,KAAK,UAAU,eAAe;AAAA,IACtC;AAAA,EACF;AAGE,QAAM,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,KAAK;AAE1E,QAAM,OAAoC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AACrE,SAAO,EAAE,MAAM,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ;AAC1D;;;ACl0YO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,aAAa,OAAO;AAE3D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAsBO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,YAAY,OAAO;AAE3D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,WAAW,cAAc,OAAO;AAErE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAwBO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,WAAW,cAAc,KAAK,YAAY,OAAO;AAEzF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,WAAW,cAAc,OAAO;AAExE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,gCAAgC,OAAO,MAAkC,YAA0B;AAC9G,QAAM,MAAM,MAAM,uBAAuB,KAAK,WAAW,cAAc,KAAK,aAAa,OAAO;AAEhG,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,8BAA8B,OAAO,MAAgC,YAA0B;AAC1G,QAAM,MAAM,MAAM,qBAAqB,KAAK,WAAW,cAAc,KAAK,WAAW,SAAS,OAAO;AAErG,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,kCAAkC,OAAO,MAAoC,YAA0B;AAClH,QAAM,MAAM,MAAM,yBAAyB,KAAK,WAAW,cAAc,KAAK,WAAW,SAAS,KAAK,YAAY,OAAO;AAE1H,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,2CAA2C,OAAO,MAA6C,YAA0B;AACpI,QAAM,MAAM,MAAM,kCAAkC,KAAK,WAAW,cAAc,KAAK,WAAW,SAAS,OAAO;AAElH,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,mCAAmC,OAAO,MAAqC,YAA0B;AACpH,QAAM,MAAM,MAAM,0BAA0B,KAAK,WAAW,cAAc,OAAO;AAEjF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,6BAA6B,OAAO,MAA+B,YAA0B;AACxG,QAAM,MAAM,MAAM,oBAAoB,KAAK,WAAW,cAAc,KAAK,aAAa,OAAO;AAE7F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,gCAAgC,OAAO,MAAkC,YAA0B;AAC9G,QAAM,MAAM,MAAM,uBAAuB,KAAK,WAAW,cAAc,KAAK,YAAY,OAAO;AAE/F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,gCAAgC,OAAO,MAAkC,YAA0B;AAC9G,QAAM,MAAM,MAAM,uBAAuB,KAAK,WAAW,cAAc,KAAK,YAAY,OAAO;AAE/F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAmBO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,cAAc,KAAK,YAAY,OAAO;AAE3F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AA2BO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,WAAW,cAAc,KAAK,YAAY,OAAO;AAEpF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAmBO,IAAM,kBAAkB,OAAO,MAAoB,YAA0B;AAClF,QAAM,MAAM,MAAM,SAAS,KAAK,aAAa,OAAO;AAEpD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,mBAAmB,OAAO,MAAqB,YAA0B;AACpF,QAAM,MAAM,MAAM,UAAU,KAAK,WAAW,OAAO,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,aAAa,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,YAAY,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,IAAI,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAE3E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAoBO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,YAAY,OAAO;AAEzD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAyBO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,aAAa,OAAO;AAEzD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,WAAW,IAAI,OAAO;AAEzD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,WAAW,IAAI,OAAO;AAE5D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,iCAAiC,OAAO,MAAmC,YAA0B;AAChH,QAAM,MAAM,MAAM,wBAAwB,KAAK,aAAa,OAAO;AAEnE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,kCAAkC,OAAO,MAAoC,YAA0B;AAClH,QAAM,MAAM,MAAM,yBAAyB,KAAK,aAAa,OAAO;AAEpE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,8BAA8B,OAAO,MAAgC,YAA0B;AAC1G,QAAM,MAAM,MAAM,qBAAqB,KAAK,YAAY,OAAO;AAE/D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,gCAAgC,OAAO,MAAkC,YAA0B;AAC9G,QAAM,MAAM,MAAM,uBAAuB,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAErF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,gBAAgB,OAAO,MAAkB,YAA0B;AAC9E,QAAM,MAAM,MAAM,OAAO,KAAK,YAAY,OAAO;AAEjD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,gBAAgB,OAAO,MAAkB,YAA0B;AAC9E,QAAM,MAAM,MAAM,OAAO,KAAK,YAAY,OAAO;AAEjD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,8BAA8B,OAAO,MAAgC,YAA0B;AAC1G,QAAM,MAAM,MAAM,qBAAqB,KAAK,YAAY,OAAO;AAE/D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,YAAY,OAAO;AAExD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,YAAY,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,aAAa,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,YAAY,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,WAAW,SAAS,OAAO;AAEjE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,aAAa,OAAO;AAEzD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AA6BO,IAAM,mBAAmB,OAAO,MAAqB,YAA0B;AACpF,QAAM,MAAM,MAAM,UAAU,KAAK,aAAa,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,iBAAiB,OAAO,MAAmB,YAA0B;AAChF,QAAM,MAAM,MAAM,QAAQ,KAAK,WAAW,IAAI,KAAK,aAAa,OAAO;AAEvE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,2BAA2B,OAAO,MAA6B,YAA0B;AACpG,QAAM,MAAM,MAAM,kBAAkB,KAAK,WAAW,IAAI,OAAO;AAE/D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,aAAa,OAAO;AAE5D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,gCAAgC,OAAO,MAAkC,YAA0B;AAC9G,QAAM,MAAM,MAAM,uBAAuB,KAAK,aAAa,OAAO;AAElE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAEjF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,WAAW,IAAI,KAAK,aAAa,OAAO;AAEhF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,IAAI,KAAK,WAAW,YAAY,OAAO;AAE5F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,gCAAgC,OAAO,MAAkC,YAA0B;AAC9G,QAAM,MAAM,MAAM,uBAAuB,KAAK,aAAa,OAAO;AAElE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAkBO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,YAAY,OAAO;AAEtD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,aAAa,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,WAAW,SAAS,KAAK,YAAY,OAAO;AAE/E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,WAAW,SAAS,OAAO;AAE9D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,kBAAkB,OAAO,MAAoB,YAA0B;AAClF,QAAM,MAAM,MAAM,SAAS,KAAK,WAAW,SAAS,OAAO;AAE3D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,WAAW,SAAS,OAAO;AAE9D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,aAAa,OAAO;AAEtD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,aAAa,OAAO;AAE5D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAkBO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,SAAS,KAAK,YAAY,OAAO;AAEhF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,mBAAmB,OAAO,MAAqB,YAA0B;AACpF,QAAM,MAAM,MAAM,UAAU,KAAK,YAAY,OAAO;AAEpD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAoBO,IAAM,2BAA2B,OAAO,MAA6B,YAA0B;AACpG,QAAM,MAAM,MAAM,kBAAkB,KAAK,aAAa,OAAO;AAE7D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,YAAY,OAAO;AAE7D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,IAAI,OAAO;AAE7D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAmBO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,aAAa,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,YAAY,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,aAAa,OAAO;AAEnE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,+BAA+B,OAAO,MAAiC,YAA0B;AAC5G,QAAM,MAAM,MAAM,sBAAsB,KAAK,WAAW,aAAa,KAAK,aAAa,OAAO;AAE9F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,aAAa,OAAO;AAEtE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,iCAAiC,OAAO,MAAmC,YAA0B;AAChH,QAAM,MAAM,MAAM,wBAAwB,KAAK,WAAW,aAAa,KAAK,YAAY,OAAO;AAE/F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,iBAAiB,OAAO,MAAmB,YAA0B;AAChF,QAAM,MAAM,MAAM,QAAQ,KAAK,WAAW,QAAQ,KAAK,YAAY,OAAO;AAE1E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,WAAW,WAAW,OAAO;AAE/D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,YAAY,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,aAAa,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,IAAI,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAE9E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,IAAI,OAAO;AAE7D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,YAAY,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,aAAa,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,mBAAmB,OAAO,MAAqB,YAA0B;AACpF,QAAM,MAAM,MAAM,UAAU,KAAK,WAAW,UAAU,OAAO;AAE7D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,UAAU,OAAO;AAEhE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,UAAU,KAAK,YAAY,OAAO;AAEjF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,UAAU,KAAK,aAAa,OAAO;AAErF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,UAAU,KAAK,YAAY,OAAO;AAEvF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAOO,IAAM,0BAA0B,OAAO,YAA0B;AACtE,QAAM,MAAM,MAAM,iBAAiB,OAAO;AAE1C,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,WAAW,UAAU,KAAK,YAAY,OAAO;AAErF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,UAAU,KAAK,aAAa,OAAO;AAExF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,WAAW,UAAU,KAAK,WAAW,SAAS,OAAO;AAE7F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,8BAA8B,OAAO,MAAgC,YAA0B;AAC1G,QAAM,MAAM,MAAM,qBAAqB,KAAK,WAAW,UAAU,KAAK,WAAW,SAAS,KAAK,YAAY,OAAO;AAElH,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,uCAAuC,OAAO,MAAyC,YAA0B;AAC5H,QAAM,MAAM,MAAM,8BAA8B,KAAK,WAAW,UAAU,KAAK,WAAW,SAAS,OAAO;AAE1G,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,6BAA6B,OAAO,MAA+B,YAA0B;AACxG,QAAM,MAAM,MAAM,oBAAoB,KAAK,WAAW,UAAU,KAAK,YAAY,OAAO;AAExF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,UAAU,KAAK,aAAa,OAAO;AAExF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,mBAAmB,OAAO,MAAqB,YAA0B;AACpF,QAAM,MAAM,MAAM,UAAU,KAAK,aAAa,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,YAAY,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,aAAa,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,iBAAiB,OAAO,MAAmB,YAA0B;AAChF,QAAM,MAAM,MAAM,QAAQ,KAAK,WAAW,IAAI,KAAK,aAAa,OAAO;AAEvE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAkBO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,WAAW,IAAI,KAAK,aAAa,OAAO;AAE1E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,IAAI,KAAK,YAAY,KAAK,aAAa,OAAO;AAE7F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,WAAW,IAAI,KAAK,aAAa,OAAO;AAE7E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,WAAW,IAAI,KAAK,WAAW,YAAY,KAAK,WAAW,UAAU,KAAK,aAAa,OAAO;AAEpI,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,YAAY,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,aAAa,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,aAAa,OAAO;AAEnE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,aAAa,KAAK,YAAY,OAAO;AAEvF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,aAAa,OAAO;AAEtE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,aAAa,OAAO;AAEzE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,+BAA+B,OAAO,MAAiC,YAA0B;AAC5G,QAAM,MAAM,MAAM,sBAAsB,KAAK,WAAW,aAAa,KAAK,YAAY,OAAO;AAE7F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,YAAY,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,iBAAiB,OAAO,MAAmB,YAA0B;AAChF,QAAM,MAAM,MAAM,QAAQ,KAAK,WAAW,QAAQ,OAAO;AAEzD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,aAAa,OAAO;AAEzE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,QAAQ,KAAK,YAAY,OAAO;AAElF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,mBAAmB,OAAO,MAAqB,YAA0B;AACpF,QAAM,MAAM,MAAM,UAAU,KAAK,aAAa,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,WAAW,QAAQ,KAAK,aAAa,OAAO;AAEpF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,WAAW,IAAI,OAAO;AAExD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,6BAA6B,OAAO,MAA+B,YAA0B;AACxG,QAAM,MAAM,MAAM,oBAAoB,KAAK,WAAW,IAAI,OAAO;AAEjE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAkBO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,aAAa,OAAO;AAExD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAOO,IAAM,oBAAoB,OAAO,YAA0B;AAChE,QAAM,MAAM,MAAM,WAAW,OAAO;AAEpC,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAOO,IAAM,yBAAyB,OAAO,YAA0B;AACrE,QAAM,MAAM,MAAM,gBAAgB,OAAO;AAEzC,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,YAAY,OAAO;AAE3D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,6BAA6B,OAAO,YAA0B;AACzE,QAAM,MAAM,MAAM,oBAAoB,OAAO;AAE7C,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAmBO,IAAM,8BAA8B,OAAO,MAAgC,YAA0B;AAC1G,QAAM,MAAM,MAAM,qBAAqB,KAAK,WAAW,cAAc,OAAO;AAE5E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAmBO,IAAM,8BAA8B,OAAO,MAAgC,YAA0B;AAC1G,QAAM,MAAM,MAAM,qBAAqB,KAAK,WAAW,cAAc,OAAO;AAE5E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAE/E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,IAAI,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,YAAY,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,aAAa,OAAO;AAEvD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,mBAAmB,OAAO,MAAqB,YAA0B;AACpF,QAAM,MAAM,MAAM,UAAU,KAAK,WAAW,UAAU,OAAO;AAE7D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAkBO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,UAAU,KAAK,YAAY,OAAO;AAEjF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,UAAU,OAAO;AAEhE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAmBO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,YAAY,OAAO;AAEzD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,aAAa,OAAO;AAEzD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,WAAW,YAAY,OAAO;AAEjE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAkBO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,WAAW,YAAY,KAAK,YAAY,OAAO;AAErF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,WAAW,YAAY,OAAO;AAEpE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAuBO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,aAAa,OAAO;AAE1D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,2BAA2B,OAAO,MAA6B,YAA0B;AACpG,QAAM,MAAM,MAAM,kBAAkB,KAAK,aAAa,OAAO;AAE7D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,WAAW,gBAAgB,OAAO;AAEzE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAmBO,IAAM,kCAAkC,OAAO,MAAoC,YAA0B;AAClH,QAAM,MAAM,MAAM,yBAAyB,KAAK,YAAY,OAAO;AAEnE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,iCAAiC,OAAO,MAAmC,YAA0B;AAChH,QAAM,MAAM,MAAM,wBAAwB,KAAK,aAAa,OAAO;AAEnE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,+BAA+B,OAAO,MAAiC,YAA0B;AAC5G,QAAM,MAAM,MAAM,sBAAsB,KAAK,WAAW,sBAAsB,OAAO;AAErF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,mCAAmC,OAAO,MAAqC,YAA0B;AACpH,QAAM,MAAM,MAAM,0BAA0B,KAAK,WAAW,sBAAsB,KAAK,YAAY,OAAO;AAE1G,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,YAAY,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,mBAAmB,OAAO,MAAqB,YAA0B;AACpF,QAAM,MAAM,MAAM,UAAU,KAAK,aAAa,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,WAAW,IAAI,OAAO;AAExD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,iBAAiB,OAAO,MAAmB,YAA0B;AAChF,QAAM,MAAM,MAAM,QAAQ,KAAK,WAAW,IAAI,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAgBO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAEzE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAE1E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,0BAA0B,OAAO,MAA4B,YAA0B;AAClG,QAAM,MAAM,MAAM,iBAAiB,KAAK,WAAW,IAAI,KAAK,aAAa,OAAO;AAEhF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,wBAAwB,OAAO,MAA0B,YAA0B;AAC9F,QAAM,MAAM,MAAM,eAAe,KAAK,WAAW,IAAI,KAAK,WAAW,SAAS,OAAO;AAErF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,IAAI,KAAK,WAAW,SAAS,KAAK,YAAY,OAAO;AAE1G,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,qCAAqC,OAAO,MAAuC,YAA0B;AACxH,QAAM,MAAM,MAAM,4BAA4B,KAAK,WAAW,IAAI,KAAK,WAAW,SAAS,OAAO;AAElG,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAYO,IAAM,yBAAyB,OAAO,MAA2B,YAA0B;AAChG,QAAM,MAAM,MAAM,gBAAgB,KAAK,aAAa,OAAO;AAE3D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,WAAW,IAAI,OAAO;AAE3D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,2BAA2B,OAAO,MAA6B,YAA0B;AACpG,QAAM,MAAM,MAAM,kBAAkB,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAEhF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,YAAY,OAAO;AAEtD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,YAAY,OAAO;AAErD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,cAAc,KAAK,YAAY,OAAO;AAE3F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,2BAA2B,OAAO,MAA6B,YAA0B;AACpG,QAAM,MAAM,MAAM,kBAAkB,KAAK,WAAW,cAAc,KAAK,aAAa,OAAO;AAE3F,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,4BAA4B,OAAO,MAA8B,YAA0B;AACtG,QAAM,MAAM,MAAM,mBAAmB,KAAK,WAAW,SAAS,KAAK,YAAY,OAAO;AAEtF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAiBO,IAAM,2BAA2B,OAAO,MAA6B,YAA0B;AACpG,QAAM,MAAM,MAAM,kBAAkB,KAAK,WAAW,SAAS,KAAK,aAAa,OAAO;AAEtF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,gCAAgC,OAAO,MAAkC,YAA0B;AAC9G,QAAM,MAAM,MAAM,uBAAuB,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAErF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,sBAAsB,OAAO,MAAwB,YAA0B;AAC1F,QAAM,MAAM,MAAM,aAAa,KAAK,WAAW,IAAI,KAAK,aAAa,OAAO;AAE5E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAeO,IAAM,mCAAmC,OAAO,MAAqC,YAA0B;AACpH,QAAM,MAAM,MAAM,0BAA0B,KAAK,YAAY,OAAO;AAEpE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAWO,IAAM,kCAAkC,OAAO,MAAoC,YAA0B;AAClH,QAAM,MAAM,MAAM,yBAAyB,KAAK,aAAa,OAAO;AAEpE,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,WAAW,IAAI,OAAO;AAE3D,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAaO,IAAM,oBAAoB,OAAO,MAAsB,YAA0B;AACtF,QAAM,MAAM,MAAM,WAAW,KAAK,WAAW,IAAI,OAAO;AAExD,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,uBAAuB,OAAO,MAAyB,YAA0B;AAC5F,QAAM,MAAM,MAAM,cAAc,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAE5E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,+BAA+B,OAAO,MAAiC,YAA0B;AAC5G,QAAM,MAAM,MAAM,sBAAsB,KAAK,WAAW,IAAI,KAAK,aAAa,OAAO;AAErF,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;AAcO,IAAM,qBAAqB,OAAO,MAAuB,YAA0B;AACxF,QAAM,MAAM,MAAM,YAAY,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;AAE1E,MAAI,IAAI,UAAU,KAAK;AACrB,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,KAAK,UAAU,IAAI,QAAQ,IAAI;AAAA,MACvC;AAAA,IACF;AAAA,IACA,mBAAmB,IAAI;AAAA,EACzB;AACF;;;ACz/MA,YAAY,SAAS;AAEd,IAAM,6BAAiC,WAAO;AAAA,EACnD,cAAkB,WAAO,EAAE,SAAS,EAAE,SAAS,4BAA4B;AAC7E,CAAC;AAEM,IAAM,sEAAsE;AAC5E,IAAM,sEAAsE;AAE5E,IAAM,sCAAsC;AAC5C,IAAM,sCAAsC;AAI5C,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,UAAc,UAAU,WAAO;AAAA,MAC/B,MAAU,WAAO;AAAA,MACjB,aAAiB,WAAO;AAAA,MACxB,cAAkB,WAAO;AAAA,MACzB,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MAC7C,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC;AAAA,MAC9R,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC;AAAA,MAC1E,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC;AAAA,MAChI,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC;AAAA,MACvC,gBAAoB,WAAO,EAAE,SAAS,gCAAgC;AAAA,MACtE,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC;AAAA,MACjJ,qBAAyB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MACrD,sBAA0B,SAAK,CAAC,QAAQ,MAAM,OAAO,eAAe,CAAC;AAAA,MACrE,wBAA4B,YAAQ;AAAA,MACpC,YAAgB,YAAQ;AAAA,MACxB,YAAgB,YAAQ;AAAA,MACxB,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACxD,uBAA2B,UAAM,CAAK,SAAK,CAAC,aAAa,QAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/E,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACrD,wBAA4B,WAAO;AAAA,MACnC,sBAA0B,UAAM,CAAK,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/T,yBAA6B,UAAM,CAAK,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3G,sBAA0B,UAAM,CAAK,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MACjK,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,sBAA0B,UAAM,CAAK,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAClL,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,mEAAmE,EAAE,IAAI,mEAAmE,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,2DAA2D;AAAA,MAC/R,YAAgB,UAAU,WAAO,CAAC,EAAE,SAAS,wHAAwH;AAAA,IACvK,CAAC,CAAC;AAAA,IACA,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,mCAAmC,EAAE,IAAI,mCAAmC,EAAE,SAAS,wBAAwB;AAAA,EACjJ,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAIM,IAAM,qDAAqD;AAC3D,IAAM,qDAAqD;AAI3D,IAAM,uBAA2B,WAAO;AAAA,EAC7C,cAAkB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,EAC/D,aAAiB,SAAK,CAAC,YAAY,SAAS,CAAC,EAAE,SAAS,kCAAkC;AAAA,EAC1F,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,EAAE,SAAS,4BAA4B;AAAA,EACrU,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,EAAE,SAAS,yBAAyB;AAAA,EAC9G,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,EAAE,SAAS,sBAAsB;AAAA,EACjK,gBAAoB,UAAM,CAAK,UAAM,CAAK,UAAM,CAAK,SAAK,CAAC,YAAY,QAAQ,CAAC,GAAM,SAAK,CAAC,wBAAwB,wBAAwB,sBAAsB,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,sCAAsC,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,UAAU,UAAU,SAAS,QAAQ,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,gCAAgC;AAAA,EAC1tB,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,EAAE,SAAS,sBAAsB;AAAA,EAClL,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,mCAAmC;AAAA,EAC1G,mBAAuB,WAAO,EAAE,SAAS,EAAE,SAAS,uCAAuC;AAAA,EAC3F,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC,EAAE,SAAS,wBAAwB;AAAA,EAC1E,YAAgB,YAAQ,EAAE,SAAS,EAAE,SAAS,gDAAgD;AAAA,EAC9F,YAAgB,YAAQ,EAAE,SAAS,EAAE,SAAS,oCAAoC;AAAA,EAClF,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,6CAA6C;AAAA,EAC3H,uBAA2B,SAAK,CAAC,aAAa,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,wCAAwC;AAAA,EACrH,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,kDAAkD,EAAE,IAAI,kDAAkD,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,gGAAgG;AAC/S,CAAC;AAEM,IAAM,kEAAkE;AACxE,IAAM,kEAAkE;AAIxE,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,MACpB,MAAU,WAAO;AAAA,MACjB,aAAiB,WAAO;AAAA,MACxB,cAAkB,WAAO;AAAA,MACzB,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MAC7C,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC;AAAA,MAC9R,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC;AAAA,MAC1E,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC;AAAA,MAChI,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC;AAAA,MACvC,gBAAoB,WAAO,EAAE,SAAS,gCAAgC;AAAA,MACtE,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC;AAAA,MACjJ,qBAAyB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MACrD,sBAA0B,SAAK,CAAC,QAAQ,MAAM,OAAO,eAAe,CAAC;AAAA,MACrE,wBAA4B,YAAQ;AAAA,MACpC,YAAgB,YAAQ;AAAA,MACxB,YAAgB,YAAQ;AAAA,MACxB,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACxD,uBAA2B,UAAM,CAAK,SAAK,CAAC,aAAa,QAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/E,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACrD,wBAA4B,WAAO;AAAA,MACnC,sBAA0B,UAAM,CAAK,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/T,yBAA6B,UAAM,CAAK,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3G,sBAA0B,UAAM,CAAK,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MACjK,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,sBAA0B,UAAM,CAAK,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAClL,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,+DAA+D,EAAE,IAAI,+DAA+D,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,2DAA2D;AAAA,MACvR,YAAgB,UAAU,WAAO,CAAC,EAAE,SAAS,wHAAwH;AAAA,IACvK,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,gBAAoB,WAAO,EAAE,KAAK,EAAE,SAAS,gBAAgB;AAC/D,CAAC;AAEM,IAAM,+DAA+D;AACrE,IAAM,+DAA+D;AAIrE,IAAM,wBAA4B,WAAO;AAAA,EAC9C,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,MACpB,MAAU,WAAO;AAAA,MACjB,aAAiB,WAAO;AAAA,MACxB,cAAkB,WAAO;AAAA,MACzB,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MAC7C,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC;AAAA,MAC9R,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC;AAAA,MAC1E,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC;AAAA,MAChI,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC;AAAA,MACvC,gBAAoB,WAAO,EAAE,SAAS,gCAAgC;AAAA,MACtE,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC;AAAA,MACjJ,qBAAyB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MACrD,sBAA0B,SAAK,CAAC,QAAQ,MAAM,OAAO,eAAe,CAAC;AAAA,MACrE,wBAA4B,YAAQ;AAAA,MACpC,YAAgB,YAAQ;AAAA,MACxB,YAAgB,YAAQ;AAAA,MACxB,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACxD,uBAA2B,UAAM,CAAK,SAAK,CAAC,aAAa,QAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/E,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACrD,wBAA4B,WAAO;AAAA,MACnC,sBAA0B,UAAM,CAAK,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/T,yBAA6B,UAAM,CAAK,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3G,sBAA0B,UAAM,CAAK,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MACjK,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,sBAA0B,UAAM,CAAK,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAClL,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,4DAA4D,EAAE,IAAI,4DAA4D,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,2DAA2D;AAAA,MACjR,YAAgB,UAAU,WAAO,CAAC,EAAE,SAAS,wHAAwH;AAAA,MACrK,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC1D,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,gBAAoB,WAAO,EAAE,KAAK;AACpC,CAAC;AAGM,IAAM,qDAAqD;AAC3D,IAAM,qDAAqD;AAI3D,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACrC,qBAAyB,UAAM,CAAK,WAAO,EAAE,KAAK,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAC1E,uBAA2B,SAAK,CAAC,aAAa,QAAQ,CAAC,EAAE,SAAS;AAAA,EAClE,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,kDAAkD,EAAE,IAAI,kDAAkD,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,+FAA+F;AAAA,EAC5S,wBAA4B,YAAQ,EAAE,SAAS,EAAE,SAAS,6EAA6E;AAAA,EACvI,sBAA0B,SAAK,CAAC,QAAQ,MAAM,OAAO,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,+EAA+E;AAAA,EAC1K,YAAgB,UAAU,WAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,wFAAyF;AAC1J,CAAC;AAEM,IAAM,kEAAkE;AACxE,IAAM,kEAAkE;AAIxE,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,MACpB,MAAU,WAAO;AAAA,MACjB,aAAiB,WAAO;AAAA,MACxB,cAAkB,WAAO;AAAA,MACzB,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MAC7C,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC;AAAA,MAC9R,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC;AAAA,MAC1E,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC;AAAA,MAChI,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC;AAAA,MACvC,gBAAoB,WAAO,EAAE,SAAS,gCAAgC;AAAA,MACtE,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC;AAAA,MACjJ,qBAAyB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MACrD,sBAA0B,SAAK,CAAC,QAAQ,MAAM,OAAO,eAAe,CAAC;AAAA,MACrE,wBAA4B,YAAQ;AAAA,MACpC,YAAgB,YAAQ;AAAA,MACxB,YAAgB,YAAQ;AAAA,MACxB,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACxD,uBAA2B,UAAM,CAAK,SAAK,CAAC,aAAa,QAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/E,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACrD,wBAA4B,WAAO;AAAA,MACnC,sBAA0B,UAAM,CAAK,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/T,yBAA6B,UAAM,CAAK,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3G,sBAA0B,UAAM,CAAK,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MACjK,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,sBAA0B,UAAM,CAAK,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAClL,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,+DAA+D,EAAE,IAAI,+DAA+D,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,2DAA2D;AAAA,MACvR,YAAgB,UAAU,WAAO,CAAC,EAAE,SAAS,wHAAwH;AAAA,IACvK,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,gBAAoB,WAAO,EAAE,KAAK,EAAE,SAAS,gBAAgB;AAC/D,CAAC;AAEM,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,+BAAmC,WAAO;AAAA,EACrD,gBAAoB,WAAO,EAAE,KAAK;AACpC,CAAC;AAEM,IAAM,0CAA0C;AAChD,IAAM,sCAAsC;AAE5C,IAAM,2CAA2C;AACjD,IAAM,uCAAuC;AAE7C,IAAM,2CAA2C;AACjD,IAAM,8CAA8C;AAEpD,IAAM,oCAAwC,WAAO;AAAA,EAC1D,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,mCAAmC,EAAE,QAAQ,uCAAuC;AAAA,EACrH,UAAc,WAAO,EAAE,IAAI,oCAAoC,EAAE,QAAQ,wCAAwC;AAAA,EACjH,WAAe,SAAK,CAAC,WAAW,YAAY,CAAC,EAAE,QAAQ,wCAAwC;AAAA,EAC/F,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,2CAA2C;AAC7F,CAAC;AAEM,IAAM,mDAAmD;AACzD,IAAM,mDAAmD;AAEzD,IAAM,6CAA6C;AACnD,IAAM,6CAA6C;AAInD,IAAM,iCAAqC,WAAO;AAAA,EACvD,QAAY,UAAU,WAAO;AAAA,IAC7B,kBAAsB,WAAO;AAAA,IAC7B,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,gDAAgD,EAAE,IAAI,gDAAgD;AAAA,IACxI,uBAA2B,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,sHAAsH;AAAA,IAC5L,SAAa,WAAO;AAAA,IACpB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,kBAAsB,UAAU,WAAO,CAAC,EAAE,SAAS,oJAAoJ;AAAA,EACzM,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,0CAA0C,EAAE,IAAI,0CAA0C,EAAE,SAAS,0BAA0B;AAAA,EACjK,CAAC;AACD,CAAC;AAGM,IAAM,6BAAiC,WAAO;AAAA,EACnD,gBAAoB,WAAO,EAAE,KAAK;AAAA,EAClC,WAAe,WAAO;AACxB,CAAC;AAEM,IAAM,iEAAiE;AACvE,IAAM,iEAAiE;AAEvE,IAAM,6CAA6C;AACnD,IAAM,6CAA6C;AAInD,IAAM,+BAAmC,WAAO;AAAA,EACrD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,aAAiB,WAAO;AAAA,IACxB,cAAkB,WAAO;AAAA,IACzB,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,IAC7C,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC;AAAA,IAC9R,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC;AAAA,IAC1E,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC;AAAA,IAChI,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC;AAAA,IACvC,gBAAoB,WAAO,EAAE,SAAS,gCAAgC;AAAA,IACtE,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC;AAAA,IACjJ,qBAAyB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,IACrD,sBAA0B,SAAK,CAAC,QAAQ,MAAM,OAAO,eAAe,CAAC;AAAA,IACrE,wBAA4B,YAAQ;AAAA,IACpC,YAAgB,YAAQ;AAAA,IACxB,YAAgB,YAAQ;AAAA,IACxB,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACxD,uBAA2B,UAAM,CAAK,SAAK,CAAC,aAAa,QAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/E,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACrD,wBAA4B,WAAO;AAAA,IACnC,sBAA0B,UAAM,CAAK,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/T,yBAA6B,UAAM,CAAK,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC3G,sBAA0B,UAAM,CAAK,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IACjK,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5D,sBAA0B,UAAM,CAAK,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAClL,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/C,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,8DAA8D,EAAE,IAAI,8DAA8D,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,2DAA2D;AAAA,IACrR,YAAgB,UAAU,WAAO,CAAC,EAAE,SAAS,wHAAwH;AAAA,IACrK,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,0CAA0C,EAAE,IAAI,0CAA0C;AAAA,IAC5H,uBAA2B,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,sHAAsH;AAAA,IAC5L,sBAA0B,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IAC3D,SAAa,WAAO;AAAA,IACpB,kBAAsB,UAAU,WAAO,CAAC,EAAE,SAAS,oJAAoJ;AAAA,EACzM,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,iCAAqC,WAAO;AAAA,EACvD,gBAAoB,WAAO,EAAE,KAAK;AAAA,EAClC,WAAe,WAAO;AACxB,CAAC;AAEM,IAAM,+BAAmC,WAAO;AAAA,EACrD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAC1C,CAAC;AAEM,IAAM,mCAAuC,WAAO;AAAA,EACzD,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO;AAAA,IACtB,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,EAC1C,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,0CAA8C,WAAO;AAAA,EAChE,gBAAoB,WAAO,EAAE,KAAK;AAAA,EAClC,WAAe,WAAO;AACxB,CAAC;AAEM,IAAM,4CAAgD,WAAO;AAAA,EAClE,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO,EAAE,SAAS,6IAA6I;AAAA,EAChL,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,kCAAsC,WAAO;AAAA,EACxD,gBAAoB,WAAO,EAAE,KAAK;AACpC,CAAC;AAEM,IAAM,oCAAwC,WAAO;AAAA,EAC1D,QAAY,WAAO;AAAA,IACnB,gBAAoB,UAAU,WAAO,CAAC,EAAE,SAAS,iCAAiC;AAAA,EACpF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,4BAAgC,WAAO;AAAA,EAClD,gBAAoB,WAAO,EAAE,KAAK;AACpC,CAAC;AAEM,IAAM,iCAAqC,WAAO;AAAA,EACvD,WAAe,WAAO,EAAE,SAAS;AACnC,CAAC;AAEM,IAAM,8BAAkC,WAAO;AAAA,EACpD,QAAY,WAAO;AAAA,IACnB,UAAc,WAAO,EAAE,SAAS;AAAA,IAChC,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAC5D,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,+BAAmC,WAAO;AAAA,EACrD,gBAAoB,WAAO,EAAE,KAAK;AACpC,CAAC;AAMM,IAAM,6BAAiC,WAAO;AAAA,EACnD,UAAc,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACvC,YAAgB,UAAM,CAAK,WAAO,EAAE,IAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AACnE,CAAC;AAEM,IAAM,iCAAqC,WAAO;AAAA,EACvD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,+BAAmC,WAAO;AAAA,EACrD,gBAAoB,WAAO,EAAE,KAAK;AACpC,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC;AAAA,EAC9R,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC;AAAA,EAC1E,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC;AAAA,EAChI,gBAAoB,UAAM,CAAK,UAAM,CAAK,UAAM,CAAK,SAAK,CAAC,YAAY,QAAQ,CAAC,GAAM,SAAK,CAAC,wBAAwB,wBAAwB,sBAAsB,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,sCAAsC,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,UAAU,UAAU,SAAS,QAAQ,SAAS,QAAQ,CAAC,CAAC,CAAC;AAAA,EAC/qB,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC;AAAA,EACjJ,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC;AAAA,EACvC,sBAA0B,UAAM,CAAK,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAC1U,yBAA6B,UAAM,CAAK,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EACtH,sBAA0B,UAAM,CAAK,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAC5K,yBAA6B,UAAM,CAAK,UAAM,CAAK,UAAM,CAAK,UAAM,CAAK,SAAK,CAAC,YAAY,QAAQ,CAAC,GAAM,SAAK,CAAC,wBAAwB,wBAAwB,sBAAsB,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,wCAAwC,sCAAsC,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,UAAU,UAAU,SAAS,QAAQ,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAC3tB,sBAA0B,UAAM,CAAK,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAC/L,CAAC;AAEM,IAAM,wEAAwE;AAC9E,IAAM,wEAAwE;AAI9E,IAAM,iCAAqC,WAAO;AAAA,EACvD,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,MACpB,MAAU,WAAO;AAAA,MACjB,aAAiB,WAAO;AAAA,MACxB,cAAkB,WAAO;AAAA,MACzB,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MAC7C,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC;AAAA,MAC9R,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC;AAAA,MAC1E,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC;AAAA,MAChI,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC;AAAA,MACvC,gBAAoB,WAAO,EAAE,SAAS,gCAAgC;AAAA,MACtE,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC;AAAA,MACjJ,qBAAyB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MACrD,sBAA0B,SAAK,CAAC,QAAQ,MAAM,OAAO,eAAe,CAAC;AAAA,MACrE,wBAA4B,YAAQ;AAAA,MACpC,YAAgB,YAAQ;AAAA,MACxB,YAAgB,YAAQ;AAAA,MACxB,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACxD,uBAA2B,UAAM,CAAK,SAAK,CAAC,aAAa,QAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/E,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACrD,wBAA4B,WAAO;AAAA,MACnC,sBAA0B,UAAM,CAAK,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/T,yBAA6B,UAAM,CAAK,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3G,sBAA0B,UAAM,CAAK,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MACjK,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,sBAA0B,UAAM,CAAK,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAClL,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,qEAAqE,EAAE,IAAI,qEAAqE,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,2DAA2D;AAAA,MACnS,YAAgB,UAAU,WAAO,CAAC,EAAE,SAAS,wHAAwH;AAAA,IACvK,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,gBAAoB,WAAO,EAAE,KAAK;AACpC,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,YAAgB,YAAQ,EAAE,SAAS;AAAA,EACnC,YAAgB,YAAQ,EAAE,SAAS;AAAA,EACnC,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AACzE,CAAC;AAEM,IAAM,oEAAoE;AAC1E,IAAM,oEAAoE;AAI1E,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,MACpB,MAAU,WAAO;AAAA,MACjB,aAAiB,WAAO;AAAA,MACxB,cAAkB,WAAO;AAAA,MACzB,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MAC7C,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,aAAiB,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC;AAAA,MAC9R,gBAAoB,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC;AAAA,MAC1E,aAAiB,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC;AAAA,MAChI,YAAgB,SAAK,CAAC,SAAS,OAAO,CAAC;AAAA,MACvC,gBAAoB,WAAO,EAAE,SAAS,gCAAgC;AAAA,MACtE,aAAiB,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC;AAAA,MACjJ,qBAAyB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,MACrD,sBAA0B,SAAK,CAAC,QAAQ,MAAM,OAAO,eAAe,CAAC;AAAA,MACrE,wBAA4B,YAAQ;AAAA,MACpC,YAAgB,YAAQ;AAAA,MACxB,YAAgB,YAAQ;AAAA,MACxB,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACxD,uBAA2B,UAAM,CAAK,SAAK,CAAC,aAAa,QAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/E,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACrD,wBAA4B,WAAO;AAAA,MACnC,sBAA0B,UAAM,CAAK,SAAK,CAAC,UAAU,eAAe,gBAAgB,SAAS,aAAa,cAAc,uBAAuB,wBAAwB,oBAAoB,oBAAoB,yBAAyB,kBAAkB,qBAAqB,oBAAoB,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/T,yBAA6B,UAAM,CAAK,SAAK,CAAC,cAAc,YAAY,UAAU,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3G,sBAA0B,UAAM,CAAK,SAAK,CAAC,qBAAqB,qBAAqB,WAAW,aAAa,aAAa,WAAW,cAAc,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MACjK,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5D,sBAA0B,UAAM,CAAK,SAAK,CAAC,2BAA2B,2BAA2B,kBAAkB,iCAAiC,gBAAgB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAClL,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,EAAE,IAAI,iEAAiE,EAAE,IAAI,iEAAiE,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,2DAA2D;AAAA,MAC3R,YAAgB,UAAU,WAAO,CAAC,EAAE,SAAS,wHAAwH;AAAA,IACvK,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,gBAAoB,WAAO,EAAE,KAAK;AACpC,CAAC;AAEM,IAAM,8CAA8C;AACpD,IAAM,0CAA0C;AAChD,IAAM,0CAA0C;AAEhD,IAAM,gCAAgC,CAAC;AACvC,IAAM,2CAA2C;AAEjD,IAAM,kBAAsB,WAAO;AAAA,EACxC,gBAAoB,WAAO;AAAA,EAC3B,2BAA+B,WAAO,EAAE,IAAI,EAAE,IAAI,uCAAuC,EAAE,IAAI,uCAAuC,EAAE,QAAQ,2CAA2C;AAAA,EAC3L,4BAAgC,WAAO;AAAA,EACvC,WAAe,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,QAAQ,6BAA6B;AAAA,EACxF,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,SAAS;AAAA,EAC7D,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,sJAAsJ;AAAA,EACpN,uBAA2B,YAAQ,EAAE,QAAQ,wCAAwC;AACvF,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,YAAgB,WAAO;AAAA,IACvB,aAAiB,WAAO;AAAA,IACxB,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACrD,2BAA+B,WAAO;AAAA,IACtC,4BAAgC,WAAO;AAAA,IACvC,WAAe,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IACjD,YAAgB,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC1E,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,kIAAkI;AAAA,IACrL,UAAc,SAAK,CAAC,WAAW,UAAU,eAAe,aAAa,UAAU,CAAC;AAAA,IAChF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,4BAA4B;AAClC,IAAM,wBAAwB;AAE9B,IAAM,6BAA6B;AACnC,IAAM,yBAAyB;AAC/B,IAAM,yBAAyB;AAI/B,IAAM,sBAA0B,WAAO;AAAA,EAC5C,SAAa,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EACtC,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,qBAAqB,EAAE,QAAQ,yBAAyB;AAAA,EAC/F,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,sBAAsB,EAAE,IAAI,sBAAsB,EAAE,QAAQ,0BAA0B;AAAA,EACvH,UAAc,UAAU,SAAK,CAAC,WAAW,UAAU,eAAe,aAAa,UAAU,CAAC,CAAC;AAAA,EAC3F,mBAAuB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EACnE,oBAAwB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AACtE,CAAC;AAEM,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,YAAgB,WAAO;AAAA,IACvB,aAAiB,WAAO;AAAA,IACxB,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACrD,2BAA+B,WAAO;AAAA,IACtC,4BAAgC,WAAO;AAAA,IACvC,WAAe,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IACjD,YAAgB,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC1E,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,kIAAkI;AAAA,IACrL,UAAc,SAAK,CAAC,WAAW,UAAU,eAAe,aAAa,UAAU,CAAC;AAAA,IAChF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,kBAAsB,WAAO;AAAA,EACxC,SAAa,WAAO,EAAE,KAAK;AAC7B,CAAC;AAEM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,YAAgB,WAAO;AAAA,IACvB,aAAiB,WAAO;AAAA,IACxB,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACrD,2BAA+B,WAAO;AAAA,IACtC,4BAAgC,WAAO;AAAA,IACvC,WAAe,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IACjD,YAAgB,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC1E,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,kIAAkI;AAAA,IACrL,UAAc,SAAK,CAAC,WAAW,UAAU,eAAe,aAAa,UAAU,CAAC;AAAA,IAChF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,mBAAuB,SAAK,CAAC,QAAQ,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,sCAAsC;AAAA,EACzG,oBAAwB,WAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,8EAA8E;AAC5I,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,QAAY,UAAU,WAAO;AAAA,MAC7B,MAAU,WAAO,EAAE,SAAS,mCAAmC;AAAA,MAC/D,QAAY,WAAO,EAAE,SAAS,qCAAqC;AAAA,MACnE,oBAAwB,WAAO,EAAE,SAAS,+LAAiM;AAAA,MAC3O,cAAkB,WAAO,EAAE,SAAS,oDAAoD;AAAA,MACxF,QAAY,SAAK,CAAC,SAAS,iBAAiB,QAAQ,CAAC,EAAE,SAAS,8BAA8B;AAAA,MAC9F,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,oCAAoC;AAAA,MAC/G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,yBAAyB;AAAA,MAClG,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,kCAAkC;AAAA,MAC3G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,MAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,uBAAuB;AAAA,IACvF,CAAC,CAAC;AAAA,IACA,SAAa,WAAO,EAAE,SAAS,+BAA+B;AAAA,EAChE,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,0BAA0B;AAEhC,IAAM,qCAAqC;AAE3C,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,uBAAuB,EAAE,SAAS,qCAAqC;AAAA,EACvG,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,qCAAqC;AAAA,EAC9G,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,QAAQ,kCAAkC,EAAE,SAAS,gCAAgC;AAAA,EAC/H,QAAY,SAAK,CAAC,SAAS,iBAAiB,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,kGAAmG;AAChL,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,mCAAmC;AAAA,IAC/D,QAAY,WAAO,EAAE,SAAS,qCAAqC;AAAA,IACnE,oBAAwB,WAAO,EAAE,SAAS,+LAAiM;AAAA,IAC3O,cAAkB,WAAO,EAAE,SAAS,oDAAoD;AAAA,IACxF,QAAY,SAAK,CAAC,SAAS,iBAAiB,QAAQ,CAAC,EAAE,SAAS,8BAA8B;AAAA,IAC9F,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,oCAAoC;AAAA,IAC/G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,yBAAyB;AAAA,IAClG,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,kCAAkC;AAAA,IAC3G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,uBAAuB;AAAA,IACrF,WAAe,WAAO,EAAE,SAAS,wDAAmD;AAAA,EACtF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,MAAU,WAAO,EAAE,KAAK,EAAE,SAAS,0BAA0B;AAC/D,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO,EAAE,SAAS,sBAAsB;AAAA,EACzD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,MAAU,WAAO,EAAE,KAAK,EAAE,SAAS,0BAA0B;AAC/D,CAAC;AAEM,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,SAAK,CAAC,SAAS,iBAAiB,QAAQ,CAAC,EAAE,SAAS,gFAAiF;AACnJ,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,mCAAmC;AAAA,IAC/D,QAAY,WAAO,EAAE,SAAS,qCAAqC;AAAA,IACnE,oBAAwB,WAAO,EAAE,SAAS,+LAAiM;AAAA,IAC3O,cAAkB,WAAO,EAAE,SAAS,oDAAoD;AAAA,IACxF,QAAY,SAAK,CAAC,SAAS,iBAAiB,QAAQ,CAAC,EAAE,SAAS,8BAA8B;AAAA,IAC9F,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,oCAAoC;AAAA,IAC/G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,yBAAyB;AAAA,IAClG,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,kCAAkC;AAAA,IAC3G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,uBAAuB;AAAA,EACvF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAIM,IAAM,kCAAkC;AAIxC,IAAM,qBAAyB,WAAO;AAAA,EAC3C,iBAAqB,WAAO,EAAE,IAAI,CAAC;AAAA,EACnC,eAAmB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,+BAA+B;AAAA,EACtE,sBAA0B,WAAO;AAAA,IACjC,iBAAqB,WAAO,EAAE,SAAS;AAAA,IACvC,0BAA8B,YAAQ,EAAE,SAAS;AAAA,EACnD,CAAC,EAAE,SAAS;AAAA,EACV,uBAA2B,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EACvE,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,SAAS;AAC/D,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,UAAU,WAAO;AAAA,IAC7B,eAAmB,WAAO;AAAA,IAC1B,cAAkB,WAAO;AAAA,IACzB,UAAc,WAAO;AAAA,EACvB,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,iCAAiC;AACvC,IAAM,6BAA6B;AAEnC,IAAM,kCAAkC;AACxC,IAAM,8BAA8B;AACpC,IAAM,8BAA8B;AAEpC,IAAM,kCAAkC;AACxC,IAAM,qCAAqC;AAG3C,IAAM,2BAA+B,WAAO;AAAA,EACjD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,0BAA0B,EAAE,QAAQ,8BAA8B;AAAA,EACnG,UAAc,WAAO,EAAE,IAAI,2BAA2B,EAAE,IAAI,2BAA2B,EAAE,QAAQ,+BAA+B;AAAA,EAChI,WAAe,SAAK,CAAC,cAAc,cAAc,eAAe,CAAC,EAAE,QAAQ,+BAA+B;AAAA,EAC1G,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,kCAAkC;AAAA,EAClF,UAAc,SAAK,CAAC,cAAc,UAAU,OAAO,SAAS,CAAC,EAAE,SAAS;AAAA,EACxE,uBAA2B,WAAO,EAAE,SAAS;AAAA,EAC7C,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,iGAAiG;AAAA,EACpJ,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,iBAAqB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EACjE,kBAAsB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EAClE,YAAgB,WAAW,WAAO,GAAO,WAAO,CAAC,EAAE,SAAS,EAAE,SAAS,yJAAyJ;AAClO,CAAC;AAEM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,iBAAqB,WAAO;AAAA,IAC5B,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAClD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,uBAA2B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC1D,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,eAAmB,YAAQ;AAAA,IAC3B,UAAc,SAAK,CAAC,cAAc,UAAU,OAAO,SAAS,CAAC;AAAA,EAC/D,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,iBAAqB,WAAO;AAAA,MAC5B,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,MAClD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,uBAA2B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC1D,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,UAAc,SAAK,CAAC,cAAc,UAAU,OAAO,SAAS,CAAC;AAAA,MAC7D,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACjD,4BAAgC,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,8PAA8P;AAAA,IAC1U,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,2CAA2C;AACjD,IAAM,uCAAuC;AAI7C,IAAM,qCAAyC,WAAO;AAAA,EAC3D,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,oCAAoC,EAAE,QAAQ,wCAAwC;AACzH,CAAC;AAEM,IAAM,kCAAsC,WAAO;AAAA,EACxD,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,QAAY,UAAU,WAAO,CAAC;AAAA,MAC9B,UAAc,WAAW,WAAO,GAAO,UAAU,YAAQ,CAAC,CAAC;AAAA,IAC7D,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,sCAA0C,WAAO;AAAA,EAC5D,SAAa,WAAW,WAAO,GAAO,WAAO,CAAC,EAAE,SAAS,qJAAqJ;AAChN,CAAC;AAEM,IAAM,+CAA+C;AACrD,IAAM,+CAA+C;AAErD,IAAM,qDAAqD;AAC3D,IAAM,qDAAqD;AAI3D,IAAM,mCAAuC,WAAO;AAAA,EACzD,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,4CAA4C,EAAE,IAAI,4CAA4C;AAAA,IAC9H,aAAiB,WAAW,WAAO,GAAO,WAAO,EAAE,IAAI,EAAE,IAAI,kDAAkD,EAAE,IAAI,kDAAkD,CAAC;AAAA,EAC1K,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,2BAA+B,WAAO;AAAA,EACjD,YAAgB,WAAO,EAAE,IAAI,CAAC;AAChC,CAAC;AAEM,IAAM,+BAAmC,WAAO;AAAA,EACrD,QAAY,WAAO;AAAA,IACnB,cAAkB,WAAO;AAAA,IACzB,YAAgB,WAAO;AAAA,IACvB,cAAkB,WAAO;AAAA,EAC3B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,+BAAmC,WAAO;AAAA,EACrD,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC;AACpD,CAAC;AAEM,IAAM,iCAAqC,WAAO;AAAA,EACvD,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,iBAAqB,WAAO;AAAA,MAC5B,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,MAClD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,uBAA2B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC1D,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,UAAc,SAAK,CAAC,cAAc,UAAU,OAAO,SAAS,CAAC;AAAA,MAC7D,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACjD,4BAAgC,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,8PAA8P;AAAA,IAC1U,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,aAAiB,WAAO;AAAA,EACnC,SAAa,WAAO,EAAE,MAAM;AAAA,EAC5B,YAAgB,WAAO;AACzB,CAAC;AAEM,IAAM,iBAAqB,WAAO;AAAA,EACvC,QAAY,WAAO;AAAA,IACnB,gCAAoC,WAAO,EAAE,SAAS;AAAA,EACxD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAUM,IAAM,aAAiB,UAAM,CAAK,WAAO;AAAA,EAC9C,QAAY,YAAQ,UAAU;AAAA,EAC9B,SAAa,WAAO,EAAE,MAAM;AAAA,EAC5B,YAAgB,WAAO,EAAE,IAAI,CAAC;AAChC,CAAC,GAAM,WAAO;AAAA,EACZ,QAAY,YAAQ,OAAO;AAAA,EAC3B,QAAY,WAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,YAAgB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,+EAA+E;AAAA,EACnI,YAAgB,SAAK,CAAC,UAAU,KAAK,CAAC,EAAE,SAAS;AACnD,CAAC,GAAM,WAAO;AAAA,EACZ,QAAY,YAAQ,WAAW;AAAA,EAC/B,SAAa,WAAO,EAAE,MAAM;AAAA,EAC5B,SAAa,WAAO,EAAE,IAAI,CAAC;AAAA,EAC3B,gCAAoC,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAC/D,CAAC,CAAC,CAAC;AAEI,IAAM,iBAAqB,WAAO;AAAA,EACvC,QAAY,WAAO;AAAA,IACnB,gBAAoB,WAAO;AAAA,IAC3B,iBAAqB,WAAO;AAAA,IAC5B,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,mCAAmC;AAIzC,IAAM,2BAA+B,WAAO;AAAA,EACjD,SAAa,WAAO,EAAE,MAAM,EAAE,IAAI,gCAAgC;AACpE,CAAC;AAEM,IAAM,+BAAmC,WAAO;AAAA,EACrD,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,4BAA4B;AAElC,IAAM,kCAAkC;AAIxC,IAAM,oBAAwB,WAAO;AAAA,EAC1C,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,yBAAyB;AAAA,EAC1D,gBAAoB,WAAO,EAAE,IAAI,+BAA+B;AAClE,CAAC;AAEM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,mBAAuB,WAAO;AAAA,EACzC,gBAAoB,WAAO;AAAA,EAC3B,iBAAqB,WAAO;AAC9B,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,gBAAoB,WAAO;AAAA,IAC3B,iBAAqB,WAAO;AAAA,IAC5B,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,YAAgB,SAAK,CAAC,UAAU,KAAK,CAAC;AAAA,EACtC,gBAAoB,WAAO,EAAE,IAAI;AAAA,EACjC,yBAA6B,SAAK,CAAC,SAAS,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,2EAA2E;AAAA,EACpJ,kBAAsB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,yIAAyI;AAAA,EACnM,SAAa,WAAO,EAAE,MAAM,EAAE,SAAS;AACzC,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO,EAAE,IAAI;AAAA,EAC1B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,aAAiB,WAAO,EAAE,KAAK,EAAE,SAAS;AAC5C,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,gBAAoB,WAAO;AAAA,IAC3B,aAAiB,WAAO;AAAA,IACxB,cAAkB,WAAO;AAAA,EAC3B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,kCAAkC,IAAI,OAAO,0BAA0B;AAG7E,IAAM,uBAA2B,WAAO;AAAA,EAC7C,WAAe,WAAO,EAAE,MAAM,+BAA+B;AAC/D,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,UAAU,WAAO;AAAA,IAC7B,OAAW,WAAO;AAAA,IAClB,OAAW,WAAO;AAAA,IAClB,OAAW,WAAO;AAAA,IAClB,OAAW,WAAO;AAAA,IAClB,KAAS,WAAO;AAAA,IAChB,KAAS,WAAO;AAAA,EAClB,CAAC,CAAC;AACF,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,WAAe,WAAO,EAAE,SAAS;AAAA,EACjC,QAAY,WAAO,EAAE,SAAS;AAChC,CAAC;AAEM,IAAM,wBAA4B,SAAK;AAGvC,IAAM,6BAA6B;AACnC,IAAM,yBAAyB;AAE/B,IAAM,8BAA8B;AACpC,IAAM,0BAA0B;AAEhC,IAAM,8BAA8B;AACpC,IAAM,iCAAiC;AAKvC,IAAM,uBAA2B,WAAO;AAAA,EAC7C,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,sBAAsB,EAAE,QAAQ,0BAA0B;AAAA,EAC3F,UAAc,WAAO,EAAE,IAAI,uBAAuB,EAAE,QAAQ,2BAA2B;AAAA,EACvF,WAAe,SAAK,CAAC,cAAc,YAAY,YAAY,CAAC,EAAE,QAAQ,2BAA2B;AAAA,EACjG,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,8BAA8B;AAAA,EAC9E,WAAe,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EACxC,YAAgB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EACzC,cAAkB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAC3C,UAAc,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EACvC,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC,EAAE,SAAS;AAAA,EACxD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,UAAc,SAAK,CAAC,aAAa,eAAe,gBAAgB,qBAAqB,CAAC,EAAE,SAAS;AAAA,EACjG,iBAAqB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EACjE,kBAAsB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EAClE,gBAAoB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAC7C,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,6FAA6F;AAAA,EAChJ,YAAgB,WAAW,WAAO,GAAO,WAAO,CAAC,EAAE,SAAS,EAAE,SAAS,0JAA0J;AACnO,CAAC;AAEM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,IAC7C,YAAgB,WAAO;AAAA,IACvB,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,2FAA4F;AAAA,IAC/I,UAAc,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC7C,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACxD,mBAAuB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACtD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,YAAgB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACjD,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,qBAAyB,UAAM,CAAK,WAAO,EAAE,SAAS,wBAAwB,GAAM,SAAK,CAAC,CAAC;AAAA,IAC3F,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACxD,gBAAoB,WAAO;AAAA,IAC3B,YAAgB,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC1E,cAAkB,UAAM,CAAK,WAAO;AAAA,MACpC,UAAc,WAAO;AAAA,MACrB,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5C,UAAc,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IAChD,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IACZ,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,gBAAoB,WAAO;AAAA,EACtC,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,oBAAwB,WAAO,EAAE,SAAS;AAC5C,CAAC;AAEM,IAAM,kBAAsB,WAAO;AAAA,EACxC,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,IAC7C,YAAgB,WAAO;AAAA,IACvB,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,2FAA4F;AAAA,IAC/I,UAAc,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC7C,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACxD,mBAAuB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACtD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,YAAgB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACjD,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,qBAAyB,UAAM,CAAK,WAAO,EAAE,SAAS,wBAAwB,GAAM,SAAK,CAAC,CAAC;AAAA,IAC3F,yBAA6B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACxD,gBAAoB,WAAO;AAAA,IAC3B,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/C,YAAgB,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC1E,cAAkB,UAAM,CAAK,WAAO;AAAA,MACpC,UAAc,WAAO;AAAA,MACrB,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5C,UAAc,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IAChD,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IACZ,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,YAAgB,UAAM,CAAK,UAAU,WAAO;AAAA,MAC5C,MAAU,WAAO;AAAA,MACjB,gBAAoB,WAAO;AAAA,MAC3B,mBAAuB,WAAO;AAAA,MAC9B,qBAAyB,WAAO;AAAA,MAChC,eAAmB,WAAO;AAAA,MAC1B,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3C,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,aAAiB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAChD,kBAAsB,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAChF,eAAmB,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC7E,YAAgB,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5E,CAAC,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,EACf,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,0BAA8B,WAAO;AAAA,EAChD,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,4BAAgC,WAAO;AAAA,EAClD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,qBAAyB,UAAM,CAAK,WAAO,EAAE,SAAS,mBAAmB,GAAM,SAAK,CAAC,CAAC;AAAA,IACtF,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5C,UAAc,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,WAAe,UAAU,WAAO;AAAA,MAChC,QAAY,WAAO;AAAA,MACnB,QAAY,WAAO;AAAA,MACnB,YAAgB,WAAO;AAAA,MACvB,QAAY,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5C,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC5C,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACpD,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,uCAAuC;AAE7C,IAAM,8BAAkC,WAAO;AAAA,EACpD,QAAY,WAAO;AAAA,EACnB,MAAU,WAAO;AAAA,EACjB,YAAgB,WAAO,EAAE,QAAQ,oCAAoC;AAAA,EACrE,aAAiB,WAAO,EAAE,SAAS;AACrC,CAAC;AAEM,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO;AAAA,MACtB,eAAmB,WAAO;AAAA,MAC1B,wBAA4B,WAAO;AAAA,MACnC,aAAiB,WAAO;AAAA,MACxB,qBAAyB,WAAO;AAAA,IAClC,CAAC;AAAA,IACC,mBAAuB,UAAU,WAAO;AAAA,MACxC,QAAY,WAAO;AAAA,MACnB,SAAa,WAAO;AAAA,IACtB,CAAC,CAAC;AAAA,IACA,wBAA4B,UAAU,WAAO;AAAA,MAC7C,QAAY,WAAO;AAAA,MACnB,aAAiB,WAAO;AAAA,IAC1B,CAAC,CAAC;AAAA,IACA,sBAA0B,UAAU,WAAO;AAAA,MAC3C,SAAa,WAAO;AAAA,MACpB,SAAa,WAAO;AAAA,IACtB,CAAC,CAAC;AAAA,IACA,yBAA6B,UAAU,WAAO;AAAA,MAC9C,SAAa,WAAO;AAAA,MACpB,SAAa,WAAO;AAAA,IACtB,CAAC,CAAC;AAAA,IACA,sBAA0B,UAAU,WAAO;AAAA,MAC3C,QAAY,WAAO;AAAA,MACnB,SAAa,WAAO;AAAA,MACpB,aAAiB,WAAO;AAAA,MACxB,aAAiB,WAAO;AAAA,MACxB,aAAiB,WAAO;AAAA,IAC1B,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,gDAAgD;AACtD,IAAM,6CAA6C;AAEnD,IAAM,oCAAwC,WAAO;AAAA,EAC1D,UAAc,SAAK,CAAC,eAAe,aAAa,OAAO,CAAC;AAAA,EACxD,QAAY,WAAO;AAAA,EACnB,MAAU,WAAO;AAAA,EACjB,eAAmB,SAAK,CAAC,OAAO,QAAQ,OAAO,CAAC,EAAE,QAAQ,6CAA6C;AAAA,EACvG,YAAgB,SAAK,CAAC,WAAW,CAAC,EAAE,SAAS;AAAA,EAC7C,YAAgB,WAAO,EAAE,QAAQ,0CAA0C;AAC7E,CAAC;AAEM,IAAM,iCAAqC,WAAO;AAAA,EACvD,QAAY,UAAU,WAAO;AAAA,IAC7B,UAAc,SAAK,CAAC,eAAe,aAAa,OAAO,CAAC;AAAA,IACxD,eAAmB,SAAK,CAAC,OAAO,QAAQ,OAAO,CAAC;AAAA,IAChD,YAAgB,UAAM,CAAK,SAAK,CAAC,WAAW,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC1D,SAAa,WAAO;AAAA,IACpB,UAAc,UAAU,WAAO;AAAA,MAC/B,QAAY,WAAO;AAAA,MACnB,aAAiB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAChD,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAClD,SAAa,WAAO;AAAA,IACtB,CAAC,CAAC;AAAA,EACF,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,MAAU,WAAO,EAAE,KAAK,EAAE,SAAS,aAAa;AAClD,CAAC;AAEM,IAAM,gCAAgC;AAItC,IAAM,yBAA6B,WAAO;AAAA,EAC/C,cAAkB,WAAO,EAAE,KAAK,EAAE,SAAS,sCAAsC;AAAA,EACjF,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6BAA6B,EAAE,SAAS,kBAAkB;AAC5F,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,WAAe,WAAO,EAAE,KAAK;AAAA,IAC7B,cAAkB,WAAO,EAAE,KAAK;AAAA,IAChC,gBAAoB,WAAO;AAAA,IAC3B,QAAY,WAAO;AAAA,IACnB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,MAAU,WAAO,EAAE,KAAK,EAAE,SAAS,aAAa;AAClD,CAAC;AAEM,IAAM,oCAAoC;AAC1C,IAAM,gCAAgC;AAEtC,IAAM,qCAAqC;AAC3C,IAAM,iCAAiC;AAEvC,IAAM,qCAAqC;AAC3C,IAAM,wCAAwC;AAE9C,IAAM,8BAAkC,WAAO;AAAA,EACpD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6BAA6B,EAAE,QAAQ,iCAAiC;AAAA,EACzG,UAAc,WAAO,EAAE,IAAI,8BAA8B,EAAE,QAAQ,kCAAkC;AAAA,EACrG,WAAe,SAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,kCAAkC;AAAA,EAC9E,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,qCAAqC;AACvF,CAAC;AAEM,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,WAAe,WAAO,EAAE,KAAK;AAAA,IAC7B,cAAkB,WAAO,EAAE,KAAK;AAAA,IAChC,gBAAoB,WAAO;AAAA,IAC3B,QAAY,WAAO;AAAA,IACnB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,MAAU,WAAO,EAAE,KAAK,EAAE,SAAS,aAAa;AAAA,EAChD,cAAkB,WAAO,EAAE,KAAK,EAAE,SAAS,2BAA2B;AACxE,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,SAAK;AAAA,EACjB,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,oCAAwC,WAAO;AAAA,EAC1D,YAAgB,WAAO,EAAE,SAAS,gBAAgB;AACpD,CAAC;AAEM,IAAM,iCAAqC,WAAO;AAAA,EACvD,QAAY,WAAO;AAAA,IACnB,aAAiB,YAAQ,EAAE,SAAS,mCAAmC;AAAA,EACzE,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,yBAAyB;AAE/B,IAAM,0CAA0C;AAKhD,IAAM,kBAAsB,WAAO;AAAA,EACxC,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,sBAAsB;AAAA,EACtD,gBAAoB,WAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,uCAAuC;AAAA,EAC/F,gBAAoB,WAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,mDAAmD;AAAA,EAC3G,kBAAsB,SAAK,CAAC,aAAa,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,uEAAyE;AAAA,EACjJ,uBAA2B,UAAM,CAAK,WAAO,EAAE,IAAI,uCAAuC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAClH,yBAA6B,YAAQ,EAAE,SAAS;AAAA,EAChD,YAAgB,WAAO,EAAE,SAAS,EAAE,SAAS,wDAAwD;AAAA,EACrG,iBAAqB,WAAO,EAAE,SAAS,EAAE,SAAS,wDAAwD;AAAA,EAC1G,0BAA8B,UAAM,CAAK,UAAU,WAAO,CAAC,EAAE,IAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,+OAAmP;AAC/U,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,aAAiB,WAAO;AAAA,MACxB,QAAY,WAAO;AAAA,MACnB,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,wDAAwD;AAAA,IAChH,CAAC,EAAE,SAAS,uFAAwF;AAAA,IAClG,iBAAqB,WAAO,EAAE,SAAS,yCAAyC;AAAA,IAChF,gBAAoB,WAAO,EAAE,SAAS,uCAAuC;AAAA,IAC7E,gBAAoB,WAAO;AAAA,IAC3B,kBAAsB,SAAK,CAAC,aAAa,QAAQ,CAAC;AAAA,IAClD,gBAAoB,YAAQ;AAAA,IAC5B,yBAA6B,YAAQ;AAAA,IACrC,0BAA8B,UAAM,CAAK,UAAU,WAAO,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IACxE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,+BAA+B;AACrC,IAAM,2BAA2B;AAEjC,IAAM,gCAAgC;AACtC,IAAM,4BAA4B;AAElC,IAAM,gCAAgC;AACtC,IAAM,mCAAmC;AAEzC,IAAM,yBAA6B,WAAO;AAAA,EAC/C,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,wBAAwB,EAAE,QAAQ,4BAA4B;AAAA,EAC/F,UAAc,WAAO,EAAE,IAAI,yBAAyB,EAAE,QAAQ,6BAA6B;AAAA,EAC3F,WAAe,SAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,6BAA6B;AAAA,EACzE,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,gCAAgC;AAClF,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,aAAiB,WAAO;AAAA,MACxB,QAAY,WAAO;AAAA,MACnB,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,wDAAwD;AAAA,IAChH,CAAC,EAAE,SAAS,uFAAwF;AAAA,IAClG,iBAAqB,WAAO,EAAE,SAAS,yCAAyC;AAAA,IAChF,gBAAoB,WAAO,EAAE,SAAS,uCAAuC;AAAA,IAC7E,gBAAoB,WAAO;AAAA,IAC3B,kBAAsB,SAAK,CAAC,aAAa,QAAQ,CAAC;AAAA,IAClD,gBAAoB,YAAQ;AAAA,IAC5B,yBAA6B,YAAQ;AAAA,IACrC,0BAA8B,UAAM,CAAK,UAAU,WAAO,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IACxE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,WAAe,WAAO,EAAE,KAAK;AAC/B,CAAC;AAKM,IAAM,kBAAsB,WAAO;AAAA,EACxC,yBAA6B,YAAQ,EAAE,SAAS;AAAA,EAChD,0BAA8B,UAAM,CAAK,UAAU,WAAO,CAAC,EAAE,IAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,oOAAwO;AAAA,EAC7U,aAAiB,WAAO;AAAA,IACxB,MAAU,WAAO,EAAE,KAAK,EAAE,SAAS,mDAAmD;AAAA,IACtF,QAAY,SAAK,CAAC,aAAa,QAAQ,CAAC,EAAE,SAAS,oBAAoB;AAAA,EACzE,CAAC,EAAE,SAAS,EAAE,SAAS,mFAAmF;AAC1G,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,aAAiB,WAAO;AAAA,MACxB,QAAY,WAAO;AAAA,MACnB,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,wDAAwD;AAAA,IAChH,CAAC,EAAE,SAAS,uFAAwF;AAAA,IAClG,iBAAqB,WAAO,EAAE,SAAS,yCAAyC;AAAA,IAChF,gBAAoB,WAAO,EAAE,SAAS,uCAAuC;AAAA,IAC7E,gBAAoB,WAAO;AAAA,IAC3B,kBAAsB,SAAK,CAAC,aAAa,QAAQ,CAAC;AAAA,IAClD,gBAAoB,YAAQ;AAAA,IAC5B,yBAA6B,YAAQ;AAAA,IACrC,0BAA8B,UAAM,CAAK,UAAU,WAAO,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IACxE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,WAAe,WAAO,EAAE,KAAK;AAC/B,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,iBAAqB,WAAO;AAAA,EACvC,WAAe,WAAO,EAAE,KAAK;AAC/B,CAAC;AAEM,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,aAAiB,WAAO;AAAA,IACxB,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/C,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACrD,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,IAC7C,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,QAAY,WAAO;AAAA,IACnB,MAAU,UAAU,WAAO,CAAC;AAAA,IAC5B,MAAU,UAAU,WAAO,CAAC;AAAA,IAC5B,OAAW,UAAU,WAAO,CAAC;AAAA,IAC7B,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,aAAiB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAChD,aAAiB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAChD,kBAAsB,UAAM,CAAK,SAAK,CAAC,6BAA6B,0BAA0B,qBAAqB,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,4FAA4F;AAAA,IACxO,WAAe,WAAO;AAAA,IACtB,eAAmB,WAAO;AAAA,IAC1B,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,WAAe,WAAO,EAAE,KAAK;AAC/B,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAIM,IAAM,4BAA4B;AAGlC,IAAM,8BAA8B;AACpC,IAAM,0BAA0B;AAEhC,IAAM,+BAA+B;AACrC,IAAM,2BAA2B;AAEjC,IAAM,+BAA+B;AACrC,IAAM,kCAAkC;AAExC,IAAM,wBAA4B,WAAO;AAAA,EAC9C,YAAgB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EACzC,aAAiB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAC1C,YAAgB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EACzC,UAAc,WAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACxC,aAAiB,WAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EAC3C,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,yBAAyB,EAAE,SAAS;AAAA,EACvE,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACxC,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,uBAAuB,EAAE,QAAQ,2BAA2B;AAAA,EAC7F,UAAc,WAAO,EAAE,IAAI,wBAAwB,EAAE,QAAQ,4BAA4B;AAAA,EACzF,WAAe,SAAK,CAAC,cAAc,SAAS,CAAC,EAAE,QAAQ,4BAA4B;AAAA,EACnF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,+BAA+B;AACjF,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,aAAiB,WAAO;AAAA,IACxB,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/C,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACrD,aAAiB,SAAK,CAAC,WAAW,UAAU,CAAC;AAAA,IAC7C,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,QAAY,WAAO;AAAA,IACnB,MAAU,UAAU,WAAO,CAAC;AAAA,IAC5B,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,kBAAsB,UAAM,CAAK,SAAK,CAAC,6BAA6B,0BAA0B,qBAAqB,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,4FAA4F;AAAA,IACxO,WAAe,WAAO;AAAA,IACtB,eAAmB,WAAO;AAAA,IAC1B,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,oCAAoC;AAC1C,IAAM,gCAAgC;AAEtC,IAAM,qCAAqC;AAC3C,IAAM,iCAAiC;AAEvC,IAAM,qCAAqC;AAC3C,IAAM,wCAAwC;AAE9C,IAAM,8BAAkC,WAAO;AAAA,EACpD,YAAgB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EACzC,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6BAA6B,EAAE,QAAQ,iCAAiC;AAAA,EACzG,UAAc,WAAO,EAAE,IAAI,8BAA8B,EAAE,QAAQ,kCAAkC;AAAA,EACrG,WAAe,SAAK,CAAC,eAAe,CAAC,EAAE,QAAQ,kCAAkC;AAAA,EACjF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,qCAAqC;AACvF,CAAC;AAEM,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,UAAU,WAAO;AAAA,IAC7B,aAAiB,WAAO;AAAA,IACxB,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,oEAAoE;AAAA,IACvH,iBAAqB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACtD,gBAAoB,WAAO;AAAA,IAC3B,mBAAuB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACtD,iBAAqB,WAAO;AAAA,EAC9B,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,WAAe,WAAO,EAAE,KAAK;AAC/B,CAAC;AAGM,IAAM,gCAAgC;AACtC,IAAM,gDAAgD;AAEtD,IAAM,mDAAmD;AAGzD,IAAM,iCAAiC;AAIvC,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,WAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,WAAe,YAAQ,EAAE,QAAQ,6BAA6B;AAAA,EAC9D,MAAU,UAAU,WAAO,EAAE,MAAM,CAAC,EAAE,SAAS;AAAA,EAC/C,MAAU,UAAU,WAAO,EAAE,MAAM,CAAC,EAAE,SAAS;AAAA,EAC/C,OAAW,UAAU,WAAO,EAAE,MAAM,CAAC,EAAE,SAAS;AAAA,EAChD,eAAmB,UAAU,UAAM,CAAK,WAAO;AAAA,IAC/C,QAAY,YAAQ,QAAQ;AAAA,IAC5B,YAAgB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6CAA6C;AAAA,IACjF,gBAAoB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,gDAAgD;AAAA,IACxF,kBAAsB,WAAO,EAAE,IAAI,CAAC;AAAA,EACtC,CAAC,GAAM,WAAO;AAAA,IACZ,QAAY,YAAQ,UAAU;AAAA,IAC9B,eAAmB,WAAO,EAAE,KAAK;AAAA,EACnC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,8BAA8B,EAAE,SAAS;AACnD,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,QAAY,YAAQ,IAAI;AAAA,EAC1B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAOM,IAAM,6BAA6B;AACnC,IAAM,6CAA6C;AAEnD,IAAM,gDAAgD;AAGtD,IAAM,8BAA8B;AAIpC,IAAM,gBAAoB,WAAO;AAAA,EACtC,YAAgB,WAAO,EAAE,IAAI,CAAC;AAAA,EAC9B,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,uHAAwH;AAAA,EACtL,MAAU,UAAU,WAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;AAAA,EAC3C,MAAU,UAAU,WAAO,EAAE,MAAM,CAAC,EAAE,SAAS;AAAA,EAC/C,OAAW,UAAU,WAAO,EAAE,MAAM,CAAC,EAAE,SAAS;AAAA,EAChD,WAAe,WAAO,EAAE,IAAI,CAAC;AAAA,EAC7B,QAAY,WAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,WAAe,YAAQ,EAAE,QAAQ,0BAA0B;AAAA,EAC3D,eAAmB,UAAU,UAAM,CAAK,WAAO;AAAA,IAC/C,QAAY,YAAQ,QAAQ;AAAA,IAC5B,YAAgB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,0CAA0C;AAAA,IAC9E,gBAAoB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6CAA6C;AAAA,IACrF,kBAAsB,WAAO,EAAE,IAAI,CAAC;AAAA,EACtC,CAAC,GAAM,WAAO;AAAA,IACZ,QAAY,YAAQ,UAAU;AAAA,IAC9B,eAAmB,WAAO,EAAE,KAAK;AAAA,EACnC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,2BAA2B,EAAE,SAAS;AAChD,CAAC;AAEM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,WAAO;AAAA,IACnB,YAAgB,WAAO;AAAA,IACvB,aAAiB,WAAO;AAAA,IACxB,QAAY,YAAQ,IAAI;AAAA,EAC1B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qCAAqC;AAC3C,IAAM,iCAAiC;AAEvC,IAAM,sCAAsC;AAC5C,IAAM,kCAAkC;AAExC,IAAM,sCAAsC;AAC5C,IAAM,yCAAyC;AAE/C,IAAM,+BAAmC,WAAO;AAAA,EACrD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,8BAA8B,EAAE,QAAQ,kCAAkC,EAAE,SAAS,6BAA6B;AAAA,EACnJ,UAAc,WAAO,EAAE,IAAI,+BAA+B,EAAE,QAAQ,mCAAmC,EAAE,SAAS,0CAA0C;AAAA,EAC5J,WAAe,SAAK,CAAC,cAAc,cAAc,cAAc,CAAC,EAAE,QAAQ,mCAAmC,EAAE,SAAS,kBAAkB;AAAA,EAC1I,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,sCAAsC,EAAE,SAAS,gBAAgB;AAAA,EACjH,UAAc,SAAK,CAAC,UAAU,eAAe,aAAa,UAAU,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,sBAAsB;AAAA,EAC3H,gBAAoB,WAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,wBAAwB;AAAA,EAChF,iBAAqB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,gDAAgD;AAAA,EAC5H,kBAAsB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,EAAE,SAAS,iDAAiD;AAAA,EAC9H,SAAa,WAAW,WAAO,GAAO,WAAO,CAAC,EAAE,SAAS,EAAE,SAAS,4KAA4K;AAClP,CAAC;AAEM,IAAM,uDAAuD;AAC7D,IAAM,uDAAuD;AAE7D,IAAM,wCAAwC;AAC9C,IAAM,wCAAwC;AAI9C,IAAM,4BAAgC,WAAO;AAAA,EAClD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO,EAAE,SAAS,uBAAuB;AAAA,IACnD,gBAAoB,WAAO,EAAE,SAAS,2CAA2C;AAAA,IACjF,qBAAyB,WAAO,EAAE,IAAI,EAAE,IAAI,oDAAoD,EAAE,IAAI,oDAAoD,EAAE,SAAS,+CAA+C;AAAA,IACpN,kBAAsB,WAAO,EAAE,SAAS,uBAAuB;AAAA,IAC/D,UAAc,WAAO,EAAE,SAAS,oBAAoB;AAAA,IACpD,SAAa,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,SAAS,8CAA8C;AAAA,IACxG,cAAkB,WAAO,EAAE,SAAS,6CAA6C;AAAA,IACjF,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,4CAA4C;AAAA,IACxG,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,6CAA6C;AAAA,IAC3G,0BAA8B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAC7G,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,2CAA2C;AAAA,IACvG,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,EAC9C,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,qCAAqC,EAAE,IAAI,qCAAqC,EAAE,SAAS,+BAA+B;AAAA,EAC5J,CAAC;AACD,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,gBAAoB,WAAO,EAAE,KAAK;AAAA,EAClC,SAAa,WAAW,WAAO,GAAO,UAAM,CAAK,WAAO,GAAM,WAAO,GAAM,YAAQ,GAAM,SAAK,CAAC,CAAC,CAAC;AACnG,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,gBAAoB,WAAO;AAAA,IAC3B,qBAAyB,WAAO;AAAA,IAChC,SAAa,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAC/C,UAAc,WAAO;AAAA,IACrB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,gBAAoB,WAAO;AAAA,MAC3B,qBAAyB,WAAO;AAAA,MAChC,kBAAsB,WAAO;AAAA,MAC7B,UAAc,WAAO;AAAA,MACrB,SAAa,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,MAC/C,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3E,gBAAoB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACnD,0BAA8B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC7D,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACjD,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAKM,IAAM,kCAAkC;AACxC,IAAM,8BAA8B;AAEpC,IAAM,mCAAmC;AACzC,IAAM,+BAA+B;AAErC,IAAM,mCAAmC;AACzC,IAAM,sCAAsC;AAE5C,IAAM,4BAAgC,WAAO;AAAA,EAClD,UAAc,SAAK,CAAC,WAAW,UAAU,YAAY,eAAe,aAAa,UAAU,UAAU,CAAC,EAAE,SAAS;AAAA,EACjH,aAAiB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EAC1C,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACxC,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACxC,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,iBAAqB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EACjE,kBAAsB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EAClE,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,2BAA2B,EAAE,QAAQ,+BAA+B;AAAA,EACrG,UAAc,WAAO,EAAE,IAAI,4BAA4B,EAAE,QAAQ,gCAAgC;AAAA,EACjG,WAAe,SAAK,CAAC,cAAc,cAAc,cAAc,CAAC,EAAE,QAAQ,gCAAgC;AAAA,EAC1G,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,mCAAmC;AAAA,EACnF,SAAa,WAAW,WAAO,GAAO,WAAO,CAAC,EAAE,SAAS,EAAE,SAAS,0HAA0H;AAChM,CAAC;AAEM,IAAM,iDAAiD;AACvD,IAAM,iDAAiD;AAEvD,IAAM,qCAAqC;AAC3C,IAAM,qCAAqC;AAI3C,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO,EAAE,SAAS,uBAAuB;AAAA,IACnD,aAAiB,WAAO,EAAE,SAAS,kBAAkB;AAAA,IACrD,kBAAsB,WAAO,EAAE,IAAI,EAAE,IAAI,8CAA8C,EAAE,IAAI,8CAA8C,EAAE,SAAS,kIAAkI;AAAA,IACxR,eAAmB,WAAO,EAAE,SAAS,oBAAoB;AAAA,IACzD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,mHAAoH;AAAA,IACvK,UAAc,SAAK,CAAC,WAAW,UAAU,YAAY,eAAe,aAAa,UAAU,UAAU,CAAC,EAAE,SAAS,oBAAoB;AAAA,IACrI,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,mFAAmF;AAAA,IACrK,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,6CAA6C;AAAA,IAC3G,cAAkB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,4CAA4C;AAAA,IAClI,gBAAoB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,6CAA6C;AAAA,IACrI,0BAA8B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAC7G,cAAkB,UAAM,CAAK,WAAO,EAAE,KAAK,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,qEAAqE;AAAA,IACxI,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5C,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yIAAyI;AAAA,IAClM,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,uEAAuE;AAAA,EACzI,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,kCAAkC,EAAE,IAAI,kCAAkC,EAAE,SAAS,+BAA+B;AAAA,EACtJ,CAAC;AACD,CAAC;AAGM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,aAAiB,WAAO,EAAE,KAAK;AAAA,EAC/B,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,UAAM,CAAK,WAAO,GAAM,WAAO,GAAM,YAAQ,GAAM,SAAK,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,EACzH,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,yGAA0G;AAC1K,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,aAAiB,WAAO;AAAA,IACxB,kBAAsB,WAAO;AAAA,IAC7B,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IACvE,UAAc,SAAK,CAAC,WAAW,UAAU,YAAY,eAAe,aAAa,UAAU,UAAU,CAAC;AAAA,IACtG,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,2CAA2C;AACjD,IAAM,2CAA2C;AAIjD,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,uBAAuB;AAAA,IACnD,aAAiB,WAAO,EAAE,SAAS,kBAAkB;AAAA,IACrD,kBAAsB,WAAO,EAAE,IAAI,EAAE,IAAI,wCAAwC,EAAE,IAAI,wCAAwC,EAAE,SAAS,kIAAkI;AAAA,IAC5Q,eAAmB,WAAO,EAAE,SAAS,oBAAoB;AAAA,IACzD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,mHAAoH;AAAA,IACvK,UAAc,SAAK,CAAC,WAAW,UAAU,YAAY,eAAe,aAAa,UAAU,UAAU,CAAC,EAAE,SAAS,oBAAoB;AAAA,IACrI,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,mFAAmF;AAAA,IACrK,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,6CAA6C;AAAA,IAC3G,cAAkB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,4CAA4C;AAAA,IAClI,gBAAoB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,6CAA6C;AAAA,IACrI,0BAA8B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAC7G,cAAkB,UAAM,CAAK,WAAO,EAAE,KAAK,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,qEAAqE;AAAA,IACxI,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5C,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yIAAyI;AAAA,IAClM,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,uEAAuE;AAAA,EACzI,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,8BAAkC,WAAO;AAAA,EACpD,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,yCAAyC;AAC/C,IAAM,qCAAqC;AAI3C,IAAM,mCAAuC,WAAO;AAAA,EACzD,SAAa,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EACzD,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,kCAAkC,EAAE,QAAQ,sCAAsC;AAC3H,CAAC;AAEM,IAAM,gCAAoC,WAAO;AAAA,EACtD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,iBAAqB,WAAO;AAAA,IAC5B,WAAe,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IACjD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,8CAA8C;AACpD,IAAM,8CAA8C;AAIpD,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,uBAAuB;AAAA,IACnD,aAAiB,WAAO,EAAE,SAAS,kBAAkB;AAAA,IACrD,kBAAsB,WAAO,EAAE,IAAI,EAAE,IAAI,2CAA2C,EAAE,IAAI,2CAA2C,EAAE,SAAS,kIAAkI;AAAA,IAClR,eAAmB,WAAO,EAAE,SAAS,oBAAoB;AAAA,IACzD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,mHAAoH;AAAA,IACvK,UAAc,SAAK,CAAC,WAAW,UAAU,YAAY,eAAe,aAAa,UAAU,UAAU,CAAC,EAAE,SAAS,oBAAoB;AAAA,IACrI,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,mFAAmF;AAAA,IACrK,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,6CAA6C;AAAA,IAC3G,cAAkB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,4CAA4C;AAAA,IAClI,gBAAoB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,6CAA6C;AAAA,IACrI,0BAA8B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAC7G,cAAkB,UAAM,CAAK,WAAO,EAAE,KAAK,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,qEAAqE;AAAA,IACxI,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5C,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yIAAyI;AAAA,IAClM,kBAAsB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,uEAAuE;AAAA,EACzI,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,gCAAoC,WAAO;AAAA,EACtD,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,qCAAqC;AAE3C,IAAM,gDAAgD;AAItD,IAAM,8BAAkC,WAAO;AAAA,EACpD,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,kCAAkC;AAAA,EAClE,UAAc,WAAO;AAAA,IACrB,QAAY,YAAQ,QAAQ;AAAA,IAC5B,aAAiB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6CAA6C;AAAA,EACpF,CAAC;AACD,CAAC;AAEM,IAAM,kCAAsC,WAAO;AAAA,EACxD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,QAAY,WAAO;AAAA,IACnB,UAAc,WAAO;AAAA,MACrB,QAAY,SAAK,CAAC,UAAU,cAAc,aAAa,CAAC;AAAA,MACxD,MAAU,WAAO,EAAE,KAAK;AAAA,IAC1B,CAAC;AAAA,IACC,UAAc,WAAO;AAAA,MACrB,QAAY,SAAK,CAAC,cAAc,QAAQ,MAAM,CAAC;AAAA,MAC/C,MAAU,WAAO,EAAE,KAAK;AAAA,IAC1B,CAAC;AAAA,IACC,WAAe,WAAO;AAAA,MACtB,WAAe,YAAQ,CAAC;AAAA,MACxB,QAAY,YAAQ,mBAAmB;AAAA,MACvC,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,YAAQ,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MACvE,yBAA6B,UAAU,WAAO,EAAE,KAAK,CAAC;AAAA,MACtD,mBAAuB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACxD,CAAC;AAAA,IACC,cAAkB,UAAU,WAAO;AAAA,MACnC,YAAgB,WAAO;AAAA,MACvB,aAAiB,WAAO;AAAA,MACxB,eAAmB,WAAO;AAAA,MAC1B,gBAAoB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,MACtD,SAAa,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,SAAS;AAAA,MAC1D,qBAAyB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MACxD,aAAiB,UAAU,YAAQ,CAAC;AAAA,MACpC,UAAc,UAAU,YAAQ,CAAC,EAAE,SAAS;AAAA,MAC5C,WAAe,YAAQ,EAAE,SAAS;AAAA,IACpC,CAAC,CAAC;AAAA,IACA,UAAc,WAAO;AAAA,MACrB,QAAY,YAAQ,QAAQ;AAAA,MAC5B,aAAiB,WAAO;AAAA,IAC1B,CAAC;AAAA,IACC,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,gBAAoB,WAAO;AAAA,EACtC,UAAc,WAAO,EAAE,KAAK;AAC9B,CAAC;AAEM,IAAM,8BAA8B;AAIpC,IAAM,cAAkB,WAAO;AAAA,EACpC,kBAAsB,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,2BAA2B;AAC7E,CAAC;AAEM,IAAM,sCAAsC;AAC5C,IAAM,sCAAsC;AAI5C,IAAM,kBAAsB,WAAO;AAAA,EACxC,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,WAAe,WAAO,EAAE,KAAK;AAAA,IAC7B,kBAAsB,WAAO,EAAE,IAAI,EAAE,IAAI,mCAAmC,EAAE,IAAI,mCAAmC;AAAA,IACrH,UAAc,SAAK,CAAC,UAAU,WAAW,UAAU,UAAU,OAAO,CAAC;AAAA,IACrE,UAAc,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,UAAc,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC7C,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5C,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAClD,wBAA4B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC3D,cAAkB,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IAClD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC3E,gBAAoB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,EAC/E,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,mBAAuB,WAAO;AAAA,EACzC,aAAiB,WAAO,EAAE,KAAK;AACjC,CAAC;AAEM,IAAM,yCAAyC;AAC/C,IAAM,yCAAyC;AAI/C,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,WAAe,WAAO,EAAE,KAAK;AAAA,IAC7B,kBAAsB,WAAO,EAAE,IAAI,EAAE,IAAI,sCAAsC,EAAE,IAAI,sCAAsC;AAAA,IAC3H,UAAc,SAAK,CAAC,UAAU,WAAW,UAAU,UAAU,OAAO,CAAC;AAAA,IACrE,UAAc,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,UAAc,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC7C,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5C,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAClD,wBAA4B,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC3D,cAAkB,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IAClD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC3E,gBAAoB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,EAC/E,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAClD,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO;AAAA,IACtB,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAChD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,kCAAkC;AACxC,IAAM,8BAA8B;AAEpC,IAAM,mCAAmC;AACzC,IAAM,+BAA+B;AAErC,IAAM,mCAAmC;AACzC,IAAM,sCAAsC;AAE5C,IAAM,4BAAgC,WAAO;AAAA,EAClD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,2BAA2B,EAAE,QAAQ,+BAA+B;AAAA,EACrG,UAAc,WAAO,EAAE,IAAI,4BAA4B,EAAE,QAAQ,gCAAgC;AAAA,EACjG,WAAe,SAAK,CAAC,cAAc,QAAQ,SAAS,CAAC,EAAE,QAAQ,gCAAgC;AAAA,EAC/F,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,mCAAmC;AAAA,EACnF,QAAY,WAAO,EAAE,SAAS;AAChC,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO;AAAA,IACtB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,QAAY,WAAO;AAAA,MACnB,WAAe,WAAO;AAAA,MACtB,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,MAChD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACrD,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAClD,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO;AAAA,IACtB,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAChD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAQM,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,WAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,UAAc,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACvC,wBAA4B,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,mCAAmC;AAAA,EACnG,YAAgB,UAAM,CAAK,SAAK,CAAC,UAAU,SAAS,iBAAiB,gBAAgB,eAAe,qBAAqB,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AACpJ,CAAC;AAEM,IAAM,qCAAqC;AAE3C,IAAM,4CAA4C;AAClD,IAAM,4CAA4C;AAElD,IAAM,0CAA0C;AAChD,IAAM,0CAA0C;AAEhD,IAAM,0CAA0C;AAChD,IAAM,0CAA0C;AAIhD,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,QAAY,UAAU,WAAO;AAAA,MAC7B,QAAY,SAAK,CAAC,UAAU,SAAS,iBAAiB,gBAAgB,eAAe,qBAAqB,CAAC,EAAE,SAAS,wBAAwB;AAAA,IAChJ,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAChD,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yEAAyE;AAAA,IACnI,WAAe,WAAO,EAAE,IAAI,kCAAkC,EAAE,SAAS,mEAAmE;AAAA,IAC5I,YAAgB,WAAO;AAAA,MACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,yCAAyC,EAAE,IAAI,yCAAyC,EAAE,SAAS,6EAA6E;AAAA,MACjN,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,uCAAuC,EAAE,IAAI,uCAAuC,EAAE,SAAS,oDAAoD;AAAA,MAClL,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,uCAAuC,EAAE,IAAI,uCAAuC,EAAE,SAAS,oDAAoD;AAAA,IACpL,CAAC;AAAA,IACC,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAChD,8BAAkC,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACjE,YAAgB,UAAU,WAAO,CAAC;AAAA,IAClC,cAAkB,UAAU,WAAO,CAAC,EAAE,SAAS,2HAA2H;AAAA,IAC1K,eAAmB,UAAU,SAAK,CAAC,eAAe,gBAAgB,mBAAmB,0BAA0B,eAAe,mBAAmB,4BAA4B,CAAC,CAAC,EAAE,SAAS,6JAA8J;AAAA,IACxV,SAAa,WAAO;AAAA,IACpB,aAAiB,YAAQ;AAAA,EAC3B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,+BAA+B;AACrC,IAAM,2BAA2B;AAEjC,IAAM,gCAAgC;AACtC,IAAM,4BAA4B;AAElC,IAAM,gCAAgC;AACtC,IAAM,mCAAmC;AAEzC,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO,EAAE,SAAS;AAAA,EAC9B,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,wBAAwB,EAAE,QAAQ,4BAA4B;AAAA,EAC/F,UAAc,WAAO,EAAE,IAAI,yBAAyB,EAAE,QAAQ,6BAA6B;AAAA,EAC3F,WAAe,SAAK,CAAC,cAAc,MAAM,CAAC,EAAE,QAAQ,6BAA6B;AAAA,EACjF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,gCAAgC;AAClF,CAAC;AAEM,IAAM,wCAAwC;AAE9C,IAAM,+CAA+C;AACrD,IAAM,+CAA+C;AAErD,IAAM,6CAA6C;AACnD,IAAM,6CAA6C;AAEnD,IAAM,6CAA6C;AACnD,IAAM,6CAA6C;AAInD,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,QAAY,UAAU,WAAO;AAAA,MAC7B,QAAY,SAAK,CAAC,UAAU,SAAS,iBAAiB,gBAAgB,eAAe,qBAAqB,CAAC,EAAE,SAAS,wBAAwB;AAAA,IAChJ,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAChD,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yEAAyE;AAAA,IACnI,WAAe,WAAO,EAAE,IAAI,qCAAqC,EAAE,SAAS,mEAAmE;AAAA,IAC/I,YAAgB,WAAO;AAAA,MACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,4CAA4C,EAAE,IAAI,4CAA4C,EAAE,SAAS,6EAA6E;AAAA,MACvN,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,0CAA0C,EAAE,IAAI,0CAA0C,EAAE,SAAS,oDAAoD;AAAA,MACxL,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,0CAA0C,EAAE,IAAI,0CAA0C,EAAE,SAAS,oDAAoD;AAAA,IAC1L,CAAC;AAAA,IACC,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,kBAAsB,WAAO;AAAA,EACxC,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,kCAAkC;AAExC,IAAM,yCAAyC;AAC/C,IAAM,yCAAyC;AAE/C,IAAM,uCAAuC;AAC7C,IAAM,uCAAuC;AAE7C,IAAM,uCAAuC;AAC7C,IAAM,uCAAuC;AAI7C,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,QAAY,UAAU,WAAO;AAAA,MAC7B,QAAY,SAAK,CAAC,UAAU,SAAS,iBAAiB,gBAAgB,eAAe,qBAAqB,CAAC,EAAE,SAAS,wBAAwB;AAAA,IAChJ,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAChD,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yEAAyE;AAAA,IACnI,WAAe,WAAO,EAAE,IAAI,+BAA+B,EAAE,SAAS,mEAAmE;AAAA,IACzI,YAAgB,WAAO;AAAA,MACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,sCAAsC,EAAE,IAAI,sCAAsC,EAAE,SAAS,6EAA6E;AAAA,MAC3M,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,oCAAoC,EAAE,IAAI,oCAAoC,EAAE,SAAS,oDAAoD;AAAA,MAC5K,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,oCAAoC,EAAE,IAAI,oCAAoC,EAAE,SAAS,oDAAoD;AAAA,IAC9K,CAAC;AAAA,IACC,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAChD,8BAAkC,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACjE,YAAgB,UAAU,WAAO,CAAC;AAAA,IAClC,cAAkB,UAAU,WAAO,CAAC,EAAE,SAAS,2HAA2H;AAAA,IAC1K,eAAmB,UAAU,SAAK,CAAC,eAAe,gBAAgB,mBAAmB,0BAA0B,eAAe,mBAAmB,4BAA4B,CAAC,CAAC,EAAE,SAAS,6JAA8J;AAAA,IACxV,SAAa,WAAO;AAAA,IACpB,aAAiB,YAAQ;AAAA,EAC3B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAOM,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACrC,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,mEAAmE;AAAA,EACpH,aAAiB,YAAQ,EAAE,SAAS,EAAE,SAAS,2DAA2D;AAAA,EAC1G,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,SAAS;AAAA,EAC3D,SAAa,UAAU,WAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,oFAAqF;AAAA,EACjJ,WAAe,UAAU,WAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,2FAA4F;AAAA,EAC1J,8BAAkC,UAAM,CAAK,WAAO,EAAE,IAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,sHAAsH;AAAA,EACpN,eAAmB,UAAU,SAAK,CAAC,eAAe,gBAAgB,mBAAmB,0BAA0B,eAAe,mBAAmB,4BAA4B,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,+CAA+C;AACtP,CAAC;AAEM,IAAM,qCAAqC;AAE3C,IAAM,4CAA4C;AAClD,IAAM,4CAA4C;AAElD,IAAM,0CAA0C;AAChD,IAAM,0CAA0C;AAEhD,IAAM,0CAA0C;AAChD,IAAM,0CAA0C;AAIhD,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,QAAY,UAAU,WAAO;AAAA,MAC7B,QAAY,SAAK,CAAC,UAAU,SAAS,iBAAiB,gBAAgB,eAAe,qBAAqB,CAAC,EAAE,SAAS,wBAAwB;AAAA,IAChJ,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAChD,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yEAAyE;AAAA,IACnI,WAAe,WAAO,EAAE,IAAI,kCAAkC,EAAE,SAAS,mEAAmE;AAAA,IAC5I,YAAgB,WAAO;AAAA,MACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,yCAAyC,EAAE,IAAI,yCAAyC,EAAE,SAAS,6EAA6E;AAAA,MACjN,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,uCAAuC,EAAE,IAAI,uCAAuC,EAAE,SAAS,oDAAoD;AAAA,MAClL,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,uCAAuC,EAAE,IAAI,uCAAuC,EAAE,SAAS,oDAAoD;AAAA,IACpL,CAAC;AAAA,IACC,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAChD,8BAAkC,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACjE,YAAgB,UAAU,WAAO,CAAC;AAAA,IAClC,cAAkB,UAAU,WAAO,CAAC,EAAE,SAAS,2HAA2H;AAAA,IAC1K,eAAmB,UAAU,SAAK,CAAC,eAAe,gBAAgB,mBAAmB,0BAA0B,eAAe,mBAAmB,4BAA4B,CAAC,CAAC,EAAE,SAAS,6JAA8J;AAAA,IACxV,SAAa,WAAO;AAAA,IACpB,aAAiB,YAAQ;AAAA,EAC3B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,iCAAiC;AAIvC,IAAM,6BAAiC,WAAO;AAAA,EACnD,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,8BAA8B,EAAE,SAAS;AACpF,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,UAAc,WAAO;AAAA,EACvB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAKM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,UAAc,WAAO,EAAE,IAAI,CAAC;AAC9B,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,UAAU,WAAO;AAAA,IAC7B,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,EACrB,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,UAAU,WAAO;AAAA,IAC7B,QAAY,SAAK,CAAC,UAAU,SAAS,iBAAiB,gBAAgB,eAAe,qBAAqB,CAAC,EAAE,SAAS,wBAAwB;AAAA,EAChJ,CAAC,CAAC,EAAE,SAAS,mIAAmI;AAChJ,CAAC;AAEM,IAAM,yCAAyC;AAE/C,IAAM,gDAAgD;AACtD,IAAM,gDAAgD;AAEtD,IAAM,8CAA8C;AACpD,IAAM,8CAA8C;AAEpD,IAAM,8CAA8C;AACpD,IAAM,8CAA8C;AAIpD,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,QAAY,UAAU,WAAO;AAAA,MAC7B,QAAY,SAAK,CAAC,UAAU,SAAS,iBAAiB,gBAAgB,eAAe,qBAAqB,CAAC,EAAE,SAAS,wBAAwB;AAAA,IAChJ,CAAC,CAAC,EAAE,SAAS,qCAAqC;AAAA,IAChD,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yEAAyE;AAAA,IACnI,WAAe,WAAO,EAAE,IAAI,sCAAsC,EAAE,SAAS,mEAAmE;AAAA,IAChJ,YAAgB,WAAO;AAAA,MACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,6CAA6C,EAAE,IAAI,6CAA6C,EAAE,SAAS,6EAA6E;AAAA,MACzN,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,2CAA2C,EAAE,IAAI,2CAA2C,EAAE,SAAS,oDAAoD;AAAA,MAC1L,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,2CAA2C,EAAE,IAAI,2CAA2C,EAAE,SAAS,oDAAoD;AAAA,IAC5L,CAAC;AAAA,IACC,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAChD,8BAAkC,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACjE,YAAgB,UAAU,WAAO,CAAC;AAAA,IAClC,cAAkB,UAAU,WAAO,CAAC,EAAE,SAAS,2HAA2H;AAAA,IAC1K,eAAmB,UAAU,SAAK,CAAC,eAAe,gBAAgB,mBAAmB,0BAA0B,eAAe,mBAAmB,4BAA4B,CAAC,CAAC,EAAE,SAAS,6JAA8J;AAAA,IACxV,SAAa,WAAO;AAAA,IACpB,aAAiB,YAAQ;AAAA,EAC3B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,sCAAsC;AAC5C,IAAM,kCAAkC;AAExC,IAAM,uCAAuC;AAC7C,IAAM,mCAAmC;AAEzC,IAAM,uCAAuC;AAC7C,IAAM,0CAA0C;AAEhD,IAAM,gCAAoC,WAAO;AAAA,EACtD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,+BAA+B,EAAE,QAAQ,mCAAmC;AAAA,EAC7G,UAAc,WAAO,EAAE,IAAI,gCAAgC,EAAE,QAAQ,oCAAoC;AAAA,EACzG,WAAe,SAAK,CAAC,WAAW,YAAY,CAAC,EAAE,QAAQ,oCAAoC;AAAA,EAC3F,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,uCAAuC;AACzF,CAAC;AAEM,IAAM,+CAA+C;AACrD,IAAM,+CAA+C;AAErD,IAAM,yCAAyC;AAC/C,IAAM,yCAAyC;AAI/C,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,UAAU,WAAO;AAAA,IAC7B,aAAiB,WAAO;AAAA,IACxB,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,4CAA4C,EAAE,IAAI,4CAA4C;AAAA,IAChI,SAAa,WAAO;AAAA,IACpB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,kBAAsB,UAAU,WAAO,CAAC;AAAA,EAC1C,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,sCAAsC,EAAE,IAAI,sCAAsC;AAAA,EACpH,CAAC;AACD,CAAC;AAGM,IAAM,iCAAiC;AAIvC,IAAM,yBAA6B,WAAO;AAAA,EAC/C,YAAgB,WAAO,EAAE,KAAK;AAAA,EAC9B,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,8BAA8B;AACzE,CAAC;AAEM,IAAM,yCAAyC;AAC/C,IAAM,yCAAyC;AAI/C,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,QAAY,UAAU,WAAO;AAAA,MAC7B,QAAY,SAAK,CAAC,UAAU,SAAS,iBAAiB,gBAAgB,eAAe,qBAAqB,CAAC,EAAE,SAAS,wBAAwB;AAAA,IAChJ,CAAC,CAAC;AAAA,IACA,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAChD,8BAAkC,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACjE,eAAmB,UAAU,SAAK,CAAC,eAAe,gBAAgB,mBAAmB,0BAA0B,eAAe,mBAAmB,4BAA4B,CAAC,CAAC;AAAA,IAC/K,SAAa,WAAO;AAAA,IACpB,aAAiB,YAAQ;AAAA,IACzB,YAAgB,UAAU,WAAO,CAAC;AAAA,IAClC,cAAkB,UAAU,WAAO,CAAC;AAAA,IACpC,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,sCAAsC,EAAE,IAAI,sCAAsC;AAAA,IACpH,sBAA0B,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IAC3D,SAAa,WAAO;AAAA,IACpB,kBAAsB,UAAU,WAAO,CAAC;AAAA,EAC1C,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qCAAqC;AAI3C,IAAM,6BAAiC,WAAO;AAAA,EACnD,YAAgB,WAAO,EAAE,KAAK;AAAA,EAC9B,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,kCAAkC;AAC7E,CAAC;AAEM,IAAM,2BAA+B,WAAO;AAAA,EACjD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAC1C,CAAC;AAEM,IAAM,6CAA6C;AACnD,IAAM,6CAA6C;AAInD,IAAM,+BAAmC,WAAO;AAAA,EACrD,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,0CAA0C,EAAE,IAAI,0CAA0C;AAAA,IAC5H,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,EAC1C,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,8CAA8C;AAIpD,IAAM,sCAA0C,WAAO;AAAA,EAC5D,YAAgB,WAAO,EAAE,KAAK;AAAA,EAC9B,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,2CAA2C;AACtF,CAAC;AAEM,IAAM,wCAA4C,WAAO;AAAA,EAC9D,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO;AAAA,EACxB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,4BAAgC,WAAO;AAAA,EAClD,YAAgB,WAAO,EAAE,IAAI,CAAC;AAChC,CAAC;AAEM,IAAM,iCAAiC;AAEvC,IAAM,gCAAgC;AAGtC,IAAM,8CAA8C;AAEpD,IAAM,+CAA+C;AAIrD,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,8BAA8B;AAAA,EAC9D,OAAW,WAAO,EAAE,IAAI,EAAE,IAAI,6BAA6B;AAAA,EAC3D,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;AAAA,EAC7E,oBAAwB,UAAM,CAAK,WAAO,EAAE,IAAI,2CAA2C,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EACnH,qBAAyB,UAAM,CAAK,WAAO,EAAE,IAAI,4CAA4C,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EACrH,WAAe,YAAQ,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,8BAAkC,WAAO;AAAA,EACpD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,2BAA+B,WAAO;AAAA,EACjD,YAAgB,WAAO,EAAE,IAAI,CAAC;AAChC,CAAC;AAEM,IAAM,gCAAoC,WAAO;AAAA,EACtD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,+HAA+H;AAC/L,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,6BAA6B;AACnC,IAAM,yBAAyB;AAE/B,IAAM,8BAA8B;AACpC,IAAM,0BAA0B;AAEhC,IAAM,8BAA8B;AACpC,IAAM,iCAAiC;AAEvC,IAAM,uBAA2B,WAAO;AAAA,EAC7C,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,oDAAoD;AAAA,EAClH,MAAU,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,uHAAuH;AAAA,EACrK,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,oFAAoF;AAAA,EACvI,YAAgB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,iFAAiF;AAAA,EACrI,cAAkB,WAAO,EAAE,SAAS,EAAE,SAAS,uFAAuF;AAAA,EACtI,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,sBAAsB,EAAE,QAAQ,0BAA0B;AAAA,EAC3F,UAAc,WAAO,EAAE,IAAI,uBAAuB,EAAE,QAAQ,2BAA2B;AAAA,EACvF,WAAe,SAAK,CAAC,cAAc,YAAY,CAAC,EAAE,QAAQ,2BAA2B;AAAA,EACrF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,8BAA8B;AAChF,CAAC;AAEM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/C,cAAkB,WAAO,EAAE,SAAS,8EAA8E;AAAA,IAClH,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAQM,IAAM,iBAAqB,WAAO;AAAA,EACvC,MAAU,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,iHAAiH;AAAA,EACpJ,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,WAAe,UAAM,CAAK,WAAO,EAAE,IAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,8CAA8C;AAAA,EACzH,YAAgB,UAAM,CAAK,WAAO,EAAE,IAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,4DAA4D;AAC1I,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,MACxC,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC9C,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,cAAkB,WAAO,EAAE,SAAS,8EAA8E;AAAA,MAClH,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACrD,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAIM,IAAM,+BAA+B;AACrC,IAAM,2BAA2B;AAEjC,IAAM,gCAAgC;AACtC,IAAM,4BAA4B;AAIlC,IAAM,yBAA6B,WAAO;AAAA,EAC/C,KAAS,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,oJAAoJ;AAAA,EACtL,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,wBAAwB,EAAE,QAAQ,4BAA4B;AAAA,EAC/F,UAAc,WAAO,EAAE,IAAI,yBAAyB,EAAE,QAAQ,6BAA6B;AAC7F,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC9C,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/C,cAAkB,WAAO,EAAE,SAAS,8EAA8E;AAAA,IAClH,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAMM,IAAM,gBAAoB,WAAO;AAAA,EACtC,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,sPAAuP;AACvT,CAAC;AAEM,IAAM,kBAAsB,WAAO;AAAA,EACxC,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,MACxC,WAAe,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC9C,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC/C,cAAkB,WAAO,EAAE,SAAS,8EAA8E;AAAA,MAClH,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,MACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACrD,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,mBAAuB,WAAO;AAAA,EACzC,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,sPAAuP;AACvT,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,sPAAuP;AACvT,CAAC;AAEM,IAAM,8BAA8B;AAIpC,IAAM,mBAAuB,WAAO;AAAA,EACzC,YAAgB,UAAU,WAAO;AAAA,IACjC,eAAmB,SAAK,CAAC,YAAY,QAAQ,QAAQ,SAAS,WAAW,uBAAuB,YAAY,YAAY,CAAC;AAAA,IACzH,aAAiB,WAAO,EAAE,KAAK;AAAA,EACjC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,2BAA2B;AAC1C,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,SAAa,UAAU,WAAO;AAAA,MAC9B,WAAe,WAAO;AAAA,MACtB,eAAmB,SAAK,CAAC,YAAY,QAAQ,QAAQ,SAAS,WAAW,uBAAuB,YAAY,YAAY,CAAC;AAAA,MACzH,aAAiB,WAAO,EAAE,KAAK;AAAA,MAC/B,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACrD,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,iCAAiC;AACvC,IAAM,6BAA6B;AAEnC,IAAM,kCAAkC;AACxC,IAAM,8BAA8B;AAEpC,IAAM,kCAAkC;AACxC,IAAM,qCAAqC;AAE3C,IAAM,2BAA+B,WAAO;AAAA,EACjD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,sPAAuP;AAAA,EACrT,eAAmB,SAAK,CAAC,YAAY,QAAQ,QAAQ,SAAS,WAAW,uBAAuB,YAAY,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,8BAA8B;AAAA,EAC7K,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,0BAA0B,EAAE,QAAQ,8BAA8B;AAAA,EACnG,UAAc,WAAO,EAAE,IAAI,2BAA2B,EAAE,QAAQ,+BAA+B;AAAA,EAC/F,WAAe,SAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,+BAA+B;AAAA,EAC3E,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,kCAAkC;AACpF,CAAC;AAEM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,QAAY,UAAU,WAAO;AAAA,IAC7B,WAAe,WAAO;AAAA,IACtB,eAAmB,SAAK,CAAC,YAAY,QAAQ,QAAQ,SAAS,WAAW,uBAAuB,YAAY,YAAY,CAAC;AAAA,IACzH,aAAiB,WAAO,EAAE,KAAK;AAAA,IAC/B,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAMM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,MAAU,WAAO,EAAE,IAAI,CAAC;AAAA,EACxB,cAAkB,SAAK,CAAC,YAAY,QAAQ,QAAQ,SAAS,WAAW,uBAAuB,YAAY,YAAY,CAAC;AAAA,EACxH,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,4BAAgC,WAAO;AAAA,EAClD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,sPAAuP;AACvT,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAQM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,UAAc,WAAO,EAAE,IAAI,CAAC;AAAA,EAC5B,YAAgB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAC3C,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,iBAAqB,WAAO;AAAA,IAC5B,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,kCAAkC;AACxC,IAAM,8BAA8B;AAEpC,IAAM,mCAAmC;AACzC,IAAM,+BAA+B;AAErC,IAAM,mCAAmC;AACzC,IAAM,sCAAsC;AAE5C,IAAM,4BAAgC,WAAO;AAAA,EAClD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,2BAA2B,EAAE,QAAQ,+BAA+B;AAAA,EACrG,UAAc,WAAO,EAAE,IAAI,4BAA4B,EAAE,QAAQ,gCAAgC;AAAA,EACjG,WAAe,SAAK,CAAC,cAAc,MAAM,CAAC,EAAE,QAAQ,gCAAgC;AAAA,EACpF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,mCAAmC;AACrF,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,YAAgB,UAAU,WAAO,CAAC;AAAA,EACpC,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,SAAa,UAAU,WAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,wFAAyF;AACvJ,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,UAAc,WAAO;AAAA,IACrB,YAAgB,WAAO;AAAA,EACzB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,8BAAkC,WAAO;AAAA,EACpD,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAMM,IAAM,4BAAgC,WAAO;AAAA,EAClD,UAAc,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACvC,YAAgB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAC3C,CAAC;AAEM,IAAM,gCAAoC,WAAO;AAAA,EACtD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,iBAAqB,WAAO;AAAA,EACvC,iBAAqB,WAAO,EAAE,KAAK;AACrC,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO;AAAA,IACzB,yBAA6B,WAAO;AAAA,EACtC,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,gBAAoB,WAAO;AAAA,EACtC,UAAc,WAAO,EAAE,KAAK;AAC9B,CAAC;AAEM,IAAM,kBAAsB,WAAO;AAAA,EACxC,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,iBAAqB,WAAO,EAAE,KAAK;AAAA,IACnC,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,YAAgB,UAAU,WAAO;AAAA,MACjC,MAAU,WAAO,EAAE,KAAK;AAAA,MACxB,QAAY,SAAK,CAAC,QAAQ,WAAW,CAAC;AAAA,MACtC,WAAe,WAAO;AAAA,MACtB,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACvD,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,2BAA+B,WAAO;AAAA,EACjD,eAAmB,WAAO,EAAE,KAAK;AACnC,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,QAAY,WAAO;AAAA,IACnB,YAAgB,WAAO;AAAA,EACzB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,UAAc,WAAO,EAAE,KAAK;AAC9B,CAAC;AAEM,IAAM,gCAAgC;AAItC,IAAM,sBAA0B,WAAO;AAAA,EAC5C,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6BAA6B;AAClE,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO;AAAA,MACtB,MAAU,WAAO,EAAE,KAAK;AAAA,MACxB,QAAY,YAAQ,WAAW;AAAA,MAC/B,WAAe,UAAU,WAAO;AAAA,QAChC,QAAY,WAAO;AAAA,MACrB,CAAC,CAAC;AAAA,MACA,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACvD,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAIM,IAAM,6BAA6B;AACnC,IAAM,yBAAyB;AAE/B,IAAM,8BAA8B;AACpC,IAAM,0BAA0B;AAEhC,IAAM,8BAA8B;AACpC,IAAM,iCAAiC;AAEvC,IAAM,uBAA2B,WAAO;AAAA,EAC7C,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,6FAA6F;AAAA,EAChJ,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,sBAAsB,EAAE,QAAQ,0BAA0B;AAAA,EAC3F,UAAc,WAAO,EAAE,IAAI,uBAAuB,EAAE,QAAQ,2BAA2B;AAAA,EACvF,WAAe,SAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,2BAA2B;AAAA,EACvE,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,8BAA8B;AAChF,CAAC;AAEM,IAAM,2CAA2C;AACjD,IAAM,2CAA2C;AAIjD,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,iBAAqB,WAAO,EAAE,KAAK;AAAA,IACnC,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,iBAAqB,WAAO,EAAE,IAAI,EAAE,IAAI,wCAAwC,EAAE,IAAI,wCAAwC;AAAA,EAChI,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,UAAc,WAAO,EAAE,KAAK;AAC9B,CAAC;AAEM,IAAM,oCAAoC;AAC1C,IAAM,gCAAgC;AAEtC,IAAM,qCAAqC;AAC3C,IAAM,iCAAiC;AAEvC,IAAM,qCAAqC;AAC3C,IAAM,wCAAwC;AAE9C,IAAM,8BAAkC,WAAO;AAAA,EACpD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6BAA6B,EAAE,QAAQ,iCAAiC;AAAA,EACzG,UAAc,WAAO,EAAE,IAAI,8BAA8B,EAAE,QAAQ,kCAAkC;AAAA,EACrG,WAAe,SAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,kCAAkC;AAAA,EAChF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,qCAAqC;AACvF,CAAC;AAEM,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO,EAAE,KAAK;AAAA,IACxB,QAAY,SAAK,CAAC,QAAQ,aAAa,QAAQ,QAAQ,CAAC;AAAA,IACxD,WAAe,UAAU,WAAO;AAAA,MAChC,QAAY,WAAO;AAAA,IACrB,CAAC,CAAC,EAAE,SAAS,2FAA2F;AAAA,IACtG,gBAAoB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACvD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,mBAAuB,WAAO;AAAA,EACzC,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,kBAAsB,WAAO;AAAA,IAC7B,gBAAoB,WAAO;AAAA,IAC3B,qBAAyB,WAAO;AAAA,IAChC,kBAAsB,WAAO;AAAA,IAC7B,mBAAuB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IACzD,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,iBAAqB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACpD,UAAc,YAAQ;AAAA,IACtB,aAAiB,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IACjD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,4BAAgC,WAAO;AAAA,EAClD,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,8BAAkC,WAAO;AAAA,EACpD,QAAY,WAAO;AAAA,IACnB,aAAiB,YAAQ;AAAA,IACzB,UAAc,WAAW,WAAO,GAAO,WAAO;AAAA,MAC9C,eAAmB,WAAO;AAAA,MAC1B,iBAAqB,WAAO;AAAA,MAC5B,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,MAC3C,gBAAoB,UAAM,CAAK,WAAO;AAAA,QACtC,QAAY,WAAO;AAAA,QACnB,OAAW,WAAO;AAAA,QAClB,SAAa,WAAO;AAAA,QACpB,UAAc,WAAO;AAAA,MACvB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,MACZ,WAAe,WAAO;AAAA,IACxB,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,gCAAgC;AACtC,IAAM,4BAA4B;AAElC,IAAM,iCAAiC;AACvC,IAAM,6BAA6B;AAEnC,IAAM,iCAAiC;AACvC,IAAM,oCAAoC;AAG1C,IAAM,0BAA8B,WAAO;AAAA,EAChD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,yBAAyB,EAAE,QAAQ,6BAA6B;AAAA,EACjG,UAAc,WAAO,EAAE,IAAI,0BAA0B,EAAE,QAAQ,8BAA8B;AAAA,EAC7F,WAAe,SAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,8BAA8B;AAAA,EAC1E,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,iCAAiC;AAAA,EACjF,oBAAwB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EACjD,gBAAoB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EAC7C,iBAAqB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EAC9C,aAAiB,WAAO,EAAE,KAAK,EAAE,SAAS;AAAA,EAC1C,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,wGAAwG;AAAA,EAC3J,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,iBAAqB,WAAO,EAAE,SAAS;AAAA,EACvC,kBAAsB,WAAO,EAAE,SAAS;AAAA,EACxC,SAAa,WAAW,WAAO,GAAO,WAAO,CAAC,EAAE,SAAS,EAAE,SAAS,2HAA2H;AACjM,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,iBAAqB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACpD,kBAAsB,WAAO;AAAA,IAC7B,gBAAoB,WAAO;AAAA,IAC3B,qBAAyB,WAAO;AAAA,IAChC,kBAAsB,WAAO;AAAA,IAC7B,mBAAuB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IACzD,UAAc,YAAQ;AAAA,IACtB,aAAiB,UAAM,CAAK,YAAQ,GAAM,SAAK,CAAC,CAAC;AAAA,IACjD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACjD,aAAiB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAChD,SAAa,WAAO;AAAA,IACpB,QAAY,SAAK,CAAC,SAAS,iBAAiB,QAAQ,CAAC;AAAA,IACrD,eAAmB,UAAU,SAAK,CAAC,sBAAsB,wBAAwB,eAAe,iBAAiB,iBAAiB,oBAAoB,iBAAiB,gBAAgB,mBAAmB,kBAAkB,eAAe,eAAe,gBAAgB,8BAA8B,gCAAgC,kBAAkB,uBAAuB,0BAA0B,iBAAiB,mBAAmB,qBAAqB,eAAe,mBAAmB,qBAAqB,uBAAuB,gBAAgB,iBAAiB,gBAAgB,iBAAiB,kBAAkB,iBAAiB,CAAC,CAAC;AAAA,IACznB,WAAe,WAAO;AAAA,MACtB,UAAc,WAAO;AAAA,QACrB,MAAU,WAAO;AAAA,QACjB,QAAY,WAAO;AAAA,MACrB,CAAC;AAAA,MACC,aAAiB,UAAU,WAAO;AAAA,QAClC,MAAU,WAAO;AAAA,QACjB,QAAY,WAAO;AAAA,MACrB,CAAC,CAAC;AAAA,IACF,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACjD,aAAiB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAChD,SAAa,WAAO;AAAA,IACpB,QAAY,SAAK,CAAC,SAAS,iBAAiB,QAAQ,CAAC;AAAA,IACrD,cAAkB,WAAO;AAAA,IACzB,cAAkB,WAAO;AAAA,EAC3B,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,SAAa,WAAO,EAAE,MAAM;AAC9B,CAAC;AAEM,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,sCAAsC;AAAA,IAClE,SAAa,WAAO;AAAA,IACpB,SAAa,SAAK,CAAC,WAAW,YAAY,WAAW,SAAS,CAAC;AAAA,IAC/D,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,4CAA4C;AAAA,IAC1G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,EACpF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,8BAAkC,WAAO;AAAA,EACpD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO,EAAE,SAAS,sCAAsC;AAAA,IAClE,SAAa,WAAO;AAAA,IACpB,SAAa,SAAK,CAAC,WAAW,YAAY,WAAW,SAAS,CAAC;AAAA,IAC/D,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,4CAA4C;AAAA,IAC1G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,EACpF,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,6BAAiC,WAAO;AAAA,EACnD,gBAAoB,WAAO,EAAE,IAAI,CAAC;AACpC,CAAC;AAEM,IAAM,+BAAmC,SAAK;AAM9C,IAAM,6BAAiC,WAAO;AAAA,EACnD,gBAAoB,WAAO,EAAE,IAAI,CAAC;AACpC,CAAC;AAEM,IAAM,+BAAmC,WAAO;AAAA,EACrD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,sCAAsC;AAAA,IAClE,SAAa,WAAO;AAAA,IACpB,SAAa,SAAK,CAAC,WAAW,YAAY,WAAW,SAAS,CAAC;AAAA,IAC/D,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,4CAA4C;AAAA,IAC1G,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,EACpF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,SAAK,CAAC,SAAS,QAAQ,CAAC;AACtC,CAAC;AAEM,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACjD,aAAiB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAChD,SAAa,WAAO;AAAA,IACpB,QAAY,SAAK,CAAC,SAAS,iBAAiB,QAAQ,CAAC;AAAA,IACrD,cAAkB,WAAO;AAAA,IACzB,cAAkB,WAAO;AAAA,EAC3B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,uBAA2B,SAAK;AAGtC,IAAM,0BAA0B;AAEhC,IAAM,4BAA4B;AAGlC,IAAM,+BAA+B,IAAI,OAAO,mBAAmB;AACnE,IAAM,2BAA2B;AAEjC,IAAM,+BAA+B;AAErC,IAAM,iCAAiC;AAIvC,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,uBAAuB,EAAE,SAAS,gFAAgF;AAAA,EAClJ,WAAe,WAAO,EAAE,IAAI,yBAAyB,EAAE,MAAM,4BAA4B,EAAE,SAAS,uKAAuK;AAAA,EAC3Q,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,wBAAwB,EAAE,SAAS,2DAA2D;AAAA,EAC/H,cAAkB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,4BAA4B,EAAE,SAAS,EAAE,SAAS,qHAAqH;AAAA,EAC7M,eAAmB,WAAO,EAAE,IAAI,8BAA8B,EAAE,SAAS;AAC3E,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,kCAAkC;AAAA,IAC9D,QAAY,WAAO,EAAE,SAAS,sDAAsD;AAAA,IACpF,WAAe,WAAO,EAAE,SAAS,4FAA4F;AAAA,IAC7H,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,sBAAsB;AAAA,IACnF,kBAAsB,YAAQ,EAAE,SAAS,qFAAqF;AAAA,IAC9H,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,8CAA8C;AAAA,EAC9G,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,+BAA+B;AACrC,IAAM,2BAA2B;AAEjC,IAAM,gCAAgC;AACtC,IAAM,4BAA4B;AAElC,IAAM,gCAAgC;AACtC,IAAM,mCAAmC;AAEzC,IAAM,yBAA6B,WAAO;AAAA,EAC/C,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,wBAAwB,EAAE,QAAQ,4BAA4B;AAAA,EAC/F,UAAc,WAAO,EAAE,IAAI,yBAAyB,EAAE,QAAQ,6BAA6B;AAAA,EAC3F,WAAe,SAAK,CAAC,QAAQ,YAAY,CAAC,EAAE,QAAQ,6BAA6B;AAAA,EACjF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,gCAAgC;AAClF,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO,EAAE,SAAS,kCAAkC;AAAA,IAC9D,QAAY,WAAO,EAAE,SAAS,sDAAsD;AAAA,IACpF,WAAe,WAAO,EAAE,SAAS,4FAA4F;AAAA,IAC7H,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,sBAAsB;AAAA,IACnF,kBAAsB,YAAQ,EAAE,SAAS,qFAAqF;AAAA,IAC9H,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,8CAA8C;AAAA,EAC9G,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,kBAAsB,WAAO;AAAA,EACxC,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,kCAAkC;AAAA,IAC9D,QAAY,WAAO,EAAE,SAAS,sDAAsD;AAAA,IACpF,WAAe,WAAO,EAAE,SAAS,4FAA4F;AAAA,IAC7H,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,sBAAsB;AAAA,IACnF,kBAAsB,YAAQ,EAAE,SAAS,qFAAqF;AAAA,IAC9H,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,8CAA8C;AAAA,EAC9G,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,0BAA0B;AAEhC,IAAM,2BAA2B;AAEjC,IAAM,kCAAkC;AAExC,IAAM,oCAAoC;AAI1C,IAAM,mBAAuB,WAAO;AAAA,EACzC,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,uBAAuB,EAAE,SAAS,EAAE,SAAS,4CAA4C;AAAA,EACzH,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,wBAAwB,EAAE,SAAS,EAAE,SAAS,8GAA8G;AAAA,EAC7L,cAAkB,UAAM,CAAK,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,+BAA+B,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,mIAAmI;AAAA,EACtP,eAAmB,UAAM,CAAK,WAAO,EAAE,IAAI,iCAAiC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,+DAA+D;AAChL,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,kCAAkC;AAAA,IAC9D,QAAY,WAAO,EAAE,SAAS,sDAAsD;AAAA,IACpF,WAAe,WAAO,EAAE,SAAS,4FAA4F;AAAA,IAC7H,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,sBAAsB;AAAA,IACnF,kBAAsB,YAAQ,EAAE,SAAS,qFAAqF;AAAA,IAC9H,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,8CAA8C;AAAA,EAC9G,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,YAAgB,WAAO,EAAE,KAAK;AAChC,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,iDAAiD;AACvD,IAAM,iDAAiD;AAEvD,IAAM,uDAAuD;AAC7D,IAAM,uDAAuD;AAE7D,IAAM,mDAAmD;AAEzD,IAAM,oDAAoD;AAC1D,IAAM,0DAA0D;AAEhE,IAAM,sDAAsD;AAE5D,IAAM,uDAAuD;AAC7D,IAAM,uCAAuC;AAE7C,IAAM,4BAA4B;AAIlC,IAAM,qBAAyB,WAAO;AAAA,EAC3C,UAAc,WAAO;AAAA,IACrB,QAAY,YAAQ,gBAAgB;AAAA,IACpC,aAAiB,WAAO,EAAE,KAAK;AAAA,IAC/B,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,UAAM,CAAK,WAAO,GAAM,WAAO,GAAM,YAAQ,GAAM,SAAK,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,sFAAsF;AAAA,EACvO,CAAC,EAAE,SAAS,4CAA4C;AAAA,EACtD,QAAY,UAAM,CAAK,WAAO;AAAA,IAC9B,QAAY,YAAQ,MAAM;AAAA,IAC1B,MAAU,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,0DAA0D;AAAA,EAClH,CAAC,GAAM,WAAO;AAAA,IACZ,QAAY,YAAQ,WAAW;AAAA,IAC/B,YAAgB,WAAO,EAAE,SAAS,mDAAmD;AAAA,IACrF,YAAgB,UAAU,WAAO;AAAA,MACjC,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,8CAA8C,EAAE,IAAI,8CAA8C,EAAE,SAAS,cAAc;AAAA,MAC5J,SAAa,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,oDAAoD,EAAE,IAAI,oDAAoD,EAAE,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,gDAAgD,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,iDAAiD,EAAE,SAAS,4EAA4E;AAAA,MACvZ,YAAgB,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,uDAAuD,EAAE,SAAS,iDAAiD,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,mDAAmD,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,oDAAoD,EAAE,SAAS,uFAAuF;AAAA,IACla,CAAC,EAAE,SAAS,4CAA4C,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,oCAAoC,EAAE,SAAS,kGAAmG;AAAA,EACxN,CAAC,CAAC,CAAC,EAAE,SAAS,yBAAyB;AAAA,EACrC,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,8KAA8K;AAAA,EACxP,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,yBAAyB,EAAE,SAAS,EAAE,SAAS,iDAAiD;AAAA,EAChI,WAAe,YAAQ,EAAE,SAAS,EAAE,SAAS,4GAA4G;AAC3J,CAAC;AAEM,IAAM,yDAAyD;AAC/D,IAAM,yDAAyD;AAE/D,IAAM,+DAA+D;AACrE,IAAM,+DAA+D;AAErE,IAAM,2DAA2D;AAEjE,IAAM,4DAA4D;AAClE,IAAM,kEAAkE;AAExE,IAAM,8DAA8D;AAEpE,IAAM,+DAA+D;AACrE,IAAM,+CAA+C;AAIrD,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,oCAAoC;AAAA,IAChE,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,8BAA8B;AAAA,IACpF,UAAc,WAAO;AAAA,MACrB,QAAY,YAAQ,gBAAgB;AAAA,MACpC,aAAiB,WAAO,EAAE,KAAK;AAAA,MAC/B,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,UAAM,CAAK,WAAO,GAAM,WAAO,GAAM,YAAQ,GAAM,SAAK,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,sFAAsF;AAAA,IACvO,CAAC,EAAE,SAAS,4CAA4C;AAAA,IACtD,QAAY,UAAM,CAAK,WAAO;AAAA,MAC9B,QAAY,YAAQ,MAAM;AAAA,MAC1B,MAAU,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,0DAA0D;AAAA,IAClH,CAAC,GAAM,WAAO;AAAA,MACZ,QAAY,YAAQ,WAAW;AAAA,MAC/B,YAAgB,WAAO,EAAE,SAAS,mDAAmD;AAAA,MACrF,YAAgB,UAAU,WAAO;AAAA,QACjC,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,sDAAsD,EAAE,IAAI,sDAAsD,EAAE,SAAS,cAAc;AAAA,QAC5K,SAAa,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,4DAA4D,EAAE,IAAI,4DAA4D,EAAE,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,wDAAwD,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,yDAAyD,EAAE,SAAS,4EAA4E;AAAA,QACvb,YAAgB,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,+DAA+D,EAAE,SAAS,iDAAiD,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,2DAA2D,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,4DAA4D,EAAE,SAAS,uFAAuF;AAAA,MAC1b,CAAC,EAAE,SAAS,4CAA4C,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,4CAA4C,EAAE,SAAS,kGAAmG;AAAA,IAChO,CAAC,CAAC,CAAC,EAAE,SAAS,yBAAyB;AAAA,IACrC,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,oCAAoC;AAAA,IACnG,WAAe,YAAQ,EAAE,SAAS,6DAA6D;AAAA,IAC/F,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yFAAyF;AAAA,IAChL,cAAkB,WAAO,EAAE,SAAS,iCAAiC;AAAA,IACrE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,uBAAuB;AAAA,EACvF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAIM,IAAM,iCAAiC;AACvC,IAAM,6BAA6B;AAEnC,IAAM,kCAAkC;AACxC,IAAM,8BAA8B;AAEpC,IAAM,kCAAkC;AACxC,IAAM,qCAAqC;AAE3C,IAAM,2BAA+B,WAAO;AAAA,EACjD,aAAiB,WAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,yCAAyC;AAAA,EAC9F,aAAiB,SAAK,CAAC,QAAQ,WAAW,CAAC,EAAE,SAAS,EAAE,SAAS,2CAA2C;AAAA,EAC5G,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,iGAAiG;AAAA,EAC/J,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,iGAAiG;AAAA,EACpJ,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,0BAA0B,EAAE,QAAQ,8BAA8B;AAAA,EACnG,UAAc,WAAO,EAAE,IAAI,2BAA2B,EAAE,QAAQ,+BAA+B;AAAA,EAC/F,WAAe,SAAK,CAAC,cAAc,aAAa,CAAC,EAAE,QAAQ,+BAA+B;AAAA,EAC1F,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,kCAAkC;AACpF,CAAC;AAEM,IAAM,4DAA4D;AAClE,IAAM,4DAA4D;AAElE,IAAM,kEAAkE;AACxE,IAAM,kEAAkE;AAExE,IAAM,8DAA8D;AAEpE,IAAM,+DAA+D;AACrE,IAAM,qEAAqE;AAE3E,IAAM,iEAAiE;AAEvE,IAAM,kEAAkE;AACxE,IAAM,kDAAkD;AAIxD,IAAM,wBAA4B,WAAO;AAAA,EAC9C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO,EAAE,SAAS,oCAAoC;AAAA,IAChE,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,8BAA8B;AAAA,IACpF,UAAc,WAAO;AAAA,MACrB,QAAY,YAAQ,gBAAgB;AAAA,MACpC,aAAiB,WAAO,EAAE,KAAK;AAAA,MAC/B,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,UAAM,CAAK,WAAO,GAAM,WAAO,GAAM,YAAQ,GAAM,SAAK,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,sFAAsF;AAAA,IACvO,CAAC,EAAE,SAAS,4CAA4C;AAAA,IACtD,QAAY,UAAM,CAAK,WAAO;AAAA,MAC9B,QAAY,YAAQ,MAAM;AAAA,MAC1B,MAAU,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,0DAA0D;AAAA,IAClH,CAAC,GAAM,WAAO;AAAA,MACZ,QAAY,YAAQ,WAAW;AAAA,MAC/B,YAAgB,WAAO,EAAE,SAAS,mDAAmD;AAAA,MACrF,YAAgB,UAAU,WAAO;AAAA,QACjC,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,yDAAyD,EAAE,IAAI,yDAAyD,EAAE,SAAS,cAAc;AAAA,QAClL,SAAa,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,+DAA+D,EAAE,IAAI,+DAA+D,EAAE,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,2DAA2D,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,4DAA4D,EAAE,SAAS,4EAA4E;AAAA,QACnc,YAAgB,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,kEAAkE,EAAE,SAAS,iDAAiD,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,8DAA8D,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,+DAA+D,EAAE,SAAS,uFAAuF;AAAA,MACnc,CAAC,EAAE,SAAS,4CAA4C,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,+CAA+C,EAAE,SAAS,kGAAmG;AAAA,IACnO,CAAC,CAAC,CAAC,EAAE,SAAS,yBAAyB;AAAA,IACrC,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,oCAAoC;AAAA,IACnG,WAAe,YAAQ,EAAE,SAAS,6DAA6D;AAAA,IAC/F,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yFAAyF;AAAA,IAChL,cAAkB,WAAO,EAAE,SAAS,iCAAiC;AAAA,IACrE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,uBAAuB;AAAA,EACvF,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,cAAkB,WAAO,EAAE,KAAK;AAClC,CAAC;AAEM,IAAM,sDAAsD;AAC5D,IAAM,sDAAsD;AAE5D,IAAM,4DAA4D;AAClE,IAAM,4DAA4D;AAElE,IAAM,wDAAwD;AAE9D,IAAM,yDAAyD;AAC/D,IAAM,+DAA+D;AAErE,IAAM,2DAA2D;AAEjE,IAAM,4DAA4D;AAClE,IAAM,4CAA4C;AAIlD,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,oCAAoC;AAAA,IAChE,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,8BAA8B;AAAA,IACpF,UAAc,WAAO;AAAA,MACrB,QAAY,YAAQ,gBAAgB;AAAA,MACpC,aAAiB,WAAO,EAAE,KAAK;AAAA,MAC/B,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,UAAM,CAAK,WAAO,GAAM,WAAO,GAAM,YAAQ,GAAM,SAAK,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,sFAAsF;AAAA,IACvO,CAAC,EAAE,SAAS,4CAA4C;AAAA,IACtD,QAAY,UAAM,CAAK,WAAO;AAAA,MAC9B,QAAY,YAAQ,MAAM;AAAA,MAC1B,MAAU,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,0DAA0D;AAAA,IAClH,CAAC,GAAM,WAAO;AAAA,MACZ,QAAY,YAAQ,WAAW;AAAA,MAC/B,YAAgB,WAAO,EAAE,SAAS,mDAAmD;AAAA,MACrF,YAAgB,UAAU,WAAO;AAAA,QACjC,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,mDAAmD,EAAE,IAAI,mDAAmD,EAAE,SAAS,cAAc;AAAA,QACtK,SAAa,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,yDAAyD,EAAE,IAAI,yDAAyD,EAAE,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,qDAAqD,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,sDAAsD,EAAE,SAAS,4EAA4E;AAAA,QAC3a,YAAgB,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,4DAA4D,EAAE,SAAS,iDAAiD,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,wDAAwD,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,yDAAyD,EAAE,SAAS,uFAAuF;AAAA,MACjb,CAAC,EAAE,SAAS,4CAA4C,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,yCAAyC,EAAE,SAAS,kGAAmG;AAAA,IAC7N,CAAC,CAAC,CAAC,EAAE,SAAS,yBAAyB;AAAA,IACrC,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,oCAAoC;AAAA,IACnG,WAAe,YAAQ,EAAE,SAAS,6DAA6D;AAAA,IAC/F,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yFAAyF;AAAA,IAChL,cAAkB,WAAO,EAAE,SAAS,iCAAiC;AAAA,IACrE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,uBAAuB;AAAA,EACvF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,cAAkB,WAAO,EAAE,KAAK;AAClC,CAAC;AAEM,IAAM,iDAAiD;AACvD,IAAM,iDAAiD;AAEvD,IAAM,uDAAuD;AAC7D,IAAM,uDAAuD;AAE7D,IAAM,mDAAmD;AAEzD,IAAM,oDAAoD;AAC1D,IAAM,0DAA0D;AAEhE,IAAM,sDAAsD;AAE5D,IAAM,uDAAuD;AAC7D,IAAM,uCAAuC;AAE7C,IAAM,+BAA+B;AAIrC,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,UAAM,CAAK,WAAO;AAAA,IAC9B,QAAY,YAAQ,MAAM;AAAA,IAC1B,MAAU,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,0DAA0D;AAAA,EAClH,CAAC,GAAM,WAAO;AAAA,IACZ,QAAY,YAAQ,WAAW;AAAA,IAC/B,YAAgB,WAAO,EAAE,SAAS,mDAAmD;AAAA,IACrF,YAAgB,UAAU,WAAO;AAAA,MACjC,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,8CAA8C,EAAE,IAAI,8CAA8C,EAAE,SAAS,cAAc;AAAA,MAC5J,SAAa,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,oDAAoD,EAAE,IAAI,oDAAoD,EAAE,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,gDAAgD,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,iDAAiD,EAAE,SAAS,4EAA4E;AAAA,MACvZ,YAAgB,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,uDAAuD,EAAE,SAAS,iDAAiD,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,mDAAmD,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,oDAAoD,EAAE,SAAS,uFAAuF;AAAA,IACla,CAAC,EAAE,SAAS,4CAA4C,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,oCAAoC,EAAE,SAAS,kGAAmG;AAAA,EACxN,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,yBAAyB;AAAA,EAChD,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,8KAA8K;AAAA,EACxP,QAAY,UAAM,CAAK,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,4BAA4B,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,6CAA6C;AAAA,EACvJ,WAAe,YAAQ,EAAE,SAAS,EAAE,SAAS,6FAA6F;AAC5I,CAAC;AAEM,IAAM,yDAAyD;AAC/D,IAAM,yDAAyD;AAE/D,IAAM,+DAA+D;AACrE,IAAM,+DAA+D;AAErE,IAAM,2DAA2D;AAEjE,IAAM,4DAA4D;AAClE,IAAM,kEAAkE;AAExE,IAAM,8DAA8D;AAEpE,IAAM,+DAA+D;AACrE,IAAM,+CAA+C;AAIrD,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,oCAAoC;AAAA,IAChE,QAAY,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,8BAA8B;AAAA,IACpF,UAAc,WAAO;AAAA,MACrB,QAAY,YAAQ,gBAAgB;AAAA,MACpC,aAAiB,WAAO,EAAE,KAAK;AAAA,MAC/B,SAAa,UAAM,CAAK,WAAW,WAAO,GAAO,UAAM,CAAK,WAAO,GAAM,WAAO,GAAM,YAAQ,GAAM,SAAK,CAAC,CAAC,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,sFAAsF;AAAA,IACvO,CAAC,EAAE,SAAS,4CAA4C;AAAA,IACtD,QAAY,UAAM,CAAK,WAAO;AAAA,MAC9B,QAAY,YAAQ,MAAM;AAAA,MAC1B,MAAU,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,0DAA0D;AAAA,IAClH,CAAC,GAAM,WAAO;AAAA,MACZ,QAAY,YAAQ,WAAW;AAAA,MAC/B,YAAgB,WAAO,EAAE,SAAS,mDAAmD;AAAA,MACrF,YAAgB,UAAU,WAAO;AAAA,QACjC,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,sDAAsD,EAAE,IAAI,sDAAsD,EAAE,SAAS,cAAc;AAAA,QAC5K,SAAa,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,4DAA4D,EAAE,IAAI,4DAA4D,EAAE,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,wDAAwD,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,yDAAyD,EAAE,SAAS,4EAA4E;AAAA,QACvb,YAAgB,UAAM,CAAK,UAAU,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,+DAA+D,EAAE,SAAS,iDAAiD,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,2DAA2D,GAAM,SAAK,CAAC,CAAC,EAAE,QAAQ,4DAA4D,EAAE,SAAS,uFAAuF;AAAA,MAC1b,CAAC,EAAE,SAAS,4CAA4C,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,4CAA4C,EAAE,SAAS,kGAAmG;AAAA,IAChO,CAAC,CAAC,CAAC,EAAE,SAAS,yBAAyB;AAAA,IACrC,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,oCAAoC;AAAA,IACnG,WAAe,YAAQ,EAAE,SAAS,6DAA6D;AAAA,IAC/F,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,yFAAyF;AAAA,IAChL,cAAkB,WAAO,EAAE,SAAS,iCAAiC;AAAA,IACrE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,oBAAoB;AAAA,IAClF,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS,uBAAuB;AAAA,EACvF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,cAAkB,WAAO,EAAE,KAAK;AAClC,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,kCAAkC;AACxC,IAAM,8BAA8B;AAEpC,IAAM,mCAAmC;AACzC,IAAM,+BAA+B;AAErC,IAAM,mCAAmC;AACzC,IAAM,sCAAsC;AAE5C,IAAM,4BAAgC,WAAO;AAAA,EAClD,gBAAoB,SAAK,CAAC,YAAY,SAAS,qBAAqB,CAAC,EAAE,SAAS,EAAE,SAAS,kDAAkD;AAAA,EAC7I,cAAkB,WAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,oEAAoE;AAAA,EAC1H,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,2BAA2B,EAAE,QAAQ,+BAA+B;AAAA,EACrG,UAAc,WAAO,EAAE,IAAI,4BAA4B,EAAE,QAAQ,gCAAgC;AAAA,EACjG,WAAe,SAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,gCAAgC;AAAA,EACxE,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,mCAAmC;AACrF,CAAC;AAEM,IAAM,4CAA4C;AAClD,IAAM,4CAA4C;AAIlD,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,WAAe,WAAO;AAAA,MACtB,QAAY,SAAK,CAAC,YAAY,SAAS,qBAAqB,CAAC;AAAA,MAC7D,MAAU,WAAO;AAAA,IACnB,CAAC;AAAA,IACC,UAAc,UAAM,CAAK,WAAO;AAAA,MAChC,QAAY,SAAK,CAAC,cAAc,eAAe,CAAC;AAAA,MAChD,MAAU,WAAO;AAAA,IACnB,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IACZ,UAAc,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IAC/C,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,UAAc,SAAK,CAAC,WAAW,cAAc,WAAW,CAAC;AAAA,IACzD,YAAgB,WAAO,EAAE,IAAI,EAAE,IAAI,yCAAyC,EAAE,IAAI,yCAAyC;AAAA,EAC7H,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,qCAAqC;AAC3C,IAAM,iCAAiC;AAEvC,IAAM,sCAAsC;AAC5C,IAAM,kCAAkC;AAExC,IAAM,sCAAsC;AAC5C,IAAM,yCAAyC;AAE/C,IAAM,+BAAmC,WAAO;AAAA,EACrD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,8BAA8B,EAAE,QAAQ,kCAAkC;AAAA,EAC3G,UAAc,WAAO,EAAE,IAAI,+BAA+B,EAAE,QAAQ,mCAAmC;AAAA,EACvG,WAAe,SAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,mCAAmC;AAAA,EAC/E,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,sCAAsC;AACxF,CAAC;AAEM,IAAM,4BAAgC,WAAO;AAAA,EAClD,QAAY,UAAU,UAAM,CAAK,WAAO;AAAA,IACxC,MAAU,WAAO;AAAA,IACjB,SAAa,WAAO,EAAE,SAAS,qBAAqB;AAAA,IACpD,QAAY,WAAO,EAAE,SAAS,sBAAsB;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,oCAAoC;AAAA,IACxE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,QAAY,YAAQ,uBAAuB;AAAA,IAC3C,QAAY,WAAO;AAAA,MACnB,aAAiB,WAAO;AAAA,MACxB,UAAc,WAAO;AAAA,IACvB,CAAC,EAAE,SAAS,4CAA4C;AAAA,EACxD,CAAC,GAAM,WAAO;AAAA,IACZ,MAAU,WAAO;AAAA,IACjB,SAAa,WAAO,EAAE,SAAS,qBAAqB;AAAA,IACpD,QAAY,WAAO,EAAE,SAAS,sBAAsB;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,oCAAoC;AAAA,IACxE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,QAAY,YAAQ,6BAA6B;AAAA,IACjD,QAAY,WAAO;AAAA,MACnB,cAAkB,WAAO;AAAA,IAC3B,CAAC,EAAE,SAAS,gDAAgD;AAAA,EAC5D,CAAC,CAAC,CAAC,CAAC;AAAA,EACF,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,kBAAsB,WAAO,EAAE,KAAK;AACtC,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,UAAM,CAAK,WAAO;AAAA,IAC9B,MAAU,WAAO;AAAA,IACjB,SAAa,WAAO,EAAE,SAAS,qBAAqB;AAAA,IACpD,QAAY,WAAO,EAAE,SAAS,sBAAsB;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,oCAAoC;AAAA,IACxE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,QAAY,YAAQ,uBAAuB;AAAA,IAC3C,QAAY,WAAO;AAAA,MACnB,aAAiB,WAAO;AAAA,MACxB,UAAc,WAAO;AAAA,IACvB,CAAC,EAAE,SAAS,4CAA4C;AAAA,EACxD,CAAC,GAAM,WAAO;AAAA,IACZ,MAAU,WAAO;AAAA,IACjB,SAAa,WAAO,EAAE,SAAS,qBAAqB;AAAA,IACpD,QAAY,WAAO,EAAE,SAAS,sBAAsB;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,oCAAoC;AAAA,IACxE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,QAAY,YAAQ,6BAA6B;AAAA,IACjD,QAAY,WAAO;AAAA,MACnB,cAAkB,WAAO;AAAA,IAC3B,CAAC,EAAE,SAAS,gDAAgD;AAAA,EAC5D,CAAC,CAAC,CAAC;AAAA,EACD,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,uCAAuC;AAE7C,IAAM,0CAA0C;AAIhD,IAAM,+BAAmC,WAAO;AAAA,EACrD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,oCAAoC,EAAE,SAAS,8KAAyK;AAAA,EACzP,YAAgB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,uCAAuC,EAAE,SAAS,wLAAwL;AAAA,EAC9Q,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,mEAAmE;AAC7I,CAAC;AAEM,IAAM,mCAAuC,WAAO;AAAA,EACzD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,WAAO,EAAE,SAAS,yCAAyC;AAAA,IACxE,YAAgB,WAAO,EAAE,SAAS,8BAA8B;AAAA,IAChE,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,gCAAgC;AAAA,IAC5F,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,+DAA+D,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5H,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5E,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAClD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,cAAkB,WAAO,EAAE,SAAS,+BAA+B;AAAA,IACnE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAIM,IAAM,2CAA2C;AACjD,IAAM,uCAAuC;AAE7C,IAAM,4CAA4C;AAClD,IAAM,wCAAwC;AAE9C,IAAM,4CAA4C;AAClD,IAAM,+CAA+C;AAErD,IAAM,qCAAyC,WAAO;AAAA,EAC3D,YAAgB,SAAK,CAAC,QAAQ,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,wEAAwE;AAAA,EACpI,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,gGAAgG;AAAA,EACnJ,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACnD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,oCAAoC,EAAE,QAAQ,wCAAwC;AAAA,EACvH,UAAc,WAAO,EAAE,IAAI,qCAAqC,EAAE,QAAQ,yCAAyC;AAAA,EACnH,WAAe,SAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,yCAAyC;AAAA,EACrF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,4CAA4C;AAC9F,CAAC;AAEM,IAAM,kCAAsC,WAAO;AAAA,EACxD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,SAAa,WAAO,EAAE,SAAS,yCAAyC;AAAA,IACxE,YAAgB,WAAO,EAAE,SAAS,8BAA8B;AAAA,IAChE,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,gCAAgC;AAAA,IAC5F,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,+DAA+D,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5H,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5E,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAClD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,cAAkB,WAAO,EAAE,SAAS,+BAA+B;AAAA,IACnE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAGM,IAAM,8BAAkC,WAAO;AAAA,EACpD,wBAA4B,WAAO,EAAE,KAAK;AAC5C,CAAC;AAEM,IAAM,gCAAoC,WAAO;AAAA,EACtD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,WAAO,EAAE,SAAS,yCAAyC;AAAA,IACxE,YAAgB,WAAO,EAAE,SAAS,8BAA8B;AAAA,IAChE,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,gCAAgC;AAAA,IAC5F,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,+DAA+D,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5H,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5E,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAClD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,cAAkB,WAAO,EAAE,SAAS,+BAA+B;AAAA,IACnE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,kCAAsC,WAAO;AAAA,EACxD,wBAA4B,WAAO,EAAE,KAAK;AAC5C,CAAC;AAEM,IAAM,6CAA6C;AAInD,IAAM,gCAAoC,WAAO;AAAA,EACtD,cAAkB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,0CAA0C,EAAE,SAAS,0DAA0D;AACvJ,CAAC;AAEM,IAAM,oCAAwC,WAAO;AAAA,EAC1D,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,WAAO,EAAE,SAAS,yCAAyC;AAAA,IACxE,YAAgB,WAAO,EAAE,SAAS,8BAA8B;AAAA,IAChE,cAAkB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS,gCAAgC;AAAA,IAC5F,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,+DAA+D,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5H,eAAmB,UAAM,CAAK,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,GAAM,SAAK,CAAC,CAAC;AAAA,IAC5E,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAClD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,IACxC,cAAkB,WAAO,EAAE,SAAS,+BAA+B;AAAA,IACnE,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAQM,IAAM,iBAAqB,WAAO;AAAA,EACvC,QAAY,WAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,QAAY,WAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,eAAmB,WAAO,EAAE,IAAI,CAAC;AACnC,CAAC;AAEM,IAAM,8CAA8C;AACpD,IAAM,8CAA8C;AAEpD,IAAM,4CAA4C;AAClD,IAAM,4CAA4C;AAElD,IAAM,4CAA4C;AAClD,IAAM,4CAA4C;AAIlD,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,QAAY,WAAO;AAAA,MACnB,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,SAAS;AAAA,MAC3D,eAAmB,WAAO,EAAE,SAAS;AAAA,MACrC,QAAY,WAAO,EAAE,SAAS;AAAA,MAC9B,YAAgB,WAAO;AAAA,QACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,2CAA2C,EAAE,IAAI,2CAA2C,EAAE,SAAS,wFAAwF;AAAA,QAChO,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,yCAAyC,EAAE,IAAI,yCAAyC,EAAE,SAAS,wDAAwD;AAAA,QAC1L,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,yCAAyC,EAAE,IAAI,yCAAyC,EAAE,SAAS,wDAAwD;AAAA,MAC5L,CAAC;AAAA,IACD,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,8BAA8B;AACpC,IAAM,iCAAiC;AAEvC,IAAM,uBAA2B,WAAO;AAAA,EAC7C,WAAe,SAAK,CAAC,cAAc,cAAc,MAAM,CAAC,EAAE,QAAQ,2BAA2B;AAAA,EAC7F,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,8BAA8B;AAChF,CAAC;AAEM,IAAM,kDAAkD;AACxD,IAAM,kDAAkD;AAExD,IAAM,gDAAgD;AACtD,IAAM,gDAAgD;AAEtD,IAAM,gDAAgD;AACtD,IAAM,gDAAgD;AAItD,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,WAAO;AAAA,IACnB,SAAa,UAAU,WAAO;AAAA,MAC9B,MAAU,WAAO;AAAA,MACjB,QAAY,WAAO;AAAA,MACnB,eAAmB,WAAO,EAAE,SAAS;AAAA,MACrC,YAAgB,WAAO;AAAA,QACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,+CAA+C,EAAE,IAAI,+CAA+C,EAAE,SAAS,wFAAwF;AAAA,QACxO,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,6CAA6C,EAAE,IAAI,6CAA6C,EAAE,SAAS,wDAAwD;AAAA,QAClM,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,6CAA6C,EAAE,IAAI,6CAA6C,EAAE,SAAS,wDAAwD;AAAA,MACpM,CAAC;AAAA,IACD,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,mBAAuB,WAAO;AAAA,EACzC,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,gBAAoB,WAAO;AAAA,EACtC,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,2CAA2C;AACjD,IAAM,2CAA2C;AAEjD,IAAM,yCAAyC;AAC/C,IAAM,yCAAyC;AAE/C,IAAM,yCAAyC;AAC/C,IAAM,yCAAyC;AAI/C,IAAM,kBAAsB,WAAO;AAAA,EACxC,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,QAAY,WAAO;AAAA,MACnB,eAAmB,WAAO,EAAE,SAAS;AAAA,MACrC,QAAY,WAAO;AAAA,MACnB,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,MAChD,cAAkB,UAAU,WAAO,CAAC,EAAE,SAAS,2KAA2K;AAAA,MAC1N,YAAgB,WAAO;AAAA,QACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,wCAAwC,EAAE,IAAI,wCAAwC,EAAE,SAAS,wFAAwF;AAAA,QAC1N,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,sCAAsC,EAAE,IAAI,sCAAsC,EAAE,SAAS,wDAAwD;AAAA,QACpL,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,sCAAsC,EAAE,IAAI,sCAAsC,EAAE,SAAS,wDAAwD;AAAA,MACtL,CAAC;AAAA,IACD,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,mBAAuB,WAAO;AAAA,EACzC,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAOM,IAAM,iBAAqB,WAAO;AAAA,EACvC,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACrC,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACrC,eAAmB,WAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAC5C,cAAkB,UAAU,WAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,yFAA0F;AAC7J,CAAC;AAEM,IAAM,8CAA8C;AACpD,IAAM,8CAA8C;AAEpD,IAAM,4CAA4C;AAClD,IAAM,4CAA4C;AAElD,IAAM,4CAA4C;AAClD,IAAM,4CAA4C;AAIlD,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,QAAY,WAAO;AAAA,MACnB,eAAmB,WAAO,EAAE,SAAS;AAAA,MACrC,QAAY,WAAO;AAAA,MACnB,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,MAChD,cAAkB,UAAU,WAAO,CAAC,EAAE,SAAS,2KAA2K;AAAA,MAC1N,YAAgB,WAAO;AAAA,QACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,2CAA2C,EAAE,IAAI,2CAA2C,EAAE,SAAS,wFAAwF;AAAA,QAChO,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,yCAAyC,EAAE,IAAI,yCAAyC,EAAE,SAAS,wDAAwD;AAAA,QAC1L,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,yCAAyC,EAAE,IAAI,yCAAyC,EAAE,SAAS,wDAAwD;AAAA,MAC5L,CAAC;AAAA,IACD,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,+BAA+B,CAAC;AAEtC,IAAM,kBAAsB,WAAO;AAAA,EACxC,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,QAAQ,4BAA4B;AAAA,EACtF,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,4JAA4J;AAC5N,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,UAAc,WAAO,EAAE,SAAS;AAAA,IAChC,SAAa,WAAO;AAAA,MACpB,QAAY,WAAO;AAAA,MACnB,WAAe,WAAO;AAAA,IACxB,CAAC,EAAE,SAAS;AAAA,IACV,UAAc,UAAU,WAAO;AAAA,MAC/B,QAAY,WAAO;AAAA,MACnB,aAAiB,WAAO;AAAA,IAC1B,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,oCAAoC;AAC1C,IAAM,gCAAgC;AAEtC,IAAM,qCAAqC;AAC3C,IAAM,iCAAiC;AAEvC,IAAM,qCAAqC;AAC3C,IAAM,wCAAwC;AAE9C,IAAM,8BAAkC,WAAO;AAAA,EACpD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6BAA6B,EAAE,QAAQ,iCAAiC;AAAA,EACzG,UAAc,WAAO,EAAE,IAAI,8BAA8B,EAAE,QAAQ,kCAAkC;AAAA,EACrG,WAAe,SAAK,CAAC,WAAW,YAAY,CAAC,EAAE,QAAQ,kCAAkC;AAAA,EACzF,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,qCAAqC;AACvF,CAAC;AAEM,IAAM,6CAA6C;AACnD,IAAM,6CAA6C;AAEnD,IAAM,uCAAuC;AAC7C,IAAM,uCAAuC;AAI7C,IAAM,2BAA+B,WAAO;AAAA,EACjD,QAAY,UAAU,WAAO;AAAA,IAC7B,WAAe,WAAO;AAAA,IACtB,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,0CAA0C,EAAE,IAAI,0CAA0C;AAAA,IAC5H,SAAa,WAAO;AAAA,IACpB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,kBAAsB,UAAU,WAAO,CAAC;AAAA,EAC1C,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO,EAAE,IAAI,EAAE,IAAI,oCAAoC,EAAE,IAAI,oCAAoC;AAAA,EAChH,CAAC;AACD,CAAC;AAGM,IAAM,+BAA+B;AAIrC,IAAM,uBAA2B,WAAO;AAAA,EAC7C,MAAU,WAAO,EAAE,KAAK;AAAA,EACxB,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,4BAA4B;AACvE,CAAC;AAEM,IAAM,uCAAuC;AAC7C,IAAM,uCAAuC;AAI7C,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,QAAY,WAAO;AAAA,IACnB,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,QAAY,WAAO;AAAA,IACnB,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,IAChD,eAAmB,WAAO,EAAE,SAAS;AAAA,IACrC,cAAkB,UAAU,WAAO,CAAC;AAAA,IACpC,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,oCAAoC,EAAE,IAAI,oCAAoC;AAAA,IAChH,sBAA0B,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IAC3D,SAAa,WAAO;AAAA,IACpB,kBAAsB,UAAU,WAAO,CAAC;AAAA,EAC1C,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,mCAAmC;AAIzC,IAAM,2BAA+B,WAAO;AAAA,EACjD,MAAU,WAAO,EAAE,KAAK;AAAA,EACxB,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,gCAAgC;AAC3E,CAAC;AAEM,IAAM,yBAA6B,WAAO;AAAA,EAC/C,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAC1C,CAAC;AAEM,IAAM,2CAA2C;AACjD,IAAM,2CAA2C;AAIjD,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,wCAAwC,EAAE,IAAI,wCAAwC;AAAA,IACxH,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,EAC1C,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,4CAA4C;AAIlD,IAAM,oCAAwC,WAAO;AAAA,EAC1D,MAAU,WAAO,EAAE,KAAK;AAAA,EACxB,WAAe,WAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,yCAAyC;AACpF,CAAC;AAEM,IAAM,sCAA0C,WAAO;AAAA,EAC5D,QAAY,WAAO;AAAA,IACnB,WAAe,WAAO;AAAA,EACxB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,oCAAoC;AAC1C,IAAM,uCAAuC;AAE7C,IAAM,6BAAiC,WAAO;AAAA,EACnD,WAAe,SAAK,CAAC,cAAc,cAAc,MAAM,CAAC,EAAE,QAAQ,iCAAiC;AAAA,EACnG,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,oCAAoC;AACtF,CAAC;AAEM,IAAM,wDAAwD;AAC9D,IAAM,wDAAwD;AAE9D,IAAM,sDAAsD;AAC5D,IAAM,sDAAsD;AAE5D,IAAM,sDAAsD;AAC5D,IAAM,sDAAsD;AAI5D,IAAM,0BAA8B,WAAO;AAAA,EAChD,QAAY,WAAO;AAAA,IACnB,SAAa,UAAU,WAAO;AAAA,MAC9B,MAAU,WAAO;AAAA,MACjB,QAAY,WAAO;AAAA,MACnB,eAAmB,WAAO,EAAE,SAAS;AAAA,MACrC,YAAgB,WAAO;AAAA,QACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,qDAAqD,EAAE,IAAI,qDAAqD,EAAE,SAAS,wFAAwF;AAAA,QACpP,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,mDAAmD,EAAE,IAAI,mDAAmD,EAAE,SAAS,wDAAwD;AAAA,QAC9M,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,mDAAmD,EAAE,IAAI,mDAAmD,EAAE,SAAS,wDAAwD;AAAA,MAChN,CAAC;AAAA,IACD,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,iDAAiD;AACvD,IAAM,iDAAiD;AAEvD,IAAM,+CAA+C;AACrD,IAAM,+CAA+C;AAErD,IAAM,+CAA+C;AACrD,IAAM,+CAA+C;AAIrD,IAAM,wBAA4B,WAAO;AAAA,EAC9C,QAAY,WAAO;AAAA,IACnB,QAAY,WAAO;AAAA,MACnB,MAAU,WAAO;AAAA,MACjB,QAAY,WAAO;AAAA,MACnB,eAAmB,WAAO,EAAE,SAAS;AAAA,MACrC,QAAY,WAAO;AAAA,MACnB,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC;AAAA,MAChD,cAAkB,UAAU,WAAO,CAAC,EAAE,SAAS,2KAA2K;AAAA,MAC1N,YAAgB,WAAO;AAAA,QACvB,UAAc,WAAO,EAAE,IAAI,EAAE,IAAI,8CAA8C,EAAE,IAAI,8CAA8C,EAAE,SAAS,wFAAwF;AAAA,QACtO,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,4CAA4C,EAAE,IAAI,4CAA4C,EAAE,SAAS,wDAAwD;AAAA,QAChM,QAAY,WAAO,EAAE,IAAI,EAAE,IAAI,4CAA4C,EAAE,IAAI,4CAA4C,EAAE,SAAS,wDAAwD;AAAA,MAClM,CAAC;AAAA,IACD,CAAC;AAAA,EACD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,0BAA8B,WAAO;AAAA,EAChD,MAAU,WAAO,EAAE,KAAK;AAC1B,CAAC;AAEM,IAAM,qCAAqC,CAAC;AAE5C,IAAM,wBAA4B,WAAO;AAAA,EAC9C,UAAc,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,QAAQ,kCAAkC;AAAA,EAC5F,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,4JAA4J;AAC5N,CAAC;AAEM,IAAM,4BAAgC,WAAO;AAAA,EAClD,QAAY,WAAO;AAAA,IACnB,UAAc,WAAO,EAAE,SAAS;AAAA,IAChC,SAAa,WAAO;AAAA,MACpB,QAAY,WAAO;AAAA,MACnB,WAAe,WAAO;AAAA,IACxB,CAAC,EAAE,SAAS;AAAA,IACV,UAAc,UAAU,WAAO;AAAA,MAC/B,QAAY,WAAO;AAAA,MACnB,aAAiB,WAAO;AAAA,IAC1B,CAAC,CAAC;AAAA,EACF,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,4BAA4B;AAIlC,IAAM,kBAAsB,WAAO;AAAA,EACxC,WAAe,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,yBAAyB,EAAE,SAAS,kMAAkM;AAC3Q,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO,EAAE,SAAS,4CAA4C;AAAA,EAC1E,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,iBAAqB,WAAO;AAAA,EACvC,cAAkB,WAAO,EAAE,SAAS,yNAAyN;AAAA,EAC7P,iBAAqB,WAAO,EAAE,IAAI,CAAC;AAAA,EACnC,sBAA0B,WAAO;AAAA,IACjC,iBAAqB,WAAO,EAAE,SAAS;AAAA,IACvC,0BAA8B,YAAQ,EAAE,SAAS;AAAA,EACnD,CAAC,EAAE,SAAS;AAAA,EACV,uBAA2B,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC,EAAE,SAAS;AAAA,EACvE,YAAgB,WAAW,WAAO,GAAO,YAAQ,CAAC,EAAE,SAAS;AAC/D,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,aAAiB,WAAO;AAAA,EAC1B,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,2BAA+B,WAAO;AAAA,EACjD,gBAAoB,WAAO,EAAE,IAAI,CAAC;AACpC,CAAC;AAEM,IAAM,gCAAgC;AAEtC,IAAM,+BAA+B;AAGrC,IAAM,6CAA6C;AAEnD,IAAM,8CAA8C;AAIpD,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6BAA6B;AAAA,EAC7D,OAAW,WAAO,EAAE,IAAI,EAAE,IAAI,4BAA4B;AAAA,EAC1D,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;AAAA,EAC7E,oBAAwB,UAAM,CAAK,WAAO,EAAE,IAAI,0CAA0C,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAClH,qBAAyB,UAAM,CAAK,WAAO,EAAE,IAAI,2CAA2C,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EACpH,WAAe,YAAQ,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,0BAA8B,WAAO;AAAA,EAChD,gBAAoB,WAAO,EAAE,IAAI,CAAC;AACpC,CAAC;AAEM,IAAM,+BAAmC,WAAO;AAAA,EACrD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,+HAA+H;AAC/L,CAAC;AAEM,IAAM,4BAAgC,WAAO;AAAA,EAClD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,2BAA+B,WAAO;AAAA,EACjD,WAAe,WAAO,EAAE,IAAI,CAAC;AAC/B,CAAC;AAEM,IAAM,gCAAgC;AAEtC,IAAM,+BAA+B;AAGrC,IAAM,6CAA6C;AAEnD,IAAM,8CAA8C;AAIpD,IAAM,yBAA6B,WAAO;AAAA,EAC/C,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,6BAA6B;AAAA,EAC7D,OAAW,WAAO,EAAE,IAAI,EAAE,IAAI,4BAA4B;AAAA,EAC1D,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;AAAA,EAC7E,oBAAwB,UAAM,CAAK,WAAO,EAAE,IAAI,0CAA0C,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAClH,qBAAyB,UAAM,CAAK,WAAO,EAAE,IAAI,2CAA2C,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EACpH,WAAe,YAAQ,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,0BAA8B,WAAO;AAAA,EAChD,WAAe,WAAO,EAAE,IAAI,CAAC;AAC/B,CAAC;AAEM,IAAM,+BAAmC,WAAO;AAAA,EACrD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,+HAA+H;AAC/L,CAAC;AAEM,IAAM,4BAAgC,WAAO;AAAA,EAClD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,+BAAmC,WAAO;AAAA,EACrD,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,oCAAoC;AAE1C,IAAM,mCAAmC;AAGzC,IAAM,iDAAiD;AAEvD,IAAM,kDAAkD;AAIxD,IAAM,6BAAiC,WAAO;AAAA,EACnD,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,iCAAiC;AAAA,EACjE,OAAW,WAAO,EAAE,IAAI,EAAE,IAAI,gCAAgC;AAAA,EAC9D,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;AAAA,EAC7E,oBAAwB,UAAM,CAAK,WAAO,EAAE,IAAI,8CAA8C,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EACtH,qBAAyB,UAAM,CAAK,WAAO,EAAE,IAAI,+CAA+C,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EACxH,WAAe,YAAQ,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,iCAAqC,WAAO;AAAA,EACvD,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,0BAA8B,WAAO;AAAA,EAChD,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,+HAA+H;AAC/L,CAAC;AAEM,IAAM,uBAA2B,WAAO;AAAA,EAC7C,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,uCAAuC;AAE7C,IAAM,sCAAsC;AAG5C,IAAM,oDAAoD;AAE1D,IAAM,qDAAqD;AAI3D,IAAM,gCAAoC,WAAO;AAAA,EACtD,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,oCAAoC;AAAA,EACpE,OAAW,WAAO,EAAE,IAAI,EAAE,IAAI,mCAAmC;AAAA,EACjE,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;AAAA,EAC7E,oBAAwB,UAAM,CAAK,WAAO,EAAE,IAAI,iDAAiD,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EACzH,qBAAyB,UAAM,CAAK,WAAO,EAAE,IAAI,kDAAkD,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AAAA,EAC3H,WAAe,YAAQ,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,oCAAwC,WAAO;AAAA,EAC1D,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAGM,IAAM,sCAA0C,WAAO;AAAA,EAC5D,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,+HAA+H;AAC/L,CAAC;AAEM,IAAM,mCAAuC,WAAO;AAAA,EACzD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,QAAY,WAAO,CAErB,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,mBAAuB,WAAO;AAAA,EACzC,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,qBAAyB,WAAO;AAAA,EAC3C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,2BAA2B;AAEjC,IAAM,0BAA0B;AAGhC,IAAM,wCAAwC;AAE9C,IAAM,yCAAyC;AAI/C,IAAM,oBAAwB,WAAO;AAAA,EAC1C,QAAY,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,wBAAwB,EAAE,SAAS;AAAA,EACnE,OAAW,WAAO,EAAE,IAAI,EAAE,IAAI,uBAAuB,EAAE,SAAS;AAAA,EAChE,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACtE,WAAe,YAAQ,EAAE,SAAS;AAAA,EAClC,QAAY,UAAM,CAAK,WAAO;AAAA,IAC9B,eAAmB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,qCAAqC;AAAA,IAC5E,gBAAoB,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,sCAAsC;AAAA,EAChF,CAAC,GAAM,SAAK,CAAC,CAAC,EAAE,SAAS;AACzB,CAAC;AAEM,IAAM,wBAA4B,WAAO;AAAA,EAC9C,QAAY,WAAO;AAAA,IACnB,MAAU,WAAO;AAAA,IACjB,SAAa,UAAM,CAAK,WAAO;AAAA,MAC/B,gBAAoB,WAAO;AAAA,IAC7B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,WAAO;AAAA,IAC9B,CAAC,GAAM,WAAO;AAAA,MACZ,YAAgB,WAAO;AAAA,IACzB,CAAC,GAAM,WAAO;AAAA,MACZ,aAAiB,WAAO;AAAA,IAC1B,CAAC,GAAM,WAAO;AAAA,MACZ,iBAAqB,YAAQ,IAAI;AAAA,IACnC,CAAC,EAAE,SAAS,sDAAuD,CAAC,CAAC;AAAA,IACnE,QAAY,WAAO;AAAA,IACnB,OAAW,WAAO;AAAA,IAClB,oBAAwB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACvD,YAAgB,YAAQ;AAAA,IACxB,WAAe,YAAQ;AAAA,IACvB,gBAAoB,UAAU,SAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,IACnD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;AAMM,IAAM,8BAAkC,WAAO;AAAA,EACpD,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,yCAAyC;AAC/C,IAAM,qCAAqC;AAE3C,IAAM,0CAA0C;AAChD,IAAM,sCAAsC;AAE5C,IAAM,6CAA6C;AAEnD,IAAM,mCAAuC,WAAO;AAAA,EACzD,SAAa,WAAO,EAAE,IAAI,CAAC,EAAE,IAAI,kCAAkC,EAAE,QAAQ,sCAAsC;AAAA,EACnH,UAAc,WAAO,EAAE,IAAI,mCAAmC,EAAE,QAAQ,uCAAuC;AAAA,EAC/G,cAAkB,SAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAQ,0CAA0C;AAC5F,CAAC;AAEM,IAAM,gCAAoC,WAAO;AAAA,EACtD,QAAY,UAAU,WAAO;AAAA,IAC7B,MAAU,WAAO;AAAA,IACjB,cAAkB,WAAO;AAAA,IACzB,cAAkB,WAAO;AAAA,IACzB,YAAgB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAC/C,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAClD,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAClD,iBAAqB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IACpD,cAAkB,WAAO,EAAE,SAAS,EAAC,UAAS,KAAI,CAAC;AAAA,EACrD,CAAC,CAAC;AAAA,EACA,WAAe,WAAO;AAAA,EACtB,QAAY,WAAO;AAAA,IACnB,SAAa,WAAO;AAAA,EACtB,CAAC;AACD,CAAC;AAMM,IAAM,oBAAwB,WAAO;AAAA,EAC1C,MAAU,WAAO,EAAE,IAAI,CAAC;AAC1B,CAAC;AAEM,IAAM,oCAAoC;AAE1C,IAAM,kBAAsB,WAAO;AAAA,EACxC,eAAmB,SAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,QAAQ,iCAAiC,EAAE,SAAS,+CAA+C;AAC/I,CAAC;AAEM,IAAM,sBAA0B,WAAO;AAAA,EAC5C,QAAY,WAAO;AAAA,IACnB,WAAe,YAAQ;AAAA,IACvB,eAAmB,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,IAClD,eAAmB,WAAO;AAAA,IAC1B,SAAa,UAAM,CAAK,WAAO,GAAM,SAAK,CAAC,CAAC;AAAA,EAC9C,CAAC;AAAA,EACC,WAAe,WAAO;AACxB,CAAC;;;AHzgJD,IAAM,kBAAkB,CAAC,YAAwF;AAC/G,QAAMA,UAAS,IAAI,UAAU;AAAA,IAC3B,MAAM;AAAA,IACN,SAAS;AAAA,EACX,CAAC;AACD,QAAM,QAAwC,CAAC;AAEjD,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,qBAAqB,SAAS;AAAA,MAC5C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,qBAAqB,SAAS;AAAA,MAC5C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,yBAAyBA,QAAO;AAAA,IACpC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,8BAA8B,MAAM;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,uBAAuBA,QAAO;AAAA,IAClC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,4BAA4B,MAAM;AAAA,MAC/C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,2BAA2BA,QAAO;AAAA,IACtC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,6BAA6B,SAAS;AAAA,MACpD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,gCAAgC,MAAM;AAAA,MACnD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,oCAAoCA,QAAO;AAAA,IAC/C;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,yCAAyC,MAAM;AAAA,MAC5D,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,4BAA4BA,QAAO;AAAA,IACvC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,iCAAiC,MAAM;AAAA,MACpD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,sBAAsBA,QAAO;AAAA,IACjC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,2BAA2B,MAAM;AAAA,MAC9C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,yBAAyBA,QAAO;AAAA,IACpC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,2BAA2B,SAAS;AAAA,MAClD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,8BAA8B,MAAM;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,yBAAyBA,QAAO;AAAA,IACpC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,2BAA2B,SAAS;AAAA,MAClD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,8BAA8B,MAAM;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,uBAAuB,SAAS;AAAA,MAC9C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,gBAAgB,SAAS;AAAA,MACvC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,WAAWA,QAAO;AAAA,IACtB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,gBAAgB,MAAM;AAAA,MACnC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,YAAYA,QAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,iBAAiB,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,mBAAmB,SAAS;AAAA,MAC1C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,0BAA0BA,QAAO;AAAA,IACrC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,+BAA+B,MAAM;AAAA,MAClD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,2BAA2BA,QAAO;AAAA,IACtC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,gCAAgC,MAAM;AAAA,MACnD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,uBAAuBA,QAAO;AAAA,IAClC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,yBAAyB,SAAS;AAAA,MAChD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,4BAA4B,MAAM;AAAA,MAC/C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,yBAAyBA,QAAO;AAAA,IACpC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,2BAA2B,SAAS;AAAA,MAClD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,8BAA8B,MAAM;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,SAASA,QAAO;AAAA,IACpB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,WAAW,SAAS;AAAA,MAClC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,cAAc,MAAM;AAAA,MACjC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,SAASA,QAAO;AAAA,IACpB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,WAAW,SAAS;AAAA,MAClC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,cAAc,MAAM;AAAA,MACjC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,uBAAuBA,QAAO;AAAA,IAClC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,yBAAyB,SAAS;AAAA,MAChD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,4BAA4B,MAAM;AAAA,MAC/C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,kBAAkB,SAAS;AAAA,MACzC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,oBAAoB,SAAS;AAAA,MAC3C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,YAAYA,QAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,iBAAiB,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,UAAUA,QAAO;AAAA,IACrB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,eAAe,MAAM;AAAA,MAClC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,oBAAoBA,QAAO;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,yBAAyB,MAAM;AAAA,MAC5C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,yBAAyBA,QAAO;AAAA,IACpC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,8BAA8B,MAAM;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,uBAAuB,SAAS;AAAA,MAC9C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,yBAAyBA,QAAO;AAAA,IACpC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,8BAA8B,MAAM;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,gBAAgB,SAAS;AAAA,MACvC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,gBAAgB,SAAS;AAAA,MACvC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,WAAWA,QAAO;AAAA,IACtB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,gBAAgB,MAAM;AAAA,MACnC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,YAAYA,QAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,cAAc,SAAS;AAAA,MACrC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,iBAAiB,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,oBAAoBA,QAAO;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,yBAAyB,MAAM;AAAA,MAC5C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,uBAAuB,SAAS;AAAA,MAC9C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,oBAAoB,SAAS;AAAA,MAC3C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,wBAAwBA,QAAO;AAAA,IACnC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,6BAA6B,MAAM;AAAA,MAChD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,0BAA0BA,QAAO;AAAA,IACrC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,4BAA4B,SAAS;AAAA,MACnD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,+BAA+B,MAAM;AAAA,MAClD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,UAAUA,QAAO;AAAA,IACrB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,YAAY,SAAS;AAAA,MACnC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,eAAe,MAAM;AAAA,MAClC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,oBAAoB,SAAS;AAAA,MAC3C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,oBAAoB,SAAS;AAAA,MAC3C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,YAAYA,QAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,iBAAiB,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,uBAAuB,SAAS;AAAA,MAC9C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,QAAQ,wBAAwB;AAAA,MAC/B,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,qBAAqB,SAAS;AAAA,MAC5C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,uBAAuBA,QAAO;AAAA,IAClC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,yBAAyB,SAAS;AAAA,MAChD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,4BAA4B,MAAM;AAAA,MAC/C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gCAAgCA,QAAO;AAAA,IAC3C;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,qCAAqC,MAAM;AAAA,MACxD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,sBAAsBA,QAAO;AAAA,IACjC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,wBAAwB,SAAS;AAAA,MAC/C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,2BAA2B,MAAM;AAAA,MAC9C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,YAAYA,QAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,iBAAiB,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,eAAe,SAAS;AAAA,MACtC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,UAAUA,QAAO;AAAA,IACrB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,eAAe,MAAM;AAAA,MAClC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,oBAAoB,SAAS;AAAA,MAC3C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,oBAAoB,SAAS;AAAA,MAC3C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,wBAAwBA,QAAO;AAAA,IACnC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,0BAA0B,SAAS;AAAA,MACjD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,6BAA6B,MAAM;AAAA,MAChD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,eAAe,SAAS;AAAA,MACtC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,UAAUA,QAAO;AAAA,IACrB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,eAAe,MAAM;AAAA,MAClC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,oBAAoB,SAAS;AAAA,MAC3C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,YAAYA,QAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,iBAAiB,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,sBAAsBA,QAAO;AAAA,IACjC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,2BAA2B,MAAM;AAAA,MAC9C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,QAAQ,kBAAkB;AAAA,MACzB,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,QAAQ,uBAAuB;AAAA,MAC9B,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,qBAAqB,SAAS;AAAA,MAC5C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,sBAAsBA,QAAO;AAAA,IACjC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,QAAQ,2BAA2B;AAAA,MAClC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,uBAAuBA,QAAO;AAAA,IAClC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,4BAA4B,MAAM;AAAA,MAC/C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,uBAAuBA,QAAO;AAAA,IAClC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,4BAA4B,MAAM;AAAA,MAC/C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,qBAAqB,SAAS;AAAA,MAC5C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,YAAYA,QAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,iBAAiB,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,iBAAiB,SAAS;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,mBAAmB,SAAS;AAAA,MAC1C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,mBAAmB,SAAS;AAAA,MAC1C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,oBAAoBA,QAAO;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,yBAAyB,MAAM;AAAA,MAC5C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,2BAA2BA,QAAO;AAAA,IACtC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,6BAA6B,SAAS;AAAA,MACpD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,gCAAgC,MAAM;AAAA,MACnD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,0BAA0BA,QAAO;AAAA,IACrC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,+BAA+B,MAAM;AAAA,MAClD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,wBAAwBA,QAAO;AAAA,IACnC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,6BAA6B,MAAM;AAAA,MAChD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,4BAA4BA,QAAO;AAAA,IACvC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,8BAA8B,SAAS;AAAA,MACrD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,iCAAiC,MAAM;AAAA,MACpD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,eAAe,SAAS;AAAA,MACtC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,YAAYA,QAAO;AAAA,IACvB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,iBAAiB,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,UAAUA,QAAO;AAAA,IACrB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,eAAe,MAAM;AAAA,MAClC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,eAAe,SAAS;AAAA,MACtC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,gBAAgB,SAAS;AAAA,MACvC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmBA,QAAO;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,wBAAwB,MAAM;AAAA,MAC3C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiBA,QAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,sBAAsB,MAAM;AAAA,MACzC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,uBAAuB,SAAS;AAAA,MAC9C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,8BAA8BA,QAAO;AAAA,IACzC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,mCAAmC,MAAM;AAAA,MACtD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkBA,QAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,uBAAuB,MAAM;AAAA,MAC1C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,oBAAoBA,QAAO;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,sBAAsB,SAAS;AAAA,MAC7C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,yBAAyB,MAAM;AAAA,MAC5C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,gBAAgB,SAAS;AAAA,MACvC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,eAAe,SAAS;AAAA,MACtC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,uBAAuB,SAAS;AAAA,MAC9C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,oBAAoBA,QAAO;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,yBAAyB,MAAM;AAAA,MAC5C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqBA,QAAO;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,uBAAuB,SAAS;AAAA,MAC9C;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,0BAA0B,MAAM;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,oBAAoBA,QAAO;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,yBAAyB,MAAM;AAAA,MAC5C,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,yBAAyBA,QAAO;AAAA,IACpC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,2BAA2B,SAAS;AAAA,MAClD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,8BAA8B,MAAM;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,eAAeA,QAAO;AAAA,IAC1B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,oBAAoB,MAAM;AAAA,MACvC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,4BAA4BA,QAAO;AAAA,IACvC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY,8BAA8B,SAAS;AAAA,MACrD;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,iCAAiC,MAAM;AAAA,MACpD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,2BAA2BA,QAAO;AAAA,IACtC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,gCAAgC,MAAM;AAAA,MACnD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,MAAM,gBAAgB,KAAK;AAAA,IAC7D;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,aAAaA,QAAO;AAAA,IACxB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,kBAAkB,MAAM;AAAA,MACrC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgBA,QAAO;AAAA,IAC3B;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,kBAAkB,SAAS;AAAA,MACzC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,qBAAqB,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,wBAAwBA,QAAO;AAAA,IACnC;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,cAAc,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,MAAM,QAAQ,6BAA6B,MAAM;AAAA,MAChD,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEA,QAAM,cAAcA,QAAO;AAAA,IACzB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,QACX,YAAY;AAAA,QACZ,YAAY,gBAAgB,SAAS;AAAA,MACvC;AAAA,MACA,cAAc;AAAA,MACd,aAAa,EAAE,iBAAiB,KAAK;AAAA,IACvC;AAAA,IACA,CAAC,MAAM,QAAQ,mBAAmB,MAAM;AAAA,MACtC,GAAG;AAAA,MACH,QAAQ,SAAS,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI;AAAA,IAChF,CAAC;AAAA,EACH;AAEE,SAAO,EAAE,QAAAA,SAAQ,MAAM;AACzB;AAGA,IAAM,EAAE,OAAO,IAAI,gBAAgB;AACnC,IAAM,YAAY,IAAI,qBAAqB;AAE3C,OAAO,QAAQ,SAAS,EAAE,KAAK,MAAM;AACnC,UAAQ,MAAM,6BAA6B;AAC7C,CAAC,EAAE,MAAM,QAAQ,KAAK;","names":["server"]}
|