@mastra/deployer 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/LICENSE +44 -0
- package/dist/build/bundle.d.ts +8 -0
- package/dist/build/bundle.d.ts.map +1 -0
- package/dist/build/deps.d.ts +21 -0
- package/dist/build/deps.d.ts.map +1 -0
- package/dist/build/env.d.ts +14 -0
- package/dist/build/env.d.ts.map +1 -0
- package/dist/build/fs.d.ts +22 -0
- package/dist/build/fs.d.ts.map +1 -0
- package/dist/build/index.d.ts +6 -0
- package/dist/build/index.d.ts.map +1 -0
- package/dist/build/utils.d.ts +2 -0
- package/dist/build/utils.d.ts.map +1 -0
- package/dist/deploy/base.d.ts +36 -0
- package/dist/deploy/base.d.ts.map +1 -0
- package/dist/deploy/index.d.ts +2 -0
- package/dist/deploy/index.d.ts.map +1 -0
- package/dist/deployer.cjs.development.js +2872 -0
- package/dist/deployer.cjs.development.js.map +1 -0
- package/dist/deployer.cjs.production.min.js +2 -0
- package/dist/deployer.cjs.production.min.js.map +1 -0
- package/dist/deployer.esm.js +2840 -0
- package/dist/deployer.esm.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/server/handlers/agents.d.ts +6 -0
- package/dist/server/handlers/agents.d.ts.map +1 -0
- package/dist/server/handlers/client.d.ts +7 -0
- package/dist/server/handlers/client.d.ts.map +1 -0
- package/dist/server/handlers/error.d.ts +7 -0
- package/dist/server/handlers/error.d.ts.map +1 -0
- package/dist/server/handlers/logs.d.ts +4 -0
- package/dist/server/handlers/logs.d.ts.map +1 -0
- package/dist/server/handlers/memory.d.ts +17 -0
- package/dist/server/handlers/memory.d.ts.map +1 -0
- package/dist/server/handlers/root.d.ts +3 -0
- package/dist/server/handlers/root.d.ts.map +1 -0
- package/dist/server/handlers/syncs.d.ts +3 -0
- package/dist/server/handlers/syncs.d.ts.map +1 -0
- package/dist/server/handlers/tools.d.ts +8 -0
- package/dist/server/handlers/tools.d.ts.map +1 -0
- package/dist/server/handlers/utils.d.ts +2 -0
- package/dist/server/handlers/utils.d.ts.map +1 -0
- package/dist/server/handlers/workflows.d.ts +11 -0
- package/dist/server/handlers/workflows.d.ts.map +1 -0
- package/dist/server/index.d.ts +21 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +8964 -0
- package/dist/server/types.d.ts +5 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/welcome.d.ts +2 -0
- package/dist/server/welcome.d.ts.map +1 -0
- package/package.json +61 -0
- package/src/build/bundle.ts +224 -0
- package/src/build/deps.ts +128 -0
- package/src/build/env.ts +76 -0
- package/src/build/fs.ts +66 -0
- package/src/build/index.ts +5 -0
- package/src/build/utils.ts +12 -0
- package/src/deploy/base.ts +171 -0
- package/src/deploy/index.ts +1 -0
- package/src/index.ts +3 -0
- package/src/server/handlers/agents.ts +121 -0
- package/src/server/handlers/client.ts +36 -0
- package/src/server/handlers/error.ts +29 -0
- package/src/server/handlers/logs.ts +24 -0
- package/src/server/handlers/memory.ts +208 -0
- package/src/server/handlers/root.ts +6 -0
- package/src/server/handlers/syncs.ts +19 -0
- package/src/server/handlers/tools.ts +156 -0
- package/src/server/handlers/utils.ts +15 -0
- package/src/server/handlers/workflows.ts +60 -0
- package/src/server/index.ts +185 -0
- package/src/server/types.ts +4 -0
- package/src/server/welcome.ts +105 -0
- package/tsconfig.json +10 -0
- package/vitest.config.ts +8 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployer.cjs.development.js","sources":["../src/build/env.ts","../src/build/fs.ts","../src/build/utils.ts","../src/build/bundle.ts","../src/build/deps.ts","../src/deploy/base.ts","../src/server/handlers/error.ts","../src/server/handlers/utils.ts","../src/server/handlers/agents.ts","../src/server/handlers/client.ts","../src/server/handlers/logs.ts","../src/server/handlers/memory.ts","../src/server/handlers/root.ts","../src/server/handlers/syncs.ts","../src/server/handlers/tools.ts","../src/server/handlers/workflows.ts","../src/server/welcome.ts","../src/server/index.ts"],"sourcesContent":["import * as fs from 'fs';\n\nexport abstract class EnvService {\n abstract getEnvValue(key: string): Promise<string | null>;\n abstract setEnvValue(key: string, value: string): Promise<void>;\n}\n\nexport class FileEnvService extends EnvService {\n private filePath: string;\n\n constructor(filePath: string) {\n super();\n this.filePath = filePath;\n }\n\n private readFile(filePath: string): Promise<string> {\n return new Promise((resolve, reject) => {\n fs.readFile(filePath, 'utf8', (err: NodeJS.ErrnoException | null, data: string) => {\n if (err) reject(err);\n else resolve(data);\n });\n });\n }\n\n private writeFile({ filePath, data }: { filePath: string; data: string }): Promise<void> {\n return new Promise((resolve, reject) => {\n fs.writeFile(filePath, data, 'utf8', (err: NodeJS.ErrnoException | null) => {\n if (err) reject(err);\n else resolve();\n });\n });\n }\n\n private async updateEnvData({\n key,\n value,\n filePath = this.filePath,\n data,\n }: {\n key: string;\n value: string;\n filePath?: string;\n data: string;\n }): Promise<string> {\n const regex = new RegExp(`^${key}=.*$`, 'm');\n if (data.match(regex)) {\n data = data.replace(regex, `${key}=${value}`);\n } else {\n data += `\\n${key}=${value}`;\n }\n await this.writeFile({ filePath, data });\n console.log(`${key} set to ${value} in ENV file.`);\n return data;\n }\n\n async getEnvValue(key: string): Promise<string | null> {\n try {\n const data = await this.readFile(this.filePath);\n const regex = new RegExp(`^${key}=(.*)$`, 'm');\n const match = data.match(regex);\n return match?.[1] || null;\n } catch (err) {\n console.error(`Error reading ENV value: ${err}`);\n return null;\n }\n }\n\n async setEnvValue(key: string, value: string): Promise<void> {\n try {\n const data = await this.readFile(this.filePath);\n await this.updateEnvData({ key, value, data });\n } catch (err) {\n console.error(`Error writing ENV value: ${err}`);\n }\n }\n}\n","import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport fsExtra from 'fs-extra/esm';\n\nimport { FileEnvService } from './env.js';\n\nexport class FileService {\n /**\n *\n * @param inputFile the file in the starter files directory to copy\n * @param outputFilePath the destination path\n * @param replaceIfExists flag to replace if it exists\n * @returns\n */\n public async copyStarterFile(inputFile: string, outputFilePath: string, replaceIfExists?: boolean) {\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = path.dirname(__filename);\n const filePath = path.resolve(__dirname, '..', 'starter-files', inputFile);\n const fileString = fs.readFileSync(filePath, 'utf8');\n\n if (fs.existsSync(outputFilePath) && !replaceIfExists) {\n console.log(`${outputFilePath} already exists`);\n return false;\n }\n\n await fsExtra.outputFile(outputFilePath, fileString);\n\n return true;\n }\n\n public async setupEnvFile({ dbUrl }: { dbUrl: string }) {\n const envPath = path.join(process.cwd(), '.env.development');\n\n await fsExtra.ensureFile(envPath);\n\n const fileEnvService = new FileEnvService(envPath);\n await fileEnvService.setEnvValue('DB_URL', dbUrl);\n }\n\n public getFirstExistingFile(files: string[]): string {\n for (const f of files) {\n if (fs.existsSync(f)) {\n return f;\n }\n }\n\n throw new Error('Missing required file, checked the following paths: ' + files.join(', '));\n }\n\n public replaceValuesInFile({\n filePath,\n replacements,\n }: {\n filePath: string;\n replacements: { search: string; replace: string }[];\n }) {\n let fileContent = fs.readFileSync(filePath, 'utf8');\n replacements.forEach(({ search, replace }) => {\n fileContent = fileContent.replaceAll(search, replace);\n });\n\n fs.writeFileSync(filePath, fileContent);\n }\n}\n","import { execSync } from 'child_process';\nimport { existsSync, mkdirSync } from 'fs';\nimport { join } from 'path';\n\nexport function upsertMastraDir() {\n const dirPath = join(process.cwd(), '.mastra');\n\n if (!existsSync(dirPath)) {\n mkdirSync(dirPath, { recursive: true });\n execSync(`echo \".mastra\" >> .gitignore`);\n }\n}\n","import { Workflow, Step } from '@mastra/core';\nimport * as esbuild from 'esbuild';\nimport { type BuildOptions } from 'esbuild';\nimport { writeFileSync } from 'fs';\nimport { join } from 'path';\nimport { z } from 'zod';\n\nimport { FileService } from './fs.js';\nimport { upsertMastraDir } from './utils.js';\n\nconst buildWorkflow = new Workflow({\n name: 'Build',\n triggerSchema: z.object({\n buildName: z.string(),\n entry: z.string(),\n outfile: z.string().optional(),\n useBanner: z.boolean().optional(),\n devMode: z.boolean().optional(),\n }),\n});\n\nbuildWorkflow.__setLogger(null as any);\n\nconst ensureDir = new Step({\n id: 'Ensure Directory',\n execute: async () => {\n // Ensure .mastra directory exists\n upsertMastraDir();\n },\n});\n\nconst bundleStep = new Step({\n id: 'Bundle',\n execute: async ({ context }) => {\n const devMode = context.machineContext?.triggerData.devMode;\n const buildName = context.machineContext?.triggerData.buildName;\n const useBanner = context.machineContext?.triggerData.useBanner;\n\n const entry = context.machineContext?.triggerData.entry;\n\n const outfile = context.machineContext?.triggerData.outfile;\n\n const fileService = new FileService();\n const entryPoint = fileService.getFirstExistingFile([entry]);\n const outfilePath = outfile || join(process.cwd(), '.mastra', 'mastra.mjs');\n\n const plugins: any[] = [];\n\n let missingMastraDependency = false;\n\n const externalIfMissingPlugin = {\n name: 'external-if-missing',\n setup(build: any) {\n build.onResolve(\n { filter: /^.*$/ },\n // @ts-ignore\n (args: any) => {\n if (!args.importer.endsWith('.mastra/index.mjs')) return;\n try {\n const resolvedPath = import.meta.resolve(args.path);\n if (!resolvedPath || resolvedPath.includes('_npx/')) {\n missingMastraDependency = true;\n return { path: args.path, external: true };\n }\n } catch (e) {\n missingMastraDependency = true;\n return { path: args.path, external: true };\n }\n },\n );\n },\n };\n\n if (devMode) {\n plugins.push(externalIfMissingPlugin);\n }\n\n const esbuildConfig: BuildOptions = {\n entryPoints: [entryPoint],\n bundle: true,\n platform: 'node',\n format: 'esm',\n outfile: outfilePath,\n target: 'node20',\n sourcemap: true,\n logLevel: 'silent',\n minify: false,\n metafile: true,\n mainFields: ['module', 'main'],\n conditions: ['import', 'node'],\n logOverride: {\n 'commonjs-variable-in-esm': 'silent',\n },\n external: [\n 'execa',\n // Mark node built-ins as external\n 'assert',\n 'buffer',\n 'child_process',\n 'cluster',\n 'constants',\n 'crypto',\n 'dgram',\n 'dns',\n 'events',\n 'fs',\n 'http',\n 'http2',\n 'https',\n 'module',\n 'net',\n 'os',\n 'path',\n 'punycode',\n 'querystring',\n 'readline',\n 'repl',\n 'stream',\n 'string_decoder',\n 'sys',\n 'timers',\n 'tls',\n 'tty',\n 'url',\n 'util',\n 'v8',\n 'vm',\n 'wasi',\n 'worker_threads',\n 'zlib',\n 'chromium-bidi/lib/cjs/bidiMapper/BidiMapper',\n 'chromium-bidi/lib/cjs/cdp/CdpConnection',\n\n // Your packages\n '@mastra/core',\n '@mastra/memory',\n '@mastra/engine',\n '@mastra/rag',\n '@mastra/evals',\n '@mastra/mcp',\n '@mastra/tts',\n '@mastra/firecrawl',\n '@mastra/github',\n '@mastra/stabilityai',\n '@mastra/deployer',\n '@mastra/deployer-cloudflare',\n '@mastra/deployer-netlify',\n '@mastra/deployer-vercel',\n ],\n plugins,\n };\n\n if (useBanner) {\n esbuildConfig.banner = {\n js: `\n import { createRequire } from \"node:module\"; \n const require = createRequire(import.meta.url || 'file:///');\n `,\n };\n }\n\n const result = await esbuild.build(esbuildConfig);\n\n if (devMode && missingMastraDependency) {\n console.error(\n `Missing Mastra dependency. Please install the mastra package in your project or globally using npm i -g mastra`,\n );\n process.exit(1);\n }\n\n // Log build results\n console.log(`[${buildName}]: build completed successfully`);\n\n return result;\n },\n});\n\nconst analyzeStep = new Step({\n id: 'Analyze',\n execute: async ({ context }) => {\n if (context?.machineContext?.stepResults?.Bundle?.status !== 'success') {\n throw new Error('Bundle step failed');\n }\n writeFileSync(\n join(process.cwd(), '.mastra', 'metafile.json'),\n JSON.stringify(context.machineContext?.stepResults.Bundle.payload.metafile, null, 2),\n );\n const res = await esbuild.analyzeMetafile(context.machineContext?.stepResults.Bundle.payload.metafile);\n return res;\n },\n});\n\nbuildWorkflow.step(ensureDir).then(bundleStep).then(analyzeStep).commit();\n\nexport async function bundle(\n entry: string,\n {\n useBanner = true,\n buildName = 'Build',\n outfile,\n devMode,\n }: { devMode?: boolean; outfile?: string; entryFile?: string; buildName?: string; useBanner?: boolean } = {},\n) {\n const { start } = buildWorkflow.createRun();\n\n try {\n await start({\n triggerData: {\n buildName,\n entry,\n useBanner,\n outfile,\n devMode,\n },\n });\n\n // console.log(JSON.stringify(result, null, 2));\n\n // return result;\n } catch (error) {\n console.error('Failed to build:', error);\n process.exit(1);\n }\n}\n","import { execa } from 'execa';\nimport fs from 'fs';\nimport path, { dirname } from 'path';\nimport { PackageJson } from 'type-fest';\nimport { fileURLToPath } from 'url';\n\nimport fsExtra from 'fs-extra/esm';\nimport fsPromises from 'fs/promises';\n\nexport class Deps {\n private packageManager: string;\n\n constructor() {\n this.packageManager = this.getPackageManager();\n }\n\n private findLockFile(dir: string): string | null {\n const lockFiles = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock'];\n for (const file of lockFiles) {\n if (fs.existsSync(path.join(dir, file))) {\n return file;\n }\n }\n const parentDir = path.resolve(dir, '..');\n if (parentDir !== dir) {\n return this.findLockFile(parentDir);\n }\n return null;\n }\n\n private getPackageManager(): string {\n const lockFile = this.findLockFile(process.cwd());\n switch (lockFile) {\n case 'pnpm-lock.yaml':\n return 'pnpm';\n case 'package-lock.json':\n return 'npm';\n case 'yarn.lock':\n return 'yarn';\n default:\n return 'npm';\n }\n }\n\n public async install(packages: string[] = []) {\n let runCommand = this.packageManager;\n if (this.packageManager === 'npm') {\n runCommand = `${this.packageManager} i`;\n } else {\n runCommand = `${this.packageManager} ${packages?.length > 0 ? `add` : `install`}`;\n }\n\n return execa(`${runCommand}`, packages, {\n all: true,\n shell: true,\n stdio: 'inherit',\n });\n }\n\n public async installPackages(packages: string[]) {\n let runCommand = this.packageManager;\n if (this.packageManager === 'npm') {\n runCommand = `${this.packageManager} i`;\n } else {\n runCommand = `${this.packageManager} add`;\n }\n\n const packageList = packages.join(' ');\n return execa(`${runCommand} ${packageList}`, {\n all: true,\n shell: true,\n stdio: 'inherit',\n });\n }\n\n public async checkDependencies(dependencies: string[]): Promise<string> {\n try {\n const packageJsonPath = path.join(process.cwd(), 'package.json');\n\n try {\n await fsPromises.access(packageJsonPath);\n } catch {\n return 'No package.json file found in the current directory';\n }\n\n const packageJson = JSON.parse(await fsPromises.readFile(packageJsonPath, 'utf-8'));\n for (const dependency of dependencies) {\n if (!packageJson.dependencies || !packageJson.dependencies[dependency]) {\n return `Please install ${dependency} before running this command (${this.packageManager} install ${dependency})`;\n }\n }\n\n return 'ok';\n } catch (err) {\n console.error(err);\n return 'Could not check dependencies';\n }\n }\n\n public async getProjectName() {\n try {\n const packageJsonPath = path.join(process.cwd(), 'package.json');\n const packageJson = await fsPromises.readFile(packageJsonPath, 'utf-8');\n const pkg = JSON.parse(packageJson);\n return pkg.name;\n } catch (err) {\n throw err;\n }\n }\n\n public async getPackageVersion() {\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = dirname(__filename);\n const pkgJsonPath = path.join(__dirname, '..', '..', 'package.json');\n\n const content = (await fsExtra.readJSON(pkgJsonPath)) as PackageJson;\n return content.version;\n }\n\n public async addScriptsToPackageJson(scripts: Record<string, string>) {\n const packageJson = JSON.parse(await fsPromises.readFile('package.json', 'utf-8'));\n packageJson.scripts = {\n ...packageJson.scripts,\n ...scripts,\n };\n await fsPromises.writeFile('package.json', JSON.stringify(packageJson, null, 2));\n }\n}\n","import { Mastra } from '@mastra/core';\nimport { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';\nimport path, { join } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { bundle } from '../build/bundle.js';\nimport { Deps } from '../build/deps.js';\nimport { upsertMastraDir } from '../build/utils.js';\n\nexport class Deployer {\n deps: Deps = new Deps();\n dotMastraPath: string;\n name: string = '';\n type: 'Deploy' | 'Dev';\n\n log = (message: string) => {\n console.log(`[Mastra ${this.type}] - ${message}`);\n };\n\n constructor({ dir, type }: { dir: string; type: 'Deploy' | 'Dev' }) {\n this.dotMastraPath = join(dir, '.mastra');\n this.type = type;\n }\n\n getMastraPath() {\n return this.dotMastraPath;\n }\n\n async getMastra() {\n return (await import(join(this.dotMastraPath, 'mastra.mjs'))) as { mastra: Mastra };\n }\n\n async writePackageJson() {\n this.log('Writing package.json');\n let projectPkg: any = {\n dependencies: {},\n };\n\n try {\n projectPkg = JSON.parse(readFileSync(join(this.dotMastraPath, '..', 'package.json'), 'utf-8'));\n } catch (_e) {\n // no-op\n }\n\n const mastraDeps = Object.entries(projectPkg.dependencies)\n .filter(([name]) => name.startsWith('@mastra') && !name.startsWith('@mastra/deployer'))\n .reduce((acc: any, [name, version]) => {\n if (version === 'workspace:*') {\n acc[name] = 'latest';\n } else {\n acc[name] = version;\n }\n\n return acc;\n }, {});\n\n const pkgPath = join(this.dotMastraPath, 'package.json');\n\n if (this.type === 'Dev' && existsSync(pkgPath)) {\n return;\n }\n\n writeFileSync(\n pkgPath,\n JSON.stringify(\n {\n name: 'server',\n version: '1.0.0',\n description: '',\n type: 'module',\n main: 'index.mjs',\n scripts: {\n start: 'node ./index.mjs',\n },\n author: '',\n license: 'ISC',\n dependencies: {\n ...mastraDeps,\n hono: '4.6.17',\n execa: 'latest',\n '@hono/node-server': '^1.13.7',\n superjson: '^2.2.2',\n 'zod-to-json-schema': '^3.24.1',\n },\n },\n null,\n 2,\n ),\n );\n }\n\n async install() {\n this.log('Ensuring your dependencies up to date...');\n await this.deps.install();\n }\n\n protected getEnvFiles(): string[] {\n const envFiles = ['.env', '.env.development', '.env.local']\n .map(file => join(process.cwd(), file))\n .filter(file => existsSync(file));\n return envFiles;\n }\n\n getEnvVars() {\n // Get all env vars\n const envFiles = this.getEnvFiles();\n const envVars: Record<string, string> = {};\n\n for (const file of envFiles) {\n const vars = this.parseEnvFile(file);\n for (const envVar of vars) {\n const [key, value] = envVar.split('=');\n if (key && value) {\n envVars[key] = value;\n }\n }\n }\n\n return envVars;\n }\n\n protected parseEnvFile(filePath: string): string[] {\n const content = readFileSync(filePath, 'utf-8');\n return content\n .split('\\n')\n .map(line => line.trim())\n .filter(line => line && !line.startsWith('#'))\n .filter(line => line.includes('=')); // Only include valid KEY=value pairs\n }\n\n async build({ dir, useBanner = true }: { dir: string; useBanner?: boolean }) {\n if (!existsSync(this.dotMastraPath)) {\n mkdirSync(this.dotMastraPath);\n }\n\n await bundle(dir, { useBanner, outfile: join(this.dotMastraPath, 'mastra.mjs') });\n }\n\n async buildServer({ playground = false }: { playground?: boolean } = { playground: false }) {\n upsertMastraDir();\n\n const templatePath = join(this.dotMastraPath, 'hono.mjs');\n\n writeFileSync(\n templatePath,\n `\n import { createHonoServer } from './server.mjs';\n import { mastra } from './mastra.mjs';\n\n export const app = await createHonoServer(mastra, { playground: ${playground} });\n `,\n );\n }\n\n async writeServerFile() {\n const fileServerPath = await import.meta.resolve('@mastra/deployer/server');\n const serverPath = fileURLToPath(fileServerPath);\n copyFileSync(serverPath, join(this.dotMastraPath, 'server.mjs'));\n }\n\n async prepare({ dir, playground, useBanner = true }: { useBanner?: boolean; dir?: string; playground?: boolean }) {\n this.log('Preparing .mastra directory');\n upsertMastraDir();\n const dirPath = dir || path.join(process.cwd(), 'src/mastra');\n this.writePackageJson();\n this.writeServerFile();\n await this.install();\n await this.build({ dir: dirPath, useBanner });\n await this.buildServer({ playground });\n }\n}\n","import { Context } from 'hono';\n\nimport { HTTPException } from 'hono/http-exception';\nimport { ContentfulStatusCode } from 'hono/utils/http-status';\n\nimport { ApiError } from '../types';\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string) {\n console.error(defaultMessage, error);\n const apiError = error as ApiError;\n throw new HTTPException((apiError.status || 500) as ContentfulStatusCode, {\n message: apiError.message || defaultMessage,\n });\n}\n\n// Error handlers\nexport function notFoundHandler() {\n throw new HTTPException(404, { message: 'Not Found' });\n}\n\nexport function errorHandler(err: Error, c: Context) {\n if (err instanceof HTTPException) {\n return c.json({ error: err.message }, err.status);\n }\n\n console.error(err);\n return c.json({ error: 'Internal Server Error' }, 500);\n}\n","import { HTTPException } from 'hono/http-exception';\n\n// Validation helper\nexport function validateBody(body: Record<string, unknown>) {\n const errorResponse = Object.entries(body).reduce<Record<string, string>>((acc, [key, value]) => {\n if (!value) {\n acc[key] = `${key} is required`;\n }\n return acc;\n }, {});\n\n if (Object.keys(errorResponse).length > 0) {\n throw new HTTPException(400, { message: JSON.stringify(errorResponse) });\n }\n}\n","import { Context } from 'hono';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nimport { HTTPException } from 'hono/http-exception';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// Agent handlers\nexport async function getAgentsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agents = mastra.getAgents();\n\n const serializedAgents = Object.entries(agents).reduce<any>((acc, [_id, _agent]) => {\n const agent = _agent as any;\n const serializedAgentTools = Object.entries(agent?.tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n acc[key] = {\n ..._tool,\n inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,\n outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n acc[_id] = {\n ...agent,\n tools: serializedAgentTools,\n };\n return acc;\n }, {});\n\n return c.json(serializedAgents);\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nexport async function getAgentByIdHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agentId = c.req.param('agentId');\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const serializedAgentTools = Object.entries(agent?.tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n acc[key] = {\n ..._tool,\n inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,\n outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n\n return c.json({\n ...agent,\n tools: serializedAgentTools,\n });\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function generateHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agentId = c.req.param('agentId');\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, threadId, resourceid, output } = await c.req.json();\n validateBody({ messages });\n\n if (!Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages should be an array' });\n }\n\n const result = await agent.generate(messages, { threadId, resourceid, output });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agentId = c.req.param('agentId');\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, threadId, resourceid, output } = await c.req.json();\n validateBody({ messages });\n\n if (!Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages should be an array' });\n }\n\n const streamResult = await agent.stream(messages, { threadId, resourceid, output });\n return new Response(streamResult.toDataStream(), {\n headers: {\n 'Content-Type': 'text/x-unknown',\n 'content-encoding': 'identity',\n 'transfer-encoding': 'chunked',\n },\n });\n } catch (error) {\n return handleError(error, 'Error streaming from agent');\n }\n}\n","import { Context } from 'hono';\n\nconst clients = new Set<ReadableStreamDefaultController>();\n\nexport function handleClientsRefresh(c: Context) {\n const stream = new ReadableStream({\n start(controller) {\n clients.add(controller);\n controller.enqueue('data: connected\\n\\n');\n\n c.req.raw.signal.addEventListener('abort', () => {\n clients.delete(controller);\n });\n },\n });\n\n return new Response(stream, {\n headers: {\n 'Content-Type': 'text/event-stream',\n 'Cache-Control': 'no-cache',\n Connection: 'keep-alive',\n 'Access-Control-Allow-Origin': '*',\n },\n });\n}\n\nexport function handleTriggerClientsRefresh(c: Context) {\n clients.forEach(controller => {\n try {\n controller.enqueue('data: refresh\\n\\n');\n } catch {\n clients.delete(controller);\n }\n });\n return c.json({ success: true, clients: clients.size });\n}\n","import { Context } from 'hono';\n\nimport { handleError } from './error';\n\nexport async function getLogsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const logs = await mastra.getLogs();\n return c.json(logs);\n } catch (error) {\n return handleError(error, 'Error getting logs');\n }\n}\n\nexport async function getLogsByRunIdHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const runId = c.req.param('runId');\n const logs = await mastra.getLogsByRunId(runId);\n return c.json(logs);\n } catch (error) {\n return handleError(error, 'Error getting logs by run ID');\n }\n}\n","import { Context } from 'hono';\n\nimport { HTTPException } from 'hono/http-exception';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// Memory handlers\nexport async function getMemoryStatusHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n\n if (!memory) {\n return c.json({ result: false });\n }\n\n return c.json({ result: true });\n } catch (error) {\n return handleError(error, 'Error getting memory status');\n }\n}\n\nexport async function getThreadsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const { resourceid } = c.req.query();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const threads = await memory.getThreadsByResourceId({ resourceid });\n return c.json(threads);\n } catch (error) {\n return handleError(error, 'Error getting threads');\n }\n}\n\nexport async function getThreadByIdHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n return c.json(thread);\n } catch (error) {\n return handleError(error, 'Error getting thread');\n }\n}\n\nexport async function saveMessagesHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const { messages } = await c.req.json();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n validateBody({ messages });\n\n if (!Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages should be an array' });\n }\n\n const processedMessages = messages.map(message => ({\n ...message,\n id: memory.generateId(),\n createdAt: message.createdAt ? new Date(message.createdAt) : new Date(),\n }));\n\n const result = await memory.saveMessages({ messages: processedMessages });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error saving messages');\n }\n}\n\nexport async function getContextWindowHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n const { startDate, endDate, format } = c.req.query();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n const result = await memory.getContextWindow({ threadId, startDate, endDate, format });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error getting context window from memory');\n }\n}\n\nexport async function createThreadHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const { title, metadata, resourceid, threadId } = await c.req.json();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n validateBody({ resourceid });\n\n const result = await memory.createThread({ resourceid, title, metadata, threadId });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error saving thread to memory');\n }\n}\n\nexport async function updateThreadHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n const { title, metadata, resourceid } = await c.req.json();\n const updatedAt = new Date();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n const updatedThread = {\n ...thread,\n title: title || thread.title,\n metadata: metadata || thread.metadata,\n resourceid: resourceid || thread.resourceid,\n createdAt: thread.createdat,\n updatedAt,\n };\n\n const result = await memory.saveThread({ thread: updatedThread });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error updating thread');\n }\n}\n\nexport async function deleteThreadHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n await memory.deleteThread(threadId);\n return c.json({ result: 'Thread deleted' });\n } catch (error) {\n return handleError(error, 'Error deleting thread');\n }\n}\n\nexport async function getMessagesHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n\n if (!memory) {\n return c.json({ error: 'Memory is not initialized' }, 400);\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n return c.json({ error: 'Thread not found' }, 404);\n }\n\n const result = await memory.getMessages({ threadId });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error getting messages');\n }\n}\n","import { Context } from 'hono';\n\n// Root handler\nexport async function rootHandler(c: Context) {\n return c.text('Hello to the Mastra API!');\n}\n","import { Context } from 'hono';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\nexport async function executeSyncHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const syncId = c.req.param('syncId');\n const { runId, params: syncParams } = await c.req.json();\n\n validateBody({ params: syncParams });\n\n const result = await mastra.sync(syncId, syncParams, runId);\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error executing sync');\n }\n}\n","import { Context } from 'hono';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nimport { HTTPException } from 'hono/http-exception';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// Tool handlers\nexport async function getToolsHandler(c: Context) {\n try {\n const tools = c.get('tools');\n\n if (!tools) {\n return c.json({});\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return c.json(serializedTools);\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler(c: Context) {\n try {\n const tools = c.get('tools');\n const toolId = c.req.param('toolId');\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return c.json(serializedTool);\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport async function getToolResultHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n const { toolName, toolArgs } = await c.req.json();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n validateBody({ toolName, toolArgs });\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n const result = await memory.getToolResult({ threadId, toolName, toolArgs });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error getting tool result');\n }\n}\n\nexport async function validateToolCallArgsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const { hashedArgs } = await c.req.json();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n validateBody({ hashedArgs });\n\n const result = await memory.validateToolCallArgs({ hashedArgs });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error validating tool call args');\n }\n}\n\nexport function executeToolHandler(tools: Record<string, any>) {\n return async (c: Context) => {\n try {\n const toolId = decodeURIComponent(c.req.param('toolId'));\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n return c.json({ error: 'Tool not found' }, 404);\n }\n\n const { input } = await c.req.json();\n const mastra = c.get('mastra');\n const result = await tool.execute({\n context: {\n ...input,\n },\n mastra,\n runId: mastra.runId,\n });\n\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function executeAgentToolHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agentId = c.req.param('agentId');\n const toolId = c.req.param('toolId');\n const agent = mastra.getAgent(agentId);\n const tool = Object.values(agent?.tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const body = await c.req.json();\n const result = await tool.execute({\n context: {\n ...body,\n },\n mastra,\n runId: agentId,\n });\n\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n","import { Context } from 'hono';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nimport { handleError } from './error';\n\nexport async function getWorkflowsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const workflows = mastra.getWorkflows({ serialized: true });\n return c.json(workflows);\n } catch (error) {\n return handleError(error, 'Error getting workflows');\n }\n}\n\nexport async function getWorkflowByIdHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const workflowId = c.req.param('workflowId');\n const workflow = mastra.getWorkflow(workflowId);\n\n const triggerSchema = workflow.triggerSchema;\n const stepGraph = workflow.stepGraph;\n const stepSubscriberGraph = workflow.stepSubscriberGraph;\n const serializedSteps = Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n const _step = step as any;\n acc[key] = {\n ..._step,\n inputSchema: _step.inputSchema ? stringify(zodToJsonSchema(_step.inputSchema)) : undefined,\n outputSchema: _step.outputSchema ? stringify(zodToJsonSchema(_step.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n\n return c.json({\n name: workflow.name,\n triggerSchema: triggerSchema ? stringify(zodToJsonSchema(triggerSchema)) : undefined,\n steps: serializedSteps,\n stepGraph,\n stepSubscriberGraph,\n });\n } catch (error) {\n return handleError(error, 'Error getting workflow');\n }\n}\n\nexport async function executeWorkflowHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const workflowId = c.req.param('workflowId');\n const workflow = mastra.getWorkflow(workflowId);\n const body = await c.req.json();\n\n const result = await workflow.execute(body);\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error executing workflow');\n }\n}\n","export const html = `\n<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Welcome to Mastra</title>\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/inter-ui/3.19.3/inter.min.css\" />\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0d0d0d;\n color: #ffffff;\n font-family:\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n system-ui,\n sans-serif;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n }\n\n main {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n text-align: center;\n }\n\n h1 {\n font-size: 4rem;\n font-weight: 600;\n margin: 0 0 1rem 0;\n background: linear-gradient(to right, #fff, #ccc);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n line-height: 1.2;\n }\n\n .subtitle {\n color: #9ca3af;\n font-size: 1.25rem;\n max-width: 600px;\n margin: 0 auto 3rem auto;\n line-height: 1.6;\n }\n\n .docs-link {\n background-color: #1a1a1a;\n padding: 1rem 2rem;\n border-radius: 0.5rem;\n display: flex;\n align-items: center;\n gap: 1rem;\n font-family: monospace;\n font-size: 1rem;\n color: #ffffff;\n text-decoration: none;\n transition: background-color 0.2s;\n }\n\n .docs-link:hover {\n background-color: #252525;\n }\n\n .arrow-icon {\n transition: transform 0.2s;\n }\n\n .docs-link:hover .arrow-icon {\n transform: translateX(4px);\n }\n </style>\n </head>\n <body>\n <main>\n <h1>Welcome to Mastra</h1>\n <p class=\"subtitle\">\n From the team that brought you Gatsby: prototype and productionize AI features with a modern JS/TS stack.\n </p>\n\n <a href=\"https://mastra.ai/docs\" class=\"docs-link\">\n Browse the docs\n <svg\n class=\"arrow-icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M5 12h14M12 5l7 7-7 7\" />\n </svg>\n </a>\n </main>\n </body>\n</html>\n`;\n","import { serve } from '@hono/node-server';\nimport { serveStatic } from '@hono/node-server/serve-static';\nimport { type Mastra } from '@mastra/core';\nimport { Hono } from 'hono';\nimport { join } from 'path';\nimport { pathToFileURL } from 'url';\n\nimport { readFile } from 'fs/promises';\nimport { cors } from 'hono/cors';\n\nimport { generateHandler, getAgentByIdHandler, getAgentsHandler, streamGenerateHandler } from './handlers/agents.js';\nimport { handleClientsRefresh } from './handlers/client.js';\nimport { handleTriggerClientsRefresh } from './handlers/client.js';\nimport { getLogsByRunIdHandler, getLogsHandler } from './handlers/logs';\nimport {\n createThreadHandler,\n deleteThreadHandler,\n getContextWindowHandler,\n getMemoryStatusHandler,\n getMessagesHandler,\n getThreadByIdHandler,\n getThreadsHandler,\n saveMessagesHandler,\n updateThreadHandler,\n} from './handlers/memory';\nimport { rootHandler } from './handlers/root.js';\nimport { executeSyncHandler } from './handlers/syncs.js';\nimport {\n executeAgentToolHandler,\n executeToolHandler,\n getToolByIdHandler,\n getToolResultHandler,\n getToolsHandler,\n validateToolCallArgsHandler,\n} from './handlers/tools';\nimport { executeWorkflowHandler, getWorkflowByIdHandler, getWorkflowsHandler } from './handlers/workflows';\nimport { html } from './welcome.js';\n\ntype Bindings = {};\n\ntype Variables = {\n mastra: Mastra;\n clients: Set<{ controller: ReadableStreamDefaultController }>;\n tools: Record<string, any>;\n};\n\nexport async function createHonoServer(mastra: Mastra, options: { playground?: boolean } = {}) {\n // Create typed Hono app\n const app = new Hono<{ Bindings: Bindings; Variables: Variables }>();\n\n // Initialize tools\n const mastraToolsPaths = process.env.MASTRA_TOOLS_PATH;\n const toolImports = mastraToolsPaths\n ? await Promise.all(\n mastraToolsPaths.split(',').map(async toolPath => {\n return import(pathToFileURL(toolPath).href);\n }),\n )\n : [];\n\n const tools = toolImports.reduce((acc, toolModule) => {\n Object.entries(toolModule).forEach(([key, tool]) => {\n acc[key] = tool;\n });\n return acc;\n }, {});\n\n // Middleware\n app.use('*', cors());\n\n // Add Mastra to context\n app.use('*', async (c, next) => {\n c.set('mastra', mastra);\n c.set('tools', tools);\n await next();\n });\n\n // API routes\n app.get('/api', rootHandler);\n\n // Agent routes\n app.get('/api/agents', getAgentsHandler);\n app.get('/api/agents/:agentId', getAgentByIdHandler);\n app.post('/api/agents/:agentId/generate', generateHandler);\n app.post('/api/agents/:agentId/stream', streamGenerateHandler);\n app.post('/api/agents/:agentId/tools/:toolId/execute', executeAgentToolHandler);\n\n // Memory routes\n app.get('/api/memory/status', getMemoryStatusHandler);\n app.get('/api/memory/threads', getThreadsHandler);\n app.get('/api/memory/threads/:threadId', getThreadByIdHandler);\n app.get('/api/memory/threads/:threadId/messages', getMessagesHandler);\n app.get('/api/memory/threads/:threadId/context-window', getContextWindowHandler);\n app.post('/api/memory/threads', createThreadHandler);\n app.patch('/api/memory/threads/:threadId', updateThreadHandler);\n app.delete('/api/memory/threads/:threadId', deleteThreadHandler);\n app.post('/api/memory/save-messages', saveMessagesHandler);\n app.post('/api/memory/threads/:threadId/tool-result', getToolResultHandler);\n app.post('/api/memory/validate-tool-call-args', validateToolCallArgsHandler);\n\n // Workflow routes\n app.get('/api/workflows', getWorkflowsHandler);\n app.get('/api/workflows/:workflowId', getWorkflowByIdHandler);\n app.post('/api/workflows/:workflowId/execute', executeWorkflowHandler);\n\n // Sync routes\n app.post('/api/syncs/:syncId/execute', executeSyncHandler);\n\n // Log routes\n app.get('/api/logs', getLogsHandler);\n app.get('/api/logs/:runId', getLogsByRunIdHandler);\n\n // Tool routes\n app.get('/api/tools', getToolsHandler);\n app.get('/api/tools/:toolId', getToolByIdHandler);\n app.post('/api/tools/:toolId/execute', executeToolHandler(tools));\n\n // SSE endpoint for refresh notifications\n app.get('/refresh-events', handleClientsRefresh);\n\n // Trigger refresh for all clients\n app.post('/__refresh', handleTriggerClientsRefresh);\n\n if (options?.playground) {\n // Playground routes - these should come after API routes\n // Serve assets with specific MIME types\n app.use('/assets/*', async (c, next) => {\n const path = c.req.path;\n if (path.endsWith('.js')) {\n c.header('Content-Type', 'application/javascript');\n } else if (path.endsWith('.css')) {\n c.header('Content-Type', 'text/css');\n }\n await next();\n });\n\n // Serve assets from playground directory\n app.use(\n '/assets/*',\n serveStatic({\n root: './playground/assets',\n }),\n );\n\n // Serve static files from playground directory\n app.use(\n '*',\n serveStatic({\n root: './playground',\n }),\n );\n }\n\n // Catch-all route to serve index.html for any non-API routes\n app.get('*', async (c, next) => {\n // Skip if it's an API route\n if (c.req.path.startsWith('/api/')) {\n return await next();\n }\n if (options?.playground) {\n // For all other routes, serve index.html\n const indexHtml = await readFile(join(process.cwd(), './playground/index.html'), 'utf-8');\n return c.newResponse(indexHtml, 200, { 'Content-Type': 'text/html' });\n }\n\n return c.newResponse(html, 200, { 'Content-Type': 'text/html' });\n });\n\n return app;\n}\n\nexport async function createNodeServer(mastra: Mastra, options: { playground?: boolean } = {}) {\n const app = await createHonoServer(mastra, options);\n return serve(\n {\n fetch: app.fetch,\n port: Number(process.env.PORT) || 4111,\n },\n () => {\n console.log(`🦄 Server running on port ${process.env.PORT || 4111}/api`);\n console.log(`📚 Open API documentation available at http://localhost:${process.env.PORT || 4111}/openapi.json`);\n console.log(`👨💻 Playground available at http://localhost:${process.env.PORT || 4111}/`);\n },\n );\n}\n"],"names":["EnvService","FileEnvService","_EnvService","filePath","_this","call","_inheritsLoose","_proto","prototype","readFile","Promise","resolve","reject","fs","err","data","writeFile","_ref","updateEnvData","_updateEnvData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","key","value","_ref2$filePath","regex","wrap","_callee$","_context","prev","next","RegExp","match","replace","console","log","abrupt","stop","_x","apply","arguments","getEnvValue","_getEnvValue","_callee2","_callee2$","_context2","sent","t0","error","_x2","setEnvValue","_setEnvValue","_callee3","_callee3$","_context3","_x3","_x4","FileService","copyStarterFile","_copyStarterFile","inputFile","outputFilePath","replaceIfExists","__filename","__dirname","fileString","fileURLToPath","import","path","dirname","readFileSync","existsSync","fsExtra","outputFile","setupEnvFile","_setupEnvFile","dbUrl","envPath","fileEnvService","join","process","cwd","ensureFile","getFirstExistingFile","files","_iterator","_createForOfIteratorHelperLoose","_step","done","f","Error","replaceValuesInFile","replacements","fileContent","forEach","_ref3","search","replaceAll","writeFileSync","upsertMastraDir","dirPath","mkdirSync","recursive","execSync","buildWorkflow","Workflow","name","triggerSchema","z","object","buildName","string","entry","outfile","optional","useBanner","devMode","__setLogger","ensureDir","Step","id","execute","_execute","bundleStep","_execute2","_context$machineConte","_context$machineConte2","_context$machineConte3","_context$machineConte4","_context$machineConte5","context","fileService","entryPoint","outfilePath","plugins","missingMastraDependency","externalIfMissingPlugin","esbuildConfig","result","machineContext","triggerData","setup","build","onResolve","filter","args","importer","endsWith","resolvedPath","includes","external","e","push","entryPoints","bundle","platform","format","target","sourcemap","logLevel","minify","metafile","mainFields","conditions","logOverride","banner","js","esbuild","exit","analyzeStep","_execute3","_context$machineConte6","_context$machineConte7","_context$machineConte8","res","stepResults","Bundle","status","JSON","stringify","payload","analyzeMetafile","step","then","commit","_bundle","_callee4","_temp","_ref3$useBanner","_ref3$buildName","_buildWorkflow$create","start","_callee4$","_context4","createRun","Deps","packageManager","getPackageManager","findLockFile","dir","lockFiles","_i","_lockFiles","length","file","parentDir","lockFile","install","_install","packages","runCommand","_packages","execa","all","shell","stdio","installPackages","_installPackages","packageList","checkDependencies","_checkDependencies","dependencies","packageJsonPath","packageJson","dependency","fsPromises","access","t1","t2","parse","t3","getProjectName","_getProjectName","pkg","getPackageVersion","_getPackageVersion","_callee5","pkgJsonPath","content","_callee5$","_context5","readJSON","version","addScriptsToPackageJson","_addScriptsToPackageJson","_callee6","scripts","_callee6$","_context6","_extends","Deployer","type","deps","dotMastraPath","message","getMastraPath","getMastra","_getMastra","writePackageJson","_writePackageJson","projectPkg","mastraDeps","pkgPath","_e","Object","entries","startsWith","reduce","acc","description","main","author","license","hono","superjson","getEnvFiles","envFiles","map","getEnvVars","envVars","vars","parseEnvFile","_iterator2","_step2","envVar","_envVar$split","split","line","trim","_build","_ref4","_ref4$useBanner","buildServer","_buildServer","_ref5","_ref5$playground","playground","templatePath","writeServerFile","_writeServerFile","fileServerPath","serverPath","copyFileSync","prepare","_prepare","_callee7","_ref6","_ref6$useBanner","_callee7$","_context7","handleError","defaultMessage","apiError","HTTPException","validateBody","body","errorResponse","keys","getAgentsHandler","_getAgentsHandler","c","mastra","agents","serializedAgents","get","getAgents","_id","_agent","agent","serializedAgentTools","tools","tool","_tool","inputSchema","zodToJsonSchema","undefined","outputSchema","json","getAgentByIdHandler","_getAgentByIdHandler","agentId","req","param","getAgent","generateHandler","_generateHandler","_yield$c$req$json","messages","threadId","resourceid","output","Array","isArray","generate","streamGenerateHandler","_streamGenerateHandler","_yield$c$req$json2","streamResult","stream","Response","toDataStream","headers","clients","Set","handleClientsRefresh","ReadableStream","controller","add","enqueue","raw","signal","addEventListener","Connection","handleTriggerClientsRefresh","_unused","success","size","getLogsHandler","_getLogsHandler","logs","getLogs","getLogsByRunIdHandler","_getLogsByRunIdHandler","runId","getLogsByRunId","getMemoryStatusHandler","_getMemoryStatusHandler","memory","getThreadsHandler","_getThreadsHandler","_c$req$query","threads","query","getThreadsByResourceId","getThreadByIdHandler","_getThreadByIdHandler","thread","getThreadById","saveMessagesHandler","_saveMessagesHandler","processedMessages","generateId","createdAt","Date","saveMessages","getContextWindowHandler","_x5","_getContextWindowHandler","_c$req$query2","startDate","endDate","getContextWindow","createThreadHandler","_x6","_createThreadHandler","title","metadata","createThread","updateThreadHandler","_x7","_updateThreadHandler","_yield$c$req$json3","updatedAt","updatedThread","createdat","saveThread","deleteThreadHandler","_x8","_deleteThreadHandler","_callee8","_callee8$","_context8","deleteThread","getMessagesHandler","_x9","_getMessagesHandler","_callee9","_callee9$","_context9","getMessages","rootHandler","_rootHandler","text","executeSyncHandler","_executeSyncHandler","syncId","syncParams","params","sync","getToolsHandler","_getToolsHandler","serializedTools","getToolByIdHandler","_getToolByIdHandler","toolId","serializedTool","values","find","getToolResultHandler","_getToolResultHandler","toolName","toolArgs","getToolResult","validateToolCallArgsHandler","_validateToolCallArgsHandler","hashedArgs","validateToolCallArgs","executeToolHandler","input","decodeURIComponent","executeAgentToolHandler","_executeAgentToolHandler","getWorkflowsHandler","_getWorkflowsHandler","workflows","getWorkflows","serialized","getWorkflowByIdHandler","_getWorkflowByIdHandler","workflowId","workflow","stepGraph","stepSubscriberGraph","serializedSteps","getWorkflow","steps","executeWorkflowHandler","_executeWorkflowHandler","html","createHonoServer","_createHonoServer","options","app","Hono","mastraToolsPaths","env","MASTRA_TOOLS_PATH","toolPath","pathToFileURL","href","toolImports","toolModule","use","cors","set","post","patch","_options","header","serveStatic","root","_options2","indexHtml","newResponse","_x10","_x11","createNodeServer","_createNodeServer","serve","fetch","port","Number","PORT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEsBA,IAAAA,UAAU,YAAAA,UAAA,GAAA,GAAA;AAKnBC,IAAAA,cAAe,0BAAAC,WAAA,EAAA;EAG1B,SAAAD,cAAAA,CAAYE,QAAgB,EAAA;AAAA,IAAA,IAAAC,KAAA,CAAA;AAC1BA,IAAAA,KAAA,GAAAF,WAAA,CAAAG,IAAA,MAAO,IAAA,IAAA,CAAA;AAACD,IAAAA,KAAA,CAHFD,QAAQ,GAAA,KAAA,CAAA,CAAA;IAIdC,KAAA,CAAKD,QAAQ,GAAGA,QAAQ,CAAA;AAAC,IAAA,OAAAC,KAAA,CAAA;AAC3B,GAAA;EAACE,cAAA,CAAAL,cAAA,EAAAC,WAAA,CAAA,CAAA;AAAA,EAAA,IAAAK,MAAA,GAAAN,cAAA,CAAAO,SAAA,CAAA;AAAAD,EAAAA,MAAA,CAEOE,QAAQ,GAAR,SAAAA,QAAQA,CAACN,QAAgB,EAAA;AAC/B,IAAA,OAAO,IAAIO,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAI;MACrCC,aAAE,CAACJ,QAAQ,CAACN,QAAQ,EAAE,MAAM,EAAE,UAACW,GAAiC,EAAEC,IAAY,EAAI;QAChF,IAAID,GAAG,EAAEF,MAAM,CAACE,GAAG,CAAC,CAAC,KAChBH,OAAO,CAACI,IAAI,CAAC,CAAA;AACpB,OAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;GACH,CAAA;AAAAR,EAAAA,MAAA,CAEOS,SAAS,GAAT,SAAAA,SAASA,CAAAC,IAAA,EAAuD;AAAA,IAAA,IAApDd,QAAQ,GAAAc,IAAA,CAARd,QAAQ;MAAEY,IAAI,GAAAE,IAAA,CAAJF,IAAI,CAAA;AAChC,IAAA,OAAO,IAAIL,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAI;MACrCC,aAAE,CAACG,SAAS,CAACb,QAAQ,EAAEY,IAAI,EAAE,MAAM,EAAE,UAACD,GAAiC,EAAI;QACzE,IAAIA,GAAG,EAAEF,MAAM,CAACE,GAAG,CAAC,CAAC,KAChBH,OAAO,EAAE,CAAA;AAChB,OAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;GACH,CAAA;AAAAJ,EAAAA,MAAA,CAEaW,aAAa,gBAAA,YAAA;IAAA,IAAAC,cAAA,gBAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAnB,SAAAC,OAAAA,CAAAC,KAAA,EAAA;MAAA,IAAAC,GAAA,EAAAC,KAAA,EAAAC,cAAA,EAAAxB,QAAA,EAAAY,IAAA,EAAAa,KAAA,CAAA;AAAA,MAAA,OAAAP,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AACNR,YAAAA,GAAG,GAAAD,KAAA,CAAHC,GAAG,EACHC,KAAK,GAAAF,KAAA,CAALE,KAAK,EAAAC,cAAA,GAAAH,KAAA,CACLrB,QAAQ,EAARA,QAAQ,GAAAwB,cAAA,KAAA,KAAA,CAAA,GAAG,IAAI,CAACxB,QAAQ,GAAAwB,cAAA,EACxBZ,IAAI,GAAAS,KAAA,CAAJT,IAAI,CAAA;AAOEa,YAAAA,KAAK,GAAG,IAAIM,MAAM,OAAKT,GAAG,GAAA,MAAA,EAAQ,GAAG,CAAC,CAAA;AAC5C,YAAA,IAAIV,IAAI,CAACoB,KAAK,CAACP,KAAK,CAAC,EAAE;cACrBb,IAAI,GAAGA,IAAI,CAACqB,OAAO,CAACR,KAAK,EAAKH,GAAG,GAAIC,GAAAA,GAAAA,KAAO,CAAC,CAAA;AAC/C,aAAC,MAAM;cACLX,IAAI,IAAA,IAAA,GAASU,GAAG,GAAA,GAAA,GAAIC,KAAO,CAAA;AAC7B,aAAA;AAACK,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OACK,IAAI,CAACjB,SAAS,CAAC;AAAEb,cAAAA,QAAQ,EAARA,QAAQ;AAAEY,cAAAA,IAAI,EAAJA,IAAAA;AAAM,aAAA,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AACxCsB,YAAAA,OAAO,CAACC,GAAG,CAAIb,GAAG,GAAWC,UAAAA,GAAAA,KAAK,kBAAe,CAAC,CAAA;AAAC,YAAA,OAAAK,QAAA,CAAAQ,MAAA,CAAA,QAAA,EAC5CxB,IAAI,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAgB,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAjB,OAAA,EAAA,IAAA,CAAA,CAAA;KACZ,CAAA,CAAA,CAAA;IAAA,SApBaL,aAAaA,CAAAuB,EAAA,EAAA;AAAA,MAAA,OAAAtB,cAAA,CAAAuB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAbzB,aAAa,CAAA;AAAA,GAAA,EAAA,CAAA;AAAAX,EAAAA,MAAA,CAsBrBqC,WAAW,gBAAA,YAAA;IAAA,IAAAC,YAAA,gBAAAzB,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAjB,SAAAwB,QAAAA,CAAkBrB,GAAW,EAAA;AAAA,MAAA,IAAAV,IAAA,EAAAa,KAAA,EAAAO,KAAA,CAAA;AAAA,MAAA,OAAAd,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAe,YAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;AAAAgB,YAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAEN,IAAI,CAACxB,QAAQ,CAAC,IAAI,CAACN,QAAQ,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAzCY,IAAI,GAAAiC,SAAA,CAAAC,IAAA,CAAA;AACJrB,YAAAA,KAAK,GAAG,IAAIM,MAAM,OAAKT,GAAG,GAAA,QAAA,EAAU,GAAG,CAAC,CAAA;AACxCU,YAAAA,KAAK,GAAGpB,IAAI,CAACoB,KAAK,CAACP,KAAK,CAAC,CAAA;AAAA,YAAA,OAAAoB,SAAA,CAAAT,MAAA,CAAA,QAAA,EACxB,CAAAJ,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAG,CAAC,CAAC,KAAI,IAAI,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAa,YAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;YAAAgB,SAAA,CAAAE,EAAA,GAAAF,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEzBX,YAAAA,OAAO,CAACc,KAAK,CAAA,2BAAA,GAAAH,SAAA,CAAAE,EAAkC,CAAC,CAAA;AAAC,YAAA,OAAAF,SAAA,CAAAT,MAAA,CAAA,QAAA,EAC1C,IAAI,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAS,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAM,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;KAEd,CAAA,CAAA,CAAA;IAAA,SAVKF,WAAWA,CAAAQ,GAAA,EAAA;AAAA,MAAA,OAAAP,YAAA,CAAAH,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAXC,WAAW,CAAA;AAAA,GAAA,EAAA,CAAA;AAAArC,EAAAA,MAAA,CAYX8C,WAAW,gBAAA,YAAA;AAAA,IAAA,IAAAC,YAAA,gBAAAlC,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAAjB,SAAAiC,QAAAA,CAAkB9B,GAAW,EAAEC,KAAa,EAAA;AAAA,MAAA,IAAAX,IAAA,CAAA;AAAA,MAAA,OAAAM,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAwB,YAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;AAAAyB,YAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAErB,IAAI,CAACxB,QAAQ,CAAC,IAAI,CAACN,QAAQ,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAzCY,IAAI,GAAA0C,SAAA,CAAAR,IAAA,CAAA;AAAAQ,YAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;YAAA,OACJ,IAAI,CAACf,aAAa,CAAC;AAAEO,cAAAA,GAAG,EAAHA,GAAG;AAAEC,cAAAA,KAAK,EAALA,KAAK;AAAEX,cAAAA,IAAI,EAAJA,IAAAA;AAAM,aAAA,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA0C,YAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,CAAA;AAAAwB,YAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;YAAAyB,SAAA,CAAAP,EAAA,GAAAO,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE9CpB,YAAAA,OAAO,CAACc,KAAK,CAAA,2BAAA,GAAAM,SAAA,CAAAP,EAAkC,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAO,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAe,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;KAEpD,CAAA,CAAA,CAAA;AAAA,IAAA,SAPKF,WAAWA,CAAAK,GAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAAL,YAAA,CAAAZ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAXU,WAAW,CAAA;AAAA,GAAA,EAAA,CAAA;AAAA,EAAA,OAAApD,cAAA,CAAA;AAAA,CAAA,CA5DiBD,UAAU;;ACC9C,IAAa4D,WAAW,gBAAA,YAAA;AAAA,EAAA,SAAAA,WAAA,GAAA,EAAA;AAAA,EAAA,IAAArD,MAAA,GAAAqD,WAAA,CAAApD,SAAA,CAAA;AACtB;;;;;;AAMG;AANHD,EAAAA,MAAA,CAOasD,eAAe;AAAA;AAAA,EAAA,YAAA;AAAA,IAAA,IAAAC,gBAAA,gBAAA1C,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAArB,SAAAC,OAAsBwC,CAAAA,SAAiB,EAAEC,cAAsB,EAAEC,eAAyB,EAAA;AAAA,MAAA,IAAAC,UAAA,EAAAC,SAAA,EAAAhE,QAAA,EAAAiE,UAAA,CAAA;AAAA,MAAA,OAAA/C,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;YACzFiC,UAAU,GAAGG,iBAAa,CAACC,6QAAe,CAAC,CAAA;AAC3CH,YAAAA,SAAS,GAAGI,IAAI,CAACC,OAAO,CAACN,UAAU,CAAC,CAAA;AACpC/D,YAAAA,QAAQ,GAAGoE,IAAI,CAAC5D,OAAO,CAACwD,SAAS,EAAE,IAAI,EAAE,eAAe,EAAEJ,SAAS,CAAC,CAAA;YACpEK,UAAU,GAAGvD,EAAE,CAAC4D,YAAY,CAACtE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAAA,IAEhDU,EAAAA,EAAE,CAAC6D,UAAU,CAACV,cAAc,CAAC,IAAI,CAACC,eAAe,CAAA,EAAA;AAAAlC,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AACnDI,YAAAA,OAAO,CAACC,GAAG,CAAI0B,cAAc,oBAAiB,CAAC,CAAA;AAAC,YAAA,OAAAjC,QAAA,CAAAQ,MAAA,CAAA,QAAA,EACzC,KAAK,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAR,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAGR0C,OAAO,CAACC,UAAU,CAACZ,cAAc,EAAEI,UAAU,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,OAAArC,QAAA,CAAAQ,MAAA,CAAA,QAAA,EAE7C,IAAI,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAR,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAjB,OAAA,CAAA,CAAA;KACZ,CAAA,CAAA,CAAA;AAAA,IAAA,SAdYsC,eAAeA,CAAApB,EAAA,EAAAW,GAAA,EAAAM,GAAA,EAAA;AAAA,MAAA,OAAAI,gBAAA,CAAApB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAfkB,eAAe,CAAA;AAAA,GAAA,EAAA,CAAA;AAAAtD,EAAAA,MAAA,CAgBfsE,YAAY,gBAAA,YAAA;IAAA,IAAAC,aAAA,gBAAA1D,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAlB,SAAAwB,QAAAA,CAAA7B,IAAA,EAAA;AAAA,MAAA,IAAA8D,KAAA,EAAAC,OAAA,EAAAC,cAAA,CAAA;AAAA,MAAA,OAAA5D,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,UAAA,KAAA,CAAA;YAAqB8C,KAAK,GAAA9D,IAAA,CAAL8D,KAAK,CAAA;AACzBC,YAAAA,OAAO,GAAGT,IAAI,CAACW,IAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAA;AAAApC,YAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAEtD0C,OAAO,CAACU,UAAU,CAACL,OAAO,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAE3BC,YAAAA,cAAc,GAAG,IAAIhF,cAAc,CAAC+E,OAAO,CAAC,CAAA;AAAAhC,YAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAC5CgD,cAAc,CAAC5B,WAAW,CAAC,QAAQ,EAAE0B,KAAK,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA/B,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAM,QAAA,CAAA,CAAA;KAClD,CAAA,CAAA,CAAA;IAAA,SAPY+B,YAAYA,CAAAlB,GAAA,EAAA;AAAA,MAAA,OAAAmB,aAAA,CAAApC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAZkC,YAAY,CAAA;AAAA,GAAA,EAAA,CAAA;AAAAtE,EAAAA,MAAA,CASlB+E,oBAAoB,GAApB,SAAAA,oBAAoBA,CAACC,KAAe,EAAA;AACzC,IAAA,KAAA,IAAAC,SAAA,GAAAC,+BAAA,CAAgBF,KAAK,CAAA,EAAAG,KAAA,EAAA,CAAA,CAAAA,KAAA,GAAAF,SAAA,EAAA,EAAAG,IAAA,GAAE;AAAA,MAAA,IAAZC,CAAC,GAAAF,KAAA,CAAAhE,KAAA,CAAA;AACV,MAAA,IAAIb,EAAE,CAAC6D,UAAU,CAACkB,CAAC,CAAC,EAAE;AACpB,QAAA,OAAOA,CAAC,CAAA;AACV,OAAA;AACF,KAAA;IAEA,MAAM,IAAIC,KAAK,CAAC,sDAAsD,GAAGN,KAAK,CAACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;GAC3F,CAAA;AAAA3E,EAAAA,MAAA,CAEMuF,mBAAmB,GAAnB,SAAAA,mBAAmBA,CAAAtE,KAAA,EAMzB;AAAA,IAAA,IALCrB,QAAQ,GAAAqB,KAAA,CAARrB,QAAQ;MACR4F,YAAY,GAAAvE,KAAA,CAAZuE,YAAY,CAAA;IAKZ,IAAIC,WAAW,GAAGnF,EAAE,CAAC4D,YAAY,CAACtE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACnD4F,IAAAA,YAAY,CAACE,OAAO,CAAC,UAAAC,KAAA,EAAwB;AAAA,MAAA,IAArBC,MAAM,GAAAD,KAAA,CAANC,MAAM;QAAE/D,OAAO,GAAA8D,KAAA,CAAP9D,OAAO,CAAA;MACrC4D,WAAW,GAAGA,WAAW,CAACI,UAAU,CAACD,MAAM,EAAE/D,OAAO,CAAC,CAAA;AACvD,KAAC,CAAC,CAAA;AAEFvB,IAAAA,EAAE,CAACwF,aAAa,CAAClG,QAAQ,EAAE6F,WAAW,CAAC,CAAA;GACxC,CAAA;AAAA,EAAA,OAAApC,WAAA,CAAA;AAAA,CAAA;;SC5Da0C,eAAeA,GAAA;EAC7B,IAAMC,OAAO,GAAGrB,SAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;AAE9C,EAAA,IAAI,CAACV,aAAU,CAAC6B,OAAO,CAAC,EAAE;IACxBC,YAAS,CAACD,OAAO,EAAE;AAAEE,MAAAA,SAAS,EAAE,IAAA;AAAM,KAAA,CAAC,CAAA;AACvCC,IAAAA,sBAAQ,iCAA+B,CAAC,CAAA;AAC1C,GAAA;AACF;;ACDA,IAAMC,aAAa,gBAAG,IAAIC,aAAQ,CAAC;AACjCC,EAAAA,IAAI,EAAE,OAAO;AACbC,EAAAA,aAAa,eAAEC,KAAC,CAACC,MAAM,CAAC;AACtBC,IAAAA,SAAS,eAAEF,KAAC,CAACG,MAAM,EAAE;AACrBC,IAAAA,KAAK,eAAEJ,KAAC,CAACG,MAAM,EAAE;IACjBE,OAAO,eAAEL,KAAC,CAACG,MAAM,EAAE,CAACG,QAAQ,EAAE;IAC9BC,SAAS,eAAEP,KAAC,CAAQ,SAAA,CAAA,EAAE,CAACM,QAAQ,EAAE;AACjCE,IAAAA,OAAO,eAAER,KAAC,CAAA,SAAA,CAAQ,EAAE,CAACM,QAAQ,EAAE;GAChC,CAAA;AACF,CAAA,CAAC,CAAA;AAEFV,aAAa,CAACa,WAAW,CAAC,IAAW,CAAC,CAAA;AAEtC,IAAMC,SAAS,gBAAG,IAAIC,SAAI,CAAC;AACzBC,EAAAA,EAAE,EAAE,kBAAkB;EACtBC,OAAO,gBAAA,YAAA;IAAA,IAAAC,QAAA,gBAAAzG,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAE,SAAAC,OAAA,GAAA;AAAA,MAAA,OAAAF,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AACP;AACAqE,YAAAA,eAAe,EAAE,CAAA;AAAC,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAvE,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAjB,OAAA,CAAA,CAAA;KACnB,CAAA,CAAA,CAAA;AAAA,IAAA,SAHDqG,OAAOA,GAAA;AAAA,MAAA,OAAAC,QAAA,CAAAnF,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAPiF,OAAO,CAAA;AAAA,GAAA,EAAA,CAAA;AAIR,CAAA,CAAC,CAAA;AAEF,IAAME,UAAU,gBAAG,IAAIJ,SAAI,CAAC;AAC1BC,EAAAA,EAAE,EAAE,QAAQ;EACZC,OAAO,gBAAA,YAAA;IAAA,IAAAG,SAAA,gBAAA3G,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAE,SAAAwB,QAAAA,CAAA7B,IAAA,EAAA;MAAA,IAAA+G,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,CAAA;MAAA,IAAAC,OAAA,EAAAd,OAAA,EAAAN,SAAA,EAAAK,SAAA,EAAAH,KAAA,EAAAC,OAAA,EAAAkB,WAAA,EAAAC,UAAA,EAAAC,WAAA,EAAAC,OAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,aAAA,EAAAC,MAAA,CAAA;AAAA,MAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,UAAA,KAAA,CAAA;YAASoG,OAAO,GAAApH,IAAA,CAAPoH,OAAO,CAAA;YACjBd,OAAO,GAAA,CAAAS,qBAAA,GAAGK,OAAO,CAACS,cAAc,KAAA,IAAA,GAAA,KAAA,CAAA,GAAtBd,qBAAA,CAAwBe,WAAW,CAACxB,OAAO,CAAA;YACrDN,SAAS,GAAA,CAAAgB,sBAAA,GAAGI,OAAO,CAACS,cAAc,KAAA,IAAA,GAAA,KAAA,CAAA,GAAtBb,sBAAA,CAAwBc,WAAW,CAAC9B,SAAS,CAAA;YACzDK,SAAS,GAAA,CAAAY,sBAAA,GAAGG,OAAO,CAACS,cAAc,KAAA,IAAA,GAAA,KAAA,CAAA,GAAtBZ,sBAAA,CAAwBa,WAAW,CAACzB,SAAS,CAAA;YAEzDH,KAAK,GAAA,CAAAgB,sBAAA,GAAGE,OAAO,CAACS,cAAc,KAAA,IAAA,GAAA,KAAA,CAAA,GAAtBX,sBAAA,CAAwBY,WAAW,CAAC5B,KAAK,CAAA;YAEjDC,OAAO,GAAA,CAAAgB,sBAAA,GAAGC,OAAO,CAACS,cAAc,KAAA,IAAA,GAAA,KAAA,CAAA,GAAtBV,sBAAA,CAAwBW,WAAW,CAAC3B,OAAO,CAAA;AAErDkB,YAAAA,WAAW,GAAG,IAAI1E,WAAW,EAAE,CAAA;YAC/B2E,UAAU,GAAGD,WAAW,CAAChD,oBAAoB,CAAC,CAAC6B,KAAK,CAAC,CAAC,CAAA;AACtDqB,YAAAA,WAAW,GAAGpB,OAAO,IAAIlC,SAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;AAErEqD,YAAAA,OAAO,GAAU,EAAE,CAAA;AAErBC,YAAAA,uBAAuB,GAAG,KAAK,CAAA;AAE7BC,YAAAA,uBAAuB,GAAG;AAC9B9B,cAAAA,IAAI,EAAE,qBAAqB;AAC3BmC,cAAAA,KAAK,EAALA,SAAAA,KAAKA,CAACC,KAAU,EAAA;gBACdA,KAAK,CAACC,SAAS,CACb;AAAEC,kBAAAA,MAAM,EAAE,MAAA;iBAAQ;AAClB;AACA,gBAAA,UAACC,IAAS,EAAI;kBACZ,IAAI,CAACA,IAAI,CAACC,QAAQ,CAACC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAA;kBAClD,IAAI;oBACF,IAAMC,YAAY,GAAGjF,SAAmB,CAAC8E,IAAI,CAAC7E,IAAI,CAAC,CAAA;oBACnD,IAAI,CAACgF,YAAY,IAAIA,YAAY,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACnDd,sBAAAA,uBAAuB,GAAG,IAAI,CAAA;sBAC9B,OAAO;wBAAEnE,IAAI,EAAE6E,IAAI,CAAC7E,IAAI;AAAEkF,wBAAAA,QAAQ,EAAE,IAAA;uBAAM,CAAA;AAC5C,qBAAA;mBACD,CAAC,OAAOC,CAAC,EAAE;AACVhB,oBAAAA,uBAAuB,GAAG,IAAI,CAAA;oBAC9B,OAAO;sBAAEnE,IAAI,EAAE6E,IAAI,CAAC7E,IAAI;AAAEkF,sBAAAA,QAAQ,EAAE,IAAA;qBAAM,CAAA;AAC5C,mBAAA;AACF,iBAAC,CACF,CAAA;AACH,eAAA;aACD,CAAA;AAED,YAAA,IAAIlC,OAAO,EAAE;AACXkB,cAAAA,OAAO,CAACkB,IAAI,CAAChB,uBAAuB,CAAC,CAAA;AACvC,aAAA;AAEMC,YAAAA,aAAa,GAAiB;cAClCgB,WAAW,EAAE,CAACrB,UAAU,CAAC;AACzBsB,cAAAA,MAAM,EAAE,IAAI;AACZC,cAAAA,QAAQ,EAAE,MAAM;AAChBC,cAAAA,MAAM,EAAE,KAAK;AACb3C,cAAAA,OAAO,EAAEoB,WAAW;AACpBwB,cAAAA,MAAM,EAAE,QAAQ;AAChBC,cAAAA,SAAS,EAAE,IAAI;AACfC,cAAAA,QAAQ,EAAE,QAAQ;AAClBC,cAAAA,MAAM,EAAE,KAAK;AACbC,cAAAA,QAAQ,EAAE,IAAI;AACdC,cAAAA,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC9BC,cAAAA,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC9BC,cAAAA,WAAW,EAAE;AACX,gBAAA,0BAA0B,EAAE,QAAA;eAC7B;cACDd,QAAQ,EAAE,CACR,OAAO;AACP;AACA,cAAA,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,SAAS,EACT,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,MAAM,EACN,6CAA6C,EAC7C,yCAAyC;AAEzC;cACA,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,CAC1B;AACDhB,cAAAA,OAAO,EAAPA,OAAAA;aACD,CAAA;AAED,YAAA,IAAInB,SAAS,EAAE;cACbsB,aAAa,CAAC4B,MAAM,GAAG;gBACrBC,EAAE,EAAA,iLAAA;eAIH,CAAA;AACH,aAAA;AAACzH,YAAAA,SAAA,CAAAf,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAEoByI,kBAAO,CAACzB,KAAK,CAACL,aAAa,CAAC,CAAA;AAAA,UAAA,KAAA,EAAA;YAA3CC,MAAM,GAAA7F,SAAA,CAAAC,IAAA,CAAA;YAEZ,IAAIsE,OAAO,IAAImB,uBAAuB,EAAE;cACtCrG,OAAO,CAACc,KAAK,CAAA,gHACqG,CACjH,CAAA;AACDgC,cAAAA,OAAO,CAACwF,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,aAAA;AAEA;AACAtI,YAAAA,OAAO,CAACC,GAAG,CAAK2E,GAAAA,GAAAA,SAAS,oCAAiC,CAAC,CAAA;AAAC,YAAA,OAAAjE,SAAA,CAAAT,MAAA,CAAA,QAAA,EAErDsG,MAAM,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA7F,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAM,QAAA,CAAA,CAAA;KACd,CAAA,CAAA,CAAA;IAAA,SA7ID8E,OAAOA,CAAAnF,EAAA,EAAA;AAAA,MAAA,OAAAsF,SAAA,CAAArF,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAPiF,OAAO,CAAA;AAAA,GAAA,EAAA,CAAA;AA8IR,CAAA,CAAC,CAAA;AAEF,IAAMgD,WAAW,gBAAG,IAAIlD,SAAI,CAAC;AAC3BC,EAAAA,EAAE,EAAE,SAAS;EACbC,OAAO,gBAAA,YAAA;IAAA,IAAAiD,SAAA,gBAAAzJ,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAE,SAAAiC,QAAAA,CAAA/B,KAAA,EAAA;AAAA,MAAA,IAAAsJ,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,CAAA;MAAA,IAAA3C,OAAA,EAAA4C,GAAA,CAAA;AAAA,MAAA,OAAA5J,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,UAAA,KAAA,CAAA;YAASoG,OAAO,GAAA7G,KAAA,CAAP6G,OAAO,CAAA;YAAA,IACnB,EAAA,CAAAA,OAAO,IAAA,IAAA,IAAA,CAAAyC,sBAAA,GAAPzC,OAAO,CAAES,cAAc,KAAAgC,IAAAA,IAAAA,CAAAA,sBAAA,GAAvBA,sBAAA,CAAyBI,WAAW,KAAA,IAAA,IAAA,CAAAJ,sBAAA,GAApCA,sBAAA,CAAsCK,MAAM,KAAA,IAAA,GAAA,KAAA,CAAA,GAA5CL,sBAAA,CAA8CM,MAAM,MAAK,SAAS,CAAA,EAAA;AAAA3H,cAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AAAA,YAAA,MAC9D,IAAI4D,KAAK,CAAC,oBAAoB,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAEvCQ,YAAAA,gBAAa,CACXnB,SAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,EAC/CiG,IAAI,CAACC,SAAS,CAAAP,CAAAA,sBAAA,GAAC1C,OAAO,CAACS,cAAc,KAAA,IAAA,GAAA,KAAA,CAAA,GAAtBiC,sBAAA,CAAwBG,WAAW,CAACC,MAAM,CAACI,OAAO,CAACnB,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CACrF,CAAA;AAAC3G,YAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OACgByI,kBAAO,CAACc,eAAe,EAAAR,sBAAA,GAAC3C,OAAO,CAACS,cAAc,qBAAtBkC,sBAAA,CAAwBE,WAAW,CAACC,MAAM,CAACI,OAAO,CAACnB,QAAQ,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAhGa,GAAG,GAAAxH,SAAA,CAAAR,IAAA,CAAA;AAAA,YAAA,OAAAQ,SAAA,CAAAlB,MAAA,CAAA,QAAA,EACF0I,GAAG,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAxH,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAe,QAAA,CAAA,CAAA;KACX,CAAA,CAAA,CAAA;IAAA,SAVDqE,OAAOA,CAAAxE,GAAA,EAAA;AAAA,MAAA,OAAAyH,SAAA,CAAAnI,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAPiF,OAAO,CAAA;AAAA,GAAA,EAAA,CAAA;AAWR,CAAA,CAAC,CAAA;AAEFjB,aAAa,CAAC8E,IAAI,CAAChE,SAAS,CAAC,CAACiE,IAAI,CAAC5D,UAAU,CAAC,CAAC4D,IAAI,CAACd,WAAW,CAAC,CAACe,MAAM,EAAE,CAAA;AAEzE,SAAsB9B,MAAMA,CAAAnG,GAAA,EAAAC,GAAA,EAAA;AAAA,EAAA,OAAAiI,OAAA,CAAAlJ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AA6B3B,SAAAiJ,OAAA,GAAA;EAAAA,OAAA,GAAAxK,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CA7BM,SAAAuK,QAAAA,CACL1E,KAAa,EAAA2E,KAAA,EAAA;AAAA,IAAA,IAAA5F,KAAA,EAAA6F,eAAA,EAAAzE,SAAA,EAAA0E,eAAA,EAAA/E,SAAA,EAAAG,OAAA,EAAAG,OAAA,EAAA0E,qBAAA,EAAAC,KAAA,CAAA;AAAA,IAAA,OAAA7K,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAsK,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAAnK,IAAA;AAAA,QAAA,KAAA,CAAA;UAAAiE,KAAA,GAAA4F,KAAA,KAM6F,KAAA,CAAA,GAAA,EAAE,GAAAA,KAAA,EAAAC,eAAA,GAAA7F,KAAA,CAJ1GoB,SAAS,EAATA,SAAS,GAAAyE,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA,EAAAC,eAAA,GAAA9F,KAAA,CAChBe,SAAS,EAATA,SAAS,GAAA+E,eAAA,KAAA,KAAA,CAAA,GAAG,OAAO,GAAAA,eAAA,EACnB5E,OAAO,GAAAlB,KAAA,CAAPkB,OAAO,EACPG,OAAO,GAAArB,KAAA,CAAPqB,OAAO,CAAA;UAAA0E,qBAAA,GAGStF,aAAa,CAAC0F,SAAS,EAAE,EAAnCH,KAAK,GAAAD,qBAAA,CAALC,KAAK,CAAA;AAAAE,UAAAA,SAAA,CAAApK,IAAA,GAAA,CAAA,CAAA;AAAAoK,UAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OAGLiK,KAAK,CAAC;AACVnD,YAAAA,WAAW,EAAE;AACX9B,cAAAA,SAAS,EAATA,SAAS;AACTE,cAAAA,KAAK,EAALA,KAAK;AACLG,cAAAA,SAAS,EAATA,SAAS;AACTF,cAAAA,OAAO,EAAPA,OAAO;AACPG,cAAAA,OAAO,EAAPA,OAAAA;AACD,aAAA;AACF,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA6E,UAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;AAAA,UAAA,MAAA;AAAA,QAAA,KAAA,CAAA;AAAAmK,UAAAA,SAAA,CAAApK,IAAA,GAAA,CAAA,CAAA;UAAAoK,SAAA,CAAAlJ,EAAA,GAAAkJ,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAMF/J,OAAO,CAACc,KAAK,CAAC,kBAAkB,EAAAiJ,SAAA,CAAAlJ,EAAO,CAAC,CAAA;AACxCiC,UAAAA,OAAO,CAACwF,IAAI,CAAC,CAAC,CAAC,CAAA;AAAC,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAyB,SAAA,CAAA5J,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAqJ,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAEnB,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAD,OAAA,CAAAlJ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;ACtND,IAAa2J,IAAI,gBAAA,YAAA;AAGf,EAAA,SAAAA,OAAA;AAAA,IAAA,IAAA,CAFQC,cAAc,GAAA,KAAA,CAAA,CAAA;AAGpB,IAAA,IAAI,CAACA,cAAc,GAAG,IAAI,CAACC,iBAAiB,EAAE,CAAA;AAChD,GAAA;AAAC,EAAA,IAAAjM,MAAA,GAAA+L,IAAA,CAAA9L,SAAA,CAAA;AAAAD,EAAAA,MAAA,CAEOkM,YAAY,GAAZ,SAAAA,YAAYA,CAACC,GAAW,EAAA;IAC9B,IAAMC,SAAS,GAAG,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAA;AACtE,IAAA,KAAA,IAAAC,EAAA,GAAA,CAAA,EAAAC,UAAA,GAAmBF,SAAS,EAAAC,EAAA,GAAAC,UAAA,CAAAC,MAAA,EAAAF,EAAA,EAAE,EAAA;AAAzB,MAAA,IAAMG,IAAI,GAAAF,UAAA,CAAAD,EAAA,CAAA,CAAA;AACb,MAAA,IAAI/L,EAAE,CAAC6D,UAAU,CAACH,IAAI,CAACW,IAAI,CAACwH,GAAG,EAAEK,IAAI,CAAC,CAAC,EAAE;AACvC,QAAA,OAAOA,IAAI,CAAA;AACb,OAAA;AACF,KAAA;IACA,IAAMC,SAAS,GAAGzI,IAAI,CAAC5D,OAAO,CAAC+L,GAAG,EAAE,IAAI,CAAC,CAAA;IACzC,IAAIM,SAAS,KAAKN,GAAG,EAAE;AACrB,MAAA,OAAO,IAAI,CAACD,YAAY,CAACO,SAAS,CAAC,CAAA;AACrC,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;GACZ,CAAA;AAAAzM,EAAAA,MAAA,CAEOiM,iBAAiB,GAAjB,SAAAA,iBAAiBA,GAAA;IACvB,IAAMS,QAAQ,GAAG,IAAI,CAACR,YAAY,CAACtH,OAAO,CAACC,GAAG,EAAE,CAAC,CAAA;AACjD,IAAA,QAAQ6H,QAAQ;AACd,MAAA,KAAK,gBAAgB;AACnB,QAAA,OAAO,MAAM,CAAA;AACf,MAAA,KAAK,mBAAmB;AACtB,QAAA,OAAO,KAAK,CAAA;AACd,MAAA,KAAK,WAAW;AACd,QAAA,OAAO,MAAM,CAAA;AACf,MAAA;AACE,QAAA,OAAO,KAAK,CAAA;AAChB,KAAA;GACD,CAAA;AAAA1M,EAAAA,MAAA,CAEY2M,OAAO,gBAAA,YAAA;IAAA,IAAAC,QAAA,gBAAA/L,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAb,SAAAC,OAAAA,CAAc6L,QAAA,EAAA;MAAA,IAAAC,UAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,OAAAjM,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAAmL,QAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,cAAAA,QAAA,GAAqB,EAAE,CAAA;AAAA,aAAA;YACtCC,UAAU,GAAG,IAAI,CAACd,cAAc,CAAA;AACpC,YAAA,IAAI,IAAI,CAACA,cAAc,KAAK,KAAK,EAAE;AACjCc,cAAAA,UAAU,GAAM,IAAI,CAACd,cAAc,GAAI,IAAA,CAAA;AACzC,aAAC,MAAM;AACLc,cAAAA,UAAU,GAAM,IAAI,CAACd,cAAc,GAAA,GAAA,IAAI,EAAAe,SAAA,GAAAF,QAAQ,KAAA,IAAA,GAAA,KAAA,CAAA,GAARE,SAAA,CAAUR,MAAM,IAAG,CAAC,oBAAoB,CAAE,CAAA;AACnF,aAAA;YAAC,OAAA/K,QAAA,CAAAQ,MAAA,CAAA,QAAA,EAEMgL,WAAK,CAAIF,EAAAA,GAAAA,UAAU,EAAID,QAAQ,EAAE;AACtCI,cAAAA,GAAG,EAAE,IAAI;AACTC,cAAAA,KAAK,EAAE,IAAI;AACXC,cAAAA,KAAK,EAAE,SAAA;AACR,aAAA,CAAC,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA3L,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAjB,OAAA,EAAA,IAAA,CAAA,CAAA;KACH,CAAA,CAAA,CAAA;IAAA,SAbY2L,OAAOA,CAAAzK,EAAA,EAAA;AAAA,MAAA,OAAA0K,QAAA,CAAAzK,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAPuK,OAAO,CAAA;AAAA,GAAA,EAAA,CAAA;AAAA3M,EAAAA,MAAA,CAePoN,eAAe,gBAAA,YAAA;IAAA,IAAAC,gBAAA,gBAAAxM,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAArB,SAAAwB,QAAAA,CAAsBsK,QAAkB,EAAA;MAAA,IAAAC,UAAA,EAAAQ,WAAA,CAAA;AAAA,MAAA,OAAAxM,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,UAAA,KAAA,CAAA;YACzCoL,UAAU,GAAG,IAAI,CAACd,cAAc,CAAA;AACpC,YAAA,IAAI,IAAI,CAACA,cAAc,KAAK,KAAK,EAAE;AACjCc,cAAAA,UAAU,GAAM,IAAI,CAACd,cAAc,GAAI,IAAA,CAAA;AACzC,aAAC,MAAM;AACLc,cAAAA,UAAU,GAAM,IAAI,CAACd,cAAc,GAAM,MAAA,CAAA;AAC3C,aAAA;AAEMsB,YAAAA,WAAW,GAAGT,QAAQ,CAAClI,IAAI,CAAC,GAAG,CAAC,CAAA;YAAA,OAAAlC,SAAA,CAAAT,MAAA,CAAA,QAAA,EAC/BgL,WAAK,CAAIF,UAAU,GAAIQ,GAAAA,GAAAA,WAAW,EAAI;AAC3CL,cAAAA,GAAG,EAAE,IAAI;AACTC,cAAAA,KAAK,EAAE,IAAI;AACXC,cAAAA,KAAK,EAAE,SAAA;AACR,aAAA,CAAC,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA1K,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAM,QAAA,EAAA,IAAA,CAAA,CAAA;KACH,CAAA,CAAA,CAAA;IAAA,SAdY6K,eAAeA,CAAAvK,GAAA,EAAA;AAAA,MAAA,OAAAwK,gBAAA,CAAAlL,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAfgL,eAAe,CAAA;AAAA,GAAA,EAAA,CAAA;AAAApN,EAAAA,MAAA,CAgBfuN,iBAAiB,gBAAA,YAAA;IAAA,IAAAC,kBAAA,gBAAA3M,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAvB,SAAAiC,QAAAA,CAAwByK,YAAsB,EAAA;MAAA,IAAAC,eAAA,EAAAC,WAAA,EAAA1I,SAAA,EAAAE,KAAA,EAAAyI,UAAA,CAAA;AAAA,MAAA,OAAA9M,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAwB,YAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;AAE3CiM,YAAAA,eAAe,GAAG1J,IAAI,CAACW,IAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;AAAA3B,YAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;AAAAyB,YAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAGxDmM,UAAU,CAACC,MAAM,CAACJ,eAAe,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAxK,YAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,CAAA;AAAAwB,YAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;YAAAyB,SAAA,CAAAP,EAAA,GAAAO,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,OAAAA,SAAA,CAAAlB,MAAA,CAAA,QAAA,EAEjC,qDAAqD,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA;YAAAkB,SAAA,CAAA6K,EAAA,GAG1CjD,IAAI,CAAA;AAAA5H,YAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAAamM,UAAU,CAAC3N,QAAQ,CAACwN,eAAe,EAAE,OAAO,CAAC,CAAA;AAAA,UAAA,KAAA,EAAA;AAAAxK,YAAAA,SAAA,CAAA8K,EAAA,GAAA9K,SAAA,CAAAR,IAAA,CAAA;AAA5EiL,YAAAA,WAAW,GAAAzK,SAAA,CAAA6K,EAAA,CAAQE,KAAK,CAAAnO,IAAA,CAAAoD,SAAA,CAAA6K,EAAA,EAAA7K,SAAA,CAAA8K,EAAA,CAAA,CAAA;YAAA/I,SAAA,GAAAC,+BAAA,CACLuI,YAAY,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,IAAA,CAAAtI,KAAA,GAAAF,SAAA,EAAA,EAAAG,IAAA,EAAA;AAAAlC,cAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YAA1BkM,UAAU,GAAAzI,KAAA,CAAAhE,KAAA,CAAA;YAAA,IACf,EAAA,CAACwM,WAAW,CAACF,YAAY,IAAI,CAACE,WAAW,CAACF,YAAY,CAACG,UAAU,CAAC,CAAA,EAAA;AAAA1K,cAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YAAA,OAAAwB,SAAA,CAAAlB,MAAA,CAC3C4L,QAAAA,EAAAA,iBAAAA,GAAAA,UAAU,sCAAiC,IAAI,CAAC5B,cAAc,GAAA,WAAA,GAAY4B,UAAU,GAAA,GAAA,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA;AAAA1K,YAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,OAAAwB,SAAA,CAAAlB,MAAA,CAAA,QAAA,EAI1G,IAAI,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA;AAAAkB,YAAAA,SAAA,CAAAzB,IAAA,GAAA,EAAA,CAAA;YAAAyB,SAAA,CAAAgL,EAAA,GAAAhL,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEXpB,YAAAA,OAAO,CAACc,KAAK,CAAAM,SAAA,CAAAgL,EAAI,CAAC,CAAA;AAAC,YAAA,OAAAhL,SAAA,CAAAlB,MAAA,CAAA,QAAA,EACZ,8BAA8B,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAkB,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAe,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;KAExC,CAAA,CAAA,CAAA;IAAA,SAtBYuK,iBAAiBA,CAAApK,GAAA,EAAA;AAAA,MAAA,OAAAqK,kBAAA,CAAArL,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAjBmL,iBAAiB,CAAA;AAAA,GAAA,EAAA,CAAA;AAAAvN,EAAAA,MAAA,CAwBjBmO,cAAc,gBAAA,YAAA;IAAA,IAAAC,eAAA,gBAAAvN,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAApB,SAAAuK,QAAA,GAAA;AAAA,MAAA,IAAAoC,eAAA,EAAAC,WAAA,EAAAU,GAAA,CAAA;AAAA,MAAA,OAAAvN,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAsK,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAAnK,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAmK,YAAAA,SAAA,CAAApK,IAAA,GAAA,CAAA,CAAA;AAEGiM,YAAAA,eAAe,GAAG1J,IAAI,CAACW,IAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;AAAAgH,YAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OACtCmM,UAAU,CAAC3N,QAAQ,CAACwN,eAAe,EAAE,OAAO,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAjEC,WAAW,GAAA9B,SAAA,CAAAnJ,IAAA,CAAA;AACX2L,YAAAA,GAAG,GAAGvD,IAAI,CAACmD,KAAK,CAACN,WAAW,CAAC,CAAA;AAAA,YAAA,OAAA9B,SAAA,CAAA7J,MAAA,CAC5BqM,QAAAA,EAAAA,GAAG,CAAC/H,IAAI,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAuF,YAAAA,SAAA,CAAApK,IAAA,GAAA,CAAA,CAAA;YAAAoK,SAAA,CAAAlJ,EAAA,GAAAkJ,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAA,MAAAA,SAAA,CAAAlJ,EAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAkJ,SAAA,CAAA5J,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAqJ,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;KAIlB,CAAA,CAAA,CAAA;AAAA,IAAA,SATY6C,cAAcA,GAAA;AAAA,MAAA,OAAAC,eAAA,CAAAjM,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAd+L,cAAc,CAAA;AAAA,GAAA,EAAA,CAAA;AAAAnO,EAAAA,MAAA,CAWdsO,iBAAiB,gBAAA,YAAA;IAAA,IAAAC,kBAAA,gBAAA1N,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAvB,SAAAyN,QAAA,GAAA;AAAA,MAAA,IAAA7K,UAAA,EAAAC,SAAA,EAAA6K,WAAA,EAAAC,OAAA,CAAA;AAAA,MAAA,OAAA5N,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAqN,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnN,IAAA,GAAAmN,SAAA,CAAAlN,IAAA;AAAA,UAAA,KAAA,CAAA;YACCiC,UAAU,GAAGG,iBAAa,CAACC,6QAAe,CAAC,CAAA;AAC3CH,YAAAA,SAAS,GAAGK,YAAO,CAACN,UAAU,CAAC,CAAA;AAC/B8K,YAAAA,WAAW,GAAGzK,IAAI,CAACW,IAAI,CAACf,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;AAAAgL,YAAAA,SAAA,CAAAlN,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAE7C0C,OAAO,CAACyK,QAAQ,CAACJ,WAAW,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAA9CC,OAAO,GAAAE,SAAA,CAAAlM,IAAA,CAAA;AAAA,YAAA,OAAAkM,SAAA,CAAA5M,MAAA,CACN0M,QAAAA,EAAAA,OAAO,CAACI,OAAO,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAF,SAAA,CAAA3M,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAuM,QAAA,CAAA,CAAA;KACvB,CAAA,CAAA,CAAA;AAAA,IAAA,SAPYF,iBAAiBA,GAAA;AAAA,MAAA,OAAAC,kBAAA,CAAApM,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAjBkM,iBAAiB,CAAA;AAAA,GAAA,EAAA,CAAA;AAAAtO,EAAAA,MAAA,CASjB+O,uBAAuB,gBAAA,YAAA;IAAA,IAAAC,wBAAA,gBAAAnO,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAA7B,SAAAkO,QAAAA,CAA8BC,OAA+B,EAAA;AAAA,MAAA,IAAAvB,WAAA,CAAA;AAAA,MAAA,OAAA7M,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA6N,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3N,IAAA,GAAA2N,SAAA,CAAA1N,IAAA;AAAA,UAAA,KAAA,CAAA;YAAA0N,SAAA,CAAAzM,EAAA,GAC9CmI,IAAI,CAAA;AAAAsE,YAAAA,SAAA,CAAA1N,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAAamM,UAAU,CAAC3N,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAkP,YAAAA,SAAA,CAAArB,EAAA,GAAAqB,SAAA,CAAA1M,IAAA,CAAA;AAA3EiL,YAAAA,WAAW,GAAAyB,SAAA,CAAAzM,EAAA,CAAQsL,KAAK,CAAAnO,IAAA,CAAAsP,SAAA,CAAAzM,EAAA,EAAAyM,SAAA,CAAArB,EAAA,CAAA,CAAA;YAC9BJ,WAAW,CAACuB,OAAO,GAAAG,QAAA,CAAA,EAAA,EACd1B,WAAW,CAACuB,OAAO,EACnBA,OAAO,CACX,CAAA;AAACE,YAAAA,SAAA,CAAA1N,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OACImM,UAAU,CAACpN,SAAS,CAAC,cAAc,EAAEqK,IAAI,CAACC,SAAS,CAAC4C,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAyB,SAAA,CAAAnN,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAgN,QAAA,CAAA,CAAA;KACjF,CAAA,CAAA,CAAA;IAAA,SAPYF,uBAAuBA,CAAA3L,GAAA,EAAA;AAAA,MAAA,OAAA4L,wBAAA,CAAA7M,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAvB2M,uBAAuB,CAAA;AAAA,GAAA,EAAA,CAAA;AAAA,EAAA,OAAAhD,IAAA,CAAA;AAAA,CAAA;;AC9GtC,IAAauD,QAAQ,gBAAA,YAAA;EAUnB,SAAAA,QAAAA,CAAA5O,IAAA,EAAkE;AAAA,IAAA,IAAAb,KAAA,GAAA,IAAA,CAAA;AAAA,IAAA,IAApDsM,GAAG,GAAAzL,IAAA,CAAHyL,GAAG;MAAEoD,IAAI,GAAA7O,IAAA,CAAJ6O,IAAI,CAAA;AAAA,IAAA,IAAA,CATvBC,IAAI,GAAS,IAAIzD,IAAI,EAAE,CAAA;AAAA,IAAA,IAAA,CACvB0D,aAAa,GAAA,KAAA,CAAA,CAAA;IAAA,IACbnJ,CAAAA,IAAI,GAAW,EAAE,CAAA;AAAA,IAAA,IAAA,CACjBiJ,IAAI,GAAA,KAAA,CAAA,CAAA;AAAA,IAAA,IAAA,CAEJxN,GAAG,GAAG,UAAC2N,OAAe,EAAI;MACxB5N,OAAO,CAACC,GAAG,CAAYlC,UAAAA,GAAAA,KAAI,CAAC0P,IAAI,GAAA,MAAA,GAAOG,OAAS,CAAC,CAAA;KAClD,CAAA;IAGC,IAAI,CAACD,aAAa,GAAG9K,SAAI,CAACwH,GAAG,EAAE,SAAS,CAAC,CAAA;IACzC,IAAI,CAACoD,IAAI,GAAGA,IAAI,CAAA;AAClB,GAAA;AAAC,EAAA,IAAAvP,MAAA,GAAAsP,QAAA,CAAArP,SAAA,CAAA;AAAAD,EAAAA,MAAA,CAED2P,aAAa,GAAb,SAAAA,aAAaA,GAAA;IACX,OAAO,IAAI,CAACF,aAAa,CAAA;GAC1B,CAAA;AAAAzP,EAAAA,MAAA,CAEK4P,SAAS,gBAAA,YAAA;IAAA,IAAAC,UAAA,gBAAAhP,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAf,SAAAC,OAAA,GAAA;AAAA,MAAA,OAAAF,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OACgB,OAAOiD,SAAI,CAAC,IAAI,CAAC8K,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,OAAAjO,QAAA,CAAAQ,MAAA,CAAAR,QAAAA,EAAAA,QAAA,CAAAkB,IAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAlB,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAjB,OAAA,EAAA,IAAA,CAAA,CAAA;KAC7D,CAAA,CAAA,CAAA;AAAA,IAAA,SAFK4O,SAASA,GAAA;AAAA,MAAA,OAAAC,UAAA,CAAA1N,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAATwN,SAAS,CAAA;AAAA,GAAA,EAAA,CAAA;AAAA5P,EAAAA,MAAA,CAIT8P,gBAAgB,gBAAA,YAAA;IAAA,IAAAC,iBAAA,gBAAAlP,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAtB,SAAAwB,QAAA,GAAA;AAAA,MAAA,IAAAyN,UAAA,EAAAC,UAAA,EAAAC,OAAA,CAAA;AAAA,MAAA,OAAApP,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,UAAA,KAAA,CAAA;AACE,YAAA,IAAI,CAACK,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAC5BiO,YAAAA,UAAU,GAAQ;AACpBvC,cAAAA,YAAY,EAAE,EAAE;aACjB,CAAA;YAED,IAAI;cACFuC,UAAU,GAAGlF,IAAI,CAACmD,KAAK,CAAC/J,eAAY,CAACS,SAAI,CAAC,IAAI,CAAC8K,aAAa,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;aAC/F,CAAC,OAAOU,EAAE,EAAE;AACX;AAAA,aAAA;AAGIF,YAAAA,UAAU,GAAGG,MAAM,CAACC,OAAO,CAACL,UAAU,CAACvC,YAAY,CAAC,CACvD7E,MAAM,CAAC,UAAA3H,KAAA,EAAA;cAAA,IAAEqF,IAAI,GAAArF,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,cAAA,OAAMqF,IAAI,CAACgK,UAAU,CAAC,SAAS,CAAC,IAAI,CAAChK,IAAI,CAACgK,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAAA,aAAA,CAAC,CACtFC,MAAM,CAAC,UAACC,GAAQ,EAAA7K,KAAA,EAAqB;cAAA,IAAlBW,IAAI,GAAAX,KAAA,CAAA,CAAA,CAAA;AAAEmJ,gBAAAA,OAAO,GAAAnJ,KAAA,CAAA,CAAA,CAAA,CAAA;cAC/B,IAAImJ,OAAO,KAAK,aAAa,EAAE;AAC7B0B,gBAAAA,GAAG,CAAClK,IAAI,CAAC,GAAG,QAAQ,CAAA;AACtB,eAAC,MAAM;AACLkK,gBAAAA,GAAG,CAAClK,IAAI,CAAC,GAAGwI,OAAO,CAAA;AACrB,eAAA;AAEA,cAAA,OAAO0B,GAAG,CAAA;aACX,EAAE,EAAE,CAAC,CAAA;YAEFN,OAAO,GAAGvL,SAAI,CAAC,IAAI,CAAC8K,aAAa,EAAE,cAAc,CAAC,CAAA;YAAA,IAEpD,EAAA,IAAI,CAACF,IAAI,KAAK,KAAK,IAAIpL,aAAU,CAAC+L,OAAO,CAAC,CAAA,EAAA;AAAAzN,cAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YAAA,OAAAe,SAAA,CAAAT,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAI9C8D,YAAAA,gBAAa,CACXoK,OAAO,EACPpF,IAAI,CAACC,SAAS,CACZ;AACEzE,cAAAA,IAAI,EAAE,QAAQ;AACdwI,cAAAA,OAAO,EAAE,OAAO;AAChB2B,cAAAA,WAAW,EAAE,EAAE;AACflB,cAAAA,IAAI,EAAE,QAAQ;AACdmB,cAAAA,IAAI,EAAE,WAAW;AACjBxB,cAAAA,OAAO,EAAE;AACPvD,gBAAAA,KAAK,EAAE,kBAAA;eACR;AACDgF,cAAAA,MAAM,EAAE,EAAE;AACVC,cAAAA,OAAO,EAAE,KAAK;cACdnD,YAAY,EAAA4B,QAAA,CAAA,EAAA,EACPY,UAAU,EAAA;AACbY,gBAAAA,IAAI,EAAE,QAAQ;AACd7D,gBAAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,mBAAmB,EAAE,SAAS;AAC9B8D,gBAAAA,SAAS,EAAE,QAAQ;AACnB,gBAAA,oBAAoB,EAAE,SAAA;AAAS,eAAA,CAAA;AAElC,aAAA,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAA;AAAC,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAArO,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAM,QAAA,EAAA,IAAA,CAAA,CAAA;KACH,CAAA,CAAA,CAAA;AAAA,IAAA,SAzDKuN,gBAAgBA,GAAA;AAAA,MAAA,OAAAC,iBAAA,CAAA5N,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAhB0N,gBAAgB,CAAA;AAAA,GAAA,EAAA,CAAA;AAAA9P,EAAAA,MAAA,CA2DhB2M,OAAO,gBAAA,YAAA;IAAA,IAAAC,QAAA,gBAAA/L,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAb,SAAAiC,QAAA,GAAA;AAAA,MAAA,OAAAlC,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,UAAA,KAAA,CAAA;AACE,YAAA,IAAI,CAACK,GAAG,CAAC,0CAA0C,CAAC,CAAA;AAACmB,YAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAC/C,IAAI,CAAC8N,IAAI,CAAC7C,OAAO,EAAE,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAzJ,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAe,QAAA,EAAA,IAAA,CAAA,CAAA;KAC1B,CAAA,CAAA,CAAA;AAAA,IAAA,SAHK2J,OAAOA,GAAA;AAAA,MAAA,OAAAC,QAAA,CAAAzK,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAPuK,OAAO,CAAA;AAAA,GAAA,EAAA,CAAA;AAAA3M,EAAAA,MAAA,CAKH+Q,WAAW,GAAX,SAAAA,WAAWA,GAAA;AACnB,IAAA,IAAMC,QAAQ,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,YAAY,CAAC,CACxDC,GAAG,CAAC,UAAAzE,IAAI,EAAA;MAAA,OAAI7H,SAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE2H,IAAI,CAAC,CAAA;AAAA,KAAA,CAAC,CACtC5D,MAAM,CAAC,UAAA4D,IAAI,EAAA;MAAA,OAAIrI,aAAU,CAACqI,IAAI,CAAC,CAAA;KAAC,CAAA,CAAA;AACnC,IAAA,OAAOwE,QAAQ,CAAA;GAChB,CAAA;AAAAhR,EAAAA,MAAA,CAEDkR,UAAU,GAAV,SAAAA,UAAUA,GAAA;AACR;AACA,IAAA,IAAMF,QAAQ,GAAG,IAAI,CAACD,WAAW,EAAE,CAAA;IACnC,IAAMI,OAAO,GAA2B,EAAE,CAAA;AAE1C,IAAA,KAAA,IAAAlM,SAAA,GAAAC,+BAAA,CAAmB8L,QAAQ,CAAA,EAAA7L,KAAA,EAAA,CAAA,CAAAA,KAAA,GAAAF,SAAA,EAAA,EAAAG,IAAA,GAAE;AAAA,MAAA,IAAlBoH,IAAI,GAAArH,KAAA,CAAAhE,KAAA,CAAA;AACb,MAAA,IAAMiQ,IAAI,GAAG,IAAI,CAACC,YAAY,CAAC7E,IAAI,CAAC,CAAA;AACpC,MAAA,KAAA,IAAA8E,UAAA,GAAApM,+BAAA,CAAqBkM,IAAI,CAAA,EAAAG,MAAA,EAAA,CAAA,CAAAA,MAAA,GAAAD,UAAA,EAAA,EAAAlM,IAAA,GAAE;AAAA,QAAA,IAAhBoM,MAAM,GAAAD,MAAA,CAAApQ,KAAA,CAAA;AACf,QAAA,IAAAsQ,aAAA,GAAqBD,MAAM,CAACE,KAAK,CAAC,GAAG,CAAC;AAA/BxQ,UAAAA,GAAG,GAAAuQ,aAAA,CAAA,CAAA,CAAA;AAAEtQ,UAAAA,KAAK,GAAAsQ,aAAA,CAAA,CAAA,CAAA,CAAA;QACjB,IAAIvQ,GAAG,IAAIC,KAAK,EAAE;AAChBgQ,UAAAA,OAAO,CAACjQ,GAAG,CAAC,GAAGC,KAAK,CAAA;AACtB,SAAA;AACF,OAAA;AACF,KAAA;AAEA,IAAA,OAAOgQ,OAAO,CAAA;GACf,CAAA;AAAAnR,EAAAA,MAAA,CAESqR,YAAY,GAAZ,SAAAA,YAAYA,CAACzR,QAAgB,EAAA;AACrC,IAAA,IAAM8O,OAAO,GAAGxK,eAAY,CAACtE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC/C,OAAO8O,OAAO,CACXgD,KAAK,CAAC,IAAI,CAAC,CACXT,GAAG,CAAC,UAAAU,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACC,IAAI,EAAE,CAAA;AAAA,KAAA,CAAC,CACxBhJ,MAAM,CAAC,UAAA+I,IAAI,EAAA;MAAA,OAAIA,IAAI,IAAI,CAACA,IAAI,CAACrB,UAAU,CAAC,GAAG,CAAC,CAAA;AAAA,KAAA,CAAC,CAC7C1H,MAAM,CAAC,UAAA+I,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAAC1I,QAAQ,CAAC,GAAG,CAAC,CAAA;AAAA,KAAA,CAAC,CAAC;GACvC,CAAA;AAAAjJ,EAAAA,MAAA,CAEK0I,KAAK,gBAAA,YAAA;IAAA,IAAAmJ,MAAA,gBAAAhR,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAX,SAAAuK,QAAAA,CAAAwG,KAAA,EAAA;AAAA,MAAA,IAAA3F,GAAA,EAAA4F,eAAA,EAAAhL,SAAA,CAAA;AAAA,MAAA,OAAAjG,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAsK,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAAnK,IAAA;AAAA,UAAA,KAAA,CAAA;AAAcyK,YAAAA,GAAG,GAAA2F,KAAA,CAAH3F,GAAG,EAAA4F,eAAA,GAAAD,KAAA,CAAE/K,SAAS,EAATA,SAAS,GAAAgL,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA,CAAA;AACjC,YAAA,IAAI,CAAC5N,aAAU,CAAC,IAAI,CAACsL,aAAa,CAAC,EAAE;AACnCxJ,cAAAA,YAAS,CAAC,IAAI,CAACwJ,aAAa,CAAC,CAAA;AAC/B,aAAA;AAAC5D,YAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;YAAA,OAEK4H,MAAM,CAAC6C,GAAG,EAAE;AAAEpF,cAAAA,SAAS,EAATA,SAAS;AAAEF,cAAAA,OAAO,EAAElC,SAAI,CAAC,IAAI,CAAC8K,aAAa,EAAE,YAAY,CAAA;AAAC,aAAE,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA5D,SAAA,CAAA5J,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAqJ,QAAA,EAAA,IAAA,CAAA,CAAA;KAClF,CAAA,CAAA,CAAA;IAAA,SANK5C,KAAKA,CAAAxG,EAAA,EAAA;AAAA,MAAA,OAAA2P,MAAA,CAAA1P,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAALsG,KAAK,CAAA;AAAA,GAAA,EAAA,CAAA;AAAA1I,EAAAA,MAAA,CAQLgS,WAAW,gBAAA,YAAA;IAAA,IAAAC,YAAA,gBAAApR,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAjB,SAAAyN,QAAAA,CAAAjD,KAAA,EAAA;AAAA,MAAA,IAAA2G,KAAA,EAAAC,gBAAA,EAAAC,UAAA,EAAAC,YAAA,CAAA;AAAA,MAAA,OAAAvR,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAqN,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnN,IAAA,GAAAmN,SAAA,CAAAlN,IAAA;AAAA,UAAA,KAAA,CAAA;YAAAwQ,KAAA,GAAA3G,KAAA,KAAqE,KAAA,CAAA,GAAA;AAAE6G,cAAAA,UAAU,EAAE,KAAA;AAAO,aAAA,GAAA7G,KAAA,EAAA4G,gBAAA,GAAAD,KAAA,CAAtEE,UAAU,EAAVA,UAAU,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA,CAAA;AACpCpM,YAAAA,eAAe,EAAE,CAAA;YAEXsM,YAAY,GAAG1N,SAAI,CAAC,IAAI,CAAC8K,aAAa,EAAE,UAAU,CAAC,CAAA;AAEzD3J,YAAAA,gBAAa,CACXuM,YAAY,EAKsDD,kLAAAA,GAAAA,UAAU,eAC7E,CACA,CAAA;AAAC,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAxD,SAAA,CAAA3M,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAuM,QAAA,EAAA,IAAA,CAAA,CAAA;KACH,CAAA,CAAA,CAAA;IAAA,SAdKwD,WAAWA,CAAAnP,GAAA,EAAA;AAAA,MAAA,OAAAoP,YAAA,CAAA9P,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAX4P,WAAW,CAAA;AAAA,GAAA,EAAA,CAAA;AAAAhS,EAAAA,MAAA,CAgBXsS,eAAe,gBAAA,YAAA;IAAA,IAAAC,gBAAA,gBAAA1R,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAArB,SAAAkO,QAAA,GAAA;MAAA,IAAAuD,cAAA,EAAAC,UAAA,CAAA;AAAA,MAAA,OAAA3R,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA6N,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3N,IAAA,GAAA2N,SAAA,CAAA1N,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA0N,YAAAA,SAAA,CAAA1N,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAC+BqC,SAAmB,CAAC,yBAAyB,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAArEyO,cAAc,GAAApD,SAAA,CAAA1M,IAAA,CAAA;AACd+P,YAAAA,UAAU,GAAG3O,iBAAa,CAAC0O,cAAc,CAAC,CAAA;YAChDE,eAAY,CAACD,UAAU,EAAE9N,SAAI,CAAC,IAAI,CAAC8K,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;AAAC,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAL,SAAA,CAAAnN,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAgN,QAAA,EAAA,IAAA,CAAA,CAAA;KAClE,CAAA,CAAA,CAAA;AAAA,IAAA,SAJKqD,eAAeA,GAAA;AAAA,MAAA,OAAAC,gBAAA,CAAApQ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAfkQ,eAAe,CAAA;AAAA,GAAA,EAAA,CAAA;AAAAtS,EAAAA,MAAA,CAMf2S,OAAO,gBAAA,YAAA;IAAA,IAAAC,QAAA,gBAAA/R,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAb,SAAA8R,QAAAA,CAAAC,KAAA,EAAA;MAAA,IAAA3G,GAAA,EAAAiG,UAAA,EAAAW,eAAA,EAAAhM,SAAA,EAAAf,OAAA,CAAA;AAAA,MAAA,OAAAlF,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA0R,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAxR,IAAA,GAAAwR,SAAA,CAAAvR,IAAA;AAAA,UAAA,KAAA,CAAA;YAAgByK,GAAG,GAAA2G,KAAA,CAAH3G,GAAG,EAAEiG,UAAU,GAAAU,KAAA,CAAVV,UAAU,EAAAW,eAAA,GAAAD,KAAA,CAAE/L,SAAS,EAATA,SAAS,GAAAgM,eAAA,KAAA,KAAA,CAAA,GAAG,IAAI,GAAAA,eAAA,CAAA;AAC/C,YAAA,IAAI,CAAChR,GAAG,CAAC,6BAA6B,CAAC,CAAA;AACvCgE,YAAAA,eAAe,EAAE,CAAA;AACXC,YAAAA,OAAO,GAAGmG,GAAG,IAAInI,IAAI,CAACW,IAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAA;YAC7D,IAAI,CAACiL,gBAAgB,EAAE,CAAA;YACvB,IAAI,CAACwC,eAAe,EAAE,CAAA;AAACW,YAAAA,SAAA,CAAAvR,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OACjB,IAAI,CAACiL,OAAO,EAAE,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAsG,YAAAA,SAAA,CAAAvR,IAAA,GAAA,EAAA,CAAA;YAAA,OACd,IAAI,CAACgH,KAAK,CAAC;AAAEyD,cAAAA,GAAG,EAAEnG,OAAO;AAAEe,cAAAA,SAAS,EAATA,SAAAA;AAAW,aAAA,CAAC,CAAA;AAAA,UAAA,KAAA,EAAA;AAAAkM,YAAAA,SAAA,CAAAvR,IAAA,GAAA,EAAA,CAAA;YAAA,OACvC,IAAI,CAACsQ,WAAW,CAAC;AAAEI,cAAAA,UAAU,EAAVA,UAAAA;AAAU,aAAE,CAAC,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAa,SAAA,CAAAhR,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAA4Q,QAAA,EAAA,IAAA,CAAA,CAAA;KACvC,CAAA,CAAA,CAAA;IAAA,SATKF,OAAOA,CAAAxP,GAAA,EAAA;AAAA,MAAA,OAAAyP,QAAA,CAAAzQ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAPuQ,OAAO,CAAA;AAAA,GAAA,EAAA,CAAA;AAAA,EAAA,OAAArD,QAAA,CAAA;AAAA,CAAA;;ACzJf;AACgB,SAAA4D,WAAWA,CAACtQ,KAAc,EAAEuQ,cAAsB,EAAA;AAChErR,EAAAA,OAAO,CAACc,KAAK,CAACuQ,cAAc,EAAEvQ,KAAK,CAAC,CAAA;EACpC,IAAMwQ,QAAQ,GAAGxQ,KAAiB,CAAA;EAClC,MAAM,IAAIyQ,2BAAa,CAAED,QAAQ,CAACvI,MAAM,IAAI,GAAG,EAA2B;AACxE6E,IAAAA,OAAO,EAAE0D,QAAQ,CAAC1D,OAAO,IAAIyD,cAAAA;AAC9B,GAAA,CAAC,CAAA;AACJ;;ACZA;AACM,SAAUG,YAAYA,CAACC,IAA6B,EAAA;AACxD,EAAA,IAAMC,aAAa,GAAGpD,MAAM,CAACC,OAAO,CAACkD,IAAI,CAAC,CAAChD,MAAM,CAAyB,UAACC,GAAG,EAAA9P,IAAA,EAAkB;IAAA,IAAfQ,GAAG,GAAAR,IAAA,CAAA,CAAA,CAAA;AAAES,MAAAA,KAAK,GAAAT,IAAA,CAAA,CAAA,CAAA,CAAA;IACzF,IAAI,CAACS,KAAK,EAAE;AACVqP,MAAAA,GAAG,CAACtP,GAAG,CAAC,GAAMA,GAAG,GAAc,cAAA,CAAA;AACjC,KAAA;AACA,IAAA,OAAOsP,GAAG,CAAA;GACX,EAAE,EAAE,CAAC,CAAA;EAEN,IAAIJ,MAAM,CAACqD,IAAI,CAACD,aAAa,CAAC,CAACjH,MAAM,GAAG,CAAC,EAAE;AACzC,IAAA,MAAM,IAAI8G,2BAAa,CAAC,GAAG,EAAE;AAAE3D,MAAAA,OAAO,EAAE5E,IAAI,CAACC,SAAS,CAACyI,aAAa,CAAA;AAAC,KAAE,CAAC,CAAA;AAC1E,GAAA;AACF;;ACLA;AACsBE,SAAAA,gBAAgBA,CAAAxR,EAAA,EAAA;AAAA,EAAA,OAAAyR,iBAAA,CAAAxR,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AA2BrC,SAAAuR,iBAAA,GAAA;EAAAA,iBAAA,GAAA9S,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CA3BM,SAAAC,OAAAA,CAAgC4S,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAC,MAAA,EAAAC,gBAAA,CAAA;AAAA,IAAA,OAAAjT,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAF,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAEvCoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;AACxBF,UAAAA,MAAM,GAAGD,MAAM,CAACI,SAAS,EAAE,CAAA;AAE3BF,UAAAA,gBAAgB,GAAG3D,MAAM,CAACC,OAAO,CAACyD,MAAM,CAAC,CAACvD,MAAM,CAAM,UAACC,GAAG,EAAA9P,IAAA,EAAmB;YAAA,IAAhBwT,GAAG,GAAAxT,IAAA,CAAA,CAAA,CAAA;AAAEyT,cAAAA,MAAM,GAAAzT,IAAA,CAAA,CAAA,CAAA,CAAA;YAC5E,IAAM0T,KAAK,GAAGD,MAAa,CAAA;YAC3B,IAAME,oBAAoB,GAAGjE,MAAM,CAACC,OAAO,CAAC,CAAA+D,KAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEE,KAAK,KAAI,EAAE,CAAC,CAAC/D,MAAM,CAAM,UAACC,GAAG,EAAAvP,KAAA,EAAiB;cAAA,IAAdC,GAAG,GAAAD,KAAA,CAAA,CAAA,CAAA;AAAEsT,gBAAAA,IAAI,GAAAtT,KAAA,CAAA,CAAA,CAAA,CAAA;cAC1F,IAAMuT,KAAK,GAAGD,IAAW,CAAA;AACzB/D,cAAAA,GAAG,CAACtP,GAAG,CAAC,GAAAmO,QAAA,KACHmF,KAAK,EAAA;AACRC,gBAAAA,WAAW,EAAED,KAAK,CAACC,WAAW,GAAG1J,mBAAS,CAAC2J,eAAe,CAACF,KAAK,CAACC,WAAW,CAAC,CAAC,GAAGE,SAAS;AAC1FC,gBAAAA,YAAY,EAAEJ,KAAK,CAACI,YAAY,GAAG7J,mBAAS,CAAC2J,eAAe,CAACF,KAAK,CAACI,YAAY,CAAC,CAAC,GAAGD,SAAAA;eACrF,CAAA,CAAA;AACD,cAAA,OAAOnE,GAAG,CAAA;aACX,EAAE,EAAE,CAAC,CAAA;AACNA,YAAAA,GAAG,CAAC0D,GAAG,CAAC,GAAA7E,QAAA,KACH+E,KAAK,EAAA;AACRE,cAAAA,KAAK,EAAED,oBAAAA;aACR,CAAA,CAAA;AACD,YAAA,OAAO7D,GAAG,CAAA;WACX,EAAE,EAAE,CAAC,CAAA;UAAA,OAAAhP,QAAA,CAAAQ,MAAA,CAAA,QAAA,EAEC4R,CAAC,CAACiB,IAAI,CAACd,gBAAgB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAvS,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;UAAAD,QAAA,CAAAmB,EAAA,GAAAnB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,QAAA,CAAAQ,MAAA,CAExBkR,QAAAA,EAAAA,WAAW,CAAA1R,QAAA,CAAAmB,EAAA,EAAQ,sBAAsB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAnB,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAjB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAEpD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAA2S,iBAAA,CAAAxR,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqB0S,SAAAA,mBAAmBA,CAAAjS,GAAA,EAAA;AAAA,EAAA,OAAAkS,oBAAA,CAAA5S,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AA2BxC,SAAA2S,oBAAA,GAAA;EAAAA,oBAAA,GAAAlU,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CA3BM,SAAAwB,QAAAA,CAAmCqR,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAmB,OAAA,EAAAZ,KAAA,EAAAC,oBAAA,CAAA;AAAA,IAAA,OAAAvT,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAe,UAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;AAE1CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxBgB,OAAO,GAAGpB,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,SAAS,CAAC,CAAA;AAChCd,UAAAA,KAAK,GAAGP,MAAM,CAACsB,QAAQ,CAACH,OAAO,CAAC,CAAA;AAAA,UAAA,IAEjCZ,KAAK,EAAA;AAAA3R,YAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACF,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,iBAAA;AAAmB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAGxD2E,oBAAoB,GAAGjE,MAAM,CAACC,OAAO,CAAC,CAAA+D,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEE,KAAK,KAAI,EAAE,CAAC,CAAC/D,MAAM,CAAM,UAACC,GAAG,EAAA7K,KAAA,EAAiB;YAAA,IAAdzE,GAAG,GAAAyE,KAAA,CAAA,CAAA,CAAA;AAAE4O,cAAAA,IAAI,GAAA5O,KAAA,CAAA,CAAA,CAAA,CAAA;YAC1F,IAAM6O,KAAK,GAAGD,IAAW,CAAA;AACzB/D,YAAAA,GAAG,CAACtP,GAAG,CAAC,GAAAmO,QAAA,KACHmF,KAAK,EAAA;AACRC,cAAAA,WAAW,EAAED,KAAK,CAACC,WAAW,GAAG1J,mBAAS,CAAC2J,eAAe,CAACF,KAAK,CAACC,WAAW,CAAC,CAAC,GAAGE,SAAS;AAC1FC,cAAAA,YAAY,EAAEJ,KAAK,CAACI,YAAY,GAAG7J,mBAAS,CAAC2J,eAAe,CAACF,KAAK,CAACI,YAAY,CAAC,CAAC,GAAGD,SAAAA;aACrF,CAAA,CAAA;AACD,YAAA,OAAOnE,GAAG,CAAA;WACX,EAAE,EAAE,CAAC,CAAA;UAAA,OAAA/N,SAAA,CAAAT,MAAA,CAEC4R,QAAAA,EAAAA,CAAC,CAACiB,IAAI,CAAAxF,QAAA,CAAA,EAAA,EACR+E,KAAK,EAAA;AACRE,YAAAA,KAAK,EAAED,oBAAAA;AAAoB,WAAA,CAC5B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA5R,UAAAA,SAAA,CAAAhB,IAAA,GAAA,EAAA,CAAA;UAAAgB,SAAA,CAAAE,EAAA,GAAAF,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAT,MAAA,CAEKkR,QAAAA,EAAAA,WAAW,CAAAzQ,SAAA,CAAAE,EAAA,EAAQ,qBAAqB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAF,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAM,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAEnD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAwS,oBAAA,CAAA5S,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBgT,SAAAA,eAAeA,CAAAjS,GAAA,EAAA;AAAA,EAAA,OAAAkS,gBAAA,CAAAlT,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAsBpC,SAAAiT,gBAAA,GAAA;EAAAA,gBAAA,GAAAxU,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAtBM,SAAAiC,QAAAA,CAA+B4Q,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAmB,OAAA,EAAAZ,KAAA,EAAAkB,iBAAA,EAAAC,QAAA,EAAAC,QAAA,EAAAC,UAAA,EAAAC,MAAA,EAAApN,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAwB,UAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;AAEtCoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxBgB,OAAO,GAAGpB,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,SAAS,CAAC,CAAA;AAChCd,UAAAA,KAAK,GAAGP,MAAM,CAACsB,QAAQ,CAACH,OAAO,CAAC,CAAA;AAAA,UAAA,IAEjCZ,KAAK,EAAA;AAAAlR,YAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACF,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,iBAAA;AAAmB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAxM,UAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OAGLkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAAS,iBAAA,GAAApS,SAAA,CAAAR,IAAA,CAAA;UAA7D6S,QAAQ,GAAAD,iBAAA,CAARC,QAAQ,CAAA;UAAEC,QAAQ,GAAAF,iBAAA,CAARE,QAAQ,CAAA;UAAEC,UAAU,GAAAH,iBAAA,CAAVG,UAAU,CAAA;UAAEC,MAAM,GAAAJ,iBAAA,CAANI,MAAM,CAAA;AAC9CpC,UAAAA,YAAY,CAAC;AAAEiC,YAAAA,QAAQ,EAARA,QAAAA;AAAQ,WAAE,CAAC,CAAA;AAAC,UAAA,IAEtBI,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,EAAA;AAAArS,YAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACpB,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,6BAAA;AAA+B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAxM,UAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,UAAA,OAGrD0S,KAAK,CAACyB,QAAQ,CAACN,QAAQ,EAAE;AAAEC,YAAAA,QAAQ,EAARA,QAAQ;AAAEC,YAAAA,UAAU,EAAVA,UAAU;AAAEC,YAAAA,MAAM,EAANA,MAAAA;AAAM,WAAE,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAAzEpN,MAAM,GAAApF,SAAA,CAAAR,IAAA,CAAA;UAAA,OAAAQ,SAAA,CAAAlB,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAApF,UAAAA,SAAA,CAAAzB,IAAA,GAAA,EAAA,CAAA;UAAAyB,SAAA,CAAAP,EAAA,GAAAO,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAlB,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAAhQ,SAAA,CAAAP,EAAA,EAAQ,6BAA6B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAO,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAe,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAE3D,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAqS,gBAAA,CAAAlT,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqB0T,SAAAA,qBAAqBA,CAAA1S,GAAA,EAAA;AAAA,EAAA,OAAA2S,sBAAA,CAAA5T,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AA4B1C,SAAA2T,sBAAA,GAAA;EAAAA,sBAAA,GAAAlV,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CA5BM,SAAAuK,QAAAA,CAAqCsI,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAmB,OAAA,EAAAZ,KAAA,EAAA4B,kBAAA,EAAAT,QAAA,EAAAC,QAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAO,YAAA,CAAA;AAAA,IAAA,OAAAnV,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAsK,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAAnK,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAmK,UAAAA,SAAA,CAAApK,IAAA,GAAA,CAAA,CAAA;AAE5CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxBgB,OAAO,GAAGpB,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,SAAS,CAAC,CAAA;AAChCd,UAAAA,KAAK,GAAGP,MAAM,CAACsB,QAAQ,CAACH,OAAO,CAAC,CAAA;AAAA,UAAA,IAEjCZ,KAAK,EAAA;AAAAvI,YAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACF,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,iBAAA;AAAmB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA7D,UAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OAGLkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAAmB,kBAAA,GAAAnK,SAAA,CAAAnJ,IAAA,CAAA;UAA7D6S,QAAQ,GAAAS,kBAAA,CAART,QAAQ,CAAA;UAAEC,QAAQ,GAAAQ,kBAAA,CAARR,QAAQ,CAAA;UAAEC,UAAU,GAAAO,kBAAA,CAAVP,UAAU,CAAA;UAAEC,MAAM,GAAAM,kBAAA,CAANN,MAAM,CAAA;AAC9CpC,UAAAA,YAAY,CAAC;AAAEiC,YAAAA,QAAQ,EAARA,QAAAA;AAAQ,WAAE,CAAC,CAAA;AAAC,UAAA,IAEtBI,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,EAAA;AAAA1J,YAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACpB,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,6BAAA;AAA+B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA7D,UAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;AAAA,UAAA,OAG/C0S,KAAK,CAAC8B,MAAM,CAACX,QAAQ,EAAE;AAAEC,YAAAA,QAAQ,EAARA,QAAQ;AAAEC,YAAAA,UAAU,EAAVA,UAAU;AAAEC,YAAAA,MAAM,EAANA,MAAAA;AAAM,WAAE,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAA7EO,YAAY,GAAApK,SAAA,CAAAnJ,IAAA,CAAA;AAAA,UAAA,OAAAmJ,SAAA,CAAA7J,MAAA,CAAA,QAAA,EACX,IAAImU,QAAQ,CAACF,YAAY,CAACG,YAAY,EAAE,EAAE;AAC/CC,YAAAA,OAAO,EAAE;AACP,cAAA,cAAc,EAAE,gBAAgB;AAChC,cAAA,kBAAkB,EAAE,UAAU;AAC9B,cAAA,mBAAmB,EAAE,SAAA;AACtB,aAAA;AACF,WAAA,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAxK,UAAAA,SAAA,CAAApK,IAAA,GAAA,EAAA,CAAA;UAAAoK,SAAA,CAAAlJ,EAAA,GAAAkJ,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAA7J,MAAA,CAEKkR,QAAAA,EAAAA,WAAW,CAAArH,SAAA,CAAAlJ,EAAA,EAAQ,4BAA4B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAkJ,SAAA,CAAA5J,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAqJ,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAE1D,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAyK,sBAAA,CAAA5T,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;ACtHD,IAAMkU,OAAO,gBAAG,IAAIC,GAAG,EAAmC,CAAA;AAEpD,SAAUC,oBAAoBA,CAAC5C,CAAU,EAAA;AAC7C,EAAA,IAAMsC,MAAM,GAAG,IAAIO,cAAc,CAAC;AAChC9K,IAAAA,KAAK,EAALA,SAAAA,KAAKA,CAAC+K,UAAU,EAAA;AACdJ,MAAAA,OAAO,CAACK,GAAG,CAACD,UAAU,CAAC,CAAA;AACvBA,MAAAA,UAAU,CAACE,OAAO,CAAC,qBAAqB,CAAC,CAAA;MAEzChD,CAAC,CAACqB,GAAG,CAAC4B,GAAG,CAACC,MAAM,CAACC,gBAAgB,CAAC,OAAO,EAAE,YAAK;QAC9CT,OAAO,CAAA,QAAA,CAAO,CAACI,UAAU,CAAC,CAAA;AAC5B,OAAC,CAAC,CAAA;AACJ,KAAA;AACD,GAAA,CAAC,CAAA;AAEF,EAAA,OAAO,IAAIP,QAAQ,CAACD,MAAM,EAAE;AAC1BG,IAAAA,OAAO,EAAE;AACP,MAAA,cAAc,EAAE,mBAAmB;AACnC,MAAA,eAAe,EAAE,UAAU;AAC3BW,MAAAA,UAAU,EAAE,YAAY;AACxB,MAAA,6BAA6B,EAAE,GAAA;AAChC,KAAA;AACF,GAAA,CAAC,CAAA;AACJ,CAAA;AAEM,SAAUC,2BAA2BA,CAACrD,CAAU,EAAA;AACpD0C,EAAAA,OAAO,CAAC5Q,OAAO,CAAC,UAAAgR,UAAU,EAAG;IAC3B,IAAI;AACFA,MAAAA,UAAU,CAACE,OAAO,CAAC,mBAAmB,CAAC,CAAA;KACxC,CAAC,OAAAM,OAAA,EAAM;MACNZ,OAAO,CAAA,QAAA,CAAO,CAACI,UAAU,CAAC,CAAA;AAC5B,KAAA;AACF,GAAC,CAAC,CAAA;EACF,OAAO9C,CAAC,CAACiB,IAAI,CAAC;AAAEsC,IAAAA,OAAO,EAAE,IAAI;IAAEb,OAAO,EAAEA,OAAO,CAACc,IAAAA;AAAI,GAAE,CAAC,CAAA;AACzD;;AC/BsBC,SAAAA,cAAcA,CAAAnV,EAAA,EAAA;AAAA,EAAA,OAAAoV,eAAA,CAAAnV,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAQnC,SAAAkV,eAAA,GAAA;EAAAA,eAAA,GAAAzW,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CARM,SAAAC,OAAAA,CAA8B4S,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAA0D,IAAA,CAAA;AAAA,IAAA,OAAAzW,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAF,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAErCoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;AAAAxS,UAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACXmS,MAAM,CAAC2D,OAAO,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAA7BD,IAAI,GAAA/V,QAAA,CAAAkB,IAAA,CAAA;UAAA,OAAAlB,QAAA,CAAAQ,MAAA,CAAA,QAAA,EACH4R,CAAC,CAACiB,IAAI,CAAC0C,IAAI,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA/V,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;UAAAD,QAAA,CAAAmB,EAAA,GAAAnB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,QAAA,CAAAQ,MAAA,CAEZkR,QAAAA,EAAAA,WAAW,CAAA1R,QAAA,CAAAmB,EAAA,EAAQ,oBAAoB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAnB,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAjB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAElD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAsW,eAAA,CAAAnV,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBqV,SAAAA,qBAAqBA,CAAA5U,GAAA,EAAA;AAAA,EAAA,OAAA6U,sBAAA,CAAAvV,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAS1C,SAAAsV,sBAAA,GAAA;EAAAA,sBAAA,GAAA7W,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CATM,SAAAwB,QAAAA,CAAqCqR,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAA8D,KAAA,EAAAJ,IAAA,CAAA;AAAA,IAAA,OAAAzW,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAe,UAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;AAE5CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB2D,KAAK,GAAG/D,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,OAAO,CAAC,CAAA;AAAAzS,UAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACfmS,MAAM,CAAC+D,cAAc,CAACD,KAAK,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAzCJ,IAAI,GAAA9U,SAAA,CAAAC,IAAA,CAAA;UAAA,OAAAD,SAAA,CAAAT,MAAA,CAAA,QAAA,EACH4R,CAAC,CAACiB,IAAI,CAAC0C,IAAI,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA9U,UAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;UAAAgB,SAAA,CAAAE,EAAA,GAAAF,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAT,MAAA,CAEZkR,QAAAA,EAAAA,WAAW,CAAAzQ,SAAA,CAAAE,EAAA,EAAQ,8BAA8B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAF,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAM,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAE5D,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAmV,sBAAA,CAAAvV,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;AChBD;AACsByV,SAAAA,sBAAsBA,CAAA3V,EAAA,EAAA;AAAA,EAAA,OAAA4V,uBAAA,CAAA3V,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAa3C,SAAA0V,uBAAA,GAAA;EAAAA,uBAAA,GAAAjX,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAbM,SAAAC,OAAAA,CAAsC4S,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAAkE,MAAA,CAAA;AAAA,IAAA,OAAAjX,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAF,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAE7CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;AAAA,UAAA,IAEvBA,MAAM,EAAA;AAAAvW,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,OAAAF,QAAA,CAAAQ,MAAA,WACF4R,CAAC,CAACiB,IAAI,CAAC;AAAEvM,YAAAA,MAAM,EAAE,KAAA;AAAO,WAAA,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA,UAAA,OAAA9G,QAAA,CAAAQ,MAAA,WAG3B4R,CAAC,CAACiB,IAAI,CAAC;AAAEvM,YAAAA,MAAM,EAAE,IAAA;AAAM,WAAA,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA9G,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;UAAAD,QAAA,CAAAmB,EAAA,GAAAnB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,QAAA,CAAAQ,MAAA,CAExBkR,QAAAA,EAAAA,WAAW,CAAA1R,QAAA,CAAAmB,EAAA,EAAQ,6BAA6B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAnB,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAjB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAE3D,CAAA,CAAA,CAAA;AAAA,EAAA,OAAA8W,uBAAA,CAAA3V,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqB4V,SAAAA,iBAAiBA,CAAAnV,GAAA,EAAA;AAAA,EAAA,OAAAoV,kBAAA,CAAA9V,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAetC,SAAA6V,kBAAA,GAAA;EAAAA,kBAAA,GAAApX,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAfM,SAAAwB,QAAAA,CAAiCqR,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAG,YAAA,EAAAzC,UAAA,EAAA0C,OAAA,CAAA;AAAA,IAAA,OAAArX,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAe,UAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;AAExCoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;AAAAG,UAAAA,YAAA,GACLtE,CAAC,CAACqB,GAAG,CAACmD,KAAK,EAAE,EAA5B3C,UAAU,GAAAyC,YAAA,CAAVzC,UAAU,CAAA;AAAA,UAAA,IAEbsC,MAAM,EAAA;AAAAtV,YAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAjN,UAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;UAAA,OAGlDqW,MAAM,CAACM,sBAAsB,CAAC;AAAE5C,YAAAA,UAAU,EAAVA,UAAAA;AAAY,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAA7D0C,OAAO,GAAA1V,SAAA,CAAAC,IAAA,CAAA;UAAA,OAAAD,SAAA,CAAAT,MAAA,CAAA,QAAA,EACN4R,CAAC,CAACiB,IAAI,CAACsD,OAAO,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA1V,UAAAA,SAAA,CAAAhB,IAAA,GAAA,EAAA,CAAA;UAAAgB,SAAA,CAAAE,EAAA,GAAAF,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAT,MAAA,CAEfkR,QAAAA,EAAAA,WAAW,CAAAzQ,SAAA,CAAAE,EAAA,EAAQ,uBAAuB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAF,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAM,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAErD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAA0V,kBAAA,CAAA9V,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBkW,SAAAA,oBAAoBA,CAAAnV,GAAA,EAAA;AAAA,EAAA,OAAAoV,qBAAA,CAAApW,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAmBzC,SAAAmW,qBAAA,GAAA;EAAAA,qBAAA,GAAA1X,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAnBM,SAAAiC,QAAAA,CAAoC4Q,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAvC,QAAA,EAAAgD,MAAA,CAAA;AAAA,IAAA,OAAA1X,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAwB,UAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;AAE3CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;UACtBvC,QAAQ,GAAG5B,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,UAAU,CAAC,CAAA;AAAA,UAAA,IAEnC6C,MAAM,EAAA;AAAA7U,YAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAxM,UAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;UAAA,OAGnDqW,MAAM,CAACU,aAAa,CAAC;AAAEjD,YAAAA,QAAQ,EAARA,QAAAA;AAAU,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAjDgD,MAAM,GAAAtV,SAAA,CAAAR,IAAA,CAAA;AAAA,UAAA,IACP8V,MAAM,EAAA;AAAAtV,YAAAA,SAAA,CAAAxB,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,kBAAA;AAAoB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAAA,OAAAxM,SAAA,CAAAlB,MAAA,CAAA,QAAA,EAGxD4R,CAAC,CAACiB,IAAI,CAAC2D,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAtV,UAAAA,SAAA,CAAAzB,IAAA,GAAA,EAAA,CAAA;UAAAyB,SAAA,CAAAP,EAAA,GAAAO,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAlB,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAAhQ,SAAA,CAAAP,EAAA,EAAQ,sBAAsB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAO,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAe,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAEpD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAuV,qBAAA,CAAApW,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBsW,SAAAA,mBAAmBA,CAAAtV,GAAA,EAAA;AAAA,EAAA,OAAAuV,oBAAA,CAAAxW,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AA2BxC,SAAAuW,oBAAA,GAAA;EAAAA,oBAAA,GAAA9X,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CA3BM,SAAAuK,QAAAA,CAAmCsI,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAzC,iBAAA,EAAAC,QAAA,EAAAqD,iBAAA,EAAAtQ,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAsK,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAAnK,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAmK,UAAAA,SAAA,CAAApK,IAAA,GAAA,CAAA,CAAA;AAE1CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;AAAAlM,UAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACDkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAAS,iBAAA,GAAAzJ,SAAA,CAAAnJ,IAAA,CAAA;UAA/B6S,QAAQ,GAAAD,iBAAA,CAARC,QAAQ,CAAA;AAAA,UAAA,IAEXwC,MAAM,EAAA;AAAAlM,YAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAGxE4D,UAAAA,YAAY,CAAC;AAAEiC,YAAAA,QAAQ,EAARA,QAAAA;AAAQ,WAAE,CAAC,CAAA;AAAC,UAAA,IAEtBI,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,EAAA;AAAA1J,YAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACpB,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,6BAAA;AAA+B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAGpEkJ,UAAAA,iBAAiB,GAAGrD,QAAQ,CAACtE,GAAG,CAAC,UAAAvB,OAAO,EAAA;YAAA,OAAAL,QAAA,KACzCK,OAAO,EAAA;AACVtI,cAAAA,EAAE,EAAE2Q,MAAM,CAACc,UAAU,EAAE;AACvBC,cAAAA,SAAS,EAAEpJ,OAAO,CAACoJ,SAAS,GAAG,IAAIC,IAAI,CAACrJ,OAAO,CAACoJ,SAAS,CAAC,GAAG,IAAIC,IAAI,EAAE;AAAA,aAAA,CAAA,CAAA;AAAA,WACvE,CAAC,CAAA;AAAAlN,UAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;UAAA,OAEkBqW,MAAM,CAACiB,YAAY,CAAC;AAAEzD,YAAAA,QAAQ,EAAEqD,iBAAAA;AAAiB,WAAE,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAAnEtQ,MAAM,GAAAuD,SAAA,CAAAnJ,IAAA,CAAA;UAAA,OAAAmJ,SAAA,CAAA7J,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAuD,UAAAA,SAAA,CAAApK,IAAA,GAAA,EAAA,CAAA;UAAAoK,SAAA,CAAAlJ,EAAA,GAAAkJ,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAA7J,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAArH,SAAA,CAAAlJ,EAAA,EAAQ,uBAAuB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAkJ,SAAA,CAAA5J,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAqJ,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAErD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAqN,oBAAA,CAAAxW,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqB6W,SAAAA,uBAAuBA,CAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,wBAAA,CAAAhX,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAqB5C,SAAA+W,wBAAA,GAAA;EAAAA,wBAAA,GAAAtY,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CArBM,SAAAyN,QAAAA,CAAuCoF,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAvC,QAAA,EAAA4D,aAAA,EAAAC,SAAA,EAAAC,OAAA,EAAA9P,MAAA,EAAAgP,MAAA,EAAAlQ,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAqN,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnN,IAAA,GAAAmN,SAAA,CAAAlN,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAkN,UAAAA,SAAA,CAAAnN,IAAA,GAAA,CAAA,CAAA;AAE9CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;UACtBvC,QAAQ,GAAG5B,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,UAAU,CAAC,CAAA;UAAAkE,aAAA,GACDxF,CAAC,CAACqB,GAAG,CAACmD,KAAK,EAAE,EAA5CiB,SAAS,GAAAD,aAAA,CAATC,SAAS,EAAEC,OAAO,GAAAF,aAAA,CAAPE,OAAO,EAAE9P,MAAM,GAAA4P,aAAA,CAAN5P,MAAM,CAAA;AAAA,UAAA,IAE7BuO,MAAM,EAAA;AAAAnJ,YAAAA,SAAA,CAAAlN,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAd,UAAAA,SAAA,CAAAlN,IAAA,GAAA,CAAA,CAAA;UAAA,OAGnDqW,MAAM,CAACU,aAAa,CAAC;AAAEjD,YAAAA,QAAQ,EAARA,QAAAA;AAAU,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAjDgD,MAAM,GAAA5J,SAAA,CAAAlM,IAAA,CAAA;AAAA,UAAA,IACP8V,MAAM,EAAA;AAAA5J,YAAAA,SAAA,CAAAlN,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,kBAAA;AAAoB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAd,UAAAA,SAAA,CAAAlN,IAAA,GAAA,EAAA,CAAA;UAAA,OAG1CqW,MAAM,CAACwB,gBAAgB,CAAC;AAAE/D,YAAAA,QAAQ,EAARA,QAAQ;AAAE6D,YAAAA,SAAS,EAATA,SAAS;AAAEC,YAAAA,OAAO,EAAPA,OAAO;AAAE9P,YAAAA,MAAM,EAANA,MAAAA;AAAM,WAAE,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAAhFlB,MAAM,GAAAsG,SAAA,CAAAlM,IAAA,CAAA;UAAA,OAAAkM,SAAA,CAAA5M,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAsG,UAAAA,SAAA,CAAAnN,IAAA,GAAA,EAAA,CAAA;UAAAmN,SAAA,CAAAjM,EAAA,GAAAiM,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAA5M,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAAtE,SAAA,CAAAjM,EAAA,EAAQ,0CAA0C,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAiM,SAAA,CAAA3M,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAuM,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAExE,CAAA,CAAA,CAAA;AAAA,EAAA,OAAA2K,wBAAA,CAAAhX,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBoX,SAAAA,mBAAmBA,CAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,oBAAA,CAAAvX,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAiBxC,SAAAsX,oBAAA,GAAA;EAAAA,oBAAA,GAAA7Y,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAjBM,SAAAkO,QAAAA,CAAmC2E,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAA/B,kBAAA,EAAA2D,KAAA,EAAAC,QAAA,EAAAnE,UAAA,EAAAD,QAAA,EAAAlN,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA6N,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3N,IAAA,GAAA2N,SAAA,CAAA1N,IAAA;AAAA,QAAA,KAAA,CAAA;AAAA0N,UAAAA,SAAA,CAAA3N,IAAA,GAAA,CAAA,CAAA;AAE1CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;AAAA3I,UAAAA,SAAA,CAAA1N,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OAC4BkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAAmB,kBAAA,GAAA5G,SAAA,CAAA1M,IAAA,CAAA;UAA5DiX,KAAK,GAAA3D,kBAAA,CAAL2D,KAAK,CAAA;UAAEC,QAAQ,GAAA5D,kBAAA,CAAR4D,QAAQ,CAAA;UAAEnE,UAAU,GAAAO,kBAAA,CAAVP,UAAU,CAAA;UAAED,QAAQ,GAAAQ,kBAAA,CAARR,QAAQ,CAAA;AAAA,UAAA,IAExCuC,MAAM,EAAA;AAAA3I,YAAAA,SAAA,CAAA1N,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAGxE4D,UAAAA,YAAY,CAAC;AAAEmC,YAAAA,UAAU,EAAVA,UAAAA;AAAU,WAAE,CAAC,CAAA;AAACrG,UAAAA,SAAA,CAAA1N,IAAA,GAAA,EAAA,CAAA;UAAA,OAERqW,MAAM,CAAC8B,YAAY,CAAC;AAAEpE,YAAAA,UAAU,EAAVA,UAAU;AAAEkE,YAAAA,KAAK,EAALA,KAAK;AAAEC,YAAAA,QAAQ,EAARA,QAAQ;AAAEpE,YAAAA,QAAQ,EAARA,QAAAA;AAAQ,WAAE,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAA7ElN,MAAM,GAAA8G,SAAA,CAAA1M,IAAA,CAAA;UAAA,OAAA0M,SAAA,CAAApN,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA8G,UAAAA,SAAA,CAAA3N,IAAA,GAAA,EAAA,CAAA;UAAA2N,SAAA,CAAAzM,EAAA,GAAAyM,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAApN,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAA9D,SAAA,CAAAzM,EAAA,EAAQ,+BAA+B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAyM,SAAA,CAAAnN,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAgN,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAE7D,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAyK,oBAAA,CAAAvX,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqB0X,SAAAA,mBAAmBA,CAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,oBAAA,CAAA7X,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AA+BxC,SAAA4X,oBAAA,GAAA;EAAAA,oBAAA,GAAAnZ,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CA/BM,SAAA8R,QAAAA,CAAmCe,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAvC,QAAA,EAAAyE,kBAAA,EAAAN,KAAA,EAAAC,QAAA,EAAAnE,UAAA,EAAAyE,SAAA,EAAA1B,MAAA,EAAA2B,aAAA,EAAA7R,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA0R,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAxR,IAAA,GAAAwR,SAAA,CAAAvR,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAuR,UAAAA,SAAA,CAAAxR,IAAA,GAAA,CAAA,CAAA;AAE1CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;UACtBvC,QAAQ,GAAG5B,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,UAAU,CAAC,CAAA;AAAAjC,UAAAA,SAAA,CAAAvR,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACMkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAAoF,kBAAA,GAAAhH,SAAA,CAAAvQ,IAAA,CAAA;UAAlDiX,KAAK,GAAAM,kBAAA,CAALN,KAAK,CAAA;UAAEC,QAAQ,GAAAK,kBAAA,CAARL,QAAQ,CAAA;UAAEnE,UAAU,GAAAwE,kBAAA,CAAVxE,UAAU,CAAA;AAC7ByE,UAAAA,SAAS,GAAG,IAAInB,IAAI,EAAE,CAAA;AAAA,UAAA,IAEvBhB,MAAM,EAAA;AAAA9E,YAAAA,SAAA,CAAAvR,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAuD,UAAAA,SAAA,CAAAvR,IAAA,GAAA,EAAA,CAAA;UAAA,OAGnDqW,MAAM,CAACU,aAAa,CAAC;AAAEjD,YAAAA,QAAQ,EAARA,QAAAA;AAAU,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAAjDgD,MAAM,GAAAvF,SAAA,CAAAvQ,IAAA,CAAA;AAAA,UAAA,IACP8V,MAAM,EAAA;AAAAvF,YAAAA,SAAA,CAAAvR,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,kBAAA;AAAoB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAGzDyK,aAAa,GAAA9K,QAAA,CAAA,EAAA,EACdmJ,MAAM,EAAA;AACTmB,YAAAA,KAAK,EAAEA,KAAK,IAAInB,MAAM,CAACmB,KAAK;AAC5BC,YAAAA,QAAQ,EAAEA,QAAQ,IAAIpB,MAAM,CAACoB,QAAQ;AACrCnE,YAAAA,UAAU,EAAEA,UAAU,IAAI+C,MAAM,CAAC/C,UAAU;YAC3CqD,SAAS,EAAEN,MAAM,CAAC4B,SAAS;AAC3BF,YAAAA,SAAS,EAATA,SAAAA;AAAS,WAAA,CAAA,CAAA;AAAAjH,UAAAA,SAAA,CAAAvR,IAAA,GAAA,EAAA,CAAA;UAAA,OAGUqW,MAAM,CAACsC,UAAU,CAAC;AAAE7B,YAAAA,MAAM,EAAE2B,aAAAA;AAAa,WAAE,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAA3D7R,MAAM,GAAA2K,SAAA,CAAAvQ,IAAA,CAAA;UAAA,OAAAuQ,SAAA,CAAAjR,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA2K,UAAAA,SAAA,CAAAxR,IAAA,GAAA,EAAA,CAAA;UAAAwR,SAAA,CAAAtQ,EAAA,GAAAsQ,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAjR,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAAD,SAAA,CAAAtQ,EAAA,EAAQ,uBAAuB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAsQ,SAAA,CAAAhR,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAA4Q,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAErD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAmH,oBAAA,CAAA7X,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBkY,SAAAA,mBAAmBA,CAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,oBAAA,CAAArY,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAoBxC,SAAAoY,oBAAA,GAAA;EAAAA,oBAAA,GAAA3Z,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CApBM,SAAA0Z,QAAAA,CAAmC7G,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAvC,QAAA,EAAAgD,MAAA,CAAA;AAAA,IAAA,OAAA1X,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAoZ,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAlZ,IAAA,GAAAkZ,SAAA,CAAAjZ,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAiZ,UAAAA,SAAA,CAAAlZ,IAAA,GAAA,CAAA,CAAA;AAE1CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;UACtBvC,QAAQ,GAAG5B,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,UAAU,CAAC,CAAA;AAAA,UAAA,IAEnC6C,MAAM,EAAA;AAAA4C,YAAAA,SAAA,CAAAjZ,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAiL,UAAAA,SAAA,CAAAjZ,IAAA,GAAA,CAAA,CAAA;UAAA,OAGnDqW,MAAM,CAACU,aAAa,CAAC;AAAEjD,YAAAA,QAAQ,EAARA,QAAAA;AAAU,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAjDgD,MAAM,GAAAmC,SAAA,CAAAjY,IAAA,CAAA;AAAA,UAAA,IACP8V,MAAM,EAAA;AAAAmC,YAAAA,SAAA,CAAAjZ,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,kBAAA;AAAoB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAiL,UAAAA,SAAA,CAAAjZ,IAAA,GAAA,EAAA,CAAA;AAAA,UAAA,OAGzDqW,MAAM,CAAC6C,YAAY,CAACpF,QAAQ,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA,UAAA,OAAAmF,SAAA,CAAA3Y,MAAA,WAC5B4R,CAAC,CAACiB,IAAI,CAAC;AAAEvM,YAAAA,MAAM,EAAE,gBAAA;AAAkB,WAAA,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAqS,UAAAA,SAAA,CAAAlZ,IAAA,GAAA,EAAA,CAAA;UAAAkZ,SAAA,CAAAhY,EAAA,GAAAgY,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAA3Y,MAAA,CAEpCkR,QAAAA,EAAAA,WAAW,CAAAyH,SAAA,CAAAhY,EAAA,EAAQ,uBAAuB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAgY,SAAA,CAAA1Y,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAwY,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAErD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAD,oBAAA,CAAArY,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqByY,SAAAA,kBAAkBA,CAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,mBAAA,CAAA5Y,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAoBvC,SAAA2Y,mBAAA,GAAA;EAAAA,mBAAA,GAAAla,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CApBM,SAAAia,QAAAA,CAAkCpH,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAvC,QAAA,EAAAgD,MAAA,EAAAlQ,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2Z,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzZ,IAAA,GAAAyZ,SAAA,CAAAxZ,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAwZ,UAAAA,SAAA,CAAAzZ,IAAA,GAAA,CAAA,CAAA;AAEzCoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;UACtBvC,QAAQ,GAAG5B,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,UAAU,CAAC,CAAA;AAAA,UAAA,IAEnC6C,MAAM,EAAA;AAAAmD,YAAAA,SAAA,CAAAxZ,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,OAAAwZ,SAAA,CAAAlZ,MAAA,WACF4R,CAAC,CAACiB,IAAI,CAAC;AAAEjS,YAAAA,KAAK,EAAE,2BAAA;WAA6B,EAAE,GAAG,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAsY,UAAAA,SAAA,CAAAxZ,IAAA,GAAA,CAAA,CAAA;UAAA,OAGvCqW,MAAM,CAACU,aAAa,CAAC;AAAEjD,YAAAA,QAAQ,EAARA,QAAAA;AAAU,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAjDgD,MAAM,GAAA0C,SAAA,CAAAxY,IAAA,CAAA;AAAA,UAAA,IACP8V,MAAM,EAAA;AAAA0C,YAAAA,SAAA,CAAAxZ,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,OAAAwZ,SAAA,CAAAlZ,MAAA,WACF4R,CAAC,CAACiB,IAAI,CAAC;AAAEjS,YAAAA,KAAK,EAAE,kBAAA;WAAoB,EAAE,GAAG,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAsY,UAAAA,SAAA,CAAAxZ,IAAA,GAAA,EAAA,CAAA;UAAA,OAG9BqW,MAAM,CAACoD,WAAW,CAAC;AAAE3F,YAAAA,QAAQ,EAARA,QAAAA;AAAU,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAA/ClN,MAAM,GAAA4S,SAAA,CAAAxY,IAAA,CAAA;UAAA,OAAAwY,SAAA,CAAAlZ,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA4S,UAAAA,SAAA,CAAAzZ,IAAA,GAAA,EAAA,CAAA;UAAAyZ,SAAA,CAAAvY,EAAA,GAAAuY,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAlZ,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAAgI,SAAA,CAAAvY,EAAA,EAAQ,wBAAwB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAuY,SAAA,CAAAjZ,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAA+Y,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAEtD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAD,mBAAA,CAAA5Y,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;AC7MD;AACsBgZ,SAAAA,WAAWA,CAAAlZ,EAAA,EAAA;AAAA,EAAA,OAAAmZ,YAAA,CAAAlZ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEhC,SAAAiZ,YAAA,GAAA;EAAAA,YAAA,GAAAxa,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAFM,SAAAC,OAAAA,CAA2B4S,CAAU,EAAA;AAAA,IAAA,OAAA9S,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;UAAA,OAAAF,QAAA,CAAAQ,MAAA,CAAA,QAAA,EACnC4R,CAAC,CAAC0H,IAAI,CAAC,0BAA0B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAA9Z,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAjB,OAAA,CAAA,CAAA;GAC1C,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAqa,YAAA,CAAAlZ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;ACAqBmZ,SAAAA,kBAAkBA,CAAArZ,EAAA,EAAA;AAAA,EAAA,OAAAsZ,mBAAA,CAAArZ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAavC,SAAAoZ,mBAAA,GAAA;EAAAA,mBAAA,GAAA3a,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAbM,SAAAC,OAAAA,CAAkC4S,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAA4H,MAAA,EAAAnG,iBAAA,EAAAqC,KAAA,EAAA+D,UAAA,EAAApT,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAF,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAEzCoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxByH,MAAM,GAAG7H,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAAA1T,UAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACQkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAAS,iBAAA,GAAA9T,QAAA,CAAAkB,IAAA,CAAA;UAAhDiV,KAAK,GAAArC,iBAAA,CAALqC,KAAK,CAAA;UAAU+D,UAAU,GAAApG,iBAAA,CAAlBqG,MAAM,CAAA;AAErBrI,UAAAA,YAAY,CAAC;AAAEqI,YAAAA,MAAM,EAAED,UAAAA;AAAU,WAAE,CAAC,CAAA;AAACla,UAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;UAAA,OAEhBmS,MAAM,CAAC+H,IAAI,CAACH,MAAM,EAAEC,UAAU,EAAE/D,KAAK,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAArDrP,MAAM,GAAA9G,QAAA,CAAAkB,IAAA,CAAA;UAAA,OAAAlB,QAAA,CAAAQ,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA9G,UAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;UAAAD,QAAA,CAAAmB,EAAA,GAAAnB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,QAAA,CAAAQ,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAA1R,QAAA,CAAAmB,EAAA,EAAQ,sBAAsB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAnB,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAjB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAEpD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAwa,mBAAA,CAAArZ,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;ACTD;AACsByZ,SAAAA,eAAeA,CAAA3Z,EAAA,EAAA;AAAA,EAAA,OAAA4Z,gBAAA,CAAA3Z,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAyBpC,SAAA0Z,gBAAA,GAAA;EAAAA,gBAAA,GAAAjb,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAzBM,SAAAwB,QAAAA,CAA+BqR,CAAU,EAAA;IAAA,IAAAU,KAAA,EAAAyH,eAAA,CAAA;AAAA,IAAA,OAAAjb,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAe,UAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;AAEtC6S,UAAAA,KAAK,GAAGV,CAAC,CAACI,GAAG,CAAC,OAAO,CAAC,CAAA;AAAA,UAAA,IAEvBM,KAAK,EAAA;AAAA7R,YAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;UAAA,OAAAe,SAAA,CAAAT,MAAA,CACD4R,QAAAA,EAAAA,CAAC,CAACiB,IAAI,CAAC,EAAE,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAGbkH,UAAAA,eAAe,GAAG3L,MAAM,CAACC,OAAO,CAACiE,KAAK,CAAC,CAAC/D,MAAM,CAClD,UAACC,GAAG,EAAAvP,KAAA,EAAiB;YAAA,IAAdmG,EAAE,GAAAnG,KAAA,CAAA,CAAA,CAAA;AAAEuT,cAAAA,KAAK,GAAAvT,KAAA,CAAA,CAAA,CAAA,CAAA;YACd,IAAMsT,IAAI,GAAGC,KAAY,CAAA;AACzBhE,YAAAA,GAAG,CAACpJ,EAAE,CAAC,GAAAiI,QAAA,KACFkF,IAAI,EAAA;AACPE,cAAAA,WAAW,EAAEF,IAAI,CAACE,WAAW,GAAG1J,mBAAS,CAAC2J,eAAe,CAACH,IAAI,CAACE,WAAW,CAAC,CAAC,GAAGE,SAAS;AACxFC,cAAAA,YAAY,EAAEL,IAAI,CAACK,YAAY,GAAG7J,mBAAS,CAAC2J,eAAe,CAACH,IAAI,CAACK,YAAY,CAAC,CAAC,GAAGD,SAAAA;aACnF,CAAA,CAAA;AACD,YAAA,OAAOnE,GAAG,CAAA;WACX,EACD,EAAyB,CAC1B,CAAA;UAAA,OAAA/N,SAAA,CAAAT,MAAA,CAAA,QAAA,EAEM4R,CAAC,CAACiB,IAAI,CAACkH,eAAe,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAtZ,UAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;UAAAgB,SAAA,CAAAE,EAAA,GAAAF,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAT,MAAA,CAEvBkR,QAAAA,EAAAA,WAAW,CAAAzQ,SAAA,CAAAE,EAAA,EAAQ,qBAAqB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAF,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAM,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAEnD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAuZ,gBAAA,CAAA3Z,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqB4Z,SAAAA,kBAAkBA,CAAAnZ,GAAA,EAAA;AAAA,EAAA,OAAAoZ,mBAAA,CAAA9Z,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAoBvC,SAAA6Z,mBAAA,GAAA;EAAAA,mBAAA,GAAApb,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CApBM,SAAAiC,QAAAA,CAAkC4Q,CAAU,EAAA;AAAA,IAAA,IAAAU,KAAA,EAAA4H,MAAA,EAAA3H,IAAA,EAAA4H,cAAA,CAAA;AAAA,IAAA,OAAArb,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAwB,UAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;AAEzC6S,UAAAA,KAAK,GAAGV,CAAC,CAACI,GAAG,CAAC,OAAO,CAAC,CAAA;UACtBkI,MAAM,GAAGtI,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC9BX,UAAAA,IAAI,GAAGnE,MAAM,CAACgM,MAAM,CAAC9H,KAAK,IAAI,EAAE,CAAC,CAAC+H,IAAI,CAAC,UAAC9H,IAAS,EAAA;AAAA,YAAA,OAAKA,IAAI,CAACnN,EAAE,KAAK8U,MAAM,CAAA;WAAQ,CAAA,CAAA;AAAA,UAAA,IAEjF3H,IAAI,EAAA;AAAArR,YAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACD,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,gBAAA;AAAkB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAGvDyM,cAAc,GAAA9M,QAAA,CAAA,EAAA,EACfkF,IAAI,EAAA;AACPE,YAAAA,WAAW,EAAEF,IAAI,CAACE,WAAW,GAAG1J,mBAAS,CAAC2J,eAAe,CAACH,IAAI,CAACE,WAAW,CAAC,CAAC,GAAGE,SAAS;AACxFC,YAAAA,YAAY,EAAEL,IAAI,CAACK,YAAY,GAAG7J,mBAAS,CAAC2J,eAAe,CAACH,IAAI,CAACK,YAAY,CAAC,CAAC,GAAGD,SAAAA;AAAS,WAAA,CAAA,CAAA;UAAA,OAAAzR,SAAA,CAAAlB,MAAA,CAAA,QAAA,EAGtF4R,CAAC,CAACiB,IAAI,CAACsH,cAAc,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAjZ,UAAAA,SAAA,CAAAzB,IAAA,GAAA,EAAA,CAAA;UAAAyB,SAAA,CAAAP,EAAA,GAAAO,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAlB,MAAA,CAEtBkR,QAAAA,EAAAA,WAAW,CAAAhQ,SAAA,CAAAP,EAAA,EAAQ,oBAAoB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAO,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAe,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAElD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAiZ,mBAAA,CAAA9Z,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBka,SAAAA,oBAAoBA,CAAAnZ,GAAA,EAAA;AAAA,EAAA,OAAAoZ,qBAAA,CAAApa,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAuBzC,SAAAma,qBAAA,GAAA;EAAAA,qBAAA,GAAA1b,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAvBM,SAAAuK,QAAAA,CAAoCsI,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAvC,QAAA,EAAAQ,kBAAA,EAAAwG,QAAA,EAAAC,QAAA,EAAAjE,MAAA,EAAAlQ,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAsK,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAAnK,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAmK,UAAAA,SAAA,CAAApK,IAAA,GAAA,CAAA,CAAA;AAE3CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;UACtBvC,QAAQ,GAAG5B,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,UAAU,CAAC,CAAA;AAAArJ,UAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACHkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAAmB,kBAAA,GAAAnK,SAAA,CAAAnJ,IAAA,CAAA;UAAzC8Z,QAAQ,GAAAxG,kBAAA,CAARwG,QAAQ,CAAA;UAAEC,QAAQ,GAAAzG,kBAAA,CAARyG,QAAQ,CAAA;AAAA,UAAA,IAErB1E,MAAM,EAAA;AAAAlM,YAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAGxE4D,UAAAA,YAAY,CAAC;AAAEkJ,YAAAA,QAAQ,EAARA,QAAQ;AAAEC,YAAAA,QAAQ,EAARA,QAAAA;AAAQ,WAAE,CAAC,CAAA;AAAC5Q,UAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;UAAA,OAEhBqW,MAAM,CAACU,aAAa,CAAC;AAAEjD,YAAAA,QAAQ,EAARA,QAAAA;AAAU,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAAjDgD,MAAM,GAAA3M,SAAA,CAAAnJ,IAAA,CAAA;AAAA,UAAA,IACP8V,MAAM,EAAA;AAAA3M,YAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,kBAAA;AAAoB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA7D,UAAAA,SAAA,CAAAnK,IAAA,GAAA,EAAA,CAAA;UAAA,OAG1CqW,MAAM,CAAC2E,aAAa,CAAC;AAAElH,YAAAA,QAAQ,EAARA,QAAQ;AAAEgH,YAAAA,QAAQ,EAARA,QAAQ;AAAEC,YAAAA,QAAQ,EAARA,QAAAA;AAAQ,WAAE,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAArEnU,MAAM,GAAAuD,SAAA,CAAAnJ,IAAA,CAAA;UAAA,OAAAmJ,SAAA,CAAA7J,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAuD,UAAAA,SAAA,CAAApK,IAAA,GAAA,EAAA,CAAA;UAAAoK,SAAA,CAAAlJ,EAAA,GAAAkJ,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAA7J,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAArH,SAAA,CAAAlJ,EAAA,EAAQ,2BAA2B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAkJ,SAAA,CAAA5J,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAqJ,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAEzD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAiR,qBAAA,CAAApa,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBua,SAAAA,2BAA2BA,CAAAvZ,GAAA,EAAA;AAAA,EAAA,OAAAwZ,4BAAA,CAAAza,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAiBhD,SAAAwa,4BAAA,GAAA;EAAAA,4BAAA,GAAA/b,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAjBM,SAAAyN,QAAAA,CAA2CoF,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAAkE,MAAA,EAAAkC,kBAAA,EAAA4C,UAAA,EAAAvU,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAqN,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnN,IAAA,GAAAmN,SAAA,CAAAlN,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAkN,UAAAA,SAAA,CAAAnN,IAAA,GAAA,CAAA,CAAA;AAElDoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB+D,MAAM,GAAGlE,MAAM,CAACkE,MAAM,CAAA;AAAAnJ,UAAAA,SAAA,CAAAlN,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACCkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAAoF,kBAAA,GAAArL,SAAA,CAAAlM,IAAA,CAAA;UAAjCma,UAAU,GAAA5C,kBAAA,CAAV4C,UAAU,CAAA;AAAA,UAAA,IAEb9E,MAAM,EAAA;AAAAnJ,YAAAA,SAAA,CAAAlN,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACH,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,2BAAA;AAA6B,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAGxE4D,UAAAA,YAAY,CAAC;AAAEuJ,YAAAA,UAAU,EAAVA,UAAAA;AAAU,WAAE,CAAC,CAAA;AAACjO,UAAAA,SAAA,CAAAlN,IAAA,GAAA,EAAA,CAAA;UAAA,OAERqW,MAAM,CAAC+E,oBAAoB,CAAC;AAAED,YAAAA,UAAU,EAAVA,UAAAA;AAAY,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UAA1DvU,MAAM,GAAAsG,SAAA,CAAAlM,IAAA,CAAA;UAAA,OAAAkM,SAAA,CAAA5M,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAsG,UAAAA,SAAA,CAAAnN,IAAA,GAAA,EAAA,CAAA;UAAAmN,SAAA,CAAAjM,EAAA,GAAAiM,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAA5M,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAAtE,SAAA,CAAAjM,EAAA,EAAQ,iCAAiC,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAiM,SAAA,CAAA3M,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAuM,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAE/D,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAoO,4BAAA,CAAAza,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEK,SAAU2a,kBAAkBA,CAACzI,KAA0B,EAAA;AAC3D,EAAA,oBAAA,YAAA;IAAA,IAAA5T,IAAA,GAAAG,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAO,SAAAC,OAAAA,CAAO4S,CAAU,EAAA;MAAA,IAAAsI,MAAA,EAAA3H,IAAA,EAAAe,iBAAA,EAAA0H,KAAA,EAAAnJ,MAAA,EAAAvL,MAAA,CAAA;AAAA,MAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;YAEdya,MAAM,GAAGe,kBAAkB,CAACrJ,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClDX,YAAAA,IAAI,GAAGnE,MAAM,CAACgM,MAAM,CAAC9H,KAAK,IAAI,EAAE,CAAC,CAAC+H,IAAI,CAAC,UAAC9H,IAAS,EAAA;AAAA,cAAA,OAAKA,IAAI,CAACnN,EAAE,KAAK8U,MAAM,CAAA;aAAQ,CAAA,CAAA;AAAA,YAAA,IAEjF3H,IAAI,EAAA;AAAA/S,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AAAA,YAAA,OAAAF,QAAA,CAAAQ,MAAA,WACA4R,CAAC,CAACiB,IAAI,CAAC;AAAEjS,cAAAA,KAAK,EAAE,gBAAA;aAAkB,EAAE,GAAG,CAAC,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAApB,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAGzBkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,UAAA,KAAA,CAAA;YAAAS,iBAAA,GAAA9T,QAAA,CAAAkB,IAAA,CAAA;YAA5Bsa,KAAK,GAAA1H,iBAAA,CAAL0H,KAAK,CAAA;AACPnJ,YAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;AAAAxS,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;YAAA,OACT6S,IAAI,CAAClN,OAAO,CAAC;AAChCS,cAAAA,OAAO,EAAAuH,QAAA,CACF2N,EAAAA,EAAAA,KAAK,CACT;AACDnJ,cAAAA,MAAM,EAANA,MAAM;cACN8D,KAAK,EAAE9D,MAAM,CAAC8D,KAAAA;AACf,aAAA,CAAC,CAAA;AAAA,UAAA,KAAA,EAAA;YANIrP,MAAM,GAAA9G,QAAA,CAAAkB,IAAA,CAAA;YAAA,OAAAlB,QAAA,CAAAQ,MAAA,CAAA,QAAA,EAQL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA;AAAA9G,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;YAAAD,QAAA,CAAAmB,EAAA,GAAAnB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAA,OAAAA,QAAA,CAAAQ,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAA1R,QAAA,CAAAmB,EAAA,EAAQ,sBAAsB,CAAC,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAnB,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAjB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAEpD,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,UAAAkY,GAAA,EAAA;AAAA,MAAA,OAAAxY,IAAA,CAAAyB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAAA,CAAA;AACH,CAAA;AAEsB8a,SAAAA,uBAAuBA,CAAAzD,GAAA,EAAA;AAAA,EAAA,OAAA0D,wBAAA,CAAAhb,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAyB5C,SAAA+a,wBAAA,GAAA;EAAAA,wBAAA,GAAAtc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAzBM,SAAAkO,QAAAA,CAAuC2E,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAAmB,OAAA,EAAAkH,MAAA,EAAA9H,KAAA,EAAAG,IAAA,EAAAhB,IAAA,EAAAjL,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA6N,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3N,IAAA,GAAA2N,SAAA,CAAA1N,IAAA;AAAA,QAAA,KAAA,CAAA;AAAA0N,UAAAA,SAAA,CAAA3N,IAAA,GAAA,CAAA,CAAA;AAE9CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxBgB,OAAO,GAAGpB,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,SAAS,CAAC,CAAA;UAChCgH,MAAM,GAAGtI,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC9Bd,UAAAA,KAAK,GAAGP,MAAM,CAACsB,QAAQ,CAACH,OAAO,CAAC,CAAA;AAChCT,UAAAA,IAAI,GAAGnE,MAAM,CAACgM,MAAM,CAAC,CAAAhI,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEE,KAAK,KAAI,EAAE,CAAC,CAAC+H,IAAI,CAAC,UAAC9H,IAAS,EAAA;AAAA,YAAA,OAAKA,IAAI,CAACnN,EAAE,KAAK8U,MAAM,CAAA;WAAQ,CAAA,CAAA;AAAA,UAAA,IAExF3H,IAAI,EAAA;AAAAnF,YAAAA,SAAA,CAAA1N,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAA,UAAA,MACD,IAAI2R,2BAAa,CAAC,GAAG,EAAE;AAAE3D,YAAAA,OAAO,EAAE,gBAAA;AAAkB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAN,UAAAA,SAAA,CAAA1N,IAAA,GAAA,EAAA,CAAA;AAAA,UAAA,OAG1CkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,EAAA;UAAzBtB,IAAI,GAAAnE,SAAA,CAAA1M,IAAA,CAAA;AAAA0M,UAAAA,SAAA,CAAA1N,IAAA,GAAA,EAAA,CAAA;UAAA,OACW6S,IAAI,CAAClN,OAAO,CAAC;AAChCS,YAAAA,OAAO,EAAAuH,QAAA,CACFkE,EAAAA,EAAAA,IAAI,CACR;AACDM,YAAAA,MAAM,EAANA,MAAM;AACN8D,YAAAA,KAAK,EAAE3C,OAAAA;AACR,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,EAAA;UANI1M,MAAM,GAAA8G,SAAA,CAAA1M,IAAA,CAAA;UAAA,OAAA0M,SAAA,CAAApN,MAAA,CAAA,QAAA,EAQL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA8G,UAAAA,SAAA,CAAA3N,IAAA,GAAA,EAAA,CAAA;UAAA2N,SAAA,CAAAzM,EAAA,GAAAyM,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAApN,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAA9D,SAAA,CAAAzM,EAAA,EAAQ,sBAAsB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAyM,SAAA,CAAAnN,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAgN,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAEpD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAkO,wBAAA,CAAAhb,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;ACrJqBgb,SAAAA,mBAAmBA,CAAAlb,EAAA,EAAA;AAAA,EAAA,OAAAmb,oBAAA,CAAAlb,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAQxC,SAAAib,oBAAA,GAAA;EAAAA,oBAAA,GAAAxc,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CARM,SAAAC,OAAAA,CAAmC4S,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAAyJ,SAAA,CAAA;AAAA,IAAA,OAAAxc,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAF,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAE1CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;AACxBsJ,UAAAA,SAAS,GAAGzJ,MAAM,CAAC0J,YAAY,CAAC;AAAEC,YAAAA,UAAU,EAAE,IAAA;AAAM,WAAA,CAAC,CAAA;UAAA,OAAAhc,QAAA,CAAAQ,MAAA,CAAA,QAAA,EACpD4R,CAAC,CAACiB,IAAI,CAACyI,SAAS,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA9b,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;UAAAD,QAAA,CAAAmB,EAAA,GAAAnB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,QAAA,CAAAQ,MAAA,CAEjBkR,QAAAA,EAAAA,WAAW,CAAA1R,QAAA,CAAAmB,EAAA,EAAQ,yBAAyB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAnB,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAjB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAEvD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAqc,oBAAA,CAAAlb,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqBqb,SAAAA,sBAAsBA,CAAA5a,GAAA,EAAA;AAAA,EAAA,OAAA6a,uBAAA,CAAAvb,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AA6B3C,SAAAsb,uBAAA,GAAA;EAAAA,uBAAA,GAAA7c,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CA7BM,SAAAwB,QAAAA,CAAsCqR,CAAU,EAAA;AAAA,IAAA,IAAAC,MAAA,EAAA8J,UAAA,EAAAC,QAAA,EAAArX,aAAA,EAAAsX,SAAA,EAAAC,mBAAA,EAAAC,eAAA,CAAA;AAAA,IAAA,OAAAjd,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAe,UAAAA,SAAA,CAAAhB,IAAA,GAAA,CAAA,CAAA;AAE7CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB2J,UAAU,GAAG/J,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,YAAY,CAAC,CAAA;AACtC0I,UAAAA,QAAQ,GAAG/J,MAAM,CAACmK,WAAW,CAACL,UAAU,CAAC,CAAA;UAEzCpX,aAAa,GAAGqX,QAAQ,CAACrX,aAAa,CAAA;UACtCsX,SAAS,GAAGD,QAAQ,CAACC,SAAS,CAAA;UAC9BC,mBAAmB,GAAGF,QAAQ,CAACE,mBAAmB,CAAA;AAClDC,UAAAA,eAAe,GAAG3N,MAAM,CAACC,OAAO,CAACuN,QAAQ,CAACK,KAAK,CAAC,CAAC1N,MAAM,CAAM,UAACC,GAAG,EAAA9P,IAAA,EAAiB;YAAA,IAAdQ,GAAG,GAAAR,IAAA,CAAA,CAAA,CAAA;AAAEwK,cAAAA,IAAI,GAAAxK,IAAA,CAAA,CAAA,CAAA,CAAA;YACjF,IAAMyE,KAAK,GAAG+F,IAAW,CAAA;AACzBsF,YAAAA,GAAG,CAACtP,GAAG,CAAC,GAAAmO,QAAA,KACHlK,KAAK,EAAA;AACRsP,cAAAA,WAAW,EAAEtP,KAAK,CAACsP,WAAW,GAAG1J,mBAAS,CAAC2J,eAAe,CAACvP,KAAK,CAACsP,WAAW,CAAC,CAAC,GAAGE,SAAS;AAC1FC,cAAAA,YAAY,EAAEzP,KAAK,CAACyP,YAAY,GAAG7J,mBAAS,CAAC2J,eAAe,CAACvP,KAAK,CAACyP,YAAY,CAAC,CAAC,GAAGD,SAAAA;aACrF,CAAA,CAAA;AACD,YAAA,OAAOnE,GAAG,CAAA;WACX,EAAE,EAAE,CAAC,CAAA;AAAA,UAAA,OAAA/N,SAAA,CAAAT,MAAA,WAEC4R,CAAC,CAACiB,IAAI,CAAC;YACZvO,IAAI,EAAEsX,QAAQ,CAACtX,IAAI;YACnBC,aAAa,EAAEA,aAAa,GAAGwE,mBAAS,CAAC2J,eAAe,CAACnO,aAAa,CAAC,CAAC,GAAGoO,SAAS;AACpFsJ,YAAAA,KAAK,EAAEF,eAAe;AACtBF,YAAAA,SAAS,EAATA,SAAS;AACTC,YAAAA,mBAAmB,EAAnBA,mBAAAA;AACD,WAAA,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAArb,UAAAA,SAAA,CAAAhB,IAAA,GAAA,EAAA,CAAA;UAAAgB,SAAA,CAAAE,EAAA,GAAAF,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAT,MAAA,CAEKkR,QAAAA,EAAAA,WAAW,CAAAzQ,SAAA,CAAAE,EAAA,EAAQ,wBAAwB,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAF,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAM,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAEtD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAmb,uBAAA,CAAAvb,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAEqB8b,SAAAA,sBAAsBA,CAAA/a,GAAA,EAAA;AAAA,EAAA,OAAAgb,uBAAA,CAAAhc,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAY3C,SAAA+b,uBAAA,GAAA;EAAAA,uBAAA,GAAAtd,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAZM,SAAAiC,QAAAA,CAAsC4Q,CAAU,EAAA;IAAA,IAAAC,MAAA,EAAA8J,UAAA,EAAAC,QAAA,EAAArK,IAAA,EAAAjL,MAAA,CAAA;AAAA,IAAA,OAAAxH,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAwB,UAAAA,SAAA,CAAAzB,IAAA,GAAA,CAAA,CAAA;AAE7CoS,UAAAA,MAAM,GAAGD,CAAC,CAACI,GAAG,CAAC,QAAQ,CAAC,CAAA;UACxB2J,UAAU,GAAG/J,CAAC,CAACqB,GAAG,CAACC,KAAK,CAAC,YAAY,CAAC,CAAA;AACtC0I,UAAAA,QAAQ,GAAG/J,MAAM,CAACmK,WAAW,CAACL,UAAU,CAAC,CAAA;AAAAza,UAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OAC5BkS,CAAC,CAACqB,GAAG,CAACJ,IAAI,EAAE,CAAA;AAAA,QAAA,KAAA,CAAA;UAAzBtB,IAAI,GAAArQ,SAAA,CAAAR,IAAA,CAAA;AAAAQ,UAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OAEWkc,QAAQ,CAACvW,OAAO,CAACkM,IAAI,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAArCjL,MAAM,GAAApF,SAAA,CAAAR,IAAA,CAAA;UAAA,OAAAQ,SAAA,CAAAlB,MAAA,CAAA,QAAA,EACL4R,CAAC,CAACiB,IAAI,CAACvM,MAAM,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAApF,UAAAA,SAAA,CAAAzB,IAAA,GAAA,EAAA,CAAA;UAAAyB,SAAA,CAAAP,EAAA,GAAAO,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,SAAA,CAAAlB,MAAA,CAEdkR,QAAAA,EAAAA,WAAW,CAAAhQ,SAAA,CAAAP,EAAA,EAAQ,0BAA0B,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAO,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAe,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAExD,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAmb,uBAAA,CAAAhc,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;AC3DM,IAAMgc,IAAI,GAwGhB,8iFAAA;;AC1DD,SAAsBC,gBAAgBA,CAAAnc,EAAA,EAAAW,GAAA,EAAA;AAAA,EAAA,OAAAyb,iBAAA,CAAAnc,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AA2HrC,SAAAkc,iBAAA,GAAA;EAAAA,iBAAA,GAAAzd,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CA3HM,SAAAyN,QAAAA,CAAgCqF,MAAc,EAAE0K;;;;;;cAAAA;YAAAA,UAAoC,EAAE,CAAA;AAAA,WAAA;AAC3F;AACMC,UAAAA,GAAG,GAAG,IAAIC,SAAI,EAAgD,CAEpE;AACMC,UAAAA,gBAAgB,GAAG9Z,OAAO,CAAC+Z,GAAG,CAACC,iBAAiB,CAAA;AAAA,UAAA,IAAA,CAClCF,gBAAgB,EAAA;AAAA9P,YAAAA,SAAA,CAAAlN,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,MAAA;AAAA,WAAA;AAAAkN,UAAAA,SAAA,CAAAlN,IAAA,GAAA,CAAA,CAAA;UAAA,OAC1BvB,OAAO,CAAC8M,GAAG,CACfyR,gBAAgB,CAAChN,KAAK,CAAC,GAAG,CAAC,CAACT,GAAG,cAAA,YAAA;YAAA,IAAAvQ,IAAA,GAAAG,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAC,SAAAC,OAAAA,CAAM6d,QAAQ,EAAA;AAAA,cAAA,OAAA/d,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,gBAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,kBAAA,KAAA,CAAA;AAAA,oBAAA,OAAAF,QAAA,CAAAQ,MAAA,CAAA,QAAA,EACrC,OAAO8c,iBAAa,CAACD,QAAQ,CAAC,CAACE,IAAI,CAAC,CAAA,CAAA;AAAA,kBAAA,KAAA,CAAA,CAAA;AAAA,kBAAA,KAAA,KAAA;oBAAA,OAAAvd,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,iBAAA;AAAA,eAAA,EAAAjB,OAAA,CAAA,CAAA;aAC5C,CAAA,CAAA,CAAA;AAAA,YAAA,OAAA,UAAAkY,GAAA,EAAA;AAAA,cAAA,OAAAxY,IAAA,CAAAyB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,aAAA,CAAA;AAAA,WAAA,EAAA,CAAC,CACH,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAwM,UAAAA,SAAA,CAAAjM,EAAA,GAAAiM,SAAA,CAAAlM,IAAA,CAAA;AAAAkM,UAAAA,SAAA,CAAAlN,IAAA,GAAA,EAAA,CAAA;AAAA,UAAA,MAAA;AAAA,QAAA,KAAA,CAAA;UAAAkN,SAAA,CAAAjM,EAAA,GACD,EAAE,CAAA;AAAA,QAAA,KAAA,EAAA;UANAqc,WAAW,GAAApQ,SAAA,CAAAjM,EAAA,CAAA;UAQX2R,KAAK,GAAG0K,WAAW,CAACzO,MAAM,CAAC,UAACC,GAAG,EAAEyO,UAAU,EAAI;YACnD7O,MAAM,CAACC,OAAO,CAAC4O,UAAU,CAAC,CAACvZ,OAAO,CAAC,UAAAzE,KAAA,EAAgB;cAAA,IAAdC,GAAG,GAAAD,KAAA,CAAA,CAAA,CAAA;AAAEsT,gBAAAA,IAAI,GAAAtT,KAAA,CAAA,CAAA,CAAA,CAAA;AAC5CuP,cAAAA,GAAG,CAACtP,GAAG,CAAC,GAAGqT,IAAI,CAAA;AACjB,aAAC,CAAC,CAAA;AACF,YAAA,OAAO/D,GAAG,CAAA;AACZ,WAAC,EAAE,EAAE,CAAC,CAEN;UACAgO,GAAG,CAACU,GAAG,CAAC,GAAG,EAAEC,SAAI,EAAE,CAAC,CAAA;AAEpB;UACAX,GAAG,CAACU,GAAG,CAAC,GAAG,eAAA,YAAA;AAAA,YAAA,IAAAvZ,KAAA,GAAA9E,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAAE,SAAAwB,QAAAA,CAAOqR,CAAC,EAAElS,IAAI,EAAA;AAAA,cAAA,OAAAZ,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAkB,UAAAC,SAAA,EAAA;AAAA,gBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;AAAA,kBAAA,KAAA,CAAA;AACzBkS,oBAAAA,CAAC,CAACwL,GAAG,CAAC,QAAQ,EAAEvL,MAAM,CAAC,CAAA;AACvBD,oBAAAA,CAAC,CAACwL,GAAG,CAAC,OAAO,EAAE9K,KAAK,CAAC,CAAA;AAAC7R,oBAAAA,SAAA,CAAAf,IAAA,GAAA,CAAA,CAAA;oBAAA,OAChBA,IAAI,EAAE,CAAA;AAAA,kBAAA,KAAA,CAAA,CAAA;AAAA,kBAAA,KAAA,KAAA;oBAAA,OAAAe,SAAA,CAAAR,IAAA,EAAA,CAAA;AAAA,iBAAA;AAAA,eAAA,EAAAM,QAAA,CAAA,CAAA;aACb,CAAA,CAAA,CAAA;YAAA,OAAAkX,UAAAA,GAAA,EAAAM,GAAA,EAAA;AAAA,cAAA,OAAApU,KAAA,CAAAxD,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,aAAA,CAAA;WAAC,EAAA,CAAA,CAAA;AAEF;AACAoc,UAAAA,GAAG,CAACxK,GAAG,CAAC,MAAM,EAAEoH,WAAW,CAAC,CAAA;AAE5B;AACAoD,UAAAA,GAAG,CAACxK,GAAG,CAAC,aAAa,EAAEN,gBAAgB,CAAC,CAAA;AACxC8K,UAAAA,GAAG,CAACxK,GAAG,CAAC,sBAAsB,EAAEc,mBAAmB,CAAC,CAAA;AACpD0J,UAAAA,GAAG,CAACa,IAAI,CAAC,+BAA+B,EAAEjK,eAAe,CAAC,CAAA;AAC1DoJ,UAAAA,GAAG,CAACa,IAAI,CAAC,6BAA6B,EAAEvJ,qBAAqB,CAAC,CAAA;AAC9D0I,UAAAA,GAAG,CAACa,IAAI,CAAC,4CAA4C,EAAEnC,uBAAuB,CAAC,CAAA;AAE/E;AACAsB,UAAAA,GAAG,CAACxK,GAAG,CAAC,oBAAoB,EAAE6D,sBAAsB,CAAC,CAAA;AACrD2G,UAAAA,GAAG,CAACxK,GAAG,CAAC,qBAAqB,EAAEgE,iBAAiB,CAAC,CAAA;AACjDwG,UAAAA,GAAG,CAACxK,GAAG,CAAC,+BAA+B,EAAEsE,oBAAoB,CAAC,CAAA;AAC9DkG,UAAAA,GAAG,CAACxK,GAAG,CAAC,wCAAwC,EAAE6G,kBAAkB,CAAC,CAAA;AACrE2D,UAAAA,GAAG,CAACxK,GAAG,CAAC,8CAA8C,EAAEiF,uBAAuB,CAAC,CAAA;AAChFuF,UAAAA,GAAG,CAACa,IAAI,CAAC,qBAAqB,EAAE7F,mBAAmB,CAAC,CAAA;AACpDgF,UAAAA,GAAG,CAACc,KAAK,CAAC,+BAA+B,EAAExF,mBAAmB,CAAC,CAAA;AAC/D0E,UAAAA,GAAG,CAAO,QAAA,CAAA,CAAC,+BAA+B,EAAElE,mBAAmB,CAAC,CAAA;AAChEkE,UAAAA,GAAG,CAACa,IAAI,CAAC,2BAA2B,EAAE3G,mBAAmB,CAAC,CAAA;AAC1D8F,UAAAA,GAAG,CAACa,IAAI,CAAC,2CAA2C,EAAE/C,oBAAoB,CAAC,CAAA;AAC3EkC,UAAAA,GAAG,CAACa,IAAI,CAAC,qCAAqC,EAAE1C,2BAA2B,CAAC,CAAA;AAE5E;AACA6B,UAAAA,GAAG,CAACxK,GAAG,CAAC,gBAAgB,EAAEoJ,mBAAmB,CAAC,CAAA;AAC9CoB,UAAAA,GAAG,CAACxK,GAAG,CAAC,4BAA4B,EAAEyJ,sBAAsB,CAAC,CAAA;AAC7De,UAAAA,GAAG,CAACa,IAAI,CAAC,oCAAoC,EAAEnB,sBAAsB,CAAC,CAAA;AAEtE;AACAM,UAAAA,GAAG,CAACa,IAAI,CAAC,4BAA4B,EAAE9D,kBAAkB,CAAC,CAAA;AAE1D;AACAiD,UAAAA,GAAG,CAACxK,GAAG,CAAC,WAAW,EAAEqD,cAAc,CAAC,CAAA;AACpCmH,UAAAA,GAAG,CAACxK,GAAG,CAAC,kBAAkB,EAAEyD,qBAAqB,CAAC,CAAA;AAElD;AACA+G,UAAAA,GAAG,CAACxK,GAAG,CAAC,YAAY,EAAE6H,eAAe,CAAC,CAAA;AACtC2C,UAAAA,GAAG,CAACxK,GAAG,CAAC,oBAAoB,EAAEgI,kBAAkB,CAAC,CAAA;UACjDwC,GAAG,CAACa,IAAI,CAAC,4BAA4B,EAAEtC,kBAAkB,CAACzI,KAAK,CAAC,CAAC,CAAA;AAEjE;AACAkK,UAAAA,GAAG,CAACxK,GAAG,CAAC,iBAAiB,EAAEwC,oBAAoB,CAAC,CAAA;AAEhD;AACAgI,UAAAA,GAAG,CAACa,IAAI,CAAC,YAAY,EAAEpI,2BAA2B,CAAC,CAAA;AAEnD,UAAA,IAAA,CAAAsI,QAAA,GAAIhB,OAAO,aAAPgB,QAAA,CAASnN,UAAU,EAAE;AACvB;AACA;YACAoM,GAAG,CAACU,GAAG,CAAC,WAAW,eAAA,YAAA;AAAA,cAAA,IAAApN,KAAA,GAAAjR,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAAE,SAAAiC,QAAAA,CAAO4Q,CAAC,EAAElS,IAAI,EAAA;AAAA,gBAAA,IAAAsC,IAAA,CAAA;AAAA,gBAAA,OAAAlD,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAA2B,UAAAC,SAAA,EAAA;AAAA,kBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;AAAA,oBAAA,KAAA,CAAA;AAC3BsC,sBAAAA,IAAI,GAAG4P,CAAC,CAACqB,GAAG,CAACjR,IAAI,CAAA;AACvB,sBAAA,IAAIA,IAAI,CAAC+E,QAAQ,CAAC,KAAK,CAAC,EAAE;AACxB6K,wBAAAA,CAAC,CAAC4L,MAAM,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAA;uBACnD,MAAM,IAAIxb,IAAI,CAAC+E,QAAQ,CAAC,MAAM,CAAC,EAAE;AAChC6K,wBAAAA,CAAC,CAAC4L,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;AACtC,uBAAA;AAACtc,sBAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;sBAAA,OACKA,IAAI,EAAE,CAAA;AAAA,oBAAA,KAAA,CAAA,CAAA;AAAA,oBAAA,KAAA,KAAA;sBAAA,OAAAwB,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,mBAAA;AAAA,iBAAA,EAAAe,QAAA,CAAA,CAAA;eACb,CAAA,CAAA,CAAA;cAAA,OAAAuX,UAAAA,GAAA,EAAAO,GAAA,EAAA;AAAA,gBAAA,OAAAhJ,KAAA,CAAA3P,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,eAAA,CAAA;aAAC,EAAA,CAAA,CAAA;AAEF;AACAoc,YAAAA,GAAG,CAACU,GAAG,CACL,WAAW,EACXO,uBAAW,CAAC;AACVC,cAAAA,IAAI,EAAE,qBAAA;AACP,aAAA,CAAC,CACH,CAAA;AAED;AACAlB,YAAAA,GAAG,CAACU,GAAG,CACL,GAAG,EACHO,uBAAW,CAAC;AACVC,cAAAA,IAAI,EAAE,cAAA;AACP,aAAA,CAAC,CACH,CAAA;AACH,WAAA;AAEA;UACAlB,GAAG,CAACxK,GAAG,CAAC,GAAG,eAAA,YAAA;AAAA,YAAA,IAAA9B,KAAA,GAAArR,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAAE,SAAAuK,QAAAA,CAAOsI,CAAC,EAAElS,IAAI,EAAA;AAAA,cAAA,IAAAie,SAAA,CAAA;AAAA,cAAA,IAAAC,SAAA,CAAA;AAAA,cAAA,OAAA9e,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAsK,UAAAC,SAAA,EAAA;AAAA,gBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAAnK,IAAA;AAAA,kBAAA,KAAA,CAAA;oBAAA,IAErBkS,CAAAA,CAAC,CAACqB,GAAG,CAACjR,IAAI,CAACsM,UAAU,CAAC,OAAO,CAAC,EAAA;AAAAzE,sBAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,sBAAA,MAAA;AAAA,qBAAA;AAAAmK,oBAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;oBAAA,OACnBA,IAAI,EAAE,CAAA;AAAA,kBAAA,KAAA,CAAA;AAAA,oBAAA,OAAAmK,SAAA,CAAA7J,MAAA,CAAA6J,QAAAA,EAAAA,SAAA,CAAAnJ,IAAA,CAAA,CAAA;AAAA,kBAAA,KAAA,CAAA;AAAA,oBAAA,IAAA,EAAA,CAAAid,SAAA,GAEjBpB,OAAO,KAAPoB,IAAAA,IAAAA,SAAA,CAASvN,UAAU,CAAA,EAAA;AAAAvG,sBAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,sBAAA,MAAA;AAAA,qBAAA;AAAAmK,oBAAAA,SAAA,CAAAnK,IAAA,GAAA,CAAA,CAAA;AAAA,oBAAA,OAEGxB,mBAAQ,CAACyE,SAAI,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,yBAAyB,CAAC,EAAE,OAAO,CAAC,CAAA;AAAA,kBAAA,KAAA,CAAA;oBAAnF+a,SAAS,GAAA/T,SAAA,CAAAnJ,IAAA,CAAA;oBAAA,OAAAmJ,SAAA,CAAA7J,MAAA,CACR4R,QAAAA,EAAAA,CAAC,CAACiM,WAAW,CAACD,SAAS,EAAE,GAAG,EAAE;AAAE,sBAAA,cAAc,EAAE,WAAA;AAAW,qBAAE,CAAC,CAAA,CAAA;AAAA,kBAAA,KAAA,CAAA;oBAAA,OAAA/T,SAAA,CAAA7J,MAAA,CAGhE4R,QAAAA,EAAAA,CAAC,CAACiM,WAAW,CAACzB,IAAI,EAAE,GAAG,EAAE;AAAE,sBAAA,cAAc,EAAE,WAAA;AAAW,qBAAE,CAAC,CAAA,CAAA;AAAA,kBAAA,KAAA,EAAA,CAAA;AAAA,kBAAA,KAAA,KAAA;oBAAA,OAAAvS,SAAA,CAAA5J,IAAA,EAAA,CAAA;AAAA,iBAAA;AAAA,eAAA,EAAAqJ,QAAA,CAAA,CAAA;aACjE,CAAA,CAAA,CAAA;YAAA,OAAAwU,UAAAA,IAAA,EAAAC,IAAA,EAAA;AAAA,cAAA,OAAA7N,KAAA,CAAA/P,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,aAAA,CAAA;WAAC,EAAA,CAAA,CAAA;AAAC,UAAA,OAAAwM,SAAA,CAAA5M,MAAA,CAAA,QAAA,EAEIwc,GAAG,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAA5P,SAAA,CAAA3M,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAuM,QAAA,CAAA,CAAA;GACX,CAAA,CAAA,CAAA;AAAA,EAAA,OAAA8P,iBAAA,CAAAnc,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAED,SAAsB4d,gBAAgBA,CAAA7c,GAAA,EAAAC,GAAA,EAAA;AAAA,EAAA,OAAA6c,iBAAA,CAAA9d,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAarC,SAAA6d,iBAAA,GAAA;EAAAA,iBAAA,GAAApf,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAbM,SAAAkO,QAAAA,CAAgC4E,MAAc,EAAE0K;;;;;cAAAA;YAAAA,UAAoC,EAAE,CAAA;AAAA,WAAA;AAAAnP,UAAAA,SAAA,CAAA1N,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACzE2c,gBAAgB,CAACxK,MAAM,EAAE0K,OAAO,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAA7CC,GAAG,GAAApP,SAAA,CAAA1M,IAAA,CAAA;AAAA,UAAA,OAAA0M,SAAA,CAAApN,MAAA,CAAA,QAAA,EACFke,gBAAK,CACV;YACEC,KAAK,EAAE3B,GAAG,CAAC2B,KAAK;YAChBC,IAAI,EAAEC,MAAM,CAACzb,OAAO,CAAC+Z,GAAG,CAAC2B,IAAI,CAAC,IAAI,IAAA;AACnC,WAAA,EACD,YAAK;YACHxe,OAAO,CAACC,GAAG,CAAA,sCAAA,IAA8B6C,OAAO,CAAC+Z,GAAG,CAAC2B,IAAI,IAAI,IAAI,CAAA,GAAA,MAAM,CAAC,CAAA;YACxExe,OAAO,CAACC,GAAG,CAAA,oEAAA,IAA4D6C,OAAO,CAAC+Z,GAAG,CAAC2B,IAAI,IAAI,IAAI,CAAA,GAAA,eAAe,CAAC,CAAA;YAC/Gxe,OAAO,CAACC,GAAG,CAAA,0EAAA,IAAmD6C,OAAO,CAAC+Z,GAAG,CAAC2B,IAAI,IAAI,IAAI,CAAA,GAAA,GAAG,CAAC,CAAA;AAC5F,WAAC,CACF,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAlR,SAAA,CAAAnN,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAgN,QAAA,CAAA,CAAA;GACF,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAgR,iBAAA,CAAA9d,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("fs"),t=require("path"),r=require("url"),n=require("@mastra/core"),a=require("esbuild"),o=require("zod"),s=require("fs-extra/esm"),i=require("child_process"),u=require("execa"),c=require("fs/promises"),p=require("@hono/node-server"),l=require("@hono/node-server/serve-static"),f=require("hono"),h=require("hono/cors"),d=require("superjson"),m=require("zod-to-json-schema"),v=require("hono/http-exception"),g="undefined"!=typeof document?document.currentScript:null;function y(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,t}var w=y(e),x=y(a);function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function k(e,t,r,n,a,o,s){try{var i=e[o](s),u=i.value}catch(e){return void r(e)}i.done?t(u):Promise.resolve(u).then(n,a)}function j(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function s(e){k(o,n,a,s,i,"next",e)}function i(e){k(o,n,a,s,i,"throw",e)}s(void 0)}))}}function S(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return b(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?b(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},E.apply(null,arguments)}function T(){T=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function p(e,t,r,n){var o=Object.create((t&&t.prototype instanceof g?t:g).prototype),s=new O(n||[]);return a(o,"_invoke",{value:P(e,r,s)}),o}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var f="suspendedStart",h="suspendedYield",d="executing",m="completed",v={};function g(){}function y(){}function w(){}var x={};c(x,s,(function(){return this}));var b=Object.getPrototypeOf,k=b&&b(b(F([])));k&&k!==r&&n.call(k,s)&&(x=k);var j=w.prototype=g.prototype=Object.create(x);function S(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function r(a,o,s,i){var u=l(e[a],e,o);if("throw"!==u.type){var c=u.arg,p=c.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){r("next",e,s,i)}),(function(e){r("throw",e,s,i)})):t.resolve(p).then((function(e){c.value=e,s(c)}),(function(e){return r("throw",e,s,i)}))}i(u.arg)}var o;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return o=o?o.then(a,a):a()}})}function P(t,r,n){var a=f;return function(o,s){if(a===d)throw Error("Generator is already running");if(a===m){if("throw"===o)throw s;return{value:e,done:!0}}for(n.method=o,n.arg=s;;){var i=n.delegate;if(i){var u=I(i,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===f)throw a=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var c=l(t,r,n);if("normal"===c.type){if(a=n.done?m:h,c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(a=m,n.method="throw",n.arg=c.arg)}}}function I(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,I(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=l(a,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var s=o.arg;return s?s.done?(r[t.resultName]=s.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):s:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function q(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function M(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(q,this),this.reset(!0)}function F(t){if(t||""===t){var r=t[s];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=w,a(j,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:y,configurable:!0}),y.displayName=c(w,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,c(e,u,"GeneratorFunction")),e.prototype=Object.create(j),e},t.awrap=function(e){return{__await:e}},S(E.prototype),c(E.prototype,i,(function(){return this})),t.AsyncIterator=E,t.async=function(e,r,n,a,o){void 0===o&&(o=Promise);var s=new E(p(e,r,n,a),o);return t.isGeneratorFunction(r)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},S(j),c(j,u,"Generator"),c(j,s,(function(){return this})),c(j,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=F,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(M),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return i.type="throw",i.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var s=this.tryEntries[o],i=s.completion;if("root"===s.tryLoc)return a("end");if(s.tryLoc<=this.prev){var u=n.call(s,"catchLoc"),c=n.call(s,"finallyLoc");if(u&&c){if(this.prev<s.catchLoc)return a(s.catchLoc,!0);if(this.prev<s.finallyLoc)return a(s.finallyLoc)}else if(u){if(this.prev<s.catchLoc)return a(s.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return a(s.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=e,s.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),M(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;M(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:F(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function P(e,t){return P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},P(e,t)}var I=function(){},q=function(e){function t(t){var r;return(r=e.call(this)||this).filePath=void 0,r.filePath=t,r}var r,n;n=e,(r=t).prototype=Object.create(n.prototype),r.prototype.constructor=r,P(r,n);var a=t.prototype;return a.readFile=function(e){return new Promise((function(t,r){w.readFile(e,"utf8",(function(e,n){e?r(e):t(n)}))}))},a.writeFile=function(e){var t=e.filePath,r=e.data;return new Promise((function(e,n){w.writeFile(t,r,"utf8",(function(t){t?n(t):e()}))}))},a.updateEnvData=function(){var e=j(T().mark((function e(t){var r,n,a,o,s,i;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.key,n=t.value,o=void 0===(a=t.filePath)?this.filePath:a,s=t.data,i=new RegExp("^"+r+"=.*$","m"),s.match(i)?s=s.replace(i,r+"="+n):s+="\n"+r+"="+n,e.next=5,this.writeFile({filePath:o,data:s});case 5:return console.log(r+" set to "+n+" in ENV file."),e.abrupt("return",s);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),a.getEnvValue=function(){var e=j(T().mark((function e(t){var r,n,a;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.readFile(this.filePath);case 3:return r=e.sent,n=new RegExp("^"+t+"=(.*)$","m"),a=r.match(n),e.abrupt("return",(null==a?void 0:a[1])||null);case 9:return e.prev=9,e.t0=e.catch(0),console.error("Error reading ENV value: "+e.t0),e.abrupt("return",null);case 13:case"end":return e.stop()}}),e,this,[[0,9]])})));return function(t){return e.apply(this,arguments)}}(),a.setEnvValue=function(){var e=j(T().mark((function e(t,r){var n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.readFile(this.filePath);case 3:return n=e.sent,e.next=6,this.updateEnvData({key:t,value:r,data:n});case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.error("Error writing ENV value: "+e.t0);case 11:case"end":return e.stop()}}),e,this,[[0,8]])})));return function(t,r){return e.apply(this,arguments)}}(),t}(I),M=function(){function n(){}var a=n.prototype;return a.copyStarterFile=function(){var n=j(T().mark((function n(a,o,i){var u,c,p,l;return T().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(u=r.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(u).href:g&&"SCRIPT"===g.tagName.toUpperCase()&&g.src||new URL("deployer.cjs.production.min.js",document.baseURI).href),c=t.dirname(u),p=t.resolve(c,"..","starter-files",a),l=e.readFileSync(p,"utf8"),!e.existsSync(o)||i){n.next=7;break}return console.log(o+" already exists"),n.abrupt("return",!1);case 7:return n.next=9,s.outputFile(o,l);case 9:return n.abrupt("return",!0);case 10:case"end":return n.stop()}}),n)})));return function(e,t,r){return n.apply(this,arguments)}}(),a.setupEnvFile=function(){var e=j(T().mark((function e(r){var n,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.dbUrl,a=t.join(process.cwd(),".env.development"),e.next=4,s.ensureFile(a);case 4:return o=new q(a),e.next=7,o.setEnvValue("DB_URL",n);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a.getFirstExistingFile=function(t){for(var r,n=S(t);!(r=n()).done;){var a=r.value;if(e.existsSync(a))return a}throw new Error("Missing required file, checked the following paths: "+t.join(", "))},a.replaceValuesInFile=function(t){var r=t.filePath,n=t.replacements,a=e.readFileSync(r,"utf8");n.forEach((function(e){a=a.replaceAll(e.search,e.replace)})),e.writeFileSync(r,a)},n}();function O(){var r=t.join(process.cwd(),".mastra");e.existsSync(r)||(e.mkdirSync(r,{recursive:!0}),i.execSync('echo ".mastra" >> .gitignore'))}var F=new n.Workflow({name:"Build",triggerSchema:o.z.object({buildName:o.z.string(),entry:o.z.string(),outfile:o.z.string().optional(),useBanner:o.z.boolean().optional(),devMode:o.z.boolean().optional()})});F.__setLogger(null);var L=new n.Step({id:"Ensure Directory",execute:function(){var e=j(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:O();case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()}),A=new n.Step({id:"Bundle",execute:function(){var e=j(T().mark((function e(r){var n,a,o,s,i,u,c,p,l,f,h,d,m,v,g,y,w,b,k;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=null==(n=(u=r.context).machineContext)?void 0:n.triggerData.devMode,p=null==(a=u.machineContext)?void 0:a.triggerData.buildName,l=null==(o=u.machineContext)?void 0:o.triggerData.useBanner,f=null==(s=u.machineContext)?void 0:s.triggerData.entry,h=null==(i=u.machineContext)?void 0:i.triggerData.outfile,d=new M,m=d.getFirstExistingFile([f]),v=h||t.join(process.cwd(),".mastra","mastra.mjs"),g=[],y=!1,w={name:"external-if-missing",setup:function(e){e.onResolve({filter:/^.*$/},(function(e){if(e.importer.endsWith(".mastra/index.mjs"))try{var t=(void 0)(e.path);if(!t||t.includes("_npx/"))return y=!0,{path:e.path,external:!0}}catch(t){return y=!0,{path:e.path,external:!0}}}))}},c&&g.push(w),b={entryPoints:[m],bundle:!0,platform:"node",format:"esm",outfile:v,target:"node20",sourcemap:!0,logLevel:"silent",minify:!1,metafile:!0,mainFields:["module","main"],conditions:["import","node"],logOverride:{"commonjs-variable-in-esm":"silent"},external:["execa","assert","buffer","child_process","cluster","constants","crypto","dgram","dns","events","fs","http","http2","https","module","net","os","path","punycode","querystring","readline","repl","stream","string_decoder","sys","timers","tls","tty","url","util","v8","vm","wasi","worker_threads","zlib","chromium-bidi/lib/cjs/bidiMapper/BidiMapper","chromium-bidi/lib/cjs/cdp/CdpConnection","@mastra/core","@mastra/memory","@mastra/engine","@mastra/rag","@mastra/evals","@mastra/mcp","@mastra/tts","@mastra/firecrawl","@mastra/github","@mastra/stabilityai","@mastra/deployer","@mastra/deployer-cloudflare","@mastra/deployer-netlify","@mastra/deployer-vercel"],plugins:g},l&&(b.banner={js:"\n import { createRequire } from \"node:module\"; \n const require = createRequire(import.meta.url || 'file:///');\n "}),e.next=17,x.build(b);case 17:return k=e.sent,c&&y&&(console.error("Missing Mastra dependency. Please install the mastra package in your project or globally using npm i -g mastra"),process.exit(1)),console.log("["+p+"]: build completed successfully"),e.abrupt("return",k);case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),R=new n.Step({id:"Analyze",execute:function(){var r=j(T().mark((function r(n){var a,o,s,i;return T().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if("success"===(null==(i=n.context)||null==(a=i.machineContext)||null==(a=a.stepResults)||null==(a=a.Bundle)?void 0:a.status)){r.next=3;break}throw new Error("Bundle step failed");case 3:return e.writeFileSync(t.join(process.cwd(),".mastra","metafile.json"),JSON.stringify(null==(o=i.machineContext)?void 0:o.stepResults.Bundle.payload.metafile,null,2)),r.next=6,x.analyzeMetafile(null==(s=i.machineContext)?void 0:s.stepResults.Bundle.payload.metafile);case 6:return r.abrupt("return",r.sent);case 8:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()});function N(e,t){return _.apply(this,arguments)}function _(){return(_=j(T().mark((function e(t,r){var n,a,o,s,i,u,c,p,l;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=void 0===(a=(n=void 0===r?{}:r).useBanner)||a,i=void 0===(s=n.buildName)?"Build":s,u=n.outfile,c=n.devMode,p=F.createRun(),l=p.start,e.prev=2,e.next=5,l({triggerData:{buildName:i,entry:t,useBanner:o,outfile:u,devMode:c}});case 5:e.next=11;break;case 7:e.prev=7,e.t0=e.catch(2),console.error("Failed to build:",e.t0),process.exit(1);case 11:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}F.step(L).then(A).then(R).commit();var C=function(){function n(){this.packageManager=void 0,this.packageManager=this.getPackageManager()}var a=n.prototype;return a.findLockFile=function(r){for(var n=0,a=["pnpm-lock.yaml","package-lock.json","yarn.lock"];n<a.length;n++){var o=a[n];if(e.existsSync(t.join(r,o)))return o}var s=t.resolve(r,"..");return s!==r?this.findLockFile(s):null},a.getPackageManager=function(){switch(this.findLockFile(process.cwd())){case"pnpm-lock.yaml":return"pnpm";case"package-lock.json":default:return"npm";case"yarn.lock":return"yarn"}},a.install=function(){var e=j(T().mark((function e(t){var r,n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=[]),r="npm"===this.packageManager?this.packageManager+" i":this.packageManager+" "+((null==(n=t)?void 0:n.length)>0?"add":"install"),e.abrupt("return",u.execa(""+r,t,{all:!0,shell:!0,stdio:"inherit"}));case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),a.installPackages=function(){var e=j(T().mark((function e(t){var r,n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r="npm"===this.packageManager?this.packageManager+" i":this.packageManager+" add",n=t.join(" "),e.abrupt("return",u.execa(r+" "+n,{all:!0,shell:!0,stdio:"inherit"}));case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),a.checkDependencies=function(){var e=j(T().mark((function e(r){var n,a,o,s,i;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=t.join(process.cwd(),"package.json"),e.prev=2,e.next=5,c.access(n);case 5:e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(2),e.abrupt("return","No package.json file found in the current directory");case 10:return e.t1=JSON,e.next=13,c.readFile(n,"utf-8");case 13:e.t2=e.sent,a=e.t1.parse.call(e.t1,e.t2),o=S(r);case 16:if((s=o()).done){e.next=22;break}if(i=s.value,a.dependencies&&a.dependencies[i]){e.next=20;break}return e.abrupt("return","Please install "+i+" before running this command ("+this.packageManager+" install "+i+")");case 20:e.next=16;break;case 22:return e.abrupt("return","ok");case 25:return e.prev=25,e.t3=e.catch(0),console.error(e.t3),e.abrupt("return","Could not check dependencies");case 29:case"end":return e.stop()}}),e,this,[[0,25],[2,7]])})));return function(t){return e.apply(this,arguments)}}(),a.getProjectName=function(){var e=j(T().mark((function e(){var r,n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.join(process.cwd(),"package.json"),e.next=4,c.readFile(r,"utf-8");case 4:return n=JSON.parse(e.sent),e.abrupt("return",n.name);case 9:throw e.prev=9,e.t0=e.catch(0),e.t0;case 12:case"end":return e.stop()}}),e,null,[[0,9]])})));return function(){return e.apply(this,arguments)}}(),a.getPackageVersion=function(){var e=j(T().mark((function e(){var n,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(n).href:g&&"SCRIPT"===g.tagName.toUpperCase()&&g.src||new URL("deployer.cjs.production.min.js",document.baseURI).href),a=t.dirname(n),o=t.join(a,"..","..","package.json"),e.next=5,s.readJSON(o);case 5:return e.abrupt("return",e.sent.version);case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),a.addScriptsToPackageJson=function(){var e=j(T().mark((function e(t){var r;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=JSON,e.next=3,c.readFile("package.json","utf-8");case 3:return e.t1=e.sent,(r=e.t0.parse.call(e.t0,e.t1)).scripts=E({},r.scripts,t),e.next=8,c.writeFile("package.json",JSON.stringify(r,null,2));case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n}(),H=function(){function n(e){var r=this,n=e.dir,a=e.type;this.deps=new C,this.dotMastraPath=void 0,this.name="",this.type=void 0,this.log=function(e){console.log("[Mastra "+r.type+"] - "+e)},this.dotMastraPath=t.join(n,".mastra"),this.type=a}var a=n.prototype;return a.getMastraPath=function(){return this.dotMastraPath},a.getMastra=function(){var e=j(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,import(t.join(this.dotMastraPath,"mastra.mjs"));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),a.writePackageJson=function(){var r=j(T().mark((function r(){var n,a,o;return T().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:this.log("Writing package.json"),n={dependencies:{}};try{n=JSON.parse(e.readFileSync(t.join(this.dotMastraPath,"..","package.json"),"utf-8"))}catch(e){}if(a=Object.entries(n.dependencies).filter((function(e){var t=e[0];return t.startsWith("@mastra")&&!t.startsWith("@mastra/deployer")})).reduce((function(e,t){var r=t[1];return e[t[0]]="workspace:*"===r?"latest":r,e}),{}),o=t.join(this.dotMastraPath,"package.json"),"Dev"!==this.type||!e.existsSync(o)){r.next=7;break}return r.abrupt("return");case 7:e.writeFileSync(o,JSON.stringify({name:"server",version:"1.0.0",description:"",type:"module",main:"index.mjs",scripts:{start:"node ./index.mjs"},author:"",license:"ISC",dependencies:E({},a,{hono:"4.6.17",execa:"latest","@hono/node-server":"^1.13.7",superjson:"^2.2.2","zod-to-json-schema":"^3.24.1"})},null,2));case 8:case"end":return r.stop()}}),r,this)})));return function(){return r.apply(this,arguments)}}(),a.install=function(){var e=j(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.log("Ensuring your dependencies up to date..."),e.next=3,this.deps.install();case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),a.getEnvFiles=function(){return[".env",".env.development",".env.local"].map((function(e){return t.join(process.cwd(),e)})).filter((function(t){return e.existsSync(t)}))},a.getEnvVars=function(){for(var e,t={},r=S(this.getEnvFiles());!(e=r()).done;)for(var n,a=S(this.parseEnvFile(e.value));!(n=a()).done;){var o=n.value.split("="),s=o[0],i=o[1];s&&i&&(t[s]=i)}return t},a.parseEnvFile=function(t){return e.readFileSync(t,"utf-8").split("\n").map((function(e){return e.trim()})).filter((function(e){return e&&!e.startsWith("#")})).filter((function(e){return e.includes("=")}))},a.build=function(){var r=j(T().mark((function r(n){var a,o,s;return T().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return a=n.dir,s=void 0===(o=n.useBanner)||o,e.existsSync(this.dotMastraPath)||e.mkdirSync(this.dotMastraPath),r.next=4,N(a,{useBanner:s,outfile:t.join(this.dotMastraPath,"mastra.mjs")});case 4:case"end":return r.stop()}}),r,this)})));return function(e){return r.apply(this,arguments)}}(),a.buildServer=function(){var r=j(T().mark((function r(n){var a,o,s;return T().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:o=void 0!==(a=(void 0===n?{playground:!1}:n).playground)&&a,O(),s=t.join(this.dotMastraPath,"hono.mjs"),e.writeFileSync(s,"\n import { createHonoServer } from './server.mjs';\n import { mastra } from './mastra.mjs';\n\n export const app = await createHonoServer(mastra, { playground: "+o+" });\n ");case 4:case"end":return r.stop()}}),r,this)})));return function(e){return r.apply(this,arguments)}}(),a.writeServerFile=function(){var n=j(T().mark((function n(){var a;return T().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,(void 0)("@mastra/deployer/server");case 2:a=r.fileURLToPath(n.sent),e.copyFileSync(a,t.join(this.dotMastraPath,"server.mjs"));case 5:case"end":return n.stop()}}),n,this)})));return function(){return n.apply(this,arguments)}}(),a.prepare=function(){var e=j(T().mark((function e(r){var n,a,o,s,i;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.dir,a=r.playground,s=void 0===(o=r.useBanner)||o,this.log("Preparing .mastra directory"),O(),i=n||t.join(process.cwd(),"src/mastra"),this.writePackageJson(),this.writeServerFile(),e.next=8,this.install();case 8:return e.next=10,this.build({dir:i,useBanner:s});case 10:return e.next=12,this.buildServer({playground:a});case 12:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),n}();function z(e,t){throw console.error(t,e),new v.HTTPException(e.status||500,{message:e.message||t})}function B(e){var t=Object.entries(e).reduce((function(e,t){var r=t[0];return t[1]||(e[r]=r+" is required"),e}),{});if(Object.keys(t).length>0)throw new v.HTTPException(400,{message:JSON.stringify(t)})}function D(e){return U.apply(this,arguments)}function U(){return(U=j(T().mark((function e(t){var r,n,a;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=r.getAgents(),a=Object.entries(n).reduce((function(e,t){var r=t[0],n=t[1],a=Object.entries((null==n?void 0:n.tools)||{}).reduce((function(e,t){var r=t[1];return e[t[0]]=E({},r,{inputSchema:r.inputSchema?d.stringify(m(r.inputSchema)):void 0,outputSchema:r.outputSchema?d.stringify(m(r.outputSchema)):void 0}),e}),{});return e[r]=E({},n,{tools:a}),e}),{}),e.abrupt("return",t.json(a));case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting agents"));case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}function W(e){return G.apply(this,arguments)}function G(){return(G=j(T().mark((function e(t){var r,n,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=t.req.param("agentId"),a=r.getAgent(n)){e.next=6;break}throw new v.HTTPException(404,{message:"Agent not found"});case 6:return o=Object.entries((null==a?void 0:a.tools)||{}).reduce((function(e,t){var r=t[1];return e[t[0]]=E({},r,{inputSchema:r.inputSchema?d.stringify(m(r.inputSchema)):void 0,outputSchema:r.outputSchema?d.stringify(m(r.outputSchema)):void 0}),e}),{}),e.abrupt("return",t.json(E({},a,{tools:o})));case 10:return e.prev=10,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting agent"));case 13:case"end":return e.stop()}}),e,null,[[0,10]])})))).apply(this,arguments)}function J(e){return V.apply(this,arguments)}function V(){return(V=j(T().mark((function e(t){var r,n,a,o,s,i,u,c;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=t.req.param("agentId"),a=r.getAgent(n)){e.next=6;break}throw new v.HTTPException(404,{message:"Agent not found"});case 6:return e.next=8,t.req.json();case 8:if(i=(o=e.sent).threadId,u=o.resourceid,c=o.output,B({messages:s=o.messages}),Array.isArray(s)){e.next=16;break}throw new v.HTTPException(400,{message:"Messages should be an array"});case 16:return e.next=18,a.generate(s,{threadId:i,resourceid:u,output:c});case 18:return e.abrupt("return",t.json(e.sent));case 22:return e.prev=22,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error generating from agent"));case 25:case"end":return e.stop()}}),e,null,[[0,22]])})))).apply(this,arguments)}function $(e){return Y.apply(this,arguments)}function Y(){return(Y=j(T().mark((function e(t){var r,n,a,o,s,i,u,c;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=t.req.param("agentId"),a=r.getAgent(n)){e.next=6;break}throw new v.HTTPException(404,{message:"Agent not found"});case 6:return e.next=8,t.req.json();case 8:if(i=(o=e.sent).threadId,u=o.resourceid,c=o.output,B({messages:s=o.messages}),Array.isArray(s)){e.next=16;break}throw new v.HTTPException(400,{message:"Messages should be an array"});case 16:return e.next=18,a.stream(s,{threadId:i,resourceid:u,output:c});case 18:return e.abrupt("return",new Response(e.sent.toDataStream(),{headers:{"Content-Type":"text/x-unknown","content-encoding":"identity","transfer-encoding":"chunked"}}));case 22:return e.prev=22,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error streaming from agent"));case 25:case"end":return e.stop()}}),e,null,[[0,22]])})))).apply(this,arguments)}var X=new Set;function K(e){var t=new ReadableStream({start:function(t){X.add(t),t.enqueue("data: connected\n\n"),e.req.raw.signal.addEventListener("abort",(function(){X.delete(t)}))}});return new Response(t,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}function Q(e){return X.forEach((function(e){try{e.enqueue("data: refresh\n\n")}catch(t){X.delete(e)}})),e.json({success:!0,clients:X.size})}function Z(e){return ee.apply(this,arguments)}function ee(){return(ee=j(T().mark((function e(t){var r;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),e.next=4,r.getLogs();case 4:return e.abrupt("return",t.json(e.sent));case 8:return e.prev=8,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting logs"));case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}function te(e){return re.apply(this,arguments)}function re(){return(re=j(T().mark((function e(t){var r,n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=t.req.param("runId"),e.next=5,r.getLogsByRunId(n);case 5:return e.abrupt("return",t.json(e.sent));case 9:return e.prev=9,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting logs by run ID"));case 12:case"end":return e.stop()}}),e,null,[[0,9]])})))).apply(this,arguments)}function ne(e){return ae.apply(this,arguments)}function ae(){return(ae=j(T().mark((function e(t){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,t.get("mastra").memory){e.next=5;break}return e.abrupt("return",t.json({result:!1}));case 5:return e.abrupt("return",t.json({result:!0}));case 8:return e.prev=8,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting memory status"));case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}function oe(e){return se.apply(this,arguments)}function se(){return(se=j(T().mark((function e(t){var r,n,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=r.memory,a=t.req.query(),o=a.resourceid,n){e.next=6;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 6:return e.next=8,n.getThreadsByResourceId({resourceid:o});case 8:return e.abrupt("return",t.json(e.sent));case 12:return e.prev=12,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting threads"));case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}function ie(e){return ue.apply(this,arguments)}function ue(){return(ue=j(T().mark((function e(t){var r,n,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=r.memory,a=t.req.param("threadId"),n){e.next=6;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 6:return e.next=8,n.getThreadById({threadId:a});case 8:if(o=e.sent){e.next=11;break}throw new v.HTTPException(404,{message:"Thread not found"});case 11:return e.abrupt("return",t.json(o));case 14:return e.prev=14,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting thread"));case 17:case"end":return e.stop()}}),e,null,[[0,14]])})))).apply(this,arguments)}function ce(e){return pe.apply(this,arguments)}function pe(){return(pe=j(T().mark((function e(t){var r,n,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=r.memory,e.next=5,t.req.json();case 5:if(a=e.sent.messages,n){e.next=9;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 9:if(B({messages:a}),Array.isArray(a)){e.next=12;break}throw new v.HTTPException(400,{message:"Messages should be an array"});case 12:return o=a.map((function(e){return E({},e,{id:n.generateId(),createdAt:e.createdAt?new Date(e.createdAt):new Date})})),e.next=15,n.saveMessages({messages:o});case 15:return e.abrupt("return",t.json(e.sent));case 19:return e.prev=19,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error saving messages"));case 22:case"end":return e.stop()}}),e,null,[[0,19]])})))).apply(this,arguments)}function le(e){return fe.apply(this,arguments)}function fe(){return(fe=j(T().mark((function e(t){var r,n,a,o,s,i,u;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=r.memory,a=t.req.param("threadId"),o=t.req.query(),s=o.startDate,i=o.endDate,u=o.format,n){e.next=7;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 7:return e.next=9,n.getThreadById({threadId:a});case 9:if(e.sent){e.next=12;break}throw new v.HTTPException(404,{message:"Thread not found"});case 12:return e.next=14,n.getContextWindow({threadId:a,startDate:s,endDate:i,format:u});case 14:return e.abrupt("return",t.json(e.sent));case 18:return e.prev=18,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting context window from memory"));case 21:case"end":return e.stop()}}),e,null,[[0,18]])})))).apply(this,arguments)}function he(e){return de.apply(this,arguments)}function de(){return(de=j(T().mark((function e(t){var r,n,a,o,s,i,u;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=r.memory,e.next=5,t.req.json();case 5:if(o=(a=e.sent).title,s=a.metadata,i=a.resourceid,u=a.threadId,n){e.next=12;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 12:return B({resourceid:i}),e.next=15,n.createThread({resourceid:i,title:o,metadata:s,threadId:u});case 15:return e.abrupt("return",t.json(e.sent));case 19:return e.prev=19,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error saving thread to memory"));case 22:case"end":return e.stop()}}),e,null,[[0,19]])})))).apply(this,arguments)}function me(e){return ve.apply(this,arguments)}function ve(){return(ve=j(T().mark((function e(t){var r,n,a,o,s,i,u,c,p,l;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=r.memory,a=t.req.param("threadId"),e.next=6,t.req.json();case 6:if(s=(o=e.sent).title,i=o.metadata,u=o.resourceid,c=new Date,n){e.next=13;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 13:return e.next=15,n.getThreadById({threadId:a});case 15:if(p=e.sent){e.next=18;break}throw new v.HTTPException(404,{message:"Thread not found"});case 18:return l=E({},p,{title:s||p.title,metadata:i||p.metadata,resourceid:u||p.resourceid,createdAt:p.createdat,updatedAt:c}),e.next=21,n.saveThread({thread:l});case 21:return e.abrupt("return",t.json(e.sent));case 25:return e.prev=25,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error updating thread"));case 28:case"end":return e.stop()}}),e,null,[[0,25]])})))).apply(this,arguments)}function ge(e){return ye.apply(this,arguments)}function ye(){return(ye=j(T().mark((function e(t){var r,n,a;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=r.memory,a=t.req.param("threadId"),n){e.next=6;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 6:return e.next=8,n.getThreadById({threadId:a});case 8:if(e.sent){e.next=11;break}throw new v.HTTPException(404,{message:"Thread not found"});case 11:return e.next=13,n.deleteThread(a);case 13:return e.abrupt("return",t.json({result:"Thread deleted"}));case 16:return e.prev=16,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error deleting thread"));case 19:case"end":return e.stop()}}),e,null,[[0,16]])})))).apply(this,arguments)}function we(e){return xe.apply(this,arguments)}function xe(){return(xe=j(T().mark((function e(t){var r,n,a;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=r.memory,a=t.req.param("threadId"),n){e.next=6;break}return e.abrupt("return",t.json({error:"Memory is not initialized"},400));case 6:return e.next=8,n.getThreadById({threadId:a});case 8:if(e.sent){e.next=11;break}return e.abrupt("return",t.json({error:"Thread not found"},404));case 11:return e.next=13,n.getMessages({threadId:a});case 13:return e.abrupt("return",t.json(e.sent));case 17:return e.prev=17,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting messages"));case 20:case"end":return e.stop()}}),e,null,[[0,17]])})))).apply(this,arguments)}function be(e){return ke.apply(this,arguments)}function ke(){return(ke=j(T().mark((function e(t){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.text("Hello to the Mastra API!"));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function je(e){return Se.apply(this,arguments)}function Se(){return(Se=j(T().mark((function e(t){var r,n,a,o,s;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=t.req.param("syncId"),e.next=5,t.req.json();case 5:return o=(a=e.sent).runId,B({params:s=a.params}),e.next=11,r.sync(n,s,o);case 11:return e.abrupt("return",t.json(e.sent));case 15:return e.prev=15,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error executing sync"));case 18:case"end":return e.stop()}}),e,null,[[0,15]])})))).apply(this,arguments)}function Ee(e){return Te.apply(this,arguments)}function Te(){return(Te=j(T().mark((function e(t){var r,n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("tools")){e.next=4;break}return e.abrupt("return",t.json({}));case 4:return n=Object.entries(r).reduce((function(e,t){var r=t[1];return e[t[0]]=E({},r,{inputSchema:r.inputSchema?d.stringify(m(r.inputSchema)):void 0,outputSchema:r.outputSchema?d.stringify(m(r.outputSchema)):void 0}),e}),{}),e.abrupt("return",t.json(n));case 8:return e.prev=8,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting tools"));case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}function Pe(e){return Ie.apply(this,arguments)}function Ie(){return(Ie=j(T().mark((function e(t){var r,n,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("tools"),n=t.req.param("toolId"),a=Object.values(r||{}).find((function(e){return e.id===n}))){e.next=6;break}throw new v.HTTPException(404,{message:"Tool not found"});case 6:return o=E({},a,{inputSchema:a.inputSchema?d.stringify(m(a.inputSchema)):void 0,outputSchema:a.outputSchema?d.stringify(m(a.outputSchema)):void 0}),e.abrupt("return",t.json(o));case 10:return e.prev=10,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting tool"));case 13:case"end":return e.stop()}}),e,null,[[0,10]])})))).apply(this,arguments)}function qe(e){return Me.apply(this,arguments)}function Me(){return(Me=j(T().mark((function e(t){var r,n,a,o,s,i;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=r.memory,a=t.req.param("threadId"),e.next=6,t.req.json();case 6:if(s=(o=e.sent).toolName,i=o.toolArgs,n){e.next=11;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 11:return B({toolName:s,toolArgs:i}),e.next=14,n.getThreadById({threadId:a});case 14:if(e.sent){e.next=17;break}throw new v.HTTPException(404,{message:"Thread not found"});case 17:return e.next=19,n.getToolResult({threadId:a,toolName:s,toolArgs:i});case 19:return e.abrupt("return",t.json(e.sent));case 23:return e.prev=23,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting tool result"));case 26:case"end":return e.stop()}}),e,null,[[0,23]])})))).apply(this,arguments)}function Oe(e){return Fe.apply(this,arguments)}function Fe(){return(Fe=j(T().mark((function e(t){var r,n,a;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=r.memory,e.next=5,t.req.json();case 5:if(a=e.sent.hashedArgs,n){e.next=9;break}throw new v.HTTPException(400,{message:"Memory is not initialized"});case 9:return B({hashedArgs:a}),e.next=12,n.validateToolCallArgs({hashedArgs:a});case 12:return e.abrupt("return",t.json(e.sent));case 16:return e.prev=16,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error validating tool call args"));case 19:case"end":return e.stop()}}),e,null,[[0,16]])})))).apply(this,arguments)}function Le(e){return function(){var t=j(T().mark((function t(r){var n,a,o,s;return T().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,n=decodeURIComponent(r.req.param("toolId")),a=Object.values(e||{}).find((function(e){return e.id===n}))){t.next=5;break}return t.abrupt("return",r.json({error:"Tool not found"},404));case 5:return t.next=7,r.req.json();case 7:return o=t.sent.input,s=r.get("mastra"),t.next=12,a.execute({context:E({},o),mastra:s,runId:s.runId});case 12:return t.abrupt("return",r.json(t.sent));case 16:return t.prev=16,t.t0=t.catch(0),t.abrupt("return",z(t.t0,"Error executing tool"));case 19:case"end":return t.stop()}}),t,null,[[0,16]])})));return function(e){return t.apply(this,arguments)}}()}function Ae(e){return Re.apply(this,arguments)}function Re(){return(Re=j(T().mark((function e(t){var r,n,a,o,s,i;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,r=t.get("mastra"),n=t.req.param("agentId"),a=t.req.param("toolId"),o=r.getAgent(n),s=Object.values((null==o?void 0:o.tools)||{}).find((function(e){return e.id===a}))){e.next=8;break}throw new v.HTTPException(404,{message:"Tool not found"});case 8:return e.next=10,t.req.json();case 10:return i=e.sent,e.next=13,s.execute({context:E({},i),mastra:r,runId:n});case 13:return e.abrupt("return",t.json(e.sent));case 17:return e.prev=17,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error executing tool"));case 20:case"end":return e.stop()}}),e,null,[[0,17]])})))).apply(this,arguments)}function Ne(e){return _e.apply(this,arguments)}function _e(){return(_e=j(T().mark((function e(t){var r,n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=r.getWorkflows({serialized:!0}),e.abrupt("return",t.json(n));case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting workflows"));case 9:case"end":return e.stop()}}),e,null,[[0,6]])})))).apply(this,arguments)}function Ce(e){return He.apply(this,arguments)}function He(){return(He=j(T().mark((function e(t){var r,n,a,o,s,i,u;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=t.req.param("workflowId"),a=r.getWorkflow(n),o=a.triggerSchema,s=a.stepGraph,i=a.stepSubscriberGraph,u=Object.entries(a.steps).reduce((function(e,t){var r=t[1];return e[t[0]]=E({},r,{inputSchema:r.inputSchema?d.stringify(m(r.inputSchema)):void 0,outputSchema:r.outputSchema?d.stringify(m(r.outputSchema)):void 0}),e}),{}),e.abrupt("return",t.json({name:a.name,triggerSchema:o?d.stringify(m(o)):void 0,steps:u,stepGraph:s,stepSubscriberGraph:i}));case 11:return e.prev=11,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error getting workflow"));case 14:case"end":return e.stop()}}),e,null,[[0,11]])})))).apply(this,arguments)}function ze(e){return Be.apply(this,arguments)}function Be(){return(Be=j(T().mark((function e(t){var r,n,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.get("mastra"),n=t.req.param("workflowId"),a=r.getWorkflow(n),e.next=6,t.req.json();case 6:return o=e.sent,e.next=9,a.execute(o);case 9:return e.abrupt("return",t.json(e.sent));case 13:return e.prev=13,e.t0=e.catch(0),e.abrupt("return",z(e.t0,"Error executing workflow"));case 16:case"end":return e.stop()}}),e,null,[[0,13]])})))).apply(this,arguments)}function De(e,t){return Ue.apply(this,arguments)}function Ue(){return Ue=j(T().mark((function e(n,a){var o,s,i,u;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===a&&(a={}),s=new f.Hono,!(i=process.env.MASTRA_TOOLS_PATH)){e.next=9;break}return e.next=6,Promise.all(i.split(",").map(function(){var e=j(T().mark((function e(t){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",import(r.pathToFileURL(t).href));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 6:e.t0=e.sent,e.next=10;break;case 9:e.t0=[];case 10:return u=e.t0.reduce((function(e,t){return Object.entries(t).forEach((function(t){e[t[0]]=t[1]})),e}),{}),s.use("*",h.cors()),s.use("*",function(){var e=j(T().mark((function e(t,r){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.set("mastra",n),t.set("tools",u),e.next=4,r();case 4:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()),s.get("/api",be),s.get("/api/agents",D),s.get("/api/agents/:agentId",W),s.post("/api/agents/:agentId/generate",J),s.post("/api/agents/:agentId/stream",$),s.post("/api/agents/:agentId/tools/:toolId/execute",Ae),s.get("/api/memory/status",ne),s.get("/api/memory/threads",oe),s.get("/api/memory/threads/:threadId",ie),s.get("/api/memory/threads/:threadId/messages",we),s.get("/api/memory/threads/:threadId/context-window",le),s.post("/api/memory/threads",he),s.patch("/api/memory/threads/:threadId",me),s.delete("/api/memory/threads/:threadId",ge),s.post("/api/memory/save-messages",ce),s.post("/api/memory/threads/:threadId/tool-result",qe),s.post("/api/memory/validate-tool-call-args",Oe),s.get("/api/workflows",Ne),s.get("/api/workflows/:workflowId",Ce),s.post("/api/workflows/:workflowId/execute",ze),s.post("/api/syncs/:syncId/execute",je),s.get("/api/logs",Z),s.get("/api/logs/:runId",te),s.get("/api/tools",Ee),s.get("/api/tools/:toolId",Pe),s.post("/api/tools/:toolId/execute",Le(u)),s.get("/refresh-events",K),s.post("/__refresh",Q),null!=(o=a)&&o.playground&&(s.use("/assets/*",function(){var e=j(T().mark((function e(t,r){var n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(n=t.req.path).endsWith(".js")?t.header("Content-Type","application/javascript"):n.endsWith(".css")&&t.header("Content-Type","text/css"),e.next=4,r();case 4:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()),s.use("/assets/*",l.serveStatic({root:"./playground/assets"})),s.use("*",l.serveStatic({root:"./playground"}))),s.get("*",function(){var e=j(T().mark((function e(r,n){var o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.req.path.startsWith("/api/")){e.next=4;break}return e.next=3,n();case 3:return e.abrupt("return",e.sent);case 4:if(null==(o=a)||!o.playground){e.next=9;break}return e.next=7,c.readFile(t.join(process.cwd(),"./playground/index.html"),"utf-8");case 7:return e.abrupt("return",r.newResponse(e.sent,200,{"Content-Type":"text/html"}));case 9:return e.abrupt("return",r.newResponse('\n<!doctype html>\n<html lang="en">\n <head>\n <meta charset="UTF-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>Welcome to Mastra</title>\n <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/inter-ui/3.19.3/inter.min.css" />\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0d0d0d;\n color: #ffffff;\n font-family:\n \'Inter\',\n -apple-system,\n BlinkMacSystemFont,\n system-ui,\n sans-serif;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n }\n\n main {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n text-align: center;\n }\n\n h1 {\n font-size: 4rem;\n font-weight: 600;\n margin: 0 0 1rem 0;\n background: linear-gradient(to right, #fff, #ccc);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n line-height: 1.2;\n }\n\n .subtitle {\n color: #9ca3af;\n font-size: 1.25rem;\n max-width: 600px;\n margin: 0 auto 3rem auto;\n line-height: 1.6;\n }\n\n .docs-link {\n background-color: #1a1a1a;\n padding: 1rem 2rem;\n border-radius: 0.5rem;\n display: flex;\n align-items: center;\n gap: 1rem;\n font-family: monospace;\n font-size: 1rem;\n color: #ffffff;\n text-decoration: none;\n transition: background-color 0.2s;\n }\n\n .docs-link:hover {\n background-color: #252525;\n }\n\n .arrow-icon {\n transition: transform 0.2s;\n }\n\n .docs-link:hover .arrow-icon {\n transform: translateX(4px);\n }\n </style>\n </head>\n <body>\n <main>\n <h1>Welcome to Mastra</h1>\n <p class="subtitle">\n From the team that brought you Gatsby: prototype and productionize AI features with a modern JS/TS stack.\n </p>\n\n <a href="https://mastra.ai/docs" class="docs-link">\n Browse the docs\n <svg\n class="arrow-icon"\n width="20"\n height="20"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n >\n <path d="M5 12h14M12 5l7 7-7 7" />\n </svg>\n </a>\n </main>\n </body>\n</html>\n',200,{"Content-Type":"text/html"}));case 10:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()),e.abrupt("return",s);case 45:case"end":return e.stop()}}),e)}))),Ue.apply(this,arguments)}function We(){return(We=j(T().mark((function e(t,r){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===r&&(r={}),e.next=3,De(t,r);case 3:return e.abrupt("return",p.serve({fetch:e.sent.fetch,port:Number(process.env.PORT)||4111},(function(){console.log("🦄 Server running on port "+(process.env.PORT||4111)+"/api"),console.log("📚 Open API documentation available at http://localhost:"+(process.env.PORT||4111)+"/openapi.json"),console.log("👨💻 Playground available at http://localhost:"+(process.env.PORT||4111)+"/")})));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}exports.Deployer=H,exports.Deps=C,exports.EnvService=I,exports.FileEnvService=q,exports.FileService=M,exports.bundle=N,exports.createHonoServer=De,exports.createNodeServer=function(e,t){return We.apply(this,arguments)},exports.upsertMastraDir=O;
|
|
2
|
+
//# sourceMappingURL=deployer.cjs.production.min.js.map
|